react-ui-basics 0.0.209 → 0.0.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/Checkbox.d.ts +16 -0
  5. package/Checkbox.js +14 -52
  6. package/Checkbox.js.map +1 -1
  7. package/CircleProgress.d.ts +12 -0
  8. package/CircleProgress.js +8 -31
  9. package/CircleProgress.js.map +1 -1
  10. package/CommonFields.d.ts +18 -0
  11. package/CommonFields.js +18 -20
  12. package/CommonFields.js.map +1 -1
  13. package/DNDDraggable.js.map +1 -1
  14. package/DNDDroppable.js.map +1 -1
  15. package/Dialog.js.map +1 -1
  16. package/DropFileInput.d.ts +20 -0
  17. package/DropFileInput.js +6 -37
  18. package/DropFileInput.js.map +1 -1
  19. package/DroppableHorizontalList.js.map +1 -1
  20. package/DroppableList.js.map +1 -1
  21. package/Dropzone.js.map +1 -1
  22. package/FilteredList.js.map +1 -1
  23. package/FloatingActionButton.d.ts +19 -0
  24. package/FloatingActionButton.js +7 -28
  25. package/FloatingActionButton.js.map +1 -1
  26. package/FormUploadProgress.js.map +1 -1
  27. package/ImageGallery.js +7 -6
  28. package/ImageGallery.js.map +1 -1
  29. package/MaterialIcon.d.ts +11 -0
  30. package/MaterialIcon.js +3 -18
  31. package/MaterialIcon.js.map +1 -1
  32. package/Modal.js.map +1 -1
  33. package/ModalMenu.d.ts +15 -0
  34. package/ModalMenu.js +23 -62
  35. package/ModalMenu.js.map +1 -1
  36. package/ReadyListener.js.map +1 -1
  37. package/Scrollable.css +3 -0
  38. package/Scrollable.js.map +1 -1
  39. package/Size.d.ts +8 -0
  40. package/Size.js +36 -35
  41. package/Size.js.map +1 -1
  42. package/Snackbar.d.ts +12 -0
  43. package/Snackbar.js +40 -62
  44. package/Snackbar.js.map +1 -1
  45. package/SpinningProgress.d.ts +4 -0
  46. package/SpinningProgress.js +3 -18
  47. package/SpinningProgress.js.map +1 -1
  48. package/Switch.d.ts +17 -0
  49. package/Switch.js +13 -60
  50. package/Switch.js.map +1 -1
  51. package/Table.js +1 -1
  52. package/Table.js.map +1 -1
  53. package/TextField.js.map +1 -1
  54. package/Tools.d.ts +1 -1
  55. package/Tools.js.map +1 -1
  56. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  57. package/bundle.css +756 -752
  58. package/package.json +22 -22
  59. package/router/HistoryTools.js.map +1 -1
  60. package/router/Link.js.map +1 -1
  61. package/router/NavLink.js.map +1 -1
  62. package/router/Route.js.map +1 -1
  63. package/src/Checkbox.tsx +37 -0
  64. package/src/CircleProgress.tsx +29 -0
  65. package/src/{CommonFields.js → CommonFields.ts} +1 -1
  66. package/src/DropFileInput.tsx +32 -0
  67. package/src/FloatingActionButton.tsx +28 -0
  68. package/src/MaterialIcon.tsx +1830 -0
  69. package/src/{ModalMenu.js → ModalMenu.tsx} +18 -9
  70. package/src/Scrollable.css +3 -0
  71. package/src/Scrollable.scss +4 -0
  72. package/src/{Size.js → Size.tsx} +24 -22
  73. package/src/{Snackbar.js → Snackbar.tsx} +22 -16
  74. package/src/SpinningProgress.tsx +13 -0
  75. package/src/Switch.tsx +42 -0
  76. package/src/Table.tsx +1 -1
  77. package/src/Tools.ts +1 -1
  78. package/store/ProxyTools.js.map +1 -1
  79. package/src/Checkbox.js +0 -46
  80. package/src/CircleProgress.js +0 -32
  81. package/src/DropFileInput.js +0 -39
  82. package/src/FloatingActionButton.js +0 -29
  83. package/src/MaterialIcon.js +0 -1832
  84. package/src/SpinningProgress.js +0 -13
  85. package/src/Switch.js +0 -48
package/bundle.css CHANGED
@@ -1,3 +1,12 @@
1
+ .animated {
2
+ transition: opacity 250ms ease;
3
+ opacity: 0;
4
+ }
5
+
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
8
+ }
9
+
1
10
  .AutocompleteSelect {
2
11
  display: inline-flex;
3
12
  flex-flow: column;
@@ -293,6 +302,151 @@
293
302
  position: absolute;
294
303
  }
295
304
 
