react-ui-basics 0.0.209 → 0.0.211

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 (87) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/Checkbox.d.ts +16 -0
  5. package/Checkbox.js +14 -52
  6. package/Checkbox.js.map +1 -1
  7. package/CircleProgress.d.ts +12 -0
  8. package/CircleProgress.js +8 -31
  9. package/CircleProgress.js.map +1 -1
  10. package/CommonFields.d.ts +18 -0
  11. package/CommonFields.js +18 -20
  12. package/CommonFields.js.map +1 -1
  13. package/DNDDraggable.js.map +1 -1
  14. package/DNDDroppable.js.map +1 -1
  15. package/Dialog.js.map +1 -1
  16. package/DropFileInput.d.ts +20 -0
  17. package/DropFileInput.js +6 -37
  18. package/DropFileInput.js.map +1 -1
  19. package/DroppableHorizontalList.js.map +1 -1
  20. package/DroppableList.js.map +1 -1
  21. package/Dropzone.js.map +1 -1
  22. package/FilteredList.js.map +1 -1
  23. package/FloatingActionButton.d.ts +19 -0
  24. package/FloatingActionButton.js +7 -28
  25. package/FloatingActionButton.js.map +1 -1
  26. package/FormUploadProgress.js.map +1 -1
  27. package/ImageGallery.js +7 -6
  28. package/ImageGallery.js.map +1 -1
  29. package/MaterialIcon.d.ts +11 -0
  30. package/MaterialIcon.js +3 -18
  31. package/MaterialIcon.js.map +1 -1
  32. package/Modal.js.map +1 -1
  33. package/ModalMenu.d.ts +15 -0
  34. package/ModalMenu.js +23 -62
  35. package/ModalMenu.js.map +1 -1
  36. package/ReadyListener.js.map +1 -1
  37. package/Scrollable.css +3 -0
  38. package/Scrollable.js +20 -16
  39. package/Scrollable.js.map +1 -1
  40. package/Size.d.ts +8 -0
  41. package/Size.js +36 -35
  42. package/Size.js.map +1 -1
  43. package/Snackbar.d.ts +12 -0
  44. package/Snackbar.js +40 -62
  45. package/Snackbar.js.map +1 -1
  46. package/SpinningProgress.d.ts +4 -0
  47. package/SpinningProgress.js +3 -18
  48. package/SpinningProgress.js.map +1 -1
  49. package/Switch.d.ts +17 -0
  50. package/Switch.js +13 -60
  51. package/Switch.js.map +1 -1
  52. package/Table.js +1 -1
  53. package/Table.js.map +1 -1
  54. package/TextField.js.map +1 -1
  55. package/Tools.d.ts +1 -1
  56. package/Tools.js.map +1 -1
  57. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  58. package/bundle.css +808 -804
  59. package/package.json +22 -22
  60. package/router/HistoryTools.js.map +1 -1
  61. package/router/Link.js.map +1 -1
  62. package/router/NavLink.js.map +1 -1
  63. package/router/Route.js.map +1 -1
  64. package/src/Checkbox.tsx +37 -0
  65. package/src/CircleProgress.tsx +29 -0
  66. package/src/{CommonFields.js → CommonFields.ts} +1 -1
  67. package/src/DropFileInput.tsx +32 -0
  68. package/src/FloatingActionButton.tsx +28 -0
  69. package/src/MaterialIcon.tsx +1830 -0
  70. package/src/{ModalMenu.js → ModalMenu.tsx} +18 -9
  71. package/src/Scrollable.css +3 -0
  72. package/src/Scrollable.js +23 -19
  73. package/src/Scrollable.scss +4 -0
  74. package/src/{Size.js → Size.tsx} +24 -22
  75. package/src/{Snackbar.js → Snackbar.tsx} +22 -16
  76. package/src/SpinningProgress.tsx +13 -0
  77. package/src/Switch.tsx +42 -0
  78. package/src/Table.tsx +1 -1
  79. package/src/Tools.ts +1 -1
  80. package/store/ProxyTools.js.map +1 -1
  81. package/src/Checkbox.js +0 -46
  82. package/src/CircleProgress.js +0 -32
  83. package/src/DropFileInput.js +0 -39
  84. package/src/FloatingActionButton.js +0 -29
  85. package/src/MaterialIcon.js +0 -1832
  86. package/src/SpinningProgress.js +0 -13
  87. package/src/Switch.js +0 -48
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,6 +302,66 @@
293
302
  position: absolute;
294
303
  }
295
304
 
305
+ .Dropzone {
306
+ position: relative;
307
+ }
308
+
309
+ .Dropzone > .overlay {
310
+ position: absolute;
311
+ left: 0;
312
+ right: 0;
313
+ top: 0;
314
+ bottom: 0;
315
+ background-color: #38ADC4;
316
+ z-index: 1;
317
+ opacity: 0;
318
+ transition: all 0.2s ease;
319
+ transition-delay: 100ms;
320
+ visibility: hidden;
321
+ display: flex;
322
+ justify-content: center;
323
+ align-items: center;
324
+ }
325
+
326
+ .Dropzone > .overlay .drop {
327
+ border-radius: 4px;
328
+ border: 1px dashed #FFFFFF;
329
+ position: absolute;
330
+ top: 18px;
331
+ left: 18px;
332
+ right: 18px;
333
+ bottom: 18px;
334
+ display: flex;
335
+ justify-content: center;
336
+ align-items: center;
337
+ font-weight: 500;
338
+ font-size: 18px;
339
+ color: #FFFFFF;
340
+ }
341
+
342
+ .Dropzone.dragging > .overlay {
343
+ opacity: 0.7;
344
+ visibility: visible;
345
+ transition-delay: 0s;
346
+ }
347
+
348
+ .Dropzone.dragging > * {
349
+ pointer-events: none;
350
+ }
351
+
352
+ .Dropzone > input.file {
353
+ position: absolute;
354
+ left: 0;
355
+ right: 0;
356
+ top: 0;
357
+ bottom: 0;
358
+ width: 100%;
359
+ height: 100%;
360
+ opacity: 0;
361
+ cursor: pointer;
362
+ z-index: 1;
363
+ }
364
+
296
365
  .Button {
297
366
  position: relative;
298
367
  min-width: 64px;
@@ -459,80 +528,73 @@
459
528
  border: 0;
460
529
  }
