react-ui-basics 0.0.165 → 0.0.168

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,3 +1,115 @@
1
+ .Checkbox {
2
+ position: relative;
3
+ white-space: pre;
4
+ }
5
+
6
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .Checkbox label {
11
+ font-family: Roboto, sans-serif;
12
+ font-size: 14px;
13
+ color: #1e252d;
14
+ cursor: pointer;
15
+ }
16
+
17
+ .Checkbox label:before, .Checkbox label:after {
18
+ content: "";
19
+ position: absolute;
20
+ left: 0;
21
+ top: 0;
22
+ }
23
+
24
+ .Checkbox label:before {
25
+ width: 20px;
26
+ height: 20px;
27
+ background: #fff;
28
+ border: 2px solid #252525;
29
+ border-radius: 2px;
30
+ cursor: pointer;
31
+ transition: background 0.3s;
32
+ }
33
+
34
+ .Checkbox input[type=checkbox] {
35
+ outline: 0;
36
+ margin-right: 10px;
37
+ visibility: hidden;
38
+ }
39
+
40
+ .Checkbox input[type=checkbox]:checked + label:before {
41
+ background: #4AC263;
42
+ border: none;
43
+ }
44
+
45
+ .Checkbox input[type=checkbox]:checked + label:after {
46
+ transform: rotate(-45deg);
47
+ top: 6px;
48
+ left: 4px;
49
+ width: 12px;
50
+ height: 6px;
51
+ border: 2px solid #fff;
52
+ border-top-style: none;
53
+ border-right-style: none;
54
+ }
55
+
56
+ .Checkbox input[type=checkbox]:disabled + label {
57
+ color: gray;
58
+ }
59
+
60
+ .Checkbox input[type=checkbox]:disabled + label:before {
61
+ border-color: rgba(0, 0, 0, 0.26);
62
+ }
63
+
64
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
65
+ background: rgba(0, 0, 0, 0.26);
66
+ }
67
+
68
+ .CircleProgress {
69
+ width: 48px;
70
+ height: 48px;
71
+ }
72
+
73
+ .CircleProgress .line {
74
+ stroke-width: 2px;
75
+ stroke: black;
76
+ stroke-linecap: square;
77
+ fill: none;
78
+ transition: stroke-dashoffset 0.2s ease;
79
+ }
80
+
81
+ .DNDContainer {
82
+ position: relative;
83
+ }
84
+
85
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
86
+ cursor: pointer;
87
+ }
88
+
89
+ .DNDContainer .Draggable.placeholder {
90
+ opacity: 0.2;
91
+ }
92
+
93
+ .DNDContainer .Draggable.copy {
94
+ position: absolute;
95
+ box-sizing: border-box;
96
+ will-change: transform;
97
+ opacity: 0;
98
+ }
99
+
100
+ .DNDContainer .Draggable.dragged {
101
+ z-index: 10;
102
+ }
103
+
104
+ .DNDContainer .overlay {
105
+ position: absolute;
106
+ top: 0;
107
+ left: 0;
108
+ right: 0;
109
+ bottom: 0;
110
+ pointer-events: none;
111
+ }
112
+
1
113
  .Button {
2
114
  position: relative;
3
115
  min-width: 64px;
@@ -163,395 +275,217 @@
163
275
  border: 0;
164
276
  }
165
277
 
