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