461
530
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
465
- }
466
-
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
469
- }
470
-
471
- .Checkbox {
472
- position: relative;
473
- white-space: pre;
474
- }
475
-
476
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
477
- box-sizing: border-box;
478
- }
479
-
480
- .Checkbox label {
481
- font-family: Roboto, sans-serif;
482
- font-size: 14px;
483
- color: #1e252d;
484
- cursor: pointer;
485
- }
486
-
487
- .Checkbox label:before, .Checkbox label:after {
488
- content: "";
531
+ .FormUploadProgress {
489
532
  position: absolute;
490
533
  left: 0;
534
+ right: 0;
491
535
  top: 0;
536
+ bottom: 0;
537
+ background-color: rgba(255, 255, 255, 0.6);
538
+ z-index: 2;
492
539
  }
493
540
 
494
- .Checkbox label:before {
495
- width: 20px;
496
- height: 20px;
497
- background: #fff;
498
- border: 2px solid #252525;
499
- border-radius: 2px;
500
- cursor: pointer;
501
- transition: background 0.3s;
541
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
542
+ transition-delay: 500ms;
502
543
  }
503
544
 
504
- .Checkbox input[type=checkbox] {
505
- outline: 0;
506
- margin-right: 10px;
507
- visibility: hidden;
545
+ .FormUploadProgress .wrapper {
546
+ position: sticky;
547
+ top: 40%;
548
+ margin-top: 40%;
549
+ margin-left: 50%;
550
+ transform: translateX(-50%);
551
+ display: flex;
552
+ flex-flow: column;
553
+ justify-content: center;
554
+ align-items: center;
508
555
  }
509
556
 
510
- .Checkbox input[type=checkbox]:checked + label:before {
511
- background: #4AC263;
512
- border: none;
557
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
558
+ position: absolute;
559
+ width: 107px;
560
+ height: 107px;
561
+ top: 0;
562
+ left: 0;
513
563
  }
514
564
 
515
- .Checkbox input[type=checkbox]:checked + label:after {
516
- transform: rotate(-45deg);
517
- top: 6px;
518
- left: 4px;
519
- width: 12px;
520
- height: 6px;
521
- border: 2px solid #fff;
522
- border-top-style: none;
523
- border-right-style: none;
565
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
566
+ stroke: #2196F3;
524
567
  }
525
568
 
526
- .Checkbox input[type=checkbox]:disabled + label {
527
- color: gray;
569
+ .FormUploadProgress .wrapper > .progress {
570
+ width: 107px;
571
+ height: 107px;
572
+ min-height: 107px;
573
+ display: flex;
574
+ justify-content: center;
575
+ align-items: center;
576
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
577
+ border-radius: 50%;
578
+ background: white;
579
+ position: relative;
528
580
  }
529
581
 
530
- .Checkbox input[type=checkbox]:disabled + label:before {
531
- border-color: rgba(0, 0, 0, 0.26);
582
+ .FormUploadProgress .wrapper > .progress > .value {
583
+ display: inline-block;
584
+ margin-top: 5px;
585
+ font-weight: bold;
586
+ line-height: 16px;
587
+ font-size: 13px;
588
+ text-align: center;
589
+ color: #818181;
532
590
  }
533
591
 
534
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
535
- background: rgba(0, 0, 0, 0.26);
592
+ .FormUploadProgress .wrapper .cancel {
593
+ min-width: 107px;
594
+ margin-top: 20px;
595
+ background-color: white;
596
+ color: #F96B5C;
597
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
536
598
  }
537
599
 
538
600
  .FilteredList {
@@ -620,19 +682,6 @@
620
682
  margin-bottom: 8px;
621
683
  }
622
684
 
623
- .CircleProgress {
624
- width: 48px;
625
- height: 48px;
626
- }
627
-
628
- .CircleProgress .line {
629
- stroke-width: 2px;
630
- stroke: black;
631
- stroke-linecap: square;
632
- fill: none;
633
- transition: stroke-dashoffset 0.2s ease;
634
- }
635
-
636
685
  .DialogModal {
637
686
  overflow: hidden;
638
687
  }
@@ -707,6 +756,10 @@
707
756
  max-width: unset;
708
757
  }
709
758
 
759
+ .Scrollable.undefined-horizontal {
760
+ max-width: unset;
761
+ }
762
+
710
763
  .Scrollable.without-scroll {
711
764
  padding-right: 0;
712
765
  max-height: unset;
@@ -770,1049 +823,992 @@
770
823
  will-change: left;
771
824
  }
772
825
 
773
- .Button.FloatingActionButton {
826
+ .TextField {
827
+ position: relative;
828
+ width: 100%;
829
+ }
830
+
831
+ .TextField > label {
832
+ font-family: Roboto, sans-serif;
833
+ color: rgba(0, 0, 0, 0.3);
834
+ font-size: 16px;
774
835
  position: absolute;
775
- right: 16px;
776
- bottom: 16px;
777
- width: 56px;
778
- height: 56px;
779
- padding: 16px;
780
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
836
+ left: 0px;
837
+ top: 16px;
838
+ margin-top: -16px;
839
+ transition: all 0.2s ease;
840
+ user-select: none;
841
+ cursor: text;
781
842
  }
782
843
 
783
- .Button.FloatingActionButton.raised {
784
- 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);
844
+ .TextField > input {
845
+ font-family: Roboto, sans-serif;
846
+ color: #1e252d;
847
+ height: 19px;
848
+ font-size: 16px;
849
+ width: 100%;
850
+ border: 0px;
851
+ padding-bottom: 4px;
852
+ padding-top: 0;
853
+ outline-color: rgba(0, 0, 0, 0);
785
854
  }
786
855
 
787
- .Button.FloatingActionButton.mini {
788
- width: 40px;
789
- height: 40px;
790
- padding: 8px;
856
+ .TextField > input:focus {
857
+ outline: none;
791
858
  }
792
859
 
793
- .Button.FloatingActionButton.hidden {
794
- bottom: -100px;
860
+ .TextField > input:disabled {
861
+ color: gray;
862
+ background-color: white;
795
863
  }
796
864
 
797
- .Dropzone {
865
+ .TextField > input:disabled + .border {
866
+ height: 0px;
867
+ border-bottom: 2px dotted rgb(224, 224, 224);
868
+ }
869
+
870
+ .TextField > input::placeholder {
871
+ font-family: Roboto, sans-serif;
872
+ color: rgba(0, 0, 0, 0.3);
873
+ opacity: 1;
874
+ }
875
+
876
+ .TextField > .border {
877
+ border-bottom: 1px solid rgb(224, 224, 224);
878
+ height: 1px;
798
879
  position: relative;
799
880
  }
800
881
 
801
- .Dropzone > .overlay {
802
- position: absolute;
803
- left: 0;
804
- right: 0;
805
- top: 0;
806
- bottom: 0;
807
- background-color: #38ADC4;
808
- z-index: 1;
809
- opacity: 0;
882
+ .TextField > .border .line {
883
+ left: 50%;
884
+ width: 0;
885
+ height: 2px;
886
+ min-height: 2px;
887
+ background-color: rgb(0, 188, 212);
810
888
  transition: all 0.2s ease;
811
- transition-delay: 100ms;
889
+ position: absolute;
890
+ }
891
+
892
+ .TextField > .error {
893
+ text-align: left;
894
+ font-size: 10px;
895
+ min-height: 0;
896
+ line-height: 14px;
897
+ color: rgb(244, 67, 54);
812
898
  visibility: hidden;
813
- display: flex;
814
- justify-content: center;
815
- align-items: center;
899
+ opacity: 0;
900
+ transition: all 0.2s ease;
816
901
  }
817
902
 
818
- .Dropzone > .overlay .drop {
819
- border-radius: 4px;
820
- border: 1px dashed #FFFFFF;
821
- position: absolute;
822
- top: 18px;
823
- left: 18px;
824
- right: 18px;
825
- bottom: 18px;
826
- display: flex;
827
- justify-content: center;
828
- align-items: center;
829
- font-weight: 500;
830
- font-size: 18px;
831
- color: #FFFFFF;
903
+ .TextField.focused > label, .TextField.withValue > label {
904
+ top: 4px;
905
+ font-size: 12px;
906
+ line-height: 14px;
832
907
  }
833
908
 
834
- .Dropzone.dragging > .overlay {
835
- opacity: 0.7;
909
+ .TextField.errored > .error {
836
910
  visibility: visible;
837
- transition-delay: 0s;
911
+ opacity: 1;
838
912
  }
839
913
 
840
- .Dropzone.dragging > * {
841
- pointer-events: none;
914
+ .TextField.errored > .border {
915
+ border-bottom-color: rgb(244, 67, 54);
842
916
  }
843
917
 
844
- .Dropzone > input.file {
845
- position: absolute;
918
+ .TextField.errored > label {
919
+ color: rgb(244, 67, 54);
920
+ }
921
+
922
+ .TextField.focused > label {
923
+ color: rgb(0, 188, 212);
924
+ }
925
+
926
+ .TextField.focused > .border .line {
846
927
  left: 0;
847
- right: 0;
848
- top: 0;
849
- bottom: 0;
850
928
  width: 100%;
851
- height: 100%;
852
- opacity: 0;
853
- cursor: pointer;
854
- z-index: 1;
855
929
  }
856
930
 
857
- .Modal {
858
- display: block;
859
- position: fixed;
860
- top: 0;
861
- left: 0;
931
+ .TextField.disabled label, .TextField.disabled input {
932
+ cursor: not-allowed;
933
+ }
934
+
935
+ .TextField.withLabel {
936
+ margin-top: 15px;
937
+ }
938
+
939
+ .TextField input::-webkit-contacts-auto-fill-button {
940
+ visibility: hidden;
941
+ display: none !important;
942
+ pointer-events: none;
943
+ position: absolute;
862
944
  right: 0;
863
- bottom: 100%;
864
- overflow-y: scroll;
865
- transition: bottom 0ms linear;
866
- transition-delay: 0.2s;
867
945
  }
868
946
 
869
- .Modal.show {
870
- transition-delay: 0s;
871
- bottom: 0;
947
+ .TextField input:-webkit-autofill {
948
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
872
949
  }
873
950
 
874
- .Modal > .overlay {
951
+ @keyframes shake {
952
+ 0%, 100% {
953
+ transform: translateX(0);
954
+ }
955
+ 20%, 60% {
956
+ transform: translateX(-5px);
957
+ }
958
+ 40%, 80% {
959
+ transform: translateX(5px);
960
+ }
961
+ }
962
+ .TextField .shake {
963
+ animation-duration: 0.5s;
964
+ animation-fill-mode: both;
965
+ animation-timing-function: ease-in-out;
966
+ animation-name: shake;
967
+ }
968
+
969
+ .ImageGallery {
875
970
  position: fixed;
876
971
  top: 0;
877
- bottom: 100%;
878
972
  left: 0;
973
+ bottom: 0;
879
974
  right: 0;
880
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
881
- opacity: 0;
882
- background-color: black;
883
- pointer-events: none;
975
+ z-index: 1000;
976
+ background-color: rgba(0, 0, 0, 0.01);
977
+ user-select: none;
884
978
  }
885
979
 
886
- .Modal > .overlay.show {
887
- opacity: 0.5;
888
- bottom: 0;
980
+ .ImageGallery:focus {
981
+ outline-width: 0px;
889
982
  }
890
983
 
891
- .Modal > .content {
892
- left: 50%;
893
- top: 10vh;
894
- margin-bottom: 10vh;
895
- font-size: 16px;
896
- padding: 0;
897
- opacity: 0;
898
- transition: opacity 0.25s ease, transform 0.25s ease;
899
- transform: scaleY(0) translateY(-200px) translateX(-50%);
900
- transform-origin: top;
984
+ .ImageGallery.animated {
985
+ transition: background-color 0.25s ease;
986
+ opacity: 1;
987
+ }
988
+
989
+ .ImageGallery.mounting, .ImageGallery.mounted {
990
+ background-color: rgba(0, 0, 0, 0.8);
991
+ }
992
+
993
+ .ImageGallery .image {
901
994
  position: absolute;
902
- border-radius: 2px;
903
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
995
+ cursor: grab;
904
996
  }
905
997
 
906
- .Modal > .content.show {
998
+ .ImageGallery .image .counter {
999
+ display: none;
1000
+ }
1001
+
1002
+ .ImageGallery .image img {
1003
+ border-radius: 4px;
1004
+ max-width: 100%;
1005
+ min-width: 100%;
1006
+ }
1007
+
1008
+ .ImageGallery .image.animated {
1009
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1010
+ will-change: top, left, width, height, opacity;
1011
+ }
1012
+
1013
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
907
1014
  opacity: 1;
908
- transform: scaleY(1) translateY(0px) translateX(-50%);
909
1015
  }
910
1016
 
911
- .Modal > .content > .Scrollable {
912
- overflow: visible;
913
- max-height: 80vh;
1017
+ .ImageGallery .image.zoomed {
1018
+ text-align: center;
1019
+ overflow: hidden;
914
1020
  }
915
1021
 
916
- .Modal > .content > .Scrollable > .viewport {
917
- min-width: 10px;
918
- min-height: 10px;
1022
+ .ImageGallery .image.dragging {
1023
+ transition: none;
1024
+ cursor: move;
919
1025
  }
920
1026
 
921
- .Modal > .content > .Button.close {
922
- top: 10px;
923
- right: 10px;
1027
+ .ImageGallery .image .close {
924
1028
  position: absolute;
1029
+ top: -18px;
1030
+ right: -18px;
925
1031
  }
926
1032
 
927
- .ModalMenu {
1033
+ .ImageGallery .image .spinner {
928
1034
  position: absolute;
929
- top: 10px;
930
- right: 50px;
1035
+ top: 0;
1036
+ bottom: 0;
1037
+ left: 0;
1038
+ right: 0;
1039
+ background: rgba(0, 0, 0, 0.65);
931
1040
  }
932
1041
 
933
- .ModalMenu .material-icons {
934
- color: #818181;
1042
+ .ImageGallery .image .spinner .SpinningProgress {
1043
+ position: absolute;
1044
+ top: 50%;
1045
+ left: 50%;
1046
+ margin-left: -24px;
1047
+ margin-top: -24px;
935
1048
  }
936
1049
 
937
- .ModalMenu .Button.animated {
938
- position: absolute;
939
- transition: opacity 150ms ease-in, right 200ms ease-in;
1050
+ .ImageGallery .image .spinner .SpinningProgress .line {
1051
+ stroke: #2196F3;
1052
+ }
1053
+
1054
+ .ImageGallery .Button.animated {
1055
+ transition: all 0.25s ease;
940
1056
  opacity: 0;
941
- right: 0;
942
- top: 0;
1057
+ transform: scale(0);
943
1058
  }
944
1059
 
945
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1060
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
946
1061
  opacity: 1;
1062
+ transform: scale(1);
947
1063
  }
948
1064
 
949
- .ModalMenu .Button.animated.unmounting {
950
- transition: opacity 100ms ease-out, right 200ms ease-out;
1065
+ .ImageGallery .Button {
1066
+ color: white;
1067
+ background: rgba(0, 0, 0, 0.4);
951
1068
  }
952
1069
 
953
- .ModalMenu .Button.active {
954
- background: #EBEBEB;
1070
+ .ImageGallery .Button:hover {
1071
+ background: rgba(0, 0, 0, 0.7);
955
1072
  }
956
1073
 
957
- .ModalMenu .separator {
958
- height: 24px;
959
- width: 1px;
960
- background-color: #D9D9D9;
961
- margin-left: 4px;
1074
+ .ImageGallery > .arrow {
1075
+ position: absolute;
1076
+ top: 50%;
1077
+ height: 76px;
1078
+ width: 76px;
1079
+ margin-top: -38px;
962
1080
  }
963
1081
 
964
- .Switch {
965
- display: inline-flex;
966
- padding-top: 5px;
1082
+ .ImageGallery > .arrow.left {
1083
+ left: 5%;
967
1084
  }
968
1085
 
969
- .Switch .switch-input {
970
- display: none;
1086
+ .ImageGallery > .arrow.right {
1087
+ right: 5%;
971
1088
  }
972
1089
 
973
- .Switch .switch-label {
974
- position: relative;
975
- display: inline-flex;
976
- align-items: center;
977
- min-width: 38px;
978
- height: 24px;
979
- cursor: pointer;
980
- font-weight: 500;
981
- text-align: left;
982
- user-select: none;
983
- margin: 0;
984
- padding: 0;
985
- padding-left: 44px;
986
- box-sizing: border-box;
1090
+ .ImageGallery > .arrow .material-icons {
1091
+ font-size: 40px;
987
1092
  }
988
1093
 
989
- .Switch .switch-label:before, .Switch .switch-label:after {
990
- content: "";
991
- box-sizing: border-box;
1094
+ .ImageGallery .counter {
992
1095
  position: absolute;
993
- margin: 0;
994
- outline: 0;
995
- top: 50%;
996
- transform: translate(0, -50%);
997
- transition: all 0.3s ease;
1096
+ top: 10px;
1097
+ left: 10px;
1098
+ color: white;
1099
+ font-size: 13px;
998
1100
  }
999
1101
 
1000
- .Switch .switch-label:before {
1001
- left: 1px;
1002
- width: 34px;
1003
- height: 14px;
1004
- background-color: #9E9E9E;
1005
- border-radius: 8px;
1102
+ .ImageGallery .previews {
1103
+ height: 80px;
1104
+ position: absolute;
1105
+ bottom: 15px;
1106
+ left: 50%;
1107
+ transform: translateX(-50%);
1108
+ padding: 0 45px;
1006
1109
  }
1007
1110
 
1008
- .Switch .switch-label:after {
1009
- left: 0;
1010
- width: 20px;
1011
- height: 20px;
1012
- background-color: #FAFAFA;
1013
- border-radius: 50%;
1014
- 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);
1111
+ .ImageGallery .previews .viewport {
1112
+ overflow: hidden;
1113
+ position: relative;
1114
+ height: 100%;
1015
1115
  }
1016
1116
 
1017
- .Switch .switch-label .toggle--on {
1018
- display: none;
1117
+ .ImageGallery .previews .container {
1118
+ position: relative;
1119
+ display: flex;
1120
+ flex-flow: row nowrap;
1121
+ height: 100%;
1122
+ transition: left 0.25s ease;
1019
1123
  }
1020
1124
 
1021
- .Switch .switch-label .toggle--off {
1125
+ .ImageGallery .previews .preview {
1126
+ position: relative;
1127
+ height: 100%;
1022
1128
  display: inline-block;
1129
+ width: 106.66px;
1130
+ overflow: hidden;
1131
+ margin-left: 12px;
1132
+ border-radius: 2px;
1133
+ cursor: pointer;
1134
+ box-sizing: border-box;
1023
1135
  }
1024
1136
 
1025
- .Switch .switch-label .label {
1026
- margin-right: 5px;
1137
+ .ImageGallery .previews .preview:first-child {
1138
+ margin-left: 0;
1027
1139
  }
1028
1140
 
1029
- .Switch .switch-input:checked + .switch-label:before {
1030
- background-color: #A5D6A7;
1141
+ .ImageGallery .previews .preview > .border {
1142
+ position: absolute;
1143
+ bottom: 0;
1144
+ width: 100%;
1145
+ height: 3px;
1031
1146
  }
1032
1147
 
1033
- .Switch .switch-input:checked + .switch-label:after {
1034
- background-color: #4CAF50;
1035
- transform: translate(80%, -50%);
1148
+ .ImageGallery .previews .preview > .border .line {
1149
+ left: 50%;
1150
+ width: 0;
1151
+ height: 3px;
1152
+ min-height: 3px;
1153
+ background-color: #4AC263;
1154
+ transition: all 0.2s ease;
1155
+ position: absolute;
1036
1156
  }
1037
1157
 
1038
- .Switch .switch-input:checked + .switch-label .toggle--on {
1039
- display: inline-block;
1158
+ .ImageGallery .previews .preview:after {
1159
+ content: "";
1160
+ position: absolute;
1161
+ top: 0;
1162
+ right: 0;
1163
+ bottom: 0;
1164
+ left: 0;
1165
+ background: rgba(0, 0, 0, 0.35);
1166
+ transition: background 0.2s ease;
1040
1167
  }
1041
1168
 
1042
- .Switch .switch-input:checked + .switch-label .toggle--off {
1043
- display: none;
1169
+ .ImageGallery .previews .preview:hover:after {
1170
+ background: rgba(0, 0, 0, 0.1);
1044
1171
  }
1045
1172
 
1046
- .DNDContainer .DroppableList .Draggable {
1047
- transform: unset;
1048
- transition: unset;
1049
- opacity: 1;
1173
+ .ImageGallery .previews .preview.selected .border .line {
1174
+ left: 0;
1175
+ width: 100%;
1050
1176
  }
1051
1177
 
1052
- .DNDContainer .DroppableList .Draggable.dragged {
1053
- transition: unset !important;
1178
+ .ImageGallery .previews .preview.selected:after {
1179
+ background: rgba(0, 0, 0, 0);
1054
1180
  }
1055
1181
 
1056
- .DNDContainer .DroppableList.hover .Draggable {
1057
- transition: transform 0.2s ease-in;
1182
+ .ImageGallery .previews > .arrow {
1183
+ position: absolute;
1184
+ top: 50%;
1185
+ height: 30px;
1186
+ width: 30px;
1187
+ min-width: 30px;
1188
+ min-height: 30px;
1189
+ margin-top: -15px;
1058
1190
  }
1059
1191
 
1060
- .DNDContainer .DroppableList.resetting .Draggable {
1061
- transition: transform 0.1s ease-in;
1192
+ .ImageGallery .previews > .arrow.left {
1193
+ left: 0;
1062
1194
  }
1063
1195
 
1064
- .SpinningProgress {
1065
- width: 48px;
1066
- height: 48px;
1067
- position: relative;
1068
- margin: 0 auto;
1196
+ .ImageGallery .previews > .arrow.right {
1197
+ right: 0;
1069
1198
  }
1070
1199
 
1071
- .SpinningProgress:before {
1072
- content: "";
1073
- display: block;
1074
- padding-top: 100%;
1200
+ .ImageGallery .previews > .arrow .material-icons {
1201
+ font-size: 24px;
1075
1202
  }
1076
1203
 
1077
- .SpinningProgress .circular {
1078
- animation: rotate 2s linear infinite;
1079
- height: 100%;
1080
- transform-origin: center center;
1081
- width: 100%;
1082
- position: absolute;
1204
+ .Modal {
1205
+ display: block;
1206
+ position: fixed;
1083
1207
  top: 0;
1084
- bottom: 0;
1085
1208
  left: 0;
1086
1209
  right: 0;
1087
- margin: auto;
1210
+ bottom: 100%;
1211
+ overflow-y: scroll;
1212
+ transition: bottom 0ms linear;
1213
+ transition-delay: 0.2s;
1088
1214
  }
1089
1215
 
1090
- .SpinningProgress .line {
1091
- stroke: black;
1092
- stroke-width: 2px;
1093
- stroke-dasharray: 1, 96;
1094
- stroke-dashoffset: 0;
1095
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1216
+ .Modal.show {
1217
+ transition-delay: 0s;
1218
+ bottom: 0;
1096
1219
  }
1097
1220
 
1098
- @keyframes rotate {
1099
- 100% {
1100
- transform: rotate(360deg);
1101
- }
1102
- }
1103
- @keyframes dash {
1104
- 0% {
1105
- stroke-dasharray: 1, 96;
1106
- stroke-dashoffset: 0;
1107
- }
1108
- 50% {
1109
- stroke-dasharray: 43, 96;
1110
- stroke-dashoffset: -17px;
1111
- }
1112
- 100% {
1113
- stroke-dasharray: 43, 96;
1114
- stroke-dashoffset: -53px;
1115
- }
1116
- }
1117
- .ImageGallery {
1221
+ .Modal > .overlay {
1118
1222
  position: fixed;
1119
1223
  top: 0;
1224
+ bottom: 100%;
1120
1225
  left: 0;
1121
- bottom: 0;
1122
1226
  right: 0;
1123
- z-index: 1000;
1124
- background-color: rgba(0, 0, 0, 0.01);
1125
- user-select: none;
1227
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1228
+ opacity: 0;
1229
+ background-color: black;
1230
+ pointer-events: none;
1126
1231
  }
1127
1232
 
1128
- .ImageGallery:focus {
1129
- outline-width: 0px;
1233
+ .Modal > .overlay.show {
1234
+ opacity: 0.5;
1235
+ bottom: 0;
1130
1236
  }
1131
1237
 
1132
- .ImageGallery.animated {
1133
- transition: background-color 0.25s ease;
1238
+ .Modal > .content {
1239
+ left: 50%;
1240
+ top: 10vh;
1241
+ margin-bottom: 10vh;
1242
+ font-size: 16px;
1243
+ padding: 0;
1244
+ opacity: 0;
1245
+ transition: opacity 0.25s ease, transform 0.25s ease;
1246
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1247
+ transform-origin: top;
1248
+ position: absolute;
1249
+ border-radius: 2px;
1250
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1251
+ }
1252
+
1253
+ .Modal > .content.show {
1134
1254
  opacity: 1;
1255
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1135
1256
  }
1136
1257
 
1137
- .ImageGallery.mounting, .ImageGallery.mounted {
1138
- background-color: rgba(0, 0, 0, 0.8);
1258
+ .Modal > .content > .Scrollable {
1259
+ overflow: visible;
1260
+ max-height: 80vh;
1139
1261
  }
1140
1262
 
1141
- .ImageGallery .image {
1263
+ .Modal > .content > .Scrollable > .viewport {
1264
+ min-width: 10px;
1265
+ min-height: 10px;
1266
+ }
1267
+
1268
+ .Modal > .content > .Button.close {
1269
+ top: 10px;
1270
+ right: 10px;
1142
1271
  position: absolute;
1143
- cursor: grab;
1144
1272
  }
1145
1273
 
1146
- .ImageGallery .image .counter {
1147
- display: none;
1274
+ .DNDContainer .DroppableList .Draggable {
1275
+ transform: unset;
1276
+ transition: unset;
1277
+ opacity: 1;
1148
1278
  }
1149
1279
 
1150
- .ImageGallery .image img {
1151
- border-radius: 4px;
1152
- max-width: 100%;
1153
- min-width: 100%;
1280
+ .DNDContainer .DroppableList .Draggable.dragged {
1281
+ transition: unset !important;
1154
1282
  }
1155
1283
 
1156
- .ImageGallery .image.animated {
1157
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1158
- will-change: top, left, width, height, opacity;
1284
+ .DNDContainer .DroppableList.hover .Draggable {
1285
+ transition: transform 0.2s ease-in;
1159
1286
  }
1160
1287
 
1161
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1162
- opacity: 1;
1288
+ .DNDContainer .DroppableList.resetting .Draggable {
1289
+ transition: transform 0.1s ease-in;
1163
1290
  }
1164
1291
 
1165
- .ImageGallery .image.zoomed {
1166
- text-align: center;
1167
- overflow: hidden;
1292
+ .CalendarMonthView {
1293
+ display: flex;
1294
+ flex-flow: column nowrap;
1295
+ height: 100%;
1168
1296
  }
1169
1297
 
1170
- .ImageGallery .image.dragging {
1171
- transition: none;
1172
- cursor: move;
1298
+ .CalendarMonthView > .row {
1299
+ display: flex;
1300
+ flex-flow: row nowrap;
1173
1301
  }
1174
1302
 
1175
- .ImageGallery .image .close {
1176
- position: absolute;
1177
- top: -18px;
1178
- right: -18px;
1303
+ .CalendarMonthView .days {
1304
+ flex-grow: 1;
1305
+ position: relative;
1179
1306
  }
1180
1307
 
1181
- .ImageGallery .image .spinner {
1182
- position: absolute;
1183
- top: 0;
1184
- bottom: 0;
1185
- left: 0;
1186
- right: 0;
1187
- background: rgba(0, 0, 0, 0.65);
1308
+ .CalendarMonthView .day, .CalendarMonthView .header {
1309
+ flex-grow: 1;
1310
+ flex-basis: 1px;
1188
1311
  }
1189
1312
 
1190
- .ImageGallery .image .spinner .SpinningProgress {
1191
- position: absolute;
1192
- top: 50%;
1193
- left: 50%;
1194
- margin-left: -24px;
1195
- margin-top: -24px;
1313
+ .CalendarMonthView .day {
1314
+ height: 100%;
1196
1315
  }
1197
1316
 
1198
- .ImageGallery .image .spinner .SpinningProgress .line {
1199
- stroke: #2196F3;
1317
+ .DatePicker {
1318
+ position: relative;
1200
1319
  }
1201
1320
 
1202
- .ImageGallery .Button.animated {
1203
- transition: all 0.25s ease;
1321
+ .DatePicker > .TextField {
1322
+ width: 200px;
1323
+ margin-bottom: 0px;
1324
+ }
1325
+
1326
+ .DatePicker > .TextField input {
1327
+ text-align: center;
1328
+ }
1329
+
1330
+ .calendar {
1331
+ user-select: none;
1332
+ position: absolute;
1333
+ top: 33px;
1334
+ z-index: 10;
1335
+ 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);
1336
+ border-radius: 4px;
1337
+ overflow: hidden;
1338
+ transition: 0.2s all ease;
1204
1339
  opacity: 0;
1205
- transform: scale(0);
1340
+ visibility: hidden;
1206
1341
  }
1207
1342
 
1208
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1343
+ .calendar.focused {
1209
1344
  opacity: 1;
1210
- transform: scale(1);
1345
+ visibility: visible;
1211
1346
  }
1212
1347
 
1213
- .ImageGallery .Button {
1214
- color: white;
1215
- background: rgba(0, 0, 0, 0.4);
1348
+ .calendar .monthSelect {
1349
+ align-items: center;
1350
+ margin-bottom: 0;
1351
+ background: white;
1352
+ font-size: 12px;
1353
+ color: rgb(170, 170, 170);
1354
+ padding-right: 16px;
1355
+ padding-left: 16px;
1356
+ height: 40px;
1216
1357
  }
1217
1358
 
1218
- .ImageGallery .Button:hover {
1219
- background: rgba(0, 0, 0, 0.7);
1359
+ .calendar .monthSelect span {
1360
+ margin-right: auto;
1220
1361
  }
1221
1362
 
1222
- .ImageGallery > .arrow {
1223
- position: absolute;
1224
- top: 50%;
1225
- height: 76px;
1226
- width: 76px;
1227
- margin-top: -38px;
1363
+ .calendar .monthSelect .Button {
1364
+ min-width: 25px;
1365
+ min-height: 25px;
1228
1366
  }
1229
1367
 
1230
- .ImageGallery > .arrow.left {
1231
- left: 5%;
1368
+ .calendar .monthSelect .Button .material-icons {
1369
+ font-size: 16px;
1232
1370
  }
1233
1371
 
1234
- .ImageGallery > .arrow.right {
1235
- right: 5%;
1372
+ .calendar .monthSelect .Button.disabled {
1373
+ background: transparent;
1236
1374
  }
1237
1375
 
1238
- .ImageGallery > .arrow .material-icons {
1239
- font-size: 40px;
1376
+ .calendar .CalendarMonthView {
1377
+ background: white;
1240
1378
  }
1241
1379
 
1242
- .ImageGallery .counter {
1243
- position: absolute;
1244
- top: 10px;
1245
- left: 10px;
1246
- color: white;
1247
- font-size: 13px;
1380
+ .calendar .CalendarMonthView .headers, .calendar .CalendarMonthView .days {
1381
+ margin-bottom: 0;
1248
1382
  }
1249
1383
 
1250
- .ImageGallery .previews {
1251
- height: 80px;
1252
- position: absolute;
1253
- bottom: 15px;
1254
- left: 50%;
1255
- transform: translateX(-50%);
1256
- padding: 0 45px;
1384
+ .calendar .CalendarMonthView .header {
1385
+ font-size: 12px;
1386
+ font-weight: bold;
1387
+ text-align: center;
1388
+ text-transform: uppercase;
1389
+ margin: 5px;
1257
1390
  }
1258
1391
 
1259
- .ImageGallery .previews .viewport {
1260
- overflow: hidden;
1261
- position: relative;
1262
- height: 100%;
1392
+ .calendar .CalendarMonthView .day {
1393
+ font-size: 10px;
1263
1394
  }
1264
1395
 
1265
- .ImageGallery .previews .container {
1266
- position: relative;
1267
- display: flex;
1268
- flex-flow: row nowrap;
1269
- height: 100%;
1270
- transition: left 0.25s ease;
1396
+ .calendar .CalendarMonthView .day.notSelectedMonth {
1397
+ color: #969696;
1271
1398
  }
1272
1399
 
1273
- .ImageGallery .previews .preview {
1274
- position: relative;
1275
- height: 100%;
1276
- display: inline-block;
1277
- width: 106.66px;
1278
- overflow: hidden;
1279
- margin-left: 12px;
1280
- border-radius: 2px;
1400
+ .calendar .CalendarMonthView .day span {
1401
+ display: inline-flex;
1402
+ justify-content: center;
1403
+ align-items: center;
1404
+ border-radius: 50%;
1405
+ width: 25px;
1406
+ height: 25px;
1407
+ margin: 5px;
1408
+ transition: 0.2s all ease;
1281
1409
  cursor: pointer;
1282
- box-sizing: border-box;
1283
1410
  }
1284
1411
 
1285
- .ImageGallery .previews .preview:first-child {
1286
- margin-left: 0;
1412
+ .calendar .CalendarMonthView .day span:hover {
1413
+ background-color: #e6e6e6;
1287
1414
  }
1288
1415
 
1289
- .ImageGallery .previews .preview > .border {
1290
- position: absolute;
1291
- bottom: 0;
1292
- width: 100%;
1293
- height: 3px;
1416
+ .calendar .CalendarMonthView .day span.inactive {
1417
+ color: lightgray;
1418
+ cursor: unset;
1294
1419
  }
1295
1420
 
1296
- .ImageGallery .previews .preview > .border .line {
1297
- left: 50%;
1298
- width: 0;
1299
- height: 3px;
1300
- min-height: 3px;
1301
- background-color: #4AC263;
1302
- transition: all 0.2s ease;
1303
- position: absolute;
1421
+ .calendar .CalendarMonthView .day span.inactive:hover {
1422
+ background: unset;
1304
1423
  }
1305
1424
 
1306
- .ImageGallery .previews .preview:after {
1307
- content: "";
1308
- position: absolute;
1309
- top: 0;
1310
- right: 0;
1311
- bottom: 0;
1312
- left: 0;
1313
- background: rgba(0, 0, 0, 0.35);
1314
- transition: background 0.2s ease;
1425
+ .calendar .CalendarMonthView .day span.selected {
1426
+ color: white;
1427
+ background-color: #2196F3;
1315
1428
  }
1316
1429
 
1317
- .ImageGallery .previews .preview:hover:after {
1318
- background: rgba(0, 0, 0, 0.1);
1430
+ .calendar .CalendarMonthView .day span.selected:hover {
1431
+ background-color: #51adf6;
1319
1432
  }
1320
1433
 
1321
- .ImageGallery .previews .preview.selected .border .line {
1322
- left: 0;
1323
- width: 100%;
1434
+ .CircleProgress {
1435
+ width: 48px;
1436
+ height: 48px;
1324
1437
  }
1325
1438
 
1326
- .ImageGallery .previews .preview.selected:after {
1327
- background: rgba(0, 0, 0, 0);
1439
+ .CircleProgress .line {
1440
+ stroke-width: 2px;
1441
+ stroke: black;
1442
+ stroke-linecap: square;
1443
+ fill: none;
1444
+ transition: stroke-dashoffset 0.2s ease;
1328
1445
  }
1329
1446
 
1330
- .ImageGallery .previews > .arrow {
1331
- position: absolute;
1332
- top: 50%;
1333
- height: 30px;
1334
- width: 30px;
1335
- min-width: 30px;
1336
- min-height: 30px;
1337
- margin-top: -15px;
1447
+ .DNDContainer {
1448
+ position: relative;
1338
1449
  }
1339
1450
 
1340
- .ImageGallery .previews > .arrow.left {
1341
- left: 0;
1451
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1452
+ cursor: pointer;
1342
1453
  }
1343
1454
 
1344
- .ImageGallery .previews > .arrow.right {
1345
- right: 0;
1455
+ .DNDContainer .Draggable.placeholder {
1456
+ opacity: 0.2;
1346
1457
  }
1347
1458
 
1348
- .ImageGallery .previews > .arrow .material-icons {
1349
- font-size: 24px;
1459
+ .DNDContainer .Draggable.copy {
1460
+ position: absolute;
1461
+ box-sizing: border-box;
1462
+ will-change: transform;
1463
+ opacity: 0;
1350
1464
  }
1351
1465
 
1352
- .TextField {
1353
- position: relative;
1354
- width: 100%;
1466
+ .DNDContainer .Draggable.dragged {
1467
+ z-index: 10;
1355
1468
  }
1356
1469
 
1357
- .TextField > label {
1358
- font-family: Roboto, sans-serif;
1359
- color: rgba(0, 0, 0, 0.3);
1360
- font-size: 16px;
1470
+ .DNDContainer .overlay {
1361
1471
  position: absolute;
1362
- left: 0px;
1363
- top: 16px;
1364
- margin-top: -16px;
1365
- transition: all 0.2s ease;
1366
- user-select: none;
1367
- cursor: text;
1472
+ top: 0;
1473
+ left: 0;
1474
+ right: 0;
1475
+ bottom: 0;
1476
+ pointer-events: none;
1368
1477
  }
1369
1478
 
1370
- .TextField > input {
1371
- font-family: Roboto, sans-serif;
1372
- color: #1e252d;
1373
- height: 19px;
1374
- font-size: 16px;
1375
- width: 100%;
1376
- border: 0px;
1377
- padding-bottom: 4px;
1378
- padding-top: 0;
1379
- outline-color: rgba(0, 0, 0, 0);
1380
- }
1381
-
1382
- .TextField > input:focus {
1383
- outline: none;
1384
- }
1385
-
1386
- .TextField > input:disabled {
1387
- color: gray;
1388
- background-color: white;
1479
+ .Checkbox {
1480
+ position: relative;
1481
+ white-space: pre;
1389
1482
  }
1390
1483
 
1391
- .TextField > input:disabled + .border {
1392
- height: 0px;
1393
- border-bottom: 2px dotted rgb(224, 224, 224);
1484
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1485
+ box-sizing: border-box;
1394
1486
  }
1395
1487
 
1396
- .TextField > input::placeholder {
1488
+ .Checkbox label {
1397
1489
  font-family: Roboto, sans-serif;
1398
- color: rgba(0, 0, 0, 0.3);
1399
- opacity: 1;
1400
- }
1401
-
1402
- .TextField > .border {
1403
- border-bottom: 1px solid rgb(224, 224, 224);
1404
- height: 1px;
1405
- position: relative;
1490
+ font-size: 14px;
1491
+ color: #1e252d;
1492
+ cursor: pointer;
1406
1493
  }
1407
1494
 
1408
- .TextField > .border .line {
1409
- left: 50%;
1410
- width: 0;
1411
- height: 2px;
1412
- min-height: 2px;
1413
- background-color: rgb(0, 188, 212);
1414
- transition: all 0.2s ease;
1495
+ .Checkbox label:before, .Checkbox label:after {
1496
+ content: "";
1415
1497
  position: absolute;
1498
+ left: 0;
1499
+ top: 0;
1416
1500
  }
1417
1501
 
1418
- .TextField > .error {
1419
- text-align: left;
1420
- font-size: 10px;
1421
- min-height: 0;
1422
- line-height: 14px;
1423
- color: rgb(244, 67, 54);
1424
- visibility: hidden;
1425
- opacity: 0;
1426
- transition: all 0.2s ease;
1502
+ .Checkbox label:before {
1503
+ width: 20px;
1504
+ height: 20px;
1505
+ background: #fff;
1506
+ border: 2px solid #252525;
1507
+ border-radius: 2px;
1508
+ cursor: pointer;
1509
+ transition: background 0.3s;
1427
1510
  }
1428
1511
 
1429
- .TextField.focused > label, .TextField.withValue > label {
1430
- top: 4px;
1431
- font-size: 12px;
1432
- line-height: 14px;
1512
+ .Checkbox input[type=checkbox] {
1513
+ outline: 0;
1514
+ margin-right: 10px;
1515
+ visibility: hidden;
1433
1516
  }
1434
1517
 
1435
- .TextField.errored > .error {
1436
- visibility: visible;
1437
- opacity: 1;
1518
+ .Checkbox input[type=checkbox]:checked + label:before {
1519
+ background: #4AC263;
1520
+ border: none;
1438
1521
  }
1439
1522
 
1440
- .TextField.errored > .border {
1441
- border-bottom-color: rgb(244, 67, 54);
1523
+ .Checkbox input[type=checkbox]:checked + label:after {
1524
+ transform: rotate(-45deg);
1525
+ top: 6px;
1526
+ left: 4px;
1527
+ width: 12px;
1528
+ height: 6px;
1529
+ border: 2px solid #fff;
1530
+ border-top-style: none;
1531
+ border-right-style: none;
1442
1532
  }
1443
1533
 
1444
- .TextField.errored > label {
1445
- color: rgb(244, 67, 54);
1534
+ .Checkbox input[type=checkbox]:disabled + label {
1535
+ color: gray;
1446
1536
  }
1447
1537
 
1448
- .TextField.focused > label {
1449
- color: rgb(0, 188, 212);
1538
+ .Checkbox input[type=checkbox]:disabled + label:before {
1539
+ border-color: rgba(0, 0, 0, 0.26);
1450
1540
  }
1451
1541
 
1452
- .TextField.focused > .border .line {
1453
- left: 0;
1454
- width: 100%;
1542
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
1543
+ background: rgba(0, 0, 0, 0.26);
1455
1544
  }
1456
1545
 
1457
- .TextField.disabled label, .TextField.disabled input {
1458
- cursor: not-allowed;
1546
+ .SpinningProgress {
1547
+ width: 48px;
1548
+ height: 48px;
1549
+ position: relative;
1550
+ margin: 0 auto;
1459
1551
  }
1460
1552
 
1461
- .TextField.withLabel {
1462
- margin-top: 15px;
1553
+ .SpinningProgress:before {
1554
+ content: "";
1555
+ display: block;
1556
+ padding-top: 100%;
1463
1557
  }
1464
1558
 
1465
- .TextField input::-webkit-contacts-auto-fill-button {
1466
- visibility: hidden;
1467
- display: none !important;
1468
- pointer-events: none;
1559
+ .SpinningProgress .circular {
1560
+ animation: rotate 2s linear infinite;
1561
+ height: 100%;
1562
+ transform-origin: center center;
1563
+ width: 100%;
1469
1564
  position: absolute;
1565
+ top: 0;
1566
+ bottom: 0;
1567
+ left: 0;
1470
1568
  right: 0;
1569
+ margin: auto;
1471
1570
  }
1472
1571
 
1473
- .TextField input:-webkit-autofill {
1474
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1572
+ .SpinningProgress .line {
1573
+ stroke: black;
1574
+ stroke-width: 2px;
1575
+ stroke-dasharray: 1, 96;
1576
+ stroke-dashoffset: 0;
1577
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1475
1578
  }
1476
1579
 
1477
- @keyframes shake {
1478
- 0%, 100% {
1479
- transform: translateX(0);
1580
+ @keyframes rotate {
1581
+ 100% {
1582
+ transform: rotate(360deg);
1480
1583
  }
1481
- 20%, 60% {
1482
- transform: translateX(-5px);
1584
+ }
1585
+ @keyframes dash {
1586
+ 0% {
1587
+ stroke-dasharray: 1, 96;
1588
+ stroke-dashoffset: 0;
1483
1589
  }
1484
- 40%, 80% {
1485
- transform: translateX(5px);
1590
+ 50% {
1591
+ stroke-dasharray: 43, 96;
1592
+ stroke-dashoffset: -17px;
1593
+ }
1594
+ 100% {
1595
+ stroke-dasharray: 43, 96;
1596
+ stroke-dashoffset: -53px;
1486
1597
  }
1487
1598
  }
1488
- .TextField .shake {
1489
- animation-duration: 0.5s;
1490
- animation-fill-mode: both;
1491
- animation-timing-function: ease-in-out;
1492
- animation-name: shake;
1493
- }
1494
-
1495
- .FormUploadProgress {
1496
- position: absolute;
1497
- left: 0;
1498
- right: 0;
1499
- top: 0;
1500
- bottom: 0;
1501
- background-color: rgba(255, 255, 255, 0.6);
1502
- z-index: 2;
1503
- }
1504
-
1505
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1506
- transition-delay: 500ms;
1507
- }
1508
-
1509
- .FormUploadProgress .wrapper {
1510
- position: sticky;
1511
- top: 40%;
1512
- margin-top: 40%;
1513
- margin-left: 50%;
1514
- transform: translateX(-50%);
1515
- display: flex;
1516
- flex-flow: column;
1517
- justify-content: center;
1518
- align-items: center;
1519
- }
1520
-
1521
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1599
+ .ModalMenu {
1522
1600
  position: absolute;
1523
- width: 107px;
1524
- height: 107px;
1525
- top: 0;
1526
- left: 0;
1527
- }
1528
-
1529
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1530
- stroke: #2196F3;
1531
- }
1532
-
1533
- .FormUploadProgress .wrapper > .progress {
1534
- width: 107px;
1535
- height: 107px;
1536
- min-height: 107px;
1537
- display: flex;
1538
- justify-content: center;
1539
- align-items: center;
1540
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1541
- border-radius: 50%;
1542
- background: white;
1543
- position: relative;
1544
- }
1545
-
1546
- .FormUploadProgress .wrapper > .progress > .value {
1547
- display: inline-block;
1548
- margin-top: 5px;
1549
- font-weight: bold;
1550
- line-height: 16px;
1551
- font-size: 13px;
1552
- text-align: center;
1553
- color: #818181;
1554
- }
1555
-
1556
- .FormUploadProgress .wrapper .cancel {
1557
- min-width: 107px;
1558
- margin-top: 20px;
1559
- background-color: white;
1560
- color: #F96B5C;
1561
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1562
- }
1563
-
1564
- .DropFileInput {
1565
- flex-grow: 1;
1566
- }
1567
-
1568
- .DropFileInput .Dropzone {
1569
- border: 1px dashed #808080;
1570
- padding: 12px;
1571
- display: flex;
1572
- flex-flow: row nowrap;
1573
- justify-content: center;
1574
- align-items: center;
1575
- color: gray;
1576
- cursor: pointer;
1577
- border-radius: 3px;
1578
- font-weight: normal;
1579
- line-height: 22px;
1580
- font-size: 14px;
1581
- color: #7E7E7E;
1582
- max-width: 100%;
1583
- word-break: break-all;
1584
- word-break: break-word;
1585
- }
1586
-
1587
- .DropFileInput .Dropzone .icon.withText {
1588
- margin-right: 10px;
1589
- }
1590
-
1591
- .Snackbar {
1592
- transform: translateX(-50%);
1593
- overflow: hidden;
1594
- background-color: #323232;
1595
- padding: 14px 24px 14px 24px;
1596
- color: #fff;
1597
- min-width: 288px;
1598
- max-width: 568px;
1599
- position: fixed;
1600
- bottom: -50px;
1601
- left: 50%;
1602
- display: flex;
1603
- flex-wrap: nowrap;
1604
- align-items: center;
1605
- opacity: 0;
1606
- transition: bottom 0.25s ease, opacity 0.2s ease;
1607
- border-radius: 4px;
1608
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1609
- }
1610
-
1611
- .Snackbar.shown {
1612
- bottom: 15px;
1613
- opacity: 1;
1614
- }
1615
-
1616
- .Snackbar .message {
1617
- overflow: hidden;
1618
- line-height: 1.2em;
1619
- min-height: 1.2em;
1620
- max-height: 2.4em;
1621
- flex: 1;
1622
- }
1623
-
1624
- .Snackbar .action {
1625
- text-transform: uppercase;
1626
- font-weight: bold;
1627
- margin-left: 48px;
1628
- color: #bf3727;
1629
- }
1630
-
1631
- .Snackbar .action a {
1632
- text-decoration: none;
1633
- color: #bf3727;
1634
- }
1635
-
1636
- .CalendarMonthView {
1637
- display: flex;
1638
- flex-flow: column nowrap;
1639
- height: 100%;
1640
- }
1641
-
1642
- .CalendarMonthView > .row {
1643
- display: flex;
1644
- flex-flow: row nowrap;
1645
- }
1646
-
1647
- .CalendarMonthView .days {
1648
- flex-grow: 1;
1649
- position: relative;
1650
- }
1651
-
1652
- .CalendarMonthView .day, .CalendarMonthView .header {
1653
- flex-grow: 1;
1654
- flex-basis: 1px;
1601
+ top: 10px;
1602
+ right: 50px;
1655
1603
  }
1656
1604
 
1657
- .CalendarMonthView .day {
1658
- height: 100%;
1605
+ .ModalMenu .material-icons {
1606
+ color: #818181;
1659
1607
  }
1660
1608
 
1661
- .DatePicker {
1662
- position: relative;
1609
+ .ModalMenu .Button.animated {
1610
+ position: absolute;
1611
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1612
+ opacity: 0;
1613
+ right: 0;
1614
+ top: 0;
1663
1615
  }
1664
1616
 
1665
- .DatePicker > .TextField {
1666
- width: 200px;
1667
- margin-bottom: 0px;
1617
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1618
+ opacity: 1;
1668
1619
  }
1669
1620
 
1670
- .DatePicker > .TextField input {
1671
- text-align: center;
1621
+ .ModalMenu .Button.animated.unmounting {
1622
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1672
1623
  }
1673
1624
 
1674
- .calendar {
1675
- user-select: none;
1676
- position: absolute;
1677
- top: 33px;
1678
- z-index: 10;
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;
1682
- transition: 0.2s all ease;
1683
- opacity: 0;
1684
- visibility: hidden;
1625
+ .ModalMenu .Button.active {
1626
+ background: #EBEBEB;
1685
1627
  }
1686
1628
 
1687
- .calendar.focused {
1688
- opacity: 1;
1689
- visibility: visible;
1629
+ .ModalMenu .separator {
1630
+ height: 24px;
1631
+ width: 1px;
1632
+ background-color: #D9D9D9;
1633
+ margin-left: 4px;
1690
1634
  }
1691
1635
 
1692
- .calendar .monthSelect {
1636
+ .DropFileInput {
1637
+ flex-grow: 1;
1638
+ }
1639
+
1640
+ .DropFileInput .Dropzone {
1641
+ border: 1px dashed #808080;
1642
+ padding: 12px;
1643
+ display: flex;
1644
+ flex-flow: row nowrap;
1645
+ justify-content: center;
1693
1646
  align-items: center;
1694
- margin-bottom: 0;
1695
- background: white;
1696
- font-size: 12px;
1697
- color: rgb(170, 170, 170);
1698
- padding-right: 16px;
1699
- padding-left: 16px;
1700
- height: 40px;
1647
+ color: gray;
1648
+ cursor: pointer;
1649
+ border-radius: 3px;
1650
+ font-weight: normal;
1651
+ line-height: 22px;
1652
+ font-size: 14px;
1653
+ color: #7E7E7E;
1654
+ max-width: 100%;
1655
+ word-break: break-all;
1656
+ word-break: break-word;
1701
1657
  }
1702
1658
 
1703
- .calendar .monthSelect span {
1704
- margin-right: auto;
1659
+ .DropFileInput .Dropzone .icon.withText {
1660
+ margin-right: 10px;
1705
1661
  }
1706
1662
 
1707
- .calendar .monthSelect .Button {
1708
- min-width: 25px;
1709
- min-height: 25px;
1663
+ .Switch {
1664
+ display: inline-flex;
1665
+ padding-top: 5px;
1710
1666
  }
1711
1667
 
1712
- .calendar .monthSelect .Button .material-icons {
1713
- font-size: 16px;
1668
+ .Switch .switch-input {
1669
+ display: none;
1714
1670
  }
1715
1671
 
1716
- .calendar .monthSelect .Button.disabled {
1717
- background: transparent;
1672
+ .Switch .switch-label {
1673
+ position: relative;
1674
+ display: inline-flex;
1675
+ align-items: center;
1676
+ min-width: 38px;
1677
+ height: 24px;
1678
+ cursor: pointer;
1679
+ font-weight: 500;
1680
+ text-align: left;
1681
+ user-select: none;
1682
+ margin: 0;
1683
+ padding: 0;
1684
+ padding-left: 44px;
1685
+ box-sizing: border-box;
1718
1686
  }
1719
1687
 
1720
- .calendar .CalendarMonthView {
1721
- background: white;
1688
+ .Switch .switch-label:before, .Switch .switch-label:after {
1689
+ content: "";
1690
+ box-sizing: border-box;
1691
+ position: absolute;
1692
+ margin: 0;
1693
+ outline: 0;
1694
+ top: 50%;
1695
+ transform: translate(0, -50%);
1696
+ transition: all 0.3s ease;
1722
1697
  }
1723
1698
 
1724
- .calendar .CalendarMonthView .headers, .calendar .CalendarMonthView .days {
1725
- margin-bottom: 0;
1699
+ .Switch .switch-label:before {
1700
+ left: 1px;
1701
+ width: 34px;
1702
+ height: 14px;
1703
+ background-color: #9E9E9E;
1704
+ border-radius: 8px;
1726
1705
  }
1727
1706
 
1728
- .calendar .CalendarMonthView .header {
1729
- font-size: 12px;
1730
- font-weight: bold;
1731
- text-align: center;
1732
- text-transform: uppercase;
1733
- margin: 5px;
1707
+ .Switch .switch-label:after {
1708
+ left: 0;
1709
+ width: 20px;
1710
+ height: 20px;
1711
+ background-color: #FAFAFA;
1712
+ border-radius: 50%;
1713
+ 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);
1734
1714
  }
1735
1715
 
1736
- .calendar .CalendarMonthView .day {
1737
- font-size: 10px;
1716
+ .Switch .switch-label .toggle--on {
1717
+ display: none;
1738
1718
  }
1739
1719
 
1740
- .calendar .CalendarMonthView .day.notSelectedMonth {
1741
- color: #969696;
1720
+ .Switch .switch-label .toggle--off {
1721
+ display: inline-block;
1742
1722
  }
1743
1723
 
1744
- .calendar .CalendarMonthView .day span {
1745
- display: inline-flex;
1746
- justify-content: center;
1747
- align-items: center;
1748
- border-radius: 50%;
1749
- width: 25px;
1750
- height: 25px;
1751
- margin: 5px;
1752
- transition: 0.2s all ease;
1753
- cursor: pointer;
1724
+ .Switch .switch-label .label {
1725
+ margin-right: 5px;
1754
1726
  }
1755
1727
 
1756
- .calendar .CalendarMonthView .day span:hover {
1757
- background-color: #e6e6e6;
1728
+ .Switch .switch-input:checked + .switch-label:before {
1729
+ background-color: #A5D6A7;
1758
1730
  }
1759
1731
 
1760
- .calendar .CalendarMonthView .day span.inactive {
1761
- color: lightgray;
1762
- cursor: unset;
1732
+ .Switch .switch-input:checked + .switch-label:after {
1733
+ background-color: #4CAF50;
1734
+ transform: translate(80%, -50%);
1763
1735
  }
1764
1736
 
1765
- .calendar .CalendarMonthView .day span.inactive:hover {
1766
- background: unset;
1737
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1738
+ display: inline-block;
1767
1739
  }
1768
1740
 
1769
- .calendar .CalendarMonthView .day span.selected {
1770
- color: white;
1771
- background-color: #2196F3;
1741
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1742
+ display: none;
1772
1743
  }
1773
1744
 
1774
- .calendar .CalendarMonthView .day span.selected:hover {
1775
- background-color: #51adf6;
1745
+ .Button.FloatingActionButton {
1746
+ position: absolute;
1747
+ right: 16px;
1748
+ bottom: 16px;
1749
+ width: 56px;
1750
+ height: 56px;
1751
+ padding: 16px;
1752
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1776
1753
  }
1777
1754
 
1778
- .ScrollableTable .Scrollable .scrollbar {
1779
- top: 56px;
1755
+ .Button.FloatingActionButton.raised {
1756
+ 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);
1780
1757
  }
1781
1758
 
1782
- .ScrollableTable .Table {
1783
- position: static;
1759
+ .Button.FloatingActionButton.mini {
1760
+ width: 40px;
1761
+ height: 40px;
1762
+ padding: 8px;
1784
1763
  }
1785
1764
 
1786
- .DNDContainer {
1787
- position: relative;
1765
+ .Button.FloatingActionButton.hidden {
1766
+ bottom: -100px;
1788
1767
  }
1789
1768
 
1790
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1791
- cursor: pointer;
1769
+ .Snackbar {
1770
+ transform: translateX(-50%);
1771
+ overflow: hidden;
1772
+ background-color: #323232;
1773
+ padding: 14px 24px 14px 24px;
1774
+ color: #fff;
1775
+ min-width: 288px;
1776
+ max-width: 568px;
1777
+ position: fixed;
1778
+ bottom: -50px;
1779
+ left: 50%;
1780
+ display: flex;
1781
+ flex-wrap: nowrap;
1782
+ align-items: center;
1783
+ opacity: 0;
1784
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1785
+ border-radius: 4px;
1786
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1792
1787
  }
1793
1788
 
1794
- .DNDContainer .Draggable.placeholder {
1795
- opacity: 0.2;
1789
+ .Snackbar.shown {
1790
+ bottom: 15px;
1791
+ opacity: 1;
1796
1792
  }
1797
1793
 
1798
- .DNDContainer .Draggable.copy {
1799
- position: absolute;
1800
- box-sizing: border-box;
1801
- will-change: transform;
1802
- opacity: 0;
1794
+ .Snackbar .message {
1795
+ overflow: hidden;
1796
+ line-height: 1.2em;
1797
+ min-height: 1.2em;
1798
+ max-height: 2.4em;
1799
+ flex: 1;
1803
1800
  }
1804
1801
 
1805
- .DNDContainer .Draggable.dragged {
1806
- z-index: 10;
1802
+ .Snackbar .action {
1803
+ text-transform: uppercase;
1804
+ font-weight: bold;
1805
+ margin-left: 48px;
1806
+ color: #bf3727;
1807
1807
  }
1808
1808
 
1809
- .DNDContainer .overlay {
1810
- position: absolute;
1811
- top: 0;
1812
- left: 0;
1813
- right: 0;
1814
- bottom: 0;
1815
- pointer-events: none;
1809
+ .Snackbar .action a {
1810
+ text-decoration: none;
1811
+ color: #bf3727;
1816
1812
  }
1817
1813
 
1818
1814
  .Table {
@@ -1935,4 +1931,12 @@
1935
1931
 
1936
1932
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1937
1933
  margin: 0;
1934
+ }
1935
+
1936
+ .ScrollableTable .Scrollable .scrollbar {
1937
+ top: 56px;
1938
+ }
1939
+
1940
+ .ScrollableTable .Table {
1941
+ position: static;
1938
1942
  }