You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
357 lines
6.1 KiB
357 lines
6.1 KiB
/* ------------------------------------------------------------------------------ |
|
* |
|
* # Dropzone file uploader |
|
* |
|
* Open source library that provides drag’n’drop file uploads with image previews |
|
* |
|
* Version: 1.2 |
|
* Latest update: Mar 10, 2016 |
|
* |
|
* ---------------------------------------------------------------------------- */ |
|
|
|
|
|
// Layout |
|
// ------------------------------ |
|
|
|
.dropzone { |
|
position: relative; |
|
border: 3px dashed @gray-lighter; |
|
min-height: 250px; |
|
border-radius: @border-radius-small; |
|
background-color: #fcfcfc; |
|
padding: 5px; |
|
|
|
// Clickable wrapper |
|
&.dz-clickable { |
|
&, |
|
.dz-message, |
|
.dz-message span { |
|
cursor: pointer; |
|
} |
|
|
|
* { |
|
cursor: default; |
|
} |
|
} |
|
|
|
// Message |
|
.dz-message { |
|
.opacity(1); |
|
} |
|
&.dz-started .dz-message { |
|
display: none; |
|
} |
|
|
|
// Drag hover border and bg color |
|
&.dz-drag-hover { |
|
border-color: fade(#000, 15%); |
|
background: fade(#000, 4%); |
|
} |
|
|
|
// Inside sidebar |
|
.sidebar & { |
|
min-height: 190px; |
|
text-align: center; |
|
border-width: 2px; |
|
|
|
.dz-default.dz-message { |
|
&:before { |
|
font-size: (@icon-font-size * 4); |
|
width: (@icon-font-size * 4); |
|
height: (@icon-font-size * 4); |
|
margin-left: -(@icon-font-size * 2); |
|
top: 50px; |
|
} |
|
|
|
span { |
|
font-size: @font-size-h6; |
|
} |
|
|
|
> span { |
|
margin-top: 130px; |
|
} |
|
} |
|
} |
|
|
|
@media (min-width: @screen-sm) { |
|
min-height: 320px; |
|
} |
|
} |
|
|
|
|
|
// Messages |
|
// ------------------------------ |
|
|
|
.dropzone { |
|
|
|
// Default styles |
|
.dz-default { |
|
&.dz-message { |
|
@dz-message-height: 230px; |
|
position: absolute; |
|
height: @dz-message-height; |
|
width: 100%; |
|
margin-top: -(@dz-message-height / 2); |
|
top: 50%; |
|
left: 0; |
|
padding: @panel-body-padding; |
|
text-align: center; |
|
border-radius: @border-radius-large; |
|
.opacity(1); |
|
.transition(opacity 0.3s ease-in-out); |
|
|
|
// Icon |
|
&:before { |
|
content: '\ea0e'; |
|
font-family: 'icomoon'; |
|
font-size: (@icon-font-size * 4); |
|
position: absolute; |
|
top: (@icon-font-size * 3); |
|
width: (@icon-font-size * 4); |
|
height: (@icon-font-size * 4); |
|
display: inline-block; |
|
left: 50%; |
|
margin-left: -(@icon-font-size * 2); |
|
line-height: 1; |
|
z-index: 2; |
|
color: #ddd; |
|
text-indent: 0; |
|
font-weight: normal; |
|
-webkit-font-smoothing: antialiased; |
|
-moz-osx-font-smoothing: grayscale; |
|
} |
|
|
|
// Text label |
|
span { |
|
font-size: @font-size-h6; |
|
color: #bbb; |
|
text-align: center; |
|
margin-top: 140px; |
|
display: block; |
|
font-weight: 500; |
|
text-shadow: 0 1px 1px #fff; |
|
|
|
> span { |
|
margin-top: 2px; |
|
display: block; |
|
color: #ccc; |
|
font-size: @font-size-h6; |
|
} |
|
} |
|
|
|
// Responsive styles |
|
@media (min-width: @screen-sm) { |
|
&:before { |
|
font-size: (@icon-font-size * 5); |
|
top: (@icon-font-size * 3); |
|
width: (@icon-font-size * 5); |
|
height: (@icon-font-size * 5); |
|
margin-left: -(@icon-font-size * 2); |
|
} |
|
|
|
span { |
|
font-size: @font-size-h4; |
|
margin-top: 130px; |
|
} |
|
} |
|
} |
|
} |
|
|
|
// On files drag |
|
&.dz-drag-hover .dz-message { |
|
.opacity(0.15); |
|
} |
|
&.dz-started .dz-message { |
|
display: block; |
|
.opacity(0); |
|
} |
|
} |
|
|
|
|
|
// Preview |
|
// ------------------------------ |
|
|
|
.dropzone, |
|
.dropzone-previews { |
|
.dz-preview { |
|
background-color: #fff; |
|
position: relative; |
|
display: inline-block; |
|
margin: 10px; |
|
vertical-align: top; |
|
border: 1px solid @panel-default-border; |
|
padding: 8px; |
|
border-radius: @border-radius-small; |
|
|
|
// Hide thumbnail in file preview |
|
&.dz-file-preview [data-dz-thumbnail] { |
|
display: none; |
|
} |
|
|
|
// Details |
|
.dz-details { |
|
width: 140px; |
|
position: relative; |
|
background-color: #fafafa; |
|
padding: 8px; |
|
margin-bottom: 25px; |
|
|
|
.dz-filename { |
|
overflow: hidden; |
|
height: 100%; |
|
} |
|
|
|
img { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 140px; |
|
height: 140px; |
|
} |
|
|
|
.dz-size { |
|
position: absolute; |
|
bottom: -26px; |
|
left: 0; |
|
} |
|
} |
|
&:hover { |
|
.dz-details img { |
|
display: none; |
|
} |
|
} |
|
|
|
// Marks |
|
.dz-error-mark, |
|
.dz-success-mark { |
|
display: none; |
|
position: absolute; |
|
z-index: 9; |
|
right: 8px; |
|
|
|
&:after { |
|
font-family: 'icomoon'; |
|
display: block; |
|
position: absolute; |
|
right: 0; |
|
bottom: 3px; |
|
font-size: @font-size-small; |
|
line-height: 1; |
|
-webkit-font-smoothing: antialiased; |
|
-moz-osx-font-smoothing: grayscale; |
|
} |
|
|
|
span, |
|
svg { |
|
display: none; |
|
} |
|
} |
|
.dz-error-mark { |
|
color: @brand-danger; |
|
|
|
&:after { |
|
content: '\ed6a'; |
|
} |
|
} |
|
.dz-success-mark { |
|
color: @brand-success; |
|
|
|
&:after { |
|
content: '\ed6e'; |
|
} |
|
} |
|
|
|
// Error and success marks |
|
&.dz-error .dz-error-mark, |
|
&.dz-success .dz-success-mark { |
|
display: block; |
|
.opacity(1); |
|
} |
|
|
|
// Uploading progress |
|
.dz-progress { |
|
position: absolute; |
|
top: 118px; |
|
left: 8px; |
|
right: 8px; |
|
height: 4px; |
|
background-color: @gray-lighter; |
|
display: none; |
|
border-radius: @border-radius-small; |
|
|
|
.dz-upload { |
|
display: block; |
|
position: absolute; |
|
top: 0; |
|
bottom: 0; |
|
left: 0; |
|
width: 0%; |
|
height: 100%; |
|
background-color: @brand-info; |
|
.transition(width 0.3s ease-in-out); |
|
} |
|
} |
|
&.dz-processing .dz-progress { |
|
display: block; |
|
} |
|
&.dz-success { |
|
.dz-progress { |
|
display: block; |
|
.opacity(0); |
|
.transition(opacity 0.4s ease-in-out); |
|
} |
|
} |
|
|
|
// Error message |
|
.dz-error-message { |
|
display: block; |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
background: fade(#f5f5f5, 80%); |
|
margin: 8px; |
|
padding: 8px; |
|
color: @brand-danger; |
|
max-width: 100%; |
|
z-index: 5; |
|
.opacity(0); |
|
.transition(opacity 0.3s ease-in-out); |
|
} |
|
&.dz-error { |
|
&:hover .dz-error-message { |
|
display: block; |
|
.opacity(1); |
|
} |
|
|
|
.dz-progress .dz-upload { |
|
background: @brand-danger; |
|
} |
|
} |
|
|
|
// Image preview |
|
&.dz-image-preview:hover { |
|
.dz-details img { |
|
display: block; |
|
.opacity(0.1); |
|
} |
|
} |
|
|
|
// Remove button |
|
a.dz-remove { |
|
background-color: #fafafa; |
|
border-radius: @border-radius-small; |
|
border: 1px solid @gray-lighter; |
|
display: block; |
|
padding: 5px; |
|
text-align: center; |
|
color: @text-muted; |
|
margin-top: 35px; |
|
cursor: pointer; |
|
|
|
&:hover { |
|
color: @text-color; |
|
background-color: #f5f5f5; |
|
} |
|
} |
|
} |
|
}
|
|
|