react-ui-basics 0.0.152 → 0.0.155

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