react-ui-basics 0.0.170 → 0.0.173

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