react-ui-basics 0.0.190 → 0.0.192

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
@@ -526,6 +526,100 @@
526
526
  background: rgba(0, 0, 0, 0.26);
527
527
  }
528
528
 
529
+ .animated {
530
+ transition: opacity 250ms ease;
531
+ opacity: 0;
532
+ }
533
+
534
+ .animated.mounting, .animated.mounted {
535
+ opacity: 1;
536
+ }
537
+
538
+ .FilteredList {
539
+ max-height: 250px;
540
+ position: relative;
541
+ }
542
+
543
+ .FilteredList.popup {
544
+ padding: 0;
545
+ visibility: hidden;
546
+ position: absolute;
547
+ background: white;
548
+ z-index: 4;
549
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
550
+ transition: all 0.2s ease-out;
551
+ top: calc(100% + 4px);
552
+ opacity: 0;
553
+ border-radius: 2px;
554
+ }
555
+
556
+ .FilteredList.popup.visible {
557
+ opacity: 1;
558
+ visibility: visible;
559
+ }
560
+
561
+ .FilteredList.portal {
562
+ transition: opacity 0.2s ease-out;
563
+ }
564
+
565
+ .FilteredList.inline {
566
+ max-height: 225px;
567
+ margin-top: 5px;
568
+ }
569
+
570
+ .FilteredList .child {
571
+ display: flex;
572
+ flex-flow: row nowrap;
573
+ align-items: center;
574
+ white-space: nowrap;
575
+ font-size: 14px;
576
+ color: rgb(34, 34, 34);
577
+ height: 30px;
578
+ padding: 5px 10px;
579
+ padding-right: 15px;
580
+ cursor: pointer;
581
+ overflow: hidden;
582
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
583
+ border-left: 5px solid #4AC263;
584
+ padding-left: 15px;
585
+ margin-left: -5px;
586
+ }
587
+
588
+ .FilteredList .child.hidden {
589
+ height: 0 !important;
590
+ padding: 0 !important;
591
+ }
592
+
593
+ .FilteredList .child.selected {
594
+ background-color: #F0F0F0;
595
+ padding-left: 10px;
596
+ margin-left: 0px;
597
+ }
598
+
599
+ .FilteredList .child.active {
600
+ background-color: rgb(238, 238, 238);
601
+ }
602
+
603
+ .FilteredList .child {
604
+ margin-top: 8px;
605
+ }
606
+
607
+ .FilteredList .child.hidden {
608
+ margin-top: 0;
609
+ }
610
+
611
+ .FilteredList .child:not(.hidden) ~ .child {
612
+ margin-top: 0;
613
+ }
614
+
615
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
616
+ margin-bottom: 8px;
617
+ }
618
+
619
+ .FilteredList .child:not(.hidden):last-child {
620
+ margin-bottom: 8px;
621
+ }
622
+
529
623
  .DialogModal {
530
624
  overflow: hidden;
531
625
  }
@@ -568,15 +662,6 @@
568
662
  margin-bottom: 0;
569
663
  }
570
664
 
571
- .animated {
572
- transition: opacity 250ms ease;
573
- opacity: 0;
574
- }
575
-
576
- .animated.mounting, .animated.mounted {
577
- opacity: 1;
578
- }
579
-
580
665
  .CircleProgress {
581
666
  width: 48px;
582
667
  height: 48px;
@@ -590,28 +675,91 @@
590
675
  transition: stroke-dashoffset 0.2s ease;
591
676
  }
592
677
 
