]> BookStack Code Mirror - bookstack/blob - resources/assets/sass/image-manager.scss
4e9ce705329041db6fe093590b05eadf06e595e2
[bookstack] / resources / assets / sass / image-manager.scss
1 .image-manager-body {
2   background-color: #FFF;
3   max-height: 90%;
4   width: 90%;
5   height: 90%;
6   margin: 2% 5%;
7   //border: 2px solid $primary;
8   border-radius: 4px;
9   box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
10   overflow: hidden;
11   max-width: 1340px;
12   position: fixed;
13   top: 0;
14   bottom: 0;
15   left: 0;
16   z-index: 999;
17   display: flex;
18   h1, h2, h3 {
19     font-weight: 300;
20   }
21 }
22 #image-manager .dropzone-container {
23   position: relative;
24   border: 3px dashed #DDD;
25 }
26
27 .image-manager-bottom {
28   position: absolute;
29   bottom: 0;
30   right: 0;
31 }
32
33 .image-manager-list img {
34   display: block;
35   border-radius: 0;
36   float: left;
37   margin: 0;
38   cursor: pointer;
39   width: (100%/6);
40   height: auto;
41   border: 1px solid #FFF;
42   transition: all cubic-bezier(.4,0,1,1) 160ms;
43   &.selected {
44     transform: scale3d(0.92, 0.92, 0.92);
45   }
46 }
47
48 #image-manager .load-more {
49   display: block;
50   text-align: center;
51   background-color: #EEE;
52   padding: $-s $-m;
53   color: #AAA;
54   clear: both;
55   font-size: 20px;
56   cursor: pointer;
57   font-style: italic;
58 }
59
60 .image-manager-sidebar {
61   width: 300px;
62   height: 100%;
63   margin-left: 1px;
64   padding: 0 $-l;
65   border-left: 1px solid #DDD;
66 }
67 .image-manager-close {
68   position: absolute;
69   top: 0;
70   right: 0;
71   margin: 0;
72   border-radius: 0;
73 }
74 .image-manager-list {
75   overflow-y: scroll;
76   flex: 1;
77   border-top: 1px solid #ddd;
78 }
79
80 .image-manager-content {
81   display: flex;
82   flex-direction: column;
83   height: 100%;
84   flex: 1;
85 }
86
87
88
89
90 // Dropzone
91 /*
92  * The MIT License
93  * Copyright (c) 2012 Matias Meno <[email protected]>
94  */
95 .dz-message {
96   font-size: 1.4em;
97   font-style: italic;
98   color: #aaa;
99   text-align: center;
100   cursor: pointer;
101   padding: $-xl $-m;
102   transition: all ease-in-out 120ms;
103 }
104 .dz-drag-hover .dz-message {
105   background-color: rgb(16, 126, 210);
106   color: #EEE;
107 }
108 @keyframes passing-through {
109   0% {
110     opacity: 0;
111     transform: translateY(40px); }
112   30%, 70% {
113     opacity: 1;
114     transform: translateY(0px); }
115   100% {
116     opacity: 0;
117     transform: translateY(-40px); } }
118
119 @keyframes slide-in {
120   0% {
121     opacity: 0;
122     transform: translateY(40px); }
123   30% {
124     opacity: 1;
125     transform: translateY(0px); } }
126 @keyframes pulse {
127   0% {
128     transform: scale(1); }
129   10% {
130     transform: scale(1.1); }
131   20% {
132     transform: scale(1); } }
133 .dropzone, .dropzone * {
134   box-sizing: border-box; }
135
136
137 .dz-preview {
138   position: relative;
139   display: inline-block;
140   vertical-align: top;
141   margin: 12px;
142   min-height: 80px; }
143 .dz-preview:hover {
144   z-index: 1000; }
145 .dz-preview:hover .dz-details {
146   opacity: 1; }
147 .dz-preview.dz-file-preview .dz-image {
148   border-radius: 4px;
149   background: #999;
150   background: linear-gradient(to bottom, #eee, #ddd); }
151 .dz-preview.dz-file-preview .dz-details {
152   opacity: 1; }
153 .dz-preview.dz-image-preview {
154   background: white; }
155 .dz-preview.dz-image-preview .dz-details {
156   transition: opacity 0.2s linear; }
157 .dz-preview .dz-remove {
158   font-size: 14px;
159   text-align: center;
160   display: block;
161   cursor: pointer;
162   border: none; }
163 .dz-preview .dz-remove:hover {
164   text-decoration: underline; }
165 .dz-preview:hover .dz-details {
166   opacity: 1; }
167 .dz-preview .dz-details {
168   z-index: 20;
169   position: absolute;
170   top: 0;
171   left: 0;
172   opacity: 0;
173   font-size: 10px;
174   min-width: 100%;
175   max-width: 100%;
176   padding: 6px 3px;
177   text-align: center;
178   color: rgba(0, 0, 0, 0.9);
179   line-height: 150%; }
180 .dz-preview .dz-details .dz-size {
181   margin-bottom: 0.5em;
182   font-size: 12px; }
183 .dz-preview .dz-details .dz-filename {
184   white-space: nowrap; }
185 .dz-preview .dz-details .dz-filename:hover span {
186   border: 1px solid rgba(200, 200, 200, 0.8);
187   background-color: rgba(255, 255, 255, 0.8); }
188 .dz-preview .dz-details .dz-filename:not(:hover) {
189   overflow: hidden;
190   text-overflow: ellipsis; }
191 .dz-preview .dz-details .dz-filename:not(:hover) span {
192   border: 1px solid transparent; }
193 .dz-preview .dz-details .dz-filename span, .dz-preview .dz-details .dz-size span {
194   background-color: rgba(255, 255, 255, 0.4);
195   padding: 0 0.4em;
196   border-radius: 3px; }
197 .dz-preview:hover .dz-image img {
198   filter: blur(8px); }
199 .dz-preview .dz-image {
200   border-radius: 4px;
201   overflow: hidden;
202   width: 80px;
203   height: 80px;
204   position: relative;
205   display: block;
206   z-index: 10; }
207 .dz-preview .dz-image img {
208   display: block; }
209 .dz-preview.dz-success .dz-success-mark {
210   animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
211 .dz-preview.dz-error .dz-error-mark {
212   opacity: 1;
213   animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
214 .dz-preview .dz-success-mark, .dz-preview .dz-error-mark {
215   pointer-events: none;
216   opacity: 0;
217   z-index: 500;
218   position: absolute;
219   display: block;
220   top: 50%;
221   left: 50%;
222   margin-left: -27px;
223   margin-top: -27px; }
224 .dz-preview .dz-success-mark svg, .dz-preview .dz-error-mark svg {
225   display: block;
226   width: 54px;
227   height: 54px; }
228 .dz-preview.dz-processing .dz-progress {
229   opacity: 1;
230   transition: all 0.2s linear; }
231 .dz-preview.dz-complete .dz-progress {
232   opacity: 0;
233   transition: opacity 0.4s ease-in; }
234 .dz-preview:not(.dz-processing) .dz-progress {
235   animation: pulse 6s ease infinite; }
236 .dz-preview .dz-progress {
237   opacity: 1;
238   z-index: 1000;
239   pointer-events: none;
240   position: absolute;
241   height: 16px;
242   left: 50%;
243   top: 50%;
244   margin-top: -8px;
245   width: 80px;
246   margin-left: -40px;
247   background: rgba(255, 255, 255, 0.9);
248   -webkit-transform: scale(1);
249   border-radius: 8px;
250   overflow: hidden; }
251 .dz-preview .dz-progress .dz-upload {
252   background: #333;
253   background: linear-gradient(to bottom, #666, #444);
254   position: absolute;
255   top: 0;
256   left: 0;
257   bottom: 0;
258   width: 0;
259   transition: width 300ms ease-in-out; }
260 .dz-preview.dz-error .dz-error-message {
261   display: block; }
262 .dz-preview.dz-error:hover .dz-error-message {
263   opacity: 1;
264   pointer-events: auto; }
265 .dz-preview .dz-error-message {
266   pointer-events: none;
267   z-index: 1000;
268   position: absolute;
269   display: block;
270   display: none;
271   opacity: 0;
272   transition: opacity 0.3s ease;
273   border-radius: 8px;
274   font-size: 13px;
275   top: 130px;
276   left: -10px;
277   width: 140px;
278   background: #be2626;
279   background: linear-gradient(to bottom, #be2626, #a92222);
280   padding: 0.5em 1.2em;
281   color: white; }
282 .dz-preview .dz-error-message:after {
283   content: '';
284   position: absolute;
285   top: -6px;
286   left: 64px;
287   width: 0;
288   height: 0;
289   border-left: 6px solid transparent;
290   border-right: 6px solid transparent;
291   border-bottom: 6px solid #be2626; }