305
+ .Dropzone {
306
+ position: relative;
307
+ }
308
+
309
+ .Dropzone > .overlay {
310
+ position: absolute;
311
+ left: 0;
312
+ right: 0;
313
+ top: 0;
314
+ bottom: 0;
315
+ background-color: #38ADC4;
316
+ z-index: 1;
317
+ opacity: 0;
318
+ transition: all 0.2s ease;
319
+ transition-delay: 100ms;
320
+ visibility: hidden;
321
+ display: flex;
322
+ justify-content: center;
323
+ align-items: center;
324
+ }
325
+
326
+ .Dropzone > .overlay .drop {
327
+ border-radius: 4px;
328
+ border: 1px dashed #FFFFFF;
329
+ position: absolute;
330
+ top: 18px;
331
+ left: 18px;
332
+ right: 18px;
333
+ bottom: 18px;
334
+ display: flex;
335
+ justify-content: center;
336
+ align-items: center;
337
+ font-weight: 500;
338
+ font-size: 18px;
339
+ color: #FFFFFF;
340
+ }
341
+
342
+ .Dropzone.dragging > .overlay {
343
+ opacity: 0.7;
344
+ visibility: visible;
345
+ transition-delay: 0s;
346
+ }
347
+
348
+ .Dropzone.dragging > * {
349
+ pointer-events: none;
350
+ }
351
+
352
+ .Dropzone > input.file {
353
+ position: absolute;
354
+ left: 0;
355
+ right: 0;
356
+ top: 0;
357
+ bottom: 0;
358
+ width: 100%;
359
+ height: 100%;
360
+ opacity: 0;
361
+ cursor: pointer;
362
+ z-index: 1;
363
+ }
364
+
365
+ .FilteredList {
366
+ max-height: 250px;
367
+ position: relative;
368
+ }
369
+
370
+ .FilteredList.popup {
371
+ padding: 0;
372
+ visibility: hidden;
373
+ position: absolute;
374
+ background: white;
375
+ z-index: 4;
376
+ 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);
377
+ transition: all 0.2s ease-out;
378
+ top: calc(100% + 4px);
379
+ opacity: 0;
380
+ border-radius: 2px;
381
+ }
382
+
383
+ .FilteredList.popup.visible {
384
+ opacity: 1;
385
+ visibility: visible;
386
+ }
387
+
388
+ .FilteredList.portal {
389
+ transition: opacity 0.2s ease-out;
390
+ }
391
+
392
+ .FilteredList.inline {
393
+ max-height: 225px;
394
+ margin-top: 5px;
395
+ }
396
+
397
+ .FilteredList .child {
398
+ display: flex;
399
+ flex-flow: row nowrap;
400
+ align-items: center;
401
+ white-space: nowrap;
402
+ font-size: 14px;
403
+ color: rgb(34, 34, 34);
404
+ height: 30px;
405
+ padding: 5px 10px;
406
+ padding-right: 15px;
407
+ cursor: pointer;
408
+ overflow: hidden;
409
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
410
+ border-left: 5px solid #4AC263;
411
+ padding-left: 15px;
412
+ margin-left: -5px;
413
+ }
414
+
415
+ .FilteredList .child.hidden {
416
+ height: 0 !important;
417
+ padding: 0 !important;
418
+ }
419
+
420
+ .FilteredList .child.selected {
421
+ background-color: #F0F0F0;
422
+ padding-left: 10px;
423
+ margin-left: 0px;
424
+ }
425
+
426
+ .FilteredList .child.active {
427
+ background-color: rgb(238, 238, 238);
428
+ }
429
+
430
+ .FilteredList .child {
431
+ margin-top: 8px;
432
+ }
433
+
434
+ .FilteredList .child.hidden {
435
+ margin-top: 0;
436
+ }
437
+
438
+ .FilteredList .child:not(.hidden) ~ .child {
439
+ margin-top: 0;
440
+ }
441
+
442
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
443
+ margin-bottom: 8px;
444
+ }
445
+
446
+ .FilteredList .child:not(.hidden):last-child {
447
+ margin-bottom: 8px;
448
+ }
449
+
296
450
  .Button {
297
451
  position: relative;
298
452
  min-width: 64px;
@@ -459,220 +613,115 @@
459
613
  border: 0;
460
614
  }
461
615
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
616
+ .DialogModal {
617
+ overflow: hidden;
465
618
  }
466
619
 
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
620
+ .DialogModal .content {
621
+ top: 20vh;
469
622
  }
470
623
 
