react-ui-basics 0.0.236 → 0.0.238

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
  .AutocompleteSelect {
2
11
  display: inline-flex;
3
12
  flex-flow: column;
@@ -293,15 +302,6 @@
293
302
  position: absolute;
294
303
  }
295
304
 
296
- .animated {
297
- transition: opacity 250ms ease;
298
- opacity: 0;
299
- }
300
-
301
- .animated.mounting, .animated.mounted {
302
- opacity: 1;
303
- }
304
-
305
305
  .DNDContainer .DroppableList .Draggable {
306
306
  transform: unset;
307
307
  transition: unset;
@@ -555,6 +555,172 @@
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
+ .DialogModal {
626
+ overflow: hidden;
627
+ }
628
+
629
+ .DialogModal .content {
630
+ top: 20vh;
631
+ }
632
+
633
+ .Dialog {
634
+ background-color: white;
635
+ min-width: 460px;
636
+ max-width: 40vw;
637
+ padding: 15px;
638
+ }
639
+
640
+ .Dialog .title {
641
+ margin-bottom: 15px;
642
+ padding: 20px 50px 0px 30px;
643
+ font-size: 1.25rem;
644
+ line-height: 2rem;
645
+ font-weight: 400;
646
+ letter-spacing: 0.0125em;
647
+ }
648
+
649
+ .Dialog .description {
650
+ color: rgba(0, 0, 0, 0.54);
651
+ font-size: 1rem;
652
+ line-height: 1.5rem;
653
+ font-weight: 400;
654
+ letter-spacing: 0.03125em;
655
+ margin-top: 20px;
656
+ padding: 0 24px 24px;
657
+ }
658
+
659
+ .Dialog > div.row {
660
+ margin-bottom: 15px;
661
+ }
662
+
663
+ .Dialog > div.row:last-child {
664
+ margin-bottom: 0;
665
+ }
666
+
667
+ .DNDContainer {
668
+ position: relative;
669
+ }
670
+
671
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
672
+ cursor: pointer;
673
+ }
674
+
675
+ .DNDContainer .Draggable.placeholder {
676
+ opacity: 0.2;
677
+ }
678
+
679
+ .DNDContainer .Draggable.copy {
680
+ position: absolute;
681
+ box-sizing: border-box;
682
+ will-change: transform;
683
+ opacity: 0;
684
+ }
685
+
686
+ .DNDContainer .Draggable.dragged {
687
+ z-index: 10;
688
+ }
689
+
690
+ .DNDContainer .overlay {
691
+ position: absolute;
692
+ top: 0;
693
+ left: 0;
694
+ right: 0;
695
+ bottom: 0;
696
+ pointer-events: none;
697
+ }
698
+
699
+ .CalendarMonthView {
700
+ display: flex;
701
+ flex-flow: column nowrap;
702
+ height: 100%;
703
+ }
704
+
705
+ .CalendarMonthView > .row {
706
+ display: flex;
707
+ flex-flow: row nowrap;
708
+ }
709
+
710
+ .CalendarMonthView .days {
711
+ flex-grow: 1;
712
+ position: relative;
713
+ }
714
+
715
+ .CalendarMonthView .day, .CalendarMonthView .header {
716
+ flex-grow: 1;
717
+ flex-basis: 1px;
718
+ }
719
+
720
+ .CalendarMonthView .day {
721
+ height: 100%;
722
+ }
723
+
558
724
  .Button {
559
725
  position: relative;
560
726
  min-width: 64px;
@@ -721,71 +887,55 @@
721
887
  border: 0;
722
888
  }
723
889
 
