react-ui-basics 0.0.244 → 0.0.245

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
@@ -302,24 +302,6 @@
302
302
  position: absolute;
303
303
  }
304
304
 
305
- .DNDContainer .DroppableList .Draggable {
306
- transform: unset;
307
- transition: unset;
308
- opacity: 1;
309
- }
310
-
311
- .DNDContainer .DroppableList .Draggable.dragged {
312
- transition: unset !important;
313
- }
314
-
315
- .DNDContainer .DroppableList.hover .Draggable {
316
- transition: transform 0.2s ease-in;
317
- }
318
-
319
- .DNDContainer .DroppableList.resetting .Draggable {
320
- transition: transform 0.1s ease-in;
321
- }
322
-
323
305
  .ImageGallery {
324
306
  position: fixed;
325
307
  top: 0;
@@ -555,170 +537,77 @@
555
537
  font-size: 24px;
556
538
  }
557
539
 
558
- .Button {
559
- position: relative;
560
- min-width: 64px;
561
- min-height: 36px;
562
- height: 24px;
563
- margin: 0px;
564
- padding: 0px 16px;
565
- border: none;
566
- outline: none;
567
- font-size: 14px;
568
- font-weight: 500;
569
- letter-spacing: 1.25px;
570
- background: #dfdfdf;
571
- text-transform: uppercase;
572
- font-family: Roboto, sans-serif;
573
- -webkit-tap-highlight-color: transparent;
574
- display: inline-flex;
575
- justify-content: center;
576
- align-items: center;
577
- cursor: pointer;
578
- overflow: hidden;
579
- user-select: none;
580
- border-radius: 3px;
581
- transition: all 0.2s ease;
582
- }
583
-
584
- .Button.flat {
585
- background-color: transparent;
586
- }
587
-
588
- .Button.flat:hover {
589
- background-color: rgba(0, 0, 0, 0.05);
590
- }
591
-
592
- .Button.green {
593
- background-color: #43a047;
594
- color: white;
595
- }
596
-
597
- .Button.green:hover {
598
- background-color: #3b8e3f;
599
- }
600
-
601
- .Button.blue {
602
- background-color: #039be5;
603
- color: white;
604
- }
605
-
606
- .Button.blue:hover {
607
- background-color: #038acc;
608
- }
609
-
610
- .Button.red {
611
- background-color: #e53935;
612
- color: white;
613
- }
614
-
615
- .Button.red:hover {
616
- background-color: #e2231e;
617
- }
618
-
619
- .Button.black {
620
- background-color: #1e252d;
621
- color: white;
622
- }
623
-
624
- .Button.black:hover {
625
- background-color: #14181e;
626
- }
627
-
628
- .Button.gray {
629
- background: #D9D9D9;
630
- color: #999999;
631
- }
632
-
633
- .Button.gray:hover {
634
- background-color: #cccccc;
635
- }
636
-
637
- .Button.small {
638
- padding: 0px 8px;
639
- min-height: 16px;
640
- min-width: 16px;
641
- }
642
-
643
- .Button > .material-icons {
644
- margin-right: 10px;
645
- }
646
-
647
- .Button.round {
648
- padding: 0px;
649
- min-width: 36px;
650
- border-radius: 50%;
540
+ .DNDContainer .DroppableList .Draggable {
541
+ transform: unset;
542
+ transition: unset;
543
+ opacity: 1;
651
544
  }
652
545
 
653
- .Button.round > .material-icons {
654
- margin: 0px;
546
+ .DNDContainer .DroppableList .Draggable.dragged {
547
+ transition: unset !important;
655
548
  }
656
549
 
657
- .Button .ripple {
658
- position: absolute;
659
- background: rgba(0, 0, 0, 0.1);
660
- border-radius: 100%;
661
- transform: scale(0);
662
- pointer-events: none;
663
- transition: opacity 0.2s ease-out;
550
+ .DNDContainer .DroppableList.hover .Draggable {
551
+ transition: transform 0.2s ease-in;
664
552
  }
665
553
 
666
- .Button .ripple.show {
667
- animation: ripple 0.35s ease-out;
554
+ .DNDContainer .DroppableList.resetting .Draggable {
555
+ transition: transform 0.1s ease-in;
668
556
  }
669
557
 
670
- .Button:active .ripple.showed {
671
- opacity: 1;
558
+ .DialogModal {
559
+ overflow: hidden;
672
560
  }
673
561
 
674
- .Button:focus .ripple.focused {
675
- opacity: 1;
676
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
677
- transform: scale(1);
678
- animation: resize 1.25s ease-out infinite;
679
- animation-delay: 0.2s;
680
- animation-direction: alternate;
562
+ .DialogModal .content {
563
+ top: 20vh;
681
564
  }
682
565
 
683
- .Button .ripple.showed {
684
- transform: scale(2);
685
- opacity: 0;
566
+ .Dialog {
567
+ background-color: white;
568
+ min-width: 460px;
569
+ max-width: 40vw;
570
+ padding: 15px;
686
571
  }
687
572
 
688
- @keyframes ripple {
689
- to {
690
- transform: scale(2);
691
- }
692
- }
693
- @keyframes resize {
694
- to {
695
- transform: scale(0.9);
696
- }
697
- }
698
- .Button.raised {
699
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
573
+ .Dialog .title {
574
+ margin-bottom: 15px;
575
+ padding: 20px 50px 0px 30px;
576
+ font-size: 1.25rem;
577
+ line-height: 2rem;
578
+ font-weight: 400;
579
+ letter-spacing: 0.0125em;
700
580
  }
701
581
 
702
- .Button.raised:hover {
703
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
582
+ .Dialog .description {
583
+ color: rgba(0, 0, 0, 0.54);
584
+ font-size: 1rem;
585
+ line-height: 1.5rem;
586
+ font-weight: 400;
587
+ letter-spacing: 0.03125em;
588
+ margin-top: 20px;
589
+ padding: 0 24px 24px;
704
590
  }
705
591
 
706
- .Button.raised:active {
707
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
592
+ .Dialog > div.row {
593
+ margin-bottom: 15px;
708
594
  }
709
595
 
710
- .Button.disabled {
711
- box-shadow: none;
712
- background: #D9D9D9;
713
- color: #999999;
596
+ .Dialog > div.row:last-child {
597
+ margin-bottom: 0;
714
598
  }
715
599
 
716
- .Button.disabled:hover {
717
- background-color: #cccccc;
600
+ .CircleProgress {
601
+ width: 48px;
602
+ height: 48px;
718
603
  }
719
604
 
720
- .Button::-moz-focus-inner {
721
- border: 0;
605
+ .CircleProgress .line {
606
+ stroke-width: 2px;
607
+ stroke: black;
608
+ stroke-linecap: square;
609
+ fill: none;
610
+ transition: stroke-dashoffset 0.2s ease;
722
611
  }
723
612
 
724
613
  .Checkbox {
@@ -788,55 +677,139 @@
788
677
  background: rgba(0, 0, 0, 0.26);
789
678
  }
790
679
 
791
- .DatePicker {
680
+ .FilteredList {
681
+ max-height: 250px;
792
682
  position: relative;
793
683
  }
794
684
 
795
- .DatePicker > .TextField {
796
- width: 200px;
797
- margin-bottom: 0px;
798
- }
799
-
800
- .DatePicker > .TextField input {
801
- text-align: center;
802
- }
803
-
804
- .calendar {
805
- user-select: none;
685
+ .FilteredList.popup {
686
+ padding: 0;
687
+ visibility: hidden;
806
688
  position: absolute;
807
- top: 33px;
808
- z-index: 10;
809
- 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);
810
- border-radius: 4px;
811
- overflow: hidden;
812
- transition: 0.2s all ease;
689
+ background: white;
690
+ z-index: 4;
691
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
692
+ transition: top 0.2s ease-out, opacity 0.2s ease-out;
693
+ top: calc(100% + 4px);
813
694
  opacity: 0;
814
- visibility: hidden;
695
+ border-radius: 2px;
815
696
  }
816
697
 
817
- .calendar.focused {
698
+ .FilteredList.popup.visible {
818
699
  opacity: 1;
819
700
  visibility: visible;
820
701
  }
821
702
 
822
- .calendar .monthSelect {
823
- align-items: center;
824
- margin-bottom: 0;
825
- background: white;
826
- font-size: 12px;
827
- color: rgb(170, 170, 170);
828
- padding-right: 16px;
829
- padding-left: 16px;
830
- height: 40px;
703
+ .FilteredList.portal {
704
+ transition: opacity 0.2s ease-out;
831
705
  }
832
706
 
833
- .calendar .monthSelect span {
834
- margin-right: auto;
707
+ .FilteredList.inline {
708
+ max-height: 225px;
709
+ margin-top: 5px;
835
710
  }
836
711
 
837
- .calendar .monthSelect .Button {
838
- min-width: 25px;
839
- min-height: 25px;
712
+ .FilteredList .child {
713
+ display: flex;
714
+ flex-flow: row nowrap;
715
+ align-items: center;
716
+ white-space: nowrap;
717
+ font-size: 14px;
718
+ color: rgb(34, 34, 34);
719
+ height: 30px;
720
+ padding: 5px 10px;
721
+ padding-right: 15px;
722
+ cursor: pointer;
723
+ overflow: hidden;
724
+ border-left: 5px solid #4AC263;
725
+ padding-left: 15px;
726
+ margin-left: -5px;
727
+ }
728
+
729
+ .FilteredList .child.hidden {
730
+ height: 0 !important;
731
+ padding: 0 !important;
732
+ }
733
+
734
+ .FilteredList .child.selected {
735
+ background-color: #F0F0F0;
736
+ padding-left: 10px;
737
+ margin-left: 0px;
738
+ }
739
+
740
+ .FilteredList .child.active {
741
+ background-color: rgb(238, 238, 238);
742
+ }
743
+
744
+ .FilteredList .child {
745
+ margin-top: 8px;
746
+ }
747
+
748
+ .FilteredList .child.hidden {
749
+ margin-top: 0;
750
+ }
751
+
752
+ .FilteredList .child:not(.hidden) ~ .child {
753
+ margin-top: 0;
754
+ }
755
+
756
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
757
+ margin-bottom: 8px;
758
+ }
759
+
760
+ .FilteredList .child:not(.hidden):last-child {
761
+ margin-bottom: 8px;
762
+ }
763
+
764
+ .DatePicker {
765
+ position: relative;
766
+ }
767
+
768
+ .DatePicker > .TextField {
769
+ width: 200px;
770
+ margin-bottom: 0px;
771
+ }
772
+
773
+ .DatePicker > .TextField input {
774
+ text-align: center;
775
+ }
776
+
777
+ .calendar {
778
+ user-select: none;
779
+ position: absolute;
780
+ top: 33px;
781
+ z-index: 10;
782
+ 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);
783
+ border-radius: 4px;
784
+ overflow: hidden;
785
+ transition: 0.2s all ease;
786
+ opacity: 0;
787
+ visibility: hidden;
788
+ }
789
+
790
+ .calendar.focused {
791
+ opacity: 1;
792
+ visibility: visible;
793
+ }
794
+
795
+ .calendar .monthSelect {
796
+ align-items: center;
797
+ margin-bottom: 0;
798
+ background: white;
799
+ font-size: 12px;
800
+ color: rgb(170, 170, 170);
801
+ padding-right: 16px;
802
+ padding-left: 16px;
803
+ height: 40px;
804
+ }
805
+
806
+ .calendar .monthSelect span {
807
+ margin-right: auto;
808
+ }
809
+
810
+ .calendar .monthSelect .Button {
811
+ min-width: 25px;
812
+ min-height: 25px;
840
813
  }
841
814
 
842
815
  .calendar .monthSelect .Button .material-icons {
@@ -905,95 +878,170 @@
905
878
  background-color: #51adf6;
906
879
  }
907
880
 
908
- .CalendarMonthView {
909
- display: flex;
910
- flex-flow: column nowrap;
911
- height: 100%;
881
+ .Button {
882
+ position: relative;
883
+ min-width: 64px;
884
+ min-height: 36px;
885
+ height: 24px;
886
+ margin: 0px;
887
+ padding: 0px 16px;
888
+ border: none;
889
+ outline: none;
890
+ font-size: 14px;
891
+ font-weight: 500;
892
+ letter-spacing: 1.25px;
893
+ background: #dfdfdf;
894
+ text-transform: uppercase;
895
+ font-family: Roboto, sans-serif;
896
+ -webkit-tap-highlight-color: transparent;
897
+ display: inline-flex;
898
+ justify-content: center;
899
+ align-items: center;
900
+ cursor: pointer;
901
+ overflow: hidden;
902
+ user-select: none;
903
+ border-radius: 3px;
904
+ transition: all 0.2s ease;
912
905
  }
913
906
 
914
- .CalendarMonthView > .row {
915
- display: flex;
916
- flex-flow: row nowrap;
907
+ .Button.flat {
908
+ background-color: transparent;
917
909
  }
918
910
 
919
- .CalendarMonthView .days {
920
- flex-grow: 1;
921
- position: relative;
911
+ .Button.flat:hover {
912
+ background-color: rgba(0, 0, 0, 0.05);
922
913
  }
923
914
 
924
- .CalendarMonthView .day, .CalendarMonthView .header {
925
- flex-grow: 1;
926
- flex-basis: 1px;
915
+ .Button.green {
916
+ background-color: #43a047;
917
+ color: white;
927
918
  }
928
919
 
929
- .CalendarMonthView .day {
930
- height: 100%;
920
+ .Button.green:hover {
921
+ background-color: #3b8e3f;
931
922
  }
932
923
 
933
- .DialogModal {
934
- overflow: hidden;
924
+ .Button.blue {
925
+ background-color: #039be5;
926
+ color: white;
935
927
  }
936
928
 
937
- .DialogModal .content {
938
- top: 20vh;
929
+ .Button.blue:hover {
930
+ background-color: #038acc;
939
931
  }
940
932
 
941
- .Dialog {
942
- background-color: white;
943
- min-width: 460px;
944
- max-width: 40vw;
945
- padding: 15px;
933
+ .Button.red {
934
+ background-color: #e53935;
935
+ color: white;
946
936
  }
947
937
 
948
- .Dialog .title {
949
- margin-bottom: 15px;
950
- padding: 20px 50px 0px 30px;
951
- font-size: 1.25rem;
952
- line-height: 2rem;
953
- font-weight: 400;
954
- letter-spacing: 0.0125em;
938
+ .Button.red:hover {
939
+ background-color: #e2231e;
955
940
  }
956
941
 
957
- .Dialog .description {
958
- color: rgba(0, 0, 0, 0.54);
959
- font-size: 1rem;
960
- line-height: 1.5rem;
961
- font-weight: 400;
962
- letter-spacing: 0.03125em;
963
- margin-top: 20px;
964
- padding: 0 24px 24px;
942
+ .Button.black {
943
+ background-color: #1e252d;
944
+ color: white;
965
945
  }
966
946
 
967
- .Dialog > div.row {
968
- margin-bottom: 15px;
947
+ .Button.black:hover {
948
+ background-color: #14181e;
969
949
  }
970
950
 
971
- .Dialog > div.row:last-child {
972
- margin-bottom: 0;
951
+ .Button.gray {
952
+ background: #D9D9D9;
953
+ color: #999999;
973
954
  }
974
955
 
975
- .Button.FloatingActionButton {
956
+ .Button.gray:hover {
957
+ background-color: #cccccc;
958
+ }
959
+
960
+ .Button.small {
961
+ padding: 0px 8px;
962
+ min-height: 16px;
963
+ min-width: 16px;
964
+ }
965
+
966
+ .Button > .material-icons {
967
+ margin-right: 10px;
968
+ }
969
+
970
+ .Button.round {
971
+ padding: 0px;
972
+ min-width: 36px;
973
+ border-radius: 50%;
974
+ }
975
+
976
+ .Button.round > .material-icons {
977
+ margin: 0px;
978
+ }
979
+
980
+ .Button .ripple {
976
981
  position: absolute;
977
- right: 16px;
978
- bottom: 16px;
979
- width: 56px;
980
- height: 56px;
981
- padding: 16px;
982
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
982
+ background: rgba(0, 0, 0, 0.1);
983
+ border-radius: 100%;
984
+ transform: scale(0);
985
+ pointer-events: none;
986
+ transition: opacity 0.2s ease-out;
983
987
  }
984
988
 
985
- .Button.FloatingActionButton.raised {
986
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
989
+ .Button .ripple.show {
990
+ animation: ripple 0.35s ease-out;
987
991
  }
988
992
 
989
- .Button.FloatingActionButton.mini {
990
- width: 40px;
991
- height: 40px;
992
- padding: 8px;
993
+ .Button:active .ripple.showed {
994
+ opacity: 1;
993
995
  }
994
996
 
995
- .Button.FloatingActionButton.hidden {
996
- bottom: -100px;
997
+ .Button:focus .ripple.focused {
998
+ opacity: 1;
999
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
1000
+ transform: scale(1);
1001
+ animation: resize 1.25s ease-out infinite;
1002
+ animation-delay: 0.2s;
1003
+ animation-direction: alternate;
1004
+ }
1005
+
1006
+ .Button .ripple.showed {
1007
+ transform: scale(2);
1008
+ opacity: 0;
1009
+ }
1010
+
1011
+ @keyframes ripple {
1012
+ to {
1013
+ transform: scale(2);
1014
+ }
1015
+ }
1016
+ @keyframes resize {
1017
+ to {
1018
+ transform: scale(0.9);
1019
+ }
1020
+ }
1021
+ .Button.raised {
1022
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1023
+ }
1024
+
1025
+ .Button.raised:hover {
1026
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
1027
+ }
1028
+
1029
+ .Button.raised:active {
1030
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
1031
+ }
1032
+
1033
+ .Button.disabled {
1034
+ box-shadow: none;
1035
+ background: #D9D9D9;
1036
+ color: #999999;
1037
+ }
1038
+
1039
+ .Button.disabled:hover {
1040
+ background-color: #cccccc;
1041
+ }
1042
+
1043
+ .Button::-moz-focus-inner {
1044
+ border: 0;
997
1045
  }
998
1046
 
999
1047
  .DNDContainer {
@@ -1036,107 +1084,132 @@
1036
1084
  border: 1px dashed #808080;
1037
1085
  padding: 12px;
1038
1086
  display: flex;
1039
- flex-flow: row nowrap;
1087
+ flex-flow: row nowrap;
1088
+ justify-content: center;
1089
+ align-items: center;
1090
+ color: gray;
1091
+ cursor: pointer;
1092
+ border-radius: 3px;
1093
+ font-weight: normal;
1094
+ line-height: 22px;
1095
+ font-size: 14px;
1096
+ color: #7E7E7E;
1097
+ max-width: 100%;
1098
+ word-break: break-all;
1099
+ word-break: break-word;
1100
+ }
1101
+
1102
+ .DropFileInput .Dropzone .icon.withText {
1103
+ margin-right: 10px;
1104
+ }
1105
+
1106
+ .Dropzone {
1107
+ position: relative;
1108
+ }
1109
+
1110
+ .Dropzone > .overlay {
1111
+ position: absolute;
1112
+ left: 0;
1113
+ right: 0;
1114
+ top: 0;
1115
+ bottom: 0;
1116
+ background-color: #38ADC4;
1117
+ z-index: 1;
1118
+ opacity: 0;
1119
+ transition: all 0.2s ease;
1120
+ transition-delay: 100ms;
1121
+ visibility: hidden;
1122
+ display: flex;
1123
+ justify-content: center;
1124
+ align-items: center;
1125
+ }
1126
+
1127
+ .Dropzone > .overlay .drop {
1128
+ border-radius: 4px;
1129
+ border: 1px dashed #FFFFFF;
1130
+ position: absolute;
1131
+ top: 18px;
1132
+ left: 18px;
1133
+ right: 18px;
1134
+ bottom: 18px;
1135
+ display: flex;
1040
1136
  justify-content: center;
1041
1137
  align-items: center;
1042
- color: gray;
1043
- cursor: pointer;
1044
- border-radius: 3px;
1045
- font-weight: normal;
1046
- line-height: 22px;
1047
- font-size: 14px;
1048
- color: #7E7E7E;
1049
- max-width: 100%;
1050
- word-break: break-all;
1051
- word-break: break-word;
1138
+ font-weight: 500;
1139
+ font-size: 18px;
1140
+ color: #FFFFFF;
1052
1141
  }
1053
1142
 
1054
- .DropFileInput .Dropzone .icon.withText {
1055
- margin-right: 10px;
1143
+ .Dropzone.dragging > .overlay {
1144
+ opacity: 0.7;
1145
+ visibility: visible;
1146
+ transition-delay: 0s;
1056
1147
  }
1057
1148
 
1058
- .FilteredList {
1059
- max-height: 250px;
1060
- position: relative;
1149
+ .Dropzone.dragging > * {
1150
+ pointer-events: none;
1061
1151
  }
1062
1152
 
1063
- .FilteredList.popup {
1064
- padding: 0;
1065
- visibility: hidden;
1153
+ .Dropzone > input.file {
1066
1154
  position: absolute;
1067
- background: white;
1068
- z-index: 4;
1069
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
1070
- transition: top 0.2s ease-out, opacity 0.2s ease-out;
1071
- top: calc(100% + 4px);
1155
+ left: 0;
1156
+ right: 0;
1157
+ top: 0;
1158
+ bottom: 0;
1159
+ width: 100%;
1160
+ height: 100%;
1072
1161
  opacity: 0;
1073
- border-radius: 2px;
1074
- }
1075
-
1076
- .FilteredList.popup.visible {
1077
- opacity: 1;
1078
- visibility: visible;
1079
- }
1080
-
1081
- .FilteredList.portal {
1082
- transition: opacity 0.2s ease-out;
1083
- }
1084
-
1085
- .FilteredList.inline {
1086
- max-height: 225px;
1087
- margin-top: 5px;
1162
+ cursor: pointer;
1163
+ z-index: 1;
1088
1164
  }
1089
1165
 
1090
- .FilteredList .child {
1091
- display: flex;
1092
- flex-flow: row nowrap;
1093
- align-items: center;
1094
- white-space: nowrap;
1095
- font-size: 14px;
1096
- color: rgb(34, 34, 34);
1097
- height: 30px;
1098
- padding: 5px 10px;
1099
- padding-right: 15px;
1100
- cursor: pointer;
1101
- overflow: hidden;
1102
- border-left: 5px solid #4AC263;
1103
- padding-left: 15px;
1104
- margin-left: -5px;
1166
+ .Button.FloatingActionButton {
1167
+ position: absolute;
1168
+ right: 16px;
1169
+ bottom: 16px;
1170
+ width: 56px;
1171
+ height: 56px;
1172
+ padding: 16px;
1173
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1105
1174
  }
1106
1175
 
1107
- .FilteredList .child.hidden {
1108
- height: 0 !important;
1109
- padding: 0 !important;
1176
+ .Button.FloatingActionButton.raised {
1177
+ 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);
1110
1178
  }
1111
1179
 
1112
- .FilteredList .child.selected {
1113
- background-color: #F0F0F0;
1114
- padding-left: 10px;
1115
- margin-left: 0px;
1180
+ .Button.FloatingActionButton.mini {
1181
+ width: 40px;
1182
+ height: 40px;
1183
+ padding: 8px;
1116
1184
  }
1117
1185
 
1118
- .FilteredList .child.active {
1119
- background-color: rgb(238, 238, 238);
1186
+ .Button.FloatingActionButton.hidden {
1187
+ bottom: -100px;
1120
1188
  }
1121
1189
 
1122
- .FilteredList .child {
1123
- margin-top: 8px;
1190
+ .CalendarMonthView {
1191
+ display: flex;
1192
+ flex-flow: column nowrap;
1193
+ height: 100%;
1124
1194
  }
1125
1195
 
1126
- .FilteredList .child.hidden {
1127
- margin-top: 0;
1196
+ .CalendarMonthView > .row {
1197
+ display: flex;
1198
+ flex-flow: row nowrap;
1128
1199
  }
1129
1200
 
1130
- .FilteredList .child:not(.hidden) ~ .child {
1131
- margin-top: 0;
1201
+ .CalendarMonthView .days {
1202
+ flex-grow: 1;
1203
+ position: relative;
1132
1204
  }
1133
1205
 
1134
- .FilteredList .child:not(.hidden) ~ .child:last-child {
1135
- margin-bottom: 8px;
1206
+ .CalendarMonthView .day, .CalendarMonthView .header {
1207
+ flex-grow: 1;
1208
+ flex-basis: 1px;
1136
1209
  }
1137
1210
 
1138
- .FilteredList .child:not(.hidden):last-child {
1139
- margin-bottom: 8px;
1211
+ .CalendarMonthView .day {
1212
+ height: 100%;
1140
1213
  }
1141
1214
 
1142
1215
  .FormUploadProgress {
@@ -1208,89 +1281,6 @@
1208
1281
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1209
1282
  }
1210
1283
 
1211
- .CircleProgress {
1212
- width: 48px;
1213
- height: 48px;
1214
- }
1215
-
1216
- .CircleProgress .line {
1217
- stroke-width: 2px;
1218
- stroke: black;
1219
- stroke-linecap: square;
1220
- fill: none;
1221
- transition: stroke-dashoffset 0.2s ease;
1222
- }
1223
-
1224
- .Modal {
1225
- display: block;
1226
- position: fixed;
1227
- top: 0;
1228
- left: 0;
1229
- right: 0;
1230
- bottom: 100%;
1231
- overflow-y: scroll;
1232
- transition: bottom 0ms linear;
1233
- transition-delay: 0.2s;
1234
- }
1235
-
1236
- .Modal.show {
1237
- transition-delay: 0s;
1238
- bottom: 0;
1239
- }
1240
-
1241
- .Modal > .overlay {
1242
- position: fixed;
1243
- top: 0;
1244
- bottom: 100%;
1245
- left: 0;
1246
- right: 0;
1247
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1248
- opacity: 0;
1249
- background-color: black;
1250
- pointer-events: none;
1251
- }
1252
-
1253
- .Modal > .overlay.show {
1254
- opacity: 0.5;
1255
- bottom: 0;
1256
- }
1257
-
1258
- .Modal > .content {
1259
- left: 50%;
1260
- top: 10vh;
1261
- margin-bottom: 10vh;
1262
- font-size: 16px;
1263
- padding: 0;
1264
- opacity: 0;
1265
- transition: opacity 0.25s ease, transform 0.25s ease;
1266
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1267
- transform-origin: top;
1268
- position: absolute;
1269
- border-radius: 2px;
1270
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1271
- }
1272
-
1273
- .Modal > .content.show {
1274
- opacity: 1;
1275
- transform: scaleY(1) translateY(0px) translateX(-50%);
1276
- }
1277
-
1278
- .Modal > .content > .Scrollable {
1279
- overflow: visible;
1280
- max-height: 80vh;
1281
- }
1282
-
1283
- .Modal > .content > .Scrollable > .viewport {
1284
- min-width: 10px;
1285
- min-height: 10px;
1286
- }
1287
-
1288
- .Modal > .content > .Button.close {
1289
- top: 10px;
1290
- right: 10px;
1291
- position: absolute;
1292
- }
1293
-
1294
1284
  .ModalMenu {
1295
1285
  position: absolute;
1296
1286
  top: 10px;
@@ -1314,133 +1304,90 @@
1314
1304
  }
1315
1305
 
1316
1306
  .ModalMenu .Button.animated.unmounting {
1317
- transition: opacity 100ms ease-out, right 200ms ease-out;
1318
- }
1319
-
1320
- .ModalMenu .Button.active {
1321
- background: #EBEBEB;
1322
- }
1323
-
1324
- .ModalMenu .separator {
1325
- height: 24px;
1326
- width: 1px;
1327
- background-color: #D9D9D9;
1328
- margin-left: 4px;
1329
- }
1330
-
1331
- .Dropzone {
1332
- position: relative;
1333
- }
1334
-
1335
- .Dropzone > .overlay {
1336
- position: absolute;
1337
- left: 0;
1338
- right: 0;
1339
- top: 0;
1340
- bottom: 0;
1341
- background-color: #38ADC4;
1342
- z-index: 1;
1343
- opacity: 0;
1344
- transition: all 0.2s ease;
1345
- transition-delay: 100ms;
1346
- visibility: hidden;
1347
- display: flex;
1348
- justify-content: center;
1349
- align-items: center;
1350
- }
1351
-
1352
- .Dropzone > .overlay .drop {
1353
- border-radius: 4px;
1354
- border: 1px dashed #FFFFFF;
1355
- position: absolute;
1356
- top: 18px;
1357
- left: 18px;
1358
- right: 18px;
1359
- bottom: 18px;
1360
- display: flex;
1361
- justify-content: center;
1362
- align-items: center;
1363
- font-weight: 500;
1364
- font-size: 18px;
1365
- color: #FFFFFF;
1307
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1366
1308
  }
1367
1309
 
1368
- .Dropzone.dragging > .overlay {
1369
- opacity: 0.7;
1370
- visibility: visible;
1371
- transition-delay: 0s;
1310
+ .ModalMenu .Button.active {
1311
+ background: #EBEBEB;
1372
1312
  }
1373
1313
 
1374
- .Dropzone.dragging > * {
1375
- pointer-events: none;
1314
+ .ModalMenu .separator {
1315
+ height: 24px;
1316
+ width: 1px;
1317
+ background-color: #D9D9D9;
1318
+ margin-left: 4px;
1376
1319
  }
1377
1320
 
1378
- .Dropzone > input.file {
1379
- position: absolute;
1321
+ .Modal {
1322
+ display: block;
1323
+ position: fixed;
1324
+ top: 0;
1380
1325
  left: 0;
1381
1326
  right: 0;
1382
- top: 0;
1327
+ bottom: 100%;
1328
+ overflow-y: scroll;
1329
+ transition: bottom 0ms linear;
1330
+ transition-delay: 0.2s;
1331
+ }
1332
+
1333
+ .Modal.show {
1334
+ transition-delay: 0s;
1383
1335
  bottom: 0;
1384
- width: 100%;
1385
- height: 100%;
1386
- opacity: 0;
1387
- cursor: pointer;
1388
- z-index: 1;
1389
1336
  }
1390
1337
 
1391
- .SpinningProgress {
1392
- width: 48px;
1393
- height: 48px;
1394
- position: relative;
1395
- margin: 0 auto;
1338
+ .Modal > .overlay {
1339
+ position: fixed;
1340
+ top: 0;
1341
+ bottom: 100%;
1342
+ left: 0;
1343
+ right: 0;
1344
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1345
+ opacity: 0;
1346
+ background-color: black;
1347
+ pointer-events: none;
1396
1348
  }
1397
1349
 
1398
- .SpinningProgress:before {
1399
- content: "";
1400
- display: block;
1401
- padding-top: 100%;
1350
+ .Modal > .overlay.show {
1351
+ opacity: 0.5;
1352
+ bottom: 0;
1402
1353
  }
1403
1354
 
1404
- .SpinningProgress .circular {
1405
- animation: rotate 2s linear infinite;
1406
- height: 100%;
1407
- transform-origin: center center;
1408
- width: 100%;
1355
+ .Modal > .content {
1356
+ left: 50%;
1357
+ top: 10vh;
1358
+ margin-bottom: 10vh;
1359
+ font-size: 16px;
1360
+ padding: 0;
1361
+ opacity: 0;
1362
+ transition: opacity 0.25s ease, transform 0.25s ease;
1363
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1364
+ transform-origin: top;
1409
1365
  position: absolute;
1410
- top: 0;
1411
- bottom: 0;
1412
- left: 0;
1413
- right: 0;
1414
- margin: auto;
1366
+ border-radius: 2px;
1367
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1415
1368
  }
1416
1369
 
1417
- .SpinningProgress .line {
1418
- stroke: black;
1419
- stroke-width: 2px;
1420
- stroke-dasharray: 1, 96;
1421
- stroke-dashoffset: 0;
1422
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1370
+ .Modal > .content.show {
1371
+ opacity: 1;
1372
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1423
1373
  }
1424
1374
 
1425
- @keyframes rotate {
1426
- 100% {
1427
- transform: rotate(360deg);
1428
- }
1375
+ .Modal > .content > .Scrollable {
1376
+ overflow: visible;
1377
+ max-height: 80vh;
1429
1378
  }
1430
- @keyframes dash {
1431
- 0% {
1432
- stroke-dasharray: 1, 96;
1433
- stroke-dashoffset: 0;
1434
- }
1435
- 50% {
1436
- stroke-dasharray: 43, 96;
1437
- stroke-dashoffset: -17px;
1438
- }
1439
- 100% {
1440
- stroke-dasharray: 43, 96;
1441
- stroke-dashoffset: -53px;
1442
- }
1379
+
1380
+ .Modal > .content > .Scrollable > .viewport {
1381
+ min-width: 10px;
1382
+ min-height: 10px;
1383
+ }
1384
+
1385
+ .Modal > .content > .Button.close {
1386
+ top: 10px;
1387
+ right: 10px;
1388
+ position: absolute;
1443
1389
  }
1390
+
1444
1391
  .Snackbar {
1445
1392
  transform: translateX(-50%);
1446
1393
  overflow: hidden;
@@ -1533,190 +1480,39 @@
1533
1480
  .Switch .switch-label:after {
1534
1481
  left: 0;
1535
1482
  width: 20px;
1536
- height: 20px;
1537
- background-color: #FAFAFA;
1538
- border-radius: 50%;
1539
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1540
- }
1541
-
1542
- .Switch .switch-label .toggle--on {
1543
- display: none;
1544
- }
1545
-
1546
- .Switch .switch-label .toggle--off {
1547
- display: inline-block;
1548
- }
1549
-
1550
- .Switch .switch-label .label {
1551
- margin-right: 5px;
1552
- }
1553
-
1554
- .Switch .switch-input:checked + .switch-label:before {
1555
- background-color: #A5D6A7;
1556
- }
1557
-
1558
- .Switch .switch-input:checked + .switch-label:after {
1559
- background-color: #4CAF50;
1560
- transform: translate(80%, -50%);
1561
- }
1562
-
1563
- .Switch .switch-input:checked + .switch-label .toggle--on {
1564
- display: inline-block;
1565
- }
1566
-
1567
- .Switch .switch-input:checked + .switch-label .toggle--off {
1568
- display: none;
1569
- }
1570
-
1571
- .TextField {
1572
- position: relative;
1573
- width: 100%;
1574
- }
1575
-
1576
- .TextField > label {
1577
- font-family: Roboto, sans-serif;
1578
- color: rgba(0, 0, 0, 0.5);
1579
- font-size: 16px;
1580
- position: absolute;
1581
- left: 0px;
1582
- top: 16px;
1583
- margin-top: -16px;
1584
- transition: all 0.2s ease;
1585
- user-select: none;
1586
- cursor: text;
1587
- }
1588
-
1589
- .TextField > input {
1590
- font-family: Roboto, sans-serif;
1591
- color: #1e252d;
1592
- height: 19px;
1593
- font-size: 16px;
1594
- width: 100%;
1595
- border: 0px;
1596
- padding-bottom: 4px;
1597
- padding-top: 0;
1598
- outline-color: rgba(0, 0, 0, 0);
1599
- }
1600
-
1601
- .TextField > input:focus {
1602
- outline: none;
1603
- }
1604
-
1605
- .TextField > input:disabled {
1606
- color: gray;
1607
- background-color: white;
1608
- }
1609
-
1610
- .TextField > input:disabled + .border {
1611
- height: 0px;
1612
- border-bottom: 2px dotted rgb(224, 224, 224);
1613
- }
1614
-
1615
- .TextField > input::placeholder {
1616
- font-family: Roboto, sans-serif;
1617
- color: rgba(0, 0, 0, 0.3);
1618
- opacity: 1;
1619
- }
1620
-
1621
- .TextField > .border {
1622
- border-bottom: 1px solid rgb(224, 224, 224);
1623
- height: 1px;
1624
- position: relative;
1625
- }
1626
-
1627
- .TextField > .border .line {
1628
- left: 50%;
1629
- width: 0;
1630
- height: 2px;
1631
- min-height: 2px;
1632
- background-color: rgb(0, 188, 212);
1633
- transition: all 0.2s ease;
1634
- position: absolute;
1635
- }
1636
-
1637
- .TextField > .error {
1638
- text-align: left;
1639
- font-size: 10px;
1640
- min-height: 0;
1641
- line-height: 14px;
1642
- color: rgb(244, 67, 54);
1643
- visibility: hidden;
1644
- opacity: 0;
1645
- transition: all 0.2s ease;
1646
- }
1647
-
1648
- .TextField.focused > label, .TextField.withValue > label {
1649
- top: 4px;
1650
- font-size: 12px;
1651
- line-height: 14px;
1652
- }
1653
-
1654
- .TextField.errored > .error {
1655
- visibility: visible;
1656
- opacity: 1;
1657
- }
1658
-
1659
- .TextField.errored > .border {
1660
- border-bottom-color: rgb(244, 67, 54);
1661
- }
1662
-
1663
- .TextField.errored > label {
1664
- color: rgb(244, 67, 54);
1665
- }
1666
-
1667
- .TextField.focused > label {
1668
- color: rgb(0, 188, 212);
1669
- }
1670
-
1671
- .TextField.focused > .border .line {
1672
- left: 0;
1673
- width: 100%;
1483
+ height: 20px;
1484
+ background-color: #FAFAFA;
1485
+ border-radius: 50%;
1486
+ 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);
1674
1487
  }
1675
1488
 
1676
- .TextField.disabled label, .TextField.disabled input {
1677
- cursor: not-allowed;
1489
+ .Switch .switch-label .toggle--on {
1490
+ display: none;
1678
1491
  }
1679
1492
 
1680
- .TextField.withLabel {
1681
- margin-top: 15px;
1493
+ .Switch .switch-label .toggle--off {
1494
+ display: inline-block;
1682
1495
  }
1683
1496
 
1684
- .TextField input::-webkit-contacts-auto-fill-button {
1685
- visibility: hidden;
1686
- display: none !important;
1687
- pointer-events: none;
1688
- position: absolute;
1689
- right: 0;
1497
+ .Switch .switch-label .label {
1498
+ margin-right: 5px;
1690
1499
  }
1691
1500
 
1692
- .TextField input:-webkit-autofill {
1693
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1501
+ .Switch .switch-input:checked + .switch-label:before {
1502
+ background-color: #A5D6A7;
1694
1503
  }
1695
1504
 
1696
- @keyframes shake {
1697
- 0%, 100% {
1698
- transform: translateX(0);
1699
- }
1700
- 20%, 60% {
1701
- transform: translateX(-5px);
1702
- }
1703
- 40%, 80% {
1704
- transform: translateX(5px);
1705
- }
1706
- }
1707
- .TextField .shake {
1708
- animation-duration: 0.5s;
1709
- animation-fill-mode: both;
1710
- animation-timing-function: ease-in-out;
1711
- animation-name: shake;
1505
+ .Switch .switch-input:checked + .switch-label:after {
1506
+ background-color: #4CAF50;
1507
+ transform: translate(80%, -50%);
1712
1508
  }
1713
1509
 
1714
- .ScrollableTable .Scrollable .scrollbar {
1715
- top: 56px;
1510
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1511
+ display: inline-block;
1716
1512
  }
1717
1513
 
1718
- .ScrollableTable .Table {
1719
- position: static;
1514
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1515
+ display: none;
1720
1516
  }
1721
1517
 
1722
1518
  .Table {
@@ -1937,4 +1733,209 @@
1937
1733
  left: 0px;
1938
1734
  bottom: 0px;
1939
1735
  will-change: left;
1736
+ }
1737
+
1738
+ .TextField {
1739
+ position: relative;
1740
+ width: 100%;
1741
+ }
1742
+
1743
+ .TextField > label {
1744
+ font-family: Roboto, sans-serif;
1745
+ color: rgba(0, 0, 0, 0.5);
1746
+ font-size: 16px;
1747
+ position: absolute;
1748
+ left: 0px;
1749
+ top: 16px;
1750
+ margin-top: -16px;
1751
+ transition: all 0.2s ease;
1752
+ user-select: none;
1753
+ cursor: text;
1754
+ }
1755
+
1756
+ .TextField > input {
1757
+ font-family: Roboto, sans-serif;
1758
+ color: #1e252d;
1759
+ height: 19px;
1760
+ font-size: 16px;
1761
+ width: 100%;
1762
+ border: 0px;
1763
+ padding-bottom: 4px;
1764
+ padding-top: 0;
1765
+ outline-color: rgba(0, 0, 0, 0);
1766
+ }
1767
+
1768
+ .TextField > input:focus {
1769
+ outline: none;
1770
+ }
1771
+
1772
+ .TextField > input:disabled {
1773
+ color: gray;
1774
+ background-color: white;
1775
+ }
1776
+
1777
+ .TextField > input:disabled + .border {
1778
+ height: 0px;
1779
+ border-bottom: 2px dotted rgb(224, 224, 224);
1780
+ }
1781
+
1782
+ .TextField > input::placeholder {
1783
+ font-family: Roboto, sans-serif;
1784
+ color: rgba(0, 0, 0, 0.3);
1785
+ opacity: 1;
1786
+ }
1787
+
1788
+ .TextField > .border {
1789
+ border-bottom: 1px solid rgb(224, 224, 224);
1790
+ height: 1px;
1791
+ position: relative;
1792
+ }
1793
+
1794
+ .TextField > .border .line {
1795
+ left: 50%;
1796
+ width: 0;
1797
+ height: 2px;
1798
+ min-height: 2px;
1799
+ background-color: rgb(0, 188, 212);
1800
+ transition: all 0.2s ease;
1801
+ position: absolute;
1802
+ }
1803
+
1804
+ .TextField > .error {
1805
+ text-align: left;
1806
+ font-size: 10px;
1807
+ min-height: 0;
1808
+ line-height: 14px;
1809
+ color: rgb(244, 67, 54);
1810
+ visibility: hidden;
1811
+ opacity: 0;
1812
+ transition: all 0.2s ease;
1813
+ }
1814
+
1815
+ .TextField.focused > label, .TextField.withValue > label {
1816
+ top: 4px;
1817
+ font-size: 12px;
1818
+ line-height: 14px;
1819
+ }
1820
+
1821
+ .TextField.errored > .error {
1822
+ visibility: visible;
1823
+ opacity: 1;
1824
+ }
1825
+
1826
+ .TextField.errored > .border {
1827
+ border-bottom-color: rgb(244, 67, 54);
1828
+ }
1829
+
1830
+ .TextField.errored > label {
1831
+ color: rgb(244, 67, 54);
1832
+ }
1833
+
1834
+ .TextField.focused > label {
1835
+ color: rgb(0, 188, 212);
1836
+ }
1837
+
1838
+ .TextField.focused > .border .line {
1839
+ left: 0;
1840
+ width: 100%;
1841
+ }
1842
+
1843
+ .TextField.disabled label, .TextField.disabled input {
1844
+ cursor: not-allowed;
1845
+ }
1846
+
1847
+ .TextField.withLabel {
1848
+ margin-top: 15px;
1849
+ }
1850
+
1851
+ .TextField input::-webkit-contacts-auto-fill-button {
1852
+ visibility: hidden;
1853
+ display: none !important;
1854
+ pointer-events: none;
1855
+ position: absolute;
1856
+ right: 0;
1857
+ }
1858
+
1859
+ .TextField input:-webkit-autofill {
1860
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1861
+ }
1862
+
1863
+ @keyframes shake {
1864
+ 0%, 100% {
1865
+ transform: translateX(0);
1866
+ }
1867
+ 20%, 60% {
1868
+ transform: translateX(-5px);
1869
+ }
1870
+ 40%, 80% {
1871
+ transform: translateX(5px);
1872
+ }
1873
+ }
1874
+ .TextField .shake {
1875
+ animation-duration: 0.5s;
1876
+ animation-fill-mode: both;
1877
+ animation-timing-function: ease-in-out;
1878
+ animation-name: shake;
1879
+ }
1880
+
1881
+ .ScrollableTable .Scrollable .scrollbar {
1882
+ top: 56px;
1883
+ }
1884
+
1885
+ .ScrollableTable .Table {
1886
+ position: static;
1887
+ }
1888
+
1889
+ .SpinningProgress {
1890
+ width: 48px;
1891
+ height: 48px;
1892
+ position: relative;
1893
+ margin: 0 auto;
1894
+ }
1895
+
1896
+ .SpinningProgress:before {
1897
+ content: "";
1898
+ display: block;
1899
+ padding-top: 100%;
1900
+ }
1901
+
1902
+ .SpinningProgress .circular {
1903
+ animation: rotate 2s linear infinite;
1904
+ height: 100%;
1905
+ transform-origin: center center;
1906
+ width: 100%;
1907
+ position: absolute;
1908
+ top: 0;
1909
+ bottom: 0;
1910
+ left: 0;
1911
+ right: 0;
1912
+ margin: auto;
1913
+ }
1914
+
1915
+ .SpinningProgress .line {
1916
+ stroke: black;
1917
+ stroke-width: 2px;
1918
+ stroke-dasharray: 1, 96;
1919
+ stroke-dashoffset: 0;
1920
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1921
+ }
1922
+
1923
+ @keyframes rotate {
1924
+ 100% {
1925
+ transform: rotate(360deg);
1926
+ }
1927
+ }
1928
+ @keyframes dash {
1929
+ 0% {
1930
+ stroke-dasharray: 1, 96;
1931
+ stroke-dashoffset: 0;
1932
+ }
1933
+ 50% {
1934
+ stroke-dasharray: 43, 96;
1935
+ stroke-dashoffset: -17px;
1936
+ }
1937
+ 100% {
1938
+ stroke-dasharray: 43, 96;
1939
+ stroke-dashoffset: -53px;
1940
+ }
1940
1941
  }