nestablejs
Version:
NestableJS is a javascript library for creating drag & drop heirarchical lists.
233 lines (224 loc) • 4.67 kB
CSS
@import url("https://fonts.googleapis.com/css?family=Roboto+Mono");
@import url("https://fonts.googleapis.com/css?family=Raleway:300,600,800");
#container {
text-align: center;
}
#demo-title {
letter-spacing: -2px;
font-size: 60px;
color: #666;
text-align: center;
font-weight: 800;
}
#demo-title .dz {
margin-right: 30px;
position: relative;
}
#demo-title .sl, #demo-title .js {
font-weight: 300;
}
#demo-title small {
top: 18px;
right: -24px;
font-size: 24px;
position: absolute;
font-weight: 800;
}
.file {
background-color: #607d8b;
border-radius: 5px;
padding: 5px 15px;
color: #fff;
margin-bottom: 10px;
display: flex;
align-items: center;
}
.file.ui-selecting {
background-color: #4CAF50;
}
.file.ui-selecting svg {
background-color: #3d8b40;
}
.file.ui-selected {
background-color: #2196F3;
}
.file.ui-selected svg {
background-color: #0c7cd5;
}
.file:last-child {
margin-bottom: 0;
}
.file .file-name {
white-space: nowrap;
overflow: hidden;
max-width: 100%;
text-overflow: ellipsis;
font-family: "Roboto Mono";
font-weight: 300;
}
.file .file-size {
font-family: "Roboto Mono";
font-weight: 300;
}
.file .file-remove {
width: 5%;
}
.file .file-remove button {
font-size: 20px;
cursor: pointer;
background-color: transparent;
border: none;
padding: 0;
}
.file .file-remove button:hover {
color: #fff;
}
.file .file-data {
display: flex;
align-items: start;
justify-content: center;
flex-flow: column;
width: 40%;
}
.file .file-info {
display: flex;
align-items: end;
justify-content: center;
flex-flow: column;
width: 45%;
}
.file .file-progress {
width: 10%;
display: flex;
align-items: end;
justify-content: center;
flex-flow: column;
position: relative;
}
.file .file-progress .mdi {
position: absolute;
z-index: 1000;
right: 12px;
top: 8px;
}
.file.dz-complete .file-progress .mdi {
display: block;
}
.file .file-progress-text {
text-align: right;
}
.file svg {
background-color: #4b626d;
border-radius: 50%;
width: 40px;
height: 40px;
}
.file .radial-fill {
stroke: #fff;
fill: transparent;
stroke-dasharray: 87.9645943005 87.9645943005;
stroke-dashoffset: 87.9645943005;
}
.file.uploading svg {
-webkit-animation: none;
animation: none;
}
.file.uploading .radial-fill {
stroke-dashoffset: 87.9645943005;
-webkit-animation: 2000ms linear 0ms 1 forwards load;
animation: 2000ms linear 0ms 1 forwards load;
}
.file.loading svg {
-webkit-animation: 1000ms linear 0ms infinite forwards spin;
animation: 1000ms linear 0ms infinite forwards spin;
}
.file.loading .radial-fill {
stroke-dashoffset: 35.1858377202;
}
#removeFiles {
display: none;
}
#removeFiles.active {
display: inline-block;
}
.faded {
color: rgba(255, 255, 255, 0.6);
font-size: 12px;
}
@-webkit-keyframes load {
0% {
stroke-dashoffset: 87.9645943005;
}
100% {
stroke-dashoffset: 0;
}
}
@keyframes load {
0% {
stroke-dashoffset: 87.9645943005;
}
100% {
stroke-dashoffset: 0;
}
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg);
}
}
#template {
display: none;
}
#dropzone {
min-height: 400px;
border: 3px dashed #607d8b;
background: #fff;
padding: 20px 20px;
border-radius: 5px;
width: 600px;
margin-top: 20px;
position: relative;
margin: 20px auto;
}
#dropzone::after, #dropzone.dz-drag-hover::after, #dropzone.dz-started.dz-drag-hover::after {
content: "Drop files here";
background-color: rgba(255, 255, 255, 0.6);
}
#dropzone.dz-started::after {
content: "";
background-color: rgba(255, 255, 255, 0);
}
#dropzone::after {
position: absolute;
top: 0;
left: 0;
font-family: "Raleway";
font-weight: 700;
font-size: 50px;
color: #607d8b;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.animated {
-webkit-animation-duration: 500ms;
animation-duration: 500ms;
}