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