react-ui-basics 0.0.231 → 0.0.232

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
@@ -302,24 +302,6 @@
302
302
  position: absolute;
303
303
  }
304
304
 
305
- .DNDContainer .DroppableList .Draggable {
306
- transform: unset;
307
- transition: unset;
308
- opacity: 1;
309
- }
310
-
311
- .DNDContainer .DroppableList .Draggable.dragged {
312
- transition: unset !important;
313
- }
314
-
315
- .DNDContainer .DroppableList.hover .Draggable {
316
- transition: transform 0.2s ease-in;
317
- }
318
-
319
- .DNDContainer .DroppableList.resetting .Draggable {
320
- transition: transform 0.1s ease-in;
321
- }
322
-
323
305
  .ImageGallery {
324
306
  position: fixed;
325
307
  top: 0;
@@ -555,6 +537,171 @@
555
537
  font-size: 24px;
556
538
  }
557
539
 
540
+ .DNDContainer .DroppableList .Draggable {
541
+ transform: unset;
542
+ transition: unset;
543
+ opacity: 1;
544
+ }
545
+
546
+ .DNDContainer .DroppableList .Draggable.dragged {
547
+ transition: unset !important;
548
+ }
549
+
550
+ .DNDContainer .DroppableList.hover .Draggable {
551
+ transition: transform 0.2s ease-in;
552
+ }
553
+
554
+ .DNDContainer .DroppableList.resetting .Draggable {
555
+ transition: transform 0.1s ease-in;
556
+ }
557
+
558
+ .CalendarMonthView {
559
+ display: flex;
560
+ flex-flow: column nowrap;
561
+ height: 100%;
562
+ }
563
+
564
+ .CalendarMonthView > .row {
565
+ display: flex;
566
+ flex-flow: row nowrap;
567
+ }
568
+
569
+ .CalendarMonthView .days {
570
+ flex-grow: 1;
571
+ position: relative;
572
+ }
573
+
574
+ .CalendarMonthView .day, .CalendarMonthView .header {
575
+ flex-grow: 1;
576
+ flex-basis: 1px;
577
+ }
578
+
579
+ .CalendarMonthView .day {
580
+ height: 100%;
581
+ }
582
+
583
+ .DialogModal {
584
+ overflow: hidden;
585
+ }
586
+
587
+ .DialogModal .content {
588
+ top: 20vh;
589
+ }
590
+
591
+ .Dialog {
592
+ background-color: white;
593
+ min-width: 460px;
594
+ max-width: 40vw;
595
+ padding: 15px;
596
+ }
597
+
598
+ .Dialog .title {
599
+ margin-bottom: 15px;
600
+ padding: 20px 50px 0px 30px;
601
+ font-size: 1.25rem;
602
+ line-height: 2rem;
603
+ font-weight: 400;
604
+ letter-spacing: 0.0125em;
605
+ }
606
+
607
+ .Dialog .description {
608
+ color: rgba(0, 0, 0, 0.54);
609
+ font-size: 1rem;
610
+ line-height: 1.5rem;
611
+ font-weight: 400;
612
+ letter-spacing: 0.03125em;
613
+ margin-top: 20px;
614
+ padding: 0 24px 24px;
615
+ }
616
+
617
+ .Dialog > div.row {
618
+ margin-bottom: 15px;
619
+ }
620
+
621
+ .Dialog > div.row:last-child {
622
+ margin-bottom: 0;
623
+ }
624
+
625
+ .Checkbox {
626
+ position: relative;
627
+ white-space: pre;
628
+ }
629
+
630
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
631
+ box-sizing: border-box;
632
+ }
633
+
634
+ .Checkbox label {
635
+ font-family: Roboto, sans-serif;
636
+ font-size: 14px;
637
+ color: #1e252d;
638
+ cursor: pointer;
639
+ }
640
+
641
+ .Checkbox label:before, .Checkbox label:after {
642
+ content: "";
643
+ position: absolute;
644
+ left: 0;
645
+ top: 0;
646
+ }
647
+
648
+ .Checkbox label:before {
649
+ width: 20px;
650
+ height: 20px;
651
+ background: #fff;
652
+ border: 2px solid #252525;
653
+ border-radius: 2px;
654
+ cursor: pointer;
655
+ transition: background 0.3s;
656
+ }
657
+
658
+ .Checkbox input[type=checkbox] {
659
+ outline: 0;
660
+ margin-right: 10px;
661
+ visibility: hidden;
662
+ }
663
+
664
+ .Checkbox input[type=checkbox]:checked + label:before {
665
+ background: #4AC263;
666
+ border: none;
667
+ }
668
+
669
+ .Checkbox input[type=checkbox]:checked + label:after {
670
+ transform: rotate(-45deg);
671
+ top: 6px;
672
+ left: 4px;
673
+ width: 12px;
674
+ height: 6px;
675
+ border: 2px solid #fff;
676
+ border-top-style: none;
677
+ border-right-style: none;
678
+ }
679
+
680
+ .Checkbox input[type=checkbox]:disabled + label {
681
+ color: gray;
682
+ }
683
+
684
+ .Checkbox input[type=checkbox]:disabled + label:before {
685
+ border-color: rgba(0, 0, 0, 0.26);
686
+ }
687
+
688
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
689
+ background: rgba(0, 0, 0, 0.26);
690
+ }
691
+
692
+ .CircleProgress {
693
+ width: 48px;
694
+ height: 48px;
695
+ }
696
+
697
+ .CircleProgress .line {
698
+ stroke-width: 2px;
699
+ stroke: black;
700
+ stroke-linecap: square;
701
+ fill: none;
702
+ transition: stroke-dashoffset 0.2s ease;
703
+ }
704
+
558
705
  .Button {
559
706
  position: relative;
560
707
  min-width: 64px;
@@ -721,233 +868,55 @@
721
868
  border: 0;
722
869
  }