724
- .Checkbox {
725
- position: relative;
726
- white-space: pre;
890
+ .DropFileInput {
891
+ flex-grow: 1;
727
892
  }
728
893
 
729
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
730
- box-sizing: border-box;
894
+ .DropFileInput .Dropzone {
895
+ border: 1px dashed #808080;
896
+ padding: 12px;
897
+ display: flex;
898
+ flex-flow: row nowrap;
899
+ justify-content: center;
900
+ align-items: center;
901
+ color: gray;
902
+ cursor: pointer;
903
+ border-radius: 3px;
904
+ font-weight: normal;
905
+ line-height: 22px;
906
+ font-size: 14px;
907
+ color: #7E7E7E;
908
+ max-width: 100%;
909
+ word-break: break-all;
910
+ word-break: break-word;
731
911
  }
732
912
 
733
- .Checkbox label {
734
- font-family: Roboto, sans-serif;
735
- font-size: 14px;
736
- color: #1e252d;
737
- cursor: pointer;
913
+ .DropFileInput .Dropzone .icon.withText {
914
+ margin-right: 10px;
738
915
  }
739
916
 
740
- .Checkbox label:before, .Checkbox label:after {
741
- content: "";
917
+ .Button.FloatingActionButton {
742
918
  position: absolute;
743
- left: 0;
744
- top: 0;
919
+ right: 16px;
920
+ bottom: 16px;
921
+ width: 56px;
922
+ height: 56px;
923
+ padding: 16px;
924
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
745
925
  }
746
926
 
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;
927
+ .Button.FloatingActionButton.raised {
928
+ 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);
755
929
  }
756
930
 
757
- .Checkbox input[type=checkbox] {
758
- outline: 0;
759
- margin-right: 10px;
760
- visibility: hidden;
931
+ .Button.FloatingActionButton.mini {
932
+ width: 40px;
933
+ height: 40px;
934
+ padding: 8px;
761
935
  }
762
936
 
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);
937
+ .Button.FloatingActionButton.hidden {
938
+ bottom: -100px;
789
939
  }
790
940
 
791
941
  .DatePicker {
@@ -905,31 +1055,6 @@
905
1055
  background-color: #51adf6;
906
1056
  }
907
1057
 
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
1058
  .FilteredList {
934
1059
  max-height: 250px;
935
1060
  position: relative;
@@ -1014,75 +1139,6 @@
1014
1139
  margin-bottom: 8px;
1015
1140
  }
1016
1141
 
1017
- .CircleProgress {
1018
- width: 48px;
1019
- height: 48px;
1020
- }
1021
-
1022
- .CircleProgress .line {
1023
- stroke-width: 2px;
1024
- stroke: black;
1025
- stroke-linecap: square;
1026
- fill: none;
1027
- transition: stroke-dashoffset 0.2s ease;
1028
- }
1029
-
1030
- .DNDContainer {
1031
- position: relative;
1032
- }
1033
-
1034
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1035
- cursor: pointer;
1036
- }
1037
-
1038
- .DNDContainer .Draggable.placeholder {
1039
- opacity: 0.2;
1040
- }
1041
-
1042
- .DNDContainer .Draggable.copy {
1043
- position: absolute;
1044
- box-sizing: border-box;
1045
- will-change: transform;
1046
- opacity: 0;
1047
- }
1048
-
1049
- .DNDContainer .Draggable.dragged {
1050
- z-index: 10;
1051
- }
1052
-
1053
- .DNDContainer .overlay {
1054
- position: absolute;
1055
- top: 0;
1056
- left: 0;
1057
- right: 0;
1058
- bottom: 0;
1059
- pointer-events: none;
1060
- }
1061
-
1062
- .Button.FloatingActionButton {
1063
- position: absolute;
1064
- right: 16px;
1065
- bottom: 16px;
1066
- width: 56px;
1067
- height: 56px;
1068
- padding: 16px;
1069
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1070
- }
1071
-
1072
- .Button.FloatingActionButton.raised {
1073
- 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);
1074
- }
1075
-
1076
- .Button.FloatingActionButton.mini {
1077
- width: 40px;
1078
- height: 40px;
1079
- padding: 8px;
1080
- }
1081
-
1082
- .Button.FloatingActionButton.hidden {
1083
- bottom: -100px;
1084
- }
1085
-
1086
1142
  .Dropzone {
1087
1143
  position: relative;
1088
1144
  }
