react-ui-basics 0.0.243 → 0.0.244

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
@@ -555,73 +555,6 @@
555
555
  font-size: 24px;
556
556
  }
557
557
 
558
- .Checkbox {
559
- position: relative;
560
- white-space: pre;
561
- }
562
-
563
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
564
- box-sizing: border-box;
565
- }
566
-
567
- .Checkbox label {
568
- font-family: Roboto, sans-serif;
569
- font-size: 14px;
570
- color: #1e252d;
571
- cursor: pointer;
572
- }
573
-
574
- .Checkbox label:before, .Checkbox label:after {
575
- content: "";
576
- position: absolute;
577
- left: 0;
578
- top: 0;
579
- }
580
-
581
- .Checkbox label:before {
582
- width: 20px;
583
- height: 20px;
584
- background: #fff;
585
- border: 2px solid #252525;
586
- border-radius: 2px;
587
- cursor: pointer;
588
- transition: background 0.3s;
589
- }
590
-
591
- .Checkbox input[type=checkbox] {
592
- outline: 0;
593
- margin-right: 10px;
594
- visibility: hidden;
595
- }
596
-
597
- .Checkbox input[type=checkbox]:checked + label:before {
598
- background: #4AC263;
599
- border: none;
600
- }
601
-
602
- .Checkbox input[type=checkbox]:checked + label:after {
603
- transform: rotate(-45deg);
604
- top: 6px;
605
- left: 4px;
606
- width: 12px;
607
- height: 6px;
608
- border: 2px solid #fff;
609
- border-top-style: none;
610
- border-right-style: none;
611
- }
612
-
613
- .Checkbox input[type=checkbox]:disabled + label {
614
- color: gray;
615
- }
616
-
617
- .Checkbox input[type=checkbox]:disabled + label:before {
618
- border-color: rgba(0, 0, 0, 0.26);
619
- }
620
-
621
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
622
- background: rgba(0, 0, 0, 0.26);
623
- }
624
-
625
558
  .Button {
626
559
  position: relative;
627
560
  min-width: 64px;
@@ -788,42 +721,71 @@
788
721
  border: 0;
789
722
  }
790
723
 
