react-ui-basics 0.0.244 → 0.0.246

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.
Files changed (84) hide show
  1. package/Button.d.ts +2 -2
  2. package/Button.js +6 -6
  3. package/Button.js.map +1 -1
  4. package/CalendarMonthView.js +4 -4
  5. package/CalendarMonthView.js.map +1 -1
  6. package/Checkbox.js +1 -1
  7. package/Checkbox.js.map +1 -1
  8. package/CircleProgress.js +1 -1
  9. package/CircleProgress.js.map +1 -1
  10. package/DNDContainer.js +1 -1
  11. package/DNDContainer.js.map +1 -1
  12. package/DNDDraggable.js +7 -1
  13. package/DNDDraggable.js.map +1 -1
  14. package/DNDDroppable.js +9 -2
  15. package/DNDDroppable.js.map +1 -1
  16. package/DatePicker.js +38 -35
  17. package/DatePicker.js.map +1 -1
  18. package/DateTools.js +9 -7
  19. package/DateTools.js.map +1 -1
  20. package/Dialog.d.ts +3 -3
  21. package/Dialog.js +10 -8
  22. package/Dialog.js.map +1 -1
  23. package/DropFileInput.js +1 -1
  24. package/DropFileInput.js.map +1 -1
  25. package/Dropzone.js +6 -4
  26. package/Dropzone.js.map +1 -1
  27. package/FilteredList.d.ts +1 -1
  28. package/FilteredList.js +93 -86
  29. package/FilteredList.js.map +1 -1
  30. package/FloatingActionButton.js +1 -1
  31. package/FloatingActionButton.js.map +1 -1
  32. package/FormUploadProgress.js +2 -2
  33. package/FormUploadProgress.js.map +1 -1
  34. package/HttpTools.d.ts +3 -3
  35. package/HttpTools.js +20 -9
  36. package/HttpTools.js.map +1 -1
  37. package/MaterialIcon.d.ts +1 -1
  38. package/MaterialIcon.js +1 -1
  39. package/MaterialIcon.js.map +1 -1
  40. package/Modal.d.ts +1 -1
  41. package/Modal.js +11 -9
  42. package/Modal.js.map +1 -1
  43. package/ModalMenu.js +2 -2
  44. package/ModalMenu.js.map +1 -1
  45. package/ReactConstants.d.ts +2 -2
  46. package/Scrollable.d.ts +1 -1
  47. package/Scrollable.js +10 -5
  48. package/Scrollable.js.map +1 -1
  49. package/ScrollableTable.js +2 -1
  50. package/ScrollableTable.js.map +1 -1
  51. package/Size.d.ts +1 -1
  52. package/Size.js +1 -1
  53. package/Size.js.map +1 -1
  54. package/Snackbar.js +1 -1
  55. package/Snackbar.js.map +1 -1
  56. package/SpinningProgress.js +1 -1
  57. package/SpinningProgress.js.map +1 -1
  58. package/Switch.js +1 -1
  59. package/Switch.js.map +1 -1
  60. package/Table.d.ts +5 -5
  61. package/Table.js +16 -10
  62. package/Table.js.map +1 -1
  63. package/TextField.js +5 -2
  64. package/TextField.js.map +1 -1
  65. package/Tools.d.ts +4 -4
  66. package/Tools.js +41 -41
  67. package/Tools.js.map +1 -1
  68. package/bundle.css +695 -695
  69. package/misc/SimpleSentryClient.d.ts +1 -1
  70. package/misc/SimpleSentryClient.js +7 -4
  71. package/misc/SimpleSentryClient.js.map +1 -1
  72. package/package.json +1 -1
  73. package/router/HistoryTools.d.ts +3 -3
  74. package/router/Link.js +3 -3
  75. package/router/Link.js.map +1 -1
  76. package/router/NavLink.js +3 -3
  77. package/router/NavLink.js.map +1 -1
  78. package/src/Button.tsx +11 -14
  79. package/src/Dropzone.tsx +4 -2
  80. package/store/ProxyTools.js +2 -2
  81. package/store/ProxyTools.js.map +1 -1
  82. package/store/Store.d.ts +4 -4
  83. package/store/Store.js +11 -1
  84. package/store/Store.js.map +1 -1
package/bundle.css CHANGED
@@ -1,12 +1,3 @@
1
- .animated {
2
- transition: opacity 250ms ease;
3
- opacity: 0;
4
- }
5
-
6
- .animated.mounting, .animated.mounted {
7
- opacity: 1;
8
- }
9
-
10
1
  .AutocompleteSelect {
11
2
  display: inline-flex;
12
3
  flex-flow: column;
@@ -302,22 +293,13 @@
302
293
  position: absolute;
303
294
  }
304
295
 