@@ -1143,51 +1199,72 @@
1143
1199
  z-index: 1;
1144
1200
  }
1145
1201
 
1146
- .Snackbar {
1147
- transform: translateX(-50%);
1148
- overflow: hidden;
1149
- background-color: #323232;
1150
- padding: 14px 24px 14px 24px;
1151
- color: #fff;
1152
- min-width: 288px;
1153
- max-width: 568px;
1154
- position: fixed;
1155
- bottom: -50px;
1156
- left: 50%;
1157
- display: flex;
1158
- flex-wrap: nowrap;
1159
- align-items: center;
1160
- opacity: 0;
1161
- transition: bottom 0.25s ease, opacity 0.2s ease;
1162
- border-radius: 4px;
1163
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1202
+ .CircleProgress {
1203
+ width: 48px;
1204
+ height: 48px;
1164
1205
  }
1165
1206
 
1166
- .Snackbar.shown {
1167
- bottom: 15px;
1168
- opacity: 1;
1207
+ .CircleProgress .line {
1208
+ stroke-width: 2px;
1209
+ stroke: black;
1210
+ stroke-linecap: square;
1211
+ fill: none;
1212
+ transition: stroke-dashoffset 0.2s ease;
1169
1213
  }
1170
1214
 
1171
- .Snackbar .message {
1172
- overflow: hidden;
1173
- line-height: 1.2em;
1174
- min-height: 1.2em;
1175
- max-height: 2.4em;
1176
- flex: 1;
1215
+ .SpinningProgress {
1216
+ width: 48px;
1217
+ height: 48px;
1218
+ position: relative;
1219
+ margin: 0 auto;
1177
1220
  }
1178
1221
 
1179
- .Snackbar .action {
1180
- text-transform: uppercase;
1181
- font-weight: bold;
1182
- margin-left: 48px;
1183
- color: #bf3727;
1222
+ .SpinningProgress:before {
1223
+ content: "";
1224
+ display: block;
1225
+ padding-top: 100%;
1184
1226
  }
1185
1227
 
1186
- .Snackbar .action a {
1187
- text-decoration: none;
1188
- color: #bf3727;
1228
+ .SpinningProgress .circular {
1229
+ animation: rotate 2s linear infinite;
1230
+ height: 100%;
1231
+ transform-origin: center center;
1232
+ width: 100%;
1233
+ position: absolute;
1234
+ top: 0;
1235
+ bottom: 0;
1236
+ left: 0;
1237
+ right: 0;
1238
+ margin: auto;
1239
+ }
1240
+
1241
+ .SpinningProgress .line {
1242
+ stroke: black;
1243
+ stroke-width: 2px;
1244
+ stroke-dasharray: 1, 96;
1245
+ stroke-dashoffset: 0;
1246
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1189
1247
  }
1190
1248
 
1249
+ @keyframes rotate {
1250
+ 100% {
1251
+ transform: rotate(360deg);
1252
+ }
1253
+ }
1254
+ @keyframes dash {
1255
+ 0% {
1256
+ stroke-dasharray: 1, 96;
1257
+ stroke-dashoffset: 0;
1258
+ }
1259
+ 50% {
1260
+ stroke-dasharray: 43, 96;
1261
+ stroke-dashoffset: -17px;
1262
+ }
1263
+ 100% {
1264
+ stroke-dasharray: 43, 96;
1265
+ stroke-dashoffset: -53px;
1266
+ }
1267
+ }
1191
1268
  .FormUploadProgress {
1192
1269
  position: absolute;
1193
1270
  left: 0;
@@ -1257,279 +1334,38 @@
1257
1334
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1258
1335
  }
1259
1336
 
1260
- .DialogModal {
1261
- overflow: hidden;
1262
- }
1263
-
1264
- .DialogModal .content {
1265
- top: 20vh;
1337
+ .Modal {
1338
+ display: block;
1339
+ position: fixed;
1340
+ top: 0;
1341
+ left: 0;
1342
+ right: 0;
1343
+ bottom: 100%;
1344
+ overflow-y: scroll;
1345
+ transition: bottom 0ms linear;
1346
+ transition-delay: 0.2s;
1266
1347
  }
1267
1348
 
1268
- .Dialog {
1269
- background-color: white;
1270
- min-width: 460px;
1271
- max-width: 40vw;
1272
- padding: 15px;
1349
+ .Modal.show {
1350
+ transition-delay: 0s;
1351
+ bottom: 0;
1273
1352
  }
1274
1353
 
1275
- .Dialog .title {
1276
- margin-bottom: 15px;
1277
- padding: 20px 50px 0px 30px;
1278
- font-size: 1.25rem;
1279
- line-height: 2rem;
1280
- font-weight: 400;
1281
- letter-spacing: 0.0125em;
1354
+ .Modal > .overlay {
1355
+ position: fixed;
1356
+ top: 0;
1357
+ bottom: 100%;
1358
+ left: 0;
1359
+ right: 0;
1360
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1361
+ opacity: 0;
1362
+ background-color: black;
1363
+ pointer-events: none;
1282
1364
  }
1283
1365
 
1284
- .Dialog .description {
1285
- color: rgba(0, 0, 0, 0.54);
1286
- font-size: 1rem;
1287
- line-height: 1.5rem;
1288
- font-weight: 400;
1289
- letter-spacing: 0.03125em;
1290
- margin-top: 20px;
1291
- padding: 0 24px 24px;
1292
- }
1293
-
1294
- .Dialog > div.row {
1295
- margin-bottom: 15px;
1296
- }
1297
-
1298
- .Dialog > div.row:last-child {
1299
- margin-bottom: 0;
1300
- }
1301
-
1302
- .ModalMenu {
1303
- position: absolute;
1304
- top: 10px;
1305
- right: 50px;
1306
- }
1307
-
1308
- .ModalMenu .material-icons {
1309
- color: #818181;
1310
- }
1311
-
1312
- .ModalMenu .Button.animated {
1313
- position: absolute;
1314
- transition: opacity 150ms ease-in, right 200ms ease-in;
1315
- opacity: 0;
1316
- right: 0;
1317
- top: 0;
1318
- }
1319
-
1320
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1321
- opacity: 1;
1322
- }
1323
-
1324
- .ModalMenu .Button.animated.unmounting {
1325
- transition: opacity 100ms ease-out, right 200ms ease-out;
1326
- }
1327
-
1328
- .ModalMenu .Button.active {
1329
- background: #EBEBEB;
1330
- }
1331
-
1332
- .ModalMenu .separator {
1333
- height: 24px;
1334
- width: 1px;
1335
- background-color: #D9D9D9;
1336
- margin-left: 4px;
1337
- }
1338
-
1339
- .Switch {
1340
- display: inline-flex;
1341
- padding-top: 5px;
1342
- }
1343
-
1344
- .Switch .switch-input {
1345
- display: none;
1346
- }
1347
-
1348
- .Switch .switch-label {
1349
- position: relative;
1350
- display: inline-flex;
1351
- align-items: center;
1352
- min-width: 38px;
1353
- height: 24px;
1354
- cursor: pointer;
1355
- font-weight: 500;
1356
- text-align: left;
1357
- user-select: none;
1358
- margin: 0;
1359
- padding: 0;
1360
- padding-left: 44px;
1361
- box-sizing: border-box;
1362
- }
1363
-
1364
- .Switch .switch-label:before, .Switch .switch-label:after {
1365
- content: "";
1366
- box-sizing: border-box;
1367
- position: absolute;
1368
- margin: 0;
1369
- outline: 0;
1370
- top: 50%;
1371
- transform: translate(0, -50%);
1372
- transition: all 0.3s ease;
1373
- }
1374
-
1375
- .Switch .switch-label:before {
1376
- left: 1px;
1377
- width: 34px;
1378
- height: 14px;
1379
- background-color: #9E9E9E;
1380
- border-radius: 8px;
1381
- }
1382
-
1383
- .Switch .switch-label:after {
1384
- left: 0;
1385
- width: 20px;
1386
- height: 20px;
1387
- background-color: #FAFAFA;
1388
- border-radius: 50%;
1389
- 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);
1390
- }
1391
-
1392
- .Switch .switch-label .toggle--on {
1393
- display: none;
1394
- }
1395
-
1396
- .Switch .switch-label .toggle--off {
1397
- display: inline-block;
1398
- }
1399
-
1400
- .Switch .switch-label .label {
1401
- margin-right: 5px;
1402
- }
1403
-
1404
- .Switch .switch-input:checked + .switch-label:before {
1405
- background-color: #A5D6A7;
1406
- }
1407
-
1408
- .Switch .switch-input:checked + .switch-label:after {
1409
- background-color: #4CAF50;
1410
- transform: translate(80%, -50%);
1411
- }
1412
-
1413
- .Switch .switch-input:checked + .switch-label .toggle--on {
1414
- display: inline-block;
1415
- }
1416
-
1417
- .Switch .switch-input:checked + .switch-label .toggle--off {
1418
- display: none;
1419
- }
1420
-
1421
- .DropFileInput {
1422
- flex-grow: 1;
1423
- }
1424
-
1425
- .DropFileInput .Dropzone {
1426
- border: 1px dashed #808080;
1427
- padding: 12px;
1428
- display: flex;
1429
- flex-flow: row nowrap;
1430
- justify-content: center;
1431
- align-items: center;
1432
- color: gray;
1433
- cursor: pointer;
1434
- border-radius: 3px;
1435
- font-weight: normal;
1436
- line-height: 22px;
1437
- font-size: 14px;
1438
- color: #7E7E7E;
1439
- max-width: 100%;
1440
- word-break: break-all;
1441
- word-break: break-word;
1442
- }
1443
-
1444
- .DropFileInput .Dropzone .icon.withText {
1445
- margin-right: 10px;
1446
- }
1447
-
1448
- .SpinningProgress {
1449
- width: 48px;
1450
- height: 48px;
1451
- position: relative;
1452
- margin: 0 auto;
1453
- }
1454
-
1455
- .SpinningProgress:before {
1456
- content: "";
1457
- display: block;
1458
- padding-top: 100%;
1459
- }
1460
-
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;
1472
- }
1473
-
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;
1480
- }
1481
-
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
- .Modal {
1502
- display: block;
1503
- position: fixed;
1504
- top: 0;
1505
- left: 0;
1506
- right: 0;
1507
- bottom: 100%;
1508
- overflow-y: scroll;
1509
- transition: bottom 0ms linear;
1510
- transition-delay: 0.2s;
1511
- }
1512
-
1513
- .Modal.show {
1514
- transition-delay: 0s;
1515
- bottom: 0;
1516
- }
1517
-
1518
- .Modal > .overlay {
1519
- position: fixed;
1520
- top: 0;
1521
- bottom: 100%;
1522
- left: 0;
1523
- right: 0;
1524
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1525
- opacity: 0;
1526
- background-color: black;
1527
- pointer-events: none;
1528
- }
1529
-
1530
- .Modal > .overlay.show {
1531
- opacity: 0.5;
1532
- bottom: 0;
1366
+ .Modal > .overlay.show {
1367
+ opacity: 0.5;
1368
+ bottom: 0;
1533
1369
  }
1534
1370
 
1535
1371
  .Modal > .content {
@@ -1568,147 +1404,86 @@
1568
1404
  position: absolute;
1569
1405
  }
1570
1406
 
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;
1608
- }
1609
-
1610
- .TextField > input:disabled + .border {
1611
- height: 0px;
1612
- border-bottom: 2px dotted rgb(224, 224, 224);
1613
- }
1614
-
1615
- .TextField > input::placeholder {
1616
- font-family: Roboto, sans-serif;
1617
- color: rgba(0, 0, 0, 0.3);
1618
- opacity: 1;
1619
- }
1620
-
1621
- .TextField > .border {
1622
- border-bottom: 1px solid rgb(224, 224, 224);
1623
- height: 1px;
1624
- position: relative;
1625
- }
1626
-
1627
- .TextField > .border .line {
1407
+ .Snackbar {
1408
+ transform: translateX(-50%);
1409
+ overflow: hidden;
1410
+ background-color: #323232;
1411
+ padding: 14px 24px 14px 24px;
1412
+ color: #fff;
1413
+ min-width: 288px;
1414
+ max-width: 568px;
1415
+ position: fixed;
1416
+ bottom: -50px;
1628
1417
  left: 50%;
1629
- width: 0;
1630
- height: 2px;
1631
- min-height: 2px;
1632
- background-color: rgb(0, 188, 212);
1633
- transition: all 0.2s ease;
1634
- position: absolute;
1635
- }
1636
-
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;
1418
+ display: flex;
1419
+ flex-wrap: nowrap;
1420
+ align-items: center;
1644
1421
  opacity: 0;
1645
- transition: all 0.2s ease;
1646
- }
1647
-
1648
- .TextField.focused > label, .TextField.withValue > label {
1649
- top: 4px;
1650
- font-size: 12px;
1651
- line-height: 14px;
1422
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1423
+ border-radius: 4px;
1424
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1652
1425
  }
1653
1426
 
1654
- .TextField.errored > .error {
1655
- visibility: visible;
1427
+ .Snackbar.shown {
1428
+ bottom: 15px;
1656
1429
  opacity: 1;
1657
1430
  }
1658
1431
 
1659
- .TextField.errored > .border {
1660
- border-bottom-color: rgb(244, 67, 54);
1661
- }
1662
-
1663
- .TextField.errored > label {
1664
- color: rgb(244, 67, 54);
1432
+ .Snackbar .message {
1433
+ overflow: hidden;
1434
+ line-height: 1.2em;
1435
+ min-height: 1.2em;
1436
+ max-height: 2.4em;
1437
+ flex: 1;
1665
1438
  }
1666
1439
 
1667
- .TextField.focused > label {
1668
- color: rgb(0, 188, 212);
1440
+ .Snackbar .action {
1441
+ text-transform: uppercase;
1442
+ font-weight: bold;
1443
+ margin-left: 48px;
1444
+ color: #bf3727;
1669
1445
  }
1670
1446
 
1671
- .TextField.focused > .border .line {
1672
- left: 0;
1673
- width: 100%;
1447
+ .Snackbar .action a {
1448
+ text-decoration: none;
1449
+ color: #bf3727;
1674
1450
  }
1675
1451
 
1676
- .TextField.disabled label, .TextField.disabled input {
1677
- cursor: not-allowed;
1452
+ .ModalMenu {
1453
+ position: absolute;
1454
+ top: 10px;
1455
+ right: 50px;
1678
1456
  }
1679
1457
 
1680
- .TextField.withLabel {
1681
- margin-top: 15px;
1458
+ .ModalMenu .material-icons {
1459
+ color: #818181;
1682
1460
  }
1683
1461
 
1684
- .TextField input::-webkit-contacts-auto-fill-button {
1685
- visibility: hidden;
1686
- display: none !important;
1687
- pointer-events: none;
1462
+ .ModalMenu .Button.animated {
1688
1463
  position: absolute;
1464
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1465
+ opacity: 0;
1689
1466
  right: 0;
1467
+ top: 0;
1690
1468
  }
1691
1469
 
1692
- .TextField input:-webkit-autofill {
1693
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1470
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1471
+ opacity: 1;
1472
+ }
1473
+
1474
+ .ModalMenu .Button.animated.unmounting {
1475
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1694
1476
  }
1695
1477
 
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
- }
1478
+ .ModalMenu .Button.active {
1479
+ background: #EBEBEB;
1706
1480
  }
1707
- .TextField .shake {
1708
- animation-duration: 0.5s;
1709
- animation-fill-mode: both;
1710
- animation-timing-function: ease-in-out;
1711
- animation-name: shake;
1481
+
1482
+ .ModalMenu .separator {
1483
+ height: 24px;
1484
+ width: 1px;
1485
+ background-color: #D9D9D9;
1486
+ margin-left: 4px;
1712
1487
  }
1713
1488
 
1714
1489
  .Scrollable {
@@ -1809,12 +1584,86 @@
1809
1584
  will-change: left;
1810
1585
  }
1811
1586
 
1812
- .ScrollableTable .Scrollable .scrollbar {
1813
- top: 56px;
1587
+ .Switch {
1588
+ display: inline-flex;
1589
+ padding-top: 5px;
1814
1590
  }
1815
1591
 
1816
- .ScrollableTable .Table {
1817
- position: static;
1592
+ .Switch .switch-input {
1593
+ display: none;
1594
+ }
1595
+
1596
+ .Switch .switch-label {
1597
+ position: relative;
1598
+ display: inline-flex;
1599
+ align-items: center;
1600
+ min-width: 38px;
1601
+ height: 24px;
1602
+ cursor: pointer;
1603
+ font-weight: 500;
1604
+ text-align: left;
1605
+ user-select: none;
1606
+ margin: 0;
1607
+ padding: 0;
1608
+ padding-left: 44px;
1609
+ box-sizing: border-box;
1610
+ }
1611
+
1612
+ .Switch .switch-label:before, .Switch .switch-label:after {
1613
+ content: "";
1614
+ box-sizing: border-box;
1615
+ position: absolute;
1616
+ margin: 0;
1617
+ outline: 0;
1618
+ top: 50%;
1619
+ transform: translate(0, -50%);
1620
+ transition: all 0.3s ease;
1621
+ }
1622
+
1623
+ .Switch .switch-label:before {
1624
+ left: 1px;
1625
+ width: 34px;
1626
+ height: 14px;
1627
+ background-color: #9E9E9E;
1628
+ border-radius: 8px;
1629
+ }
1630
+
1631
+ .Switch .switch-label:after {
1632
+ left: 0;
1633
+ width: 20px;
1634
+ height: 20px;
1635
+ background-color: #FAFAFA;
1636
+ border-radius: 50%;
1637
+ 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);
1638
+ }
1639
+
1640
+ .Switch .switch-label .toggle--on {
1641
+ display: none;
1642
+ }
1643
+
1644
+ .Switch .switch-label .toggle--off {
1645
+ display: inline-block;
1646
+ }
1647
+
1648
+ .Switch .switch-label .label {
1649
+ margin-right: 5px;
1650
+ }
1651
+
1652
+ .Switch .switch-input:checked + .switch-label:before {
1653
+ background-color: #A5D6A7;
1654
+ }
1655
+
1656
+ .Switch .switch-input:checked + .switch-label:after {
1657
+ background-color: #4CAF50;
1658
+ transform: translate(80%, -50%);
1659
+ }
1660
+
1661
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1662
+ display: inline-block;
1663
+ }
1664
+
1665
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1666
+ display: none;
1818
1667
  }
1819
1668
 
1820
1669
  .Table {
@@ -1937,4 +1786,155 @@
1937
1786
 
1938
1787
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1939
1788
  margin: 0;
1789
+ }
1790
+
1791
+ .TextField {
1792
+ position: relative;
1793
+ width: 100%;
1794
+ }
1795
+
1796
+ .TextField > label {
1797
+ font-family: Roboto, sans-serif;
1798
+ color: rgba(0, 0, 0, 0.5);
1799
+ font-size: 16px;
1800
+ position: absolute;
1801
+ left: 0px;
1802
+ top: 16px;
1803
+ margin-top: -16px;
1804
+ transition: all 0.2s ease;
1805
+ user-select: none;
1806
+ cursor: text;
1807
+ }
1808
+
1809
+ .TextField > input {
1810
+ font-family: Roboto, sans-serif;
1811
+ color: #1e252d;
1812
+ height: 19px;
1813
+ font-size: 16px;
1814
+ width: 100%;
1815
+ border: 0px;
1816
+ padding-bottom: 4px;
1817
+ padding-top: 0;
1818
+ outline-color: rgba(0, 0, 0, 0);
1819
+ }
1820
+
1821
+ .TextField > input:focus {
1822
+ outline: none;
1823
+ }
1824
+
1825
+ .TextField > input:disabled {
1826
+ color: gray;
1827
+ background-color: white;
1828
+ }
1829
+
1830
+ .TextField > input:disabled + .border {
1831
+ height: 0px;
1832
+ border-bottom: 2px dotted rgb(224, 224, 224);
1833
+ }
1834
+
1835
+ .TextField > input::placeholder {
1836
+ font-family: Roboto, sans-serif;
1837
+ color: rgba(0, 0, 0, 0.3);
1838
+ opacity: 1;
1839
+ }
1840
+
1841
+ .TextField > .border {
1842
+ border-bottom: 1px solid rgb(224, 224, 224);
1843
+ height: 1px;
1844
+ position: relative;
1845
+ }
1846
+
1847
+ .TextField > .border .line {
1848
+ left: 50%;
1849
+ width: 0;
1850
+ height: 2px;
1851
+ min-height: 2px;
1852
+ background-color: rgb(0, 188, 212);
1853
+ transition: all 0.2s ease;
1854
+ position: absolute;
1855
+ }
1856
+
1857
+ .TextField > .error {
1858
+ text-align: left;
1859
+ font-size: 10px;
1860
+ min-height: 0;
1861
+ line-height: 14px;
1862
+ color: rgb(244, 67, 54);
1863
+ visibility: hidden;
1864
+ opacity: 0;
1865
+ transition: all 0.2s ease;
1866
+ }
1867
+
1868
+ .TextField.focused > label, .TextField.withValue > label {
1869
+ top: 4px;
1870
+ font-size: 12px;
1871
+ line-height: 14px;
1872
+ }
1873
+
1874
+ .TextField.errored > .error {
1875
+ visibility: visible;
1876
+ opacity: 1;
1877
+ }
1878
+
1879
+ .TextField.errored > .border {
1880
+ border-bottom-color: rgb(244, 67, 54);
1881
+ }
1882
+
1883
+ .TextField.errored > label {
1884
+ color: rgb(244, 67, 54);
1885
+ }
1886
+
1887
+ .TextField.focused > label {
1888
+ color: rgb(0, 188, 212);
1889
+ }
1890
+
1891
+ .TextField.focused > .border .line {
1892
+ left: 0;
1893
+ width: 100%;
1894
+ }
1895
+
1896
+ .TextField.disabled label, .TextField.disabled input {
1897
+ cursor: not-allowed;
1898
+ }
1899
+
1900
+ .TextField.withLabel {
1901
+ margin-top: 15px;
1902
+ }
1903
+
1904
+ .TextField input::-webkit-contacts-auto-fill-button {
1905
+ visibility: hidden;
1906
+ display: none !important;
1907
+ pointer-events: none;
1908
+ position: absolute;
1909
+ right: 0;
1910
+ }
1911
+
1912
+ .TextField input:-webkit-autofill {
1913
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1914
+ }
1915
+
1916
+ @keyframes shake {
1917
+ 0%, 100% {
1918
+ transform: translateX(0);
1919
+ }
1920
+ 20%, 60% {
1921
+ transform: translateX(-5px);
1922
+ }
1923
+ 40%, 80% {
1924
+ transform: translateX(5px);
1925
+ }
1926
+ }
1927
+ .TextField .shake {
1928
+ animation-duration: 0.5s;
1929
+ animation-fill-mode: both;
1930
+ animation-timing-function: ease-in-out;
1931
+ animation-name: shake;
1932
+ }
1933
+
1934
+ .ScrollableTable .Scrollable .scrollbar {
1935
+ top: 56px;
1936
+ }
1937
+
1938
+ .ScrollableTable .Table {
1939
+ position: static;
1940
1940
  }