react-ui-basics 0.0.218 → 0.0.219

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.css CHANGED
@@ -164,6 +164,15 @@
164
164
  border: 0;
165
165
  }
166
166
 
167
+ .animated {
168
+ transition: opacity 250ms ease;
169
+ opacity: 0;
170
+ }
171
+
172
+ .animated.mounting, .animated.mounted {
173
+ opacity: 1;
174
+ }
175
+
167
176
  .AutocompleteSelect {
168
177
  display: inline-flex;
169
178
  flex-flow: column;
@@ -459,13 +468,46 @@
459
468
  position: absolute;
460
469
  }
461
470
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
471
+ .DialogModal {
472
+ overflow: hidden;
465
473
  }
466
474
 
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
475
+ .DialogModal .content {
476
+ top: 20vh;
477
+ }
478
+
479
+ .Dialog {
480
+ background-color: white;
481
+ min-width: 460px;
482
+ max-width: 40vw;
483
+ padding: 15px;
484
+ }
485
+
486
+ .Dialog .title {
487
+ margin-bottom: 15px;
488
+ padding: 20px 50px 0px 30px;
489
+ font-size: 1.25rem;
490
+ line-height: 2rem;
491
+ font-weight: 400;
492
+ letter-spacing: 0.0125em;
493
+ }
494
+
495
+ .Dialog .description {
496
+ color: rgba(0, 0, 0, 0.54);
497
+ font-size: 1rem;
498
+ line-height: 1.5rem;
499
+ font-weight: 400;
500
+ letter-spacing: 0.03125em;
501
+ margin-top: 20px;
502
+ padding: 0 24px 24px;
503
+ }
504
+
505
+ .Dialog > div.row {
506
+ margin-bottom: 15px;
507
+ }
508
+
509
+ .Dialog > div.row:last-child {
510
+ margin-bottom: 0;
469
511
  }
470
512
 
471
513
  .FilteredList {
@@ -553,145 +595,309 @@
553
595
  margin-bottom: 8px;
554
596
  }
555
597
 
