react-ui-basics 0.0.146 → 0.0.147

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.css CHANGED
@@ -1,1376 +1,1457 @@
1
- .DialogModal {
2
- overflow: hidden;
1
+ .AutocompleteSelect {
2
+ display: inline-flex;
3
+ flex-flow: column;
4
+ justify-content: center;
5
+ position: relative;
6
+ min-width: 250px;
7
+ min-height: 36px;
8
+ user-select: none;
3
9
  }
4
10
 
5
- .DialogModal .content {
6
- top: 20vh;
11
+ @keyframes clockwise {
12
+ 0% {
13
+ -webkit-transform: rotate(-90deg);
14
+ }
15
+ 100% {
16
+ -webkit-transform: translateX(0px);
17
+ }
7
18
  }
8
-
9
- .Dialog {
10
- background-color: white;
11
- min-width: 460px;
12
- max-width: 40vw;
13
- padding: 15px;
19
+ @keyframes anticlockwise {
20
+ 0% {
21
+ -webkit-transform: rotate(90deg);
22
+ }
23
+ 100% {
24
+ -webkit-transform: translateX(0px);
25
+ }
14
26
  }
15
-
16
- .Dialog .title {
17
- margin-bottom: 15px;
18
- padding: 20px 50px 0px 30px;
19
- font-size: 1.25rem;
20
- line-height: 2rem;
21
- font-weight: 400;
22
- letter-spacing: 0.0125em;
27
+ .AutocompleteSelect > .input {
28
+ width: 100%;
23
29
  }
24
30
 
25
- .Dialog .description {
26
- color: rgba(0, 0, 0, 0.54);
27
- font-size: 1rem;
28
- line-height: 1.5rem;
29
- font-weight: 400;
30
- letter-spacing: 0.03125em;
31
- margin-top: 20px;
32
- padding: 0 24px 24px;
31
+ .AutocompleteSelect .Scrollable {
32
+ padding-right: 0;
33
+ min-width: 100%;
33
34
  }
34
35
 
35
- .Dialog > div.row {
36
- margin-bottom: 15px;
36
+ .AutocompleteSelect.inline-multiple > .label {
37
+ top: -12px;
37
38
  }
38
39
 
39
- .Dialog > div.row:last-child {
40
- margin-bottom: 0;
40
+ .AutocompleteSelect.inline-multiple > .selected {
41
+ flex-flow: row wrap;
41
42
  }
42
43
 
43
- .Button {
44
- position: relative;
45
- min-width: 64px;
46
- min-height: 36px;
47
- height: 24px;
48
- margin: 0px;
49
- padding: 0px 16px;
50
- border: none;
51
- outline: none;
52
- font-size: 14px;
53
- font-weight: 500;
54
- letter-spacing: 1.25px;
55
- background: #dfdfdf;
56
- text-transform: uppercase;
57
- font-family: Roboto, sans-serif;
58
- display: inline-flex;
59
- justify-content: center;
60
- align-items: center;
61
- cursor: pointer;
62
- overflow: hidden;
63
- user-select: none;
64
- border-radius: 3px;
65
- transition: all 0.2s ease;
44
+ .AutocompleteSelect.multiple-mini-inline {
45
+ height: 42px;
66
46
  }
67
47
 
68
- .Button.flat {
69
- background-color: transparent;
48
+ .AutocompleteSelect.multiple-mini-inline > .label {
49
+ cursor: pointer;
50
+ width: 100%;
51
+ margin-left: -10px;
52
+ padding: 10px;
53
+ box-sizing: border-box;
54
+ top: 0;
70
55
  }
71
56
 
72
- .Button.flat:hover {
73
- background-color: rgba(0, 0, 0, 0.05);
57
+ .AutocompleteSelect.multiple-mini-inline > .label.active {
58
+ padding: 0 10px;
74
59
  }
75
60
 
76
- .Button.green {
77
- background-color: #43a047;
78
- color: white;
61
+ .AutocompleteSelect.multiple-mini-inline > .selected {
62
+ width: 250px;
79
63
  }
80
64
 
81
- .Button.green:hover {
82
- background-color: #3b8e3f;
65
+ .AutocompleteSelect.multiple-mini-inline > .input {
66
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
67
+ position: absolute;
68
+ top: 38px;
69
+ z-index: 2;
70
+ background-color: white;
71
+ min-width: 130%;
83
72
  }
84
73
 
85
- .Button.blue {
86
- background-color: #039be5;
87
- color: white;
74
+ .AutocompleteSelect.multiple-mini-inline > .input .TextField {
75
+ padding-left: 10px;
76
+ padding-right: 10px;
77
+ width: 100%;
78
+ box-sizing: border-box;
88
79
  }
89
80
 
90
- .Button.blue:hover {
91
- background-color: #038acc;
81
+ .AutocompleteSelect.multiple-mini-inline > .input.hidden {
82
+ opacity: 0;
83
+ visibility: hidden;
92
84
  }
93
85
 
94
- .Button.red {
95
- background-color: #e53935;
96
- color: white;
86
+ .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
87
+ margin-top: 0;
97
88
  }
98
89
 
99
- .Button.red:hover {
100
- background-color: #e2231e;
90
+ .AutocompleteSelect .TextField {
91
+ margin-top: 8px;
101
92
  }
102
93
 
103
- .Button.black {
104
- background-color: #1e252d;
105
- color: white;
94
+ .AutocompleteSelect .TextField input {
95
+ font-size: 14px;
106
96
  }
107
97
 
108
- .Button.black:hover {
109
- background-color: #14181e;
98
+ .AutocompleteSelect > .label {
99
+ position: absolute;
100
+ transition: all 0.2s ease;
101
+ font-family: Roboto, sans-serif;
102
+ font-size: 14px;
103
+ color: rgba(0, 0, 0, 0.5);
104
+ z-index: 1;
105
+ cursor: text;
106
+ user-select: none;
107
+ left: 4px;
108
+ top: 12px;
110
109
  }
111
110
 
112
- .Button.gray {
113
- background: #D9D9D9;
114
- color: #999999;
111
+ .AutocompleteSelect > .label.active {
112
+ font-size: 10px;
113
+ top: 2px;
115
114
  }
116
115
 
117
- .Button.gray:hover {
118
- background-color: #cccccc;
116
+ .AutocompleteSelect > .label.active .arrow {
117
+ border-width: 4px 4px 0 4px;
118
+ margin-bottom: 1px;
119
119
  }
120
120
 
121
- .Button.small {
122
- padding: 0px 8px;
123
- min-height: 16px;
124
- min-width: 16px;
121
+ .AutocompleteSelect > .label .arrow {
122
+ width: 0;
123
+ height: 0;
124
+ border-style: solid;
125
+ border-width: 5px 5px 0 5px;
126
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
127
+ display: inline-block;
128
+ margin-left: 5px;
129
+ margin-bottom: 2px;
130
+ transition: all 0.2s ease;
125
131
  }
126
132
 
127
- .Button > .material-icons {
128
- margin-right: 10px;
133
+ .AutocompleteSelect > .selected {
134
+ margin-top: 8px;
135
+ display: flex;
136
+ cursor: pointer;
129
137
  }
130
138
 
131
- .Button.round {
132
- padding: 0px;
139
+ .AutocompleteSelect > .selected > .reset {
133
140
  min-width: 36px;
134
- border-radius: 50%;
141
+ max-width: 36px;
142
+ position: absolute;
143
+ right: 0;
144
+ top: 0;
145
+ background-color: white;
135
146
  }
136
147
 
137
- .Button.round > .material-icons {
138
- margin: 0px;
148
+ .AutocompleteSelect > .selected > .reset .material-icons {
149
+ margin: 0;
150
+ color: #BFBFBF;
151
+ font-size: 20px;
139
152
  }
140
153
 
141
- .Button .ripple {
142
- position: absolute;
143
- background: rgba(0, 0, 0, 0.1);
144
- border-radius: 100%;
145
- transform: scale(0);
146
- pointer-events: none;
147
- transition: opacity 0.2s ease-out;
154
+ .AutocompleteSelect > .selected.nolabel {
155
+ margin-top: 0px;
156
+ border-bottom: 1px solid #e5e3e3;
148
157
  }
149
158
 
150
- .Button .ripple.show {
151
- animation: ripple 0.35s ease-out;
159
+ .AutocompleteSelect > .selected.nolabel .DummyChild {
160
+ display: inline-flex;
161
+ align-items: center;
162
+ flex-grow: 1;
163
+ font-size: 16px;
164
+ margin: 0px 10px;
165
+ margin-bottom: 5px;
166
+ height: 19px;
152
167
  }
153
168
 
154
- .Button:active .ripple.showed {
155
- opacity: 1;
169
+ .AutocompleteSelect > .selected.nolabel .arrow {
170
+ width: 0;
171
+ height: 0;
172
+ border-style: solid;
173
+ border-width: 5px 5px 0 5px;
174
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
175
+ display: inline-block;
176
+ transition: all 0.2s ease;
177
+ margin: 0px 17px 3px 5px;
156
178
  }
157
179
 
158
- .Button:focus .ripple.focused {
159
- opacity: 1;
160
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
161
- transform: scale(1);
162
- animation: resize 1.25s ease-out infinite;
163
- animation-delay: 0.2s;
164
- animation-direction: alternate;
180
+ .AutocompleteSelect > .selected.inline {
181
+ font-size: 14px;
182
+ font-family: Roboto, sans-serif;
183
+ color: #1e252d;
184
+ text-overflow: ellipsis;
185
+ white-space: nowrap;
186
+ overflow: hidden;
187
+ display: flex;
188
+ align-items: center;
165
189
  }
166
190
 
167
- .Button .ripple.showed {
168
- transform: scale(2);
169
- opacity: 0;
191
+ .AutocompleteSelect > .selected.clickable {
192
+ overflow: hidden;
193
+ cursor: pointer;
194
+ padding: 10px;
195
+ margin-left: -10px;
196
+ margin-right: -10px;
170
197
  }
171
198
 
172
- @keyframes ripple {
173
- to {
174
- transform: scale(2);
175
- }
176
- }
177
- @keyframes resize {
178
- to {
179
- transform: scale(0.9);
180
- }
181
- }
182
- .Button.raised {
183
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
199
+ .AutocompleteSelect.inlineSelected {
200
+ flex-flow: row wrap;
201
+ justify-content: flex-start;
184
202
  }
185
203
 
186
- .Button.raised:hover {
187
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
204
+ .AutocompleteSelect.inlineSelected.hasSelected {
205
+ padding-top: 7px;
188
206
  }
189
207
 
190
- .Button.raised:active {
191
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
208
+ .AutocompleteSelect.inlineSelected > .label {
209
+ width: 100%;
210
+ height: 100%;
192
211
  }
193
212
 
194
- .Button.disabled {
195
- box-shadow: none;
196
- background: #D9D9D9;
197
- color: #999999;
213
+ .AutocompleteSelect.inlineSelected > .label.active {
214
+ z-index: 0;
198
215
  }
199
216
 
200
- .Button.disabled:hover {
201
- background-color: #cccccc;
217
+ .AutocompleteSelect.inlineSelected .input {
218
+ width: unset;
219
+ flex-basis: 50px;
220
+ flex-grow: 1;
202
221
  }
203
222
 
204
- .Button::-moz-focus-inner {
223
+ .AutocompleteSelect.inlineSelected .input::after {
224
+ content: attr(data-value);
225
+ visibility: hidden;
226
+ white-space: pre;
227
+ font: inherit;
228
+ min-width: 2px;
205
229
  border: 0;
230
+ margin: 0;
231
+ outline: 0;
232
+ float: left;
233
+ display: inline-block;
234
+ margin-top: -24px;
235
+ font-size: 14px;
236
+ padding: 2px;
206
237
  }
207
238
 
208
- .FilteredList {
209
- max-height: 250px;
239
+ .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
240
+ margin-top: 7px;
241
+ }
242
+
243
+ .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
244
+ cursor: pointer;
245
+ margin: 5px 10px 5px 0px;
246
+ display: inline-flex;
247
+ flex-flow: row wrap;
248
+ height: 30px;
249
+ align-items: center;
250
+ background-color: #f0f0f0;
251
+ border-radius: 30px;
210
252
  position: relative;
253
+ font-family: Roboto, sans-serif;
254
+ font-size: 14px;
255
+ color: #1e252d;
211
256
  }
212
257
 
213
- .FilteredList.popup {
214
- padding: 0;
215
- visibility: hidden;
216
- position: absolute;
217
- background: white;
218
- z-index: 4;
219
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
220
- transition: all 0.2s ease-out;
221
- top: calc(100% + 4px);
222
- opacity: 0;
223
- border-radius: 2px;
258
+ .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
259
+ padding-left: 35px;
260
+ padding-right: 10px;
224
261
  }
225
262
 
226
- .FilteredList.popup.visible {
227
- opacity: 1;
228
- visibility: visible;
263
+ .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
264
+ cursor: pointer;
265
+ min-width: 30px;
266
+ width: 30px;
267
+ height: 30px;
268
+ opacity: 0;
269
+ position: absolute;
270
+ top: 0px;
271
+ left: 0px;
272
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
273
+ background-color: deepskyblue;
274
+ color: white;
275
+ border-radius: 30px;
276
+ display: flex;
277
+ flex-flow: row;
278
+ justify-content: center;
279
+ align-items: center;
280
+ animation: anticlockwise 0.15s linear;
229
281
  }
230
282
 
231
- .FilteredList.inline {
232
- max-height: 225px;
233
- margin-top: 5px;
283
+ .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
284
+ font-size: 22px;
234
285
  }
235
286
 
236
- .FilteredList .child {
237
- display: flex;
238
- flex-flow: row nowrap;
239
- align-items: center;
240
- white-space: nowrap;
241
- font-size: 14px;
242
- color: #222222;
287
+ .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
288
+ width: 30px;
243
289
  height: 30px;
244
- padding: 5px 10px;
245
- padding-right: 15px;
246
- cursor: pointer;
290
+ opacity: 1;
291
+ animation: clockwise 0.15s linear;
247
292
  overflow: hidden;
248
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
249
- border-left: 5px solid #4AC263;
250
- padding-left: 15px;
251
- margin-left: -5px;
293
+ position: absolute;
252
294
  }
253
295
 
254
- .FilteredList .child.hidden {
255
- height: 0 !important;
256
- padding: 0 !important;
296
+ .Checkbox {
297
+ position: relative;
298
+ white-space: pre;
257
299
  }
258
300
 
259
- .FilteredList .child.selected {
260
- background-color: #F0F0F0;
261
- padding-left: 10px;
262
- margin-left: 0px;
301
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
302
+ box-sizing: border-box;
263
303
  }
264
304
 
265
- .FilteredList .child.active {
266
- background-color: #eeeeee;
305
+ .Checkbox label {
306
+ font-family: Roboto, sans-serif;
307
+ font-size: 14px;
308
+ color: #1e252d;
309
+ cursor: pointer;
267
310
  }
268
311
 
269
- .FilteredList .child {
270
- margin-top: 8px;
312
+ .Checkbox label:before, .Checkbox label:after {
313
+ content: "";
314
+ position: absolute;
315
+ left: 0;
316
+ top: 0;
271
317
  }
272
318
 
273
- .FilteredList .child.hidden {
274
- margin-top: 0;
319
+ .Checkbox label:before {
320
+ width: 20px;
321
+ height: 20px;
322
+ background: #fff;
323
+ border: 2px solid #252525;
324
+ border-radius: 2px;
325
+ cursor: pointer;
326
+ transition: background 0.3s;
275
327
  }
276
328
 
277
- .FilteredList .child:not(.hidden) ~ .child {
278
- margin-top: 0;
329
+ .Checkbox input[type=checkbox] {
330
+ outline: 0;
331
+ margin-right: 10px;
332
+ visibility: hidden;
279
333
  }
280
334
 
281
- .FilteredList .child:not(.hidden) ~ .child:last-child {
282
- margin-bottom: 8px;
335
+ .Checkbox input[type=checkbox]:checked + label:before {
336
+ background: #4AC263;
337
+ border: none;
283
338
  }
284
339
 
285
- .FilteredList .child:not(.hidden):last-child {
286
- margin-bottom: 8px;
340
+ .Checkbox input[type=checkbox]:checked + label:after {
341
+ transform: rotate(-45deg);
342
+ top: 6px;
343
+ left: 4px;
344
+ width: 12px;
345
+ height: 6px;
346
+ border: 2px solid #fff;
347
+ border-top-style: none;
348
+ border-right-style: none;
287
349
  }
288
350
 
289
- .DNDContainer {
290
- position: relative;
351
+ .Checkbox input[type=checkbox]:disabled + label {
352
+ color: gray;
291
353
  }
292
354
 
293
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
294
- cursor: pointer;
355
+ .Checkbox input[type=checkbox]:disabled + label:before {
356
+ border-color: rgba(0, 0, 0, 0.26);
295
357
  }
296
358
 
297
- .DNDContainer .Draggable.placeholder {
298
- opacity: 0.2;
359
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
360
+ background: rgba(0, 0, 0, 0.26);
299
361
  }
300
362
 
301
- .DNDContainer .Draggable.copy {
302
- position: absolute;
303
- box-sizing: border-box;
304
- will-change: transform;
363
+ .animated {
364
+ transition: opacity 250ms ease;
305
365
  opacity: 0;
306
366
  }
307
367
 
308
- .DNDContainer .Draggable.dragged {
309
- z-index: 10;
368
+ .animated.mounting, .animated.mounted {
369
+ opacity: 1;
310
370
  }
311
371
 
312
- .DNDContainer .overlay {
313
- position: absolute;
314
- top: 0;
315
- left: 0;
316
- right: 0;
317
- bottom: 0;
318
- pointer-events: none;
372
+ .CircleProgress {
373
+ width: 48px;
374
+ height: 48px;
319
375
  }
320
376
 
321
- .Button.FloatingActionButton {
322
- position: absolute;
323
- right: 16px;
324
- bottom: 16px;
325
- width: 56px;
326
- height: 56px;
327
- padding: 16px;
328
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
377
+ .CircleProgress .line {
378
+ stroke-width: 2px;
379
+ stroke: black;
380
+ stroke-linecap: square;
381
+ fill: none;
382
+ transition: stroke-dashoffset 0.2s ease;
329
383
  }
330
384
 
331
- .Button.FloatingActionButton.raised {
332
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
385
+ .Button {
386
+ position: relative;
387
+ min-width: 64px;
388
+ min-height: 36px;
389
+ height: 24px;
390
+ margin: 0px;
391
+ padding: 0px 16px;
392
+ border: none;
393
+ outline: none;
394
+ font-size: 14px;
395
+ font-weight: 500;
396
+ letter-spacing: 1.25px;
397
+ background: #dfdfdf;
398
+ text-transform: uppercase;
399
+ font-family: Roboto, sans-serif;
400
+ display: inline-flex;
401
+ justify-content: center;
402
+ align-items: center;
403
+ cursor: pointer;
404
+ overflow: hidden;
405
+ user-select: none;
406
+ border-radius: 3px;
407
+ transition: all 0.2s ease;
333
408
  }
334
409
 
335
- .Button.FloatingActionButton.mini {
336
- width: 40px;
337
- height: 40px;
338
- padding: 8px;
410
+ .Button.flat {
411
+ background-color: transparent;
339
412
  }
340
413
 
341
- .Button.FloatingActionButton.hidden {
342
- bottom: -100px;
414
+ .Button.flat:hover {
415
+ background-color: rgba(0, 0, 0, 0.05);
343
416
  }
344
417
 
345
- .DropFileInput {
346
- flex-grow: 1;
418
+ .Button.green {
419
+ background-color: #43a047;
420
+ color: white;
347
421
  }
348
422
 
349
- .DropFileInput .Dropzone {
350
- border: 1px dashed #808080;
351
- padding: 12px;
352
- display: flex;
353
- flex-flow: row nowrap;
354
- justify-content: center;
355
- align-items: center;
356
- color: gray;
357
- cursor: pointer;
358
- border-radius: 3px;
359
- font-weight: normal;
360
- line-height: 22px;
361
- font-size: 14px;
362
- color: #7E7E7E;
363
- max-width: 100%;
364
- word-break: break-all;
365
- word-break: break-word;
423
+ .Button.green:hover {
424
+ background-color: #3b8e3f;
366
425
  }
367
426
 
368
- .DropFileInput .Dropzone .icon.withText {
369
- margin-right: 10px;
427
+ .Button.blue {
428
+ background-color: #039be5;
429
+ color: white;
370
430
  }
371
431
 
372
- .FormUploadProgress {
373
- position: absolute;
374
- left: 0;
375
- right: 0;
376
- top: 0;
377
- bottom: 0;
378
- background-color: rgba(255, 255, 255, 0.6);
379
- z-index: 2;
432
+ .Button.blue:hover {
433
+ background-color: #038acc;
380
434
  }
381
435
 
382
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
383
- transition-delay: 500ms;
436
+ .Button.red {
437
+ background-color: #e53935;
438
+ color: white;
384
439
  }
385
440
 
386
- .FormUploadProgress .wrapper {
387
- position: sticky;
388
- top: 40%;
389
- margin-top: 40%;
390
- margin-left: 50%;
391
- transform: translateX(-50%);
392
- display: flex;
393
- flex-flow: column;
394
- justify-content: center;
395
- align-items: center;
441
+ .Button.red:hover {
442
+ background-color: #e2231e;
396
443
  }
397
444
 
398
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
399
- position: absolute;
400
- width: 107px;
401
- height: 107px;
402
- top: 0;
403
- left: 0;
445
+ .Button.black {
446
+ background-color: #1e252d;
447
+ color: white;
404
448
  }
405
449
 
406
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
407
- stroke: #2196F3;
450
+ .Button.black:hover {
451
+ background-color: #14181e;
408
452
  }
409
453
 
410
- .FormUploadProgress .wrapper > .progress {
411
- width: 107px;
412
- height: 107px;
413
- min-height: 107px;
414
- display: flex;
415
- justify-content: center;
416
- align-items: center;
417
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
418
- border-radius: 50%;
419
- background: white;
420
- position: relative;
454
+ .Button.gray {
455
+ background: #D9D9D9;
456
+ color: #999999;
421
457
  }
422
458
 
423
- .FormUploadProgress .wrapper > .progress > .value {
424
- display: inline-block;
425
- margin-top: 5px;
426
- font-weight: bold;
427
- line-height: 16px;
428
- font-size: 13px;
429
- text-align: center;
430
- color: #818181;
459
+ .Button.gray:hover {
460
+ background-color: #cccccc;
431
461
  }
432
462
 
433
- .FormUploadProgress .wrapper .cancel {
434
- min-width: 107px;
435
- margin-top: 20px;
436
- background-color: white;
437
- color: #F96B5C;
438
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
463
+ .Button.small {
464
+ padding: 0px 8px;
465
+ min-height: 16px;
466
+ min-width: 16px;
439
467
  }
440
468
 
441
- .Modal {
442
- display: block;
443
- position: fixed;
444
- top: 0;
445
- left: 0;
446
- right: 0;
447
- bottom: 100%;
448
- overflow-y: scroll;
449
- transition: bottom 0ms linear;
450
- transition-delay: 0.2s;
469
+ .Button > .material-icons {
470
+ margin-right: 10px;
451
471
  }
452
472
 
453
- .Modal.show {
454
- transition-delay: 0s;
455
- bottom: 0;
473
+ .Button.round {
474
+ padding: 0px;
475
+ min-width: 36px;
476
+ border-radius: 50%;
456
477
  }
457
478
 
458
- .Modal > .overlay {
459
- position: fixed;
460
- top: 0;
461
- bottom: 100%;
462
- left: 0;
463
- right: 0;
464
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
465
- opacity: 0;
466
- background-color: black;
467
- pointer-events: none;
479
+ .Button.round > .material-icons {
480
+ margin: 0px;
468
481
  }
469
482
 
470
- .Modal > .overlay.show {
471
- opacity: 0.5;
472
- bottom: 0;
483
+ .Button .ripple {
484
+ position: absolute;
485
+ background: rgba(0, 0, 0, 0.1);
486
+ border-radius: 100%;
487
+ transform: scale(0);
488
+ pointer-events: none;
489
+ transition: opacity 0.2s ease-out;
473
490
  }
474
491
 
475
- .Modal > .content {
476
- left: 50%;
477
- top: 10vh;
478
- margin-bottom: 10vh;
479
- font-size: 16px;
480
- padding: 0;
481
- opacity: 0;
482
- transition: opacity 0.25s ease, transform 0.25s ease;
483
- transform: scaleY(0) translateY(-200px) translateX(-50%);
484
- transform-origin: top;
485
- position: absolute;
486
- border-radius: 2px;
487
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
492
+ .Button .ripple.show {
493
+ animation: ripple 0.35s ease-out;
488
494
  }
489
495
 
490
- .Modal > .content.show {
496
+ .Button:active .ripple.showed {
491
497
  opacity: 1;
492
- transform: scaleY(1) translateY(0px) translateX(-50%);
493
498
  }
494
499
 
495
- .Modal > .content > .Scrollable {
496
- overflow: visible;
497
- max-height: 80vh;
500
+ .Button:focus .ripple.focused {
501
+ opacity: 1;
502
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
503
+ transform: scale(1);
504
+ animation: resize 1.25s ease-out infinite;
505
+ animation-delay: 0.2s;
506
+ animation-direction: alternate;
498
507
  }
499
508
 
500
- .Modal > .content > .Scrollable > .viewport {
501
- min-width: 10px;
502
- min-height: 10px;
509
+ .Button .ripple.showed {
510
+ transform: scale(2);
511
+ opacity: 0;
503
512
  }
504
513
 
505
- .Modal > .content > .Button.close {
506
- top: 10px;
507
- right: 10px;
508
- position: absolute;
514
+ @keyframes ripple {
515
+ to {
516
+ transform: scale(2);
517
+ }
509
518
  }
510
-
511
- .ModalMenu {
512
- position: absolute;
513
- top: 10px;
514
- right: 50px;
519
+ @keyframes resize {
520
+ to {
521
+ transform: scale(0.9);
522
+ }
515
523
  }
516
-
517
- .ModalMenu .material-icons {
518
- color: #818181;
524
+ .Button.raised {
525
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
519
526
  }
520
527
 
521
- .ModalMenu .Button.animated {
522
- position: absolute;
523
- transition: opacity 150ms ease-in, right 200ms ease-in;
524
- opacity: 0;
525
- right: 0;
526
- top: 0;
528
+ .Button.raised:hover {
529
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
527
530
  }
528
531
 
529
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
530
- opacity: 1;
532
+ .Button.raised:active {
533
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
531
534
  }
532
535
 
533
- .ModalMenu .Button.animated.unmounting {
534
- transition: opacity 100ms ease-out, right 200ms ease-out;
536
+ .Button.disabled {
537
+ box-shadow: none;
538
+ background: #D9D9D9;
539
+ color: #999999;
535
540
  }
536
541
 
537
- .ModalMenu .Button.active {
538
- background: #EBEBEB;
542
+ .Button.disabled:hover {
543
+ background-color: #cccccc;
539
544
  }
540
545
 
541
- .ModalMenu .separator {
542
- height: 24px;
543
- width: 1px;
544
- background-color: #D9D9D9;
545
- margin-left: 4px;
546
+ .Button::-moz-focus-inner {
547
+ border: 0;
546
548
  }
547
549
 
548
- .Checkbox {
550
+ .DNDContainer {
549
551
  position: relative;
550
- white-space: pre;
551
552
  }
552
553
 
553
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
554
- box-sizing: border-box;
554
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
555
+ cursor: pointer;
555
556
  }
556
557
 
557
- .Checkbox label {
558
- font-family: Roboto, sans-serif;
559
- font-size: 14px;
560
- color: #1e252d;
561
- cursor: pointer;
558
+ .DNDContainer .Draggable.placeholder {
559
+ opacity: 0.2;
562
560
  }
563
561
 
564
- .Checkbox label:before, .Checkbox label:after {
565
- content: "";
562
+ .DNDContainer .Draggable.copy {
563
+ position: absolute;
564
+ box-sizing: border-box;
565
+ will-change: transform;
566
+ opacity: 0;
567
+ }
568
+
569
+ .DNDContainer .Draggable.dragged {
570
+ z-index: 10;
571
+ }
572
+
573
+ .DNDContainer .overlay {
566
574
  position: absolute;
567
- left: 0;
568
575
  top: 0;
576
+ left: 0;
577
+ right: 0;
578
+ bottom: 0;
579
+ pointer-events: none;
569
580
  }
570
581
 
571
- .Checkbox label:before {
572
- width: 20px;
573
- height: 20px;
574
- background: #fff;
575
- border: 2px solid #252525;
576
- border-radius: 2px;
577
- cursor: pointer;
578
- transition: background 0.3s;
582
+ .FilteredList {
583
+ max-height: 250px;
584
+ position: relative;
579
585
  }
580
586
 
581
- .Checkbox input[type=checkbox] {
582
- outline: 0;
583
- margin-right: 10px;
587
+ .FilteredList.popup {
588
+ padding: 0;
584
589
  visibility: hidden;
590
+ position: absolute;
591
+ background: white;
592
+ z-index: 4;
593
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
594
+ transition: all 0.2s ease-out;
595
+ top: calc(100% + 4px);
596
+ opacity: 0;
597
+ border-radius: 2px;
585
598
  }
586
599
 
587
- .Checkbox input[type=checkbox]:checked + label:before {
588
- background: #4AC263;
589
- border: none;
600
+ .FilteredList.popup.visible {
601
+ opacity: 1;
602
+ visibility: visible;
590
603
  }
591
604
 
592
- .Checkbox input[type=checkbox]:checked + label:after {
593
- transform: rotate(-45deg);
594
- top: 6px;
595
- left: 4px;
596
- width: 12px;
597
- height: 6px;
598
- border: 2px solid #fff;
599
- border-top-style: none;
600
- border-right-style: none;
605
+ .FilteredList.inline {
606
+ max-height: 225px;
607
+ margin-top: 5px;
601
608
  }
602
609
 
603
- .Checkbox input[type=checkbox]:disabled + label {
604
- color: gray;
610
+ .FilteredList .child {
611
+ display: flex;
612
+ flex-flow: row nowrap;
613
+ align-items: center;
614
+ white-space: nowrap;
615
+ font-size: 14px;
616
+ color: #222222;
617
+ height: 30px;
618
+ padding: 5px 10px;
619
+ padding-right: 15px;
620
+ cursor: pointer;
621
+ overflow: hidden;
622
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
623
+ border-left: 5px solid #4AC263;
624
+ padding-left: 15px;
625
+ margin-left: -5px;
605
626
  }
606
627
 
607
- .Checkbox input[type=checkbox]:disabled + label:before {
608
- border-color: rgba(0, 0, 0, 0.26);
628
+ .FilteredList .child.hidden {
629
+ height: 0 !important;
630
+ padding: 0 !important;
609
631
  }
610
632
 
611
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
612
- background: rgba(0, 0, 0, 0.26);
633
+ .FilteredList .child.selected {
634
+ background-color: #F0F0F0;
635
+ padding-left: 10px;
636
+ margin-left: 0px;
613
637
  }
614
638
 
615
- .Snackbar {
616
- transform: translateX(-50%);
617
- overflow: hidden;
618
- background-color: #323232;
619
- padding: 14px 24px 14px 24px;
620
- color: #fff;
621
- min-width: 288px;
622
- max-width: 568px;
623
- position: fixed;
624
- bottom: -50px;
625
- left: 50%;
626
- display: flex;
627
- flex-wrap: nowrap;
628
- align-items: center;
629
- opacity: 0;
630
- transition: bottom 0.25s ease, opacity 0.2s ease;
631
- border-radius: 4px;
632
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
639
+ .FilteredList .child.active {
640
+ background-color: #eeeeee;
633
641
  }
634
642
 
635
- .Snackbar.shown {
636
- bottom: 15px;
637
- opacity: 1;
643
+ .FilteredList .child {
644
+ margin-top: 8px;
638
645
  }
639
646
 
640
- .Snackbar .message {
641
- overflow: hidden;
642
- line-height: 1.2em;
643
- min-height: 1.2em;
644
- max-height: 2.4em;
645
- flex: 1;
647
+ .FilteredList .child.hidden {
648
+ margin-top: 0;
646
649
  }
647
650
 
648
- .Snackbar .action {
649
- text-transform: uppercase;
650
- font-weight: bold;
651
- margin-left: 48px;
652
- color: #bf3727;
651
+ .FilteredList .child:not(.hidden) ~ .child {
652
+ margin-top: 0;
653
653
  }
654
654
 
655
- .Snackbar .action a {
656
- text-decoration: none;
657
- color: #bf3727;
655
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
656
+ margin-bottom: 8px;
658
657
  }
659
658
 
660
- .TextField {
661
- position: relative;
662
- width: 100%;
659
+ .FilteredList .child:not(.hidden):last-child {
660
+ margin-bottom: 8px;
663
661
  }
664
662
 
665
- .TextField > label {
666
- font-family: Roboto, sans-serif;
667
- color: rgba(0, 0, 0, 0.3);
668
- font-size: 16px;
669
- position: absolute;
670
- left: 0px;
671
- top: 16px;
672
- margin-top: -16px;
673
- transition: all 0.2s ease;
674
- user-select: none;
675
- cursor: text;
663
+ .DropFileInput {
664
+ flex-grow: 1;
676
665
  }
677
666
 
678
- .TextField > input {
679
- font-family: Roboto, sans-serif;
680
- color: #1e252d;
681
- height: 19px;
682
- font-size: 16px;
683
- width: 100%;
684
- border: 0px;
685
- padding-bottom: 4px;
686
- padding-top: 0;
687
- outline-color: rgba(0, 0, 0, 0);
667
+ .DropFileInput .Dropzone {
668
+ border: 1px dashed #808080;
669
+ padding: 12px;
670
+ display: flex;
671
+ flex-flow: row nowrap;
672
+ justify-content: center;
673
+ align-items: center;
674
+ color: gray;
675
+ cursor: pointer;
676
+ border-radius: 3px;
677
+ font-weight: normal;
678
+ line-height: 22px;
679
+ font-size: 14px;
680
+ color: #7E7E7E;
681
+ max-width: 100%;
682
+ word-break: break-all;
683
+ word-break: break-word;
688
684
  }
689
685
 
690
- .TextField > input:focus {
691
- outline: none;
686
+ .DropFileInput .Dropzone .icon.withText {
687
+ margin-right: 10px;
692
688
  }
693
689
 
694
- .TextField > input:disabled {
695
- color: gray;
696
- background-color: white;
690
+ .ImageGallery {
691
+ position: fixed;
692
+ top: 0;
693
+ left: 0;
694
+ bottom: 0;
695
+ right: 0;
696
+ z-index: 1000;
697
+ background-color: rgba(0, 0, 0, 0.01);
698
+ user-select: none;
697
699
  }
698
700
 
699
- .TextField > input:disabled + .border {
700
- height: 0px;
701
- border-bottom: 2px dotted #e0e0e0;
701
+ .ImageGallery:focus {
702
+ outline-width: 0px;
702
703
  }
703
704
 
704
- .TextField > input::placeholder {
705
- font-family: Roboto, sans-serif;
706
- color: rgba(0, 0, 0, 0.3);
705
+ .ImageGallery.animated {
706
+ transition: background-color 0.25s ease;
707
707
  opacity: 1;
708
708
  }
709
709
 
710
- .TextField > .border {
711
- border-bottom: 1px solid #e0e0e0;
712
- height: 1px;
713
- position: relative;
710
+ .ImageGallery.mounting, .ImageGallery.mounted {
711
+ background-color: rgba(0, 0, 0, 0.8);
714
712
  }
715
713
 
716
- .TextField > .border .line {
717
- left: 50%;
718
- width: 0;
719
- height: 2px;
720
- min-height: 2px;
721
- background-color: #00bcd4;
722
- transition: all 0.2s ease;
714
+ .ImageGallery .image {
723
715
  position: absolute;
716
+ cursor: grab;
724
717
  }
725
718
 
726
- .TextField > .error {
727
- text-align: left;
728
- font-size: 10px;
729
- min-height: 0;
730
- line-height: 14px;
731
- color: #f44336;
732
- visibility: hidden;
733
- opacity: 0;
734
- transition: all 0.2s ease;
719
+ .ImageGallery .image .counter {
720
+ display: none;
735
721
  }
736
722
 
737
- .TextField.focused > label, .TextField.withValue > label {
738
- top: 4px;
739
- font-size: 12px;
740
- line-height: 14px;
723
+ .ImageGallery .image img {
724
+ border-radius: 4px;
725
+ max-width: 100%;
726
+ min-width: 100%;
741
727
  }
742
728
 
743
- .TextField.errored > .error {
744
- visibility: visible;
745
- opacity: 1;
729
+ .ImageGallery .image.animated {
730
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
731
+ will-change: top, left, width, height, opacity;
746
732
  }
747
733
 
748
- .TextField.errored > .border {
749
- border-bottom-color: #f44336;
734
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
735
+ opacity: 1;
750
736
  }
751
737
 
752
- .TextField.errored > label {
753
- color: #f44336;
738
+ .ImageGallery .image.zoomed {
739
+ text-align: center;
740
+ overflow: hidden;
754
741
  }
755
742
 
756
- .TextField.focused > label {
757
- color: #00bcd4;
743
+ .ImageGallery .image.dragging {
744
+ transition: none;
745
+ cursor: move;
758
746
  }
759
747
 
760
- .TextField.focused > .border .line {
761
- left: 0;
762
- width: 100%;
763
- }
764
-
765
- .TextField.disabled label, .TextField.disabled input {
766
- cursor: not-allowed;
748
+ .ImageGallery .image .close {
749
+ position: absolute;
750
+ top: -18px;
751
+ right: -18px;
767
752
  }
768
753
 
769
- .TextField.withLabel {
770
- margin-top: 15px;
754
+ .ImageGallery .image .spinner {
755
+ position: absolute;
756
+ top: 0;
757
+ bottom: 0;
758
+ left: 0;
759
+ right: 0;
760
+ background: rgba(0, 0, 0, 0.65);
771
761
  }
772
762
 
773
- .TextField input::-webkit-contacts-auto-fill-button {
774
- visibility: hidden;
775
- display: none !important;
776
- pointer-events: none;
763
+ .ImageGallery .image .spinner .SpinningProgress {
777
764
  position: absolute;
778
- right: 0;
765
+ top: 50%;
766
+ left: 50%;
767
+ margin-left: -24px;
768
+ margin-top: -24px;
779
769
  }
780
770
 
781
- .TextField input:-webkit-autofill {
782
- -webkit-box-shadow: inset 0 0 0px 9999px white;
771
+ .ImageGallery .image .spinner .SpinningProgress .line {
772
+ stroke: #2196F3;
783
773
  }
784
774
 
785
- @keyframes shake {
786
- 0%, 100% {
787
- transform: translateX(0);
788
- }
789
- 20%, 60% {
790
- transform: translateX(-5px);
791
- }
792
- 40%, 80% {
793
- transform: translateX(5px);
794
- }
775
+ .ImageGallery .Button.animated {
776
+ transition: all 0.25s ease;
777
+ opacity: 0;
778
+ transform: scale(0);
795
779
  }
796
- .TextField .shake {
797
- animation-duration: 0.5s;
798
- animation-fill-mode: both;
799
- animation-timing-function: ease-in-out;
800
- animation-name: shake;
780
+
781
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
782
+ opacity: 1;
783
+ transform: scale(1);
801
784
  }
802
785
 
803
- .SpinningProgress {
804
- width: 48px;
805
- height: 48px;
806
- position: relative;
807
- margin: 0 auto;
786
+ .ImageGallery .Button {
787
+ color: white;
788
+ background: rgba(0, 0, 0, 0.4);
808
789
  }
809
790
 
810
- .SpinningProgress:before {
811
- content: "";
812
- display: block;
813
- padding-top: 100%;
791
+ .ImageGallery .Button:hover {
792
+ background: rgba(0, 0, 0, 0.7);
814
793
  }
815
794
 
816
- .SpinningProgress .circular {
817
- animation: rotate 2s linear infinite;
818
- height: 100%;
819
- transform-origin: center center;
820
- width: 100%;
795
+ .ImageGallery > .arrow {
821
796
  position: absolute;
822
- top: 0;
823
- bottom: 0;
824
- left: 0;
825
- right: 0;
826
- margin: auto;
797
+ top: 50%;
798
+ height: 76px;
799
+ width: 76px;
800
+ margin-top: -38px;
827
801
  }
828
802
 
829
- .SpinningProgress .line {
830
- stroke: black;
831
- stroke-width: 2px;
832
- stroke-dasharray: 1, 96;
833
- stroke-dashoffset: 0;
834
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
803
+ .ImageGallery > .arrow.left {
804
+ left: 5%;
835
805
  }
836
806
 
837
- @keyframes rotate {
838
- 100% {
839
- transform: rotate(360deg);
840
- }
807
+ .ImageGallery > .arrow.right {
808
+ right: 5%;
841
809
  }
842
- @keyframes dash {
843
- 0% {
844
- stroke-dasharray: 1, 96;
845
- stroke-dashoffset: 0;
846
- }
847
- 50% {
848
- stroke-dasharray: 43, 96;
849
- stroke-dashoffset: -17px;
850
- }
851
- 100% {
852
- stroke-dasharray: 43, 96;
853
- stroke-dashoffset: -53px;
854
- }
810
+
811
+ .ImageGallery > .arrow .material-icons {
812
+ font-size: 40px;
855
813
  }
856
- .animated {
857
- transition: opacity 250ms ease;
858
- opacity: 0;
814
+
815
+ .ImageGallery .counter {
816
+ position: absolute;
817
+ top: 10px;
818
+ left: 10px;
819
+ color: white;
820
+ font-size: 13px;
859
821
  }
860
822
 
861
- .animated.mounting, .animated.mounted {
862
- opacity: 1;
823
+ .ImageGallery .previews {
824
+ height: 80px;
825
+ position: absolute;
826
+ bottom: 15px;
827
+ left: 50%;
828
+ transform: translateX(-50%);
829
+ padding: 0 45px;
863
830
  }
864
831
 
865
- .Scrollable {
866
- max-height: 250px;
867
- max-width: 250px;
868
- padding-right: 5px;
869
- position: relative;
870
- display: flex;
871
- flex-flow: column;
872
- align-items: stretch;
832
+ .ImageGallery .previews .viewport {
873
833
  overflow: hidden;
834
+ position: relative;
835
+ height: 100%;
874
836
  }
875
837
 
876
- .Scrollable:hover > .scrollbar.auto {
877
- transition-delay: 0s;
878
- opacity: 1;
838
+ .ImageGallery .previews .container {
839
+ position: relative;
840
+ display: flex;
841
+ flex-flow: row nowrap;
842
+ height: 100%;
843
+ transition: left 0.25s ease;
879
844
  }
880
845
 
881
- .Scrollable .viewport {
882
- overflow-y: scroll;
883
- overflow-x: scroll;
884
- max-height: 100%;
885
- scroll-behavior: smooth;
886
- scrollbar-width: none;
846
+ .ImageGallery .previews .preview {
847
+ position: relative;
848
+ height: 100%;
849
+ display: inline-block;
850
+ width: 106.66px;
851
+ overflow: hidden;
852
+ margin-left: 12px;
853
+ border-radius: 2px;
854
+ cursor: pointer;
855
+ box-sizing: border-box;
887
856
  }
888
857
 
889
- .Scrollable .viewport::-webkit-scrollbar {
890
- display: none;
858
+ .ImageGallery .previews .preview:first-child {
859
+ margin-left: 0;
891
860
  }
892
861
 
893
- .Scrollable.without-scroll-horizontal {
894
- max-width: unset;
862
+ .ImageGallery .previews .preview > .border {
863
+ position: absolute;
864
+ bottom: 0;
865
+ width: 100%;
866
+ height: 3px;
895
867
  }
896
868
 
897
- .Scrollable.without-scroll {
898
- padding-right: 0;
899
- max-height: unset;
869
+ .ImageGallery .previews .preview > .border .line {
870
+ left: 50%;
871
+ width: 0;
872
+ height: 3px;
873
+ min-height: 3px;
874
+ background-color: #4AC263;
875
+ transition: all 0.2s ease;
876
+ position: absolute;
900
877
  }
901
878
 
902
- .Scrollable.without-scroll > .viewport {
903
- padding-right: 0;
904
- margin-right: 0;
879
+ .ImageGallery .previews .preview:after {
880
+ content: "";
881
+ position: absolute;
882
+ top: 0;
883
+ right: 0;
884
+ bottom: 0;
885
+ left: 0;
886
+ background: rgba(0, 0, 0, 0.35);
887
+ transition: background 0.2s ease;
905
888
  }
906
889
 
907
- .Scrollable.without-scroll > .scrollbar {
908
- visibility: hidden;
890
+ .ImageGallery .previews .preview:hover:after {
891
+ background: rgba(0, 0, 0, 0.1);
909
892
  }
910
893
 
911
- .Scrollable .scrollbar {
912
- position: absolute;
913
- right: 0px;
914
- top: 0px;
915
- width: 5px;
916
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
917
- transition-delay: 0.5s;
918
- z-index: 1;
894
+ .ImageGallery .previews .preview.selected .border .line {
895
+ left: 0;
896
+ width: 100%;
919
897
  }
920
898
 
921
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
922
- opacity: 0;
899
+ .ImageGallery .previews .preview.selected:after {
900
+ background: rgba(0, 0, 0, 0);
923
901
  }
924
902
 
925
- .Scrollable .scrollbar .thumb {
926
- background-color: rgba(0, 0, 0, 0.3);
927
- width: 5px;
903
+ .ImageGallery .previews > .arrow {
928
904
  position: absolute;
929
- right: 0px;
930
- top: 0px;
931
- user-select: none;
932
- will-change: top;
933
- border-radius: 2px;
905
+ top: 50%;
906
+ height: 30px;
907
+ width: 30px;
908
+ min-width: 30px;
909
+ min-height: 30px;
910
+ margin-top: -15px;
934
911
  }
935
912
 
936
- .Scrollable .scrollbar .thumb:hover {
937
- background-color: rgba(0, 0, 0, 0.5);
913
+ .ImageGallery .previews > .arrow.left {
914
+ left: 0;
938
915
  }
939
916
 
940
- .Scrollable .scrollbar .thumb:active {
941
- background-color: rgba(0, 0, 0, 0.7);
917
+ .ImageGallery .previews > .arrow.right {
918
+ right: 0;
942
919
  }
943
920
 
944
- .Scrollable .scrollbar.horizontal {
945
- left: 0px;
946
- right: 0px;
947
- height: 5px;
948
- bottom: 0;
949
- width: unset;
950
- top: unset;
921
+ .ImageGallery .previews > .arrow .material-icons {
922
+ font-size: 24px;
951
923
  }
952
924
 
953
- .Scrollable .scrollbar.horizontal .thumb {
954
- height: 5px;
955
- left: 0px;
956
- bottom: 0px;
957
- will-change: left;
925
+ .DialogModal {
926
+ overflow: hidden;
958
927
  }
959
928
 
960
- .Switch {
961
- display: inline-flex;
962
- padding-top: 5px;
929
+ .DialogModal .content {
930
+ top: 20vh;
963
931
  }
964
932
 
965
- .Switch .switch-input {
966
- display: none;
933
+ .Dialog {
934
+ background-color: white;
935
+ min-width: 460px;
936
+ max-width: 40vw;
937
+ padding: 15px;
967
938
  }
968
939
 
969
- .Switch .switch-label {
970
- position: relative;
971
- display: inline-flex;
972
- align-items: center;
973
- min-width: 38px;
974
- height: 24px;
975
- cursor: pointer;
976
- font-weight: 500;
977
- text-align: left;
978
- user-select: none;
979
- margin: 0;
980
- padding: 0;
981
- padding-left: 44px;
982
- box-sizing: border-box;
940
+ .Dialog .title {
941
+ margin-bottom: 15px;
942
+ padding: 20px 50px 0px 30px;
943
+ font-size: 1.25rem;
944
+ line-height: 2rem;
945
+ font-weight: 400;
946
+ letter-spacing: 0.0125em;
983
947
  }
984
948
 
985
- .Switch .switch-label:before, .Switch .switch-label:after {
986
- content: "";
987
- box-sizing: border-box;
988
- position: absolute;
989
- margin: 0;
990
- outline: 0;
991
- top: 50%;
992
- transform: translate(0, -50%);
993
- transition: all 0.3s ease;
949
+ .Dialog .description {
950
+ color: rgba(0, 0, 0, 0.54);
951
+ font-size: 1rem;
952
+ line-height: 1.5rem;
953
+ font-weight: 400;
954
+ letter-spacing: 0.03125em;
955
+ margin-top: 20px;
956
+ padding: 0 24px 24px;
994
957
  }
995
958
 
996
- .Switch .switch-label:before {
997
- left: 1px;
998
- width: 34px;
999
- height: 14px;
1000
- background-color: #9E9E9E;
1001
- border-radius: 8px;
959
+ .Dialog > div.row {
960
+ margin-bottom: 15px;
1002
961
  }
1003
962
 
1004
- .Switch .switch-label:after {
963
+ .Dialog > div.row:last-child {
964
+ margin-bottom: 0;
965
+ }
966
+
967
+ .FormUploadProgress {
968
+ position: absolute;
1005
969
  left: 0;
1006
- width: 20px;
1007
- height: 20px;
1008
- background-color: #FAFAFA;
1009
- border-radius: 50%;
1010
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
970
+ right: 0;
971
+ top: 0;
972
+ bottom: 0;
973
+ background-color: rgba(255, 255, 255, 0.6);
974
+ z-index: 2;
1011
975
  }
1012
976
 
1013
- .Switch .switch-label .toggle--on {
1014
- display: none;
977
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
978
+ transition-delay: 500ms;
1015
979
  }
1016
980
 
1017
- .Switch .switch-label .toggle--off {
1018
- display: inline-block;
981
+ .FormUploadProgress .wrapper {
982
+ position: sticky;
983
+ top: 40%;
984
+ margin-top: 40%;
985
+ margin-left: 50%;
986
+ transform: translateX(-50%);
987
+ display: flex;
988
+ flex-flow: column;
989
+ justify-content: center;
990
+ align-items: center;
1019
991
  }
1020
992
 
1021
- .Switch .switch-label .label {
1022
- margin-right: 5px;
993
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
994
+ position: absolute;
995
+ width: 107px;
996
+ height: 107px;
997
+ top: 0;
998
+ left: 0;
1023
999
  }
1024
1000
 
1025
- .Switch .switch-input:checked + .switch-label:before {
1026
- background-color: #A5D6A7;
1001
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1002
+ stroke: #2196F3;
1027
1003
  }
1028
1004
 
1029
- .Switch .switch-input:checked + .switch-label:after {
1030
- background-color: #4CAF50;
1031
- transform: translate(80%, -50%);
1005
+ .FormUploadProgress .wrapper > .progress {
1006
+ width: 107px;
1007
+ height: 107px;
1008
+ min-height: 107px;
1009
+ display: flex;
1010
+ justify-content: center;
1011
+ align-items: center;
1012
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1013
+ border-radius: 50%;
1014
+ background: white;
1015
+ position: relative;
1032
1016
  }
1033
1017
 
1034
- .Switch .switch-input:checked + .switch-label .toggle--on {
1018
+ .FormUploadProgress .wrapper > .progress > .value {
1035
1019
  display: inline-block;
1020
+ margin-top: 5px;
1021
+ font-weight: bold;
1022
+ line-height: 16px;
1023
+ font-size: 13px;
1024
+ text-align: center;
1025
+ color: #818181;
1036
1026
  }
1037
1027
 
1038
- .Switch .switch-input:checked + .switch-label .toggle--off {
1039
- display: none;
1028
+ .FormUploadProgress .wrapper .cancel {
1029
+ min-width: 107px;
1030
+ margin-top: 20px;
1031
+ background-color: white;
1032
+ color: #F96B5C;
1033
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1040
1034
  }
1041
1035
 
1042
- .ImageGallery {
1036
+ .Modal {
1037
+ display: block;
1043
1038
  position: fixed;
1044
1039
  top: 0;
1045
1040
  left: 0;
1046
- bottom: 0;
1047
1041
  right: 0;
1048
- z-index: 1000;
1049
- background-color: rgba(0, 0, 0, 0.01);
1050
- user-select: none;
1042
+ bottom: 100%;
1043
+ overflow-y: scroll;
1044
+ transition: bottom 0ms linear;
1045
+ transition-delay: 0.2s;
1051
1046
  }
1052
1047
 
1053
- .ImageGallery:focus {
1054
- outline-width: 0px;
1048
+ .Modal.show {
1049
+ transition-delay: 0s;
1050
+ bottom: 0;
1055
1051
  }
1056
1052
 
1057
- .ImageGallery.animated {
1058
- transition: background-color 0.25s ease;
1059
- opacity: 1;
1053
+ .Modal > .overlay {
1054
+ position: fixed;
1055
+ top: 0;
1056
+ bottom: 100%;
1057
+ left: 0;
1058
+ right: 0;
1059
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1060
+ opacity: 0;
1061
+ background-color: black;
1062
+ pointer-events: none;
1060
1063
  }
1061
1064
 
1062
- .ImageGallery.mounting, .ImageGallery.mounted {
1063
- background-color: rgba(0, 0, 0, 0.8);
1065
+ .Modal > .overlay.show {
1066
+ opacity: 0.5;
1067
+ bottom: 0;
1064
1068
  }
1065
1069
 
1066
- .ImageGallery .image {
1070
+ .Modal > .content {
1071
+ left: 50%;
1072
+ top: 10vh;
1073
+ margin-bottom: 10vh;
1074
+ font-size: 16px;
1075
+ padding: 0;
1076
+ opacity: 0;
1077
+ transition: opacity 0.25s ease, transform 0.25s ease;
1078
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1079
+ transform-origin: top;
1067
1080
  position: absolute;
1068
- cursor: grab;
1069
- }
1070
-
1071
- .ImageGallery .image .counter {
1072
- display: none;
1073
- }
1074
-
1075
- .ImageGallery .image img {
1076
- border-radius: 4px;
1077
- max-width: 100%;
1078
- min-width: 100%;
1079
- }
1080
-
1081
- .ImageGallery .image.animated {
1082
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1083
- will-change: top, left, width, height, opacity;
1081
+ border-radius: 2px;
1082
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1084
1083
  }
1085
1084
 
1086
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1085
+ .Modal > .content.show {
1087
1086
  opacity: 1;
1087
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1088
1088
  }
1089
1089
 
1090
- .ImageGallery .image.zoomed {
1091
- text-align: center;
1092
- overflow: hidden;
1090
+ .Modal > .content > .Scrollable {
1091
+ overflow: visible;
1092
+ max-height: 80vh;
1093
1093
  }
1094
1094
 
1095
- .ImageGallery .image.dragging {
1096
- transition: none;
1097
- cursor: move;
1095
+ .Modal > .content > .Scrollable > .viewport {
1096
+ min-width: 10px;
1097
+ min-height: 10px;
1098
1098
  }
1099
1099
 
1100
- .ImageGallery .image .close {
1100
+ .Modal > .content > .Button.close {
1101
+ top: 10px;
1102
+ right: 10px;
1101
1103
  position: absolute;
1102
- top: -18px;
1103
- right: -18px;
1104
1104
  }
1105
1105
 
1106
- .ImageGallery .image .spinner {
1106
+ .Dropzone {
1107
+ position: relative;
1108
+ }
1109
+
1110
+ .Dropzone > .overlay {
1107
1111
  position: absolute;
1108
- top: 0;
1109
- bottom: 0;
1110
1112
  left: 0;
1111
1113
  right: 0;
1112
- background: rgba(0, 0, 0, 0.65);
1114
+ top: 0;
1115
+ bottom: 0;
1116
+ background-color: #38ADC4;
1117
+ z-index: 1;
1118
+ opacity: 0;
1119
+ transition: all 0.2s ease;
1120
+ transition-delay: 100ms;
1121
+ visibility: hidden;
1122
+ display: flex;
1123
+ justify-content: center;
1124
+ align-items: center;
1113
1125
  }
1114
1126
 
1115
- .ImageGallery .image .spinner .SpinningProgress {
1127
+ .Dropzone > .overlay .drop {
1128
+ border-radius: 4px;
1129
+ border: 1px dashed #FFFFFF;
1116
1130
  position: absolute;
1117
- top: 50%;
1118
- left: 50%;
1119
- margin-left: -24px;
1120
- margin-top: -24px;
1121
- }
1122
-
1123
- .ImageGallery .image .spinner .SpinningProgress .line {
1124
- stroke: #2196F3;
1125
- }
1126
-
1127
- .ImageGallery .Button.animated {
1128
- transition: all 0.25s ease;
1129
- opacity: 0;
1130
- transform: scale(0);
1131
- }
1132
-
1133
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1134
- opacity: 1;
1135
- transform: scale(1);
1131
+ top: 18px;
1132
+ left: 18px;
1133
+ right: 18px;
1134
+ bottom: 18px;
1135
+ display: flex;
1136
+ justify-content: center;
1137
+ align-items: center;
1138
+ font-weight: 500;
1139
+ font-size: 18px;
1140
+ color: #FFFFFF;
1136
1141
  }
1137
1142
 
1138
- .ImageGallery .Button {
1139
- color: white;
1140
- background: rgba(0, 0, 0, 0.4);
1143
+ .Dropzone.dragging > .overlay {
1144
+ opacity: 0.7;
1145
+ visibility: visible;
1146
+ transition-delay: 0s;
1141
1147
  }
1142
1148
 
1143
- .ImageGallery .Button:hover {
1144
- background: rgba(0, 0, 0, 0.7);
1149
+ .Dropzone.dragging > * {
1150
+ pointer-events: none;
1145
1151
  }
1146
1152
 
1147
- .ImageGallery > .arrow {
1153
+ .Dropzone > input.file {
1148
1154
  position: absolute;
1149
- top: 50%;
1150
- height: 76px;
1151
- width: 76px;
1152
- margin-top: -38px;
1155
+ left: 0;
1156
+ right: 0;
1157
+ top: 0;
1158
+ bottom: 0;
1159
+ width: 100%;
1160
+ height: 100%;
1161
+ opacity: 0;
1162
+ cursor: pointer;
1163
+ z-index: 1;
1153
1164
  }
1154
1165
 
1155
- .ImageGallery > .arrow.left {
1156
- left: 5%;
1166
+ .Scrollable {
1167
+ max-height: 250px;
1168
+ max-width: 250px;
1169
+ padding-right: 5px;
1170
+ position: relative;
1171
+ display: flex;
1172
+ flex-flow: column;
1173
+ align-items: stretch;
1174
+ overflow: hidden;
1157
1175
  }
1158
1176
 
1159
- .ImageGallery > .arrow.right {
1160
- right: 5%;
1177
+ .Scrollable:hover > .scrollbar.auto {
1178
+ transition-delay: 0s;
1179
+ opacity: 1;
1161
1180
  }
1162
1181
 
1163
- .ImageGallery > .arrow .material-icons {
1164
- font-size: 40px;
1182
+ .Scrollable .viewport {
1183
+ overflow-y: scroll;
1184
+ overflow-x: scroll;
1185
+ max-height: 100%;
1186
+ scroll-behavior: smooth;
1187
+ scrollbar-width: none;
1165
1188
  }
1166
1189
 
1167
- .ImageGallery .counter {
1168
- position: absolute;
1169
- top: 10px;
1170
- left: 10px;
1171
- color: white;
1172
- font-size: 13px;
1190
+ .Scrollable .viewport::-webkit-scrollbar {
1191
+ display: none;
1173
1192
  }
1174
1193
 
1175
- .ImageGallery .previews {
1176
- height: 80px;
1177
- position: absolute;
1178
- bottom: 15px;
1179
- left: 50%;
1180
- transform: translateX(-50%);
1181
- padding: 0 45px;
1194
+ .Scrollable.without-scroll-horizontal {
1195
+ max-width: unset;
1182
1196
  }
1183
1197
 
1184
- .ImageGallery .previews .viewport {
1185
- overflow: hidden;
1186
- position: relative;
1187
- height: 100%;
1198
+ .Scrollable.without-scroll {
1199
+ padding-right: 0;
1200
+ max-height: unset;
1188
1201
  }
1189
1202
 
1190
- .ImageGallery .previews .container {
1191
- position: relative;
1192
- display: flex;
1193
- flex-flow: row nowrap;
1194
- height: 100%;
1195
- transition: left 0.25s ease;
1203
+ .Scrollable.without-scroll > .viewport {
1204
+ padding-right: 0;
1205
+ margin-right: 0;
1196
1206
  }
1197
1207
 
1198
- .ImageGallery .previews .preview {
1199
- position: relative;
1200
- height: 100%;
1201
- display: inline-block;
1202
- width: 106.66px;
1203
- overflow: hidden;
1204
- margin-left: 12px;
1205
- border-radius: 2px;
1206
- cursor: pointer;
1207
- box-sizing: border-box;
1208
+ .Scrollable.without-scroll > .scrollbar {
1209
+ visibility: hidden;
1208
1210
  }
1209
1211
 
1210
- .ImageGallery .previews .preview:first-child {
1211
- margin-left: 0;
1212
+ .Scrollable .scrollbar {
1213
+ position: absolute;
1214
+ right: 0px;
1215
+ top: 0px;
1216
+ width: 5px;
1217
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1218
+ transition-delay: 0.5s;
1219
+ z-index: 1;
1212
1220
  }
1213
1221
 
1214
- .ImageGallery .previews .preview > .border {
1215
- position: absolute;
1216
- bottom: 0;
1217
- width: 100%;
1218
- height: 3px;
1222
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1223
+ opacity: 0;
1219
1224
  }
1220
1225
 
1221
- .ImageGallery .previews .preview > .border .line {
1222
- left: 50%;
1223
- width: 0;
1224
- height: 3px;
1225
- min-height: 3px;
1226
- background-color: #4AC263;
1227
- transition: all 0.2s ease;
1226
+ .Scrollable .scrollbar .thumb {
1227
+ background-color: rgba(0, 0, 0, 0.3);
1228
+ width: 5px;
1228
1229
  position: absolute;
1230
+ right: 0px;
1231
+ top: 0px;
1232
+ user-select: none;
1233
+ will-change: top;
1234
+ border-radius: 2px;
1229
1235
  }
1230
1236
 
1231
- .ImageGallery .previews .preview:after {
1232
- content: "";
1233
- position: absolute;
1234
- top: 0;
1235
- right: 0;
1236
- bottom: 0;
1237
- left: 0;
1238
- background: rgba(0, 0, 0, 0.35);
1239
- transition: background 0.2s ease;
1237
+ .Scrollable .scrollbar .thumb:hover {
1238
+ background-color: rgba(0, 0, 0, 0.5);
1240
1239
  }
1241
1240
 
1242
- .ImageGallery .previews .preview:hover:after {
1243
- background: rgba(0, 0, 0, 0.1);
1241
+ .Scrollable .scrollbar .thumb:active {
1242
+ background-color: rgba(0, 0, 0, 0.7);
1244
1243
  }
1245
1244
 
1246
- .ImageGallery .previews .preview.selected .border .line {
1247
- left: 0;
1248
- width: 100%;
1245
+ .Scrollable .scrollbar.horizontal {
1246
+ left: 0px;
1247
+ right: 0px;
1248
+ height: 5px;
1249
+ bottom: 0;
1250
+ width: unset;
1251
+ top: unset;
1249
1252
  }
1250
1253
 
1251
- .ImageGallery .previews .preview.selected:after {
1252
- background: rgba(0, 0, 0, 0);
1254
+ .Scrollable .scrollbar.horizontal .thumb {
1255
+ height: 5px;
1256
+ left: 0px;
1257
+ bottom: 0px;
1258
+ will-change: left;
1253
1259
  }
1254
1260
 
1255
- .ImageGallery .previews > .arrow {
1261
+ .Button.FloatingActionButton {
1256
1262
  position: absolute;
1257
- top: 50%;
1258
- height: 30px;
1259
- width: 30px;
1260
- min-width: 30px;
1261
- min-height: 30px;
1262
- margin-top: -15px;
1263
+ right: 16px;
1264
+ bottom: 16px;
1265
+ width: 56px;
1266
+ height: 56px;
1267
+ padding: 16px;
1268
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1263
1269
  }
1264
1270
 
1265
- .ImageGallery .previews > .arrow.left {
1266
- left: 0;
1271
+ .Button.FloatingActionButton.raised {
1272
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1267
1273
  }
1268
1274
 
1269
- .ImageGallery .previews > .arrow.right {
1270
- right: 0;
1275
+ .Button.FloatingActionButton.mini {
1276
+ width: 40px;
1277
+ height: 40px;
1278
+ padding: 8px;
1271
1279
  }
1272
1280
 
1273
- .ImageGallery .previews > .arrow .material-icons {
1274
- font-size: 24px;
1281
+ .Button.FloatingActionButton.hidden {
1282
+ bottom: -100px;
1275
1283
  }
1276
1284
 
1277
- .CircleProgress {
1285
+ .SpinningProgress {
1278
1286
  width: 48px;
1279
1287
  height: 48px;
1288
+ position: relative;
1289
+ margin: 0 auto;
1280
1290
  }
1281
1291
 
1282
- .CircleProgress .line {
1283
- stroke-width: 2px;
1284
- stroke: black;
1285
- stroke-linecap: square;
1286
- fill: none;
1287
- transition: stroke-dashoffset 0.2s ease;
1288
- }
1289
-
1290
- .DNDContainer .DroppableList .Draggable {
1291
- transform: unset;
1292
- transition: unset;
1293
- opacity: 1;
1292
+ .SpinningProgress:before {
1293
+ content: "";
1294
+ display: block;
1295
+ padding-top: 100%;
1294
1296
  }
1295
1297
 
1296
- .DNDContainer .DroppableList .Draggable.dragged {
1297
- transition: unset !important;
1298
+ .SpinningProgress .circular {
1299
+ animation: rotate 2s linear infinite;
1300
+ height: 100%;
1301
+ transform-origin: center center;
1302
+ width: 100%;
1303
+ position: absolute;
1304
+ top: 0;
1305
+ bottom: 0;
1306
+ left: 0;
1307
+ right: 0;
1308
+ margin: auto;
1298
1309
  }
1299
1310
 
1300
- .DNDContainer .DroppableList.hover .Draggable {
1301
- transition: transform 0.2s ease-in;
1311
+ .SpinningProgress .line {
1312
+ stroke: black;
1313
+ stroke-width: 2px;
1314
+ stroke-dasharray: 1, 96;
1315
+ stroke-dashoffset: 0;
1316
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1302
1317
  }
1303
1318
 
1304
- .DNDContainer .DroppableList.resetting .Draggable {
1305
- transition: transform 0.1s ease-in;
1319
+ @keyframes rotate {
1320
+ 100% {
1321
+ transform: rotate(360deg);
1322
+ }
1306
1323
  }
1307
-
1308
- .Dropzone {
1309
- position: relative;
1324
+ @keyframes dash {
1325
+ 0% {
1326
+ stroke-dasharray: 1, 96;
1327
+ stroke-dashoffset: 0;
1328
+ }
1329
+ 50% {
1330
+ stroke-dasharray: 43, 96;
1331
+ stroke-dashoffset: -17px;
1332
+ }
1333
+ 100% {
1334
+ stroke-dasharray: 43, 96;
1335
+ stroke-dashoffset: -53px;
1336
+ }
1337
+ }
1338
+ .ModalMenu {
1339
+ position: absolute;
1340
+ top: 10px;
1341
+ right: 50px;
1310
1342
  }
1311
1343
 
1312
- .Dropzone > .overlay {
1344
+ .ModalMenu .material-icons {
1345
+ color: #818181;
1346
+ }
1347
+
1348
+ .ModalMenu .Button.animated {
1313
1349
  position: absolute;
1314
- left: 0;
1350
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1351
+ opacity: 0;
1315
1352
  right: 0;
1316
1353
  top: 0;
1317
- bottom: 0;
1318
- background-color: #38ADC4;
1319
- z-index: 1;
1320
- opacity: 0;
1321
- transition: all 0.2s ease;
1322
- transition-delay: 100ms;
1323
- visibility: hidden;
1324
- display: flex;
1325
- justify-content: center;
1326
- align-items: center;
1327
1354
  }
1328
1355
 
1329
- .Dropzone > .overlay .drop {
1330
- border-radius: 4px;
1331
- border: 1px dashed #FFFFFF;
1332
- position: absolute;
1333
- top: 18px;
1334
- left: 18px;
1335
- right: 18px;
1336
- bottom: 18px;
1337
- display: flex;
1338
- justify-content: center;
1356
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1357
+ opacity: 1;
1358
+ }
1359
+
1360
+ .ModalMenu .Button.animated.unmounting {
1361
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1362
+ }
1363
+
1364
+ .ModalMenu .Button.active {
1365
+ background: #EBEBEB;
1366
+ }
1367
+
1368
+ .ModalMenu .separator {
1369
+ height: 24px;
1370
+ width: 1px;
1371
+ background-color: #D9D9D9;
1372
+ margin-left: 4px;
1373
+ }
1374
+
1375
+ .Switch {
1376
+ display: inline-flex;
1377
+ padding-top: 5px;
1378
+ }
1379
+
1380
+ .Switch .switch-input {
1381
+ display: none;
1382
+ }
1383
+
1384
+ .Switch .switch-label {
1385
+ position: relative;
1386
+ display: inline-flex;
1339
1387
  align-items: center;
1388
+ min-width: 38px;
1389
+ height: 24px;
1390
+ cursor: pointer;
1340
1391
  font-weight: 500;
1341
- font-size: 18px;
1342
- color: #FFFFFF;
1392
+ text-align: left;
1393
+ user-select: none;
1394
+ margin: 0;
1395
+ padding: 0;
1396
+ padding-left: 44px;
1397
+ box-sizing: border-box;
1343
1398
  }
1344
1399
 
1345
- .Dropzone.dragging > .overlay {
1346
- opacity: 0.7;
1347
- visibility: visible;
1348
- transition-delay: 0s;
1400
+ .Switch .switch-label:before, .Switch .switch-label:after {
1401
+ content: "";
1402
+ box-sizing: border-box;
1403
+ position: absolute;
1404
+ margin: 0;
1405
+ outline: 0;
1406
+ top: 50%;
1407
+ transform: translate(0, -50%);
1408
+ transition: all 0.3s ease;
1349
1409
  }
1350
1410
 
1351
- .Dropzone.dragging > * {
1352
- pointer-events: none;
1411
+ .Switch .switch-label:before {
1412
+ left: 1px;
1413
+ width: 34px;
1414
+ height: 14px;
1415
+ background-color: #9E9E9E;
1416
+ border-radius: 8px;
1353
1417
  }
1354
1418
 
1355
- .Dropzone > input.file {
1356
- position: absolute;
1419
+ .Switch .switch-label:after {
1357
1420
  left: 0;
1358
- right: 0;
1359
- top: 0;
1360
- bottom: 0;
1361
- width: 100%;
1362
- height: 100%;
1363
- opacity: 0;
1364
- cursor: pointer;
1365
- z-index: 1;
1421
+ width: 20px;
1422
+ height: 20px;
1423
+ background-color: #FAFAFA;
1424
+ border-radius: 50%;
1425
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1366
1426
  }
1367
1427
 
1368
- .ScrollableTable .Scrollable .scrollbar {
1369
- top: 56px;
1428
+ .Switch .switch-label .toggle--on {
1429
+ display: none;
1370
1430
  }
1371
1431
 
1372
- .ScrollableTable .Table {
1373
- position: static;
1432
+ .Switch .switch-label .toggle--off {
1433
+ display: inline-block;
1434
+ }
1435
+
1436
+ .Switch .switch-label .label {
1437
+ margin-right: 5px;
1438
+ }
1439
+
1440
+ .Switch .switch-input:checked + .switch-label:before {
1441
+ background-color: #A5D6A7;
1442
+ }
1443
+
1444
+ .Switch .switch-input:checked + .switch-label:after {
1445
+ background-color: #4CAF50;
1446
+ transform: translate(80%, -50%);
1447
+ }
1448
+
1449
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1450
+ display: inline-block;
1451
+ }
1452
+
1453
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1454
+ display: none;
1374
1455
  }
1375
1456
 
1376
1457
  .Table {
@@ -1487,297 +1568,216 @@
1487
1568
  background-color: #f0f0f0;
1488
1569
  }
1489
1570
 
1490
- .AutocompleteSelect {
1491
- display: inline-flex;
1492
- flex-flow: column;
1493
- justify-content: center;
1494
- position: relative;
1495
- min-width: 250px;
1496
- min-height: 36px;
1497
- user-select: none;
1571
+ .Snackbar {
1572
+ transform: translateX(-50%);
1573
+ overflow: hidden;
1574
+ background-color: #323232;
1575
+ padding: 14px 24px 14px 24px;
1576
+ color: #fff;
1577
+ min-width: 288px;
1578
+ max-width: 568px;
1579
+ position: fixed;
1580
+ bottom: -50px;
1581
+ left: 50%;
1582
+ display: flex;
1583
+ flex-wrap: nowrap;
1584
+ align-items: center;
1585
+ opacity: 0;
1586
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1587
+ border-radius: 4px;
1588
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1498
1589
  }
1499
1590
 
1500
- @keyframes clockwise {
1501
- 0% {
1502
- -webkit-transform: rotate(-90deg);
1503
- }
1504
- 100% {
1505
- -webkit-transform: translateX(0px);
1506
- }
1507
- }
1508
- @keyframes anticlockwise {
1509
- 0% {
1510
- -webkit-transform: rotate(90deg);
1511
- }
1512
- 100% {
1513
- -webkit-transform: translateX(0px);
1514
- }
1515
- }
1516
- .AutocompleteSelect > .input {
1517
- width: 100%;
1591
+ .Snackbar.shown {
1592
+ bottom: 15px;
1593
+ opacity: 1;
1518
1594
  }
1519
1595
 
1520
- .AutocompleteSelect .Scrollable {
1521
- padding-right: 0;
1522
- min-width: 100%;
1596
+ .Snackbar .message {
1597
+ overflow: hidden;
1598
+ line-height: 1.2em;
1599
+ min-height: 1.2em;
1600
+ max-height: 2.4em;
1601
+ flex: 1;
1523
1602
  }
1524
1603
 
1525
- .AutocompleteSelect.inline-multiple > .label {
1526
- top: -12px;
1604
+ .Snackbar .action {
1605
+ text-transform: uppercase;
1606
+ font-weight: bold;
1607
+ margin-left: 48px;
1608
+ color: #bf3727;
1527
1609
  }
1528
1610
 
1529
- .AutocompleteSelect.inline-multiple > .selected {
1530
- flex-flow: row wrap;
1611
+ .Snackbar .action a {
1612
+ text-decoration: none;
1613
+ color: #bf3727;
1531
1614
  }
1532
1615
 
1533
- .AutocompleteSelect.multiple-mini-inline {
1534
- height: 42px;
1616
+ .ScrollableTable .Scrollable .scrollbar {
1617
+ top: 56px;
1535
1618
  }
1536
1619
 
1537
- .AutocompleteSelect.multiple-mini-inline > .label {
1538
- cursor: pointer;
1539
- width: 100%;
1540
- margin-left: -10px;
1541
- padding: 10px;
1542
- box-sizing: border-box;
1543
- top: 0;
1620
+ .ScrollableTable .Table {
1621
+ position: static;
1544
1622
  }
1545
1623
 
1546
- .AutocompleteSelect.multiple-mini-inline > .label.active {
1547
- padding: 0 10px;
1624
+ .TextField {
1625
+ position: relative;
1626
+ width: 100%;
1548
1627
  }
1549
1628
 
1550
- .AutocompleteSelect.multiple-mini-inline > .selected {
1551
- width: 250px;
1629
+ .TextField > label {
1630
+ font-family: Roboto, sans-serif;
1631
+ color: rgba(0, 0, 0, 0.3);
1632
+ font-size: 16px;
1633
+ position: absolute;
1634
+ left: 0px;
1635
+ top: 16px;
1636
+ margin-top: -16px;
1637
+ transition: all 0.2s ease;
1638
+ user-select: none;
1639
+ cursor: text;
1552
1640
  }
1553
1641
 
1554
- .AutocompleteSelect.multiple-mini-inline > .input {
1555
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1556
- position: absolute;
1557
- top: 38px;
1558
- z-index: 2;
1559
- background-color: white;
1560
- min-width: 130%;
1561
- }
1562
-
1563
- .AutocompleteSelect.multiple-mini-inline > .input .TextField {
1564
- padding-left: 10px;
1565
- padding-right: 10px;
1642
+ .TextField > input {
1643
+ font-family: Roboto, sans-serif;
1644
+ color: #1e252d;
1645
+ height: 19px;
1646
+ font-size: 16px;
1566
1647
  width: 100%;
1567
- box-sizing: border-box;
1568
- }
1569
-
1570
- .AutocompleteSelect.multiple-mini-inline > .input.hidden {
1571
- opacity: 0;
1572
- visibility: hidden;
1648
+ border: 0px;
1649
+ padding-bottom: 4px;
1650
+ padding-top: 0;
1651
+ outline-color: rgba(0, 0, 0, 0);
1573
1652
  }
1574
1653
 
1575
- .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
1576
- margin-top: 0;
1654
+ .TextField > input:focus {
1655
+ outline: none;
1577
1656
  }
1578
1657
 
1579
- .AutocompleteSelect .TextField {
1580
- margin-top: 8px;
1658
+ .TextField > input:disabled {
1659
+ color: gray;
1660
+ background-color: white;
1581
1661
  }
1582
1662
 
1583
- .AutocompleteSelect .TextField input {
1584
- font-size: 14px;
1663
+ .TextField > input:disabled + .border {
1664
+ height: 0px;
1665
+ border-bottom: 2px dotted #e0e0e0;
1585
1666
  }
1586
1667
 
1587
- .AutocompleteSelect > .label {
1588
- position: absolute;
1589
- transition: all 0.2s ease;
1668
+ .TextField > input::placeholder {
1590
1669
  font-family: Roboto, sans-serif;
1591
- font-size: 14px;
1592
- color: rgba(0, 0, 0, 0.5);
1593
- z-index: 1;
1594
- cursor: text;
1595
- user-select: none;
1596
- left: 4px;
1597
- top: 12px;
1598
- }
1599
-
1600
- .AutocompleteSelect > .label.active {
1601
- font-size: 10px;
1602
- top: 2px;
1670
+ color: rgba(0, 0, 0, 0.3);
1671
+ opacity: 1;
1603
1672
  }
1604
1673
 
1605
- .AutocompleteSelect > .label.active .arrow {
1606
- border-width: 4px 4px 0 4px;
1607
- margin-bottom: 1px;
1674
+ .TextField > .border {
1675
+ border-bottom: 1px solid #e0e0e0;
1676
+ height: 1px;
1677
+ position: relative;
1608
1678
  }
1609
1679
 
1610
- .AutocompleteSelect > .label .arrow {
1680
+ .TextField > .border .line {
1681
+ left: 50%;
1611
1682
  width: 0;
1612
- height: 0;
1613
- border-style: solid;
1614
- border-width: 5px 5px 0 5px;
1615
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1616
- display: inline-block;
1617
- margin-left: 5px;
1618
- margin-bottom: 2px;
1683
+ height: 2px;
1684
+ min-height: 2px;
1685
+ background-color: #00bcd4;
1619
1686
  transition: all 0.2s ease;
1620
- }
1621
-
1622
- .AutocompleteSelect > .selected {
1623
- margin-top: 8px;
1624
- display: flex;
1625
- cursor: pointer;
1626
- }
1627
-
1628
- .AutocompleteSelect > .selected > .reset {
1629
- min-width: 36px;
1630
- max-width: 36px;
1631
1687
  position: absolute;
1632
- right: 0;
1633
- top: 0;
1634
- background-color: white;
1635
1688
  }
1636
1689
 
1637
- .AutocompleteSelect > .selected > .reset .material-icons {
1638
- margin: 0;
1639
- color: #BFBFBF;
1640
- font-size: 20px;
1641
- }
1642
-
1643
- .AutocompleteSelect > .selected.nolabel {
1644
- margin-top: 0px;
1645
- border-bottom: 1px solid #e5e3e3;
1646
- }
1647
-
1648
- .AutocompleteSelect > .selected.nolabel .DummyChild {
1649
- display: inline-flex;
1650
- align-items: center;
1651
- flex-grow: 1;
1652
- font-size: 16px;
1653
- margin: 0px 10px;
1654
- margin-bottom: 5px;
1655
- height: 19px;
1690
+ .TextField > .error {
1691
+ text-align: left;
1692
+ font-size: 10px;
1693
+ min-height: 0;
1694
+ line-height: 14px;
1695
+ color: #f44336;
1696
+ visibility: hidden;
1697
+ opacity: 0;
1698
+ transition: all 0.2s ease;
1656
1699
  }
1657
1700
 
1658
- .AutocompleteSelect > .selected.nolabel .arrow {
1659
- width: 0;
1660
- height: 0;
1661
- border-style: solid;
1662
- border-width: 5px 5px 0 5px;
1663
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1664
- display: inline-block;
1665
- transition: all 0.2s ease;
1666
- margin: 0px 17px 3px 5px;
1701
+ .TextField.focused > label, .TextField.withValue > label {
1702
+ top: 4px;
1703
+ font-size: 12px;
1704
+ line-height: 14px;
1667
1705
  }
1668
1706
 
1669
- .AutocompleteSelect > .selected.inline {
1670
- font-size: 14px;
1671
- font-family: Roboto, sans-serif;
1672
- color: #1e252d;
1673
- text-overflow: ellipsis;
1674
- white-space: nowrap;
1675
- overflow: hidden;
1676
- display: flex;
1677
- align-items: center;
1707
+ .TextField.errored > .error {
1708
+ visibility: visible;
1709
+ opacity: 1;
1678
1710
  }
1679
1711
 
1680
- .AutocompleteSelect > .selected.clickable {
1681
- overflow: hidden;
1682
- cursor: pointer;
1683
- padding: 10px;
1684
- margin-left: -10px;
1685
- margin-right: -10px;
1712
+ .TextField.errored > .border {
1713
+ border-bottom-color: #f44336;
1686
1714
  }
1687
1715
 
1688
- .AutocompleteSelect.inlineSelected {
1689
- flex-flow: row wrap;
1690
- justify-content: flex-start;
1716
+ .TextField.errored > label {
1717
+ color: #f44336;
1691
1718
  }
1692
1719
 
1693
- .AutocompleteSelect.inlineSelected.hasSelected {
1694
- padding-top: 7px;
1720
+ .TextField.focused > label {
1721
+ color: #00bcd4;
1695
1722
  }
1696
1723
 
1697
- .AutocompleteSelect.inlineSelected > .label {
1724
+ .TextField.focused > .border .line {
1725
+ left: 0;
1698
1726
  width: 100%;
1699
- height: 100%;
1700
1727
  }
1701
1728
 
1702
- .AutocompleteSelect.inlineSelected > .label.active {
1703
- z-index: 0;
1729
+ .TextField.disabled label, .TextField.disabled input {
1730
+ cursor: not-allowed;
1704
1731
  }
1705
1732
 
1706
- .AutocompleteSelect.inlineSelected .input {
1707
- width: unset;
1708
- flex-basis: 50px;
1709
- flex-grow: 1;
1733
+ .TextField.withLabel {
1734
+ margin-top: 15px;
1710
1735
  }
1711
1736
 
1712
- .AutocompleteSelect.inlineSelected .input::after {
1713
- content: attr(data-value);
1737
+ .TextField input::-webkit-contacts-auto-fill-button {
1714
1738
  visibility: hidden;
1715
- white-space: pre;
1716
- font: inherit;
1717
- min-width: 2px;
1718
- border: 0;
1719
- margin: 0;
1720
- outline: 0;
1721
- float: left;
1722
- display: inline-block;
1723
- margin-top: -24px;
1724
- font-size: 14px;
1725
- padding: 2px;
1739
+ display: none !important;
1740
+ pointer-events: none;
1741
+ position: absolute;
1742
+ right: 0;
1726
1743
  }
1727
1744
 
1728
- .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
1729
- margin-top: 7px;
1745
+ .TextField input:-webkit-autofill {
1746
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1730
1747
  }
1731
1748
 
1732
- .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
1733
- cursor: pointer;
1734
- margin: 5px 10px 5px 0px;
1735
- display: inline-flex;
1736
- flex-flow: row wrap;
1737
- height: 30px;
1738
- align-items: center;
1739
- background-color: #f0f0f0;
1740
- border-radius: 30px;
1741
- position: relative;
1742
- font-family: Roboto, sans-serif;
1743
- font-size: 14px;
1744
- color: #1e252d;
1749
+ @keyframes shake {
1750
+ 0%, 100% {
1751
+ transform: translateX(0);
1752
+ }
1753
+ 20%, 60% {
1754
+ transform: translateX(-5px);
1755
+ }
1756
+ 40%, 80% {
1757
+ transform: translateX(5px);
1758
+ }
1759
+ }
1760
+ .TextField .shake {
1761
+ animation-duration: 0.5s;
1762
+ animation-fill-mode: both;
1763
+ animation-timing-function: ease-in-out;
1764
+ animation-name: shake;
1745
1765
  }
1746
1766
 
1747
- .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
1748
- padding-left: 35px;
1749
- padding-right: 10px;
1767
+ .DNDContainer .DroppableList .Draggable {
1768
+ transform: unset;
1769
+ transition: unset;
1770
+ opacity: 1;
1750
1771
  }
1751
1772
 
1752
- .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
1753
- cursor: pointer;
1754
- min-width: 30px;
1755
- width: 30px;
1756
- height: 30px;
1757
- opacity: 0;
1758
- position: absolute;
1759
- top: 0px;
1760
- left: 0px;
1761
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1762
- background-color: deepskyblue;
1763
- color: white;
1764
- border-radius: 30px;
1765
- display: flex;
1766
- flex-flow: row;
1767
- justify-content: center;
1768
- align-items: center;
1769
- animation: anticlockwise 0.15s linear;
1773
+ .DNDContainer .DroppableList .Draggable.dragged {
1774
+ transition: unset !important;
1770
1775
  }
1771
1776
 
1772
- .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
1773
- font-size: 22px;
1777
+ .DNDContainer .DroppableList.hover .Draggable {
1778
+ transition: transform 0.2s ease-in;
1774
1779
  }
1775
1780
 
1776
- .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
1777
- width: 30px;
1778
- height: 30px;
1779
- opacity: 1;
1780
- animation: clockwise 0.15s linear;
1781
- overflow: hidden;
1782
- position: absolute;
1781
+ .DNDContainer .DroppableList.resetting .Draggable {
1782
+ transition: transform 0.1s ease-in;
1783
1783
  }