react-ui-basics 0.0.173 → 0.0.174

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,12 @@
1
+ .animated {
2
+ transition: opacity 250ms ease;
3
+ opacity: 0;
4
+ }
5
+
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
8
+ }
9
+
1
10
  .Button {
2
11
  position: relative;
3
12
  min-width: 64px;
@@ -164,6 +173,73 @@
164
173
  border: 0;
165
174
  }
166
175
 
176
+ .Checkbox {
177
+ position: relative;
178
+ white-space: pre;
179
+ }
180
+
181
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
182
+ box-sizing: border-box;
183
+ }
184
+
185
+ .Checkbox label {
186
+ font-family: Roboto, sans-serif;
187
+ font-size: 14px;
188
+ color: #1e252d;
189
+ cursor: pointer;
190
+ }
191
+
192
+ .Checkbox label:before, .Checkbox label:after {
193
+ content: "";
194
+ position: absolute;
195
+ left: 0;
196
+ top: 0;
197
+ }
198
+
199
+ .Checkbox label:before {
200
+ width: 20px;
201
+ height: 20px;
202
+ background: #fff;
203
+ border: 2px solid #252525;
204
+ border-radius: 2px;
205
+ cursor: pointer;
206
+ transition: background 0.3s;
207
+ }
208
+
209
+ .Checkbox input[type=checkbox] {
210
+ outline: 0;
211
+ margin-right: 10px;
212
+ visibility: hidden;
213
+ }
214
+
215
+ .Checkbox input[type=checkbox]:checked + label:before {
216
+ background: #4AC263;
217
+ border: none;
218
+ }
219
+
220
+ .Checkbox input[type=checkbox]:checked + label:after {
221
+ transform: rotate(-45deg);
222
+ top: 6px;
223
+ left: 4px;
224
+ width: 12px;
225
+ height: 6px;
226
+ border: 2px solid #fff;
227
+ border-top-style: none;
228
+ border-right-style: none;
229
+ }
230
+
231
+ .Checkbox input[type=checkbox]:disabled + label {
232
+ color: gray;
233
+ }
234
+
235
+ .Checkbox input[type=checkbox]:disabled + label:before {
236
+ border-color: rgba(0, 0, 0, 0.26);
237
+ }
238
+
239
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
240
+ background: rgba(0, 0, 0, 0.26);
241
+ }
242
+
167
243
  .AutocompleteSelect {
168
244
  display: inline-flex;
169
245
  flex-flow: column;
@@ -459,233 +535,186 @@
459
535
  position: absolute;
460
536
  }
461
537
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
538
+ .DNDContainer {
539
+ position: relative;
465
540
  }
466
541
 
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
542
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
543
+ cursor: pointer;
469
544
  }
470
545
 