593
- .Button.FloatingActionButton {
678
+ .Dropzone {
679
+ position: relative;
680
+ }
681
+
682
+ .Dropzone > .overlay {
594
683
  position: absolute;
595
- right: 16px;
596
- bottom: 16px;
597
- width: 56px;
598
- height: 56px;
599
- padding: 16px;
600
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
684
+ left: 0;
685
+ right: 0;
686
+ top: 0;
687
+ bottom: 0;
688
+ background-color: #38ADC4;
689
+ z-index: 1;
690
+ opacity: 0;
691
+ transition: all 0.2s ease;
692
+ transition-delay: 100ms;
693
+ visibility: hidden;
694
+ display: flex;
695
+ justify-content: center;
696
+ align-items: center;
601
697
  }
602
698
 
603
- .Button.FloatingActionButton.raised {
604
- 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);
699
+ .Dropzone > .overlay .drop {
700
+ border-radius: 4px;
701
+ border: 1px dashed #FFFFFF;
702
+ position: absolute;
703
+ top: 18px;
704
+ left: 18px;
705
+ right: 18px;
706
+ bottom: 18px;
707
+ display: flex;
708
+ justify-content: center;
709
+ align-items: center;
710
+ font-weight: 500;
711
+ font-size: 18px;
712
+ color: #FFFFFF;
605
713
  }
606
714
 
607
- .Button.FloatingActionButton.mini {
608
- width: 40px;
609
- height: 40px;
610
- padding: 8px;
715
+ .Dropzone.dragging > .overlay {
716
+ opacity: 0.7;
717
+ visibility: visible;
718
+ transition-delay: 0s;
611
719
  }
612
720
 
613
- .Button.FloatingActionButton.hidden {
614
- bottom: -100px;
721
+ .Dropzone.dragging > * {
722
+ pointer-events: none;
723
+ }
724
+
725
+ .Dropzone > input.file {
726
+ position: absolute;
727
+ left: 0;
728
+ right: 0;
729
+ top: 0;
730
+ bottom: 0;
731
+ width: 100%;
732
+ height: 100%;
733
+ opacity: 0;
734
+ cursor: pointer;
735
+ z-index: 1;
736
+ }
737
+
738
+ .DropFileInput {
739
+ flex-grow: 1;
740
+ }
741
+
742
+ .DropFileInput .Dropzone {
743
+ border: 1px dashed #808080;
744
+ padding: 12px;
745
+ display: flex;
746
+ flex-flow: row nowrap;
747
+ justify-content: center;
748
+ align-items: center;
749
+ color: gray;
750
+ cursor: pointer;
751
+ border-radius: 3px;
752
+ font-weight: normal;
753
+ line-height: 22px;
754
+ font-size: 14px;
755
+ color: #7E7E7E;
756
+ max-width: 100%;
757
+ word-break: break-all;
758
+ word-break: break-word;
759
+ }
760
+
761
+ .DropFileInput .Dropzone .icon.withText {
762
+ margin-right: 10px;
615
763
  }
616
764
 
617
765
  .FormUploadProgress {
@@ -683,116 +831,217 @@
683
831
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
684
832
  }
685
833
 
686
- .DropFileInput {
687
- flex-grow: 1;
834
+ .Button.FloatingActionButton {
835
+ position: absolute;
836
+ right: 16px;
837
+ bottom: 16px;
838
+ width: 56px;
839
+ height: 56px;
840
+ padding: 16px;
841
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
688
842
  }
689
843
 
690
- .DropFileInput .Dropzone {
691
- border: 1px dashed #808080;
692
- padding: 12px;
693
- display: flex;
694
- flex-flow: row nowrap;
695
- justify-content: center;
696
- align-items: center;
697
- color: gray;
698
- cursor: pointer;
699
- border-radius: 3px;
700
- font-weight: normal;
701
- line-height: 22px;
702
- font-size: 14px;
703
- color: #7E7E7E;
704
- max-width: 100%;
705
- word-break: break-all;
706
- word-break: break-word;
844
+ .Button.FloatingActionButton.raised {
845
+ 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);
707
846
  }
708
847
 
709
- .DropFileInput .Dropzone .icon.withText {
710
- margin-right: 10px;
848
+ .Button.FloatingActionButton.mini {
849
+ width: 40px;
850
+ height: 40px;
851
+ padding: 8px;
711
852
  }
712
853
 
713
- .FilteredList {
714
- max-height: 250px;
715
- position: relative;
854
+ .Button.FloatingActionButton.hidden {
855
+ bottom: -100px;
716
856
  }
717
857
 
718
- .FilteredList.popup {
719
- padding: 0;
720
- visibility: hidden;
858
+ .ModalMenu {
721
859
  position: absolute;
722
- background: white;
723
- z-index: 4;
724
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
725
- transition: all 0.2s ease-out;
726
- top: calc(100% + 4px);
727
- opacity: 0;
728
- border-radius: 2px;
860
+ top: 10px;
861
+ right: 50px;
729
862
  }
730
863
 
731
- .FilteredList.popup.visible {
732
- opacity: 1;
733
- visibility: visible;
864
+ .ModalMenu .material-icons {
865
+ color: #818181;
734
866
  }
735
867
 
736
- .FilteredList.portal {
737
- transition: opacity 0.2s ease-out;
868
+ .ModalMenu .Button.animated {
869
+ position: absolute;
870
+ transition: opacity 150ms ease-in, right 200ms ease-in;
871
+ opacity: 0;
872
+ right: 0;
873
+ top: 0;
738
874
  }
739
875
 
740
- .FilteredList.inline {
741
- max-height: 225px;
742
- margin-top: 5px;
876
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
877
+ opacity: 1;
743
878
  }
744
879
 
745
- .FilteredList .child {
746
- display: flex;
747
- flex-flow: row nowrap;
880
+ .ModalMenu .Button.animated.unmounting {
881
+ transition: opacity 100ms ease-out, right 200ms ease-out;
882
+ }
883
+
884
+ .ModalMenu .Button.active {
885
+ background: #EBEBEB;
886
+ }
887
+
888
+ .ModalMenu .separator {
889
+ height: 24px;
890
+ width: 1px;
891
+ background-color: #D9D9D9;
892
+ margin-left: 4px;
893
+ }
894
+
895
+ .Switch {
896
+ display: inline-flex;
897
+ padding-top: 5px;
898
+ }
899
+
900
+ .Switch .switch-input {
901
+ display: none;
902
+ }
903
+
904
+ .Switch .switch-label {
905
+ position: relative;
906
+ display: inline-flex;
748
907
  align-items: center;
749
- white-space: nowrap;
750
- font-size: 14px;
751
- color: rgb(34, 34, 34);
752
- height: 30px;
753
- padding: 5px 10px;
754
- padding-right: 15px;
908
+ min-width: 38px;
909
+ height: 24px;
755
910
  cursor: pointer;
756
- overflow: hidden;
757
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
758
- border-left: 5px solid #4AC263;
759
- padding-left: 15px;
760
- margin-left: -5px;
911
+ font-weight: 500;
912
+ text-align: left;
913
+ user-select: none;
914
+ margin: 0;
915
+ padding: 0;
916
+ padding-left: 44px;
917
+ box-sizing: border-box;
761
918
  }
762
919
 
763
- .FilteredList .child.hidden {
764
- height: 0 !important;
765
- padding: 0 !important;
920
+ .Switch .switch-label:before, .Switch .switch-label:after {
921
+ content: "";
922
+ box-sizing: border-box;
923
+ position: absolute;
924
+ margin: 0;
925
+ outline: 0;
926
+ top: 50%;
927
+ transform: translate(0, -50%);
928
+ transition: all 0.3s ease;
766
929
  }
767
930
 
768
- .FilteredList .child.selected {
769
- background-color: #F0F0F0;
770
- padding-left: 10px;
771
- margin-left: 0px;
931
+ .Switch .switch-label:before {
932
+ left: 1px;
933
+ width: 34px;
934
+ height: 14px;
935
+ background-color: #9E9E9E;
936
+ border-radius: 8px;
772
937
  }
773
938
 
774
- .FilteredList .child.active {
775
- background-color: rgb(238, 238, 238);
939
+ .Switch .switch-label:after {
940
+ left: 0;
941
+ width: 20px;
942
+ height: 20px;
943
+ background-color: #FAFAFA;
944
+ border-radius: 50%;
945
+ 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);
776
946
  }
777
947
 
778
- .FilteredList .child {
779
- margin-top: 8px;
948
+ .Switch .switch-label .toggle--on {
949
+ display: none;
780
950
  }
781
951
 
782
- .FilteredList .child.hidden {
783
- margin-top: 0;
952
+ .Switch .switch-label .toggle--off {
953
+ display: inline-block;
784
954
  }
785
955
 
786
- .FilteredList .child:not(.hidden) ~ .child {
787
- margin-top: 0;
956
+ .Switch .switch-label .label {
957
+ margin-right: 5px;
788
958
  }
789
959
 
790
- .FilteredList .child:not(.hidden) ~ .child:last-child {
791
- margin-bottom: 8px;
960
+ .Switch .switch-input:checked + .switch-label:before {
961
+ background-color: #A5D6A7;
792
962
  }
793
963
 
794
- .FilteredList .child:not(.hidden):last-child {
795
- margin-bottom: 8px;
964
+ .Switch .switch-input:checked + .switch-label:after {
965
+ background-color: #4CAF50;
966
+ transform: translate(80%, -50%);
967
+ }
968
+
969
+ .Switch .switch-input:checked + .switch-label .toggle--on {
970
+ display: inline-block;
971
+ }
972
+
973
+ .Switch .switch-input:checked + .switch-label .toggle--off {
974
+ display: none;
975
+ }
976
+
977
+ .Modal {
978
+ display: block;
979
+ position: fixed;
980
+ top: 0;
981
+ left: 0;
982
+ right: 0;
983
+ bottom: 100%;
984
+ overflow-y: scroll;
985
+ transition: bottom 0ms linear;
986
+ transition-delay: 0.2s;
987
+ }
988
+
989
+ .Modal.show {
990
+ transition-delay: 0s;
991
+ bottom: 0;
992
+ }
993
+
994
+ .Modal > .overlay {
995
+ position: fixed;
996
+ top: 0;
997
+ bottom: 100%;
998
+ left: 0;
999
+ right: 0;
1000
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1001
+ opacity: 0;
1002
+ background-color: black;
1003
+ pointer-events: none;
1004
+ }
1005
+
1006
+ .Modal > .overlay.show {
1007
+ opacity: 0.5;
1008
+ bottom: 0;
1009
+ }
1010
+
1011
+ .Modal > .content {
1012
+ left: 50%;
1013
+ top: 10vh;
1014
+ margin-bottom: 10vh;
1015
+ font-size: 16px;
1016
+ padding: 0;
1017
+ opacity: 0;
1018
+ transition: opacity 0.25s ease, transform 0.25s ease;
1019
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1020
+ transform-origin: top;
1021
+ position: absolute;
1022
+ border-radius: 2px;
1023
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1024
+ }
1025
+
1026
+ .Modal > .content.show {
1027
+ opacity: 1;
1028
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1029
+ }
1030
+
1031
+ .Modal > .content > .Scrollable {
1032
+ overflow: visible;
1033
+ max-height: 80vh;
1034
+ }
1035
+
1036
+ .Modal > .content > .Scrollable > .viewport {
1037
+ min-width: 10px;
1038
+ min-height: 10px;
1039
+ }
1040
+
1041
+ .Modal > .content > .Button.close {
1042
+ top: 10px;
1043
+ right: 10px;
1044
+ position: absolute;
796
1045
  }
797
1046
 
798
1047
  .ImageGallery {
@@ -1030,43 +1279,6 @@
1030
1279
  font-size: 24px;
1031
1280
  }
1032
1281
 
1033
- .ModalMenu {
1034
- position: absolute;
1035
- top: 10px;
1036
- right: 50px;
1037
- }
1038
-
1039
- .ModalMenu .material-icons {
1040
- color: #818181;
1041
- }
1042
-
1043
- .ModalMenu .Button.animated {
1044
- position: absolute;
1045
- transition: opacity 150ms ease-in, right 200ms ease-in;
1046
- opacity: 0;
1047
- right: 0;
1048
- top: 0;
1049
- }
1050
-
1051
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1052
- opacity: 1;
1053
- }
1054
-
1055
- .ModalMenu .Button.animated.unmounting {
1056
- transition: opacity 100ms ease-out, right 200ms ease-out;
1057
- }
1058
-
1059
- .ModalMenu .Button.active {
1060
- background: #EBEBEB;
1061
- }
1062
-
1063
- .ModalMenu .separator {
1064
- height: 24px;
1065
- width: 1px;
1066
- background-color: #D9D9D9;
1067
- margin-left: 4px;
1068
- }
1069
-
1070
1282
  .Scrollable {
1071
1283
  max-height: 250px;
1072
1284
  max-width: 250px;
@@ -1162,6 +1374,51 @@
1162
1374
  will-change: left;
1163
1375
  }
1164
1376
 
1377
+ .Snackbar {
1378
+ transform: translateX(-50%);
1379
+ overflow: hidden;
1380
+ background-color: #323232;
1381
+ padding: 14px 24px 14px 24px;
1382
+ color: #fff;
1383
+ min-width: 288px;
1384
+ max-width: 568px;
1385
+ position: fixed;
1386
+ bottom: -50px;
1387
+ left: 50%;
1388
+ display: flex;
1389
+ flex-wrap: nowrap;
1390
+ align-items: center;
1391
+ opacity: 0;
1392
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1393
+ border-radius: 4px;
1394
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1395
+ }
1396
+
1397
+ .Snackbar.shown {
1398
+ bottom: 15px;
1399
+ opacity: 1;
1400
+ }
1401
+
1402
+ .Snackbar .message {
1403
+ overflow: hidden;
1404
+ line-height: 1.2em;
1405
+ min-height: 1.2em;
1406
+ max-height: 2.4em;
1407
+ flex: 1;
1408
+ }
1409
+
1410
+ .Snackbar .action {
1411
+ text-transform: uppercase;
1412
+ font-weight: bold;
1413
+ margin-left: 48px;
1414
+ color: #bf3727;
1415
+ }
1416
+
1417
+ .Snackbar .action a {
1418
+ text-decoration: none;
1419
+ color: #bf3727;
1420
+ }
1421
+
1165
1422
  .SpinningProgress {
1166
1423
  width: 48px;
1167
1424
  height: 48px;
@@ -1215,51 +1472,6 @@
1215
1472
  stroke-dashoffset: -53px;
1216
1473
  }
1217
1474
  }
1218
- .Snackbar {
1219
- transform: translateX(-50%);
1220
- overflow: hidden;
1221
- background-color: #323232;
1222
- padding: 14px 24px 14px 24px;
1223
- color: #fff;
1224
- min-width: 288px;
1225
- max-width: 568px;
1226
- position: fixed;
1227
- bottom: -50px;
1228
- left: 50%;
1229
- display: flex;
1230
- flex-wrap: nowrap;
1231
- align-items: center;
1232
- opacity: 0;
1233
- transition: bottom 0.25s ease, opacity 0.2s ease;
1234
- border-radius: 4px;
1235
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1236
- }
1237
-
1238
- .Snackbar.shown {
1239
- bottom: 15px;
1240
- opacity: 1;
1241
- }
1242
-
1243
- .Snackbar .message {
1244
- overflow: hidden;
1245
- line-height: 1.2em;
1246
- min-height: 1.2em;
1247
- max-height: 2.4em;
1248
- flex: 1;
1249
- }
1250
-
1251
- .Snackbar .action {
1252
- text-transform: uppercase;
1253
- font-weight: bold;
1254
- margin-left: 48px;
1255
- color: #bf3727;
1256
- }
1257
-
1258
- .Snackbar .action a {
1259
- text-decoration: none;
1260
- color: #bf3727;
1261
- }
1262
-
1263
1475
  .TextField {
1264
1476
  position: relative;
1265
1477
  width: 100%;
@@ -1294,325 +1506,113 @@
1294
1506
  outline: none;
1295
1507
  }
1296
1508
 
1297
- .TextField > input:disabled {
1298
- color: gray;
1299
- background-color: white;
1300
- }
1301
-
1302
- .TextField > input:disabled + .border {
1303
- height: 0px;
1304
- border-bottom: 2px dotted rgb(224, 224, 224);
1305
- }
1306
-
1307
- .TextField > input::placeholder {
1308
- font-family: Roboto, sans-serif;
1309
- color: rgba(0, 0, 0, 0.3);
1310
- opacity: 1;
1311
- }
1312
-
1313
- .TextField > .border {
1314
- border-bottom: 1px solid rgb(224, 224, 224);
1315
- height: 1px;
1316
- position: relative;
1317
- }
1318
-
1319
- .TextField > .border .line {
1320
- left: 50%;
1321
- width: 0;
1322
- height: 2px;
1323
- min-height: 2px;
1324
- background-color: rgb(0, 188, 212);
1325
- transition: all 0.2s ease;
1326
- position: absolute;
1327
- }
1328
-
1329
- .TextField > .error {
1330
- text-align: left;
1331
- font-size: 10px;
1332
- min-height: 0;
1333
- line-height: 14px;
1334
- color: rgb(244, 67, 54);
1335
- visibility: hidden;
1336
- opacity: 0;
1337
- transition: all 0.2s ease;
1338
- }
1339
-
1340
- .TextField.focused > label, .TextField.withValue > label {
1341
- top: 4px;
1342
- font-size: 12px;
1343
- line-height: 14px;
1344
- }
1345
-
1346
- .TextField.errored > .error {
1347
- visibility: visible;
1348
- opacity: 1;
1349
- }
1350
-
1351
- .TextField.errored > .border {
1352
- border-bottom-color: rgb(244, 67, 54);
1353
- }
1354
-
1355
- .TextField.errored > label {
1356
- color: rgb(244, 67, 54);
1357
- }
1358
-
1359
- .TextField.focused > label {
1360
- color: rgb(0, 188, 212);
1361
- }
1362
-
1363
- .TextField.focused > .border .line {
1364
- left: 0;
1365
- width: 100%;
1366
- }
1367
-
1368
- .TextField.disabled label, .TextField.disabled input {
1369
- cursor: not-allowed;
1370
- }
1371
-
1372
- .TextField.withLabel {
1373
- margin-top: 15px;
1374
- }
1375
-
1376
- .TextField input::-webkit-contacts-auto-fill-button {
1377
- visibility: hidden;
1378
- display: none !important;
1379
- pointer-events: none;
1380
- position: absolute;
1381
- right: 0;
1382
- }
1383
-
1384
- .TextField input:-webkit-autofill {
1385
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1386
- }
1387
-
1388
- @keyframes shake {
1389
- 0%, 100% {
1390
- transform: translateX(0);
1391
- }
1392
- 20%, 60% {
1393
- transform: translateX(-5px);
1394
- }
1395
- 40%, 80% {
1396
- transform: translateX(5px);
1397
- }
1398
- }
1399
- .TextField .shake {
1400
- animation-duration: 0.5s;
1401
- animation-fill-mode: both;
1402
- animation-timing-function: ease-in-out;
1403
- animation-name: shake;
1404
- }
1405
-
1406
- .Switch {
1407
- display: inline-flex;
1408
- padding-top: 5px;
1409
- }
1410
-
1411
- .Switch .switch-input {
1412
- display: none;
1413
- }
1414
-
1415
- .Switch .switch-label {
1416
- position: relative;
1417
- display: inline-flex;
1418
- align-items: center;
1419
- min-width: 38px;
1420
- height: 24px;
1421
- cursor: pointer;
1422
- font-weight: 500;
1423
- text-align: left;
1424
- user-select: none;
1425
- margin: 0;
1426
- padding: 0;
1427
- padding-left: 44px;
1428
- box-sizing: border-box;
1429
- }
1430
-
1431
- .Switch .switch-label:before, .Switch .switch-label:after {
1432
- content: "";
1433
- box-sizing: border-box;
1434
- position: absolute;
1435
- margin: 0;
1436
- outline: 0;
1437
- top: 50%;
1438
- transform: translate(0, -50%);
1439
- transition: all 0.3s ease;
1440
- }
1441
-
1442
- .Switch .switch-label:before {
1443
- left: 1px;
1444
- width: 34px;
1445
- height: 14px;
1446
- background-color: #9E9E9E;
1447
- border-radius: 8px;
1448
- }
1449
-
1450
- .Switch .switch-label:after {
1451
- left: 0;
1452
- width: 20px;
1453
- height: 20px;
1454
- background-color: #FAFAFA;
1455
- border-radius: 50%;
1456
- 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);
1457
- }
1458
-
1459
- .Switch .switch-label .toggle--on {
1460
- display: none;
1461
- }
1462
-
1463
- .Switch .switch-label .toggle--off {
1464
- display: inline-block;
1465
- }
1466
-
1467
- .Switch .switch-label .label {
1468
- margin-right: 5px;
1469
- }
1470
-
1471
- .Switch .switch-input:checked + .switch-label:before {
1472
- background-color: #A5D6A7;
1473
- }
1474
-
1475
- .Switch .switch-input:checked + .switch-label:after {
1476
- background-color: #4CAF50;
1477
- transform: translate(80%, -50%);
1509
+ .TextField > input:disabled {
1510
+ color: gray;
1511
+ background-color: white;
1478
1512
  }
1479
1513
 
1480
- .Switch .switch-input:checked + .switch-label .toggle--on {
1481
- display: inline-block;
1514
+ .TextField > input:disabled + .border {
1515
+ height: 0px;
1516
+ border-bottom: 2px dotted rgb(224, 224, 224);
1482
1517
  }
1483
1518
 
1484
- .Switch .switch-input:checked + .switch-label .toggle--off {
1485
- display: none;
1519
+ .TextField > input::placeholder {
1520
+ font-family: Roboto, sans-serif;
1521
+ color: rgba(0, 0, 0, 0.3);
1522
+ opacity: 1;
1486
1523
  }
1487
1524
 
1488
- .Dropzone {
1525
+ .TextField > .border {
1526
+ border-bottom: 1px solid rgb(224, 224, 224);
1527
+ height: 1px;
1489
1528
  position: relative;
1490
1529
  }
1491
1530
 
1492
- .Dropzone > .overlay {
1531
+ .TextField > .border .line {
1532
+ left: 50%;
1533
+ width: 0;
1534
+ height: 2px;
1535
+ min-height: 2px;
1536
+ background-color: rgb(0, 188, 212);
1537
+ transition: all 0.2s ease;
1493
1538
  position: absolute;
1494
- left: 0;
1495
- right: 0;
1496
- top: 0;
1497
- bottom: 0;
1498
- background-color: #38ADC4;
1499
- z-index: 1;
1539
+ }
1540
+
1541
+ .TextField > .error {
1542
+ text-align: left;
1543
+ font-size: 10px;
1544
+ min-height: 0;
1545
+ line-height: 14px;
1546
+ color: rgb(244, 67, 54);
1547
+ visibility: hidden;
1500
1548
  opacity: 0;
1501
1549
  transition: all 0.2s ease;
1502
- transition-delay: 100ms;
1503
- visibility: hidden;
1504
- display: flex;
1505
- justify-content: center;
1506
- align-items: center;
1507
1550
  }
1508
1551
 
1509
- .Dropzone > .overlay .drop {
1510
- border-radius: 4px;
1511
- border: 1px dashed #FFFFFF;
1512
- position: absolute;
1513
- top: 18px;
1514
- left: 18px;
1515
- right: 18px;
1516
- bottom: 18px;
1517
- display: flex;
1518
- justify-content: center;
1519
- align-items: center;
1520
- font-weight: 500;
1521
- font-size: 18px;
1522
- color: #FFFFFF;
1552
+ .TextField.focused > label, .TextField.withValue > label {
1553
+ top: 4px;
1554
+ font-size: 12px;
1555
+ line-height: 14px;
1523
1556
  }
1524
1557
 
1525
- .Dropzone.dragging > .overlay {
1526
- opacity: 0.7;
1558
+ .TextField.errored > .error {
1527
1559
  visibility: visible;
1528
- transition-delay: 0s;
1529
- }
1530
-
1531
- .Dropzone.dragging > * {
1532
- pointer-events: none;
1560
+ opacity: 1;
1533
1561
  }
1534
1562
 
1535
- .Dropzone > input.file {
1536
- position: absolute;
1537
- left: 0;
1538
- right: 0;
1539
- top: 0;
1540
- bottom: 0;
1541
- width: 100%;
1542
- height: 100%;
1543
- opacity: 0;
1544
- cursor: pointer;
1545
- z-index: 1;
1563
+ .TextField.errored > .border {
1564
+ border-bottom-color: rgb(244, 67, 54);
1546
1565
  }
1547
1566
 
1548
- .Modal {
1549
- display: block;
1550
- position: fixed;
1551
- top: 0;
1552
- left: 0;
1553
- right: 0;
1554
- bottom: 100%;
1555
- overflow-y: scroll;
1556
- transition: bottom 0ms linear;
1557
- transition-delay: 0.2s;
1567
+ .TextField.errored > label {
1568
+ color: rgb(244, 67, 54);
1558
1569
  }
1559
1570
 
1560
- .Modal.show {
1561
- transition-delay: 0s;
1562
- bottom: 0;
1571
+ .TextField.focused > label {
1572
+ color: rgb(0, 188, 212);
1563
1573
  }
1564
1574
 
1565
- .Modal > .overlay {
1566
- position: fixed;
1567
- top: 0;
1568
- bottom: 100%;
1575
+ .TextField.focused > .border .line {
1569
1576
  left: 0;
1570
- right: 0;
1571
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1572
- opacity: 0;
1573
- background-color: black;
1574
- pointer-events: none;
1577
+ width: 100%;
1575
1578
  }
1576
1579
 
1577
- .Modal > .overlay.show {
1578
- opacity: 0.5;
1579
- bottom: 0;
1580
+ .TextField.disabled label, .TextField.disabled input {
1581
+ cursor: not-allowed;
1580
1582
  }
1581
1583
 
1582
- .Modal > .content {
1583
- left: 50%;
1584
- top: 10vh;
1585
- margin-bottom: 10vh;
1586
- font-size: 16px;
1587
- padding: 0;
1588
- opacity: 0;
1589
- transition: opacity 0.25s ease, transform 0.25s ease;
1590
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1591
- transform-origin: top;
1592
- position: absolute;
1593
- border-radius: 2px;
1594
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1584
+ .TextField.withLabel {
1585
+ margin-top: 15px;
1595
1586
  }
1596
1587
 
1597
- .Modal > .content.show {
1598
- opacity: 1;
1599
- transform: scaleY(1) translateY(0px) translateX(-50%);
1588
+ .TextField input::-webkit-contacts-auto-fill-button {
1589
+ visibility: hidden;
1590
+ display: none !important;
1591
+ pointer-events: none;
1592
+ position: absolute;
1593
+ right: 0;
1600
1594
  }
1601
1595
 
1602
- .Modal > .content > .Scrollable {
1603
- overflow: visible;
1604
- max-height: 80vh;
1596
+ .TextField input:-webkit-autofill {
1597
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1605
1598
  }
1606
1599
 
1607
- .Modal > .content > .Scrollable > .viewport {
1608
- min-width: 10px;
1609
- min-height: 10px;
1600
+ @keyframes shake {
1601
+ 0%, 100% {
1602
+ transform: translateX(0);
1603
+ }
1604
+ 20%, 60% {
1605
+ transform: translateX(-5px);
1606
+ }
1607
+ 40%, 80% {
1608
+ transform: translateX(5px);
1609
+ }
1610
1610
  }
1611
-
1612
- .Modal > .content > .Button.close {
1613
- top: 10px;
1614
- right: 10px;
1615
- position: absolute;
1611
+ .TextField .shake {
1612
+ animation-duration: 0.5s;
1613
+ animation-fill-mode: both;
1614
+ animation-timing-function: ease-in-out;
1615
+ animation-name: shake;
1616
1616
  }
1617
1617
 
1618
1618
  .DNDContainer .DroppableList .Draggable {
@@ -1633,36 +1633,29 @@
1633
1633
  transition: transform 0.1s ease-in;
1634
1634
  }
1635
1635
 
1636
- .DNDContainer {
1637
- position: relative;
1638
- }
1639
-
1640
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1641
- cursor: pointer;
1636
+ .CalendarMonthView {
1637
+ display: flex;
1638
+ flex-flow: column nowrap;
1639
+ height: 100%;
1642
1640
  }
1643
1641
 
1644
- .DNDContainer .Draggable.placeholder {
1645
- opacity: 0.2;
1642
+ .CalendarMonthView > .row {
1643
+ display: flex;
1644
+ flex-flow: row nowrap;
1646
1645
  }
1647
1646
 
1648
- .DNDContainer .Draggable.copy {
1649
- position: absolute;
1650
- box-sizing: border-box;
1651
- will-change: transform;
1652
- opacity: 0;
1647
+ .CalendarMonthView .days {
1648
+ flex-grow: 1;
1649
+ position: relative;
1653
1650
  }
1654
1651
 
1655
- .DNDContainer .Draggable.dragged {
1656
- z-index: 10;
1652
+ .CalendarMonthView .day, .CalendarMonthView .header {
1653
+ flex-grow: 1;
1654
+ flex-basis: 1px;
1657
1655
  }
1658
1656
 
1659
- .DNDContainer .overlay {
1660
- position: absolute;
1661
- top: 0;
1662
- left: 0;
1663
- right: 0;
1664
- bottom: 0;
1665
- pointer-events: none;
1657
+ .CalendarMonthView .day {
1658
+ height: 100%;
1666
1659
  }
1667
1660
 
1668
1661
  .DatePicker {
@@ -1678,23 +1671,26 @@
1678
1671
  text-align: center;
1679
1672
  }
1680
1673
 
1681
- .DatePicker .calendar {
1674
+ .calendar {
1682
1675
  user-select: none;
1683
1676
  position: absolute;
1684
1677
  top: 33px;
1685
1678
  z-index: 10;
1686
1679
  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);
1680
+ border-radius: 4px;
1681
+ overflow: hidden;
1687
1682
  transition: 0.2s all ease;
1688
1683
  opacity: 0;
1689
1684
  visibility: hidden;
1690
1685
  }
1691
1686
 
1692
- .DatePicker .calendar.focused {
1687
+ .calendar.focused {
1693
1688
  opacity: 1;
1694
1689
  visibility: visible;
1695
1690
  }
1696
1691
 
1697
- .DatePicker .monthSelect {
1692
+ .calendar .monthSelect {
1693
+ align-items: center;
1698
1694
  margin-bottom: 0;
1699
1695
  background: white;
1700
1696
  font-size: 12px;
@@ -1704,32 +1700,32 @@
1704
1700
  height: 40px;
1705
1701
  }
1706
1702
 
1707
- .DatePicker .monthSelect span {
1703
+ .calendar .monthSelect span {
1708
1704
  margin-right: auto;
1709
1705
  }
1710
1706
 
1711
- .DatePicker .monthSelect .Button {
1707
+ .calendar .monthSelect .Button {
1712
1708
  min-width: 25px;
1713
1709
  min-height: 25px;
1714
1710
  }
1715
1711
 
1716
- .DatePicker .monthSelect .Button .material-icons {
1712
+ .calendar .monthSelect .Button .material-icons {
1717
1713
  font-size: 16px;
1718
1714
  }
1719
1715
 
1720
- .DatePicker .monthSelect .Button.disabled {
1716
+ .calendar .monthSelect .Button.disabled {
1721
1717
  background: transparent;
1722
1718
  }
1723
1719
 
1724
- .DatePicker .CalendarMonthView {
1720
+ .calendar .CalendarMonthView {
1725
1721
  background: white;
1726
1722
  }
1727
1723
 
1728
- .DatePicker .CalendarMonthView .headers, .DatePicker .CalendarMonthView .days {
1724
+ .calendar .CalendarMonthView .headers, .calendar .CalendarMonthView .days {
1729
1725
  margin-bottom: 0;
1730
1726
  }
1731
1727
 
1732
- .DatePicker .CalendarMonthView .header {
1728
+ .calendar .CalendarMonthView .header {
1733
1729
  font-size: 12px;
1734
1730
  font-weight: bold;
1735
1731
  text-align: center;
@@ -1737,15 +1733,15 @@
1737
1733
  margin: 5px;
1738
1734
  }
1739
1735
 
1740
- .DatePicker .CalendarMonthView .day {
1736
+ .calendar .CalendarMonthView .day {
1741
1737
  font-size: 10px;
1742
1738
  }
1743
1739
 
1744
- .DatePicker .CalendarMonthView .day.notSelectedMonth {
1740
+ .calendar .CalendarMonthView .day.notSelectedMonth {
1745
1741
  color: #969696;
1746
1742
  }
1747
1743
 
1748
- .DatePicker .CalendarMonthView .day span {
1744
+ .calendar .CalendarMonthView .day span {
1749
1745
  display: inline-flex;
1750
1746
  justify-content: center;
1751
1747
  align-items: center;
@@ -1757,59 +1753,66 @@
1757
1753
  cursor: pointer;
1758
1754
  }
1759
1755
 
1760
- .DatePicker .CalendarMonthView .day span:hover {
1756
+ .calendar .CalendarMonthView .day span:hover {
1761
1757
  background-color: #e6e6e6;
1762
1758
  }
1763
1759
 
1764
- .DatePicker .CalendarMonthView .day span.inactive {
1760
+ .calendar .CalendarMonthView .day span.inactive {
1765
1761
  color: lightgray;
1766
1762
  cursor: unset;
1767
1763
  }
1768
1764
 
1769
- .DatePicker .CalendarMonthView .day span.inactive:hover {
1765
+ .calendar .CalendarMonthView .day span.inactive:hover {
1770
1766
  background: unset;
1771
1767
  }
1772
1768
 
1773
- .DatePicker .CalendarMonthView .day span.selected {
1769
+ .calendar .CalendarMonthView .day span.selected {
1774
1770
  color: white;
1775
1771
  background-color: #2196F3;
1776
1772
  }
1777
1773
 
1778
- .DatePicker .CalendarMonthView .day span.selected:hover {
1774
+ .calendar .CalendarMonthView .day span.selected:hover {
1779
1775
  background-color: #51adf6;
1780
1776
  }
1781
1777
 
1782
- .ScrollableTable .Scrollable .scrollbar {
1783
- top: 56px;
1778
+ .DNDContainer {
1779
+ position: relative;
1784
1780
  }
1785
1781
 
1786
- .ScrollableTable .Table {
1787
- position: static;
1782
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1783
+ cursor: pointer;
1788
1784
  }
1789
1785
 
1790
- .CalendarMonthView {
1791
- display: flex;
1792
- flex-flow: column nowrap;
1793
- height: 100%;
1786
+ .DNDContainer .Draggable.placeholder {
1787
+ opacity: 0.2;
1794
1788
  }
1795
1789
 
1796
- .CalendarMonthView > .row {
1797
- display: flex;
1798
- flex-flow: row nowrap;
1790
+ .DNDContainer .Draggable.copy {
1791
+ position: absolute;
1792
+ box-sizing: border-box;
1793
+ will-change: transform;
1794
+ opacity: 0;
1799
1795
  }
1800
1796
 
1801
- .CalendarMonthView .days {
1802
- flex-grow: 1;
1803
- position: relative;
1797
+ .DNDContainer .Draggable.dragged {
1798
+ z-index: 10;
1804
1799
  }
1805
1800
 
1806
- .CalendarMonthView .day, .CalendarMonthView .header {
1807
- flex-grow: 1;
1808
- flex-basis: 1px;
1801
+ .DNDContainer .overlay {
1802
+ position: absolute;
1803
+ top: 0;
1804
+ left: 0;
1805
+ right: 0;
1806
+ bottom: 0;
1807
+ pointer-events: none;
1809
1808
  }
1810
1809
 
1811
- .CalendarMonthView .day {
1812
- height: 100%;
1810
+ .ScrollableTable .Scrollable .scrollbar {
1811
+ top: 56px;
1812
+ }
1813
+
1814
+ .ScrollableTable .Table {
1815
+ position: static;
1813
1816
  }
1814
1817
 
1815
1818
  .Table {