Files
flood/client/source/sass/components/_dropzone.scss
2016-06-11 23:31:13 -07:00

165 lines
3.1 KiB
SCSS

$dropzone--background: $textbox--background;
$dropzone--foreground: $textbox--foreground;
$dropzone--foreground--dragging: $blue;
$dropzone--border: $textbox--border;
$dropzone--border--hover: darken($dropzone--border, 20%);
$dropzone--border--dragging: $blue;
$dropzone--browse--foreground: $blue;
$dropzone--icon--fill: rgba($dropzone--foreground, 0.5);
$dropzone--icon--fill--hover: $blue;
$dropzone--icon--fill--dragging: $blue;
$dropzone--file--foreground: $dropzone--foreground;
$dropzone--file--icon--fill: rgba($dropzone--file--foreground, 0.5);
$dropzone--file--icon--fill--hover: rgba(lighten($dropzone--file--foreground, 20%), 0.5);
.dropzone {
align-items: center;
background: $dropzone--background;
border: 1px dashed $dropzone--border;
border-radius: 4px;
color: $dropzone--foreground;
display: flex;
flex-direction: column;
position: relative;
text-align: center;
transition: border 0.25s, color 0.25s;
width: 100%;
z-index: 1;
&:hover {
border-color: $dropzone--border--hover;
.dropzone__icon {
.icon {
fill: $dropzone--icon--fill--hover;
}
}
}
&--is-dragging {
&,
&:hover {
border-color: $dropzone--border--dragging;
color: $dropzone--foreground--dragging;
.dropzone__icon {
.icon {
fill: $dropzone--icon--fill--dragging;
}
}
}
}
&__icon {
.icon {
&--files {
fill: $dropzone--icon--fill;
height: 64px;
transition: fill 0.25s;
width: 64px;
&__file {
&--right,
&--left {
fill-opacity: 0.5;
}
}
}
}
}
&__copy {
cursor: pointer;
flex: 1;
font-size: 0.85em;
padding: $spacing-unit;
width: 100%;
}
&__browse-button {
color: $dropzone--browse--foreground;
text-decoration: underline;
}
&__selected-files {
@extend .textbox;
@extend .textbox.is-fulfilled;
border-radius: 4px 4px 0 0;
color: $dropzone--file--foreground;
font-size: 0.8em;
margin-bottom: -1px;
padding: $spacing-unit * 1/2;
position: relative;
width: 100%;
z-index: 2;
& + .dropzone {
border-radius: 0 0 4px 4px;
}
&__file {
text-align: left;
white-space: nowrap;
.icon {
display: inline-block;
fill: $dropzone--file--icon--fill;
height: 12px;
margin-right: 4px;
margin-top: -1px;
transition: fill 0.25s;
vertical-align: middle;
width: 12px;
&--close {
height: 8px;
margin-left: 4px;
margin-right: 0;
vertical-align: middle;
width: 8px;
}
}
}
}
&__file {
display: flex;
width: 100%;
&__item {
flex: 1 0 auto;
&--icon {
flex: 0 0 auto;
}
&--file-name {
flex: 1 1 auto;
overflow: hidden;
text-overflow: ellipsis;
}
&--remove-icon {
cursor: pointer;
}
&--remove-icon {
&:hover {
.icon {
fill: $dropzone--file--icon--fill--hover;
}
}
}
}
}
}