react-ui-basics 0.0.205 → 0.0.206

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
@@ -293,71 +293,153 @@
293
293
  position: absolute;
294
294
  }
295
295
 
296
- .Checkbox {
296
+ .animated {
297
+ transition: opacity 250ms ease;
298
+ opacity: 0;
299
+ }
300
+
301
+ .animated.mounting, .animated.mounted {
302
+ opacity: 1;
303
+ }
304
+
305
+ .DialogModal {
306
+ overflow: hidden;
307
+ }
308
+
309
+ .DialogModal .content {
310
+ top: 20vh;
311
+ }
312
+
313
+ .Dialog {
314
+ background-color: white;
315
+ min-width: 460px;
316
+ max-width: 40vw;
317
+ padding: 15px;
318
+ }
319
+
320
+ .Dialog .title {
321
+ margin-bottom: 15px;
322
+ padding: 20px 50px 0px 30px;
323
+ font-size: 1.25rem;
324
+ line-height: 2rem;
325
+ font-weight: 400;
326
+ letter-spacing: 0.0125em;
327
+ }
328
+
329
+ .Dialog .description {
330
+ color: rgba(0, 0, 0, 0.54);
331
+ font-size: 1rem;
332
+ line-height: 1.5rem;
333
+ font-weight: 400;
334
+ letter-spacing: 0.03125em;
335
+ margin-top: 20px;
336
+ padding: 0 24px 24px;
337
+ }
338
+
339
+ .Dialog > div.row {
340
+ margin-bottom: 15px;
341
+ }
342
+
343
+ .Dialog > div.row:last-child {
344
+ margin-bottom: 0;
345
+ }
346
+
347
+ .CircleProgress {
348
+ width: 48px;
349
+ height: 48px;
350
+ }
351
+
352
+ .CircleProgress .line {
353
+ stroke-width: 2px;
354
+ stroke: black;
355
+ stroke-linecap: square;
356
+ fill: none;
357
+ transition: stroke-dashoffset 0.2s ease;
358
+ }
359
+
360
+ .FilteredList {
361
+ max-height: 250px;
297
362
  position: relative;
298
- white-space: pre;
299
363
  }
300
364
 
301
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
302
- box-sizing: border-box;
365
+ .FilteredList.popup {
366
+ padding: 0;
367
+ visibility: hidden;
368
+ position: absolute;
369
+ background: white;
370
+ z-index: 4;
371
+ 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);
372
+ transition: all 0.2s ease-out;
373
+ top: calc(100% + 4px);
374
+ opacity: 0;
375
+ border-radius: 2px;
303
376
  }
304
377
 