791
- .CalendarMonthView {
792
- display: flex;
793
- flex-flow: column nowrap;
794
- height: 100%;
724
+ .Checkbox {
725
+ position: relative;
726
+ white-space: pre;
795
727
  }
796
728
 
797
- .CalendarMonthView > .row {
798
- display: flex;
799
- flex-flow: row nowrap;
729
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
730
+ box-sizing: border-box;
800
731
  }
801
732
 
802
- .CalendarMonthView .days {
803
- flex-grow: 1;
804
- position: relative;
733
+ .Checkbox label {
734
+ font-family: Roboto, sans-serif;
735
+ font-size: 14px;
736
+ color: #1e252d;
737
+ cursor: pointer;
805
738
  }
806
739
 
807
- .CalendarMonthView .day, .CalendarMonthView .header {
808
- flex-grow: 1;
809
- flex-basis: 1px;
740
+ .Checkbox label:before, .Checkbox label:after {
741
+ content: "";
742
+ position: absolute;
743
+ left: 0;
744
+ top: 0;
810
745
  }
811
746
 
812
- .CalendarMonthView .day {
813
- height: 100%;
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;
814
755
  }
815
756
 
816
- .CircleProgress {
817
- width: 48px;
818
- height: 48px;
757
+ .Checkbox input[type=checkbox] {
758
+ outline: 0;
759
+ margin-right: 10px;
760
+ visibility: hidden;
819
761
  }
820
762
 
821
- .CircleProgress .line {
822
- stroke-width: 2px;
823
- stroke: black;
824
- stroke-linecap: square;
825
- fill: none;
826
- transition: stroke-dashoffset 0.2s ease;
763
+ .Checkbox input[type=checkbox]:checked + label:before {
764
+ background: #4AC263;
765
+ border: none;
766
+ }
767
+
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);
827
789
  }
828
790
 
829
791
  .DatePicker {
@@ -943,6 +905,97 @@
943
905
  background-color: #51adf6;
944
906
  }
945
907
 
908
+ .CalendarMonthView {
909
+ display: flex;
910
+ flex-flow: column nowrap;
911
+ height: 100%;
912
+ }
913
+
914
+ .CalendarMonthView > .row {
915
+ display: flex;
916
+ flex-flow: row nowrap;
917
+ }
918
+
919
+ .CalendarMonthView .days {
920
+ flex-grow: 1;
921
+ position: relative;
922
+ }
923
+
924
+ .CalendarMonthView .day, .CalendarMonthView .header {
925
+ flex-grow: 1;
926
+ flex-basis: 1px;
927
+ }
928
+
929
+ .CalendarMonthView .day {
930
+ height: 100%;
931
+ }
932
+
933
+ .DialogModal {
934
+ overflow: hidden;
935
+ }
936
+
937
+ .DialogModal .content {
938
+ top: 20vh;
939
+ }
940
+
941
+ .Dialog {
942
+ background-color: white;
943
+ min-width: 460px;
944
+ max-width: 40vw;
945
+ padding: 15px;
946
+ }
947
+
948
+ .Dialog .title {
949
+ margin-bottom: 15px;
950
+ padding: 20px 50px 0px 30px;
951
+ font-size: 1.25rem;
952
+ line-height: 2rem;
953
+ font-weight: 400;
954
+ letter-spacing: 0.0125em;
955
+ }
956
+
957
+ .Dialog .description {
958
+ color: rgba(0, 0, 0, 0.54);
959
+ font-size: 1rem;
960
+ line-height: 1.5rem;
961
+ font-weight: 400;
962
+ letter-spacing: 0.03125em;
963
+ margin-top: 20px;
964
+ padding: 0 24px 24px;
965
+ }
966
+
967
+ .Dialog > div.row {
968
+ margin-bottom: 15px;
969
+ }
970
+
971
+ .Dialog > div.row:last-child {
972
+ margin-bottom: 0;
973
+ }
974
+
975
+ .Button.FloatingActionButton {
976
+ position: absolute;
977
+ right: 16px;
978
+ bottom: 16px;
979
+ width: 56px;
980
+ height: 56px;
981
+ padding: 16px;
982
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
983
+ }
984
+
985
+ .Button.FloatingActionButton.raised {
986
+ 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);
987
+ }
988
+
989
+ .Button.FloatingActionButton.mini {
990
+ width: 40px;
991
+ height: 40px;
992
+ padding: 8px;
993
+ }
994
+
995
+ .Button.FloatingActionButton.hidden {
996
+ bottom: -100px;
997
+ }
998
+
946
999
  .DNDContainer {
947
1000
  position: relative;
948
1001
  }
@@ -975,110 +1028,31 @@
975
1028
  pointer-events: none;
976
1029
  }
977
1030
 
978
- .ModalMenu {
979
- position: absolute;
980
- top: 10px;
981
- right: 50px;
982
- }
983
-
984
- .ModalMenu .material-icons {
985
- color: #818181;
986
- }
987
-
988
- .ModalMenu .Button.animated {
989
- position: absolute;
990
- transition: opacity 150ms ease-in, right 200ms ease-in;
991
- opacity: 0;
992
- right: 0;
993
- top: 0;
1031
+ .DropFileInput {
1032
+ flex-grow: 1;
994
1033
  }
995
1034
 
996
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
997
- opacity: 1;
998
- }
999
-
1000
- .ModalMenu .Button.animated.unmounting {
1001
- transition: opacity 100ms ease-out, right 200ms ease-out;
1002
- }
1003
-
1004
- .ModalMenu .Button.active {
1005
- background: #EBEBEB;
1006
- }
1007
-
1008
- .ModalMenu .separator {
1009
- height: 24px;
1010
- width: 1px;
1011
- background-color: #D9D9D9;
1012
- margin-left: 4px;
1013
- }
1014
-
1015
- .FormUploadProgress {
1016
- position: absolute;
1017
- left: 0;
1018
- right: 0;
1019
- top: 0;
1020
- bottom: 0;
1021
- background-color: rgba(255, 255, 255, 0.6);
1022
- z-index: 2;
1023
- }
1024
-
1025
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1026
- transition-delay: 500ms;
1027
- }
1028
-
1029
- .FormUploadProgress .wrapper {
1030
- position: sticky;
1031
- top: 40%;
1032
- margin-top: 40%;
1033
- margin-left: 50%;
1034
- transform: translateX(-50%);
1035
- display: flex;
1036
- flex-flow: column;
1037
- justify-content: center;
1038
- align-items: center;
1039
- }
1040
-
1041
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1042
- position: absolute;
1043
- width: 107px;
1044
- height: 107px;
1045
- top: 0;
1046
- left: 0;
1047
- }
1048
-
1049
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1050
- stroke: #2196F3;
1051
- }
1052
-
1053
- .FormUploadProgress .wrapper > .progress {
1054
- width: 107px;
1055
- height: 107px;
1056
- min-height: 107px;
1035
+ .DropFileInput .Dropzone {
1036
+ border: 1px dashed #808080;
1037
+ padding: 12px;
1057
1038
  display: flex;
1039
+ flex-flow: row nowrap;
1058
1040
  justify-content: center;
1059
1041
  align-items: center;
1060
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1061
- border-radius: 50%;
1062
- background: white;
1063
- position: relative;
1064
- }
1065
-
1066
- .FormUploadProgress .wrapper > .progress > .value {
1067
- display: inline-block;
1068
- margin-top: 5px;
1069
- font-weight: bold;
1070
- line-height: 16px;
1071
- font-size: 13px;
1072
- text-align: center;
1073
- color: #818181;
1042
+ color: gray;
1043
+ cursor: pointer;
1044
+ border-radius: 3px;
1045
+ font-weight: normal;
1046
+ line-height: 22px;
1047
+ font-size: 14px;
1048
+ color: #7E7E7E;
1049
+ max-width: 100%;
1050
+ word-break: break-all;
1051
+ word-break: break-word;
1074
1052
  }
1075
1053
 
1076
- .FormUploadProgress .wrapper .cancel {
1077
- min-width: 107px;
1078
- margin-top: 20px;
1079
- background-color: white;
1080
- color: #F96B5C;
1081
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1054
+ .DropFileInput .Dropzone .icon.withText {
1055
+ margin-right: 10px;
1082
1056
  }
1083
1057
 
1084
1058
  .FilteredList {
@@ -1165,195 +1139,253 @@
1165
1139
  margin-bottom: 8px;
1166
1140
  }
1167
1141
 
1168
- .DropFileInput {
1169
- flex-grow: 1;
1142
+ .FormUploadProgress {
1143
+ position: absolute;
1144
+ left: 0;
1145
+ right: 0;
1146
+ top: 0;
1147
+ bottom: 0;
1148
+ background-color: rgba(255, 255, 255, 0.6);
1149
+ z-index: 2;
1170
1150
  }
1171
1151
 
1172
- .DropFileInput .Dropzone {
1173
- border: 1px dashed #808080;
1174
- padding: 12px;
1152
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1153
+ transition-delay: 500ms;
1154
+ }
1155
+
1156
+ .FormUploadProgress .wrapper {
1157
+ position: sticky;
1158
+ top: 40%;
1159
+ margin-top: 40%;
1160
+ margin-left: 50%;
1161
+ transform: translateX(-50%);
1175
1162
  display: flex;
1176
- flex-flow: row nowrap;
1163
+ flex-flow: column;
1177
1164
  justify-content: center;
1178
1165
  align-items: center;
1179
- color: gray;
1180
- cursor: pointer;
1181
- border-radius: 3px;
1182
- font-weight: normal;
1183
- line-height: 22px;
1184
- font-size: 14px;
1185
- color: #7E7E7E;
1186
- max-width: 100%;
1187
- word-break: break-all;
1188
- word-break: break-word;
1189
1166
  }
1190
1167
 
1191
- .DropFileInput .Dropzone .icon.withText {
1192
- margin-right: 10px;
1193
- }
1194
-
1195
- .DialogModal {
1196
- overflow: hidden;
1168
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1169
+ position: absolute;
1170
+ width: 107px;
1171
+ height: 107px;
1172
+ top: 0;
1173
+ left: 0;
1197
1174
  }
1198
1175
 
1199
- .DialogModal .content {
1200
- top: 20vh;
1176
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1177
+ stroke: #2196F3;
1201
1178
  }
1202
1179
 
1203
- .Dialog {
1204
- background-color: white;
1205
- min-width: 460px;
1206
- max-width: 40vw;
1207
- padding: 15px;
1180
+ .FormUploadProgress .wrapper > .progress {
1181
+ width: 107px;
1182
+ height: 107px;
1183
+ min-height: 107px;
1184
+ display: flex;
1185
+ justify-content: center;
1186
+ align-items: center;
1187
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1188
+ border-radius: 50%;
1189
+ background: white;
1190
+ position: relative;
1208
1191
  }
1209
1192
 
1210
- .Dialog .title {
1211
- margin-bottom: 15px;
1212
- padding: 20px 50px 0px 30px;
1213
- font-size: 1.25rem;
1214
- line-height: 2rem;
1215
- font-weight: 400;
1216
- letter-spacing: 0.0125em;
1193
+ .FormUploadProgress .wrapper > .progress > .value {
1194
+ display: inline-block;
1195
+ margin-top: 5px;
1196
+ font-weight: bold;
1197
+ line-height: 16px;
1198
+ font-size: 13px;
1199
+ text-align: center;
1200
+ color: #818181;
1217
1201
  }
1218
1202
 
1219
- .Dialog .description {
1220
- color: rgba(0, 0, 0, 0.54);
1221
- font-size: 1rem;
1222
- line-height: 1.5rem;
1223
- font-weight: 400;
1224
- letter-spacing: 0.03125em;
1203
+ .FormUploadProgress .wrapper .cancel {
1204
+ min-width: 107px;
1225
1205
  margin-top: 20px;
1226
- padding: 0 24px 24px;
1206
+ background-color: white;
1207
+ color: #F96B5C;
1208
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1227
1209
  }
1228
1210
 
1229
- .Dialog > div.row {
1230
- margin-bottom: 15px;
1211
+ .CircleProgress {
1212
+ width: 48px;
1213
+ height: 48px;
1231
1214
  }
1232
1215
 
1233
- .Dialog > div.row:last-child {
1234
- margin-bottom: 0;
1216
+ .CircleProgress .line {
1217
+ stroke-width: 2px;
1218
+ stroke: black;
1219
+ stroke-linecap: square;
1220
+ fill: none;
1221
+ transition: stroke-dashoffset 0.2s ease;
1235
1222
  }
1236
1223
 
1237
- .Scrollable {
1238
- max-height: 250px;
1239
- max-width: 250px;
1240
- padding-right: 5px;
1241
- position: relative;
1242
- display: flex;
1243
- flex-flow: column;
1244
- align-items: stretch;
1245
- overflow: hidden;
1224
+ .Modal {
1225
+ display: block;
1226
+ position: fixed;
1227
+ top: 0;
1228
+ left: 0;
1229
+ right: 0;
1230
+ bottom: 100%;
1231
+ overflow-y: scroll;
1232
+ transition: bottom 0ms linear;
1233
+ transition-delay: 0.2s;
1246
1234
  }
1247
1235
 
1248
- .Scrollable:hover > .scrollbar.auto {
1236
+ .Modal.show {
1249
1237
  transition-delay: 0s;
1250
- opacity: 1;
1238
+ bottom: 0;
1251
1239
  }
1252
1240
 
1253
- .Scrollable .viewport {
1254
- overflow-y: scroll;
1255
- overflow-x: scroll;
1256
- max-height: 100%;
1257
- scrollbar-width: none;
1241
+ .Modal > .overlay {
1242
+ position: fixed;
1243
+ top: 0;
1244
+ bottom: 100%;
1245
+ left: 0;
1246
+ right: 0;
1247
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1248
+ opacity: 0;
1249
+ background-color: black;
1250
+ pointer-events: none;
1258
1251
  }
1259
1252
 
1260
- .Scrollable .viewport::-webkit-scrollbar {
1261
- display: none;
1253
+ .Modal > .overlay.show {
1254
+ opacity: 0.5;
1255
+ bottom: 0;
1262
1256
  }
1263
1257
 
1264
- .Scrollable.without-scroll-horizontal {
1265
- max-width: unset;
1258
+ .Modal > .content {
1259
+ left: 50%;
1260
+ top: 10vh;
1261
+ margin-bottom: 10vh;
1262
+ font-size: 16px;
1263
+ padding: 0;
1264
+ opacity: 0;
1265
+ transition: opacity 0.25s ease, transform 0.25s ease;
1266
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1267
+ transform-origin: top;
1268
+ position: absolute;
1269
+ border-radius: 2px;
1270
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1266
1271
  }
1267
1272
 
1268
- .Scrollable.undefined-horizontal {
1269
- max-width: unset;
1273
+ .Modal > .content.show {
1274
+ opacity: 1;
1275
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1270
1276
  }
1271
1277
 
1272
- .Scrollable.without-scroll {
1273
- padding-right: 0;
1274
- max-height: unset;
1278
+ .Modal > .content > .Scrollable {
1279
+ overflow: visible;
1280
+ max-height: 80vh;
1275
1281
  }
1276
1282
 
1277
- .Scrollable.without-scroll > .viewport {
1278
- padding-right: 0;
1279
- margin-right: 0;
1283
+ .Modal > .content > .Scrollable > .viewport {
1284
+ min-width: 10px;
1285
+ min-height: 10px;
1280
1286
  }
1281
1287
 
1282
- .Scrollable.without-scroll > .scrollbar {
1283
- visibility: hidden;
1288
+ .Modal > .content > .Button.close {
1289
+ top: 10px;
1290
+ right: 10px;
1291
+ position: absolute;
1284
1292
  }
1285
1293
 
1286
- .Scrollable .scrollbar {
1294
+ .ModalMenu {
1287
1295
  position: absolute;
1288
- right: 0px;
1289
- top: 0px;
1290
- width: 5px;
1291
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1292
- transition-delay: 0.5s;
1293
- z-index: 1;
1296
+ top: 10px;
1297
+ right: 50px;
1294
1298
  }
1295
1299
 
1296
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1297
- opacity: 0;
1300
+ .ModalMenu .material-icons {
1301
+ color: #818181;
1298
1302
  }
1299
1303
 
1300
- .Scrollable .scrollbar .thumb {
1301
- background-color: rgba(0, 0, 0, 0.3);
1302
- width: 5px;
1304
+ .ModalMenu .Button.animated {
1303
1305
  position: absolute;
1304
- right: 0px;
1305
- top: 0px;
1306
- user-select: none;
1307
- will-change: top;
1308
- border-radius: 2px;
1306
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1307
+ opacity: 0;
1308
+ right: 0;
1309
+ top: 0;
1309
1310
  }
1310
1311
 
1311
- .Scrollable .scrollbar .thumb:hover {
1312
- background-color: rgba(0, 0, 0, 0.5);
1312
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1313
+ opacity: 1;
1313
1314
  }
1314
1315
 
1315
- .Scrollable .scrollbar .thumb:active {
1316
- background-color: rgba(0, 0, 0, 0.7);
1316
+ .ModalMenu .Button.animated.unmounting {
1317
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1317
1318
  }
1318
1319
 
1319
- .Scrollable .scrollbar.horizontal {
1320
- left: 0px;
1321
- right: 0px;
1322
- height: 5px;
1323
- bottom: 0;
1324
- width: unset;
1325
- top: unset;
1320
+ .ModalMenu .Button.active {
1321
+ background: #EBEBEB;
1322
+ }
1323
+
1324
+ .ModalMenu .separator {
1325
+ height: 24px;
1326
+ width: 1px;
1327
+ background-color: #D9D9D9;
1328
+ margin-left: 4px;
1329
+ }
1330
+
1331
+ .Dropzone {
1332
+ position: relative;
1326
1333
  }
1327
1334
 
1328
- .Scrollable .scrollbar.horizontal .thumb {
1329
- height: 5px;
1330
- left: 0px;
1331
- bottom: 0px;
1332
- will-change: left;
1335
+ .Dropzone > .overlay {
1336
+ position: absolute;
1337
+ left: 0;
1338
+ right: 0;
1339
+ top: 0;
1340
+ bottom: 0;
1341
+ background-color: #38ADC4;
1342
+ z-index: 1;
1343
+ opacity: 0;
1344
+ transition: all 0.2s ease;
1345
+ transition-delay: 100ms;
1346
+ visibility: hidden;
1347
+ display: flex;
1348
+ justify-content: center;
1349
+ align-items: center;
1333
1350
  }
1334
1351
 
1335
- .Button.FloatingActionButton {
1352
+ .Dropzone > .overlay .drop {
1353
+ border-radius: 4px;
1354
+ border: 1px dashed #FFFFFF;
1336
1355
  position: absolute;
1337
- right: 16px;
1338
- bottom: 16px;
1339
- width: 56px;
1340
- height: 56px;
1341
- padding: 16px;
1342
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1356
+ top: 18px;
1357
+ left: 18px;
1358
+ right: 18px;
1359
+ bottom: 18px;
1360
+ display: flex;
1361
+ justify-content: center;
1362
+ align-items: center;
1363
+ font-weight: 500;
1364
+ font-size: 18px;
1365
+ color: #FFFFFF;
1343
1366
  }
1344
1367
 
1345
- .Button.FloatingActionButton.raised {
1346
- 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);
1368
+ .Dropzone.dragging > .overlay {
1369
+ opacity: 0.7;
1370
+ visibility: visible;
1371
+ transition-delay: 0s;
1347
1372
  }
1348
1373
 
1349
- .Button.FloatingActionButton.mini {
1350
- width: 40px;
1351
- height: 40px;
1352
- padding: 8px;
1374
+ .Dropzone.dragging > * {
1375
+ pointer-events: none;
1353
1376
  }
1354
1377
 
1355
- .Button.FloatingActionButton.hidden {
1356
- bottom: -100px;
1378
+ .Dropzone > input.file {
1379
+ position: absolute;
1380
+ left: 0;
1381
+ right: 0;
1382
+ top: 0;
1383
+ bottom: 0;
1384
+ width: 100%;
1385
+ height: 100%;
1386
+ opacity: 0;
1387
+ cursor: pointer;
1388
+ z-index: 1;
1357
1389
  }
1358
1390
 
1359
1391
  .SpinningProgress {
@@ -1454,149 +1486,6 @@
1454
1486
  color: #bf3727;
1455
1487
  }
1456
1488
 
1457
- .TextField {
1458
- position: relative;
1459
- width: 100%;
1460
- }
1461
-
1462
- .TextField > label {
1463
- font-family: Roboto, sans-serif;
1464
- color: rgba(0, 0, 0, 0.5);
1465
- font-size: 16px;
1466
- position: absolute;
1467
- left: 0px;
1468
- top: 16px;
1469
- margin-top: -16px;
1470
- transition: all 0.2s ease;
1471
- user-select: none;
1472
- cursor: text;
1473
- }
1474
-
1475
- .TextField > input {
1476
- font-family: Roboto, sans-serif;
1477
- color: #1e252d;
1478
- height: 19px;
1479
- font-size: 16px;
1480
- width: 100%;
1481
- border: 0px;
1482
- padding-bottom: 4px;
1483
- padding-top: 0;
1484
- outline-color: rgba(0, 0, 0, 0);
1485
- }
1486
-
1487
- .TextField > input:focus {
1488
- outline: none;
1489
- }
1490
-
1491
- .TextField > input:disabled {
1492
- color: gray;
1493
- background-color: white;
1494
- }
1495
-
1496
- .TextField > input:disabled + .border {
1497
- height: 0px;
1498
- border-bottom: 2px dotted rgb(224, 224, 224);
1499
- }
1500
-
1501
- .TextField > input::placeholder {
1502
- font-family: Roboto, sans-serif;
1503
- color: rgba(0, 0, 0, 0.3);
1504
- opacity: 1;
1505
- }
1506
-
1507
- .TextField > .border {
1508
- border-bottom: 1px solid rgb(224, 224, 224);
1509
- height: 1px;
1510
- position: relative;
1511
- }
1512
-
1513
- .TextField > .border .line {
1514
- left: 50%;
1515
- width: 0;
1516
- height: 2px;
1517
- min-height: 2px;
1518
- background-color: rgb(0, 188, 212);
1519
- transition: all 0.2s ease;
1520
- position: absolute;
1521
- }
1522
-
1523
- .TextField > .error {
1524
- text-align: left;
1525
- font-size: 10px;
1526
- min-height: 0;
1527
- line-height: 14px;
1528
- color: rgb(244, 67, 54);
1529
- visibility: hidden;
1530
- opacity: 0;
1531
- transition: all 0.2s ease;
1532
- }
1533
-
1534
- .TextField.focused > label, .TextField.withValue > label {
1535
- top: 4px;
1536
- font-size: 12px;
1537
- line-height: 14px;
1538
- }
1539
-
1540
- .TextField.errored > .error {
1541
- visibility: visible;
1542
- opacity: 1;
1543
- }
1544
-
1545
- .TextField.errored > .border {
1546
- border-bottom-color: rgb(244, 67, 54);
1547
- }
1548
-
1549
- .TextField.errored > label {
1550
- color: rgb(244, 67, 54);
1551
- }
1552
-
1553
- .TextField.focused > label {
1554
- color: rgb(0, 188, 212);
1555
- }
1556
-
1557
- .TextField.focused > .border .line {
1558
- left: 0;
1559
- width: 100%;
1560
- }
1561
-
1562
- .TextField.disabled label, .TextField.disabled input {
1563
- cursor: not-allowed;
1564
- }
1565
-
1566
- .TextField.withLabel {
1567
- margin-top: 15px;
1568
- }
1569
-
1570
- .TextField input::-webkit-contacts-auto-fill-button {
1571
- visibility: hidden;
1572
- display: none !important;
1573
- pointer-events: none;
1574
- position: absolute;
1575
- right: 0;
1576
- }
1577
-
1578
- .TextField input:-webkit-autofill {
1579
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1580
- }
1581
-
1582
- @keyframes shake {
1583
- 0%, 100% {
1584
- transform: translateX(0);
1585
- }
1586
- 20%, 60% {
1587
- transform: translateX(-5px);
1588
- }
1589
- 40%, 80% {
1590
- transform: translateX(5px);
1591
- }
1592
- }
1593
- .TextField .shake {
1594
- animation-duration: 0.5s;
1595
- animation-fill-mode: both;
1596
- animation-timing-function: ease-in-out;
1597
- animation-name: shake;
1598
- }
1599
-
1600
1489
  .Switch {
1601
1490
  display: inline-flex;
1602
1491
  padding-top: 5px;
@@ -1679,134 +1568,147 @@
1679
1568
  display: none;
1680
1569
  }
1681
1570
 
1682
- .Modal {
1683
- display: block;
1684
- position: fixed;
1685
- top: 0;
1686
- left: 0;
1687
- right: 0;
1688
- bottom: 100%;
1689
- overflow-y: scroll;
1690
- transition: bottom 0ms linear;
1691
- transition-delay: 0.2s;
1571
+ .TextField {
1572
+ position: relative;
1573
+ width: 100%;
1574
+ }
1575
+
1576
+ .TextField > label {
1577
+ font-family: Roboto, sans-serif;
1578
+ color: rgba(0, 0, 0, 0.5);
1579
+ font-size: 16px;
1580
+ position: absolute;
1581
+ left: 0px;
1582
+ top: 16px;
1583
+ margin-top: -16px;
1584
+ transition: all 0.2s ease;
1585
+ user-select: none;
1586
+ cursor: text;
1587
+ }
1588
+
1589
+ .TextField > input {
1590
+ font-family: Roboto, sans-serif;
1591
+ color: #1e252d;
1592
+ height: 19px;
1593
+ font-size: 16px;
1594
+ width: 100%;
1595
+ border: 0px;
1596
+ padding-bottom: 4px;
1597
+ padding-top: 0;
1598
+ outline-color: rgba(0, 0, 0, 0);
1599
+ }
1600
+
1601
+ .TextField > input:focus {
1602
+ outline: none;
1603
+ }
1604
+
1605
+ .TextField > input:disabled {
1606
+ color: gray;
1607
+ background-color: white;
1692
1608
  }
1693
1609
 
1694
- .Modal.show {
1695
- transition-delay: 0s;
1696
- bottom: 0;
1610
+ .TextField > input:disabled + .border {
1611
+ height: 0px;
1612
+ border-bottom: 2px dotted rgb(224, 224, 224);
1697
1613
  }
1698
1614
 
1699
- .Modal > .overlay {
1700
- position: fixed;
1701
- top: 0;
1702
- bottom: 100%;
1703
- left: 0;
1704
- right: 0;
1705
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1706
- opacity: 0;
1707
- background-color: black;
1708
- pointer-events: none;
1615
+ .TextField > input::placeholder {
1616
+ font-family: Roboto, sans-serif;
1617
+ color: rgba(0, 0, 0, 0.3);
1618
+ opacity: 1;
1709
1619
  }
1710
1620
 
1711
- .Modal > .overlay.show {
1712
- opacity: 0.5;
1713
- bottom: 0;
1621
+ .TextField > .border {
1622
+ border-bottom: 1px solid rgb(224, 224, 224);
1623
+ height: 1px;
1624
+ position: relative;
1714
1625
  }
1715
1626
 
1716
- .Modal > .content {
1627
+ .TextField > .border .line {
1717
1628
  left: 50%;
1718
- top: 10vh;
1719
- margin-bottom: 10vh;
1720
- font-size: 16px;
1721
- padding: 0;
1722
- opacity: 0;
1723
- transition: opacity 0.25s ease, transform 0.25s ease;
1724
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1725
- transform-origin: top;
1629
+ width: 0;
1630
+ height: 2px;
1631
+ min-height: 2px;
1632
+ background-color: rgb(0, 188, 212);
1633
+ transition: all 0.2s ease;
1726
1634
  position: absolute;
1727
- border-radius: 2px;
1728
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1729
1635
  }
1730
1636
 
1731
- .Modal > .content.show {
1732
- opacity: 1;
1733
- transform: scaleY(1) translateY(0px) translateX(-50%);
1637
+ .TextField > .error {
1638
+ text-align: left;
1639
+ font-size: 10px;
1640
+ min-height: 0;
1641
+ line-height: 14px;
1642
+ color: rgb(244, 67, 54);
1643
+ visibility: hidden;
1644
+ opacity: 0;
1645
+ transition: all 0.2s ease;
1734
1646
  }
1735
1647
 
1736
- .Modal > .content > .Scrollable {
1737
- overflow: visible;
1738
- max-height: 80vh;
1648
+ .TextField.focused > label, .TextField.withValue > label {
1649
+ top: 4px;
1650
+ font-size: 12px;
1651
+ line-height: 14px;
1739
1652
  }
1740
1653
 
1741
- .Modal > .content > .Scrollable > .viewport {
1742
- min-width: 10px;
1743
- min-height: 10px;
1654
+ .TextField.errored > .error {
1655
+ visibility: visible;
1656
+ opacity: 1;
1744
1657
  }
1745
1658
 
1746
- .Modal > .content > .Button.close {
1747
- top: 10px;
1748
- right: 10px;
1749
- position: absolute;
1659
+ .TextField.errored > .border {
1660
+ border-bottom-color: rgb(244, 67, 54);
1750
1661
  }
1751
1662
 
1752
- .Dropzone {
1753
- position: relative;
1663
+ .TextField.errored > label {
1664
+ color: rgb(244, 67, 54);
1754
1665
  }
1755
1666
 
1756
- .Dropzone > .overlay {
1757
- position: absolute;
1758
- left: 0;
1759
- right: 0;
1760
- top: 0;
1761
- bottom: 0;
1762
- background-color: #38ADC4;
1763
- z-index: 1;
1764
- opacity: 0;
1765
- transition: all 0.2s ease;
1766
- transition-delay: 100ms;
1767
- visibility: hidden;
1768
- display: flex;
1769
- justify-content: center;
1770
- align-items: center;
1667
+ .TextField.focused > label {
1668
+ color: rgb(0, 188, 212);
1771
1669
  }
1772
1670
 
1773
- .Dropzone > .overlay .drop {
1774
- border-radius: 4px;
1775
- border: 1px dashed #FFFFFF;
1776
- position: absolute;
1777
- top: 18px;
1778
- left: 18px;
1779
- right: 18px;
1780
- bottom: 18px;
1781
- display: flex;
1782
- justify-content: center;
1783
- align-items: center;
1784
- font-weight: 500;
1785
- font-size: 18px;
1786
- color: #FFFFFF;
1671
+ .TextField.focused > .border .line {
1672
+ left: 0;
1673
+ width: 100%;
1787
1674
  }
1788
1675
 
1789
- .Dropzone.dragging > .overlay {
1790
- opacity: 0.7;
1791
- visibility: visible;
1792
- transition-delay: 0s;
1676
+ .TextField.disabled label, .TextField.disabled input {
1677
+ cursor: not-allowed;
1793
1678
  }
1794
1679
 
1795
- .Dropzone.dragging > * {
1796
- pointer-events: none;
1680
+ .TextField.withLabel {
1681
+ margin-top: 15px;
1797
1682
  }
1798
1683
 
1799
- .Dropzone > input.file {
1684
+ .TextField input::-webkit-contacts-auto-fill-button {
1685
+ visibility: hidden;
1686
+ display: none !important;
1687
+ pointer-events: none;
1800
1688
  position: absolute;
1801
- left: 0;
1802
1689
  right: 0;
1803
- top: 0;
1804
- bottom: 0;
1805
- width: 100%;
1806
- height: 100%;
1807
- opacity: 0;
1808
- cursor: pointer;
1809
- z-index: 1;
1690
+ }
1691
+
1692
+ .TextField input:-webkit-autofill {
1693
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1694
+ }
1695
+
1696
+ @keyframes shake {
1697
+ 0%, 100% {
1698
+ transform: translateX(0);
1699
+ }
1700
+ 20%, 60% {
1701
+ transform: translateX(-5px);
1702
+ }
1703
+ 40%, 80% {
1704
+ transform: translateX(5px);
1705
+ }
1706
+ }
1707
+ .TextField .shake {
1708
+ animation-duration: 0.5s;
1709
+ animation-fill-mode: both;
1710
+ animation-timing-function: ease-in-out;
1711
+ animation-name: shake;
1810
1712
  }
1811
1713
 
1812
1714
  .ScrollableTable .Scrollable .scrollbar {
@@ -1937,4 +1839,102 @@
1937
1839
 
1938
1840
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1939
1841
  margin: 0;
1842
+ }
1843
+
1844
+ .Scrollable {
1845
+ max-height: 250px;
1846
+ max-width: 250px;
1847
+ padding-right: 5px;
1848
+ position: relative;
1849
+ display: flex;
1850
+ flex-flow: column;
1851
+ align-items: stretch;
1852
+ overflow: hidden;
1853
+ }
1854
+
1855
+ .Scrollable:hover > .scrollbar.auto {
1856
+ transition-delay: 0s;
1857
+ opacity: 1;
1858
+ }
1859
+
1860
+ .Scrollable .viewport {
1861
+ overflow-y: scroll;
1862
+ overflow-x: scroll;
1863
+ max-height: 100%;
1864
+ scrollbar-width: none;
1865
+ }
1866
+
1867
+ .Scrollable .viewport::-webkit-scrollbar {
1868
+ display: none;
1869
+ }
1870
+
1871
+ .Scrollable.without-scroll-horizontal {
1872
+ max-width: unset;
1873
+ }
1874
+
1875
+ .Scrollable.undefined-horizontal {
1876
+ max-width: unset;
1877
+ }
1878
+
1879
+ .Scrollable.without-scroll {
1880
+ padding-right: 0;
1881
+ max-height: unset;
1882
+ }
1883
+
1884
+ .Scrollable.without-scroll > .viewport {
1885
+ padding-right: 0;
1886
+ margin-right: 0;
1887
+ }
1888
+
1889
+ .Scrollable.without-scroll > .scrollbar {
1890
+ visibility: hidden;
1891
+ }
1892
+
1893
+ .Scrollable .scrollbar {
1894
+ position: absolute;
1895
+ right: 0px;
1896
+ top: 0px;
1897
+ width: 5px;
1898
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1899
+ transition-delay: 0.5s;
1900
+ z-index: 1;
1901
+ }
1902
+
1903
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1904
+ opacity: 0;
1905
+ }
1906
+
1907
+ .Scrollable .scrollbar .thumb {
1908
+ background-color: rgba(0, 0, 0, 0.3);
1909
+ width: 5px;
1910
+ position: absolute;
1911
+ right: 0px;
1912
+ top: 0px;
1913
+ user-select: none;
1914
+ will-change: top;
1915
+ border-radius: 2px;
1916
+ }
1917
+
1918
+ .Scrollable .scrollbar .thumb:hover {
1919
+ background-color: rgba(0, 0, 0, 0.5);
1920
+ }
1921
+
1922
+ .Scrollable .scrollbar .thumb:active {
1923
+ background-color: rgba(0, 0, 0, 0.7);
1924
+ }
1925
+
1926
+ .Scrollable .scrollbar.horizontal {
1927
+ left: 0px;
1928
+ right: 0px;
1929
+ height: 5px;
1930
+ bottom: 0;
1931
+ width: unset;
1932
+ top: unset;
1933
+ }
1934
+
1935
+ .Scrollable .scrollbar.horizontal .thumb {
1936
+ height: 5px;
1937
+ left: 0px;
1938
+ bottom: 0px;
1939
+ will-change: left;
1940
1940
  }