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