305
- .Checkbox label {
306
- font-family: Roboto, sans-serif;
378
+ .FilteredList.popup.visible {
379
+ opacity: 1;
380
+ visibility: visible;
381
+ }
382
+
383
+ .FilteredList.portal {
384
+ transition: opacity 0.2s ease-out;
385
+ }
386
+
387
+ .FilteredList.inline {
388
+ max-height: 225px;
389
+ margin-top: 5px;
390
+ }
391
+
392
+ .FilteredList .child {
393
+ display: flex;
394
+ flex-flow: row nowrap;
395
+ align-items: center;
396
+ white-space: nowrap;
307
397
  font-size: 14px;
308
- color: #1e252d;
398
+ color: rgb(34, 34, 34);
399
+ height: 30px;
400
+ padding: 5px 10px;
401
+ padding-right: 15px;
309
402
  cursor: pointer;
403
+ overflow: hidden;
404
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
405
+ border-left: 5px solid #4AC263;
406
+ padding-left: 15px;
407
+ margin-left: -5px;
310
408
  }
311
409
 
312
- .Checkbox label:before, .Checkbox label:after {
313
- content: "";
314
- position: absolute;
315
- left: 0;
316
- top: 0;
410
+ .FilteredList .child.hidden {
411
+ height: 0 !important;
412
+ padding: 0 !important;
317
413
  }
318
414
 
319
- .Checkbox label:before {
320
- width: 20px;
321
- height: 20px;
322
- background: #fff;
323
- border: 2px solid #252525;
324
- border-radius: 2px;
325
- cursor: pointer;
326
- transition: background 0.3s;
415
+ .FilteredList .child.selected {
416
+ background-color: #F0F0F0;
417
+ padding-left: 10px;
418
+ margin-left: 0px;
327
419
  }
328
420
 
329
- .Checkbox input[type=checkbox] {
330
- outline: 0;
331
- margin-right: 10px;
332
- visibility: hidden;
421
+ .FilteredList .child.active {
422
+ background-color: rgb(238, 238, 238);
333
423
  }
334
424
 
335
- .Checkbox input[type=checkbox]:checked + label:before {
336
- background: #4AC263;
337
- border: none;
425
+ .FilteredList .child {
426
+ margin-top: 8px;
338
427
  }
339
428
 
340
- .Checkbox input[type=checkbox]:checked + label:after {
341
- transform: rotate(-45deg);
342
- top: 6px;
343
- left: 4px;
344
- width: 12px;
345
- height: 6px;
346
- border: 2px solid #fff;
347
- border-top-style: none;
348
- border-right-style: none;
429
+ .FilteredList .child.hidden {
430
+ margin-top: 0;
349
431
  }
350
432
 
351
- .Checkbox input[type=checkbox]:disabled + label {
352
- color: gray;
433
+ .FilteredList .child:not(.hidden) ~ .child {
434
+ margin-top: 0;
353
435
  }
354
436
 
355
- .Checkbox input[type=checkbox]:disabled + label:before {
356
- border-color: rgba(0, 0, 0, 0.26);
437
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
438
+ margin-bottom: 8px;
357
439
  }
358
440
 
359
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
360
- background: rgba(0, 0, 0, 0.26);
441
+ .FilteredList .child:not(.hidden):last-child {
442
+ margin-bottom: 8px;
361
443
  }
362
444
 
363
445
  .Button {
@@ -526,475 +608,168 @@
526
608
  border: 0;
527
609
  }
528
610
 
529
- .FilteredList {
530
- max-height: 250px;
611
+ .Checkbox {
531
612
  position: relative;
613
+ white-space: pre;
532
614
  }
533
615
 
534
- .FilteredList.popup {
535
- padding: 0;
536
- visibility: hidden;
537
- position: absolute;
538
- background: white;
539
- z-index: 4;
540
- 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);
541
- transition: all 0.2s ease-out;
542
- top: calc(100% + 4px);
543
- opacity: 0;
544
- border-radius: 2px;
616
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
617
+ box-sizing: border-box;
545
618
  }
546
619
 
547
- .FilteredList.popup.visible {
548
- opacity: 1;
549
- visibility: visible;
620
+ .Checkbox label {
621
+ font-family: Roboto, sans-serif;
622
+ font-size: 14px;
623
+ color: #1e252d;
624
+ cursor: pointer;
550
625
  }
551
626
 
552
- .FilteredList.portal {
553
- transition: opacity 0.2s ease-out;
627
+ .Checkbox label:before, .Checkbox label:after {
628
+ content: "";
629
+ position: absolute;
630
+ left: 0;
631
+ top: 0;
554
632
  }
555
633
 
556
- .FilteredList.inline {
557
- max-height: 225px;
558
- margin-top: 5px;
634
+ .Checkbox label:before {
635
+ width: 20px;
636
+ height: 20px;
637
+ background: #fff;
638
+ border: 2px solid #252525;
639
+ border-radius: 2px;
640
+ cursor: pointer;
641
+ transition: background 0.3s;
559
642
  }
560
643
 
561
- .FilteredList .child {
562
- display: flex;
563
- flex-flow: row nowrap;
564
- align-items: center;
565
- white-space: nowrap;
566
- font-size: 14px;
567
- color: rgb(34, 34, 34);
568
- height: 30px;
569
- padding: 5px 10px;
570
- padding-right: 15px;
571
- cursor: pointer;
572
- overflow: hidden;
573
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
574
- border-left: 5px solid #4AC263;
575
- padding-left: 15px;
576
- margin-left: -5px;
644
+ .Checkbox input[type=checkbox] {
645
+ outline: 0;
646
+ margin-right: 10px;
647
+ visibility: hidden;
577
648
  }
578
649
 
579
- .FilteredList .child.hidden {
580
- height: 0 !important;
581
- padding: 0 !important;
650
+ .Checkbox input[type=checkbox]:checked + label:before {
651
+ background: #4AC263;
652
+ border: none;
582
653
  }
583
654
 
584
- .FilteredList .child.selected {
585
- background-color: #F0F0F0;
586
- padding-left: 10px;
587
- margin-left: 0px;
655
+ .Checkbox input[type=checkbox]:checked + label:after {
656
+ transform: rotate(-45deg);
657
+ top: 6px;
658
+ left: 4px;
659
+ width: 12px;
660
+ height: 6px;
661
+ border: 2px solid #fff;
662
+ border-top-style: none;
663
+ border-right-style: none;
588
664
  }
589
665
 
590
- .FilteredList .child.active {
591
- background-color: rgb(238, 238, 238);
666
+ .Checkbox input[type=checkbox]:disabled + label {
667
+ color: gray;
592
668
  }
593
669
 
594
- .FilteredList .child {
595
- margin-top: 8px;
670
+ .Checkbox input[type=checkbox]:disabled + label:before {
671
+ border-color: rgba(0, 0, 0, 0.26);
596
672
  }
597
673
 
598
- .FilteredList .child.hidden {
599
- margin-top: 0;
600
- }
601
-
602
- .FilteredList .child:not(.hidden) ~ .child {
603
- margin-top: 0;
604
- }
605
-
606
- .FilteredList .child:not(.hidden) ~ .child:last-child {
607
- margin-bottom: 8px;
608
- }
609
-
610
- .FilteredList .child:not(.hidden):last-child {
611
- margin-bottom: 8px;
612
- }
613
-
614
- .DialogModal {
615
- overflow: hidden;
616
- }
617
-
618
- .DialogModal .content {
619
- top: 20vh;
620
- }
621
-
622
- .Dialog {
623
- background-color: white;
624
- min-width: 460px;
625
- max-width: 40vw;
626
- padding: 15px;
627
- }
628
-
629
- .Dialog .title {
630
- margin-bottom: 15px;
631
- padding: 20px 50px 0px 30px;
632
- font-size: 1.25rem;
633
- line-height: 2rem;
634
- font-weight: 400;
635
- letter-spacing: 0.0125em;
636
- }
637
-
638
- .Dialog .description {
639
- color: rgba(0, 0, 0, 0.54);
640
- font-size: 1rem;
641
- line-height: 1.5rem;
642
- font-weight: 400;
643
- letter-spacing: 0.03125em;
644
- margin-top: 20px;
645
- padding: 0 24px 24px;
646
- }
647
-
648
- .Dialog > div.row {
649
- margin-bottom: 15px;
650
- }
651
-
652
- .Dialog > div.row:last-child {
653
- margin-bottom: 0;
654
- }
655
-
656
- .FormUploadProgress {
657
- position: absolute;
658
- left: 0;
659
- right: 0;
660
- top: 0;
661
- bottom: 0;
662
- background-color: rgba(255, 255, 255, 0.6);
663
- z-index: 2;
664
- }
665
-
666
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
667
- transition-delay: 500ms;
668
- }
669
-
670
- .FormUploadProgress .wrapper {
671
- position: sticky;
672
- top: 40%;
673
- margin-top: 40%;
674
- margin-left: 50%;
675
- transform: translateX(-50%);
676
- display: flex;
677
- flex-flow: column;
678
- justify-content: center;
679
- align-items: center;
680
- }
681
-
682
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
683
- position: absolute;
684
- width: 107px;
685
- height: 107px;
686
- top: 0;
687
- left: 0;
674
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
675
+ background: rgba(0, 0, 0, 0.26);
688
676
  }
689
677
 
690
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
691
- stroke: #2196F3;
678
+ .DropFileInput {
679
+ flex-grow: 1;
692
680
  }
693
681
 
694
- .FormUploadProgress .wrapper > .progress {
695
- width: 107px;
696
- height: 107px;
697
- min-height: 107px;
682
+ .DropFileInput .Dropzone {
683
+ border: 1px dashed #808080;
684
+ padding: 12px;
698
685
  display: flex;
686
+ flex-flow: row nowrap;
699
687
  justify-content: center;
700
688
  align-items: center;
701
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
702
- border-radius: 50%;
703
- background: white;
704
- position: relative;
705
- }
706
-
707
- .FormUploadProgress .wrapper > .progress > .value {
708
- display: inline-block;
709
- margin-top: 5px;
710
- font-weight: bold;
711
- line-height: 16px;
712
- font-size: 13px;
713
- text-align: center;
714
- color: #818181;
715
- }
716
-
717
- .FormUploadProgress .wrapper .cancel {
718
- min-width: 107px;
719
- margin-top: 20px;
720
- background-color: white;
721
- color: #F96B5C;
722
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
723
- }
724
-
725
- .Button.FloatingActionButton {
726
- position: absolute;
727
- right: 16px;
728
- bottom: 16px;
729
- width: 56px;
730
- height: 56px;
731
- padding: 16px;
732
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
733
- }
734
-
735
- .Button.FloatingActionButton.raised {
736
- 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);
737
- }
738
-
739
- .Button.FloatingActionButton.mini {
740
- width: 40px;
741
- height: 40px;
742
- padding: 8px;
743
- }
744
-
745
- .Button.FloatingActionButton.hidden {
746
- bottom: -100px;
747
- }
748
-
749
- .CircleProgress {
750
- width: 48px;
751
- height: 48px;
752
- }
753
-
754
- .CircleProgress .line {
755
- stroke-width: 2px;
756
- stroke: black;
757
- stroke-linecap: square;
758
- fill: none;
759
- transition: stroke-dashoffset 0.2s ease;
760
- }
761
-
762
- .Scrollable {
763
- max-height: 250px;
764
- max-width: 250px;
765
- padding-right: 5px;
766
- position: relative;
767
- display: flex;
768
- flex-flow: column;
769
- align-items: stretch;
770
- overflow: hidden;
689
+ color: gray;
690
+ cursor: pointer;
691
+ border-radius: 3px;
692
+ font-weight: normal;
693
+ line-height: 22px;
694
+ font-size: 14px;
695
+ color: #7E7E7E;
696
+ max-width: 100%;
697
+ word-break: break-all;
698
+ word-break: break-word;
771
699
  }
772
700
 
773
- .Scrollable:hover > .scrollbar.auto {
774
- transition-delay: 0s;
775
- opacity: 1;
701
+ .DropFileInput .Dropzone .icon.withText {
702
+ margin-right: 10px;
776
703
  }
777
704
 
778
- .Scrollable .viewport {
705
+ .Modal {
706
+ display: block;
707
+ position: fixed;
708
+ top: 0;
709
+ left: 0;
710
+ right: 0;
711
+ bottom: 100%;
779
712
  overflow-y: scroll;
780
- overflow-x: scroll;
781
- max-height: 100%;
782
- scroll-behavior: smooth;
783
- scrollbar-width: none;
784
- }
785
-
786
- .Scrollable .viewport::-webkit-scrollbar {
787
- display: none;
788
- }
789
-
790
- .Scrollable.without-scroll-horizontal {
791
- max-width: unset;
792
- }
793
-
794
- .Scrollable.without-scroll {
795
- padding-right: 0;
796
- max-height: unset;
797
- }
798
-
799
- .Scrollable.without-scroll > .viewport {
800
- padding-right: 0;
801
- margin-right: 0;
713
+ transition: bottom 0ms linear;
714
+ transition-delay: 0.2s;
802
715
  }
803
716
 
804
- .Scrollable.without-scroll > .scrollbar {
805
- visibility: hidden;
717
+ .Modal.show {
718
+ transition-delay: 0s;
719
+ bottom: 0;
806
720
  }
807
721
 
808
- .Scrollable .scrollbar {
809
- position: absolute;
810
- right: 0px;
811
- top: 0px;
812
- width: 5px;
722
+ .Modal > .overlay {
723
+ position: fixed;
724
+ top: 0;
725
+ bottom: 100%;
726
+ left: 0;
727
+ right: 0;
813
728
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
814
- transition-delay: 0.5s;
815
- z-index: 1;
816
- }
817
-
818
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
819
729
  opacity: 0;
730
+ background-color: black;
731
+ pointer-events: none;
820
732
  }
821
733
 
822
- .Scrollable .scrollbar .thumb {
823
- background-color: rgba(0, 0, 0, 0.3);
824
- width: 5px;
825
- position: absolute;
826
- right: 0px;
827
- top: 0px;
828
- user-select: none;
829
- will-change: top;
830
- border-radius: 2px;
831
- }
832
-
833
- .Scrollable .scrollbar .thumb:hover {
834
- background-color: rgba(0, 0, 0, 0.5);
835
- }
836
-
837
- .Scrollable .scrollbar .thumb:active {
838
- background-color: rgba(0, 0, 0, 0.7);
839
- }
840
-
841
- .Scrollable .scrollbar.horizontal {
842
- left: 0px;
843
- right: 0px;
844
- height: 5px;
734
+ .Modal > .overlay.show {
735
+ opacity: 0.5;
845
736
  bottom: 0;
846
- width: unset;
847
- top: unset;
848
- }
849
-
850
- .Scrollable .scrollbar.horizontal .thumb {
851
- height: 5px;
852
- left: 0px;
853
- bottom: 0px;
854
- will-change: left;
855
- }
856
-
857
- .TextField {
858
- position: relative;
859
- width: 100%;
860
- }
861
-
862
- .TextField > label {
863
- font-family: Roboto, sans-serif;
864
- color: rgba(0, 0, 0, 0.3);
865
- font-size: 16px;
866
- position: absolute;
867
- left: 0px;
868
- top: 16px;
869
- margin-top: -16px;
870
- transition: all 0.2s ease;
871
- user-select: none;
872
- cursor: text;
873
- }
874
-
875
- .TextField > input {
876
- font-family: Roboto, sans-serif;
877
- color: #1e252d;
878
- height: 19px;
879
- font-size: 16px;
880
- width: 100%;
881
- border: 0px;
882
- padding-bottom: 4px;
883
- padding-top: 0;
884
- outline-color: rgba(0, 0, 0, 0);
885
- }
886
-
887
- .TextField > input:focus {
888
- outline: none;
889
- }
890
-
891
- .TextField > input:disabled {
892
- color: gray;
893
- background-color: white;
894
- }
895
-
896
- .TextField > input:disabled + .border {
897
- height: 0px;
898
- border-bottom: 2px dotted rgb(224, 224, 224);
899
- }
900
-
901
- .TextField > input::placeholder {
902
- font-family: Roboto, sans-serif;
903
- color: rgba(0, 0, 0, 0.3);
904
- opacity: 1;
905
- }
906
-
907
- .TextField > .border {
908
- border-bottom: 1px solid rgb(224, 224, 224);
909
- height: 1px;
910
- position: relative;
911
737
  }
912
738
 
913
- .TextField > .border .line {
739
+ .Modal > .content {
914
740
  left: 50%;
915
- width: 0;
916
- height: 2px;
917
- min-height: 2px;
918
- background-color: rgb(0, 188, 212);
919
- transition: all 0.2s ease;
920
- position: absolute;
921
- }
922
-
923
- .TextField > .error {
924
- text-align: left;
925
- font-size: 10px;
926
- min-height: 0;
927
- line-height: 14px;
928
- color: rgb(244, 67, 54);
929
- visibility: hidden;
741
+ top: 10vh;
742
+ margin-bottom: 10vh;
743
+ font-size: 16px;
744
+ padding: 0;
930
745
  opacity: 0;
931
- transition: all 0.2s ease;
932
- }
933
-
934
- .TextField.focused > label, .TextField.withValue > label {
935
- top: 4px;
936
- font-size: 12px;
937
- line-height: 14px;
746
+ transition: opacity 0.25s ease, transform 0.25s ease;
747
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
748
+ transform-origin: top;
749
+ position: absolute;
750
+ border-radius: 2px;
751
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
938
752
  }
939
753
 
940
- .TextField.errored > .error {
941
- visibility: visible;
754
+ .Modal > .content.show {
942
755
  opacity: 1;
756
+ transform: scaleY(1) translateY(0px) translateX(-50%);
943
757
  }
944
758
 
945
- .TextField.errored > .border {
946
- border-bottom-color: rgb(244, 67, 54);
947
- }
948
-
949
- .TextField.errored > label {
950
- color: rgb(244, 67, 54);
951
- }
952
-
953
- .TextField.focused > label {
954
- color: rgb(0, 188, 212);
955
- }
956
-
957
- .TextField.focused > .border .line {
958
- left: 0;
959
- width: 100%;
960
- }
961
-
962
- .TextField.disabled label, .TextField.disabled input {
963
- cursor: not-allowed;
759
+ .Modal > .content > .Scrollable {
760
+ overflow: visible;
761
+ max-height: 80vh;
964
762
  }
965
763
 
966
- .TextField.withLabel {
967
- margin-top: 15px;
764
+ .Modal > .content > .Scrollable > .viewport {
765
+ min-width: 10px;
766
+ min-height: 10px;
968
767
  }
969
768
 
970
- .TextField input::-webkit-contacts-auto-fill-button {
971
- visibility: hidden;
972
- display: none !important;
973
- pointer-events: none;
769
+ .Modal > .content > .Button.close {
770
+ top: 10px;
771
+ right: 10px;
974
772
  position: absolute;
975
- right: 0;
976
- }
977
-
978
- .TextField input:-webkit-autofill {
979
- -webkit-box-shadow: inset 0 0 0px 9999px white;
980
- }
981
-
982
- @keyframes shake {
983
- 0%, 100% {
984
- transform: translateX(0);
985
- }
986
- 20%, 60% {
987
- transform: translateX(-5px);
988
- }
989
- 40%, 80% {
990
- transform: translateX(5px);
991
- }
992
- }
993
- .TextField .shake {
994
- animation-duration: 0.5s;
995
- animation-fill-mode: both;
996
- animation-timing-function: ease-in-out;
997
- animation-name: shake;
998
773
  }
999
774
 
1000
775
  .ImageGallery {
@@ -1232,83 +1007,99 @@
1232
1007
  font-size: 24px;
1233
1008
  }
1234
1009
 
1235
- .animated {
1236
- transition: opacity 250ms ease;
1237
- opacity: 0;
1010
+ .Scrollable {
1011
+ max-height: 250px;
1012
+ max-width: 250px;
1013
+ padding-right: 5px;
1014
+ position: relative;
1015
+ display: flex;
1016
+ flex-flow: column;
1017
+ align-items: stretch;
1018
+ overflow: hidden;
1238
1019
  }
1239
1020
 
1240
- .animated.mounting, .animated.mounted {
1021
+ .Scrollable:hover > .scrollbar.auto {
1022
+ transition-delay: 0s;
1241
1023
  opacity: 1;
1242
1024
  }
1243
1025
 
1244
- .Modal {
1245
- display: block;
1246
- position: fixed;
1247
- top: 0;
1248
- left: 0;
1249
- right: 0;
1250
- bottom: 100%;
1026
+ .Scrollable .viewport {
1251
1027
  overflow-y: scroll;
1252
- transition: bottom 0ms linear;
1253
- transition-delay: 0.2s;
1028
+ overflow-x: scroll;
1029
+ max-height: 100%;
1030
+ scroll-behavior: smooth;
1031
+ scrollbar-width: none;
1254
1032
  }
1255
1033
 
1256
- .Modal.show {
1257
- transition-delay: 0s;
1258
- bottom: 0;
1034
+ .Scrollable .viewport::-webkit-scrollbar {
1035
+ display: none;
1259
1036
  }
1260
1037
 
1261
- .Modal > .overlay {
1262
- position: fixed;
1263
- top: 0;
1264
- bottom: 100%;
1265
- left: 0;
1266
- right: 0;
1038
+ .Scrollable.without-scroll-horizontal {
1039
+ max-width: unset;
1040
+ }
1041
+
1042
+ .Scrollable.without-scroll {
1043
+ padding-right: 0;
1044
+ max-height: unset;
1045
+ }
1046
+
1047
+ .Scrollable.without-scroll > .viewport {
1048
+ padding-right: 0;
1049
+ margin-right: 0;
1050
+ }
1051
+
1052
+ .Scrollable.without-scroll > .scrollbar {
1053
+ visibility: hidden;
1054
+ }
1055
+
1056
+ .Scrollable .scrollbar {
1057
+ position: absolute;
1058
+ right: 0px;
1059
+ top: 0px;
1060
+ width: 5px;
1267
1061
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1268
- opacity: 0;
1269
- background-color: black;
1270
- pointer-events: none;
1062
+ transition-delay: 0.5s;
1063
+ z-index: 1;
1271
1064
  }
1272
1065
 
1273
- .Modal > .overlay.show {
1274
- opacity: 0.5;
1275
- bottom: 0;
1066
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1067
+ opacity: 0;
1276
1068
  }
1277
1069
 
1278
- .Modal > .content {
1279
- left: 50%;
1280
- top: 10vh;
1281
- margin-bottom: 10vh;
1282
- font-size: 16px;
1283
- padding: 0;
1284
- opacity: 0;
1285
- transition: opacity 0.25s ease, transform 0.25s ease;
1286
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1287
- transform-origin: top;
1070
+ .Scrollable .scrollbar .thumb {
1071
+ background-color: rgba(0, 0, 0, 0.3);
1072
+ width: 5px;
1288
1073
  position: absolute;
1074
+ right: 0px;
1075
+ top: 0px;
1076
+ user-select: none;
1077
+ will-change: top;
1289
1078
  border-radius: 2px;
1290
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1291
1079
  }
1292
1080
 
1293
- .Modal > .content.show {
1294
- opacity: 1;
1295
- transform: scaleY(1) translateY(0px) translateX(-50%);
1081
+ .Scrollable .scrollbar .thumb:hover {
1082
+ background-color: rgba(0, 0, 0, 0.5);
1296
1083
  }
1297
1084
 
1298
- .Modal > .content > .Scrollable {
1299
- overflow: visible;
1300
- max-height: 80vh;
1085
+ .Scrollable .scrollbar .thumb:active {
1086
+ background-color: rgba(0, 0, 0, 0.7);
1301
1087
  }
1302
1088
 
1303
- .Modal > .content > .Scrollable > .viewport {
1304
- min-width: 10px;
1305
- min-height: 10px;
1089
+ .Scrollable .scrollbar.horizontal {
1090
+ left: 0px;
1091
+ right: 0px;
1092
+ height: 5px;
1093
+ bottom: 0;
1094
+ width: unset;
1095
+ top: unset;
1306
1096
  }
1307
1097
 
1308
- .Modal > .content > .Button.close {
1309
- top: 10px;
1310
- right: 10px;
1311
- position: absolute;
1098
+ .Scrollable .scrollbar.horizontal .thumb {
1099
+ height: 5px;
1100
+ left: 0px;
1101
+ bottom: 0px;
1102
+ will-change: left;
1312
1103
  }
1313
1104
 
1314
1105
  .Dropzone {
@@ -1371,6 +1162,181 @@
1371
1162
  z-index: 1;
1372
1163
  }
1373
1164
 
1165
+ .Switch {
1166
+ display: inline-flex;
1167
+ padding-top: 5px;
1168
+ }
1169
+
1170
+ .Switch .switch-input {
1171
+ display: none;
1172
+ }
1173
+
1174
+ .Switch .switch-label {
1175
+ position: relative;
1176
+ display: inline-flex;
1177
+ align-items: center;
1178
+ min-width: 38px;
1179
+ height: 24px;
1180
+ cursor: pointer;
1181
+ font-weight: 500;
1182
+ text-align: left;
1183
+ user-select: none;
1184
+ margin: 0;
1185
+ padding: 0;
1186
+ padding-left: 44px;
1187
+ box-sizing: border-box;
1188
+ }
1189
+
1190
+ .Switch .switch-label:before, .Switch .switch-label:after {
1191
+ content: "";
1192
+ box-sizing: border-box;
1193
+ position: absolute;
1194
+ margin: 0;
1195
+ outline: 0;
1196
+ top: 50%;
1197
+ transform: translate(0, -50%);
1198
+ transition: all 0.3s ease;
1199
+ }
1200
+
1201
+ .Switch .switch-label:before {
1202
+ left: 1px;
1203
+ width: 34px;
1204
+ height: 14px;
1205
+ background-color: #9E9E9E;
1206
+ border-radius: 8px;
1207
+ }
1208
+
1209
+ .Switch .switch-label:after {
1210
+ left: 0;
1211
+ width: 20px;
1212
+ height: 20px;
1213
+ background-color: #FAFAFA;
1214
+ border-radius: 50%;
1215
+ 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);
1216
+ }
1217
+
1218
+ .Switch .switch-label .toggle--on {
1219
+ display: none;
1220
+ }
1221
+
1222
+ .Switch .switch-label .toggle--off {
1223
+ display: inline-block;
1224
+ }
1225
+
1226
+ .Switch .switch-label .label {
1227
+ margin-right: 5px;
1228
+ }
1229
+
1230
+ .Switch .switch-input:checked + .switch-label:before {
1231
+ background-color: #A5D6A7;
1232
+ }
1233
+
1234
+ .Switch .switch-input:checked + .switch-label:after {
1235
+ background-color: #4CAF50;
1236
+ transform: translate(80%, -50%);
1237
+ }
1238
+
1239
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1240
+ display: inline-block;
1241
+ }
1242
+
1243
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1244
+ display: none;
1245
+ }
1246
+
1247
+ .FormUploadProgress {
1248
+ position: absolute;
1249
+ left: 0;
1250
+ right: 0;
1251
+ top: 0;
1252
+ bottom: 0;
1253
+ background-color: rgba(255, 255, 255, 0.6);
1254
+ z-index: 2;
1255
+ }
1256
+
1257
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1258
+ transition-delay: 500ms;
1259
+ }
1260
+
1261
+ .FormUploadProgress .wrapper {
1262
+ position: sticky;
1263
+ top: 40%;
1264
+ margin-top: 40%;
1265
+ margin-left: 50%;
1266
+ transform: translateX(-50%);
1267
+ display: flex;
1268
+ flex-flow: column;
1269
+ justify-content: center;
1270
+ align-items: center;
1271
+ }
1272
+
1273
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1274
+ position: absolute;
1275
+ width: 107px;
1276
+ height: 107px;
1277
+ top: 0;
1278
+ left: 0;
1279
+ }
1280
+
1281
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1282
+ stroke: #2196F3;
1283
+ }
1284
+
1285
+ .FormUploadProgress .wrapper > .progress {
1286
+ width: 107px;
1287
+ height: 107px;
1288
+ min-height: 107px;
1289
+ display: flex;
1290
+ justify-content: center;
1291
+ align-items: center;
1292
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1293
+ border-radius: 50%;
1294
+ background: white;
1295
+ position: relative;
1296
+ }
1297
+
1298
+ .FormUploadProgress .wrapper > .progress > .value {
1299
+ display: inline-block;
1300
+ margin-top: 5px;
1301
+ font-weight: bold;
1302
+ line-height: 16px;
1303
+ font-size: 13px;
1304
+ text-align: center;
1305
+ color: #818181;
1306
+ }
1307
+
1308
+ .FormUploadProgress .wrapper .cancel {
1309
+ min-width: 107px;
1310
+ margin-top: 20px;
1311
+ background-color: white;
1312
+ color: #F96B5C;
1313
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1314
+ }
1315
+
1316
+ .Button.FloatingActionButton {
1317
+ position: absolute;
1318
+ right: 16px;
1319
+ bottom: 16px;
1320
+ width: 56px;
1321
+ height: 56px;
1322
+ padding: 16px;
1323
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1324
+ }
1325
+
1326
+ .Button.FloatingActionButton.raised {
1327
+ 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);
1328
+ }
1329
+
1330
+ .Button.FloatingActionButton.mini {
1331
+ width: 40px;
1332
+ height: 40px;
1333
+ padding: 8px;
1334
+ }
1335
+
1336
+ .Button.FloatingActionButton.hidden {
1337
+ bottom: -100px;
1338
+ }
1339
+
1374
1340
  .SpinningProgress {
1375
1341
  width: 48px;
1376
1342
  height: 48px;
@@ -1469,6 +1435,24 @@
1469
1435
  color: #bf3727;
1470
1436
  }
1471
1437
 
1438
+ .DNDContainer .DroppableList .Draggable {
1439
+ transform: unset;
1440
+ transition: unset;
1441
+ opacity: 1;
1442
+ }
1443
+
1444
+ .DNDContainer .DroppableList .Draggable.dragged {
1445
+ transition: unset !important;
1446
+ }
1447
+
1448
+ .DNDContainer .DroppableList.hover .Draggable {
1449
+ transition: transform 0.2s ease-in;
1450
+ }
1451
+
1452
+ .DNDContainer .DroppableList.resetting .Draggable {
1453
+ transition: transform 0.1s ease-in;
1454
+ }
1455
+
1472
1456
  .ModalMenu {
1473
1457
  position: absolute;
1474
1458
  top: 10px;
@@ -1499,138 +1483,154 @@
1499
1483
  background: #EBEBEB;
1500
1484
  }
1501
1485
 
1502
- .ModalMenu .separator {
1503
- height: 24px;
1504
- width: 1px;
1505
- background-color: #D9D9D9;
1506
- margin-left: 4px;
1486
+ .ModalMenu .separator {
1487
+ height: 24px;
1488
+ width: 1px;
1489
+ background-color: #D9D9D9;
1490
+ margin-left: 4px;
1491
+ }
1492
+
1493
+ .TextField {
1494
+ position: relative;
1495
+ width: 100%;
1496
+ }
1497
+
1498
+ .TextField > label {
1499
+ font-family: Roboto, sans-serif;
1500
+ color: rgba(0, 0, 0, 0.3);
1501
+ font-size: 16px;
1502
+ position: absolute;
1503
+ left: 0px;
1504
+ top: 16px;
1505
+ margin-top: -16px;
1506
+ transition: all 0.2s ease;
1507
+ user-select: none;
1508
+ cursor: text;
1509
+ }
1510
+
1511
+ .TextField > input {
1512
+ font-family: Roboto, sans-serif;
1513
+ color: #1e252d;
1514
+ height: 19px;
1515
+ font-size: 16px;
1516
+ width: 100%;
1517
+ border: 0px;
1518
+ padding-bottom: 4px;
1519
+ padding-top: 0;
1520
+ outline-color: rgba(0, 0, 0, 0);
1507
1521
  }
1508
1522
 
1509
- .DropFileInput {
1510
- flex-grow: 1;
1523
+ .TextField > input:focus {
1524
+ outline: none;
1511
1525
  }
1512
1526
 
1513
- .DropFileInput .Dropzone {
1514
- border: 1px dashed #808080;
1515
- padding: 12px;
1516
- display: flex;
1517
- flex-flow: row nowrap;
1518
- justify-content: center;
1519
- align-items: center;
1527
+ .TextField > input:disabled {
1520
1528
  color: gray;
1521
- cursor: pointer;
1522
- border-radius: 3px;
1523
- font-weight: normal;
1524
- line-height: 22px;
1525
- font-size: 14px;
1526
- color: #7E7E7E;
1527
- max-width: 100%;
1528
- word-break: break-all;
1529
- word-break: break-word;
1530
- }
1531
-
1532
- .DropFileInput .Dropzone .icon.withText {
1533
- margin-right: 10px;
1529
+ background-color: white;
1534
1530
  }
1535
1531
 
1536
- .Switch {
1537
- display: inline-flex;
1538
- padding-top: 5px;
1532
+ .TextField > input:disabled + .border {
1533
+ height: 0px;
1534
+ border-bottom: 2px dotted rgb(224, 224, 224);
1539
1535
  }
1540
1536
 
1541
- .Switch .switch-input {
1542
- display: none;
1537
+ .TextField > input::placeholder {
1538
+ font-family: Roboto, sans-serif;
1539
+ color: rgba(0, 0, 0, 0.3);
1540
+ opacity: 1;
1543
1541
  }
1544
1542
 
1545
- .Switch .switch-label {
1543
+ .TextField > .border {
1544
+ border-bottom: 1px solid rgb(224, 224, 224);
1545
+ height: 1px;
1546
1546
  position: relative;
1547
- display: inline-flex;
1548
- align-items: center;
1549
- min-width: 38px;
1550
- height: 24px;
1551
- cursor: pointer;
1552
- font-weight: 500;
1553
- text-align: left;
1554
- user-select: none;
1555
- margin: 0;
1556
- padding: 0;
1557
- padding-left: 44px;
1558
- box-sizing: border-box;
1559
1547
  }
1560
1548
 
1561
- .Switch .switch-label:before, .Switch .switch-label:after {
1562
- content: "";
1563
- box-sizing: border-box;
1549
+ .TextField > .border .line {
1550
+ left: 50%;
1551
+ width: 0;
1552
+ height: 2px;
1553
+ min-height: 2px;
1554
+ background-color: rgb(0, 188, 212);
1555
+ transition: all 0.2s ease;
1564
1556
  position: absolute;
1565
- margin: 0;
1566
- outline: 0;
1567
- top: 50%;
1568
- transform: translate(0, -50%);
1569
- transition: all 0.3s ease;
1570
1557
  }
1571
1558
 
1572
- .Switch .switch-label:before {
1573
- left: 1px;
1574
- width: 34px;
1575
- height: 14px;
1576
- background-color: #9E9E9E;
1577
- border-radius: 8px;
1559
+ .TextField > .error {
1560
+ text-align: left;
1561
+ font-size: 10px;
1562
+ min-height: 0;
1563
+ line-height: 14px;
1564
+ color: rgb(244, 67, 54);
1565
+ visibility: hidden;
1566
+ opacity: 0;
1567
+ transition: all 0.2s ease;
1578
1568
  }
1579
1569
 
1580
- .Switch .switch-label:after {
1581
- left: 0;
1582
- width: 20px;
1583
- height: 20px;
1584
- background-color: #FAFAFA;
1585
- border-radius: 50%;
1586
- 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);
1570
+ .TextField.focused > label, .TextField.withValue > label {
1571
+ top: 4px;
1572
+ font-size: 12px;
1573
+ line-height: 14px;
1587
1574
  }
1588
1575
 
1589
- .Switch .switch-label .toggle--on {
1590
- display: none;
1576
+ .TextField.errored > .error {
1577
+ visibility: visible;
1578
+ opacity: 1;
1591
1579
  }
1592
1580
 
1593
- .Switch .switch-label .toggle--off {
1594
- display: inline-block;
1581
+ .TextField.errored > .border {
1582
+ border-bottom-color: rgb(244, 67, 54);
1595
1583
  }
1596
1584
 
1597
- .Switch .switch-label .label {
1598
- margin-right: 5px;
1585
+ .TextField.errored > label {
1586
+ color: rgb(244, 67, 54);
1599
1587
  }
1600
1588
 
1601
- .Switch .switch-input:checked + .switch-label:before {
1602
- background-color: #A5D6A7;
1589
+ .TextField.focused > label {
1590
+ color: rgb(0, 188, 212);
1603
1591
  }
1604
1592
 
1605
- .Switch .switch-input:checked + .switch-label:after {
1606
- background-color: #4CAF50;
1607
- transform: translate(80%, -50%);
1593
+ .TextField.focused > .border .line {
1594
+ left: 0;
1595
+ width: 100%;
1608
1596
  }
1609
1597
 
1610
- .Switch .switch-input:checked + .switch-label .toggle--on {
1611
- display: inline-block;
1598
+ .TextField.disabled label, .TextField.disabled input {
1599
+ cursor: not-allowed;
1612
1600
  }
1613
1601
 
1614
- .Switch .switch-input:checked + .switch-label .toggle--off {
1615
- display: none;
1602
+ .TextField.withLabel {
1603
+ margin-top: 15px;
1616
1604
  }
1617
1605
 
1618
- .DNDContainer .DroppableList .Draggable {
1619
- transform: unset;
1620
- transition: unset;
1621
- opacity: 1;
1606
+ .TextField input::-webkit-contacts-auto-fill-button {
1607
+ visibility: hidden;
1608
+ display: none !important;
1609
+ pointer-events: none;
1610
+ position: absolute;
1611
+ right: 0;
1622
1612
  }
1623
1613
 
1624
- .DNDContainer .DroppableList .Draggable.dragged {
1625
- transition: unset !important;
1614
+ .TextField input:-webkit-autofill {
1615
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1626
1616
  }
1627
1617
 
1628
- .DNDContainer .DroppableList.hover .Draggable {
1629
- transition: transform 0.2s ease-in;
1618
+ @keyframes shake {
1619
+ 0%, 100% {
1620
+ transform: translateX(0);
1621
+ }
1622
+ 20%, 60% {
1623
+ transform: translateX(-5px);
1624
+ }
1625
+ 40%, 80% {
1626
+ transform: translateX(5px);
1627
+ }
1630
1628
  }
1631
-
1632
- .DNDContainer .DroppableList.resetting .Draggable {
1633
- transition: transform 0.1s ease-in;
1629
+ .TextField .shake {
1630
+ animation-duration: 0.5s;
1631
+ animation-fill-mode: both;
1632
+ animation-timing-function: ease-in-out;
1633
+ animation-name: shake;
1634
1634
  }
1635
1635
 
1636
1636
  .CalendarMonthView {
@@ -1658,14 +1658,6 @@
1658
1658
  height: 100%;
1659
1659
  }
1660
1660
 
1661
- .ScrollableTable .Scrollable .scrollbar {
1662
- top: 56px;
1663
- }
1664
-
1665
- .ScrollableTable .Table {
1666
- position: static;
1667
- }
1668
-
1669
1661
  .DatePicker {
1670
1662
  position: relative;
1671
1663
  }
@@ -1783,6 +1775,38 @@
1783
1775
  background-color: #51adf6;
1784
1776
  }
1785
1777
 
1778
+ .DNDContainer {
1779
+ position: relative;
1780
+ }
1781
+
1782
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1783
+ cursor: pointer;
1784
+ }
1785
+
1786
+ .DNDContainer .Draggable.placeholder {
1787
+ opacity: 0.2;
1788
+ }
1789
+
1790
+ .DNDContainer .Draggable.copy {
1791
+ position: absolute;
1792
+ box-sizing: border-box;
1793
+ will-change: transform;
1794
+ opacity: 0;
1795
+ }
1796
+
1797
+ .DNDContainer .Draggable.dragged {
1798
+ z-index: 10;
1799
+ }
1800
+
1801
+ .DNDContainer .overlay {
1802
+ position: absolute;
1803
+ top: 0;
1804
+ left: 0;
1805
+ right: 0;
1806
+ bottom: 0;
1807
+ pointer-events: none;
1808
+ }
1809
+
1786
1810
  .Table {
1787
1811
  font-family: Roboto, sans-serif;
1788
1812
  font-size: 14px;
@@ -1905,34 +1929,10 @@
1905
1929
  margin: 0;
1906
1930
  }
1907
1931
 
1908
- .DNDContainer {
1909
- position: relative;
1910
- }
1911
-
1912
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1913
- cursor: pointer;
1914
- }
1915
-
1916
- .DNDContainer .Draggable.placeholder {
1917
- opacity: 0.2;
1918
- }
1919
-
1920
- .DNDContainer .Draggable.copy {
1921
- position: absolute;
1922
- box-sizing: border-box;
1923
- will-change: transform;
1924
- opacity: 0;
1925
- }
1926
-
1927
- .DNDContainer .Draggable.dragged {
1928
- z-index: 10;
1932
+ .ScrollableTable .Scrollable .scrollbar {
1933
+ top: 56px;
1929
1934
  }
1930
1935
 
1931
- .DNDContainer .overlay {
1932
- position: absolute;
1933
- top: 0;
1934
- left: 0;
1935
- right: 0;
1936
- bottom: 0;
1937
- pointer-events: none;
1936
+ .ScrollableTable .Table {
1937
+ position: static;
1938
1938
  }