556
- .DialogModal {
557
- overflow: hidden;
598
+ .Modal {
599
+ display: block;
600
+ position: fixed;
601
+ top: 0;
602
+ left: 0;
603
+ right: 0;
604
+ bottom: 100%;
605
+ overflow-y: scroll;
606
+ transition: bottom 0ms linear;
607
+ transition-delay: 0.2s;
558
608
  }
559
609
 
560
- .DialogModal .content {
561
- top: 20vh;
610
+ .Modal.show {
611
+ transition-delay: 0s;
612
+ bottom: 0;
562
613
  }
563
614
 
564
- .Dialog {
565
- background-color: white;
566
- min-width: 460px;
567
- max-width: 40vw;
568
- padding: 15px;
615
+ .Modal > .overlay {
616
+ position: fixed;
617
+ top: 0;
618
+ bottom: 100%;
619
+ left: 0;
620
+ right: 0;
621
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
622
+ opacity: 0;
623
+ background-color: black;
624
+ pointer-events: none;
569
625
  }
570
626
 
571
- .Dialog .title {
572
- margin-bottom: 15px;
573
- padding: 20px 50px 0px 30px;
574
- font-size: 1.25rem;
575
- line-height: 2rem;
576
- font-weight: 400;
577
- letter-spacing: 0.0125em;
627
+ .Modal > .overlay.show {
628
+ opacity: 0.5;
629
+ bottom: 0;
578
630
  }
579
631
 
580
- .Dialog .description {
581
- color: rgba(0, 0, 0, 0.54);
582
- font-size: 1rem;
583
- line-height: 1.5rem;
584
- font-weight: 400;
585
- letter-spacing: 0.03125em;
586
- margin-top: 20px;
587
- padding: 0 24px 24px;
632
+ .Modal > .content {
633
+ left: 50%;
634
+ top: 10vh;
635
+ margin-bottom: 10vh;
636
+ font-size: 16px;
637
+ padding: 0;
638
+ opacity: 0;
639
+ transition: opacity 0.25s ease, transform 0.25s ease;
640
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
641
+ transform-origin: top;
642
+ position: absolute;
643
+ border-radius: 2px;
644
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
588
645
  }
589
646
 
590
- .Dialog > div.row {
591
- margin-bottom: 15px;
647
+ .Modal > .content.show {
648
+ opacity: 1;
649
+ transform: scaleY(1) translateY(0px) translateX(-50%);
592
650
  }
593
651
 
594
- .Dialog > div.row:last-child {
595
- margin-bottom: 0;
652
+ .Modal > .content > .Scrollable {
653
+ overflow: visible;
654
+ max-height: 80vh;
596
655
  }
597
656
 
598
- .Scrollable {
599
- max-height: 250px;
600
- max-width: 250px;
601
- padding-right: 5px;
602
- position: relative;
603
- display: flex;
604
- flex-flow: column;
605
- align-items: stretch;
606
- overflow: hidden;
657
+ .Modal > .content > .Scrollable > .viewport {
658
+ min-width: 10px;
659
+ min-height: 10px;
607
660
  }
608
661
 
609
- .Scrollable:hover > .scrollbar.auto {
610
- transition-delay: 0s;
662
+ .Modal > .content > .Button.close {
663
+ top: 10px;
664
+ right: 10px;
665
+ position: absolute;
666
+ }
667
+
668
+ .ImageGallery {
669
+ position: fixed;
670
+ top: 0;
671
+ left: 0;
672
+ bottom: 0;
673
+ right: 0;
674
+ z-index: 1000;
675
+ background-color: rgba(0, 0, 0, 0.01);
676
+ user-select: none;
677
+ }
678
+
679
+ .ImageGallery:focus {
680
+ outline-width: 0px;
681
+ }
682
+
683
+ .ImageGallery.animated {
684
+ transition: background-color 0.25s ease;
611
685
  opacity: 1;
612
686
  }
613
687
 
614
- .Scrollable .viewport {
615
- overflow-y: scroll;
616
- overflow-x: scroll;
617
- max-height: 100%;
618
- scroll-behavior: smooth;
619
- scrollbar-width: none;
688
+ .ImageGallery.mounting, .ImageGallery.mounted {
689
+ background-color: rgba(0, 0, 0, 0.8);
620
690
  }
621
691
 
622
- .Scrollable .viewport::-webkit-scrollbar {
692
+ .ImageGallery .image {
693
+ position: absolute;
694
+ cursor: grab;
695
+ }
696
+
697
+ .ImageGallery .image .counter {
623
698
  display: none;
624
699
  }
625
700
 
626
- .Scrollable.without-scroll-horizontal {
627
- max-width: unset;
701
+ .ImageGallery .image img {
702
+ border-radius: 4px;
703
+ max-width: 100%;
704
+ min-width: 100%;
628
705
  }
629
706
 
630
- .Scrollable.undefined-horizontal {
631
- max-width: unset;
707
+ .ImageGallery .image.animated {
708
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
709
+ will-change: top, left, width, height, opacity;
632
710
  }
633
711
 
634
- .Scrollable.without-scroll {
635
- padding-right: 0;
636
- max-height: unset;
712
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
713
+ opacity: 1;
637
714
  }
638
715
 
639
- .Scrollable.without-scroll > .viewport {
640
- padding-right: 0;
641
- margin-right: 0;
716
+ .ImageGallery .image.zoomed {
717
+ text-align: center;
718
+ overflow: hidden;
642
719
  }
643
720
 
644
- .Scrollable.without-scroll > .scrollbar {
645
- visibility: hidden;
721
+ .ImageGallery .image.dragging {
722
+ transition: none;
723
+ cursor: move;
646
724
  }
647
725
 
648
- .Scrollable .scrollbar {
726
+ .ImageGallery .image .close {
649
727
  position: absolute;
650
- right: 0px;
651
- top: 0px;
652
- width: 5px;
653
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
654
- transition-delay: 0.5s;
655
- z-index: 1;
728
+ top: -18px;
729
+ right: -18px;
656
730
  }
657
731
 
658
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
659
- opacity: 0;
732
+ .ImageGallery .image .spinner {
733
+ position: absolute;
734
+ top: 0;
735
+ bottom: 0;
736
+ left: 0;
737
+ right: 0;
738
+ background: rgba(0, 0, 0, 0.65);
660
739
  }
661
740
 
662
- .Scrollable .scrollbar .thumb {
663
- background-color: rgba(0, 0, 0, 0.3);
664
- width: 5px;
741
+ .ImageGallery .image .spinner .SpinningProgress {
665
742
  position: absolute;
666
- right: 0px;
667
- top: 0px;
668
- user-select: none;
669
- will-change: top;
670
- border-radius: 2px;
743
+ top: 50%;
744
+ left: 50%;
745
+ margin-left: -24px;
746
+ margin-top: -24px;
671
747
  }
672
748
 
673
- .Scrollable .scrollbar .thumb:hover {
674
- background-color: rgba(0, 0, 0, 0.5);
749
+ .ImageGallery .image .spinner .SpinningProgress .line {
750
+ stroke: #2196F3;
675
751
  }
676
752
 
677
- .Scrollable .scrollbar .thumb:active {
678
- background-color: rgba(0, 0, 0, 0.7);
753
+ .ImageGallery .Button.animated {
754
+ transition: all 0.25s ease;
755
+ opacity: 0;
756
+ transform: scale(0);
679
757
  }
680
758
 
681
- .Scrollable .scrollbar.horizontal {
682
- left: 0px;
683
- right: 0px;
684
- height: 5px;
685
- bottom: 0;
686
- width: unset;
687
- top: unset;
759
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
760
+ opacity: 1;
761
+ transform: scale(1);
688
762
  }
689
763
 
690
- .Scrollable .scrollbar.horizontal .thumb {
691
- height: 5px;
692
- left: 0px;
693
- bottom: 0px;
694
- will-change: left;
764
+ .ImageGallery .Button {
765
+ color: white;
766
+ background: rgba(0, 0, 0, 0.4);
767
+ }
768
+
769
+ .ImageGallery .Button:hover {
770
+ background: rgba(0, 0, 0, 0.7);
771
+ }
772
+
773
+ .ImageGallery > .arrow {
774
+ position: absolute;
775
+ top: 50%;
776
+ height: 76px;
777
+ width: 76px;
778
+ margin-top: -38px;
779
+ }
780
+
781
+ .ImageGallery > .arrow.left {
782
+ left: 5%;
783
+ }
784
+
785
+ .ImageGallery > .arrow.right {
786
+ right: 5%;
787
+ }
788
+
789
+ .ImageGallery > .arrow .material-icons {
790
+ font-size: 40px;
791
+ }
792
+
793
+ .ImageGallery .counter {
794
+ position: absolute;
795
+ top: 10px;
796
+ left: 10px;
797
+ color: white;
798
+ font-size: 13px;
799
+ }
800
+
801
+ .ImageGallery .previews {
802
+ height: 80px;
803
+ position: absolute;
804
+ bottom: 15px;
805
+ left: 50%;
806
+ transform: translateX(-50%);
807
+ padding: 0 45px;
808
+ }
809
+
810
+ .ImageGallery .previews .viewport {
811
+ overflow: hidden;
812
+ position: relative;
813
+ height: 100%;
814
+ }
815
+
816
+ .ImageGallery .previews .container {
817
+ position: relative;
818
+ display: flex;
819
+ flex-flow: row nowrap;
820
+ height: 100%;
821
+ transition: left 0.25s ease;
822
+ }
823
+
824
+ .ImageGallery .previews .preview {
825
+ position: relative;
826
+ height: 100%;
827
+ display: inline-block;
828
+ width: 106.66px;
829
+ overflow: hidden;
830
+ margin-left: 12px;
831
+ border-radius: 2px;
832
+ cursor: pointer;
833
+ box-sizing: border-box;
834
+ }
835
+
836
+ .ImageGallery .previews .preview:first-child {
837
+ margin-left: 0;
838
+ }
839
+
840
+ .ImageGallery .previews .preview > .border {
841
+ position: absolute;
842
+ bottom: 0;
843
+ width: 100%;
844
+ height: 3px;
845
+ }
846
+
847
+ .ImageGallery .previews .preview > .border .line {
848
+ left: 50%;
849
+ width: 0;
850
+ height: 3px;
851
+ min-height: 3px;
852
+ background-color: #4AC263;
853
+ transition: all 0.2s ease;
854
+ position: absolute;
855
+ }
856
+
857
+ .ImageGallery .previews .preview:after {
858
+ content: "";
859
+ position: absolute;
860
+ top: 0;
861
+ right: 0;
862
+ bottom: 0;
863
+ left: 0;
864
+ background: rgba(0, 0, 0, 0.35);
865
+ transition: background 0.2s ease;
866
+ }
867
+
868
+ .ImageGallery .previews .preview:hover:after {
869
+ background: rgba(0, 0, 0, 0.1);
870
+ }
871
+
872
+ .ImageGallery .previews .preview.selected .border .line {
873
+ left: 0;
874
+ width: 100%;
875
+ }
876
+
877
+ .ImageGallery .previews .preview.selected:after {
878
+ background: rgba(0, 0, 0, 0);
879
+ }
880
+
881
+ .ImageGallery .previews > .arrow {
882
+ position: absolute;
883
+ top: 50%;
884
+ height: 30px;
885
+ width: 30px;
886
+ min-width: 30px;
887
+ min-height: 30px;
888
+ margin-top: -15px;
889
+ }
890
+
891
+ .ImageGallery .previews > .arrow.left {
892
+ left: 0;
893
+ }
894
+
895
+ .ImageGallery .previews > .arrow.right {
896
+ right: 0;
897
+ }
898
+
899
+ .ImageGallery .previews > .arrow .material-icons {
900
+ font-size: 24px;
695
901
  }
696
902
 
697
903
  .FormUploadProgress {
@@ -763,6 +969,105 @@
763
969
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
764
970
  }
765
971
 
972
+ .Scrollable {
973
+ max-height: 250px;
974
+ max-width: 250px;
975
+ padding-right: 5px;
976
+ position: relative;
977
+ display: flex;
978
+ flex-flow: column;
979
+ align-items: stretch;
980
+ overflow: hidden;
981
+ }
982
+
983
+ .Scrollable:hover > .scrollbar.auto {
984
+ transition-delay: 0s;
985
+ opacity: 1;
986
+ }
987
+
988
+ .Scrollable .viewport {
989
+ overflow-y: scroll;
990
+ overflow-x: scroll;
991
+ max-height: 100%;
992
+ scroll-behavior: smooth;
993
+ scrollbar-width: none;
994
+ }
995
+
996
+ .Scrollable .viewport::-webkit-scrollbar {
997
+ display: none;
998
+ }
999
+
1000
+ .Scrollable.without-scroll-horizontal {
1001
+ max-width: unset;
1002
+ }
1003
+
1004
+ .Scrollable.undefined-horizontal {
1005
+ max-width: unset;
1006
+ }
1007
+
1008
+ .Scrollable.without-scroll {
1009
+ padding-right: 0;
1010
+ max-height: unset;
1011
+ }
1012
+
1013
+ .Scrollable.without-scroll > .viewport {
1014
+ padding-right: 0;
1015
+ margin-right: 0;
1016
+ }
1017
+
1018
+ .Scrollable.without-scroll > .scrollbar {
1019
+ visibility: hidden;
1020
+ }
1021
+
1022
+ .Scrollable .scrollbar {
1023
+ position: absolute;
1024
+ right: 0px;
1025
+ top: 0px;
1026
+ width: 5px;
1027
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1028
+ transition-delay: 0.5s;
1029
+ z-index: 1;
1030
+ }
1031
+
1032
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1033
+ opacity: 0;
1034
+ }
1035
+
1036
+ .Scrollable .scrollbar .thumb {
1037
+ background-color: rgba(0, 0, 0, 0.3);
1038
+ width: 5px;
1039
+ position: absolute;
1040
+ right: 0px;
1041
+ top: 0px;
1042
+ user-select: none;
1043
+ will-change: top;
1044
+ border-radius: 2px;
1045
+ }
1046
+
1047
+ .Scrollable .scrollbar .thumb:hover {
1048
+ background-color: rgba(0, 0, 0, 0.5);
1049
+ }
1050
+
1051
+ .Scrollable .scrollbar .thumb:active {
1052
+ background-color: rgba(0, 0, 0, 0.7);
1053
+ }
1054
+
1055
+ .Scrollable .scrollbar.horizontal {
1056
+ left: 0px;
1057
+ right: 0px;
1058
+ height: 5px;
1059
+ bottom: 0;
1060
+ width: unset;
1061
+ top: unset;
1062
+ }
1063
+
1064
+ .Scrollable .scrollbar.horizontal .thumb {
1065
+ height: 5px;
1066
+ left: 0px;
1067
+ bottom: 0px;
1068
+ will-change: left;
1069
+ }
1070
+
766
1071
  .TextField {
767
1072
  position: relative;
768
1073
  width: 100%;
@@ -906,80 +1211,10 @@
906
1211
  animation-name: shake;
907
1212
  }
908
1213
 
909
- .Modal {
910
- display: block;
911
- position: fixed;
912
- top: 0;
913
- left: 0;
914
- right: 0;
915
- bottom: 100%;
916
- overflow-y: scroll;
917
- transition: bottom 0ms linear;
918
- transition-delay: 0.2s;
919
- }
920
-
921
- .Modal.show {
922
- transition-delay: 0s;
923
- bottom: 0;
924
- }
925
-
926
- .Modal > .overlay {
927
- position: fixed;
928
- top: 0;
929
- bottom: 100%;
930
- left: 0;
931
- right: 0;
932
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
933
- opacity: 0;
934
- background-color: black;
935
- pointer-events: none;
936
- }
937
-
938
- .Modal > .overlay.show {
939
- opacity: 0.5;
940
- bottom: 0;
941
- }
942
-
943
- .Modal > .content {
944
- left: 50%;
945
- top: 10vh;
946
- margin-bottom: 10vh;
947
- font-size: 16px;
948
- padding: 0;
949
- opacity: 0;
950
- transition: opacity 0.25s ease, transform 0.25s ease;
951
- transform: scaleY(0) translateY(-200px) translateX(-50%);
952
- transform-origin: top;
953
- position: absolute;
954
- border-radius: 2px;
955
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
956
- }
957
-
958
- .Modal > .content.show {
959
- opacity: 1;
960
- transform: scaleY(1) translateY(0px) translateX(-50%);
961
- }
962
-
963
- .Modal > .content > .Scrollable {
964
- overflow: visible;
965
- max-height: 80vh;
966
- }
967
-
968
- .Modal > .content > .Scrollable > .viewport {
969
- min-width: 10px;
970
- min-height: 10px;
971
- }
972
-
973
- .Modal > .content > .Button.close {
974
- top: 10px;
975
- right: 10px;
976
- position: absolute;
977
- }
978
-
979
- .DNDContainer .DroppableList .Draggable {
980
- transform: unset;
981
- transition: unset;
982
- opacity: 1;
1214
+ .DNDContainer .DroppableList .Draggable {
1215
+ transform: unset;
1216
+ transition: unset;
1217
+ opacity: 1;
983
1218
  }
984
1219
 
985
1220
  .DNDContainer .DroppableList .Draggable.dragged {
@@ -994,252 +1229,168 @@
994
1229
  transition: transform 0.1s ease-in;
995
1230
  }
996
1231
 
997
- .ImageGallery {
998
- position: fixed;
999
- top: 0;
1000
- left: 0;
1001
- bottom: 0;
1002
- right: 0;
1003
- z-index: 1000;
1004
- background-color: rgba(0, 0, 0, 0.01);
1005
- user-select: none;
1006
- }
1007
-
1008
- .ImageGallery:focus {
1009
- outline-width: 0px;
1010
- }
1011
-
1012
- .ImageGallery.animated {
1013
- transition: background-color 0.25s ease;
1014
- opacity: 1;
1015
- }
1016
-
1017
- .ImageGallery.mounting, .ImageGallery.mounted {
1018
- background-color: rgba(0, 0, 0, 0.8);
1019
- }
1020
-
1021
- .ImageGallery .image {
1022
- position: absolute;
1023
- cursor: grab;
1024
- }
1025
-
1026
- .ImageGallery .image .counter {
1027
- display: none;
1028
- }
1029
-
1030
- .ImageGallery .image img {
1031
- border-radius: 4px;
1032
- max-width: 100%;
1033
- min-width: 100%;
1034
- }
1035
-
1036
- .ImageGallery .image.animated {
1037
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1038
- will-change: top, left, width, height, opacity;
1232
+ .CircleProgress {
1233
+ width: 48px;
1234
+ height: 48px;
1039
1235
  }
1040
1236
 
1041
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1042
- opacity: 1;
1237
+ .CircleProgress .line {
1238
+ stroke-width: 2px;
1239
+ stroke: black;
1240
+ stroke-linecap: square;
1241
+ fill: none;
1242
+ transition: stroke-dashoffset 0.2s ease;
1043
1243
  }
1044
1244
 
1045
- .ImageGallery .image.zoomed {
1046
- text-align: center;
1047
- overflow: hidden;
1245
+ .Checkbox {
1246
+ position: relative;
1247
+ white-space: pre;
1048
1248
  }
1049
1249
 
1050
- .ImageGallery .image.dragging {
1051
- transition: none;
1052
- cursor: move;
1250
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1251
+ box-sizing: border-box;
1053
1252
  }
1054
1253
 
1055
- .ImageGallery .image .close {
1056
- position: absolute;
1057
- top: -18px;
1058
- right: -18px;
1254
+ .Checkbox label {
1255
+ font-family: Roboto, sans-serif;
1256
+ font-size: 14px;
1257
+ color: #1e252d;
1258
+ cursor: pointer;
1059
1259
  }
1060
1260
 
1061
- .ImageGallery .image .spinner {
1261
+ .Checkbox label:before, .Checkbox label:after {
1262
+ content: "";
1062
1263
  position: absolute;
1063
- top: 0;
1064
- bottom: 0;
1065
1264
  left: 0;
1066
- right: 0;
1067
- background: rgba(0, 0, 0, 0.65);
1068
- }
1069
-
1070
- .ImageGallery .image .spinner .SpinningProgress {
1071
- position: absolute;
1072
- top: 50%;
1073
- left: 50%;
1074
- margin-left: -24px;
1075
- margin-top: -24px;
1076
- }
1077
-
1078
- .ImageGallery .image .spinner .SpinningProgress .line {
1079
- stroke: #2196F3;
1080
- }
1081
-
1082
- .ImageGallery .Button.animated {
1083
- transition: all 0.25s ease;
1084
- opacity: 0;
1085
- transform: scale(0);
1086
- }
1087
-
1088
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1089
- opacity: 1;
1090
- transform: scale(1);
1091
- }
1092
-
1093
- .ImageGallery .Button {
1094
- color: white;
1095
- background: rgba(0, 0, 0, 0.4);
1265
+ top: 0;
1096
1266
  }
1097
1267
 
1098
- .ImageGallery .Button:hover {
1099
- background: rgba(0, 0, 0, 0.7);
1268
+ .Checkbox label:before {
1269
+ width: 20px;
1270
+ height: 20px;
1271
+ background: #fff;
1272
+ border: 2px solid #252525;
1273
+ border-radius: 2px;
1274
+ cursor: pointer;
1275
+ transition: background 0.3s;
1100
1276
  }
1101
1277
 
1102
- .ImageGallery > .arrow {
1103
- position: absolute;
1104
- top: 50%;
1105
- height: 76px;
1106
- width: 76px;
1107
- margin-top: -38px;
1278
+ .Checkbox input[type=checkbox] {
1279
+ outline: 0;
1280
+ margin-right: 10px;
1281
+ visibility: hidden;
1108
1282
  }
1109
1283
 
1110
- .ImageGallery > .arrow.left {
1111
- left: 5%;
1284
+ .Checkbox input[type=checkbox]:checked + label:before {
1285
+ background: #4AC263;
1286
+ border: none;
1112
1287
  }
1113
1288
 
1114
- .ImageGallery > .arrow.right {
1115
- right: 5%;
1289
+ .Checkbox input[type=checkbox]:checked + label:after {
1290
+ transform: rotate(-45deg);
1291
+ top: 6px;
1292
+ left: 4px;
1293
+ width: 12px;
1294
+ height: 6px;
1295
+ border: 2px solid #fff;
1296
+ border-top-style: none;
1297
+ border-right-style: none;
1116
1298
  }
1117
1299
 
1118
- .ImageGallery > .arrow .material-icons {
1119
- font-size: 40px;
1300
+ .Checkbox input[type=checkbox]:disabled + label {
1301
+ color: gray;
1120
1302
  }
1121
1303
 
1122
- .ImageGallery .counter {
1123
- position: absolute;
1124
- top: 10px;
1125
- left: 10px;
1126
- color: white;
1127
- font-size: 13px;
1304
+ .Checkbox input[type=checkbox]:disabled + label:before {
1305
+ border-color: rgba(0, 0, 0, 0.26);
1128
1306
  }
1129
1307
 
1130
- .ImageGallery .previews {
1131
- height: 80px;
1132
- position: absolute;
1133
- bottom: 15px;
1134
- left: 50%;
1135
- transform: translateX(-50%);
1136
- padding: 0 45px;
1308
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
1309
+ background: rgba(0, 0, 0, 0.26);
1137
1310
  }
1138
1311
 
1139
- .ImageGallery .previews .viewport {
1140
- overflow: hidden;
1141
- position: relative;
1312
+ .CalendarMonthView {
1313
+ display: flex;
1314
+ flex-flow: column nowrap;
1142
1315
  height: 100%;
1143
1316
  }
1144
1317
 
1145
- .ImageGallery .previews .container {
1146
- position: relative;
1318
+ .CalendarMonthView > .row {
1147
1319
  display: flex;
1148
1320
  flex-flow: row nowrap;
1149
- height: 100%;
1150
- transition: left 0.25s ease;
1151
1321
  }
1152
1322
 
1153
- .ImageGallery .previews .preview {
1323
+ .CalendarMonthView .days {
1324
+ flex-grow: 1;
1154
1325
  position: relative;
1155
- height: 100%;
1156
- display: inline-block;
1157
- width: 106.66px;
1158
- overflow: hidden;
1159
- margin-left: 12px;
1160
- border-radius: 2px;
1161
- cursor: pointer;
1162
- box-sizing: border-box;
1163
1326
  }
1164
1327
 
1165
- .ImageGallery .previews .preview:first-child {
1166
- margin-left: 0;
1167
- }
1168
-
1169
- .ImageGallery .previews .preview > .border {
1170
- position: absolute;
1171
- bottom: 0;
1172
- width: 100%;
1173
- height: 3px;
1174
- }
1175
-
1176
- .ImageGallery .previews .preview > .border .line {
1177
- left: 50%;
1178
- width: 0;
1179
- height: 3px;
1180
- min-height: 3px;
1181
- background-color: #4AC263;
1182
- transition: all 0.2s ease;
1183
- position: absolute;
1328
+ .CalendarMonthView .day, .CalendarMonthView .header {
1329
+ flex-grow: 1;
1330
+ flex-basis: 1px;
1184
1331
  }
1185
1332
 
1186
- .ImageGallery .previews .preview:after {
1187
- content: "";
1188
- position: absolute;
1189
- top: 0;
1190
- right: 0;
1191
- bottom: 0;
1192
- left: 0;
1193
- background: rgba(0, 0, 0, 0.35);
1194
- transition: background 0.2s ease;
1333
+ .CalendarMonthView .day {
1334
+ height: 100%;
1195
1335
  }
1196
1336
 
1197
- .ImageGallery .previews .preview:hover:after {
1198
- background: rgba(0, 0, 0, 0.1);
1337
+ .DNDContainer {
1338
+ position: relative;
1199
1339
  }
1200
-
1201
- .ImageGallery .previews .preview.selected .border .line {
1202
- left: 0;
1203
- width: 100%;
1340
+
1341
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1342
+ cursor: pointer;
1204
1343
  }
1205
1344
 
1206
- .ImageGallery .previews .preview.selected:after {
1207
- background: rgba(0, 0, 0, 0);
1345
+ .DNDContainer .Draggable.placeholder {
1346
+ opacity: 0.2;
1208
1347
  }
1209
1348
 
1210
- .ImageGallery .previews > .arrow {
1349
+ .DNDContainer .Draggable.copy {
1211
1350
  position: absolute;
1212
- top: 50%;
1213
- height: 30px;
1214
- width: 30px;
1215
- min-width: 30px;
1216
- min-height: 30px;
1217
- margin-top: -15px;
1351
+ box-sizing: border-box;
1352
+ will-change: transform;
1353
+ opacity: 0;
1218
1354
  }
1219
1355
 
1220
- .ImageGallery .previews > .arrow.left {
1221
- left: 0;
1356
+ .DNDContainer .Draggable.dragged {
1357
+ z-index: 10;
1222
1358
  }
1223
1359
 
1224
- .ImageGallery .previews > .arrow.right {
1360
+ .DNDContainer .overlay {
1361
+ position: absolute;
1362
+ top: 0;
1363
+ left: 0;
1225
1364
  right: 0;
1365
+ bottom: 0;
1366
+ pointer-events: none;
1226
1367
  }
1227
1368
 
1228
- .ImageGallery .previews > .arrow .material-icons {
1229
- font-size: 24px;
1369
+ .DropFileInput {
1370
+ flex-grow: 1;
1230
1371
  }
1231
1372
 
1232
- .CircleProgress {
1233
- width: 48px;
1234
- height: 48px;
1373
+ .DropFileInput .Dropzone {
1374
+ border: 1px dashed #808080;
1375
+ padding: 12px;
1376
+ display: flex;
1377
+ flex-flow: row nowrap;
1378
+ justify-content: center;
1379
+ align-items: center;
1380
+ color: gray;
1381
+ cursor: pointer;
1382
+ border-radius: 3px;
1383
+ font-weight: normal;
1384
+ line-height: 22px;
1385
+ font-size: 14px;
1386
+ color: #7E7E7E;
1387
+ max-width: 100%;
1388
+ word-break: break-all;
1389
+ word-break: break-word;
1235
1390
  }
1236
1391
 
1237
- .CircleProgress .line {
1238
- stroke-width: 2px;
1239
- stroke: black;
1240
- stroke-linecap: square;
1241
- fill: none;
1242
- transition: stroke-dashoffset 0.2s ease;
1392
+ .DropFileInput .Dropzone .icon.withText {
1393
+ margin-right: 10px;
1243
1394
  }
1244
1395
 
1245
1396
  .DatePicker {
@@ -1359,71 +1510,110 @@
1359
1510
  background-color: #51adf6;
1360
1511
  }
1361
1512
 
1362
- .Checkbox {
1363
- position: relative;
1364
- white-space: pre;
1513
+ .Button.FloatingActionButton {
1514
+ position: absolute;
1515
+ right: 16px;
1516
+ bottom: 16px;
1517
+ width: 56px;
1518
+ height: 56px;
1519
+ padding: 16px;
1520
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1365
1521
  }
1366
1522
 
1367
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1368
- box-sizing: border-box;
1523
+ .Button.FloatingActionButton.raised {
1524
+ 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);
1369
1525
  }
1370
1526
 
1371
- .Checkbox label {
1372
- font-family: Roboto, sans-serif;
1373
- font-size: 14px;
1374
- color: #1e252d;
1375
- cursor: pointer;
1527
+ .Button.FloatingActionButton.mini {
1528
+ width: 40px;
1529
+ height: 40px;
1530
+ padding: 8px;
1376
1531
  }
1377
1532
 
1378
- .Checkbox label:before, .Checkbox label:after {
1379
- content: "";
1533
+ .Button.FloatingActionButton.hidden {
1534
+ bottom: -100px;
1535
+ }
1536
+
1537
+ .ModalMenu {
1380
1538
  position: absolute;
1381
- left: 0;
1539
+ top: 10px;
1540
+ right: 50px;
1541
+ }
1542
+
1543
+ .ModalMenu .material-icons {
1544
+ color: #818181;
1545
+ }
1546
+
1547
+ .ModalMenu .Button.animated {
1548
+ position: absolute;
1549
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1550
+ opacity: 0;
1551
+ right: 0;
1382
1552
  top: 0;
1383
1553
  }
1384
1554
 
1385
- .Checkbox label:before {
1386
- width: 20px;
1387
- height: 20px;
1388
- background: #fff;
1389
- border: 2px solid #252525;
1390
- border-radius: 2px;
1391
- cursor: pointer;
1392
- transition: background 0.3s;
1555
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1556
+ opacity: 1;
1393
1557
  }
1394
1558
 
1395
- .Checkbox input[type=checkbox] {
1396
- outline: 0;
1397
- margin-right: 10px;
1398
- visibility: hidden;
1559
+ .ModalMenu .Button.animated.unmounting {
1560
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1399
1561
  }
1400
1562
 
1401
- .Checkbox input[type=checkbox]:checked + label:before {
1402
- background: #4AC263;
1403
- border: none;
1563
+ .ModalMenu .Button.active {
1564
+ background: #EBEBEB;
1404
1565
  }
1405
1566
 
1406
- .Checkbox input[type=checkbox]:checked + label:after {
1407
- transform: rotate(-45deg);
1408
- top: 6px;
1409
- left: 4px;
1410
- width: 12px;
1411
- height: 6px;
1412
- border: 2px solid #fff;
1413
- border-top-style: none;
1414
- border-right-style: none;
1567
+ .ModalMenu .separator {
1568
+ height: 24px;
1569
+ width: 1px;
1570
+ background-color: #D9D9D9;
1571
+ margin-left: 4px;
1415
1572
  }
1416
1573
 
1417
- .Checkbox input[type=checkbox]:disabled + label {
1418
- color: gray;
1574
+ .Snackbar {
1575
+ transform: translateX(-50%);
1576
+ overflow: hidden;
1577
+ background-color: #323232;
1578
+ padding: 14px 24px 14px 24px;
1579
+ color: #fff;
1580
+ min-width: 288px;
1581
+ max-width: 568px;
1582
+ position: fixed;
1583
+ bottom: -50px;
1584
+ left: 50%;
1585
+ display: flex;
1586
+ flex-wrap: nowrap;
1587
+ align-items: center;
1588
+ opacity: 0;
1589
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1590
+ border-radius: 4px;
1591
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1419
1592
  }
1420
1593
 
1421
- .Checkbox input[type=checkbox]:disabled + label:before {
1422
- border-color: rgba(0, 0, 0, 0.26);
1594
+ .Snackbar.shown {
1595
+ bottom: 15px;
1596
+ opacity: 1;
1423
1597
  }
1424
1598
 
1425
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
1426
- background: rgba(0, 0, 0, 0.26);
1599
+ .Snackbar .message {
1600
+ overflow: hidden;
1601
+ line-height: 1.2em;
1602
+ min-height: 1.2em;
1603
+ max-height: 2.4em;
1604
+ flex: 1;
1605
+ }
1606
+
1607
+ .Snackbar .action {
1608
+ text-transform: uppercase;
1609
+ font-weight: bold;
1610
+ margin-left: 48px;
1611
+ color: #bf3727;
1612
+ }
1613
+
1614
+ .Snackbar .action a {
1615
+ text-decoration: none;
1616
+ color: #bf3727;
1427
1617
  }
1428
1618
 
1429
1619
  .Dropzone {
@@ -1451,160 +1641,100 @@
1451
1641
  border-radius: 4px;
1452
1642
  border: 1px dashed #FFFFFF;
1453
1643
  position: absolute;
1454
- top: 18px;
1455
- left: 18px;
1456
- right: 18px;
1457
- bottom: 18px;
1458
- display: flex;
1459
- justify-content: center;
1460
- align-items: center;
1461
- font-weight: 500;
1462
- font-size: 18px;
1463
- color: #FFFFFF;
1464
- }
1465
-
1466
- .Dropzone.dragging > .overlay {
1467
- opacity: 0.7;
1468
- visibility: visible;
1469
- transition-delay: 0s;
1470
- }
1471
-
1472
- .Dropzone.dragging > * {
1473
- pointer-events: none;
1474
- }
1475
-
1476
- .Dropzone > input.file {
1477
- position: absolute;
1478
- left: 0;
1479
- right: 0;
1480
- top: 0;
1481
- bottom: 0;
1482
- width: 100%;
1483
- height: 100%;
1484
- opacity: 0;
1485
- cursor: pointer;
1486
- z-index: 1;
1487
- }
1488
-
1489
- .CalendarMonthView {
1490
- display: flex;
1491
- flex-flow: column nowrap;
1492
- height: 100%;
1493
- }
1494
-
1495
- .CalendarMonthView > .row {
1496
- display: flex;
1497
- flex-flow: row nowrap;
1498
- }
1499
-
1500
- .CalendarMonthView .days {
1501
- flex-grow: 1;
1502
- position: relative;
1503
- }
1504
-
1505
- .CalendarMonthView .day, .CalendarMonthView .header {
1506
- flex-grow: 1;
1507
- flex-basis: 1px;
1508
- }
1509
-
1510
- .CalendarMonthView .day {
1511
- height: 100%;
1512
- }
1513
-
1514
- .DNDContainer {
1515
- position: relative;
1516
- }
1517
-
1518
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1519
- cursor: pointer;
1520
- }
1521
-
1522
- .DNDContainer .Draggable.placeholder {
1523
- opacity: 0.2;
1644
+ top: 18px;
1645
+ left: 18px;
1646
+ right: 18px;
1647
+ bottom: 18px;
1648
+ display: flex;
1649
+ justify-content: center;
1650
+ align-items: center;
1651
+ font-weight: 500;
1652
+ font-size: 18px;
1653
+ color: #FFFFFF;
1524
1654
  }
1525
1655
 
1526
- .DNDContainer .Draggable.copy {
1527
- position: absolute;
1528
- box-sizing: border-box;
1529
- will-change: transform;
1530
- opacity: 0;
1656
+ .Dropzone.dragging > .overlay {
1657
+ opacity: 0.7;
1658
+ visibility: visible;
1659
+ transition-delay: 0s;
1531
1660
  }
1532
1661
 
1533
- .DNDContainer .Draggable.dragged {
1534
- z-index: 10;
1662
+ .Dropzone.dragging > * {
1663
+ pointer-events: none;
1535
1664
  }
1536
1665
 
1537
- .DNDContainer .overlay {
1666
+ .Dropzone > input.file {
1538
1667
  position: absolute;
1539
- top: 0;
1540
1668
  left: 0;
1541
1669
  right: 0;
1670
+ top: 0;
1542
1671
  bottom: 0;
1543
- pointer-events: none;
1672
+ width: 100%;
1673
+ height: 100%;
1674
+ opacity: 0;
1675
+ cursor: pointer;
1676
+ z-index: 1;
1544
1677
  }
1545
1678
 
1546
- .ModalMenu {
1547
- position: absolute;
1548
- top: 10px;
1549
- right: 50px;
1679
+ .SpinningProgress {
1680
+ width: 48px;
1681
+ height: 48px;
1682
+ position: relative;
1683
+ margin: 0 auto;
1550
1684
  }
1551
1685
 
1552
- .ModalMenu .material-icons {
1553
- color: #818181;
1686
+ .SpinningProgress:before {
1687
+ content: "";
1688
+ display: block;
1689
+ padding-top: 100%;
1554
1690
  }
1555
1691
 
1556
- .ModalMenu .Button.animated {
1692
+ .SpinningProgress .circular {
1693
+ animation: rotate 2s linear infinite;
1694
+ height: 100%;
1695
+ transform-origin: center center;
1696
+ width: 100%;
1557
1697
  position: absolute;
1558
- transition: opacity 150ms ease-in, right 200ms ease-in;
1559
- opacity: 0;
1560
- right: 0;
1561
1698
  top: 0;
1699
+ bottom: 0;
1700
+ left: 0;
1701
+ right: 0;
1702
+ margin: auto;
1562
1703
  }
1563
1704
 
1564
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1565
- opacity: 1;
1566
- }
1567
-
1568
- .ModalMenu .Button.animated.unmounting {
1569
- transition: opacity 100ms ease-out, right 200ms ease-out;
1570
- }
1571
-
1572
- .ModalMenu .Button.active {
1573
- background: #EBEBEB;
1705
+ .SpinningProgress .line {
1706
+ stroke: black;
1707
+ stroke-width: 2px;
1708
+ stroke-dasharray: 1, 96;
1709
+ stroke-dashoffset: 0;
1710
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1574
1711
  }
1575
1712
 
1576
- .ModalMenu .separator {
1577
- height: 24px;
1578
- width: 1px;
1579
- background-color: #D9D9D9;
1580
- margin-left: 4px;
1713
+ @keyframes rotate {
1714
+ 100% {
1715
+ transform: rotate(360deg);
1716
+ }
1581
1717
  }
1582
-
1583
- .DropFileInput {
1584
- flex-grow: 1;
1718
+ @keyframes dash {
1719
+ 0% {
1720
+ stroke-dasharray: 1, 96;
1721
+ stroke-dashoffset: 0;
1722
+ }
1723
+ 50% {
1724
+ stroke-dasharray: 43, 96;
1725
+ stroke-dashoffset: -17px;
1726
+ }
1727
+ 100% {
1728
+ stroke-dasharray: 43, 96;
1729
+ stroke-dashoffset: -53px;
1730
+ }
1585
1731
  }
1586
-
1587
- .DropFileInput .Dropzone {
1588
- border: 1px dashed #808080;
1589
- padding: 12px;
1590
- display: flex;
1591
- flex-flow: row nowrap;
1592
- justify-content: center;
1593
- align-items: center;
1594
- color: gray;
1595
- cursor: pointer;
1596
- border-radius: 3px;
1597
- font-weight: normal;
1598
- line-height: 22px;
1599
- font-size: 14px;
1600
- color: #7E7E7E;
1601
- max-width: 100%;
1602
- word-break: break-all;
1603
- word-break: break-word;
1732
+ .ScrollableTable .Scrollable .scrollbar {
1733
+ top: 56px;
1604
1734
  }
1605
1735
 
1606
- .DropFileInput .Dropzone .icon.withText {
1607
- margin-right: 10px;
1736
+ .ScrollableTable .Table {
1737
+ position: static;
1608
1738
  }
1609
1739
 
1610
1740
  .Table {
@@ -1729,30 +1859,6 @@
1729
1859
  margin: 0;
1730
1860
  }
1731
1861
 
1732
- .Button.FloatingActionButton {
1733
- position: absolute;
1734
- right: 16px;
1735
- bottom: 16px;
1736
- width: 56px;
1737
- height: 56px;
1738
- padding: 16px;
1739
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1740
- }
1741
-
1742
- .Button.FloatingActionButton.raised {
1743
- 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);
1744
- }
1745
-
1746
- .Button.FloatingActionButton.mini {
1747
- width: 40px;
1748
- height: 40px;
1749
- padding: 8px;
1750
- }
1751
-
1752
- .Button.FloatingActionButton.hidden {
1753
- bottom: -100px;
1754
- }
1755
-
1756
1862
  .Switch {
1757
1863
  display: inline-flex;
1758
1864
  padding-top: 5px;
@@ -1833,110 +1939,4 @@
1833
1939
 
1834
1940
  .Switch .switch-input:checked + .switch-label .toggle--off {
1835
1941
  display: none;
1836
- }
1837
-
1838
- .SpinningProgress {
1839
- width: 48px;
1840
- height: 48px;
1841
- position: relative;
1842
- margin: 0 auto;
1843
- }
1844
-
1845
- .SpinningProgress:before {
1846
- content: "";
1847
- display: block;
1848
- padding-top: 100%;
1849
- }
1850
-
1851
- .SpinningProgress .circular {
1852
- animation: rotate 2s linear infinite;
1853
- height: 100%;
1854
- transform-origin: center center;
1855
- width: 100%;
1856
- position: absolute;
1857
- top: 0;
1858
- bottom: 0;
1859
- left: 0;
1860
- right: 0;
1861
- margin: auto;
1862
- }
1863
-
1864
- .SpinningProgress .line {
1865
- stroke: black;
1866
- stroke-width: 2px;
1867
- stroke-dasharray: 1, 96;
1868
- stroke-dashoffset: 0;
1869
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1870
- }
1871
-
1872
- @keyframes rotate {
1873
- 100% {
1874
- transform: rotate(360deg);
1875
- }
1876
- }
1877
- @keyframes dash {
1878
- 0% {
1879
- stroke-dasharray: 1, 96;
1880
- stroke-dashoffset: 0;
1881
- }
1882
- 50% {
1883
- stroke-dasharray: 43, 96;
1884
- stroke-dashoffset: -17px;
1885
- }
1886
- 100% {
1887
- stroke-dasharray: 43, 96;
1888
- stroke-dashoffset: -53px;
1889
- }
1890
- }
1891
- .Snackbar {
1892
- transform: translateX(-50%);
1893
- overflow: hidden;
1894
- background-color: #323232;
1895
- padding: 14px 24px 14px 24px;
1896
- color: #fff;
1897
- min-width: 288px;
1898
- max-width: 568px;
1899
- position: fixed;
1900
- bottom: -50px;
1901
- left: 50%;
1902
- display: flex;
1903
- flex-wrap: nowrap;
1904
- align-items: center;
1905
- opacity: 0;
1906
- transition: bottom 0.25s ease, opacity 0.2s ease;
1907
- border-radius: 4px;
1908
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1909
- }
1910
-
1911
- .Snackbar.shown {
1912
- bottom: 15px;
1913
- opacity: 1;
1914
- }
1915
-
1916
- .Snackbar .message {
1917
- overflow: hidden;
1918
- line-height: 1.2em;
1919
- min-height: 1.2em;
1920
- max-height: 2.4em;
1921
- flex: 1;
1922
- }
1923
-
1924
- .Snackbar .action {
1925
- text-transform: uppercase;
1926
- font-weight: bold;
1927
- margin-left: 48px;
1928
- color: #bf3727;
1929
- }
1930
-
1931
- .Snackbar .action a {
1932
- text-decoration: none;
1933
- color: #bf3727;
1934
- }
1935
-
1936
- .ScrollableTable .Scrollable .scrollbar {
1937
- top: 56px;
1938
- }
1939
-
1940
- .ScrollableTable .Table {
1941
- position: static;
1942
1942
  }