723
870
 
724
- .Checkbox {
871
+ .DatePicker {
725
872
  position: relative;
726
- white-space: pre;
727
873
  }
728
874
 
729
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
730
- box-sizing: border-box;
875
+ .DatePicker > .TextField {
876
+ width: 200px;
877
+ margin-bottom: 0px;
731
878
  }
732
879
 
733
- .Checkbox label {
734
- font-family: Roboto, sans-serif;
735
- font-size: 14px;
736
- color: #1e252d;
737
- cursor: pointer;
880
+ .DatePicker > .TextField input {
881
+ text-align: center;
738
882
  }
739
883
 
740
- .Checkbox label:before, .Checkbox label:after {
741
- content: "";
884
+ .calendar {
885
+ user-select: none;
742
886
  position: absolute;
743
- left: 0;
744
- top: 0;
887
+ top: 33px;
888
+ z-index: 10;
889
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
890
+ border-radius: 4px;
891
+ overflow: hidden;
892
+ transition: 0.2s all ease;
893
+ opacity: 0;
894
+ visibility: hidden;
745
895
  }
746
896
 
747
- .Checkbox label:before {
748
- width: 20px;
749
- height: 20px;
750
- background: #fff;
751
- border: 2px solid #252525;
752
- border-radius: 2px;
753
- cursor: pointer;
754
- transition: background 0.3s;
897
+ .calendar.focused {
898
+ opacity: 1;
899
+ visibility: visible;
755
900
  }
756
901
 
757
- .Checkbox input[type=checkbox] {
758
- outline: 0;
759
- margin-right: 10px;
760
- visibility: hidden;
902
+ .calendar .monthSelect {
903
+ align-items: center;
904
+ margin-bottom: 0;
905
+ background: white;
906
+ font-size: 12px;
907
+ color: rgb(170, 170, 170);
908
+ padding-right: 16px;
909
+ padding-left: 16px;
910
+ height: 40px;
761
911
  }
762
912
 
763
- .Checkbox input[type=checkbox]:checked + label:before {
764
- background: #4AC263;
765
- border: none;
913
+ .calendar .monthSelect span {
914
+ margin-right: auto;
766
915
  }
767
916
 
768
- .Checkbox input[type=checkbox]:checked + label:after {
769
- transform: rotate(-45deg);
770
- top: 6px;
771
- left: 4px;
772
- width: 12px;
773
- height: 6px;
774
- border: 2px solid #fff;
775
- border-top-style: none;
776
- border-right-style: none;
777
- }
778
-
779
- .Checkbox input[type=checkbox]:disabled + label {
780
- color: gray;
781
- }
782
-
783
- .Checkbox input[type=checkbox]:disabled + label:before {
784
- border-color: rgba(0, 0, 0, 0.26);
785
- }
786
-
787
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
788
- background: rgba(0, 0, 0, 0.26);
789
- }
790
-
791
- .DNDContainer {
792
- position: relative;
793
- }
794
-
795
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
796
- cursor: pointer;
797
- }
798
-
799
- .DNDContainer .Draggable.placeholder {
800
- opacity: 0.2;
801
- }
802
-
803
- .DNDContainer .Draggable.copy {
804
- position: absolute;
805
- box-sizing: border-box;
806
- will-change: transform;
807
- opacity: 0;
808
- }
809
-
810
- .DNDContainer .Draggable.dragged {
811
- z-index: 10;
812
- }
813
-
814
- .DNDContainer .overlay {
815
- position: absolute;
816
- top: 0;
817
- left: 0;
818
- right: 0;
819
- bottom: 0;
820
- pointer-events: none;
821
- }
822
-
823
- .DialogModal {
824
- overflow: hidden;
825
- }
826
-
827
- .DialogModal .content {
828
- top: 20vh;
829
- }
830
-
831
- .Dialog {
832
- background-color: white;
833
- min-width: 460px;
834
- max-width: 40vw;
835
- padding: 15px;
836
- }
837
-
838
- .Dialog .title {
839
- margin-bottom: 15px;
840
- padding: 20px 50px 0px 30px;
841
- font-size: 1.25rem;
842
- line-height: 2rem;
843
- font-weight: 400;
844
- letter-spacing: 0.0125em;
845
- }
846
-
847
- .Dialog .description {
848
- color: rgba(0, 0, 0, 0.54);
849
- font-size: 1rem;
850
- line-height: 1.5rem;
851
- font-weight: 400;
852
- letter-spacing: 0.03125em;
853
- margin-top: 20px;
854
- padding: 0 24px 24px;
855
- }
856
-
857
- .Dialog > div.row {
858
- margin-bottom: 15px;
859
- }
860
-
861
- .Dialog > div.row:last-child {
862
- margin-bottom: 0;
863
- }
864
-
865
- .ModalMenu {
866
- position: absolute;
867
- top: 10px;
868
- right: 50px;
869
- }
870
-
871
- .ModalMenu .material-icons {
872
- color: #818181;
873
- }
874
-
875
- .ModalMenu .Button.animated {
876
- position: absolute;
877
- transition: opacity 150ms ease-in, right 200ms ease-in;
878
- opacity: 0;
879
- right: 0;
880
- top: 0;
881
- }
882
-
883
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
884
- opacity: 1;
885
- }
886
-
887
- .ModalMenu .Button.animated.unmounting {
888
- transition: opacity 100ms ease-out, right 200ms ease-out;
889
- }
890
-
891
- .ModalMenu .Button.active {
892
- background: #EBEBEB;
893
- }
894
-
895
- .ModalMenu .separator {
896
- height: 24px;
897
- width: 1px;
898
- background-color: #D9D9D9;
899
- margin-left: 4px;
900
- }
901
-
902
- .DatePicker {
903
- position: relative;
904
- }
905
-
906
- .DatePicker > .TextField {
907
- width: 200px;
908
- margin-bottom: 0px;
909
- }
910
-
911
- .DatePicker > .TextField input {
912
- text-align: center;
913
- }
914
-
915
- .calendar {
916
- user-select: none;
917
- position: absolute;
918
- top: 33px;
919
- z-index: 10;
920
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
921
- border-radius: 4px;
922
- overflow: hidden;
923
- transition: 0.2s all ease;
924
- opacity: 0;
925
- visibility: hidden;
926
- }
927
-
928
- .calendar.focused {
929
- opacity: 1;
930
- visibility: visible;
931
- }
932
-
933
- .calendar .monthSelect {
934
- align-items: center;
935
- margin-bottom: 0;
936
- background: white;
937
- font-size: 12px;
938
- color: rgb(170, 170, 170);
939
- padding-right: 16px;
940
- padding-left: 16px;
941
- height: 40px;
942
- }
943
-
944
- .calendar .monthSelect span {
945
- margin-right: auto;
946
- }
947
-
948
- .calendar .monthSelect .Button {
949
- min-width: 25px;
950
- min-height: 25px;
917
+ .calendar .monthSelect .Button {
918
+ min-width: 25px;
919
+ min-height: 25px;
951
920
  }
952
921
 
953
922
  .calendar .monthSelect .Button .material-icons {
@@ -1100,87 +1069,97 @@
1100
1069
  margin-bottom: 8px;
1101
1070
  }
1102
1071
 
1103
- .CircleProgress {
1104
- width: 48px;
1105
- height: 48px;
1106
- }
1107
-
1108
- .CircleProgress .line {
1109
- stroke-width: 2px;
1110
- stroke: black;
1111
- stroke-linecap: square;
1112
- fill: none;
1113
- transition: stroke-dashoffset 0.2s ease;
1072
+ .Button.FloatingActionButton {
1073
+ position: absolute;
1074
+ right: 16px;
1075
+ bottom: 16px;
1076
+ width: 56px;
1077
+ height: 56px;
1078
+ padding: 16px;
1079
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1114
1080
  }
1115
1081
 
1116
- .Snackbar {
1117
- transform: translateX(-50%);
1118
- overflow: hidden;
1119
- background-color: #323232;
1120
- padding: 14px 24px 14px 24px;
1121
- color: #fff;
1122
- min-width: 288px;
1123
- max-width: 568px;
1124
- position: fixed;
1125
- bottom: -50px;
1126
- left: 50%;
1127
- display: flex;
1128
- flex-wrap: nowrap;
1129
- align-items: center;
1130
- opacity: 0;
1131
- transition: bottom 0.25s ease, opacity 0.2s ease;
1132
- border-radius: 4px;
1133
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1082
+ .Button.FloatingActionButton.raised {
1083
+ 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);
1134
1084
  }
1135
1085
 
1136
- .Snackbar.shown {
1137
- bottom: 15px;
1138
- opacity: 1;
1086
+ .Button.FloatingActionButton.mini {
1087
+ width: 40px;
1088
+ height: 40px;
1089
+ padding: 8px;
1139
1090
  }
1140
1091
 
1141
- .Snackbar .message {
1142
- overflow: hidden;
1143
- line-height: 1.2em;
1144
- min-height: 1.2em;
1145
- max-height: 2.4em;
1146
- flex: 1;
1092
+ .Button.FloatingActionButton.hidden {
1093
+ bottom: -100px;
1147
1094
  }
1148
1095
 
1149
- .Snackbar .action {
1150
- text-transform: uppercase;
1151
- font-weight: bold;
1152
- margin-left: 48px;
1153
- color: #bf3727;
1096
+ .DNDContainer {
1097
+ position: relative;
1154
1098
  }
1155
1099
 
1156
- .Snackbar .action a {
1157
- text-decoration: none;
1158
- color: #bf3727;
1100
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1101
+ cursor: pointer;
1159
1102
  }
1160
1103
 
1161
- .CalendarMonthView {
1162
- display: flex;
1163
- flex-flow: column nowrap;
1164
- height: 100%;
1104
+ .DNDContainer .Draggable.placeholder {
1105
+ opacity: 0.2;
1165
1106
  }
1166
1107
 
1167
- .CalendarMonthView > .row {
1168
- display: flex;
1169
- flex-flow: row nowrap;
1108
+ .DNDContainer .Draggable.copy {
1109
+ position: absolute;
1110
+ box-sizing: border-box;
1111
+ will-change: transform;
1112
+ opacity: 0;
1170
1113
  }
1171
1114
 
1172
- .CalendarMonthView .days {
1173
- flex-grow: 1;
1174
- position: relative;
1115
+ .DNDContainer .Draggable.dragged {
1116
+ z-index: 10;
1175
1117
  }
1176
1118
 
1177
- .CalendarMonthView .day, .CalendarMonthView .header {
1178
- flex-grow: 1;
1179
- flex-basis: 1px;
1119
+ .DNDContainer .overlay {
1120
+ position: absolute;
1121
+ top: 0;
1122
+ left: 0;
1123
+ right: 0;
1124
+ bottom: 0;
1125
+ pointer-events: none;
1180
1126
  }
1181
1127
 
1182
- .CalendarMonthView .day {
1183
- height: 100%;
1128
+ .ModalMenu {
1129
+ position: absolute;
1130
+ top: 10px;
1131
+ right: 50px;
1132
+ }
1133
+
1134
+ .ModalMenu .material-icons {
1135
+ color: #818181;
1136
+ }
1137
+
1138
+ .ModalMenu .Button.animated {
1139
+ position: absolute;
1140
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1141
+ opacity: 0;
1142
+ right: 0;
1143
+ top: 0;
1144
+ }
1145
+
1146
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1147
+ opacity: 1;
1148
+ }
1149
+
1150
+ .ModalMenu .Button.animated.unmounting {
1151
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1152
+ }
1153
+
1154
+ .ModalMenu .Button.active {
1155
+ background: #EBEBEB;
1156
+ }
1157
+
1158
+ .ModalMenu .separator {
1159
+ height: 24px;
1160
+ width: 1px;
1161
+ background-color: #D9D9D9;
1162
+ margin-left: 4px;
1184
1163
  }
1185
1164
 
1186
1165
  .Dropzone {
@@ -1243,100 +1222,6 @@
1243
1222
  z-index: 1;
1244
1223
  }
1245
1224
 
1246
- .Button.FloatingActionButton {
1247
- position: absolute;
1248
- right: 16px;
1249
- bottom: 16px;
1250
- width: 56px;
1251
- height: 56px;
1252
- padding: 16px;
1253
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1254
- }
1255
-
1256
- .Button.FloatingActionButton.raised {
1257
- 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);
1258
- }
1259
-
1260
- .Button.FloatingActionButton.mini {
1261
- width: 40px;
1262
- height: 40px;
1263
- padding: 8px;
1264
- }
1265
-
1266
- .Button.FloatingActionButton.hidden {
1267
- bottom: -100px;
1268
- }
1269
-
1270
- .Modal {
1271
- display: block;
1272
- position: fixed;
1273
- top: 0;
1274
- left: 0;
1275
- right: 0;
1276
- bottom: 100%;
1277
- overflow-y: scroll;
1278
- transition: bottom 0ms linear;
1279
- transition-delay: 0.2s;
1280
- }
1281
-
1282
- .Modal.show {
1283
- transition-delay: 0s;
1284
- bottom: 0;
1285
- }
1286
-
1287
- .Modal > .overlay {
1288
- position: fixed;
1289
- top: 0;
1290
- bottom: 100%;
1291
- left: 0;
1292
- right: 0;
1293
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1294
- opacity: 0;
1295
- background-color: black;
1296
- pointer-events: none;
1297
- }
1298
-
1299
- .Modal > .overlay.show {
1300
- opacity: 0.5;
1301
- bottom: 0;
1302
- }
1303
-
1304
- .Modal > .content {
1305
- left: 50%;
1306
- top: 10vh;
1307
- margin-bottom: 10vh;
1308
- font-size: 16px;
1309
- padding: 0;
1310
- opacity: 0;
1311
- transition: opacity 0.25s ease, transform 0.25s ease;
1312
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1313
- transform-origin: top;
1314
- position: absolute;
1315
- border-radius: 2px;
1316
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1317
- }
1318
-
1319
- .Modal > .content.show {
1320
- opacity: 1;
1321
- transform: scaleY(1) translateY(0px) translateX(-50%);
1322
- }
1323
-
1324
- .Modal > .content > .Scrollable {
1325
- overflow: visible;
1326
- max-height: 80vh;
1327
- }
1328
-
1329
- .Modal > .content > .Scrollable > .viewport {
1330
- min-width: 10px;
1331
- min-height: 10px;
1332
- }
1333
-
1334
- .Modal > .content > .Button.close {
1335
- top: 10px;
1336
- right: 10px;
1337
- position: absolute;
1338
- }
1339
-
1340
1225
  .FormUploadProgress {
1341
1226
  position: absolute;
1342
1227
  left: 0;
@@ -1406,59 +1291,121 @@
1406
1291
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1407
1292
  }
1408
1293
 
1409
- .SpinningProgress {
1410
- width: 48px;
1411
- height: 48px;
1412
- position: relative;
1413
- margin: 0 auto;
1294
+ .Snackbar {
1295
+ transform: translateX(-50%);
1296
+ overflow: hidden;
1297
+ background-color: #323232;
1298
+ padding: 14px 24px 14px 24px;
1299
+ color: #fff;
1300
+ min-width: 288px;
1301
+ max-width: 568px;
1302
+ position: fixed;
1303
+ bottom: -50px;
1304
+ left: 50%;
1305
+ display: flex;
1306
+ flex-wrap: nowrap;
1307
+ align-items: center;
1308
+ opacity: 0;
1309
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1310
+ border-radius: 4px;
1311
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1414
1312
  }
1415
1313
 
1416
- .SpinningProgress:before {
1417
- content: "";
1418
- display: block;
1419
- padding-top: 100%;
1314
+ .Snackbar.shown {
1315
+ bottom: 15px;
1316
+ opacity: 1;
1420
1317
  }
1421
1318
 
1422
- .SpinningProgress .circular {
1423
- animation: rotate 2s linear infinite;
1424
- height: 100%;
1425
- transform-origin: center center;
1426
- width: 100%;
1427
- position: absolute;
1319
+ .Snackbar .message {
1320
+ overflow: hidden;
1321
+ line-height: 1.2em;
1322
+ min-height: 1.2em;
1323
+ max-height: 2.4em;
1324
+ flex: 1;
1325
+ }
1326
+
1327
+ .Snackbar .action {
1328
+ text-transform: uppercase;
1329
+ font-weight: bold;
1330
+ margin-left: 48px;
1331
+ color: #bf3727;
1332
+ }
1333
+
1334
+ .Snackbar .action a {
1335
+ text-decoration: none;
1336
+ color: #bf3727;
1337
+ }
1338
+
1339
+ .Modal {
1340
+ display: block;
1341
+ position: fixed;
1428
1342
  top: 0;
1343
+ left: 0;
1344
+ right: 0;
1345
+ bottom: 100%;
1346
+ overflow-y: scroll;
1347
+ transition: bottom 0ms linear;
1348
+ transition-delay: 0.2s;
1349
+ }
1350
+
1351
+ .Modal.show {
1352
+ transition-delay: 0s;
1429
1353
  bottom: 0;
1354
+ }
1355
+
1356
+ .Modal > .overlay {
1357
+ position: fixed;
1358
+ top: 0;
1359
+ bottom: 100%;
1430
1360
  left: 0;
1431
1361
  right: 0;
1432
- margin: auto;
1362
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1363
+ opacity: 0;
1364
+ background-color: black;
1365
+ pointer-events: none;
1433
1366
  }
1434
1367
 
1435
- .SpinningProgress .line {
1436
- stroke: black;
1437
- stroke-width: 2px;
1438
- stroke-dasharray: 1, 96;
1439
- stroke-dashoffset: 0;
1440
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1368
+ .Modal > .overlay.show {
1369
+ opacity: 0.5;
1370
+ bottom: 0;
1441
1371
  }
1442
1372
 
1443
- @keyframes rotate {
1444
- 100% {
1445
- transform: rotate(360deg);
1446
- }
1373
+ .Modal > .content {
1374
+ left: 50%;
1375
+ top: 10vh;
1376
+ margin-bottom: 10vh;
1377
+ font-size: 16px;
1378
+ padding: 0;
1379
+ opacity: 0;
1380
+ transition: opacity 0.25s ease, transform 0.25s ease;
1381
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1382
+ transform-origin: top;
1383
+ position: absolute;
1384
+ border-radius: 2px;
1385
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1447
1386
  }
1448
- @keyframes dash {
1449
- 0% {
1450
- stroke-dasharray: 1, 96;
1451
- stroke-dashoffset: 0;
1452
- }
1453
- 50% {
1454
- stroke-dasharray: 43, 96;
1455
- stroke-dashoffset: -17px;
1456
- }
1457
- 100% {
1458
- stroke-dasharray: 43, 96;
1459
- stroke-dashoffset: -53px;
1460
- }
1387
+
1388
+ .Modal > .content.show {
1389
+ opacity: 1;
1390
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1391
+ }
1392
+
1393
+ .Modal > .content > .Scrollable {
1394
+ overflow: visible;
1395
+ max-height: 80vh;
1461
1396
  }
1397
+
1398
+ .Modal > .content > .Scrollable > .viewport {
1399
+ min-width: 10px;
1400
+ min-height: 10px;
1401
+ }
1402
+
1403
+ .Modal > .content > .Button.close {
1404
+ top: 10px;
1405
+ right: 10px;
1406
+ position: absolute;
1407
+ }
1408
+
1462
1409
  .Scrollable {
1463
1410
  max-height: 250px;
1464
1411
  max-width: 250px;
@@ -1534,205 +1481,27 @@
1534
1481
  }
1535
1482
 
1536
1483
  .Scrollable .scrollbar .thumb:hover {
1537
- background-color: rgba(0, 0, 0, 0.5);
1538
- }
1539
-
1540
- .Scrollable .scrollbar .thumb:active {
1541
- background-color: rgba(0, 0, 0, 0.7);
1542
- }
1543
-
1544
- .Scrollable .scrollbar.horizontal {
1545
- left: 0px;
1546
- right: 0px;
1547
- height: 5px;
1548
- bottom: 0;
1549
- width: unset;
1550
- top: unset;
1551
- }
1552
-
1553
- .Scrollable .scrollbar.horizontal .thumb {
1554
- height: 5px;
1555
- left: 0px;
1556
- bottom: 0px;
1557
- will-change: left;
1558
- }
1559
-
1560
- .DropFileInput {
1561
- flex-grow: 1;
1562
- }
1563
-
1564
- .DropFileInput .Dropzone {
1565
- border: 1px dashed #808080;
1566
- padding: 12px;
1567
- display: flex;
1568
- flex-flow: row nowrap;
1569
- justify-content: center;
1570
- align-items: center;
1571
- color: gray;
1572
- cursor: pointer;
1573
- border-radius: 3px;
1574
- font-weight: normal;
1575
- line-height: 22px;
1576
- font-size: 14px;
1577
- color: #7E7E7E;
1578
- max-width: 100%;
1579
- word-break: break-all;
1580
- word-break: break-word;
1581
- }
1582
-
1583
- .DropFileInput .Dropzone .icon.withText {
1584
- margin-right: 10px;
1585
- }
1586
-
1587
- .TextField {
1588
- position: relative;
1589
- width: 100%;
1590
- }
1591
-
1592
- .TextField > label {
1593
- font-family: Roboto, sans-serif;
1594
- color: rgba(0, 0, 0, 0.5);
1595
- font-size: 16px;
1596
- position: absolute;
1597
- left: 0px;
1598
- top: 16px;
1599
- margin-top: -16px;
1600
- transition: all 0.2s ease;
1601
- user-select: none;
1602
- cursor: text;
1603
- }
1604
-
1605
- .TextField > input {
1606
- font-family: Roboto, sans-serif;
1607
- color: #1e252d;
1608
- height: 19px;
1609
- font-size: 16px;
1610
- width: 100%;
1611
- border: 0px;
1612
- padding-bottom: 4px;
1613
- padding-top: 0;
1614
- outline-color: rgba(0, 0, 0, 0);
1615
- }
1616
-
1617
- .TextField > input:focus {
1618
- outline: none;
1619
- }
1620
-
1621
- .TextField > input:disabled {
1622
- color: gray;
1623
- background-color: white;
1624
- }
1625
-
1626
- .TextField > input:disabled + .border {
1627
- height: 0px;
1628
- border-bottom: 2px dotted rgb(224, 224, 224);
1629
- }
1630
-
1631
- .TextField > input::placeholder {
1632
- font-family: Roboto, sans-serif;
1633
- color: rgba(0, 0, 0, 0.3);
1634
- opacity: 1;
1635
- }
1636
-
1637
- .TextField > .border {
1638
- border-bottom: 1px solid rgb(224, 224, 224);
1639
- height: 1px;
1640
- position: relative;
1641
- }
1642
-
1643
- .TextField > .border .line {
1644
- left: 50%;
1645
- width: 0;
1646
- height: 2px;
1647
- min-height: 2px;
1648
- background-color: rgb(0, 188, 212);
1649
- transition: all 0.2s ease;
1650
- position: absolute;
1651
- }
1652
-
1653
- .TextField > .error {
1654
- text-align: left;
1655
- font-size: 10px;
1656
- min-height: 0;
1657
- line-height: 14px;
1658
- color: rgb(244, 67, 54);
1659
- visibility: hidden;
1660
- opacity: 0;
1661
- transition: all 0.2s ease;
1662
- }
1663
-
1664
- .TextField.focused > label, .TextField.withValue > label {
1665
- top: 4px;
1666
- font-size: 12px;
1667
- line-height: 14px;
1668
- }
1669
-
1670
- .TextField.errored > .error {
1671
- visibility: visible;
1672
- opacity: 1;
1673
- }
1674
-
1675
- .TextField.errored > .border {
1676
- border-bottom-color: rgb(244, 67, 54);
1677
- }
1678
-
1679
- .TextField.errored > label {
1680
- color: rgb(244, 67, 54);
1681
- }
1682
-
1683
- .TextField.focused > label {
1684
- color: rgb(0, 188, 212);
1685
- }
1686
-
1687
- .TextField.focused > .border .line {
1688
- left: 0;
1689
- width: 100%;
1690
- }
1691
-
1692
- .TextField.disabled label, .TextField.disabled input {
1693
- cursor: not-allowed;
1694
- }
1695
-
1696
- .TextField.withLabel {
1697
- margin-top: 15px;
1698
- }
1699
-
1700
- .TextField input::-webkit-contacts-auto-fill-button {
1701
- visibility: hidden;
1702
- display: none !important;
1703
- pointer-events: none;
1704
- position: absolute;
1705
- right: 0;
1706
- }
1707
-
1708
- .TextField input:-webkit-autofill {
1709
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1710
- }
1711
-
1712
- @keyframes shake {
1713
- 0%, 100% {
1714
- transform: translateX(0);
1715
- }
1716
- 20%, 60% {
1717
- transform: translateX(-5px);
1718
- }
1719
- 40%, 80% {
1720
- transform: translateX(5px);
1721
- }
1484
+ background-color: rgba(0, 0, 0, 0.5);
1722
1485
  }
1723
- .TextField .shake {
1724
- animation-duration: 0.5s;
1725
- animation-fill-mode: both;
1726
- animation-timing-function: ease-in-out;
1727
- animation-name: shake;
1486
+
1487
+ .Scrollable .scrollbar .thumb:active {
1488
+ background-color: rgba(0, 0, 0, 0.7);
1728
1489
  }
1729
1490
 
1730
- .ScrollableTable .Scrollable .scrollbar {
1731
- top: 56px;
1491
+ .Scrollable .scrollbar.horizontal {
1492
+ left: 0px;
1493
+ right: 0px;
1494
+ height: 5px;
1495
+ bottom: 0;
1496
+ width: unset;
1497
+ top: unset;
1732
1498
  }
1733
1499
 
1734
- .ScrollableTable .Table {
1735
- position: static;
1500
+ .Scrollable .scrollbar.horizontal .thumb {
1501
+ height: 5px;
1502
+ left: 0px;
1503
+ bottom: 0px;
1504
+ will-change: left;
1736
1505
  }
1737
1506
 
1738
1507
  .Switch {
@@ -1817,6 +1586,59 @@
1817
1586
  display: none;
1818
1587
  }
1819
1588
 
1589
+ .SpinningProgress {
1590
+ width: 48px;
1591
+ height: 48px;
1592
+ position: relative;
1593
+ margin: 0 auto;
1594
+ }
1595
+
1596
+ .SpinningProgress:before {
1597
+ content: "";
1598
+ display: block;
1599
+ padding-top: 100%;
1600
+ }
1601
+
1602
+ .SpinningProgress .circular {
1603
+ animation: rotate 2s linear infinite;
1604
+ height: 100%;
1605
+ transform-origin: center center;
1606
+ width: 100%;
1607
+ position: absolute;
1608
+ top: 0;
1609
+ bottom: 0;
1610
+ left: 0;
1611
+ right: 0;
1612
+ margin: auto;
1613
+ }
1614
+
1615
+ .SpinningProgress .line {
1616
+ stroke: black;
1617
+ stroke-width: 2px;
1618
+ stroke-dasharray: 1, 96;
1619
+ stroke-dashoffset: 0;
1620
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1621
+ }
1622
+
1623
+ @keyframes rotate {
1624
+ 100% {
1625
+ transform: rotate(360deg);
1626
+ }
1627
+ }
1628
+ @keyframes dash {
1629
+ 0% {
1630
+ stroke-dasharray: 1, 96;
1631
+ stroke-dashoffset: 0;
1632
+ }
1633
+ 50% {
1634
+ stroke-dasharray: 43, 96;
1635
+ stroke-dashoffset: -17px;
1636
+ }
1637
+ 100% {
1638
+ stroke-dasharray: 43, 96;
1639
+ stroke-dashoffset: -53px;
1640
+ }
1641
+ }
1820
1642
  .Table {
1821
1643
  font-family: Roboto, sans-serif;
1822
1644
  font-size: 14px;
@@ -1937,4 +1759,182 @@
1937
1759
 
1938
1760
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1939
1761
  margin: 0;
1762
+ }
1763
+
1764
+ .TextField {
1765
+ position: relative;
1766
+ width: 100%;
1767
+ }
1768
+
1769
+ .TextField > label {
1770
+ font-family: Roboto, sans-serif;
1771
+ color: rgba(0, 0, 0, 0.5);
1772
+ font-size: 16px;
1773
+ position: absolute;
1774
+ left: 0px;
1775
+ top: 16px;
1776
+ margin-top: -16px;
1777
+ transition: all 0.2s ease;
1778
+ user-select: none;
1779
+ cursor: text;
1780
+ }
1781
+
1782
+ .TextField > input {
1783
+ font-family: Roboto, sans-serif;
1784
+ color: #1e252d;
1785
+ height: 19px;
1786
+ font-size: 16px;
1787
+ width: 100%;
1788
+ border: 0px;
1789
+ padding-bottom: 4px;
1790
+ padding-top: 0;
1791
+ outline-color: rgba(0, 0, 0, 0);
1792
+ }
1793
+
1794
+ .TextField > input:focus {
1795
+ outline: none;
1796
+ }
1797
+
1798
+ .TextField > input:disabled {
1799
+ color: gray;
1800
+ background-color: white;
1801
+ }
1802
+
1803
+ .TextField > input:disabled + .border {
1804
+ height: 0px;
1805
+ border-bottom: 2px dotted rgb(224, 224, 224);
1806
+ }
1807
+
1808
+ .TextField > input::placeholder {
1809
+ font-family: Roboto, sans-serif;
1810
+ color: rgba(0, 0, 0, 0.3);
1811
+ opacity: 1;
1812
+ }
1813
+
1814
+ .TextField > .border {
1815
+ border-bottom: 1px solid rgb(224, 224, 224);
1816
+ height: 1px;
1817
+ position: relative;
1818
+ }
1819
+
1820
+ .TextField > .border .line {
1821
+ left: 50%;
1822
+ width: 0;
1823
+ height: 2px;
1824
+ min-height: 2px;
1825
+ background-color: rgb(0, 188, 212);
1826
+ transition: all 0.2s ease;
1827
+ position: absolute;
1828
+ }
1829
+
1830
+ .TextField > .error {
1831
+ text-align: left;
1832
+ font-size: 10px;
1833
+ min-height: 0;
1834
+ line-height: 14px;
1835
+ color: rgb(244, 67, 54);
1836
+ visibility: hidden;
1837
+ opacity: 0;
1838
+ transition: all 0.2s ease;
1839
+ }
1840
+
1841
+ .TextField.focused > label, .TextField.withValue > label {
1842
+ top: 4px;
1843
+ font-size: 12px;
1844
+ line-height: 14px;
1845
+ }
1846
+
1847
+ .TextField.errored > .error {
1848
+ visibility: visible;
1849
+ opacity: 1;
1850
+ }
1851
+
1852
+ .TextField.errored > .border {
1853
+ border-bottom-color: rgb(244, 67, 54);
1854
+ }
1855
+
1856
+ .TextField.errored > label {
1857
+ color: rgb(244, 67, 54);
1858
+ }
1859
+
1860
+ .TextField.focused > label {
1861
+ color: rgb(0, 188, 212);
1862
+ }
1863
+
1864
+ .TextField.focused > .border .line {
1865
+ left: 0;
1866
+ width: 100%;
1867
+ }
1868
+
1869
+ .TextField.disabled label, .TextField.disabled input {
1870
+ cursor: not-allowed;
1871
+ }
1872
+
1873
+ .TextField.withLabel {
1874
+ margin-top: 15px;
1875
+ }
1876
+
1877
+ .TextField input::-webkit-contacts-auto-fill-button {
1878
+ visibility: hidden;
1879
+ display: none !important;
1880
+ pointer-events: none;
1881
+ position: absolute;
1882
+ right: 0;
1883
+ }
1884
+
1885
+ .TextField input:-webkit-autofill {
1886
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1887
+ }
1888
+
1889
+ @keyframes shake {
1890
+ 0%, 100% {
1891
+ transform: translateX(0);
1892
+ }
1893
+ 20%, 60% {
1894
+ transform: translateX(-5px);
1895
+ }
1896
+ 40%, 80% {
1897
+ transform: translateX(5px);
1898
+ }
1899
+ }
1900
+ .TextField .shake {
1901
+ animation-duration: 0.5s;
1902
+ animation-fill-mode: both;
1903
+ animation-timing-function: ease-in-out;
1904
+ animation-name: shake;
1905
+ }
1906
+
1907
+ .DropFileInput {
1908
+ flex-grow: 1;
1909
+ }
1910
+
1911
+ .DropFileInput .Dropzone {
1912
+ border: 1px dashed #808080;
1913
+ padding: 12px;
1914
+ display: flex;
1915
+ flex-flow: row nowrap;
1916
+ justify-content: center;
1917
+ align-items: center;
1918
+ color: gray;
1919
+ cursor: pointer;
1920
+ border-radius: 3px;
1921
+ font-weight: normal;
1922
+ line-height: 22px;
1923
+ font-size: 14px;
1924
+ color: #7E7E7E;
1925
+ max-width: 100%;
1926
+ word-break: break-all;
1927
+ word-break: break-word;
1928
+ }
1929
+
1930
+ .DropFileInput .Dropzone .icon.withText {
1931
+ margin-right: 10px;
1932
+ }
1933
+
1934
+ .ScrollableTable .Scrollable .scrollbar {
1935
+ top: 56px;
1936
+ }
1937
+
1938
+ .ScrollableTable .Table {
1939
+ position: static;
1940
1940
  }