471
- .Checkbox {
472
- position: relative;
473
- white-space: pre;
624
+ .Dialog {
625
+ background-color: white;
626
+ min-width: 460px;
627
+ max-width: 40vw;
628
+ padding: 15px;
474
629
  }
475
630
 
476
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
477
- box-sizing: border-box;
631
+ .Dialog .title {
632
+ margin-bottom: 15px;
633
+ padding: 20px 50px 0px 30px;
634
+ font-size: 1.25rem;
635
+ line-height: 2rem;
636
+ font-weight: 400;
637
+ letter-spacing: 0.0125em;
478
638
  }
479
639
 
480
- .Checkbox label {
481
- font-family: Roboto, sans-serif;
482
- font-size: 14px;
483
- color: #1e252d;
484
- cursor: pointer;
640
+ .Dialog .description {
641
+ color: rgba(0, 0, 0, 0.54);
642
+ font-size: 1rem;
643
+ line-height: 1.5rem;
644
+ font-weight: 400;
645
+ letter-spacing: 0.03125em;
646
+ margin-top: 20px;
647
+ padding: 0 24px 24px;
485
648
  }
486
649
 
487
- .Checkbox label:before, .Checkbox label:after {
488
- content: "";
650
+ .Dialog > div.row {
651
+ margin-bottom: 15px;
652
+ }
653
+
654
+ .Dialog > div.row:last-child {
655
+ margin-bottom: 0;
656
+ }
657
+
658
+ .FormUploadProgress {
489
659
  position: absolute;
490
660
  left: 0;
661
+ right: 0;
491
662
  top: 0;
663
+ bottom: 0;
664
+ background-color: rgba(255, 255, 255, 0.6);
665
+ z-index: 2;
492
666
  }
493
667
 
494
- .Checkbox label:before {
495
- width: 20px;
496
- height: 20px;
497
- background: #fff;
498
- border: 2px solid #252525;
499
- border-radius: 2px;
500
- cursor: pointer;
501
- transition: background 0.3s;
502
- }
503
-
504
- .Checkbox input[type=checkbox] {
505
- outline: 0;
506
- margin-right: 10px;
507
- visibility: hidden;
668
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
669
+ transition-delay: 500ms;
508
670
  }
509
671
 
510
- .Checkbox input[type=checkbox]:checked + label:before {
511
- background: #4AC263;
512
- border: none;
672
+ .FormUploadProgress .wrapper {
673
+ position: sticky;
674
+ top: 40%;
675
+ margin-top: 40%;
676
+ margin-left: 50%;
677
+ transform: translateX(-50%);
678
+ display: flex;
679
+ flex-flow: column;
680
+ justify-content: center;
681
+ align-items: center;
513
682
  }
514
683
 
515
- .Checkbox input[type=checkbox]:checked + label:after {
516
- transform: rotate(-45deg);
517
- top: 6px;
518
- left: 4px;
519
- width: 12px;
520
- height: 6px;
521
- border: 2px solid #fff;
522
- border-top-style: none;
523
- border-right-style: none;
684
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
685
+ position: absolute;
686
+ width: 107px;
687
+ height: 107px;
688
+ top: 0;
689
+ left: 0;
524
690
  }
525
691
 
526
- .Checkbox input[type=checkbox]:disabled + label {
527
- color: gray;
692
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
693
+ stroke: #2196F3;
528
694
  }
529
695
 
530
- .Checkbox input[type=checkbox]:disabled + label:before {
531
- border-color: rgba(0, 0, 0, 0.26);
532
- }
533
-
534
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
535
- background: rgba(0, 0, 0, 0.26);
536
- }
537
-
538
- .FilteredList {
539
- max-height: 250px;
540
- position: relative;
541
- }
542
-
543
- .FilteredList.popup {
544
- padding: 0;
545
- visibility: hidden;
546
- position: absolute;
547
- background: white;
548
- z-index: 4;
549
- 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);
550
- transition: all 0.2s ease-out;
551
- top: calc(100% + 4px);
552
- opacity: 0;
553
- border-radius: 2px;
554
- }
555
-
556
- .FilteredList.popup.visible {
557
- opacity: 1;
558
- visibility: visible;
559
- }
560
-
561
- .FilteredList.portal {
562
- transition: opacity 0.2s ease-out;
563
- }
564
-
565
- .FilteredList.inline {
566
- max-height: 225px;
567
- margin-top: 5px;
568
- }
569
-
570
- .FilteredList .child {
696
+ .FormUploadProgress .wrapper > .progress {
697
+ width: 107px;
698
+ height: 107px;
699
+ min-height: 107px;
571
700
  display: flex;
572
- flex-flow: row nowrap;
701
+ justify-content: center;
573
702
  align-items: center;
574
- white-space: nowrap;
575
- font-size: 14px;
576
- color: rgb(34, 34, 34);
577
- height: 30px;
578
- padding: 5px 10px;
579
- padding-right: 15px;
580
- cursor: pointer;
581
- overflow: hidden;
582
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
583
- border-left: 5px solid #4AC263;
584
- padding-left: 15px;
585
- margin-left: -5px;
586
- }
587
-
588
- .FilteredList .child.hidden {
589
- height: 0 !important;
590
- padding: 0 !important;
591
- }
592
-
593
- .FilteredList .child.selected {
594
- background-color: #F0F0F0;
595
- padding-left: 10px;
596
- margin-left: 0px;
597
- }
598
-
599
- .FilteredList .child.active {
600
- background-color: rgb(238, 238, 238);
601
- }
602
-
603
- .FilteredList .child {
604
- margin-top: 8px;
605
- }
606
-
607
- .FilteredList .child.hidden {
608
- margin-top: 0;
609
- }
610
-
611
- .FilteredList .child:not(.hidden) ~ .child {
612
- margin-top: 0;
613
- }
614
-
615
- .FilteredList .child:not(.hidden) ~ .child:last-child {
616
- margin-bottom: 8px;
617
- }
618
-
619
- .FilteredList .child:not(.hidden):last-child {
620
- margin-bottom: 8px;
621
- }
622
-
623
- .CircleProgress {
624
- width: 48px;
625
- height: 48px;
626
- }
627
-
628
- .CircleProgress .line {
629
- stroke-width: 2px;
630
- stroke: black;
631
- stroke-linecap: square;
632
- fill: none;
633
- transition: stroke-dashoffset 0.2s ease;
634
- }
635
-
636
- .DialogModal {
637
- overflow: hidden;
638
- }
639
-
640
- .DialogModal .content {
641
- top: 20vh;
642
- }
643
-
644
- .Dialog {
645
- background-color: white;
646
- min-width: 460px;
647
- max-width: 40vw;
648
- padding: 15px;
703
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
704
+ border-radius: 50%;
705
+ background: white;
706
+ position: relative;
649
707
  }
650
708
 
651
- .Dialog .title {
652
- margin-bottom: 15px;
653
- padding: 20px 50px 0px 30px;
654
- font-size: 1.25rem;
655
- line-height: 2rem;
656
- font-weight: 400;
657
- letter-spacing: 0.0125em;
709
+ .FormUploadProgress .wrapper > .progress > .value {
710
+ display: inline-block;
711
+ margin-top: 5px;
712
+ font-weight: bold;
713
+ line-height: 16px;
714
+ font-size: 13px;
715
+ text-align: center;
716
+ color: #818181;
658
717
  }
659
718
 
660
- .Dialog .description {
661
- color: rgba(0, 0, 0, 0.54);
662
- font-size: 1rem;
663
- line-height: 1.5rem;
664
- font-weight: 400;
665
- letter-spacing: 0.03125em;
719
+ .FormUploadProgress .wrapper .cancel {
720
+ min-width: 107px;
666
721
  margin-top: 20px;
667
- padding: 0 24px 24px;
668
- }
669
-
670
- .Dialog > div.row {
671
- margin-bottom: 15px;
672
- }
673
-
674
- .Dialog > div.row:last-child {
675
- margin-bottom: 0;
722
+ background-color: white;
723
+ color: #F96B5C;
724
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
676
725
  }
677
726
 
678
727
  .Scrollable {
@@ -707,6 +756,10 @@
707
756
  max-width: unset;
708
757
  }
709
758
 
759
+ .Scrollable.undefined-horizontal {
760
+ max-width: unset;
761
+ }
762
+
710
763
  .Scrollable.without-scroll {
711
764
  padding-right: 0;
712
765
  max-height: unset;
@@ -740,380 +793,36 @@
740
793
  width: 5px;
741
794
  position: absolute;
742
795
  right: 0px;
743
- top: 0px;
744
- user-select: none;
745
- will-change: top;
746
- border-radius: 2px;
747
- }
748
-
749
- .Scrollable .scrollbar .thumb:hover {
750
- background-color: rgba(0, 0, 0, 0.5);
751
- }
752
-
753
- .Scrollable .scrollbar .thumb:active {
754
- background-color: rgba(0, 0, 0, 0.7);
755
- }
756
-
757
- .Scrollable .scrollbar.horizontal {
758
- left: 0px;
759
- right: 0px;
760
- height: 5px;
761
- bottom: 0;
762
- width: unset;
763
- top: unset;
764
- }
765
-
766
- .Scrollable .scrollbar.horizontal .thumb {
767
- height: 5px;
768
- left: 0px;
769
- bottom: 0px;
770
- will-change: left;
771
- }
772
-
773
- .Button.FloatingActionButton {
774
- position: absolute;
775
- right: 16px;
776
- bottom: 16px;
777
- width: 56px;
778
- height: 56px;
779
- padding: 16px;
780
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
781
- }
782
-
783
- .Button.FloatingActionButton.raised {
784
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
785
- }
786
-
787
- .Button.FloatingActionButton.mini {
788
- width: 40px;
789
- height: 40px;
790
- padding: 8px;
791
- }
792
-
793
- .Button.FloatingActionButton.hidden {
794
- bottom: -100px;
795
- }
796
-
797
- .Dropzone {
798
- position: relative;
799
- }
800
-
801
- .Dropzone > .overlay {
802
- position: absolute;
803
- left: 0;
804
- right: 0;
805
- top: 0;
806
- bottom: 0;
807
- background-color: #38ADC4;
808
- z-index: 1;
809
- opacity: 0;
810
- transition: all 0.2s ease;
811
- transition-delay: 100ms;
812
- visibility: hidden;
813
- display: flex;
814
- justify-content: center;
815
- align-items: center;
816
- }
817
-
818
- .Dropzone > .overlay .drop {
819
- border-radius: 4px;
820
- border: 1px dashed #FFFFFF;
821
- position: absolute;
822
- top: 18px;
823
- left: 18px;
824
- right: 18px;
825
- bottom: 18px;
826
- display: flex;
827
- justify-content: center;
828
- align-items: center;
829
- font-weight: 500;
830
- font-size: 18px;
831
- color: #FFFFFF;
832
- }
833
-
834
- .Dropzone.dragging > .overlay {
835
- opacity: 0.7;
836
- visibility: visible;
837
- transition-delay: 0s;
838
- }
839
-
840
- .Dropzone.dragging > * {
841
- pointer-events: none;
842
- }
843
-
844
- .Dropzone > input.file {
845
- position: absolute;
846
- left: 0;
847
- right: 0;
848
- top: 0;
849
- bottom: 0;
850
- width: 100%;
851
- height: 100%;
852
- opacity: 0;
853
- cursor: pointer;
854
- z-index: 1;
855
- }
856
-
857
- .Modal {
858
- display: block;
859
- position: fixed;
860
- top: 0;
861
- left: 0;
862
- right: 0;
863
- bottom: 100%;
864
- overflow-y: scroll;
865
- transition: bottom 0ms linear;
866
- transition-delay: 0.2s;
867
- }
868
-
869
- .Modal.show {
870
- transition-delay: 0s;
871
- bottom: 0;
872
- }
873
-
874
- .Modal > .overlay {
875
- position: fixed;
876
- top: 0;
877
- bottom: 100%;
878
- left: 0;
879
- right: 0;
880
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
881
- opacity: 0;
882
- background-color: black;
883
- pointer-events: none;
884
- }
885
-
886
- .Modal > .overlay.show {
887
- opacity: 0.5;
888
- bottom: 0;
889
- }
890
-
891
- .Modal > .content {
892
- left: 50%;
893
- top: 10vh;
894
- margin-bottom: 10vh;
895
- font-size: 16px;
896
- padding: 0;
897
- opacity: 0;
898
- transition: opacity 0.25s ease, transform 0.25s ease;
899
- transform: scaleY(0) translateY(-200px) translateX(-50%);
900
- transform-origin: top;
901
- position: absolute;
902
- border-radius: 2px;
903
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
904
- }
905
-
906
- .Modal > .content.show {
907
- opacity: 1;
908
- transform: scaleY(1) translateY(0px) translateX(-50%);
909
- }
910
-
911
- .Modal > .content > .Scrollable {
912
- overflow: visible;
913
- max-height: 80vh;
914
- }
915
-
916
- .Modal > .content > .Scrollable > .viewport {
917
- min-width: 10px;
918
- min-height: 10px;
919
- }
920
-
921
- .Modal > .content > .Button.close {
922
- top: 10px;
923
- right: 10px;
924
- position: absolute;
925
- }
926
-
927
- .ModalMenu {
928
- position: absolute;
929
- top: 10px;
930
- right: 50px;
931
- }
932
-
933
- .ModalMenu .material-icons {
934
- color: #818181;
935
- }
936
-
937
- .ModalMenu .Button.animated {
938
- position: absolute;
939
- transition: opacity 150ms ease-in, right 200ms ease-in;
940
- opacity: 0;
941
- right: 0;
942
- top: 0;
943
- }
944
-
945
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
946
- opacity: 1;
947
- }
948
-
949
- .ModalMenu .Button.animated.unmounting {
950
- transition: opacity 100ms ease-out, right 200ms ease-out;
951
- }
952
-
953
- .ModalMenu .Button.active {
954
- background: #EBEBEB;
955
- }
956
-
957
- .ModalMenu .separator {
958
- height: 24px;
959
- width: 1px;
960
- background-color: #D9D9D9;
961
- margin-left: 4px;
962
- }
963
-
964
- .Switch {
965
- display: inline-flex;
966
- padding-top: 5px;
967
- }
968
-
969
- .Switch .switch-input {
970
- display: none;
971
- }
972
-
973
- .Switch .switch-label {
974
- position: relative;
975
- display: inline-flex;
976
- align-items: center;
977
- min-width: 38px;
978
- height: 24px;
979
- cursor: pointer;
980
- font-weight: 500;
981
- text-align: left;
982
- user-select: none;
983
- margin: 0;
984
- padding: 0;
985
- padding-left: 44px;
986
- box-sizing: border-box;
987
- }
988
-
989
- .Switch .switch-label:before, .Switch .switch-label:after {
990
- content: "";
991
- box-sizing: border-box;
992
- position: absolute;
993
- margin: 0;
994
- outline: 0;
995
- top: 50%;
996
- transform: translate(0, -50%);
997
- transition: all 0.3s ease;
998
- }
999
-
1000
- .Switch .switch-label:before {
1001
- left: 1px;
1002
- width: 34px;
1003
- height: 14px;
1004
- background-color: #9E9E9E;
1005
- border-radius: 8px;
1006
- }
1007
-
1008
- .Switch .switch-label:after {
1009
- left: 0;
1010
- width: 20px;
1011
- height: 20px;
1012
- background-color: #FAFAFA;
1013
- border-radius: 50%;
1014
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1015
- }
1016
-
1017
- .Switch .switch-label .toggle--on {
1018
- display: none;
1019
- }
1020
-
1021
- .Switch .switch-label .toggle--off {
1022
- display: inline-block;
1023
- }
1024
-
1025
- .Switch .switch-label .label {
1026
- margin-right: 5px;
1027
- }
1028
-
1029
- .Switch .switch-input:checked + .switch-label:before {
1030
- background-color: #A5D6A7;
1031
- }
1032
-
1033
- .Switch .switch-input:checked + .switch-label:after {
1034
- background-color: #4CAF50;
1035
- transform: translate(80%, -50%);
1036
- }
1037
-
1038
- .Switch .switch-input:checked + .switch-label .toggle--on {
1039
- display: inline-block;
1040
- }
1041
-
1042
- .Switch .switch-input:checked + .switch-label .toggle--off {
1043
- display: none;
1044
- }
1045
-
1046
- .DNDContainer .DroppableList .Draggable {
1047
- transform: unset;
1048
- transition: unset;
1049
- opacity: 1;
1050
- }
1051
-
1052
- .DNDContainer .DroppableList .Draggable.dragged {
1053
- transition: unset !important;
1054
- }
1055
-
1056
- .DNDContainer .DroppableList.hover .Draggable {
1057
- transition: transform 0.2s ease-in;
1058
- }
1059
-
1060
- .DNDContainer .DroppableList.resetting .Draggable {
1061
- transition: transform 0.1s ease-in;
796
+ top: 0px;
797
+ user-select: none;
798
+ will-change: top;
799
+ border-radius: 2px;
1062
800
  }
1063
801
 
1064
- .SpinningProgress {
1065
- width: 48px;
1066
- height: 48px;
1067
- position: relative;
1068
- margin: 0 auto;
802
+ .Scrollable .scrollbar .thumb:hover {
803
+ background-color: rgba(0, 0, 0, 0.5);
1069
804
  }
1070
805
 
1071
- .SpinningProgress:before {
1072
- content: "";
1073
- display: block;
1074
- padding-top: 100%;
806
+ .Scrollable .scrollbar .thumb:active {
807
+ background-color: rgba(0, 0, 0, 0.7);
1075
808
  }
1076
809
 
1077
- .SpinningProgress .circular {
1078
- animation: rotate 2s linear infinite;
1079
- height: 100%;
1080
- transform-origin: center center;
1081
- width: 100%;
1082
- position: absolute;
1083
- top: 0;
810
+ .Scrollable .scrollbar.horizontal {
811
+ left: 0px;
812
+ right: 0px;
813
+ height: 5px;
1084
814
  bottom: 0;
1085
- left: 0;
1086
- right: 0;
1087
- margin: auto;
815
+ width: unset;
816
+ top: unset;
1088
817
  }
1089
818
 
1090
- .SpinningProgress .line {
1091
- stroke: black;
1092
- stroke-width: 2px;
1093
- stroke-dasharray: 1, 96;
1094
- stroke-dashoffset: 0;
1095
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
819
+ .Scrollable .scrollbar.horizontal .thumb {
820
+ height: 5px;
821
+ left: 0px;
822
+ bottom: 0px;
823
+ will-change: left;
1096
824
  }
1097
825
 
1098
- @keyframes rotate {
1099
- 100% {
1100
- transform: rotate(360deg);
1101
- }
1102
- }
1103
- @keyframes dash {
1104
- 0% {
1105
- stroke-dasharray: 1, 96;
1106
- stroke-dashoffset: 0;
1107
- }
1108
- 50% {
1109
- stroke-dasharray: 43, 96;
1110
- stroke-dashoffset: -17px;
1111
- }
1112
- 100% {
1113
- stroke-dasharray: 43, 96;
1114
- stroke-dashoffset: -53px;
1115
- }
1116
- }
1117
826
  .ImageGallery {
1118
827
  position: fixed;
1119
828
  top: 0;
@@ -1349,6 +1058,94 @@
1349
1058
  font-size: 24px;
1350
1059
  }
1351
1060
 
1061
+ .DNDContainer .DroppableList .Draggable {
1062
+ transform: unset;
1063
+ transition: unset;
1064
+ opacity: 1;
1065
+ }
1066
+
1067
+ .DNDContainer .DroppableList .Draggable.dragged {
1068
+ transition: unset !important;
1069
+ }
1070
+
1071
+ .DNDContainer .DroppableList.hover .Draggable {
1072
+ transition: transform 0.2s ease-in;
1073
+ }
1074
+
1075
+ .DNDContainer .DroppableList.resetting .Draggable {
1076
+ transition: transform 0.1s ease-in;
1077
+ }
1078
+
1079
+ .Modal {
1080
+ display: block;
1081
+ position: fixed;
1082
+ top: 0;
1083
+ left: 0;
1084
+ right: 0;
1085
+ bottom: 100%;
1086
+ overflow-y: scroll;
1087
+ transition: bottom 0ms linear;
1088
+ transition-delay: 0.2s;
1089
+ }
1090
+
1091
+ .Modal.show {
1092
+ transition-delay: 0s;
1093
+ bottom: 0;
1094
+ }
1095
+
1096
+ .Modal > .overlay {
1097
+ position: fixed;
1098
+ top: 0;
1099
+ bottom: 100%;
1100
+ left: 0;
1101
+ right: 0;
1102
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1103
+ opacity: 0;
1104
+ background-color: black;
1105
+ pointer-events: none;
1106
+ }
1107
+
1108
+ .Modal > .overlay.show {
1109
+ opacity: 0.5;
1110
+ bottom: 0;
1111
+ }
1112
+
1113
+ .Modal > .content {
1114
+ left: 50%;
1115
+ top: 10vh;
1116
+ margin-bottom: 10vh;
1117
+ font-size: 16px;
1118
+ padding: 0;
1119
+ opacity: 0;
1120
+ transition: opacity 0.25s ease, transform 0.25s ease;
1121
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1122
+ transform-origin: top;
1123
+ position: absolute;
1124
+ border-radius: 2px;
1125
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1126
+ }
1127
+
1128
+ .Modal > .content.show {
1129
+ opacity: 1;
1130
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1131
+ }
1132
+
1133
+ .Modal > .content > .Scrollable {
1134
+ overflow: visible;
1135
+ max-height: 80vh;
1136
+ }
1137
+
1138
+ .Modal > .content > .Scrollable > .viewport {
1139
+ min-width: 10px;
1140
+ min-height: 10px;
1141
+ }
1142
+
1143
+ .Modal > .content > .Button.close {
1144
+ top: 10px;
1145
+ right: 10px;
1146
+ position: absolute;
1147
+ }
1148
+
1352
1149
  .TextField {
1353
1150
  position: relative;
1354
1151
  width: 100%;
@@ -1419,218 +1216,77 @@
1419
1216
  text-align: left;
1420
1217
  font-size: 10px;
1421
1218
  min-height: 0;
1422
- line-height: 14px;
1423
- color: rgb(244, 67, 54);
1424
- visibility: hidden;
1425
- opacity: 0;
1426
- transition: all 0.2s ease;
1427
- }
1428
-
1429
- .TextField.focused > label, .TextField.withValue > label {
1430
- top: 4px;
1431
- font-size: 12px;
1432
- line-height: 14px;
1433
- }
1434
-
1435
- .TextField.errored > .error {
1436
- visibility: visible;
1437
- opacity: 1;
1438
- }
1439
-
1440
- .TextField.errored > .border {
1441
- border-bottom-color: rgb(244, 67, 54);
1442
- }
1443
-
1444
- .TextField.errored > label {
1445
- color: rgb(244, 67, 54);
1446
- }
1447
-
1448
- .TextField.focused > label {
1449
- color: rgb(0, 188, 212);
1450
- }
1451
-
1452
- .TextField.focused > .border .line {
1453
- left: 0;
1454
- width: 100%;
1455
- }
1456
-
1457
- .TextField.disabled label, .TextField.disabled input {
1458
- cursor: not-allowed;
1459
- }
1460
-
1461
- .TextField.withLabel {
1462
- margin-top: 15px;
1463
- }
1464
-
1465
- .TextField input::-webkit-contacts-auto-fill-button {
1466
- visibility: hidden;
1467
- display: none !important;
1468
- pointer-events: none;
1469
- position: absolute;
1470
- right: 0;
1471
- }
1472
-
1473
- .TextField input:-webkit-autofill {
1474
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1475
- }
1476
-
1477
- @keyframes shake {
1478
- 0%, 100% {
1479
- transform: translateX(0);
1480
- }
1481
- 20%, 60% {
1482
- transform: translateX(-5px);
1483
- }
1484
- 40%, 80% {
1485
- transform: translateX(5px);
1486
- }
1487
- }
1488
- .TextField .shake {
1489
- animation-duration: 0.5s;
1490
- animation-fill-mode: both;
1491
- animation-timing-function: ease-in-out;
1492
- animation-name: shake;
1493
- }
1494
-
1495
- .FormUploadProgress {
1496
- position: absolute;
1497
- left: 0;
1498
- right: 0;
1499
- top: 0;
1500
- bottom: 0;
1501
- background-color: rgba(255, 255, 255, 0.6);
1502
- z-index: 2;
1503
- }
1504
-
1505
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1506
- transition-delay: 500ms;
1507
- }
1508
-
1509
- .FormUploadProgress .wrapper {
1510
- position: sticky;
1511
- top: 40%;
1512
- margin-top: 40%;
1513
- margin-left: 50%;
1514
- transform: translateX(-50%);
1515
- display: flex;
1516
- flex-flow: column;
1517
- justify-content: center;
1518
- align-items: center;
1519
- }
1520
-
1521
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1522
- position: absolute;
1523
- width: 107px;
1524
- height: 107px;
1525
- top: 0;
1526
- left: 0;
1219
+ line-height: 14px;
1220
+ color: rgb(244, 67, 54);
1221
+ visibility: hidden;
1222
+ opacity: 0;
1223
+ transition: all 0.2s ease;
1527
1224
  }
1528
1225
 
1529
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1530
- stroke: #2196F3;
1226
+ .TextField.focused > label, .TextField.withValue > label {
1227
+ top: 4px;
1228
+ font-size: 12px;
1229
+ line-height: 14px;
1531
1230
  }
1532
1231
 
1533
- .FormUploadProgress .wrapper > .progress {
1534
- width: 107px;
1535
- height: 107px;
1536
- min-height: 107px;
1537
- display: flex;
1538
- justify-content: center;
1539
- align-items: center;
1540
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1541
- border-radius: 50%;
1542
- background: white;
1543
- position: relative;
1232
+ .TextField.errored > .error {
1233
+ visibility: visible;
1234
+ opacity: 1;
1544
1235
  }
1545
1236
 
1546
- .FormUploadProgress .wrapper > .progress > .value {
1547
- display: inline-block;
1548
- margin-top: 5px;
1549
- font-weight: bold;
1550
- line-height: 16px;
1551
- font-size: 13px;
1552
- text-align: center;
1553
- color: #818181;
1237
+ .TextField.errored > .border {
1238
+ border-bottom-color: rgb(244, 67, 54);
1554
1239
  }
1555
1240
 
1556
- .FormUploadProgress .wrapper .cancel {
1557
- min-width: 107px;
1558
- margin-top: 20px;
1559
- background-color: white;
1560
- color: #F96B5C;
1561
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1241
+ .TextField.errored > label {
1242
+ color: rgb(244, 67, 54);
1562
1243
  }
1563
1244
 
1564
- .DropFileInput {
1565
- flex-grow: 1;
1245
+ .TextField.focused > label {
1246
+ color: rgb(0, 188, 212);
1566
1247
  }
1567
1248
 
1568
- .DropFileInput .Dropzone {
1569
- border: 1px dashed #808080;
1570
- padding: 12px;
1571
- display: flex;
1572
- flex-flow: row nowrap;
1573
- justify-content: center;
1574
- align-items: center;
1575
- color: gray;
1576
- cursor: pointer;
1577
- border-radius: 3px;
1578
- font-weight: normal;
1579
- line-height: 22px;
1580
- font-size: 14px;
1581
- color: #7E7E7E;
1582
- max-width: 100%;
1583
- word-break: break-all;
1584
- word-break: break-word;
1249
+ .TextField.focused > .border .line {
1250
+ left: 0;
1251
+ width: 100%;
1585
1252
  }
1586
1253
 
1587
- .DropFileInput .Dropzone .icon.withText {
1588
- margin-right: 10px;
1254
+ .TextField.disabled label, .TextField.disabled input {
1255
+ cursor: not-allowed;
1589
1256
  }
1590
1257
 
1591
- .Snackbar {
1592
- transform: translateX(-50%);
1593
- overflow: hidden;
1594
- background-color: #323232;
1595
- padding: 14px 24px 14px 24px;
1596
- color: #fff;
1597
- min-width: 288px;
1598
- max-width: 568px;
1599
- position: fixed;
1600
- bottom: -50px;
1601
- left: 50%;
1602
- display: flex;
1603
- flex-wrap: nowrap;
1604
- align-items: center;
1605
- opacity: 0;
1606
- transition: bottom 0.25s ease, opacity 0.2s ease;
1607
- border-radius: 4px;
1608
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1258
+ .TextField.withLabel {
1259
+ margin-top: 15px;
1609
1260
  }
1610
1261
 
1611
- .Snackbar.shown {
1612
- bottom: 15px;
1613
- opacity: 1;
1262
+ .TextField input::-webkit-contacts-auto-fill-button {
1263
+ visibility: hidden;
1264
+ display: none !important;
1265
+ pointer-events: none;
1266
+ position: absolute;
1267
+ right: 0;
1614
1268
  }
1615
1269
 
1616
- .Snackbar .message {
1617
- overflow: hidden;
1618
- line-height: 1.2em;
1619
- min-height: 1.2em;
1620
- max-height: 2.4em;
1621
- flex: 1;
1270
+ .TextField input:-webkit-autofill {
1271
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1622
1272
  }
1623
1273
 
1624
- .Snackbar .action {
1625
- text-transform: uppercase;
1626
- font-weight: bold;
1627
- margin-left: 48px;
1628
- color: #bf3727;
1274
+ @keyframes shake {
1275
+ 0%, 100% {
1276
+ transform: translateX(0);
1277
+ }
1278
+ 20%, 60% {
1279
+ transform: translateX(-5px);
1280
+ }
1281
+ 40%, 80% {
1282
+ transform: translateX(5px);
1283
+ }
1629
1284
  }
1630
-
1631
- .Snackbar .action a {
1632
- text-decoration: none;
1633
- color: #bf3727;
1285
+ .TextField .shake {
1286
+ animation-duration: 0.5s;
1287
+ animation-fill-mode: both;
1288
+ animation-timing-function: ease-in-out;
1289
+ animation-name: shake;
1634
1290
  }
1635
1291
 
1636
1292
  .CalendarMonthView {
@@ -1753,34 +1409,170 @@
1753
1409
  cursor: pointer;
1754
1410
  }
1755
1411
 
1756
- .calendar .CalendarMonthView .day span:hover {
1757
- background-color: #e6e6e6;
1412
+ .calendar .CalendarMonthView .day span:hover {
1413
+ background-color: #e6e6e6;
1414
+ }
1415
+
1416
+ .calendar .CalendarMonthView .day span.inactive {
1417
+ color: lightgray;
1418
+ cursor: unset;
1419
+ }
1420
+
1421
+ .calendar .CalendarMonthView .day span.inactive:hover {
1422
+ background: unset;
1423
+ }
1424
+
1425
+ .calendar .CalendarMonthView .day span.selected {
1426
+ color: white;
1427
+ background-color: #2196F3;
1428
+ }
1429
+
1430
+ .calendar .CalendarMonthView .day span.selected:hover {
1431
+ background-color: #51adf6;
1432
+ }
1433
+
1434
+ .DropFileInput {
1435
+ flex-grow: 1;
1436
+ }
1437
+
1438
+ .DropFileInput .Dropzone {
1439
+ border: 1px dashed #808080;
1440
+ padding: 12px;
1441
+ display: flex;
1442
+ flex-flow: row nowrap;
1443
+ justify-content: center;
1444
+ align-items: center;
1445
+ color: gray;
1446
+ cursor: pointer;
1447
+ border-radius: 3px;
1448
+ font-weight: normal;
1449
+ line-height: 22px;
1450
+ font-size: 14px;
1451
+ color: #7E7E7E;
1452
+ max-width: 100%;
1453
+ word-break: break-all;
1454
+ word-break: break-word;
1455
+ }
1456
+
1457
+ .DropFileInput .Dropzone .icon.withText {
1458
+ margin-right: 10px;
1459
+ }
1460
+
1461
+ .Checkbox {
1462
+ position: relative;
1463
+ white-space: pre;
1464
+ }
1465
+
1466
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1467
+ box-sizing: border-box;
1468
+ }
1469
+
1470
+ .Checkbox label {
1471
+ font-family: Roboto, sans-serif;
1472
+ font-size: 14px;
1473
+ color: #1e252d;
1474
+ cursor: pointer;
1475
+ }
1476
+
1477
+ .Checkbox label:before, .Checkbox label:after {
1478
+ content: "";
1479
+ position: absolute;
1480
+ left: 0;
1481
+ top: 0;
1482
+ }
1483
+
1484
+ .Checkbox label:before {
1485
+ width: 20px;
1486
+ height: 20px;
1487
+ background: #fff;
1488
+ border: 2px solid #252525;
1489
+ border-radius: 2px;
1490
+ cursor: pointer;
1491
+ transition: background 0.3s;
1492
+ }
1493
+
1494
+ .Checkbox input[type=checkbox] {
1495
+ outline: 0;
1496
+ margin-right: 10px;
1497
+ visibility: hidden;
1498
+ }
1499
+
1500
+ .Checkbox input[type=checkbox]:checked + label:before {
1501
+ background: #4AC263;
1502
+ border: none;
1503
+ }
1504
+
1505
+ .Checkbox input[type=checkbox]:checked + label:after {
1506
+ transform: rotate(-45deg);
1507
+ top: 6px;
1508
+ left: 4px;
1509
+ width: 12px;
1510
+ height: 6px;
1511
+ border: 2px solid #fff;
1512
+ border-top-style: none;
1513
+ border-right-style: none;
1514
+ }
1515
+
1516
+ .Checkbox input[type=checkbox]:disabled + label {
1517
+ color: gray;
1518
+ }
1519
+
1520
+ .Checkbox input[type=checkbox]:disabled + label:before {
1521
+ border-color: rgba(0, 0, 0, 0.26);
1522
+ }
1523
+
1524
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
1525
+ background: rgba(0, 0, 0, 0.26);
1526
+ }
1527
+
1528
+ .CircleProgress {
1529
+ width: 48px;
1530
+ height: 48px;
1531
+ }
1532
+
1533
+ .CircleProgress .line {
1534
+ stroke-width: 2px;
1535
+ stroke: black;
1536
+ stroke-linecap: square;
1537
+ fill: none;
1538
+ transition: stroke-dashoffset 0.2s ease;
1539
+ }
1540
+
1541
+ .ModalMenu {
1542
+ position: absolute;
1543
+ top: 10px;
1544
+ right: 50px;
1758
1545
  }
1759
1546
 
1760
- .calendar .CalendarMonthView .day span.inactive {
1761
- color: lightgray;
1762
- cursor: unset;
1547
+ .ModalMenu .material-icons {
1548
+ color: #818181;
1763
1549
  }
1764
1550
 
1765
- .calendar .CalendarMonthView .day span.inactive:hover {
1766
- background: unset;
1551
+ .ModalMenu .Button.animated {
1552
+ position: absolute;
1553
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1554
+ opacity: 0;
1555
+ right: 0;
1556
+ top: 0;
1767
1557
  }
1768
1558
 
1769
- .calendar .CalendarMonthView .day span.selected {
1770
- color: white;
1771
- background-color: #2196F3;
1559
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1560
+ opacity: 1;
1772
1561
  }
1773
1562
 
1774
- .calendar .CalendarMonthView .day span.selected:hover {
1775
- background-color: #51adf6;
1563
+ .ModalMenu .Button.animated.unmounting {
1564
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1776
1565
  }
1777
1566
 
1778
- .ScrollableTable .Scrollable .scrollbar {
1779
- top: 56px;
1567
+ .ModalMenu .Button.active {
1568
+ background: #EBEBEB;
1780
1569
  }
1781
1570
 
1782
- .ScrollableTable .Table {
1783
- position: static;
1571
+ .ModalMenu .separator {
1572
+ height: 24px;
1573
+ width: 1px;
1574
+ background-color: #D9D9D9;
1575
+ margin-left: 4px;
1784
1576
  }
1785
1577
 
1786
1578
  .DNDContainer {
@@ -1815,6 +1607,51 @@
1815
1607
  pointer-events: none;
1816
1608
  }
1817
1609
 
1610
+ .Snackbar {
1611
+ transform: translateX(-50%);
1612
+ overflow: hidden;
1613
+ background-color: #323232;
1614
+ padding: 14px 24px 14px 24px;
1615
+ color: #fff;
1616
+ min-width: 288px;
1617
+ max-width: 568px;
1618
+ position: fixed;
1619
+ bottom: -50px;
1620
+ left: 50%;
1621
+ display: flex;
1622
+ flex-wrap: nowrap;
1623
+ align-items: center;
1624
+ opacity: 0;
1625
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1626
+ border-radius: 4px;
1627
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1628
+ }
1629
+
1630
+ .Snackbar.shown {
1631
+ bottom: 15px;
1632
+ opacity: 1;
1633
+ }
1634
+
1635
+ .Snackbar .message {
1636
+ overflow: hidden;
1637
+ line-height: 1.2em;
1638
+ min-height: 1.2em;
1639
+ max-height: 2.4em;
1640
+ flex: 1;
1641
+ }
1642
+
1643
+ .Snackbar .action {
1644
+ text-transform: uppercase;
1645
+ font-weight: bold;
1646
+ margin-left: 48px;
1647
+ color: #bf3727;
1648
+ }
1649
+
1650
+ .Snackbar .action a {
1651
+ text-decoration: none;
1652
+ color: #bf3727;
1653
+ }
1654
+
1818
1655
  .Table {
1819
1656
  font-family: Roboto, sans-serif;
1820
1657
  font-size: 14px;
@@ -1935,4 +1772,171 @@
1935
1772
 
1936
1773
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1937
1774
  margin: 0;
1775
+ }
1776
+
1777
+ .Button.FloatingActionButton {
1778
+ position: absolute;
1779
+ right: 16px;
1780
+ bottom: 16px;
1781
+ width: 56px;
1782
+ height: 56px;
1783
+ padding: 16px;
1784
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1785
+ }
1786
+
1787
+ .Button.FloatingActionButton.raised {
1788
+ 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);
1789
+ }
1790
+
1791
+ .Button.FloatingActionButton.mini {
1792
+ width: 40px;
1793
+ height: 40px;
1794
+ padding: 8px;
1795
+ }
1796
+
1797
+ .Button.FloatingActionButton.hidden {
1798
+ bottom: -100px;
1799
+ }
1800
+
1801
+ .SpinningProgress {
1802
+ width: 48px;
1803
+ height: 48px;
1804
+ position: relative;
1805
+ margin: 0 auto;
1806
+ }
1807
+
1808
+ .SpinningProgress:before {
1809
+ content: "";
1810
+ display: block;
1811
+ padding-top: 100%;
1812
+ }
1813
+
1814
+ .SpinningProgress .circular {
1815
+ animation: rotate 2s linear infinite;
1816
+ height: 100%;
1817
+ transform-origin: center center;
1818
+ width: 100%;
1819
+ position: absolute;
1820
+ top: 0;
1821
+ bottom: 0;
1822
+ left: 0;
1823
+ right: 0;
1824
+ margin: auto;
1825
+ }
1826
+
1827
+ .SpinningProgress .line {
1828
+ stroke: black;
1829
+ stroke-width: 2px;
1830
+ stroke-dasharray: 1, 96;
1831
+ stroke-dashoffset: 0;
1832
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1833
+ }
1834
+
1835
+ @keyframes rotate {
1836
+ 100% {
1837
+ transform: rotate(360deg);
1838
+ }
1839
+ }
1840
+ @keyframes dash {
1841
+ 0% {
1842
+ stroke-dasharray: 1, 96;
1843
+ stroke-dashoffset: 0;
1844
+ }
1845
+ 50% {
1846
+ stroke-dasharray: 43, 96;
1847
+ stroke-dashoffset: -17px;
1848
+ }
1849
+ 100% {
1850
+ stroke-dasharray: 43, 96;
1851
+ stroke-dashoffset: -53px;
1852
+ }
1853
+ }
1854
+ .ScrollableTable .Scrollable .scrollbar {
1855
+ top: 56px;
1856
+ }
1857
+
1858
+ .ScrollableTable .Table {
1859
+ position: static;
1860
+ }
1861
+
1862
+ .Switch {
1863
+ display: inline-flex;
1864
+ padding-top: 5px;
1865
+ }
1866
+
1867
+ .Switch .switch-input {
1868
+ display: none;
1869
+ }
1870
+
1871
+ .Switch .switch-label {
1872
+ position: relative;
1873
+ display: inline-flex;
1874
+ align-items: center;
1875
+ min-width: 38px;
1876
+ height: 24px;
1877
+ cursor: pointer;
1878
+ font-weight: 500;
1879
+ text-align: left;
1880
+ user-select: none;
1881
+ margin: 0;
1882
+ padding: 0;
1883
+ padding-left: 44px;
1884
+ box-sizing: border-box;
1885
+ }
1886
+
1887
+ .Switch .switch-label:before, .Switch .switch-label:after {
1888
+ content: "";
1889
+ box-sizing: border-box;
1890
+ position: absolute;
1891
+ margin: 0;
1892
+ outline: 0;
1893
+ top: 50%;
1894
+ transform: translate(0, -50%);
1895
+ transition: all 0.3s ease;
1896
+ }
1897
+
1898
+ .Switch .switch-label:before {
1899
+ left: 1px;
1900
+ width: 34px;
1901
+ height: 14px;
1902
+ background-color: #9E9E9E;
1903
+ border-radius: 8px;
1904
+ }
1905
+
1906
+ .Switch .switch-label:after {
1907
+ left: 0;
1908
+ width: 20px;
1909
+ height: 20px;
1910
+ background-color: #FAFAFA;
1911
+ border-radius: 50%;
1912
+ 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);
1913
+ }
1914
+
1915
+ .Switch .switch-label .toggle--on {
1916
+ display: none;
1917
+ }
1918
+
1919
+ .Switch .switch-label .toggle--off {
1920
+ display: inline-block;
1921
+ }
1922
+
1923
+ .Switch .switch-label .label {
1924
+ margin-right: 5px;
1925
+ }
1926
+
1927
+ .Switch .switch-input:checked + .switch-label:before {
1928
+ background-color: #A5D6A7;
1929
+ }
1930
+
1931
+ .Switch .switch-input:checked + .switch-label:after {
1932
+ background-color: #4CAF50;
1933
+ transform: translate(80%, -50%);
1934
+ }
1935
+
1936
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1937
+ display: inline-block;
1938
+ }
1939
+
1940
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1941
+ display: none;
1938
1942
  }