305
- .DNDContainer .DroppableList .Draggable {
306
- transform: unset;
307
- transition: unset;
308
- opacity: 1;
309
- }
310
-
311
- .DNDContainer .DroppableList .Draggable.dragged {
312
- transition: unset !important;
313
- }
314
-
315
- .DNDContainer .DroppableList.hover .Draggable {
316
- transition: transform 0.2s ease-in;
296
+ .animated {
297
+ transition: opacity 250ms ease;
298
+ opacity: 0;
317
299
  }
318
300
 
319
- .DNDContainer .DroppableList.resetting .Draggable {
320
- transition: transform 0.1s ease-in;
301
+ .animated.mounting, .animated.mounted {
302
+ opacity: 1;
321
303
  }
322
304
 
323
305
  .ImageGallery {
@@ -555,170 +537,22 @@
555
537
  font-size: 24px;
556
538
  }
557
539
 
558
- .Button {
559
- position: relative;
560
- min-width: 64px;
561
- min-height: 36px;
562
- height: 24px;
563
- margin: 0px;
564
- padding: 0px 16px;
565
- border: none;
566
- outline: none;
567
- font-size: 14px;
568
- font-weight: 500;
569
- letter-spacing: 1.25px;
570
- background: #dfdfdf;
571
- text-transform: uppercase;
572
- font-family: Roboto, sans-serif;
573
- -webkit-tap-highlight-color: transparent;
574
- display: inline-flex;
575
- justify-content: center;
576
- align-items: center;
577
- cursor: pointer;
578
- overflow: hidden;
579
- user-select: none;
580
- border-radius: 3px;
581
- transition: all 0.2s ease;
582
- }
583
-
584
- .Button.flat {
585
- background-color: transparent;
586
- }
587
-
588
- .Button.flat:hover {
589
- background-color: rgba(0, 0, 0, 0.05);
590
- }
591
-
592
- .Button.green {
593
- background-color: #43a047;
594
- color: white;
595
- }
596
-
597
- .Button.green:hover {
598
- background-color: #3b8e3f;
599
- }
600
-
601
- .Button.blue {
602
- background-color: #039be5;
603
- color: white;
604
- }
605
-
606
- .Button.blue:hover {
607
- background-color: #038acc;
608
- }
609
-
610
- .Button.red {
611
- background-color: #e53935;
612
- color: white;
613
- }
614
-
615
- .Button.red:hover {
616
- background-color: #e2231e;
617
- }
618
-
619
- .Button.black {
620
- background-color: #1e252d;
621
- color: white;
622
- }
623
-
624
- .Button.black:hover {
625
- background-color: #14181e;
626
- }
627
-
628
- .Button.gray {
629
- background: #D9D9D9;
630
- color: #999999;
631
- }
632
-
633
- .Button.gray:hover {
634
- background-color: #cccccc;
635
- }
636
-
637
- .Button.small {
638
- padding: 0px 8px;
639
- min-height: 16px;
640
- min-width: 16px;
641
- }
642
-
643
- .Button > .material-icons {
644
- margin-right: 10px;
645
- }
646
-
647
- .Button.round {
648
- padding: 0px;
649
- min-width: 36px;
650
- border-radius: 50%;
651
- }
652
-
653
- .Button.round > .material-icons {
654
- margin: 0px;
655
- }
656
-
657
- .Button .ripple {
658
- position: absolute;
659
- background: rgba(0, 0, 0, 0.1);
660
- border-radius: 100%;
661
- transform: scale(0);
662
- pointer-events: none;
663
- transition: opacity 0.2s ease-out;
664
- }
665
-
666
- .Button .ripple.show {
667
- animation: ripple 0.35s ease-out;
668
- }
669
-
670
- .Button:active .ripple.showed {
671
- opacity: 1;
672
- }
673
-
674
- .Button:focus .ripple.focused {
540
+ .DNDContainer .DroppableList .Draggable {
541
+ transform: unset;
542
+ transition: unset;
675
543
  opacity: 1;
676
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
677
- transform: scale(1);
678
- animation: resize 1.25s ease-out infinite;
679
- animation-delay: 0.2s;
680
- animation-direction: alternate;
681
- }
682
-
683
- .Button .ripple.showed {
684
- transform: scale(2);
685
- opacity: 0;
686
- }
687
-
688
- @keyframes ripple {
689
- to {
690
- transform: scale(2);
691
- }
692
- }
693
- @keyframes resize {
694
- to {
695
- transform: scale(0.9);
696
- }
697
- }
698
- .Button.raised {
699
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
700
- }
701
-
702
- .Button.raised:hover {
703
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
704
544
  }
705
545
 
706
- .Button.raised:active {
707
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
708
- }
709
-
710
- .Button.disabled {
711
- box-shadow: none;
712
- background: #D9D9D9;
713
- color: #999999;
546
+ .DNDContainer .DroppableList .Draggable.dragged {
547
+ transition: unset !important;
714
548
  }
715
549
 
716
- .Button.disabled:hover {
717
- background-color: #cccccc;
550
+ .DNDContainer .DroppableList.hover .Draggable {
551
+ transition: transform 0.2s ease-in;
718
552
  }
719
553
 
720
- .Button::-moz-focus-inner {
721
- border: 0;
554
+ .DNDContainer .DroppableList.resetting .Draggable {
555
+ transition: transform 0.1s ease-in;
722
556
  }
723
557
 
724
558
  .Checkbox {
@@ -905,29 +739,36 @@
905
739
  background-color: #51adf6;
906
740
  }
907
741
 
908
- .CalendarMonthView {
909
- display: flex;
910
- flex-flow: column nowrap;
911
- height: 100%;
742
+ .DNDContainer {
743
+ position: relative;
912
744
  }
913
745
 
914
- .CalendarMonthView > .row {
915
- display: flex;
916
- flex-flow: row nowrap;
746
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
747
+ cursor: pointer;
917
748
  }
918
749
 
919
- .CalendarMonthView .days {
920
- flex-grow: 1;
921
- position: relative;
750
+ .DNDContainer .Draggable.placeholder {
751
+ opacity: 0.2;
922
752
  }
923
753
 
924
- .CalendarMonthView .day, .CalendarMonthView .header {
925
- flex-grow: 1;
926
- flex-basis: 1px;
754
+ .DNDContainer .Draggable.copy {
755
+ position: absolute;
756
+ box-sizing: border-box;
757
+ will-change: transform;
758
+ opacity: 0;
927
759
  }
928
760
 
929
- .CalendarMonthView .day {
930
- height: 100%;
761
+ .DNDContainer .Draggable.dragged {
762
+ z-index: 10;
763
+ }
764
+
765
+ .DNDContainer .overlay {
766
+ position: absolute;
767
+ top: 0;
768
+ left: 0;
769
+ right: 0;
770
+ bottom: 0;
771
+ pointer-events: none;
931
772
  }
932
773
 
933
774
  .DialogModal {
@@ -972,420 +813,268 @@
972
813
  margin-bottom: 0;
973
814
  }
974
815
 
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);
816
+ .Scrollable {
817
+ max-height: 250px;
818
+ max-width: 250px;
819
+ padding-right: 5px;
820
+ position: relative;
821
+ display: flex;
822
+ flex-flow: column;
823
+ align-items: stretch;
824
+ overflow: hidden;
983
825
  }
984
826
 
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);
827
+ .Scrollable:hover > .scrollbar.auto {
828
+ transition-delay: 0s;
829
+ opacity: 1;
987
830
  }
988
831
 
989
- .Button.FloatingActionButton.mini {
990
- width: 40px;
991
- height: 40px;
992
- padding: 8px;
832
+ .Scrollable .viewport {
833
+ overflow-y: scroll;
834
+ overflow-x: scroll;
835
+ max-height: 100%;
836
+ scrollbar-width: none;
993
837
  }
994
838
 
995
- .Button.FloatingActionButton.hidden {
996
- bottom: -100px;
839
+ .Scrollable .viewport::-webkit-scrollbar {
840
+ display: none;
997
841
  }
998
842
 
999
- .DNDContainer {
1000
- position: relative;
843
+ .Scrollable.without-scroll-horizontal {
844
+ max-width: unset;
1001
845
  }
1002
846
 
1003
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1004
- cursor: pointer;
847
+ .Scrollable.undefined-horizontal {
848
+ max-width: unset;
1005
849
  }
1006
850
 
1007
- .DNDContainer .Draggable.placeholder {
1008
- opacity: 0.2;
851
+ .Scrollable.without-scroll {
852
+ padding-right: 0;
853
+ max-height: unset;
1009
854
  }
1010
855
 
1011
- .DNDContainer .Draggable.copy {
1012
- position: absolute;
1013
- box-sizing: border-box;
1014
- will-change: transform;
1015
- opacity: 0;
856
+ .Scrollable.without-scroll > .viewport {
857
+ padding-right: 0;
858
+ margin-right: 0;
1016
859
  }
1017
860
 
1018
- .DNDContainer .Draggable.dragged {
1019
- z-index: 10;
861
+ .Scrollable.without-scroll > .scrollbar {
862
+ visibility: hidden;
1020
863
  }
1021
864
 
1022
- .DNDContainer .overlay {
865
+ .Scrollable .scrollbar {
1023
866
  position: absolute;
1024
- top: 0;
1025
- left: 0;
1026
- right: 0;
1027
- bottom: 0;
1028
- pointer-events: none;
1029
- }
1030
-
1031
- .DropFileInput {
1032
- flex-grow: 1;
1033
- }
1034
-
1035
- .DropFileInput .Dropzone {
1036
- border: 1px dashed #808080;
1037
- padding: 12px;
1038
- display: flex;
1039
- flex-flow: row nowrap;
1040
- justify-content: center;
1041
- align-items: center;
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;
1052
- }
1053
-
1054
- .DropFileInput .Dropzone .icon.withText {
1055
- margin-right: 10px;
867
+ right: 0px;
868
+ top: 0px;
869
+ width: 5px;
870
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
871
+ transition-delay: 0.5s;
872
+ z-index: 1;
1056
873
  }
1057
874
 
1058
- .FilteredList {
1059
- max-height: 250px;
1060
- position: relative;
875
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
876
+ opacity: 0;
1061
877
  }
1062
878
 
1063
- .FilteredList.popup {
1064
- padding: 0;
1065
- visibility: hidden;
879
+ .Scrollable .scrollbar .thumb {
880
+ background-color: rgba(0, 0, 0, 0.3);
881
+ width: 5px;
1066
882
  position: absolute;
1067
- background: white;
1068
- z-index: 4;
1069
- 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);
1070
- transition: top 0.2s ease-out, opacity 0.2s ease-out;
1071
- top: calc(100% + 4px);
1072
- opacity: 0;
883
+ right: 0px;
884
+ top: 0px;
885
+ user-select: none;
886
+ will-change: top;
1073
887
  border-radius: 2px;
1074
888
  }
1075
889
 
1076
- .FilteredList.popup.visible {
1077
- opacity: 1;
1078
- visibility: visible;
1079
- }
1080
-
1081
- .FilteredList.portal {
1082
- transition: opacity 0.2s ease-out;
1083
- }
1084
-
1085
- .FilteredList.inline {
1086
- max-height: 225px;
1087
- margin-top: 5px;
1088
- }
1089
-
1090
- .FilteredList .child {
1091
- display: flex;
1092
- flex-flow: row nowrap;
1093
- align-items: center;
1094
- white-space: nowrap;
1095
- font-size: 14px;
1096
- color: rgb(34, 34, 34);
1097
- height: 30px;
1098
- padding: 5px 10px;
1099
- padding-right: 15px;
1100
- cursor: pointer;
1101
- overflow: hidden;
1102
- border-left: 5px solid #4AC263;
1103
- padding-left: 15px;
1104
- margin-left: -5px;
1105
- }
1106
-
1107
- .FilteredList .child.hidden {
1108
- height: 0 !important;
1109
- padding: 0 !important;
1110
- }
1111
-
1112
- .FilteredList .child.selected {
1113
- background-color: #F0F0F0;
1114
- padding-left: 10px;
1115
- margin-left: 0px;
1116
- }
1117
-
1118
- .FilteredList .child.active {
1119
- background-color: rgb(238, 238, 238);
1120
- }
1121
-
1122
- .FilteredList .child {
1123
- margin-top: 8px;
1124
- }
1125
-
1126
- .FilteredList .child.hidden {
1127
- margin-top: 0;
1128
- }
1129
-
1130
- .FilteredList .child:not(.hidden) ~ .child {
1131
- margin-top: 0;
1132
- }
1133
-
1134
- .FilteredList .child:not(.hidden) ~ .child:last-child {
1135
- margin-bottom: 8px;
890
+ .Scrollable .scrollbar .thumb:hover {
891
+ background-color: rgba(0, 0, 0, 0.5);
1136
892
  }
1137
893
 
1138
- .FilteredList .child:not(.hidden):last-child {
1139
- margin-bottom: 8px;
894
+ .Scrollable .scrollbar .thumb:active {
895
+ background-color: rgba(0, 0, 0, 0.7);
1140
896
  }
1141
897
 
1142
- .FormUploadProgress {
1143
- position: absolute;
1144
- left: 0;
1145
- right: 0;
1146
- top: 0;
898
+ .Scrollable .scrollbar.horizontal {
899
+ left: 0px;
900
+ right: 0px;
901
+ height: 5px;
1147
902
  bottom: 0;
1148
- background-color: rgba(255, 255, 255, 0.6);
1149
- z-index: 2;
903
+ width: unset;
904
+ top: unset;
1150
905
  }
1151
906
 
1152
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1153
- transition-delay: 500ms;
907
+ .Scrollable .scrollbar.horizontal .thumb {
908
+ height: 5px;
909
+ left: 0px;
910
+ bottom: 0px;
911
+ will-change: left;
1154
912
  }
1155
913
 
1156
- .FormUploadProgress .wrapper {
1157
- position: sticky;
1158
- top: 40%;
1159
- margin-top: 40%;
1160
- margin-left: 50%;
1161
- transform: translateX(-50%);
1162
- display: flex;
1163
- flex-flow: column;
914
+ .Button {
915
+ position: relative;
916
+ min-width: 64px;
917
+ min-height: 36px;
918
+ height: 24px;
919
+ margin: 0px;
920
+ padding: 0px 16px;
921
+ border: none;
922
+ outline: none;
923
+ font-size: 14px;
924
+ font-weight: 500;
925
+ letter-spacing: 1.25px;
926
+ background: #dfdfdf;
927
+ text-transform: uppercase;
928
+ font-family: Roboto, sans-serif;
929
+ -webkit-tap-highlight-color: transparent;
930
+ display: inline-flex;
1164
931
  justify-content: center;
1165
932
  align-items: center;
933
+ cursor: pointer;
934
+ overflow: hidden;
935
+ user-select: none;
936
+ border-radius: 3px;
937
+ transition: all 0.2s ease;
1166
938
  }
1167
939
 
1168
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1169
- position: absolute;
1170
- width: 107px;
1171
- height: 107px;
1172
- top: 0;
1173
- left: 0;
940
+ .Button.flat {
941
+ background-color: transparent;
1174
942
  }
1175
943
 
1176
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1177
- stroke: #2196F3;
944
+ .Button.flat:hover {
945
+ background-color: rgba(0, 0, 0, 0.05);
1178
946
  }
1179
947
 
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;
948
+ .Button.green {
949
+ background-color: #43a047;
950
+ color: white;
1191
951
  }
1192
952
 
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;
953
+ .Button.green:hover {
954
+ background-color: #3b8e3f;
1201
955
  }
1202
956
 
1203
- .FormUploadProgress .wrapper .cancel {
1204
- min-width: 107px;
1205
- margin-top: 20px;
1206
- background-color: white;
1207
- color: #F96B5C;
1208
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
957
+ .Button.blue {
958
+ background-color: #039be5;
959
+ color: white;
1209
960
  }
1210
961
 
1211
- .CircleProgress {
1212
- width: 48px;
1213
- height: 48px;
962
+ .Button.blue:hover {
963
+ background-color: #038acc;
1214
964
  }
1215
965
 
1216
- .CircleProgress .line {
1217
- stroke-width: 2px;
1218
- stroke: black;
1219
- stroke-linecap: square;
1220
- fill: none;
1221
- transition: stroke-dashoffset 0.2s ease;
966
+ .Button.red {
967
+ background-color: #e53935;
968
+ color: white;
1222
969
  }
1223
970
 
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;
971
+ .Button.red:hover {
972
+ background-color: #e2231e;
1234
973
  }
1235
974
 
1236
- .Modal.show {
1237
- transition-delay: 0s;
1238
- bottom: 0;
975
+ .Button.black {
976
+ background-color: #1e252d;
977
+ color: white;
1239
978
  }
1240
979
 
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;
980
+ .Button.black:hover {
981
+ background-color: #14181e;
1251
982
  }
1252
983
 
1253
- .Modal > .overlay.show {
1254
- opacity: 0.5;
1255
- bottom: 0;
984
+ .Button.gray {
985
+ background: #D9D9D9;
986
+ color: #999999;
1256
987
  }
1257
988
 
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);
989
+ .Button.gray:hover {
990
+ background-color: #cccccc;
1271
991
  }
1272
992
 
1273
- .Modal > .content.show {
1274
- opacity: 1;
1275
- transform: scaleY(1) translateY(0px) translateX(-50%);
993
+ .Button.small {
994
+ padding: 0px 8px;
995
+ min-height: 16px;
996
+ min-width: 16px;
1276
997
  }
1277
998
 
1278
- .Modal > .content > .Scrollable {
1279
- overflow: visible;
1280
- max-height: 80vh;
999
+ .Button > .material-icons {
1000
+ margin-right: 10px;
1281
1001
  }
1282
1002
 
1283
- .Modal > .content > .Scrollable > .viewport {
1284
- min-width: 10px;
1285
- min-height: 10px;
1003
+ .Button.round {
1004
+ padding: 0px;
1005
+ min-width: 36px;
1006
+ border-radius: 50%;
1286
1007
  }
1287
1008
 
1288
- .Modal > .content > .Button.close {
1289
- top: 10px;
1290
- right: 10px;
1291
- position: absolute;
1009
+ .Button.round > .material-icons {
1010
+ margin: 0px;
1292
1011
  }
1293
1012
 
1294
- .ModalMenu {
1013
+ .Button .ripple {
1295
1014
  position: absolute;
1296
- top: 10px;
1297
- right: 50px;
1298
- }
1299
-
1300
- .ModalMenu .material-icons {
1301
- color: #818181;
1015
+ background: rgba(0, 0, 0, 0.1);
1016
+ border-radius: 100%;
1017
+ transform: scale(0);
1018
+ pointer-events: none;
1019
+ transition: opacity 0.2s ease-out;
1302
1020
  }
1303
1021
 
1304
- .ModalMenu .Button.animated {
1305
- position: absolute;
1306
- transition: opacity 150ms ease-in, right 200ms ease-in;
1307
- opacity: 0;
1308
- right: 0;
1309
- top: 0;
1022
+ .Button .ripple.show {
1023
+ animation: ripple 0.35s ease-out;
1310
1024
  }
1311
1025
 
1312
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1026
+ .Button:active .ripple.showed {
1313
1027
  opacity: 1;
1314
1028
  }
1315
1029
 
1316
- .ModalMenu .Button.animated.unmounting {
1317
- transition: opacity 100ms ease-out, right 200ms ease-out;
1030
+ .Button:focus .ripple.focused {
1031
+ opacity: 1;
1032
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
1033
+ transform: scale(1);
1034
+ animation: resize 1.25s ease-out infinite;
1035
+ animation-delay: 0.2s;
1036
+ animation-direction: alternate;
1318
1037
  }
1319
1038
 
1320
- .ModalMenu .Button.active {
1321
- background: #EBEBEB;
1039
+ .Button .ripple.showed {
1040
+ transform: scale(2);
1041
+ opacity: 0;
1322
1042
  }
1323
1043
 
1324
- .ModalMenu .separator {
1325
- height: 24px;
1326
- width: 1px;
1327
- background-color: #D9D9D9;
1328
- margin-left: 4px;
1044
+ @keyframes ripple {
1045
+ to {
1046
+ transform: scale(2);
1047
+ }
1329
1048
  }
1330
-
1331
- .Dropzone {
1332
- position: relative;
1049
+ @keyframes resize {
1050
+ to {
1051
+ transform: scale(0.9);
1052
+ }
1053
+ }
1054
+ .Button.raised {
1055
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1333
1056
  }
1334
1057
 
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;
1058
+ .Button.raised:hover {
1059
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
1350
1060
  }
1351
1061
 
1352
- .Dropzone > .overlay .drop {
1353
- border-radius: 4px;
1354
- border: 1px dashed #FFFFFF;
1355
- position: absolute;
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;
1062
+ .Button.raised:active {
1063
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
1366
1064
  }
1367
1065
 
1368
- .Dropzone.dragging > .overlay {
1369
- opacity: 0.7;
1370
- visibility: visible;
1371
- transition-delay: 0s;
1066
+ .Button.disabled {
1067
+ box-shadow: none;
1068
+ background: #D9D9D9;
1069
+ color: #999999;
1372
1070
  }
1373
1071
 
1374
- .Dropzone.dragging > * {
1375
- pointer-events: none;
1072
+ .Button.disabled:hover {
1073
+ background-color: #cccccc;
1376
1074
  }
1377
1075
 
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;
1076
+ .Button::-moz-focus-inner {
1077
+ border: 0;
1389
1078
  }
1390
1079
 
1391
1080
  .SpinningProgress {
@@ -1441,6 +1130,70 @@
1441
1130
  stroke-dashoffset: -53px;
1442
1131
  }
1443
1132
  }
1133
+ .DropFileInput {
1134
+ flex-grow: 1;
1135
+ }
1136
+
1137
+ .DropFileInput .Dropzone {
1138
+ border: 1px dashed #808080;
1139
+ padding: 12px;
1140
+ display: flex;
1141
+ flex-flow: row nowrap;
1142
+ justify-content: center;
1143
+ align-items: center;
1144
+ color: gray;
1145
+ cursor: pointer;
1146
+ border-radius: 3px;
1147
+ font-weight: normal;
1148
+ line-height: 22px;
1149
+ font-size: 14px;
1150
+ color: #7E7E7E;
1151
+ max-width: 100%;
1152
+ word-break: break-all;
1153
+ word-break: break-word;
1154
+ }
1155
+
1156
+ .DropFileInput .Dropzone .icon.withText {
1157
+ margin-right: 10px;
1158
+ }
1159
+
1160
+ .ModalMenu {
1161
+ position: absolute;
1162
+ top: 10px;
1163
+ right: 50px;
1164
+ }
1165
+
1166
+ .ModalMenu .material-icons {
1167
+ color: #818181;
1168
+ }
1169
+
1170
+ .ModalMenu .Button.animated {
1171
+ position: absolute;
1172
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1173
+ opacity: 0;
1174
+ right: 0;
1175
+ top: 0;
1176
+ }
1177
+
1178
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1179
+ opacity: 1;
1180
+ }
1181
+
1182
+ .ModalMenu .Button.animated.unmounting {
1183
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1184
+ }
1185
+
1186
+ .ModalMenu .Button.active {
1187
+ background: #EBEBEB;
1188
+ }
1189
+
1190
+ .ModalMenu .separator {
1191
+ height: 24px;
1192
+ width: 1px;
1193
+ background-color: #D9D9D9;
1194
+ margin-left: 4px;
1195
+ }
1196
+
1444
1197
  .Snackbar {
1445
1198
  transform: translateX(-50%);
1446
1199
  overflow: hidden;
@@ -1481,91 +1234,186 @@
1481
1234
  color: #bf3727;
1482
1235
  }
1483
1236
 
1484
- .Snackbar .action a {
1485
- text-decoration: none;
1486
- color: #bf3727;
1237
+ .Snackbar .action a {
1238
+ text-decoration: none;
1239
+ color: #bf3727;
1240
+ }
1241
+
1242
+ .Button.FloatingActionButton {
1243
+ position: absolute;
1244
+ right: 16px;
1245
+ bottom: 16px;
1246
+ width: 56px;
1247
+ height: 56px;
1248
+ padding: 16px;
1249
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1250
+ }
1251
+
1252
+ .Button.FloatingActionButton.raised {
1253
+ 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);
1254
+ }
1255
+
1256
+ .Button.FloatingActionButton.mini {
1257
+ width: 40px;
1258
+ height: 40px;
1259
+ padding: 8px;
1260
+ }
1261
+
1262
+ .Button.FloatingActionButton.hidden {
1263
+ bottom: -100px;
1264
+ }
1265
+
1266
+ .FormUploadProgress {
1267
+ position: absolute;
1268
+ left: 0;
1269
+ right: 0;
1270
+ top: 0;
1271
+ bottom: 0;
1272
+ background-color: rgba(255, 255, 255, 0.6);
1273
+ z-index: 2;
1274
+ }
1275
+
1276
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1277
+ transition-delay: 500ms;
1278
+ }
1279
+
1280
+ .FormUploadProgress .wrapper {
1281
+ position: sticky;
1282
+ top: 40%;
1283
+ margin-top: 40%;
1284
+ margin-left: 50%;
1285
+ transform: translateX(-50%);
1286
+ display: flex;
1287
+ flex-flow: column;
1288
+ justify-content: center;
1289
+ align-items: center;
1290
+ }
1291
+
1292
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1293
+ position: absolute;
1294
+ width: 107px;
1295
+ height: 107px;
1296
+ top: 0;
1297
+ left: 0;
1298
+ }
1299
+
1300
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1301
+ stroke: #2196F3;
1302
+ }
1303
+
1304
+ .FormUploadProgress .wrapper > .progress {
1305
+ width: 107px;
1306
+ height: 107px;
1307
+ min-height: 107px;
1308
+ display: flex;
1309
+ justify-content: center;
1310
+ align-items: center;
1311
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1312
+ border-radius: 50%;
1313
+ background: white;
1314
+ position: relative;
1315
+ }
1316
+
1317
+ .FormUploadProgress .wrapper > .progress > .value {
1318
+ display: inline-block;
1319
+ margin-top: 5px;
1320
+ font-weight: bold;
1321
+ line-height: 16px;
1322
+ font-size: 13px;
1323
+ text-align: center;
1324
+ color: #818181;
1325
+ }
1326
+
1327
+ .FormUploadProgress .wrapper .cancel {
1328
+ min-width: 107px;
1329
+ margin-top: 20px;
1330
+ background-color: white;
1331
+ color: #F96B5C;
1332
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1333
+ }
1334
+
1335
+ .FilteredList {
1336
+ max-height: 250px;
1337
+ position: relative;
1487
1338
  }
1488
1339
 
1489
- .Switch {
1490
- display: inline-flex;
1491
- padding-top: 5px;
1340
+ .FilteredList.popup {
1341
+ padding: 0;
1342
+ visibility: hidden;
1343
+ position: absolute;
1344
+ background: white;
1345
+ z-index: 4;
1346
+ 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);
1347
+ transition: top 0.2s ease-out, opacity 0.2s ease-out;
1348
+ top: calc(100% + 4px);
1349
+ opacity: 0;
1350
+ border-radius: 2px;
1492
1351
  }
1493
1352
 
1494
- .Switch .switch-input {
1495
- display: none;
1353
+ .FilteredList.popup.visible {
1354
+ opacity: 1;
1355
+ visibility: visible;
1496
1356
  }
1497
1357
 
1498
- .Switch .switch-label {
1499
- position: relative;
1500
- display: inline-flex;
1501
- align-items: center;
1502
- min-width: 38px;
1503
- height: 24px;
1504
- cursor: pointer;
1505
- font-weight: 500;
1506
- text-align: left;
1507
- user-select: none;
1508
- margin: 0;
1509
- padding: 0;
1510
- padding-left: 44px;
1511
- box-sizing: border-box;
1358
+ .FilteredList.portal {
1359
+ transition: opacity 0.2s ease-out;
1512
1360
  }
1513
1361
 
1514
- .Switch .switch-label:before, .Switch .switch-label:after {
1515
- content: "";
1516
- box-sizing: border-box;
1517
- position: absolute;
1518
- margin: 0;
1519
- outline: 0;
1520
- top: 50%;
1521
- transform: translate(0, -50%);
1522
- transition: all 0.3s ease;
1362
+ .FilteredList.inline {
1363
+ max-height: 225px;
1364
+ margin-top: 5px;
1523
1365
  }
1524
1366
 
1525
- .Switch .switch-label:before {
1526
- left: 1px;
1527
- width: 34px;
1528
- height: 14px;
1529
- background-color: #9E9E9E;
1530
- border-radius: 8px;
1367
+ .FilteredList .child {
1368
+ display: flex;
1369
+ flex-flow: row nowrap;
1370
+ align-items: center;
1371
+ white-space: nowrap;
1372
+ font-size: 14px;
1373
+ color: rgb(34, 34, 34);
1374
+ height: 30px;
1375
+ padding: 5px 10px;
1376
+ padding-right: 15px;
1377
+ cursor: pointer;
1378
+ overflow: hidden;
1379
+ border-left: 5px solid #4AC263;
1380
+ padding-left: 15px;
1381
+ margin-left: -5px;
1531
1382
  }
1532
1383
 
1533
- .Switch .switch-label:after {
1534
- left: 0;
1535
- width: 20px;
1536
- height: 20px;
1537
- background-color: #FAFAFA;
1538
- border-radius: 50%;
1539
- 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);
1384
+ .FilteredList .child.hidden {
1385
+ height: 0 !important;
1386
+ padding: 0 !important;
1540
1387
  }
1541
1388
 
1542
- .Switch .switch-label .toggle--on {
1543
- display: none;
1389
+ .FilteredList .child.selected {
1390
+ background-color: #F0F0F0;
1391
+ padding-left: 10px;
1392
+ margin-left: 0px;
1544
1393
  }
1545
1394
 
1546
- .Switch .switch-label .toggle--off {
1547
- display: inline-block;
1395
+ .FilteredList .child.active {
1396
+ background-color: rgb(238, 238, 238);
1548
1397
  }
1549
1398
 
1550
- .Switch .switch-label .label {
1551
- margin-right: 5px;
1399
+ .FilteredList .child {
1400
+ margin-top: 8px;
1552
1401
  }
1553
1402
 
1554
- .Switch .switch-input:checked + .switch-label:before {
1555
- background-color: #A5D6A7;
1403
+ .FilteredList .child.hidden {
1404
+ margin-top: 0;
1556
1405
  }
1557
1406
 
1558
- .Switch .switch-input:checked + .switch-label:after {
1559
- background-color: #4CAF50;
1560
- transform: translate(80%, -50%);
1407
+ .FilteredList .child:not(.hidden) ~ .child {
1408
+ margin-top: 0;
1561
1409
  }
1562
1410
 
1563
- .Switch .switch-input:checked + .switch-label .toggle--on {
1564
- display: inline-block;
1411
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1412
+ margin-bottom: 8px;
1565
1413
  }
1566
1414
 
1567
- .Switch .switch-input:checked + .switch-label .toggle--off {
1568
- display: none;
1415
+ .FilteredList .child:not(.hidden):last-child {
1416
+ margin-bottom: 8px;
1569
1417
  }
1570
1418
 
1571
1419
  .TextField {
@@ -1634,89 +1482,246 @@
1634
1482
  position: absolute;
1635
1483
  }
1636
1484
 
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;
1485
+ .TextField > .error {
1486
+ text-align: left;
1487
+ font-size: 10px;
1488
+ min-height: 0;
1489
+ line-height: 14px;
1490
+ color: rgb(244, 67, 54);
1491
+ visibility: hidden;
1492
+ opacity: 0;
1493
+ transition: all 0.2s ease;
1494
+ }
1495
+
1496
+ .TextField.focused > label, .TextField.withValue > label {
1497
+ top: 4px;
1498
+ font-size: 12px;
1499
+ line-height: 14px;
1500
+ }
1501
+
1502
+ .TextField.errored > .error {
1503
+ visibility: visible;
1504
+ opacity: 1;
1505
+ }
1506
+
1507
+ .TextField.errored > .border {
1508
+ border-bottom-color: rgb(244, 67, 54);
1509
+ }
1510
+
1511
+ .TextField.errored > label {
1512
+ color: rgb(244, 67, 54);
1513
+ }
1514
+
1515
+ .TextField.focused > label {
1516
+ color: rgb(0, 188, 212);
1517
+ }
1518
+
1519
+ .TextField.focused > .border .line {
1520
+ left: 0;
1521
+ width: 100%;
1522
+ }
1523
+
1524
+ .TextField.disabled label, .TextField.disabled input {
1525
+ cursor: not-allowed;
1526
+ }
1527
+
1528
+ .TextField.withLabel {
1529
+ margin-top: 15px;
1530
+ }
1531
+
1532
+ .TextField input::-webkit-contacts-auto-fill-button {
1533
+ visibility: hidden;
1534
+ display: none !important;
1535
+ pointer-events: none;
1536
+ position: absolute;
1537
+ right: 0;
1538
+ }
1539
+
1540
+ .TextField input:-webkit-autofill {
1541
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1542
+ }
1543
+
1544
+ @keyframes shake {
1545
+ 0%, 100% {
1546
+ transform: translateX(0);
1547
+ }
1548
+ 20%, 60% {
1549
+ transform: translateX(-5px);
1550
+ }
1551
+ 40%, 80% {
1552
+ transform: translateX(5px);
1553
+ }
1554
+ }
1555
+ .TextField .shake {
1556
+ animation-duration: 0.5s;
1557
+ animation-fill-mode: both;
1558
+ animation-timing-function: ease-in-out;
1559
+ animation-name: shake;
1560
+ }
1561
+
1562
+ .CircleProgress {
1563
+ width: 48px;
1564
+ height: 48px;
1565
+ }
1566
+
1567
+ .CircleProgress .line {
1568
+ stroke-width: 2px;
1569
+ stroke: black;
1570
+ stroke-linecap: square;
1571
+ fill: none;
1572
+ transition: stroke-dashoffset 0.2s ease;
1573
+ }
1574
+
1575
+ .Switch {
1576
+ display: inline-flex;
1577
+ padding-top: 5px;
1578
+ }
1579
+
1580
+ .Switch .switch-input {
1581
+ display: none;
1582
+ }
1583
+
1584
+ .Switch .switch-label {
1585
+ position: relative;
1586
+ display: inline-flex;
1587
+ align-items: center;
1588
+ min-width: 38px;
1589
+ height: 24px;
1590
+ cursor: pointer;
1591
+ font-weight: 500;
1592
+ text-align: left;
1593
+ user-select: none;
1594
+ margin: 0;
1595
+ padding: 0;
1596
+ padding-left: 44px;
1597
+ box-sizing: border-box;
1598
+ }
1599
+
1600
+ .Switch .switch-label:before, .Switch .switch-label:after {
1601
+ content: "";
1602
+ box-sizing: border-box;
1603
+ position: absolute;
1604
+ margin: 0;
1605
+ outline: 0;
1606
+ top: 50%;
1607
+ transform: translate(0, -50%);
1608
+ transition: all 0.3s ease;
1609
+ }
1610
+
1611
+ .Switch .switch-label:before {
1612
+ left: 1px;
1613
+ width: 34px;
1614
+ height: 14px;
1615
+ background-color: #9E9E9E;
1616
+ border-radius: 8px;
1617
+ }
1618
+
1619
+ .Switch .switch-label:after {
1620
+ left: 0;
1621
+ width: 20px;
1622
+ height: 20px;
1623
+ background-color: #FAFAFA;
1624
+ border-radius: 50%;
1625
+ 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);
1626
+ }
1627
+
1628
+ .Switch .switch-label .toggle--on {
1629
+ display: none;
1646
1630
  }
1647
1631
 
1648
- .TextField.focused > label, .TextField.withValue > label {
1649
- top: 4px;
1650
- font-size: 12px;
1651
- line-height: 14px;
1632
+ .Switch .switch-label .toggle--off {
1633
+ display: inline-block;
1652
1634
  }
1653
1635
 
1654
- .TextField.errored > .error {
1655
- visibility: visible;
1656
- opacity: 1;
1636
+ .Switch .switch-label .label {
1637
+ margin-right: 5px;
1657
1638
  }
1658
1639
 
1659
- .TextField.errored > .border {
1660
- border-bottom-color: rgb(244, 67, 54);
1640
+ .Switch .switch-input:checked + .switch-label:before {
1641
+ background-color: #A5D6A7;
1661
1642
  }
1662
1643
 
1663
- .TextField.errored > label {
1664
- color: rgb(244, 67, 54);
1644
+ .Switch .switch-input:checked + .switch-label:after {
1645
+ background-color: #4CAF50;
1646
+ transform: translate(80%, -50%);
1665
1647
  }
1666
1648
 
1667
- .TextField.focused > label {
1668
- color: rgb(0, 188, 212);
1649
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1650
+ display: inline-block;
1669
1651
  }
1670
1652
 
1671
- .TextField.focused > .border .line {
1672
- left: 0;
1673
- width: 100%;
1653
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1654
+ display: none;
1674
1655
  }
1675
1656
 
1676
- .TextField.disabled label, .TextField.disabled input {
1677
- cursor: not-allowed;
1657
+ .Modal {
1658
+ display: block;
1659
+ position: fixed;
1660
+ top: 0;
1661
+ left: 0;
1662
+ right: 0;
1663
+ bottom: 100%;
1664
+ overflow-y: scroll;
1665
+ transition: bottom 0ms linear;
1666
+ transition-delay: 0.2s;
1678
1667
  }
1679
1668
 
1680
- .TextField.withLabel {
1681
- margin-top: 15px;
1669
+ .Modal.show {
1670
+ transition-delay: 0s;
1671
+ bottom: 0;
1682
1672
  }
1683
1673
 
1684
- .TextField input::-webkit-contacts-auto-fill-button {
1685
- visibility: hidden;
1686
- display: none !important;
1687
- pointer-events: none;
1688
- position: absolute;
1674
+ .Modal > .overlay {
1675
+ position: fixed;
1676
+ top: 0;
1677
+ bottom: 100%;
1678
+ left: 0;
1689
1679
  right: 0;
1680
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1681
+ opacity: 0;
1682
+ background-color: black;
1683
+ pointer-events: none;
1690
1684
  }
1691
1685
 
1692
- .TextField input:-webkit-autofill {
1693
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1686
+ .Modal > .overlay.show {
1687
+ opacity: 0.5;
1688
+ bottom: 0;
1694
1689
  }
1695
1690
 
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
- }
1691
+ .Modal > .content {
1692
+ left: 50%;
1693
+ top: 10vh;
1694
+ margin-bottom: 10vh;
1695
+ font-size: 16px;
1696
+ padding: 0;
1697
+ opacity: 0;
1698
+ transition: opacity 0.25s ease, transform 0.25s ease;
1699
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1700
+ transform-origin: top;
1701
+ position: absolute;
1702
+ border-radius: 2px;
1703
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1706
1704
  }
1707
- .TextField .shake {
1708
- animation-duration: 0.5s;
1709
- animation-fill-mode: both;
1710
- animation-timing-function: ease-in-out;
1711
- animation-name: shake;
1705
+
1706
+ .Modal > .content.show {
1707
+ opacity: 1;
1708
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1712
1709
  }
1713
1710
 
1714
- .ScrollableTable .Scrollable .scrollbar {
1715
- top: 56px;
1711
+ .Modal > .content > .Scrollable {
1712
+ overflow: visible;
1713
+ max-height: 80vh;
1716
1714
  }
1717
1715
 
1718
- .ScrollableTable .Table {
1719
- position: static;
1716
+ .Modal > .content > .Scrollable > .viewport {
1717
+ min-width: 10px;
1718
+ min-height: 10px;
1719
+ }
1720
+
1721
+ .Modal > .content > .Button.close {
1722
+ top: 10px;
1723
+ right: 10px;
1724
+ position: absolute;
1720
1725
  }
1721
1726
 
1722
1727
  .Table {
@@ -1841,100 +1846,95 @@
1841
1846
  margin: 0;
1842
1847
  }
1843
1848
 
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;
1849
+ .ScrollableTable .Scrollable .scrollbar {
1850
+ top: 56px;
1858
1851
  }
1859
1852
 
1860
- .Scrollable .viewport {
1861
- overflow-y: scroll;
1862
- overflow-x: scroll;
1863
- max-height: 100%;
1864
- scrollbar-width: none;
1853
+ .ScrollableTable .Table {
1854
+ position: static;
1865
1855
  }
1866
1856
 
1867
- .Scrollable .viewport::-webkit-scrollbar {
1868
- display: none;
1857
+ .CalendarMonthView {
1858
+ display: flex;
1859
+ flex-flow: column nowrap;
1860
+ height: 100%;
1869
1861
  }
1870
1862
 
1871
- .Scrollable.without-scroll-horizontal {
1872
- max-width: unset;
1863
+ .CalendarMonthView > .row {
1864
+ display: flex;
1865
+ flex-flow: row nowrap;
1873
1866
  }
1874
1867
 
1875
- .Scrollable.undefined-horizontal {
1876
- max-width: unset;
1868
+ .CalendarMonthView .days {
1869
+ flex-grow: 1;
1870
+ position: relative;
1877
1871
  }
1878
1872
 
1879
- .Scrollable.without-scroll {
1880
- padding-right: 0;
1881
- max-height: unset;
1873
+ .CalendarMonthView .day, .CalendarMonthView .header {
1874
+ flex-grow: 1;
1875
+ flex-basis: 1px;
1882
1876
  }
1883
1877
 
1884
- .Scrollable.without-scroll > .viewport {
1885
- padding-right: 0;
1886
- margin-right: 0;
1878
+ .CalendarMonthView .day {
1879
+ height: 100%;
1887
1880
  }
1888
1881
 
1889
- .Scrollable.without-scroll > .scrollbar {
1890
- visibility: hidden;
1882
+ .Dropzone {
1883
+ position: relative;
1891
1884
  }
1892
1885
 
1893
- .Scrollable .scrollbar {
1886
+ .Dropzone > .overlay {
1894
1887
  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;
1888
+ left: 0;
1889
+ right: 0;
1890
+ top: 0;
1891
+ bottom: 0;
1892
+ background-color: #38ADC4;
1900
1893
  z-index: 1;
1901
- }
1902
-
1903
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1904
1894
  opacity: 0;
1895
+ transition: all 0.2s ease;
1896
+ transition-delay: 100ms;
1897
+ visibility: hidden;
1898
+ display: flex;
1899
+ justify-content: center;
1900
+ align-items: center;
1905
1901
  }
1906
1902
 
1907
- .Scrollable .scrollbar .thumb {
1908
- background-color: rgba(0, 0, 0, 0.3);
1909
- width: 5px;
1903
+ .Dropzone > .overlay .drop {
1904
+ border-radius: 4px;
1905
+ border: 1px dashed #FFFFFF;
1910
1906
  position: absolute;
1911
- right: 0px;
1912
- top: 0px;
1913
- user-select: none;
1914
- will-change: top;
1915
- border-radius: 2px;
1907
+ top: 18px;
1908
+ left: 18px;
1909
+ right: 18px;
1910
+ bottom: 18px;
1911
+ display: flex;
1912
+ justify-content: center;
1913
+ align-items: center;
1914
+ font-weight: 500;
1915
+ font-size: 18px;
1916
+ color: #FFFFFF;
1916
1917
  }
1917
1918
 
1918
- .Scrollable .scrollbar .thumb:hover {
1919
- background-color: rgba(0, 0, 0, 0.5);
1919
+ .Dropzone.dragging > .overlay {
1920
+ opacity: 0.7;
1921
+ visibility: visible;
1922
+ transition-delay: 0s;
1920
1923
  }
1921
1924
 
1922
- .Scrollable .scrollbar .thumb:active {
1923
- background-color: rgba(0, 0, 0, 0.7);
1925
+ .Dropzone.dragging > * {
1926
+ pointer-events: none;
1924
1927
  }
1925
1928
 
1926
- .Scrollable .scrollbar.horizontal {
1927
- left: 0px;
1928
- right: 0px;
1929
- height: 5px;
1929
+ .Dropzone > input.file {
1930
+ position: absolute;
1931
+ left: 0;
1932
+ right: 0;
1933
+ top: 0;
1930
1934
  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;
1935
+ width: 100%;
1936
+ height: 100%;
1937
+ opacity: 0;
1938
+ cursor: pointer;
1939
+ z-index: 1;
1940
1940
  }