166
- .AutocompleteSelect {
278
+ .Switch {
167
279
  display: inline-flex;
168
- flex-flow: column;
169
- justify-content: center;
170
- position: relative;
171
- min-width: 250px;
172
- min-height: 36px;
173
- user-select: none;
280
+ padding-top: 5px;
174
281
  }
175
282
 
176
- @keyframes clockwise {
177
- 0% {
178
- -webkit-transform: rotate(-90deg);
179
- }
180
- 100% {
181
- -webkit-transform: translateX(0px);
182
- }
183
- }
184
- @keyframes anticlockwise {
185
- 0% {
186
- -webkit-transform: rotate(90deg);
187
- }
188
- 100% {
189
- -webkit-transform: translateX(0px);
190
- }
283
+ .Switch .switch-input {
284
+ display: none;
191
285
  }
192
- .AutocompleteSelect > .input {
193
- width: 100%;
286
+
287
+ .Switch .switch-label {
288
+ position: relative;
289
+ display: inline-flex;
290
+ align-items: center;
291
+ min-width: 38px;
292
+ height: 24px;
293
+ cursor: pointer;
294
+ font-weight: 500;
295
+ text-align: left;
296
+ user-select: none;
297
+ margin: 0;
298
+ padding: 0;
299
+ padding-left: 44px;
300
+ box-sizing: border-box;
194
301
  }
195
302
 
196
- .AutocompleteSelect .Scrollable {
197
- padding-right: 0;
198
- min-width: 100%;
303
+ .Switch .switch-label:before, .Switch .switch-label:after {
304
+ content: "";
305
+ box-sizing: border-box;
306
+ position: absolute;
307
+ margin: 0;
308
+ outline: 0;
309
+ top: 50%;
310
+ transform: translate(0, -50%);
311
+ transition: all 0.3s ease;
199
312
  }
200
313
 
201
- .AutocompleteSelect.inline-multiple > .label {
202
- top: -12px;
314
+ .Switch .switch-label:before {
315
+ left: 1px;
316
+ width: 34px;
317
+ height: 14px;
318
+ background-color: #9E9E9E;
319
+ border-radius: 8px;
203
320
  }
204
321
 
205
- .AutocompleteSelect.inline-multiple > .selected {
206
- flex-flow: row wrap;
322
+ .Switch .switch-label:after {
323
+ left: 0;
324
+ width: 20px;
325
+ height: 20px;
326
+ background-color: #FAFAFA;
327
+ border-radius: 50%;
328
+ 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);
207
329
  }
208
330
 
209
- .AutocompleteSelect.multiple-mini-inline {
210
- height: 42px;
331
+ .Switch .switch-label .toggle--on {
332
+ display: none;
211
333
  }
212
334
 
213
- .AutocompleteSelect.multiple-mini-inline > .label {
214
- cursor: pointer;
215
- width: 100%;
216
- margin-left: -10px;
217
- padding: 10px;
218
- box-sizing: border-box;
219
- top: 0;
335
+ .Switch .switch-label .toggle--off {
336
+ display: inline-block;
220
337
  }
221
338
 
222
- .AutocompleteSelect.multiple-mini-inline > .label.active {
223
- padding: 0 10px;
339
+ .Switch .switch-label .label {
340
+ margin-right: 5px;
224
341
  }
225
342
 
226
- .AutocompleteSelect.multiple-mini-inline > .selected {
227
- width: 250px;
343
+ .Switch .switch-input:checked + .switch-label:before {
344
+ background-color: #A5D6A7;
228
345
  }
229
346
 
230
- .AutocompleteSelect.multiple-mini-inline > .input {
231
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
232
- position: absolute;
233
- top: 38px;
234
- z-index: 2;
235
- background-color: white;
236
- min-width: 130%;
347
+ .Switch .switch-input:checked + .switch-label:after {
348
+ background-color: #4CAF50;
349
+ transform: translate(80%, -50%);
237
350
  }
238
351
 
239
- .AutocompleteSelect.multiple-mini-inline > .input .TextField {
240
- padding-left: 10px;
241
- padding-right: 10px;
242
- width: 100%;
243
- box-sizing: border-box;
352
+ .Switch .switch-input:checked + .switch-label .toggle--on {
353
+ display: inline-block;
244
354
  }
245
355
 
246
- .AutocompleteSelect.multiple-mini-inline > .input.hidden {
247
- opacity: 0;
248
- visibility: hidden;
356
+ .Switch .switch-input:checked + .switch-label .toggle--off {
357
+ display: none;
249
358
  }
250
359
 
251
- .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
252
- margin-top: 0;
360
+ .Modal {
361
+ display: block;
362
+ position: fixed;
363
+ top: 0;
364
+ left: 0;
365
+ right: 0;
366
+ bottom: 100%;
367
+ overflow-y: scroll;
368
+ transition: bottom 0ms linear;
369
+ transition-delay: 0.2s;
253
370
  }
254
371
 
255
- .AutocompleteSelect .TextField {
256
- margin-top: 8px;
372
+ .Modal.show {
373
+ transition-delay: 0s;
374
+ bottom: 0;
257
375
  }
258
376
 
259
- .AutocompleteSelect .TextField input {
260
- font-size: 14px;
377
+ .Modal > .overlay {
378
+ position: fixed;
379
+ top: 0;
380
+ bottom: 100%;
381
+ left: 0;
382
+ right: 0;
383
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
384
+ opacity: 0;
385
+ background-color: black;
386
+ pointer-events: none;
261
387
  }
262
388
 
263
- .AutocompleteSelect > .label {
264
- position: absolute;
265
- transition: all 0.2s ease;
266
- font-family: Roboto, sans-serif;
267
- font-size: 14px;
268
- color: rgba(0, 0, 0, 0.5);
269
- z-index: 1;
270
- cursor: text;
271
- user-select: none;
272
- left: 4px;
273
- top: 12px;
274
- }
275
-
276
- .AutocompleteSelect > .label.active {
277
- font-size: 10px;
278
- top: 2px;
279
- }
280
-
281
- .AutocompleteSelect > .label.active .arrow {
282
- border-width: 4px 4px 0 4px;
283
- margin-bottom: 1px;
284
- }
285
-
286
- .AutocompleteSelect > .label .arrow {
287
- width: 0;
288
- height: 0;
289
- border-style: solid;
290
- border-width: 5px 5px 0 5px;
291
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
292
- display: inline-block;
293
- margin-left: 5px;
294
- margin-bottom: 2px;
295
- transition: all 0.2s ease;
296
- }
297
-
298
- .AutocompleteSelect > .selected {
299
- margin-top: 8px;
300
- display: flex;
301
- cursor: pointer;
302
- }
303
-
304
- .AutocompleteSelect > .selected > .reset {
305
- min-width: 36px;
306
- max-width: 36px;
307
- position: absolute;
308
- right: 0;
309
- top: 0;
310
- background-color: white;
311
- }
312
-
313
- .AutocompleteSelect > .selected > .reset .material-icons {
314
- margin: 0;
315
- color: #BFBFBF;
316
- font-size: 20px;
317
- }
318
-
319
- .AutocompleteSelect > .selected.nolabel {
320
- margin-top: 0px;
321
- border-bottom: 1px solid #e5e3e3;
389
+ .Modal > .overlay.show {
390
+ opacity: 0.5;
391
+ bottom: 0;
322
392
  }
323
393
 
324
- .AutocompleteSelect > .selected.nolabel .DummyChild {
325
- display: inline-flex;
326
- align-items: center;
327
- flex-grow: 1;
394
+ .Modal > .content {
395
+ left: 50%;
396
+ top: 10vh;
397
+ margin-bottom: 10vh;
328
398
  font-size: 16px;
329
- margin: 0px 10px;
330
- margin-bottom: 5px;
331
- height: 19px;
332
- }
333
-
334
- .AutocompleteSelect > .selected.nolabel .arrow {
335
- width: 0;
336
- height: 0;
337
- border-style: solid;
338
- border-width: 5px 5px 0 5px;
339
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
340
- display: inline-block;
341
- transition: all 0.2s ease;
342
- margin: 0px 17px 3px 5px;
343
- }
344
-
345
- .AutocompleteSelect > .selected.inline {
346
- font-size: 14px;
347
- font-family: Roboto, sans-serif;
348
- color: #1e252d;
349
- text-overflow: ellipsis;
350
- white-space: nowrap;
351
- overflow: hidden;
352
- display: flex;
353
- align-items: center;
354
- }
355
-
356
- .AutocompleteSelect > .selected.clickable {
357
- overflow: hidden;
358
- cursor: pointer;
359
- padding: 10px;
360
- margin-left: -10px;
361
- margin-right: -10px;
362
- }
363
-
364
- .AutocompleteSelect.inlineSelected {
365
- flex-flow: row wrap;
366
- justify-content: flex-start;
367
- }
368
-
369
- .AutocompleteSelect.inlineSelected.hasSelected {
370
- padding-top: 7px;
371
- }
372
-
373
- .AutocompleteSelect.inlineSelected > .label {
374
- width: 100%;
375
- height: 100%;
376
- }
377
-
378
- .AutocompleteSelect.inlineSelected > .label.active {
379
- z-index: 0;
380
- }
381
-
382
- .AutocompleteSelect.inlineSelected .input {
383
- width: unset;
384
- flex-basis: 50px;
385
- flex-grow: 1;
386
- }
387
-
388
- .AutocompleteSelect.inlineSelected .input::after {
389
- content: attr(data-value);
390
- visibility: hidden;
391
- white-space: pre;
392
- font: inherit;
393
- min-width: 2px;
394
- border: 0;
395
- margin: 0;
396
- outline: 0;
397
- float: left;
398
- display: inline-block;
399
- margin-top: -24px;
400
- font-size: 14px;
401
- padding: 2px;
399
+ padding: 0;
400
+ opacity: 0;
401
+ transition: opacity 0.25s ease, transform 0.25s ease;
402
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
403
+ transform-origin: top;
404
+ position: absolute;
405
+ border-radius: 2px;
406
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
402
407
  }
403
408
 
404
- .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
405
- margin-top: 7px;
409
+ .Modal > .content.show {
410
+ opacity: 1;
411
+ transform: scaleY(1) translateY(0px) translateX(-50%);
406
412
  }
407
413
 
408
- .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
409
- cursor: pointer;
410
- margin: 5px 10px 5px 0px;
411
- display: inline-flex;
412
- flex-flow: row wrap;
413
- height: 30px;
414
- align-items: center;
415
- background-color: #f0f0f0;
416
- border-radius: 30px;
417
- position: relative;
418
- font-family: Roboto, sans-serif;
419
- font-size: 14px;
420
- color: #1e252d;
414
+ .Modal > .content > .Scrollable {
415
+ overflow: visible;
416
+ max-height: 80vh;
421
417
  }
422
418
 
423
- .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
424
- padding-left: 35px;
425
- padding-right: 10px;
419
+ .Modal > .content > .Scrollable > .viewport {
420
+ min-width: 10px;
421
+ min-height: 10px;
426
422
  }
427
423
 
428
- .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
429
- cursor: pointer;
430
- min-width: 30px;
431
- width: 30px;
432
- height: 30px;
433
- opacity: 0;
424
+ .Modal > .content > .Button.close {
425
+ top: 10px;
426
+ right: 10px;
434
427
  position: absolute;
435
- top: 0px;
436
- left: 0px;
437
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
438
- background-color: deepskyblue;
439
- color: white;
440
- border-radius: 30px;
441
- display: flex;
442
- flex-flow: row;
443
- justify-content: center;
444
- align-items: center;
445
- animation: anticlockwise 0.15s linear;
446
428
  }
447
429
 
448
- .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
449
- font-size: 22px;
450
- }
451
-
452
- .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
453
- width: 30px;
454
- height: 30px;
455
- opacity: 1;
456
- animation: clockwise 0.15s linear;
457
- overflow: hidden;
430
+ .Button.FloatingActionButton {
458
431
  position: absolute;
432
+ right: 16px;
433
+ bottom: 16px;
434
+ width: 56px;
435
+ height: 56px;
436
+ padding: 16px;
437
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
459
438
  }
460
439
 
461
- .DNDContainer {
462
- position: relative;
440
+ .Button.FloatingActionButton.raised {
441
+ 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);
463
442
  }
464
443
 
465
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
466
- cursor: pointer;
444
+ .Button.FloatingActionButton.mini {
445
+ width: 40px;
446
+ height: 40px;
447
+ padding: 8px;
467
448
  }
468
449
 
469
- .DNDContainer .Draggable.placeholder {
470
- opacity: 0.2;
450
+ .Button.FloatingActionButton.hidden {
451
+ bottom: -100px;
471
452
  }
472
453
 
473
- .DNDContainer .Draggable.copy {
454
+ .ModalMenu {
474
455
  position: absolute;
475
- box-sizing: border-box;
476
- will-change: transform;
477
- opacity: 0;
456
+ top: 10px;
457
+ right: 50px;
478
458
  }
479
459
 
480
- .DNDContainer .Draggable.dragged {
481
- z-index: 10;
460
+ .ModalMenu .material-icons {
461
+ color: #818181;
482
462
  }
483
463
 
484
- .DNDContainer .overlay {
464
+ .ModalMenu .Button.animated {
485
465
  position: absolute;
486
- top: 0;
487
- left: 0;
488
- right: 0;
489
- bottom: 0;
490
- pointer-events: none;
491
- }
492
-
493
- .animated {
494
- transition: opacity 250ms ease;
466
+ transition: opacity 150ms ease-in, right 200ms ease-in;
495
467
  opacity: 0;
468
+ right: 0;
469
+ top: 0;
496
470
  }
497
471
 
498
- .animated.mounting, .animated.mounted {
472
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
499
473
  opacity: 1;
500
474
  }
501
475
 
502
- .DialogModal {
503
- overflow: hidden;
504
- }
505
-
506
- .DialogModal .content {
507
- top: 20vh;
508
- }
509
-
510
- .Dialog {
511
- background-color: white;
512
- min-width: 460px;
513
- max-width: 40vw;
514
- padding: 15px;
515
- }
516
-
517
- .Dialog .title {
518
- margin-bottom: 15px;
519
- padding: 20px 50px 0px 30px;
520
- font-size: 1.25rem;
521
- line-height: 2rem;
522
- font-weight: 400;
523
- letter-spacing: 0.0125em;
524
- }
525
-
526
- .Dialog .description {
527
- color: rgba(0, 0, 0, 0.54);
528
- font-size: 1rem;
529
- line-height: 1.5rem;
530
- font-weight: 400;
531
- letter-spacing: 0.03125em;
532
- margin-top: 20px;
533
- padding: 0 24px 24px;
534
- }
535
-
536
- .Dialog > div.row {
537
- margin-bottom: 15px;
538
- }
539
-
540
- .Dialog > div.row:last-child {
541
- margin-bottom: 0;
476
+ .ModalMenu .Button.animated.unmounting {
477
+ transition: opacity 100ms ease-out, right 200ms ease-out;
542
478
  }
543
479
 
544
- .CircleProgress {
545
- width: 48px;
546
- height: 48px;
480
+ .ModalMenu .Button.active {
481
+ background: #EBEBEB;
547
482
  }
548
483
 
549
- .CircleProgress .line {
550
- stroke-width: 2px;
551
- stroke: black;
552
- stroke-linecap: square;
553
- fill: none;
554
- transition: stroke-dashoffset 0.2s ease;
484
+ .ModalMenu .separator {
485
+ height: 24px;
486
+ width: 1px;
487
+ background-color: #D9D9D9;
488
+ margin-left: 4px;
555
489
  }
556
490
 
557
491
  .DropFileInput {
@@ -573,258 +507,197 @@
573
507
  font-size: 14px;
574
508
  color: #7E7E7E;
575
509
  max-width: 100%;
576
- word-break: break-all;
577
- word-break: break-word;
578
- }
579
-
580
- .DropFileInput .Dropzone .icon.withText {
581
- margin-right: 10px;
582
- }
583
-
584
- .Checkbox {
585
- position: relative;
586
- white-space: pre;
587
- }
588
-
589
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
590
- box-sizing: border-box;
591
- }
592
-
593
- .Checkbox label {
594
- font-family: Roboto, sans-serif;
595
- font-size: 14px;
596
- color: #1e252d;
597
- cursor: pointer;
510
+ word-break: break-all;
511
+ word-break: break-word;
598
512
  }
599
513
 
600
- .Checkbox label:before, .Checkbox label:after {
601
- content: "";
602
- position: absolute;
603
- left: 0;
604
- top: 0;
514
+ .DropFileInput .Dropzone .icon.withText {
515
+ margin-right: 10px;
605
516
  }
606
517
 
607
- .Checkbox label:before {
608
- width: 20px;
609
- height: 20px;
610
- background: #fff;
611
- border: 2px solid #252525;
612
- border-radius: 2px;
613
- cursor: pointer;
614
- transition: background 0.3s;
518
+ .TextField {
519
+ position: relative;
520
+ width: 100%;
615
521
  }
616
522
 
617
- .Checkbox input[type=checkbox] {
618
- outline: 0;
619
- margin-right: 10px;
620
- visibility: hidden;
523
+ .TextField > label {
524
+ font-family: Roboto, sans-serif;
525
+ color: rgba(0, 0, 0, 0.3);
526
+ font-size: 16px;
527
+ position: absolute;
528
+ left: 0px;
529
+ top: 16px;
530
+ margin-top: -16px;
531
+ transition: all 0.2s ease;
532
+ user-select: none;
533
+ cursor: text;
621
534
  }
622
535
 
623
- .Checkbox input[type=checkbox]:checked + label:before {
624
- background: #4AC263;
625
- border: none;
536
+ .TextField > input {
537
+ font-family: Roboto, sans-serif;
538
+ color: #1e252d;
539
+ height: 19px;
540
+ font-size: 16px;
541
+ width: 100%;
542
+ border: 0px;
543
+ padding-bottom: 4px;
544
+ padding-top: 0;
545
+ outline-color: rgba(0, 0, 0, 0);
626
546
  }
627
547
 
628
- .Checkbox input[type=checkbox]:checked + label:after {
629
- transform: rotate(-45deg);
630
- top: 6px;
631
- left: 4px;
632
- width: 12px;
633
- height: 6px;
634
- border: 2px solid #fff;
635
- border-top-style: none;
636
- border-right-style: none;
548
+ .TextField > input:focus {
549
+ outline: none;
637
550
  }
638
551
 
639
- .Checkbox input[type=checkbox]:disabled + label {
552
+ .TextField > input:disabled {
640
553
  color: gray;
554
+ background-color: white;
641
555
  }
642
556
 
643
- .Checkbox input[type=checkbox]:disabled + label:before {
644
- border-color: rgba(0, 0, 0, 0.26);
557
+ .TextField > input:disabled + .border {
558
+ height: 0px;
559
+ border-bottom: 2px dotted #e0e0e0;
645
560
  }
646
561
 
647
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
648
- background: rgba(0, 0, 0, 0.26);
562
+ .TextField > input::placeholder {
563
+ font-family: Roboto, sans-serif;
564
+ color: rgba(0, 0, 0, 0.3);
565
+ opacity: 1;
649
566
  }
650
567
 
651
- .Dropzone {
568
+ .TextField > .border {
569
+ border-bottom: 1px solid #e0e0e0;
570
+ height: 1px;
652
571
  position: relative;
653
572
  }
654
573
 
655
- .Dropzone > .overlay {
656
- position: absolute;
657
- left: 0;
658
- right: 0;
659
- top: 0;
660
- bottom: 0;
661
- background-color: #38ADC4;
662
- z-index: 1;
663
- opacity: 0;
574
+ .TextField > .border .line {
575
+ left: 50%;
576
+ width: 0;
577
+ height: 2px;
578
+ min-height: 2px;
579
+ background-color: #00bcd4;
664
580
  transition: all 0.2s ease;
665
- transition-delay: 100ms;
666
- visibility: hidden;
667
- display: flex;
668
- justify-content: center;
669
- align-items: center;
670
- }
671
-
672
- .Dropzone > .overlay .drop {
673
- border-radius: 4px;
674
- border: 1px dashed #FFFFFF;
675
581
  position: absolute;
676
- top: 18px;
677
- left: 18px;
678
- right: 18px;
679
- bottom: 18px;
680
- display: flex;
681
- justify-content: center;
682
- align-items: center;
683
- font-weight: 500;
684
- font-size: 18px;
685
- color: #FFFFFF;
686
582
  }
687
583
 
688
- .Dropzone.dragging > .overlay {
689
- opacity: 0.7;
690
- visibility: visible;
691
- transition-delay: 0s;
692
- }
693
-
694
- .Dropzone.dragging > * {
695
- pointer-events: none;
696
- }
697
-
698
- .Dropzone > input.file {
699
- position: absolute;
700
- left: 0;
701
- right: 0;
702
- top: 0;
703
- bottom: 0;
704
- width: 100%;
705
- height: 100%;
584
+ .TextField > .error {
585
+ text-align: left;
586
+ font-size: 10px;
587
+ min-height: 0;
588
+ line-height: 14px;
589
+ color: #f44336;
590
+ visibility: hidden;
706
591
  opacity: 0;
707
- cursor: pointer;
708
- z-index: 1;
592
+ transition: all 0.2s ease;
709
593
  }
710
594
 
711
- .Button.FloatingActionButton {
712
- position: absolute;
713
- right: 16px;
714
- bottom: 16px;
715
- width: 56px;
716
- height: 56px;
717
- padding: 16px;
718
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
595
+ .TextField.focused > label, .TextField.withValue > label {
596
+ top: 4px;
597
+ font-size: 12px;
598
+ line-height: 14px;
719
599
  }
720
600
 
721
- .Button.FloatingActionButton.raised {
722
- 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);
601
+ .TextField.errored > .error {
602
+ visibility: visible;
603
+ opacity: 1;
723
604
  }
724
605
 
725
- .Button.FloatingActionButton.mini {
726
- width: 40px;
727
- height: 40px;
728
- padding: 8px;
606
+ .TextField.errored > .border {
607
+ border-bottom-color: #f44336;
729
608
  }
730
609
 
731
- .Button.FloatingActionButton.hidden {
732
- bottom: -100px;
610
+ .TextField.errored > label {
611
+ color: #f44336;
733
612
  }
734
613
 
735
- .Scrollable {
736
- max-height: 250px;
737
- max-width: 250px;
738
- padding-right: 5px;
739
- position: relative;
740
- display: flex;
741
- flex-flow: column;
742
- align-items: stretch;
743
- overflow: hidden;
614
+ .TextField.focused > label {
615
+ color: #00bcd4;
744
616
  }
745
617
 
746
- .Scrollable:hover > .scrollbar.auto {
747
- transition-delay: 0s;
748
- opacity: 1;
618
+ .TextField.focused > .border .line {
619
+ left: 0;
620
+ width: 100%;
749
621
  }
750
622
 
751
- .Scrollable .viewport {
752
- overflow-y: scroll;
753
- overflow-x: scroll;
754
- max-height: 100%;
755
- scroll-behavior: smooth;
756
- scrollbar-width: none;
623
+ .TextField.disabled label, .TextField.disabled input {
624
+ cursor: not-allowed;
757
625
  }
758
626
 
759
- .Scrollable .viewport::-webkit-scrollbar {
760
- display: none;
627
+ .TextField.withLabel {
628
+ margin-top: 15px;
761
629
  }
762
630
 
763
- .Scrollable.without-scroll-horizontal {
764
- max-width: unset;
631
+ .TextField input::-webkit-contacts-auto-fill-button {
632
+ visibility: hidden;
633
+ display: none !important;
634
+ pointer-events: none;
635
+ position: absolute;
636
+ right: 0;
765
637
  }
766
638
 
767
- .Scrollable.without-scroll {
768
- padding-right: 0;
769
- max-height: unset;
639
+ .TextField input:-webkit-autofill {
640
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
770
641
  }
771
642
 
772
- .Scrollable.without-scroll > .viewport {
773
- padding-right: 0;
774
- margin-right: 0;
643
+ @keyframes shake {
644
+ 0%, 100% {
645
+ transform: translateX(0);
646
+ }
647
+ 20%, 60% {
648
+ transform: translateX(-5px);
649
+ }
650
+ 40%, 80% {
651
+ transform: translateX(5px);
652
+ }
775
653
  }
776
-
777
- .Scrollable.without-scroll > .scrollbar {
778
- visibility: hidden;
654
+ .TextField .shake {
655
+ animation-duration: 0.5s;
656
+ animation-fill-mode: both;
657
+ animation-timing-function: ease-in-out;
658
+ animation-name: shake;
779
659
  }
780
660
 
781
- .Scrollable .scrollbar {
782
- position: absolute;
783
- right: 0px;
784
- top: 0px;
785
- width: 5px;
786
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
787
- transition-delay: 0.5s;
788
- z-index: 1;
661
+ .DialogModal {
662
+ overflow: hidden;
789
663
  }
790
664
 
791
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
792
- opacity: 0;
665
+ .DialogModal .content {
666
+ top: 20vh;
793
667
  }
794
668
 
795
- .Scrollable .scrollbar .thumb {
796
- background-color: rgba(0, 0, 0, 0.3);
797
- width: 5px;
798
- position: absolute;
799
- right: 0px;
800
- top: 0px;
801
- user-select: none;
802
- will-change: top;
803
- border-radius: 2px;
669
+ .Dialog {
670
+ background-color: white;
671
+ min-width: 460px;
672
+ max-width: 40vw;
673
+ padding: 15px;
804
674
  }
805
675
 
806
- .Scrollable .scrollbar .thumb:hover {
807
- background-color: rgba(0, 0, 0, 0.5);
676
+ .Dialog .title {
677
+ margin-bottom: 15px;
678
+ padding: 20px 50px 0px 30px;
679
+ font-size: 1.25rem;
680
+ line-height: 2rem;
681
+ font-weight: 400;
682
+ letter-spacing: 0.0125em;
808
683
  }
809
684
 
810
- .Scrollable .scrollbar .thumb:active {
811
- background-color: rgba(0, 0, 0, 0.7);
685
+ .Dialog .description {
686
+ color: rgba(0, 0, 0, 0.54);
687
+ font-size: 1rem;
688
+ line-height: 1.5rem;
689
+ font-weight: 400;
690
+ letter-spacing: 0.03125em;
691
+ margin-top: 20px;
692
+ padding: 0 24px 24px;
812
693
  }
813
694
 
814
- .Scrollable .scrollbar.horizontal {
815
- left: 0px;
816
- right: 0px;
817
- height: 5px;
818
- bottom: 0;
819
- width: unset;
820
- top: unset;
695
+ .Dialog > div.row {
696
+ margin-bottom: 15px;
821
697
  }
822
698
 
823
- .Scrollable .scrollbar.horizontal .thumb {
824
- height: 5px;
825
- left: 0px;
826
- bottom: 0px;
827
- will-change: left;
699
+ .Dialog > div.row:last-child {
700
+ margin-bottom: 0;
828
701
  }
829
702
 
830
703
  .ImageGallery {
@@ -1050,53 +923,311 @@
1050
923
  margin-top: -15px;
1051
924
  }
1052
925
 
1053
- .ImageGallery .previews > .arrow.left {
1054
- left: 0;
926
+ .ImageGallery .previews > .arrow.left {
927
+ left: 0;
928
+ }
929
+
930
+ .ImageGallery .previews > .arrow.right {
931
+ right: 0;
932
+ }
933
+
934
+ .ImageGallery .previews > .arrow .material-icons {
935
+ font-size: 24px;
936
+ }
937
+
938
+ .AutocompleteSelect {
939
+ display: inline-flex;
940
+ flex-flow: column;
941
+ justify-content: center;
942
+ position: relative;
943
+ min-width: 250px;
944
+ min-height: 36px;
945
+ user-select: none;
946
+ }
947
+
948
+ @keyframes clockwise {
949
+ 0% {
950
+ -webkit-transform: rotate(-90deg);
951
+ }
952
+ 100% {
953
+ -webkit-transform: translateX(0px);
954
+ }
955
+ }
956
+ @keyframes anticlockwise {
957
+ 0% {
958
+ -webkit-transform: rotate(90deg);
959
+ }
960
+ 100% {
961
+ -webkit-transform: translateX(0px);
962
+ }
963
+ }
964
+ .AutocompleteSelect > .input {
965
+ width: 100%;
966
+ }
967
+
968
+ .AutocompleteSelect .Scrollable {
969
+ padding-right: 0;
970
+ min-width: 100%;
971
+ }
972
+
973
+ .AutocompleteSelect.inline-multiple > .label {
974
+ top: -12px;
975
+ }
976
+
977
+ .AutocompleteSelect.inline-multiple > .selected {
978
+ flex-flow: row wrap;
979
+ }
980
+
981
+ .AutocompleteSelect.multiple-mini-inline {
982
+ height: 42px;
983
+ }
984
+
985
+ .AutocompleteSelect.multiple-mini-inline > .label {
986
+ cursor: pointer;
987
+ width: 100%;
988
+ margin-left: -10px;
989
+ padding: 10px;
990
+ box-sizing: border-box;
991
+ top: 0;
992
+ }
993
+
994
+ .AutocompleteSelect.multiple-mini-inline > .label.active {
995
+ padding: 0 10px;
996
+ }
997
+
998
+ .AutocompleteSelect.multiple-mini-inline > .selected {
999
+ width: 250px;
1000
+ }
1001
+
1002
+ .AutocompleteSelect.multiple-mini-inline > .input {
1003
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1004
+ position: absolute;
1005
+ top: 38px;
1006
+ z-index: 2;
1007
+ background-color: white;
1008
+ min-width: 130%;
1009
+ }
1010
+
1011
+ .AutocompleteSelect.multiple-mini-inline > .input .TextField {
1012
+ padding-left: 10px;
1013
+ padding-right: 10px;
1014
+ width: 100%;
1015
+ box-sizing: border-box;
1016
+ }
1017
+
1018
+ .AutocompleteSelect.multiple-mini-inline > .input.hidden {
1019
+ opacity: 0;
1020
+ visibility: hidden;
1021
+ }
1022
+
1023
+ .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
1024
+ margin-top: 0;
1025
+ }
1026
+
1027
+ .AutocompleteSelect .TextField {
1028
+ margin-top: 8px;
1029
+ }
1030
+
1031
+ .AutocompleteSelect .TextField input {
1032
+ font-size: 14px;
1033
+ }
1034
+
1035
+ .AutocompleteSelect > .label {
1036
+ position: absolute;
1037
+ transition: all 0.2s ease;
1038
+ font-family: Roboto, sans-serif;
1039
+ font-size: 14px;
1040
+ color: rgba(0, 0, 0, 0.5);
1041
+ z-index: 1;
1042
+ cursor: text;
1043
+ user-select: none;
1044
+ left: 4px;
1045
+ top: 12px;
1046
+ }
1047
+
1048
+ .AutocompleteSelect > .label.active {
1049
+ font-size: 10px;
1050
+ top: 2px;
1051
+ }
1052
+
1053
+ .AutocompleteSelect > .label.active .arrow {
1054
+ border-width: 4px 4px 0 4px;
1055
+ margin-bottom: 1px;
1056
+ }
1057
+
1058
+ .AutocompleteSelect > .label .arrow {
1059
+ width: 0;
1060
+ height: 0;
1061
+ border-style: solid;
1062
+ border-width: 5px 5px 0 5px;
1063
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1064
+ display: inline-block;
1065
+ margin-left: 5px;
1066
+ margin-bottom: 2px;
1067
+ transition: all 0.2s ease;
1068
+ }
1069
+
1070
+ .AutocompleteSelect > .selected {
1071
+ margin-top: 8px;
1072
+ display: flex;
1073
+ cursor: pointer;
1074
+ }
1075
+
1076
+ .AutocompleteSelect > .selected > .reset {
1077
+ min-width: 36px;
1078
+ max-width: 36px;
1079
+ position: absolute;
1080
+ right: 0;
1081
+ top: 0;
1082
+ background-color: white;
1083
+ }
1084
+
1085
+ .AutocompleteSelect > .selected > .reset .material-icons {
1086
+ margin: 0;
1087
+ color: #BFBFBF;
1088
+ font-size: 20px;
1089
+ }
1090
+
1091
+ .AutocompleteSelect > .selected.nolabel {
1092
+ margin-top: 0px;
1093
+ border-bottom: 1px solid #e5e3e3;
1094
+ }
1095
+
1096
+ .AutocompleteSelect > .selected.nolabel .DummyChild {
1097
+ display: inline-flex;
1098
+ align-items: center;
1099
+ flex-grow: 1;
1100
+ font-size: 16px;
1101
+ margin: 0px 10px;
1102
+ margin-bottom: 5px;
1103
+ height: 19px;
1104
+ }
1105
+
1106
+ .AutocompleteSelect > .selected.nolabel .arrow {
1107
+ width: 0;
1108
+ height: 0;
1109
+ border-style: solid;
1110
+ border-width: 5px 5px 0 5px;
1111
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
1112
+ display: inline-block;
1113
+ transition: all 0.2s ease;
1114
+ margin: 0px 17px 3px 5px;
1115
+ }
1116
+
1117
+ .AutocompleteSelect > .selected.inline {
1118
+ font-size: 14px;
1119
+ font-family: Roboto, sans-serif;
1120
+ color: #1e252d;
1121
+ text-overflow: ellipsis;
1122
+ white-space: nowrap;
1123
+ overflow: hidden;
1124
+ display: flex;
1125
+ align-items: center;
1126
+ }
1127
+
1128
+ .AutocompleteSelect > .selected.clickable {
1129
+ overflow: hidden;
1130
+ cursor: pointer;
1131
+ padding: 10px;
1132
+ margin-left: -10px;
1133
+ margin-right: -10px;
1134
+ }
1135
+
1136
+ .AutocompleteSelect.inlineSelected {
1137
+ flex-flow: row wrap;
1138
+ justify-content: flex-start;
1139
+ }
1140
+
1141
+ .AutocompleteSelect.inlineSelected.hasSelected {
1142
+ padding-top: 7px;
1143
+ }
1144
+
1145
+ .AutocompleteSelect.inlineSelected > .label {
1146
+ width: 100%;
1147
+ height: 100%;
1055
1148
  }
1056
1149
 
1057
- .ImageGallery .previews > .arrow.right {
1058
- right: 0;
1150
+ .AutocompleteSelect.inlineSelected > .label.active {
1151
+ z-index: 0;
1059
1152
  }
1060
1153
 
1061
- .ImageGallery .previews > .arrow .material-icons {
1062
- font-size: 24px;
1154
+ .AutocompleteSelect.inlineSelected .input {
1155
+ width: unset;
1156
+ flex-basis: 50px;
1157
+ flex-grow: 1;
1063
1158
  }
1064
1159
 
1065
- .ModalMenu {
1066
- position: absolute;
1067
- top: 10px;
1068
- right: 50px;
1160
+ .AutocompleteSelect.inlineSelected .input::after {
1161
+ content: attr(data-value);
1162
+ visibility: hidden;
1163
+ white-space: pre;
1164
+ font: inherit;
1165
+ min-width: 2px;
1166
+ border: 0;
1167
+ margin: 0;
1168
+ outline: 0;
1169
+ float: left;
1170
+ display: inline-block;
1171
+ margin-top: -24px;
1172
+ font-size: 14px;
1173
+ padding: 2px;
1069
1174
  }
1070
1175
 
1071
- .ModalMenu .material-icons {
1072
- color: #818181;
1176
+ .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
1177
+ margin-top: 7px;
1073
1178
  }
1074
1179
 
1075
- .ModalMenu .Button.animated {
1076
- position: absolute;
1077
- transition: opacity 150ms ease-in, right 200ms ease-in;
1078
- opacity: 0;
1079
- right: 0;
1080
- top: 0;
1180
+ .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
1181
+ cursor: pointer;
1182
+ margin: 5px 10px 5px 0px;
1183
+ display: inline-flex;
1184
+ flex-flow: row wrap;
1185
+ height: 30px;
1186
+ align-items: center;
1187
+ background-color: #f0f0f0;
1188
+ border-radius: 30px;
1189
+ position: relative;
1190
+ font-family: Roboto, sans-serif;
1191
+ font-size: 14px;
1192
+ color: #1e252d;
1081
1193
  }
1082
1194
 
1083
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1084
- opacity: 1;
1195
+ .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
1196
+ padding-left: 35px;
1197
+ padding-right: 10px;
1085
1198
  }
1086
1199
 
1087
- .ModalMenu .Button.animated.unmounting {
1088
- transition: opacity 100ms ease-out, right 200ms ease-out;
1200
+ .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
1201
+ cursor: pointer;
1202
+ min-width: 30px;
1203
+ width: 30px;
1204
+ height: 30px;
1205
+ opacity: 0;
1206
+ position: absolute;
1207
+ top: 0px;
1208
+ left: 0px;
1209
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1210
+ background-color: deepskyblue;
1211
+ color: white;
1212
+ border-radius: 30px;
1213
+ display: flex;
1214
+ flex-flow: row;
1215
+ justify-content: center;
1216
+ align-items: center;
1217
+ animation: anticlockwise 0.15s linear;
1089
1218
  }
1090
1219
 
1091
- .ModalMenu .Button.active {
1092
- background: #EBEBEB;
1220
+ .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
1221
+ font-size: 22px;
1093
1222
  }
1094
1223
 
1095
- .ModalMenu .separator {
1096
- height: 24px;
1097
- width: 1px;
1098
- background-color: #D9D9D9;
1099
- margin-left: 4px;
1224
+ .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
1225
+ width: 30px;
1226
+ height: 30px;
1227
+ opacity: 1;
1228
+ animation: clockwise 0.15s linear;
1229
+ overflow: hidden;
1230
+ position: absolute;
1100
1231
  }
1101
1232
 
1102
1233
  .FormUploadProgress {
@@ -1221,88 +1352,6 @@
1221
1352
  stroke-dashoffset: -53px;
1222
1353
  }
1223
1354
  }
1224
- .Switch {
1225
- display: inline-flex;
1226
- padding-top: 5px;
1227
- }
1228
-
1229
- .Switch .switch-input {
1230
- display: none;
1231
- }
1232
-
1233
- .Switch .switch-label {
1234
- position: relative;
1235
- display: inline-flex;
1236
- align-items: center;
1237
- min-width: 38px;
1238
- height: 24px;
1239
- cursor: pointer;
1240
- font-weight: 500;
1241
- text-align: left;
1242
- user-select: none;
1243
- margin: 0;
1244
- padding: 0;
1245
- padding-left: 44px;
1246
- box-sizing: border-box;
1247
- }
1248
-
1249
- .Switch .switch-label:before, .Switch .switch-label:after {
1250
- content: "";
1251
- box-sizing: border-box;
1252
- position: absolute;
1253
- margin: 0;
1254
- outline: 0;
1255
- top: 50%;
1256
- transform: translate(0, -50%);
1257
- transition: all 0.3s ease;
1258
- }
1259
-
1260
- .Switch .switch-label:before {
1261
- left: 1px;
1262
- width: 34px;
1263
- height: 14px;
1264
- background-color: #9E9E9E;
1265
- border-radius: 8px;
1266
- }
1267
-
1268
- .Switch .switch-label:after {
1269
- left: 0;
1270
- width: 20px;
1271
- height: 20px;
1272
- background-color: #FAFAFA;
1273
- border-radius: 50%;
1274
- 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);
1275
- }
1276
-
1277
- .Switch .switch-label .toggle--on {
1278
- display: none;
1279
- }
1280
-
1281
- .Switch .switch-label .toggle--off {
1282
- display: inline-block;
1283
- }
1284
-
1285
- .Switch .switch-label .label {
1286
- margin-right: 5px;
1287
- }
1288
-
1289
- .Switch .switch-input:checked + .switch-label:before {
1290
- background-color: #A5D6A7;
1291
- }
1292
-
1293
- .Switch .switch-input:checked + .switch-label:after {
1294
- background-color: #4CAF50;
1295
- transform: translate(80%, -50%);
1296
- }
1297
-
1298
- .Switch .switch-input:checked + .switch-label .toggle--on {
1299
- display: inline-block;
1300
- }
1301
-
1302
- .Switch .switch-input:checked + .switch-label .toggle--off {
1303
- display: none;
1304
- }
1305
-
1306
1355
  .Snackbar {
1307
1356
  transform: translateX(-50%);
1308
1357
  overflow: hidden;
@@ -1313,252 +1362,194 @@
1313
1362
  max-width: 568px;
1314
1363
  position: fixed;
1315
1364
  bottom: -50px;
1316
- left: 50%;
1317
- display: flex;
1318
- flex-wrap: nowrap;
1319
- align-items: center;
1320
- opacity: 0;
1321
- transition: bottom 0.25s ease, opacity 0.2s ease;
1322
- border-radius: 4px;
1323
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1324
- }
1325
-
1326
- .Snackbar.shown {
1327
- bottom: 15px;
1328
- opacity: 1;
1329
- }
1330
-
1331
- .Snackbar .message {
1332
- overflow: hidden;
1333
- line-height: 1.2em;
1334
- min-height: 1.2em;
1335
- max-height: 2.4em;
1336
- flex: 1;
1337
- }
1338
-
1339
- .Snackbar .action {
1340
- text-transform: uppercase;
1341
- font-weight: bold;
1342
- margin-left: 48px;
1343
- color: #bf3727;
1344
- }
1345
-
1346
- .Snackbar .action a {
1347
- text-decoration: none;
1348
- color: #bf3727;
1349
- }
1350
-
1351
- .TextField {
1352
- position: relative;
1353
- width: 100%;
1354
- }
1355
-
1356
- .TextField > label {
1357
- font-family: Roboto, sans-serif;
1358
- color: rgba(0, 0, 0, 0.3);
1359
- font-size: 16px;
1360
- position: absolute;
1361
- left: 0px;
1362
- top: 16px;
1363
- margin-top: -16px;
1364
- transition: all 0.2s ease;
1365
- user-select: none;
1366
- cursor: text;
1367
- }
1368
-
1369
- .TextField > input {
1370
- font-family: Roboto, sans-serif;
1371
- color: #1e252d;
1372
- height: 19px;
1373
- font-size: 16px;
1374
- width: 100%;
1375
- border: 0px;
1376
- padding-bottom: 4px;
1377
- padding-top: 0;
1378
- outline-color: rgba(0, 0, 0, 0);
1379
- }
1380
-
1381
- .TextField > input:focus {
1382
- outline: none;
1383
- }
1384
-
1385
- .TextField > input:disabled {
1386
- color: gray;
1387
- background-color: white;
1388
- }
1389
-
1390
- .TextField > input:disabled + .border {
1391
- height: 0px;
1392
- border-bottom: 2px dotted #e0e0e0;
1365
+ left: 50%;
1366
+ display: flex;
1367
+ flex-wrap: nowrap;
1368
+ align-items: center;
1369
+ opacity: 0;
1370
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1371
+ border-radius: 4px;
1372
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1393
1373
  }
1394
1374
 
1395
- .TextField > input::placeholder {
1396
- font-family: Roboto, sans-serif;
1397
- color: rgba(0, 0, 0, 0.3);
1375
+ .Snackbar.shown {
1376
+ bottom: 15px;
1398
1377
  opacity: 1;
1399
1378
  }
1400
1379
 
1401
- .TextField > .border {
1402
- border-bottom: 1px solid #e0e0e0;
1403
- height: 1px;
1404
- position: relative;
1380
+ .Snackbar .message {
1381
+ overflow: hidden;
1382
+ line-height: 1.2em;
1383
+ min-height: 1.2em;
1384
+ max-height: 2.4em;
1385
+ flex: 1;
1405
1386
  }
1406
1387
 
1407
- .TextField > .border .line {
1408
- left: 50%;
1409
- width: 0;
1410
- height: 2px;
1411
- min-height: 2px;
1412
- background-color: #00bcd4;
1413
- transition: all 0.2s ease;
1414
- position: absolute;
1388
+ .Snackbar .action {
1389
+ text-transform: uppercase;
1390
+ font-weight: bold;
1391
+ margin-left: 48px;
1392
+ color: #bf3727;
1415
1393
  }
1416
1394
 
1417
- .TextField > .error {
1418
- text-align: left;
1419
- font-size: 10px;
1420
- min-height: 0;
1421
- line-height: 14px;
1422
- color: #f44336;
1423
- visibility: hidden;
1424
- opacity: 0;
1425
- transition: all 0.2s ease;
1395
+ .Snackbar .action a {
1396
+ text-decoration: none;
1397
+ color: #bf3727;
1426
1398
  }
1427
1399
 
1428
- .TextField.focused > label, .TextField.withValue > label {
1429
- top: 4px;
1430
- font-size: 12px;
1431
- line-height: 14px;
1400
+ .Scrollable {
1401
+ max-height: 250px;
1402
+ max-width: 250px;
1403
+ padding-right: 5px;
1404
+ position: relative;
1405
+ display: flex;
1406
+ flex-flow: column;
1407
+ align-items: stretch;
1408
+ overflow: hidden;
1432
1409
  }
1433
1410
 
1434
- .TextField.errored > .error {
1435
- visibility: visible;
1411
+ .Scrollable:hover > .scrollbar.auto {
1412
+ transition-delay: 0s;
1436
1413
  opacity: 1;
1437
1414
  }
1438
1415
 
1439
- .TextField.errored > .border {
1440
- border-bottom-color: #f44336;
1416
+ .Scrollable .viewport {
1417
+ overflow-y: scroll;
1418
+ overflow-x: scroll;
1419
+ max-height: 100%;
1420
+ scroll-behavior: smooth;
1421
+ scrollbar-width: none;
1441
1422
  }
1442
1423
 
1443
- .TextField.errored > label {
1444
- color: #f44336;
1424
+ .Scrollable .viewport::-webkit-scrollbar {
1425
+ display: none;
1445
1426
  }
1446
1427
 
1447
- .TextField.focused > label {
1448
- color: #00bcd4;
1428
+ .Scrollable.without-scroll-horizontal {
1429
+ max-width: unset;
1449
1430
  }
1450
1431
 
1451
- .TextField.focused > .border .line {
1452
- left: 0;
1453
- width: 100%;
1432
+ .Scrollable.without-scroll {
1433
+ padding-right: 0;
1434
+ max-height: unset;
1454
1435
  }
1455
1436
 
1456
- .TextField.disabled label, .TextField.disabled input {
1457
- cursor: not-allowed;
1437
+ .Scrollable.without-scroll > .viewport {
1438
+ padding-right: 0;
1439
+ margin-right: 0;
1458
1440
  }
1459
1441
 
1460
- .TextField.withLabel {
1461
- margin-top: 15px;
1442
+ .Scrollable.without-scroll > .scrollbar {
1443
+ visibility: hidden;
1462
1444
  }
1463
1445
 
1464
- .TextField input::-webkit-contacts-auto-fill-button {
1465
- visibility: hidden;
1466
- display: none !important;
1467
- pointer-events: none;
1446
+ .Scrollable .scrollbar {
1468
1447
  position: absolute;
1469
- right: 0;
1448
+ right: 0px;
1449
+ top: 0px;
1450
+ width: 5px;
1451
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1452
+ transition-delay: 0.5s;
1453
+ z-index: 1;
1470
1454
  }
1471
1455
 
1472
- .TextField input:-webkit-autofill {
1473
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1456
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1457
+ opacity: 0;
1474
1458
  }
1475
1459
 
1476
- @keyframes shake {
1477
- 0%, 100% {
1478
- transform: translateX(0);
1479
- }
1480
- 20%, 60% {
1481
- transform: translateX(-5px);
1482
- }
1483
- 40%, 80% {
1484
- transform: translateX(5px);
1485
- }
1460
+ .Scrollable .scrollbar .thumb {
1461
+ background-color: rgba(0, 0, 0, 0.3);
1462
+ width: 5px;
1463
+ position: absolute;
1464
+ right: 0px;
1465
+ top: 0px;
1466
+ user-select: none;
1467
+ will-change: top;
1468
+ border-radius: 2px;
1486
1469
  }
1487
- .TextField .shake {
1488
- animation-duration: 0.5s;
1489
- animation-fill-mode: both;
1490
- animation-timing-function: ease-in-out;
1491
- animation-name: shake;
1470
+
1471
+ .Scrollable .scrollbar .thumb:hover {
1472
+ background-color: rgba(0, 0, 0, 0.5);
1492
1473
  }
1493
1474
 
1494
- .Modal {
1495
- display: block;
1496
- position: fixed;
1497
- top: 0;
1498
- left: 0;
1499
- right: 0;
1500
- bottom: 100%;
1501
- overflow-y: scroll;
1502
- transition: bottom 0ms linear;
1503
- transition-delay: 0.2s;
1475
+ .Scrollable .scrollbar .thumb:active {
1476
+ background-color: rgba(0, 0, 0, 0.7);
1504
1477
  }
1505
1478
 
1506
- .Modal.show {
1507
- transition-delay: 0s;
1479
+ .Scrollable .scrollbar.horizontal {
1480
+ left: 0px;
1481
+ right: 0px;
1482
+ height: 5px;
1508
1483
  bottom: 0;
1484
+ width: unset;
1485
+ top: unset;
1509
1486
  }
1510
1487
 
1511
- .Modal > .overlay {
1512
- position: fixed;
1513
- top: 0;
1514
- bottom: 100%;
1515
- left: 0;
1516
- right: 0;
1517
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1518
- opacity: 0;
1519
- background-color: black;
1520
- pointer-events: none;
1488
+ .Scrollable .scrollbar.horizontal .thumb {
1489
+ height: 5px;
1490
+ left: 0px;
1491
+ bottom: 0px;
1492
+ will-change: left;
1521
1493
  }
1522
1494
 
1523
- .Modal > .overlay.show {
1524
- opacity: 0.5;
1525
- bottom: 0;
1495
+ .Dropzone {
1496
+ position: relative;
1526
1497
  }
1527
1498
 
1528
- .Modal > .content {
1529
- left: 50%;
1530
- top: 10vh;
1531
- margin-bottom: 10vh;
1532
- font-size: 16px;
1533
- padding: 0;
1534
- opacity: 0;
1535
- transition: opacity 0.25s ease, transform 0.25s ease;
1536
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1537
- transform-origin: top;
1499
+ .Dropzone > .overlay {
1538
1500
  position: absolute;
1539
- border-radius: 2px;
1540
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1501
+ left: 0;
1502
+ right: 0;
1503
+ top: 0;
1504
+ bottom: 0;
1505
+ background-color: #38ADC4;
1506
+ z-index: 1;
1507
+ opacity: 0;
1508
+ transition: all 0.2s ease;
1509
+ transition-delay: 100ms;
1510
+ visibility: hidden;
1511
+ display: flex;
1512
+ justify-content: center;
1513
+ align-items: center;
1541
1514
  }
1542
1515
 
1543
- .Modal > .content.show {
1544
- opacity: 1;
1545
- transform: scaleY(1) translateY(0px) translateX(-50%);
1516
+ .Dropzone > .overlay .drop {
1517
+ border-radius: 4px;
1518
+ border: 1px dashed #FFFFFF;
1519
+ position: absolute;
1520
+ top: 18px;
1521
+ left: 18px;
1522
+ right: 18px;
1523
+ bottom: 18px;
1524
+ display: flex;
1525
+ justify-content: center;
1526
+ align-items: center;
1527
+ font-weight: 500;
1528
+ font-size: 18px;
1529
+ color: #FFFFFF;
1546
1530
  }
1547
1531
 
1548
- .Modal > .content > .Scrollable {
1549
- overflow: visible;
1550
- max-height: 80vh;
1532
+ .Dropzone.dragging > .overlay {
1533
+ opacity: 0.7;
1534
+ visibility: visible;
1535
+ transition-delay: 0s;
1551
1536
  }
1552
1537
 
1553
- .Modal > .content > .Scrollable > .viewport {
1554
- min-width: 10px;
1555
- min-height: 10px;
1538
+ .Dropzone.dragging > * {
1539
+ pointer-events: none;
1556
1540
  }
1557
1541
 
1558
- .Modal > .content > .Button.close {
1559
- top: 10px;
1560
- right: 10px;
1542
+ .Dropzone > input.file {
1561
1543
  position: absolute;
1544
+ left: 0;
1545
+ right: 0;
1546
+ top: 0;
1547
+ bottom: 0;
1548
+ width: 100%;
1549
+ height: 100%;
1550
+ opacity: 0;
1551
+ cursor: pointer;
1552
+ z-index: 1;
1562
1553
  }
1563
1554
 
1564
1555
  .DNDContainer .DroppableList .Draggable {
@@ -1579,6 +1570,15 @@
1579
1570
  transition: transform 0.1s ease-in;
1580
1571
  }
1581
1572
 
1573
+ .animated {
1574
+ transition: opacity 250ms ease;
1575
+ opacity: 0;
1576
+ }
1577
+
1578
+ .animated.mounting, .animated.mounted {
1579
+ opacity: 1;
1580
+ }
1581
+
1582
1582
  .FilteredList {
1583
1583
  max-height: 250px;
1584
1584
  position: relative;