471
- .CircleProgress {
472
- width: 48px;
473
- height: 48px;
546
+ .DNDContainer .Draggable.placeholder {
547
+ opacity: 0.2;
474
548
  }
475
549
 
476
- .CircleProgress .line {
477
- stroke-width: 2px;
478
- stroke: black;
479
- stroke-linecap: square;
480
- fill: none;
481
- transition: stroke-dashoffset 0.2s ease;
550
+ .DNDContainer .Draggable.copy {
551
+ position: absolute;
552
+ box-sizing: border-box;
553
+ will-change: transform;
554
+ opacity: 0;
482
555
  }
483
556
 
484
- .Checkbox {
485
- position: relative;
486
- white-space: pre;
557
+ .DNDContainer .Draggable.dragged {
558
+ z-index: 10;
487
559
  }
488
560
 
489
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
490
- box-sizing: border-box;
561
+ .DNDContainer .overlay {
562
+ position: absolute;
563
+ top: 0;
564
+ left: 0;
565
+ right: 0;
566
+ bottom: 0;
567
+ pointer-events: none;
491
568
  }
492
569
 
493
- .Checkbox label {
494
- font-family: Roboto, sans-serif;
495
- font-size: 14px;
496
- color: #1e252d;
497
- cursor: pointer;
570
+ .DialogModal {
571
+ overflow: hidden;
498
572
  }
499
573
 
500
- .Checkbox label:before, .Checkbox label:after {
501
- content: "";
502
- position: absolute;
503
- left: 0;
504
- top: 0;
574
+ .DialogModal .content {
575
+ top: 20vh;
505
576
  }
506
577
 
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;
578
+ .Dialog {
579
+ background-color: white;
580
+ min-width: 460px;
581
+ max-width: 40vw;
582
+ padding: 15px;
515
583
  }
516
584
 
517
- .Checkbox input[type=checkbox] {
518
- outline: 0;
519
- margin-right: 10px;
520
- visibility: hidden;
585
+ .Dialog .title {
586
+ margin-bottom: 15px;
587
+ padding: 20px 50px 0px 30px;
588
+ font-size: 1.25rem;
589
+ line-height: 2rem;
590
+ font-weight: 400;
591
+ letter-spacing: 0.0125em;
521
592
  }
522
593
 
523
- .Checkbox input[type=checkbox]:checked + label:before {
524
- background: #4AC263;
525
- border: none;
594
+ .Dialog .description {
595
+ color: rgba(0, 0, 0, 0.54);
596
+ font-size: 1rem;
597
+ line-height: 1.5rem;
598
+ font-weight: 400;
599
+ letter-spacing: 0.03125em;
600
+ margin-top: 20px;
601
+ padding: 0 24px 24px;
526
602
  }
527
603
 
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;
604
+ .Dialog > div.row {
605
+ margin-bottom: 15px;
537
606
  }
538
607
 
539
- .Checkbox input[type=checkbox]:disabled + label {
540
- color: gray;
608
+ .Dialog > div.row:last-child {
609
+ margin-bottom: 0;
541
610
  }
542
611
 
543
- .Checkbox input[type=checkbox]:disabled + label:before {
544
- border-color: rgba(0, 0, 0, 0.26);
612
+ .CircleProgress {
613
+ width: 48px;
614
+ height: 48px;
545
615
  }
546
616
 
547
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
548
- background: rgba(0, 0, 0, 0.26);
617
+ .CircleProgress .line {
618
+ stroke-width: 2px;
619
+ stroke: black;
620
+ stroke-linecap: square;
621
+ fill: none;
622
+ transition: stroke-dashoffset 0.2s ease;
549
623
  }
550
624
 
551
- .FilteredList {
625
+ .Scrollable {
552
626
  max-height: 250px;
627
+ max-width: 250px;
628
+ padding-right: 5px;
553
629
  position: relative;
630
+ display: flex;
631
+ flex-flow: column;
632
+ align-items: stretch;
633
+ overflow: hidden;
554
634
  }
555
635
 
556
- .FilteredList.popup {
557
- padding: 0;
558
- visibility: hidden;
559
- position: absolute;
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);
565
- opacity: 0;
566
- border-radius: 2px;
567
- }
568
-
569
- .FilteredList.popup.visible {
636
+ .Scrollable:hover > .scrollbar.auto {
637
+ transition-delay: 0s;
570
638
  opacity: 1;
571
- visibility: visible;
572
639
  }
573
640
 
574
- .FilteredList.inline {
575
- max-height: 225px;
576
- margin-top: 5px;
641
+ .Scrollable .viewport {
642
+ overflow-y: scroll;
643
+ overflow-x: scroll;
644
+ max-height: 100%;
645
+ scroll-behavior: smooth;
646
+ scrollbar-width: none;
577
647
  }
578
648
 
579
- .FilteredList .child {
580
- display: flex;
581
- flex-flow: row nowrap;
582
- align-items: center;
583
- white-space: nowrap;
584
- font-size: 14px;
585
- color: #222222;
586
- height: 30px;
587
- padding: 5px 10px;
588
- padding-right: 15px;
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;
649
+ .Scrollable .viewport::-webkit-scrollbar {
650
+ display: none;
595
651
  }
596
652
 
597
- .FilteredList .child.hidden {
598
- height: 0 !important;
599
- padding: 0 !important;
653
+ .Scrollable.without-scroll-horizontal {
654
+ max-width: unset;
600
655
  }
601
656
 
602
- .FilteredList .child.selected {
603
- background-color: #F0F0F0;
604
- padding-left: 10px;
605
- margin-left: 0px;
657
+ .Scrollable.without-scroll {
658
+ padding-right: 0;
659
+ max-height: unset;
606
660
  }
607
661
 
608
- .FilteredList .child.active {
609
- background-color: #eeeeee;
610
- }
611
-
612
- .FilteredList .child {
613
- margin-top: 8px;
614
- }
615
-
616
- .FilteredList .child.hidden {
617
- margin-top: 0;
618
- }
619
-
620
- .FilteredList .child:not(.hidden) ~ .child {
621
- margin-top: 0;
622
- }
623
-
624
- .FilteredList .child:not(.hidden) ~ .child:last-child {
625
- margin-bottom: 8px;
626
- }
627
-
628
- .FilteredList .child:not(.hidden):last-child {
629
- margin-bottom: 8px;
630
- }
631
-
632
- .DNDContainer {
633
- position: relative;
662
+ .Scrollable.without-scroll > .viewport {
663
+ padding-right: 0;
664
+ margin-right: 0;
634
665
  }
635
666
 
636
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
637
- cursor: pointer;
667
+ .Scrollable.without-scroll > .scrollbar {
668
+ visibility: hidden;
638
669
  }
639
670
 
640
- .DNDContainer .Draggable.placeholder {
641
- opacity: 0.2;
671
+ .Scrollable .scrollbar {
672
+ position: absolute;
673
+ right: 0px;
674
+ top: 0px;
675
+ width: 5px;
676
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
677
+ transition-delay: 0.5s;
678
+ z-index: 1;
642
679
  }
643
680
 
644
- .DNDContainer .Draggable.copy {
645
- position: absolute;
646
- box-sizing: border-box;
647
- will-change: transform;
681
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
648
682
  opacity: 0;
649
683
  }
650
684
 
651
- .DNDContainer .Draggable.dragged {
652
- z-index: 10;
685
+ .Scrollable .scrollbar .thumb {
686
+ background-color: rgba(0, 0, 0, 0.3);
687
+ width: 5px;
688
+ position: absolute;
689
+ right: 0px;
690
+ top: 0px;
691
+ user-select: none;
692
+ will-change: top;
693
+ border-radius: 2px;
653
694
  }
654
695
 
655
- .DNDContainer .overlay {
656
- position: absolute;
657
- top: 0;
658
- left: 0;
659
- right: 0;
660
- bottom: 0;
661
- pointer-events: none;
696
+ .Scrollable .scrollbar .thumb:hover {
697
+ background-color: rgba(0, 0, 0, 0.5);
662
698
  }
663
699
 
664
- .DropFileInput {
665
- flex-grow: 1;
700
+ .Scrollable .scrollbar .thumb:active {
701
+ background-color: rgba(0, 0, 0, 0.7);
666
702
  }
667
703
 
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;
704
+ .Scrollable .scrollbar.horizontal {
705
+ left: 0px;
706
+ right: 0px;
707
+ height: 5px;
708
+ bottom: 0;
709
+ width: unset;
710
+ top: unset;
685
711
  }
686
712
 
687
- .DropFileInput .Dropzone .icon.withText {
688
- margin-right: 10px;
713
+ .Scrollable .scrollbar.horizontal .thumb {
714
+ height: 5px;
715
+ left: 0px;
716
+ bottom: 0px;
717
+ will-change: left;
689
718
  }
690
719
 
691
720
  .Button.FloatingActionButton {
@@ -712,115 +741,31 @@
712
741
  bottom: -100px;
713
742
  }
714
743
 
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;
786
- height: 107px;
787
- top: 0;
788
- left: 0;
789
- }
790
-
791
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
792
- stroke: #2196F3;
744
+ .DropFileInput {
745
+ flex-grow: 1;
793
746
  }
794
747
 
795
- .FormUploadProgress .wrapper > .progress {
796
- width: 107px;
797
- height: 107px;
798
- min-height: 107px;
748
+ .DropFileInput .Dropzone {
749
+ border: 1px dashed #808080;
750
+ padding: 12px;
799
751
  display: flex;
752
+ flex-flow: row nowrap;
800
753
  justify-content: center;
801
754
  align-items: center;
802
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
803
- border-radius: 50%;
804
- background: white;
805
- position: relative;
806
- }
807
-
808
- .FormUploadProgress .wrapper > .progress > .value {
809
- display: inline-block;
810
- margin-top: 5px;
811
- font-weight: bold;
812
- line-height: 16px;
813
- font-size: 13px;
814
- text-align: center;
815
- color: #818181;
755
+ color: gray;
756
+ cursor: pointer;
757
+ border-radius: 3px;
758
+ font-weight: normal;
759
+ line-height: 22px;
760
+ font-size: 14px;
761
+ color: #7E7E7E;
762
+ max-width: 100%;
763
+ word-break: break-all;
764
+ word-break: break-word;
816
765
  }
817
766
 
818
- .FormUploadProgress .wrapper .cancel {
819
- min-width: 107px;
820
- margin-top: 20px;
821
- background-color: white;
822
- color: #F96B5C;
823
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
767
+ .DropFileInput .Dropzone .icon.withText {
768
+ margin-right: 10px;
824
769
  }
825
770
 
826
771
  .ImageGallery {
@@ -1118,41 +1063,118 @@
1118
1063
  z-index: 1;
1119
1064
  }
1120
1065
 
1121
- .ModalMenu {
1122
- position: absolute;
1123
- top: 10px;
1124
- right: 50px;
1066
+ .Snackbar {
1067
+ transform: translateX(-50%);
1068
+ overflow: hidden;
1069
+ background-color: #323232;
1070
+ padding: 14px 24px 14px 24px;
1071
+ color: #fff;
1072
+ min-width: 288px;
1073
+ max-width: 568px;
1074
+ position: fixed;
1075
+ bottom: -50px;
1076
+ left: 50%;
1077
+ display: flex;
1078
+ flex-wrap: nowrap;
1079
+ align-items: center;
1080
+ opacity: 0;
1081
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1082
+ border-radius: 4px;
1083
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1125
1084
  }
1126
1085
 
1127
- .ModalMenu .material-icons {
1128
- color: #818181;
1086
+ .Snackbar.shown {
1087
+ bottom: 15px;
1088
+ opacity: 1;
1129
1089
  }
1130
1090
 
1131
- .ModalMenu .Button.animated {
1132
- position: absolute;
1133
- transition: opacity 150ms ease-in, right 200ms ease-in;
1134
- opacity: 0;
1135
- right: 0;
1136
- top: 0;
1091
+ .Snackbar .message {
1092
+ overflow: hidden;
1093
+ line-height: 1.2em;
1094
+ min-height: 1.2em;
1095
+ max-height: 2.4em;
1096
+ flex: 1;
1137
1097
  }
1138
1098
 
1139
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1140
- opacity: 1;
1099
+ .Snackbar .action {
1100
+ text-transform: uppercase;
1101
+ font-weight: bold;
1102
+ margin-left: 48px;
1103
+ color: #bf3727;
1141
1104
  }
1142
1105
 
1143
- .ModalMenu .Button.animated.unmounting {
1144
- transition: opacity 100ms ease-out, right 200ms ease-out;
1106
+ .Snackbar .action a {
1107
+ text-decoration: none;
1108
+ color: #bf3727;
1145
1109
  }
1146
1110
 
1147
- .ModalMenu .Button.active {
1148
- background: #EBEBEB;
1111
+ .FormUploadProgress {
1112
+ position: absolute;
1113
+ left: 0;
1114
+ right: 0;
1115
+ top: 0;
1116
+ bottom: 0;
1117
+ background-color: rgba(255, 255, 255, 0.6);
1118
+ z-index: 2;
1149
1119
  }
1150
1120
 
1151
- .ModalMenu .separator {
1152
- height: 24px;
1153
- width: 1px;
1154
- background-color: #D9D9D9;
1155
- margin-left: 4px;
1121
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1122
+ transition-delay: 500ms;
1123
+ }
1124
+
1125
+ .FormUploadProgress .wrapper {
1126
+ position: sticky;
1127
+ top: 40%;
1128
+ margin-top: 40%;
1129
+ margin-left: 50%;
1130
+ transform: translateX(-50%);
1131
+ display: flex;
1132
+ flex-flow: column;
1133
+ justify-content: center;
1134
+ align-items: center;
1135
+ }
1136
+
1137
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1138
+ position: absolute;
1139
+ width: 107px;
1140
+ height: 107px;
1141
+ top: 0;
1142
+ left: 0;
1143
+ }
1144
+
1145
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1146
+ stroke: #2196F3;
1147
+ }
1148
+
1149
+ .FormUploadProgress .wrapper > .progress {
1150
+ width: 107px;
1151
+ height: 107px;
1152
+ min-height: 107px;
1153
+ display: flex;
1154
+ justify-content: center;
1155
+ align-items: center;
1156
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1157
+ border-radius: 50%;
1158
+ background: white;
1159
+ position: relative;
1160
+ }
1161
+
1162
+ .FormUploadProgress .wrapper > .progress > .value {
1163
+ display: inline-block;
1164
+ margin-top: 5px;
1165
+ font-weight: bold;
1166
+ line-height: 16px;
1167
+ font-size: 13px;
1168
+ text-align: center;
1169
+ color: #818181;
1170
+ }
1171
+
1172
+ .FormUploadProgress .wrapper .cancel {
1173
+ min-width: 107px;
1174
+ margin-top: 20px;
1175
+ background-color: white;
1176
+ color: #F96B5C;
1177
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1156
1178
  }
1157
1179
 
1158
1180
  .Modal {
@@ -1225,139 +1247,41 @@
1225
1247
  position: absolute;
1226
1248
  }
1227
1249
 
1228
- .SpinningProgress {
1229
- width: 48px;
1230
- height: 48px;
1231
- position: relative;
1232
- margin: 0 auto;
1250
+ .ModalMenu {
1251
+ position: absolute;
1252
+ top: 10px;
1253
+ right: 50px;
1233
1254
  }
1234
1255
 
1235
- .SpinningProgress:before {
1236
- content: "";
1237
- display: block;
1238
- padding-top: 100%;
1256
+ .ModalMenu .material-icons {
1257
+ color: #818181;
1239
1258
  }
1240
1259
 
1241
- .SpinningProgress .circular {
1242
- animation: rotate 2s linear infinite;
1243
- height: 100%;
1244
- transform-origin: center center;
1245
- width: 100%;
1260
+ .ModalMenu .Button.animated {
1246
1261
  position: absolute;
1247
- top: 0;
1248
- bottom: 0;
1249
- left: 0;
1262
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1263
+ opacity: 0;
1250
1264
  right: 0;
1251
- margin: auto;
1265
+ top: 0;
1252
1266
  }
1253
1267
 
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;
1268
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1269
+ opacity: 1;
1260
1270
  }
1261
1271
 
1262
- @keyframes rotate {
1263
- 100% {
1264
- transform: rotate(360deg);
1265
- }
1266
- }
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
- }
1280
- }
1281
- .Switch {
1282
- display: inline-flex;
1283
- padding-top: 5px;
1272
+ .ModalMenu .Button.animated.unmounting {
1273
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1284
1274
  }
1285
1275
 
1286
- .Switch .switch-input {
1287
- display: none;
1276
+ .ModalMenu .Button.active {
1277
+ background: #EBEBEB;
1288
1278
  }
1289
1279
 
1290
- .Switch .switch-label {
1291
- position: relative;
1292
- display: inline-flex;
1293
- align-items: center;
1294
- min-width: 38px;
1280
+ .ModalMenu .separator {
1295
1281
  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;
1304
- }
1305
-
1306
- .Switch .switch-label:before, .Switch .switch-label:after {
1307
- content: "";
1308
- box-sizing: border-box;
1309
- position: absolute;
1310
- margin: 0;
1311
- outline: 0;
1312
- top: 50%;
1313
- transform: translate(0, -50%);
1314
- transition: all 0.3s ease;
1315
- }
1316
-
1317
- .Switch .switch-label:before {
1318
- left: 1px;
1319
- width: 34px;
1320
- height: 14px;
1321
- background-color: #9E9E9E;
1322
- border-radius: 8px;
1323
- }
1324
-
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);
1332
- }
1333
-
1334
- .Switch .switch-label .toggle--on {
1335
- display: none;
1336
- }
1337
-
1338
- .Switch .switch-label .toggle--off {
1339
- display: inline-block;
1340
- }
1341
-
1342
- .Switch .switch-label .label {
1343
- margin-right: 5px;
1344
- }
1345
-
1346
- .Switch .switch-input:checked + .switch-label:before {
1347
- background-color: #A5D6A7;
1348
- }
1349
-
1350
- .Switch .switch-input:checked + .switch-label:after {
1351
- background-color: #4CAF50;
1352
- transform: translate(80%, -50%);
1353
- }
1354
-
1355
- .Switch .switch-input:checked + .switch-label .toggle--on {
1356
- display: inline-block;
1357
- }
1358
-
1359
- .Switch .switch-input:checked + .switch-label .toggle--off {
1360
- display: none;
1282
+ width: 1px;
1283
+ background-color: #D9D9D9;
1284
+ margin-left: 4px;
1361
1285
  }
1362
1286
 
1363
1287
  .TextField {
@@ -1503,162 +1427,238 @@
1503
1427
  animation-name: shake;
1504
1428
  }
1505
1429
 
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;
1430
+ .DNDContainer .DroppableList .Draggable {
1431
+ transform: unset;
1432
+ transition: unset;
1519
1433
  opacity: 1;
1520
1434
  }
1521
1435
 
1522
- .Scrollable .viewport {
1523
- overflow-y: scroll;
1524
- overflow-x: scroll;
1525
- max-height: 100%;
1526
- scroll-behavior: smooth;
1527
- scrollbar-width: none;
1436
+ .DNDContainer .DroppableList .Draggable.dragged {
1437
+ transition: unset !important;
1528
1438
  }
1529
1439
 
1530
- .Scrollable .viewport::-webkit-scrollbar {
1531
- display: none;
1440
+ .DNDContainer .DroppableList.hover .Draggable {
1441
+ transition: transform 0.2s ease-in;
1532
1442
  }
1533
1443
 
1534
- .Scrollable.without-scroll-horizontal {
1535
- max-width: unset;
1444
+ .DNDContainer .DroppableList.resetting .Draggable {
1445
+ transition: transform 0.1s ease-in;
1536
1446
  }
1537
1447
 
1538
- .Scrollable.without-scroll {
1539
- padding-right: 0;
1540
- max-height: unset;
1448
+ .SpinningProgress {
1449
+ width: 48px;
1450
+ height: 48px;
1451
+ position: relative;
1452
+ margin: 0 auto;
1541
1453
  }
1542
1454
 
1543
- .Scrollable.without-scroll > .viewport {
1544
- padding-right: 0;
1545
- margin-right: 0;
1455
+ .SpinningProgress:before {
1456
+ content: "";
1457
+ display: block;
1458
+ padding-top: 100%;
1546
1459
  }
1547
1460
 
1548
- .Scrollable.without-scroll > .scrollbar {
1549
- visibility: hidden;
1461
+ .SpinningProgress .circular {
1462
+ animation: rotate 2s linear infinite;
1463
+ height: 100%;
1464
+ transform-origin: center center;
1465
+ width: 100%;
1466
+ position: absolute;
1467
+ top: 0;
1468
+ bottom: 0;
1469
+ left: 0;
1470
+ right: 0;
1471
+ margin: auto;
1550
1472
  }
1551
1473
 
1552
- .Scrollable .scrollbar {
1553
- position: absolute;
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;
1474
+ .SpinningProgress .line {
1475
+ stroke: black;
1476
+ stroke-width: 2px;
1477
+ stroke-dasharray: 1, 96;
1478
+ stroke-dashoffset: 0;
1479
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1560
1480
  }
1561
1481
 
1562
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1563
- opacity: 0;
1482
+ @keyframes rotate {
1483
+ 100% {
1484
+ transform: rotate(360deg);
1485
+ }
1486
+ }
1487
+ @keyframes dash {
1488
+ 0% {
1489
+ stroke-dasharray: 1, 96;
1490
+ stroke-dashoffset: 0;
1491
+ }
1492
+ 50% {
1493
+ stroke-dasharray: 43, 96;
1494
+ stroke-dashoffset: -17px;
1495
+ }
1496
+ 100% {
1497
+ stroke-dasharray: 43, 96;
1498
+ stroke-dashoffset: -53px;
1499
+ }
1500
+ }
1501
+ .Switch {
1502
+ display: inline-flex;
1503
+ padding-top: 5px;
1564
1504
  }
1565
1505
 
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;
1506
+ .Switch .switch-input {
1507
+ display: none;
1508
+ }
1509
+
1510
+ .Switch .switch-label {
1511
+ position: relative;
1512
+ display: inline-flex;
1513
+ align-items: center;
1514
+ min-width: 38px;
1515
+ height: 24px;
1516
+ cursor: pointer;
1517
+ font-weight: 500;
1518
+ text-align: left;
1572
1519
  user-select: none;
1573
- will-change: top;
1574
- border-radius: 2px;
1520
+ margin: 0;
1521
+ padding: 0;
1522
+ padding-left: 44px;
1523
+ box-sizing: border-box;
1575
1524
  }
1576
1525
 
1577
- .Scrollable .scrollbar .thumb:hover {
1578
- background-color: rgba(0, 0, 0, 0.5);
1526
+ .Switch .switch-label:before, .Switch .switch-label:after {
1527
+ content: "";
1528
+ box-sizing: border-box;
1529
+ position: absolute;
1530
+ margin: 0;
1531
+ outline: 0;
1532
+ top: 50%;
1533
+ transform: translate(0, -50%);
1534
+ transition: all 0.3s ease;
1579
1535
  }
1580
1536
 
1581
- .Scrollable .scrollbar .thumb:active {
1582
- background-color: rgba(0, 0, 0, 0.7);
1537
+ .Switch .switch-label:before {
1538
+ left: 1px;
1539
+ width: 34px;
1540
+ height: 14px;
1541
+ background-color: #9E9E9E;
1542
+ border-radius: 8px;
1583
1543
  }
1584
1544
 
1585
- .Scrollable .scrollbar.horizontal {
1586
- left: 0px;
1587
- right: 0px;
1588
- height: 5px;
1589
- bottom: 0;
1590
- width: unset;
1591
- top: unset;
1545
+ .Switch .switch-label:after {
1546
+ left: 0;
1547
+ width: 20px;
1548
+ height: 20px;
1549
+ background-color: #FAFAFA;
1550
+ border-radius: 50%;
1551
+ 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);
1592
1552
  }
1593
1553
 
1594
- .Scrollable .scrollbar.horizontal .thumb {
1595
- height: 5px;
1596
- left: 0px;
1597
- bottom: 0px;
1598
- will-change: left;
1554
+ .Switch .switch-label .toggle--on {
1555
+ display: none;
1599
1556
  }
1600
1557
 
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
- display: flex;
1613
- flex-wrap: nowrap;
1614
- align-items: center;
1558
+ .Switch .switch-label .toggle--off {
1559
+ display: inline-block;
1560
+ }
1561
+
1562
+ .Switch .switch-label .label {
1563
+ margin-right: 5px;
1564
+ }
1565
+
1566
+ .Switch .switch-input:checked + .switch-label:before {
1567
+ background-color: #A5D6A7;
1568
+ }
1569
+
1570
+ .Switch .switch-input:checked + .switch-label:after {
1571
+ background-color: #4CAF50;
1572
+ transform: translate(80%, -50%);
1573
+ }
1574
+
1575
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1576
+ display: inline-block;
1577
+ }
1578
+
1579
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1580
+ display: none;
1581
+ }
1582
+
1583
+ .FilteredList {
1584
+ max-height: 250px;
1585
+ position: relative;
1586
+ }
1587
+
1588
+ .FilteredList.popup {
1589
+ padding: 0;
1590
+ visibility: hidden;
1591
+ 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);
1615
1597
  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);
1598
+ border-radius: 2px;
1619
1599
  }
1620
1600
 
1621
- .Snackbar.shown {
1622
- bottom: 15px;
1601
+ .FilteredList.popup.visible {
1623
1602
  opacity: 1;
1603
+ visibility: visible;
1624
1604
  }
1625
1605
 
1626
- .Snackbar .message {
1606
+ .FilteredList.inline {
1607
+ max-height: 225px;
1608
+ margin-top: 5px;
1609
+ }
1610
+
1611
+ .FilteredList .child {
1612
+ display: flex;
1613
+ flex-flow: row nowrap;
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;
1627
1622
  overflow: hidden;
1628
- line-height: 1.2em;
1629
- min-height: 1.2em;
1630
- max-height: 2.4em;
1631
- flex: 1;
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;
1632
1627
  }
1633
1628
 
1634
- .Snackbar .action {
1635
- text-transform: uppercase;
1636
- font-weight: bold;
1637
- margin-left: 48px;
1638
- color: #bf3727;
1629
+ .FilteredList .child.hidden {
1630
+ height: 0 !important;
1631
+ padding: 0 !important;
1639
1632
  }
1640
1633
 
1641
- .Snackbar .action a {
1642
- text-decoration: none;
1643
- color: #bf3727;
1634
+ .FilteredList .child.selected {
1635
+ background-color: #F0F0F0;
1636
+ padding-left: 10px;
1637
+ margin-left: 0px;
1644
1638
  }
1645
1639
 
1646
- .DNDContainer .DroppableList .Draggable {
1647
- transform: unset;
1648
- transition: unset;
1649
- opacity: 1;
1640
+ .FilteredList .child.active {
1641
+ background-color: #eeeeee;
1650
1642
  }
1651
1643
 
1652
- .DNDContainer .DroppableList .Draggable.dragged {
1653
- transition: unset !important;
1644
+ .FilteredList .child {
1645
+ margin-top: 8px;
1654
1646
  }
1655
1647
 
1656
- .DNDContainer .DroppableList.hover .Draggable {
1657
- transition: transform 0.2s ease-in;
1648
+ .FilteredList .child.hidden {
1649
+ margin-top: 0;
1658
1650
  }
1659
1651
 
1660
- .DNDContainer .DroppableList.resetting .Draggable {
1661
- transition: transform 0.1s ease-in;
1652
+ .FilteredList .child:not(.hidden) ~ .child {
1653
+ margin-top: 0;
1654
+ }
1655
+
1656
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1657
+ margin-bottom: 8px;
1658
+ }
1659
+
1660
+ .FilteredList .child:not(.hidden):last-child {
1661
+ margin-bottom: 8px;
1662
1662
  }
1663
1663
 
1664
1664
  .ScrollableTable .Scrollable .scrollbar {