react-ui-basics 0.0.169 → 0.0.170

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
@@ -1,168 +1,3 @@
1
- .Button {
2
- position: relative;
3
- min-width: 64px;
4
- min-height: 36px;
5
- height: 24px;
6
- margin: 0px;
7
- padding: 0px 16px;
8
- border: none;
9
- outline: none;
10
- font-size: 14px;
11
- font-weight: 500;
12
- letter-spacing: 1.25px;
13
- background: #dfdfdf;
14
- text-transform: uppercase;
15
- font-family: Roboto, sans-serif;
16
- display: inline-flex;
17
- justify-content: center;
18
- align-items: center;
19
- cursor: pointer;
20
- overflow: hidden;
21
- user-select: none;
22
- border-radius: 3px;
23
- transition: all 0.2s ease;
24
- }
25
-
26
- .Button.flat {
27
- background-color: transparent;
28
- }
29
-
30
- .Button.flat:hover {
31
- background-color: rgba(0, 0, 0, 0.05);
32
- }
33
-
34
- .Button.green {
35
- background-color: #43a047;
36
- color: white;
37
- }
38
-
39
- .Button.green:hover {
40
- background-color: #3b8e3f;
41
- }
42
-
43
- .Button.blue {
44
- background-color: #039be5;
45
- color: white;
46
- }
47
-
48
- .Button.blue:hover {
49
- background-color: #038acc;
50
- }
51
-
52
- .Button.red {
53
- background-color: #e53935;
54
- color: white;
55
- }
56
-
57
- .Button.red:hover {
58
- background-color: #e2231e;
59
- }
60
-
61
- .Button.black {
62
- background-color: #1e252d;
63
- color: white;
64
- }
65
-
66
- .Button.black:hover {
67
- background-color: #14181e;
68
- }
69
-
70
- .Button.gray {
71
- background: #D9D9D9;
72
- color: #999999;
73
- }
74
-
75
- .Button.gray:hover {
76
- background-color: #cccccc;
77
- }
78
-
79
- .Button.small {
80
- padding: 0px 8px;
81
- min-height: 16px;
82
- min-width: 16px;
83
- }
84
-
85
- .Button > .material-icons {
86
- margin-right: 10px;
87
- }
88
-
89
- .Button.round {
90
- padding: 0px;
91
- min-width: 36px;
92
- border-radius: 50%;
93
- }
94
-
95
- .Button.round > .material-icons {
96
- margin: 0px;
97
- }
98
-
99
- .Button .ripple {
100
- position: absolute;
101
- background: rgba(0, 0, 0, 0.1);
102
- border-radius: 100%;
103
- transform: scale(0);
104
- pointer-events: none;
105
- transition: opacity 0.2s ease-out;
106
- }
107
-
108
- .Button .ripple.show {
109
- animation: ripple 0.35s ease-out;
110
- }
111
-
112
- .Button:active .ripple.showed {
113
- opacity: 1;
114
- }
115
-
116
- .Button:focus .ripple.focused {
117
- opacity: 1;
118
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
119
- transform: scale(1);
120
- animation: resize 1.25s ease-out infinite;
121
- animation-delay: 0.2s;
122
- animation-direction: alternate;
123
- }
124
-
125
- .Button .ripple.showed {
126
- transform: scale(2);
127
- opacity: 0;
128
- }
129
-
130
- @keyframes ripple {
131
- to {
132
- transform: scale(2);
133
- }
134
- }
135
- @keyframes resize {
136
- to {
137
- transform: scale(0.9);
138
- }
139
- }
140
- .Button.raised {
141
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
142
- }
143
-
144
- .Button.raised:hover {
145
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
146
- }
147
-
148
- .Button.raised:active {
149
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
150
- }
151
-
152
- .Button.disabled {
153
- box-shadow: none;
154
- background: #D9D9D9;
155
- color: #999999;
156
- }
157
-
158
- .Button.disabled:hover {
159
- background-color: #cccccc;
160
- }
161
-
162
- .Button::-moz-focus-inner {
163
- border: 0;
164
- }
165
-
166
1
  .AutocompleteSelect {
167
2
  display: inline-flex;
168
3
  flex-flow: column;
@@ -458,71 +293,186 @@
458
293
  position: absolute;
459
294
  }
460
295
 
461
- .DialogModal {
296
+ .Button {
297
+ position: relative;
298
+ min-width: 64px;
299
+ min-height: 36px;
300
+ height: 24px;
301
+ margin: 0px;
302
+ padding: 0px 16px;
303
+ border: none;
304
+ outline: none;
305
+ font-size: 14px;
306
+ font-weight: 500;
307
+ letter-spacing: 1.25px;
308
+ background: #dfdfdf;
309
+ text-transform: uppercase;
310
+ font-family: Roboto, sans-serif;
311
+ -webkit-tap-highlight-color: transparent;
312
+ display: inline-flex;
313
+ justify-content: center;
314
+ align-items: center;
315
+ cursor: pointer;
462
316
  overflow: hidden;
317
+ user-select: none;
318
+ border-radius: 3px;
319
+ transition: all 0.2s ease;
463
320
  }
464
321
 
465
- .DialogModal .content {
466
- top: 20vh;
322
+ .Button.flat {
323
+ background-color: transparent;
467
324
  }
468
325
 
469
- .Dialog {
470
- background-color: white;
471
- min-width: 460px;
472
- max-width: 40vw;
473
- padding: 15px;
326
+ .Button.flat:hover {
327
+ background-color: rgba(0, 0, 0, 0.05);
474
328
  }
475
329
 
476
- .Dialog .title {
477
- margin-bottom: 15px;
478
- padding: 20px 50px 0px 30px;
479
- font-size: 1.25rem;
480
- line-height: 2rem;
481
- font-weight: 400;
482
- letter-spacing: 0.0125em;
330
+ .Button.green {
331
+ background-color: #43a047;
332
+ color: white;
483
333
  }
484
334
 
485
- .Dialog .description {
486
- color: rgba(0, 0, 0, 0.54);
487
- font-size: 1rem;
488
- line-height: 1.5rem;
489
- font-weight: 400;
490
- letter-spacing: 0.03125em;
491
- margin-top: 20px;
492
- padding: 0 24px 24px;
335
+ .Button.green:hover {
336
+ background-color: #3b8e3f;
493
337
  }
494
338
 
495
- .Dialog > div.row {
496
- margin-bottom: 15px;
339
+ .Button.blue {
340
+ background-color: #039be5;
341
+ color: white;
497
342
  }
498
343
 
499
- .Dialog > div.row:last-child {
500
- margin-bottom: 0;
344
+ .Button.blue:hover {
345
+ background-color: #038acc;
501
346
  }
502
347
 
503
- .animated {
504
- transition: opacity 250ms ease;
505
- opacity: 0;
348
+ .Button.red {
349
+ background-color: #e53935;
350
+ color: white;
506
351
  }
507
352
 
508
- .animated.mounting, .animated.mounted {
509
- opacity: 1;
353
+ .Button.red:hover {
354
+ background-color: #e2231e;
510
355
  }
511
356
 
512
- .Checkbox {
513
- position: relative;
514
- white-space: pre;
357
+ .Button.black {
358
+ background-color: #1e252d;
359
+ color: white;
515
360
  }
516
361
 
517
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
518
- box-sizing: border-box;
362
+ .Button.black:hover {
363
+ background-color: #14181e;
519
364
  }
520
365
 
521
- .Checkbox label {
522
- font-family: Roboto, sans-serif;
523
- font-size: 14px;
524
- color: #1e252d;
525
- cursor: pointer;
366
+ .Button.gray {
367
+ background: #D9D9D9;
368
+ color: #999999;
369
+ }
370
+
371
+ .Button.gray:hover {
372
+ background-color: #cccccc;
373
+ }
374
+
375
+ .Button.small {
376
+ padding: 0px 8px;
377
+ min-height: 16px;
378
+ min-width: 16px;
379
+ }
380
+
381
+ .Button > .material-icons {
382
+ margin-right: 10px;
383
+ }
384
+
385
+ .Button.round {
386
+ padding: 0px;
387
+ min-width: 36px;
388
+ border-radius: 50%;
389
+ }
390
+
391
+ .Button.round > .material-icons {
392
+ margin: 0px;
393
+ }
394
+
395
+ .Button .ripple {
396
+ position: absolute;
397
+ background: rgba(0, 0, 0, 0.1);
398
+ border-radius: 100%;
399
+ transform: scale(0);
400
+ pointer-events: none;
401
+ transition: opacity 0.2s ease-out;
402
+ }
403
+
404
+ .Button .ripple.show {
405
+ animation: ripple 0.35s ease-out;
406
+ }
407
+
408
+ .Button:active .ripple.showed {
409
+ opacity: 1;
410
+ }
411
+
412
+ .Button:focus .ripple.focused {
413
+ opacity: 1;
414
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
415
+ transform: scale(1);
416
+ animation: resize 1.25s ease-out infinite;
417
+ animation-delay: 0.2s;
418
+ animation-direction: alternate;
419
+ }
420
+
421
+ .Button .ripple.showed {
422
+ transform: scale(2);
423
+ opacity: 0;
424
+ }
425
+
426
+ @keyframes ripple {
427
+ to {
428
+ transform: scale(2);
429
+ }
430
+ }
431
+ @keyframes resize {
432
+ to {
433
+ transform: scale(0.9);
434
+ }
435
+ }
436
+ .Button.raised {
437
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
438
+ }
439
+
440
+ .Button.raised:hover {
441
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
442
+ }
443
+
444
+ .Button.raised:active {
445
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
446
+ }
447
+
448
+ .Button.disabled {
449
+ box-shadow: none;
450
+ background: #D9D9D9;
451
+ color: #999999;
452
+ }
453
+
454
+ .Button.disabled:hover {
455
+ background-color: #cccccc;
456
+ }
457
+
458
+ .Button::-moz-focus-inner {
459
+ border: 0;
460
+ }
461
+
462
+ .Checkbox {
463
+ position: relative;
464
+ white-space: pre;
465
+ }
466
+
467
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
468
+ box-sizing: border-box;
469
+ }
470
+
471
+ .Checkbox label {
472
+ font-family: Roboto, sans-serif;
473
+ font-size: 14px;
474
+ color: #1e252d;
475
+ cursor: pointer;
526
476
  }
527
477
 
528
478
  .Checkbox label:before, .Checkbox label:after {
@@ -576,19 +526,6 @@
576
526
  background: rgba(0, 0, 0, 0.26);
577
527
  }
578
528
 
579
- .CircleProgress {
580
- width: 48px;
581
- height: 48px;
582
- }
583
-
584
- .CircleProgress .line {
585
- stroke-width: 2px;
586
- stroke: black;
587
- stroke-linecap: square;
588
- fill: none;
589
- transition: stroke-dashoffset 0.2s ease;
590
- }
591
-
592
529
  .DNDContainer {
593
530
  position: relative;
594
531
  }
@@ -621,31 +558,17 @@
621
558
  pointer-events: none;
622
559
  }
623
560
 
624
- .DropFileInput {
625
- flex-grow: 1;
626
- }
627
-
628
- .DropFileInput .Dropzone {
629
- border: 1px dashed #808080;
630
- padding: 12px;
631
- display: flex;
632
- flex-flow: row nowrap;
633
- justify-content: center;
634
- align-items: center;
635
- color: gray;
636
- cursor: pointer;
637
- border-radius: 3px;
638
- font-weight: normal;
639
- line-height: 22px;
640
- font-size: 14px;
641
- color: #7E7E7E;
642
- max-width: 100%;
643
- word-break: break-all;
644
- word-break: break-word;
561
+ .CircleProgress {
562
+ width: 48px;
563
+ height: 48px;
645
564
  }
646
565
 
647
- .DropFileInput .Dropzone .icon.withText {
648
- margin-right: 10px;
566
+ .CircleProgress .line {
567
+ stroke-width: 2px;
568
+ stroke: black;
569
+ stroke-linecap: square;
570
+ fill: none;
571
+ transition: stroke-dashoffset 0.2s ease;
649
572
  }
650
573
 
651
574
  .FormUploadProgress {
@@ -717,6 +640,42 @@
717
640
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
718
641
  }
719
642
 
643
+ .DropFileInput {
644
+ flex-grow: 1;
645
+ }
646
+
647
+ .DropFileInput .Dropzone {
648
+ border: 1px dashed #808080;
649
+ padding: 12px;
650
+ display: flex;
651
+ flex-flow: row nowrap;
652
+ justify-content: center;
653
+ align-items: center;
654
+ color: gray;
655
+ cursor: pointer;
656
+ border-radius: 3px;
657
+ font-weight: normal;
658
+ line-height: 22px;
659
+ font-size: 14px;
660
+ color: #7E7E7E;
661
+ max-width: 100%;
662
+ word-break: break-all;
663
+ word-break: break-word;
664
+ }
665
+
666
+ .DropFileInput .Dropzone .icon.withText {
667
+ margin-right: 10px;
668
+ }
669
+
670
+ .animated {
671
+ transition: opacity 250ms ease;
672
+ opacity: 0;
673
+ }
674
+
675
+ .animated.mounting, .animated.mounted {
676
+ opacity: 1;
677
+ }
678
+
720
679
  .Dropzone {
721
680
  position: relative;
722
681
  }
@@ -777,6 +736,48 @@
777
736
  z-index: 1;
778
737
  }
779
738
 
739
+ .DialogModal {
740
+ overflow: hidden;
741
+ }
742
+
743
+ .DialogModal .content {
744
+ top: 20vh;
745
+ }
746
+
747
+ .Dialog {
748
+ background-color: white;
749
+ min-width: 460px;
750
+ max-width: 40vw;
751
+ padding: 15px;
752
+ }
753
+
754
+ .Dialog .title {
755
+ margin-bottom: 15px;
756
+ padding: 20px 50px 0px 30px;
757
+ font-size: 1.25rem;
758
+ line-height: 2rem;
759
+ font-weight: 400;
760
+ letter-spacing: 0.0125em;
761
+ }
762
+
763
+ .Dialog .description {
764
+ color: rgba(0, 0, 0, 0.54);
765
+ font-size: 1rem;
766
+ line-height: 1.5rem;
767
+ font-weight: 400;
768
+ letter-spacing: 0.03125em;
769
+ margin-top: 20px;
770
+ padding: 0 24px 24px;
771
+ }
772
+
773
+ .Dialog > div.row {
774
+ margin-bottom: 15px;
775
+ }
776
+
777
+ .Dialog > div.row:last-child {
778
+ margin-bottom: 0;
779
+ }
780
+
780
781
  .ModalMenu {
781
782
  position: absolute;
782
783
  top: 10px;
@@ -814,28 +815,74 @@
814
815
  margin-left: 4px;
815
816
  }
816
817
 
817
- .Button.FloatingActionButton {
818
- position: absolute;
819
- right: 16px;
820
- bottom: 16px;
821
- width: 56px;
822
- height: 56px;
823
- padding: 16px;
824
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
818
+ .Modal {
819
+ display: block;
820
+ position: fixed;
821
+ top: 0;
822
+ left: 0;
823
+ right: 0;
824
+ bottom: 100%;
825
+ overflow-y: scroll;
826
+ transition: bottom 0ms linear;
827
+ transition-delay: 0.2s;
825
828
  }
826
829
 
827
- .Button.FloatingActionButton.raised {
828
- 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);
830
+ .Modal.show {
831
+ transition-delay: 0s;
832
+ bottom: 0;
829
833
  }
830
834
 
831
- .Button.FloatingActionButton.mini {
832
- width: 40px;
833
- height: 40px;
834
- padding: 8px;
835
+ .Modal > .overlay {
836
+ position: fixed;
837
+ top: 0;
838
+ bottom: 100%;
839
+ left: 0;
840
+ right: 0;
841
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
842
+ opacity: 0;
843
+ background-color: black;
844
+ pointer-events: none;
835
845
  }
836
846
 
837
- .Button.FloatingActionButton.hidden {
838
- bottom: -100px;
847
+ .Modal > .overlay.show {
848
+ opacity: 0.5;
849
+ bottom: 0;
850
+ }
851
+
852
+ .Modal > .content {
853
+ left: 50%;
854
+ top: 10vh;
855
+ margin-bottom: 10vh;
856
+ font-size: 16px;
857
+ padding: 0;
858
+ opacity: 0;
859
+ transition: opacity 0.25s ease, transform 0.25s ease;
860
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
861
+ transform-origin: top;
862
+ position: absolute;
863
+ border-radius: 2px;
864
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
865
+ }
866
+
867
+ .Modal > .content.show {
868
+ opacity: 1;
869
+ transform: scaleY(1) translateY(0px) translateX(-50%);
870
+ }
871
+
872
+ .Modal > .content > .Scrollable {
873
+ overflow: visible;
874
+ max-height: 80vh;
875
+ }
876
+
877
+ .Modal > .content > .Scrollable > .viewport {
878
+ min-width: 10px;
879
+ min-height: 10px;
880
+ }
881
+
882
+ .Modal > .content > .Button.close {
883
+ top: 10px;
884
+ right: 10px;
885
+ position: absolute;
839
886
  }
840
887
 
841
888
  .Scrollable {
@@ -933,209 +980,263 @@
933
980
  will-change: left;
934
981
  }
935
982
 
936
- .SpinningProgress {
937
- width: 48px;
938
- height: 48px;
939
- position: relative;
940
- margin: 0 auto;
983
+ .ImageGallery {
984
+ position: fixed;
985
+ top: 0;
986
+ left: 0;
987
+ bottom: 0;
988
+ right: 0;
989
+ z-index: 1000;
990
+ background-color: rgba(0, 0, 0, 0.01);
991
+ user-select: none;
941
992
  }
942
993
 
943
- .SpinningProgress:before {
944
- content: "";
945
- display: block;
946
- padding-top: 100%;
994
+ .ImageGallery:focus {
995
+ outline-width: 0px;
947
996
  }
948
997
 
949
- .SpinningProgress .circular {
950
- animation: rotate 2s linear infinite;
951
- height: 100%;
952
- transform-origin: center center;
953
- width: 100%;
998
+ .ImageGallery.animated {
999
+ transition: background-color 0.25s ease;
1000
+ opacity: 1;
1001
+ }
1002
+
1003
+ .ImageGallery.mounting, .ImageGallery.mounted {
1004
+ background-color: rgba(0, 0, 0, 0.8);
1005
+ }
1006
+
1007
+ .ImageGallery .image {
954
1008
  position: absolute;
955
- top: 0;
956
- bottom: 0;
957
- left: 0;
958
- right: 0;
959
- margin: auto;
1009
+ cursor: grab;
960
1010
  }
961
1011
 
962
- .SpinningProgress .line {
963
- stroke: black;
964
- stroke-width: 2px;
965
- stroke-dasharray: 1, 96;
966
- stroke-dashoffset: 0;
967
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1012
+ .ImageGallery .image .counter {
1013
+ display: none;
968
1014
  }
969
1015
 
970
- @keyframes rotate {
971
- 100% {
972
- transform: rotate(360deg);
973
- }
1016
+ .ImageGallery .image img {
1017
+ border-radius: 4px;
1018
+ max-width: 100%;
1019
+ min-width: 100%;
974
1020
  }
975
- @keyframes dash {
976
- 0% {
977
- stroke-dasharray: 1, 96;
978
- stroke-dashoffset: 0;
979
- }
980
- 50% {
981
- stroke-dasharray: 43, 96;
982
- stroke-dashoffset: -17px;
983
- }
984
- 100% {
985
- stroke-dasharray: 43, 96;
986
- stroke-dashoffset: -53px;
987
- }
1021
+
1022
+ .ImageGallery .image.animated {
1023
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1024
+ will-change: top, left, width, height, opacity;
988
1025
  }
989
- .Modal {
990
- display: block;
991
- position: fixed;
992
- top: 0;
993
- left: 0;
994
- right: 0;
995
- bottom: 100%;
996
- overflow-y: scroll;
997
- transition: bottom 0ms linear;
998
- transition-delay: 0.2s;
1026
+
1027
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1028
+ opacity: 1;
999
1029
  }
1000
1030
 
1001
- .Modal.show {
1002
- transition-delay: 0s;
1003
- bottom: 0;
1031
+ .ImageGallery .image.zoomed {
1032
+ text-align: center;
1033
+ overflow: hidden;
1004
1034
  }
1005
1035
 
1006
- .Modal > .overlay {
1007
- position: fixed;
1036
+ .ImageGallery .image.dragging {
1037
+ transition: none;
1038
+ cursor: move;
1039
+ }
1040
+
1041
+ .ImageGallery .image .close {
1042
+ position: absolute;
1043
+ top: -18px;
1044
+ right: -18px;
1045
+ }
1046
+
1047
+ .ImageGallery .image .spinner {
1048
+ position: absolute;
1008
1049
  top: 0;
1009
- bottom: 100%;
1050
+ bottom: 0;
1010
1051
  left: 0;
1011
1052
  right: 0;
1012
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1013
- opacity: 0;
1014
- background-color: black;
1015
- pointer-events: none;
1053
+ background: rgba(0, 0, 0, 0.65);
1016
1054
  }
1017
1055
 
1018
- .Modal > .overlay.show {
1019
- opacity: 0.5;
1020
- bottom: 0;
1056
+ .ImageGallery .image .spinner .SpinningProgress {
1057
+ position: absolute;
1058
+ top: 50%;
1059
+ left: 50%;
1060
+ margin-left: -24px;
1061
+ margin-top: -24px;
1021
1062
  }
1022
1063
 
1023
- .Modal > .content {
1024
- left: 50%;
1025
- top: 10vh;
1026
- margin-bottom: 10vh;
1027
- font-size: 16px;
1028
- padding: 0;
1064
+ .ImageGallery .image .spinner .SpinningProgress .line {
1065
+ stroke: #2196F3;
1066
+ }
1067
+
1068
+ .ImageGallery .Button.animated {
1069
+ transition: all 0.25s ease;
1029
1070
  opacity: 0;
1030
- transition: opacity 0.25s ease, transform 0.25s ease;
1031
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1032
- transform-origin: top;
1033
- position: absolute;
1034
- border-radius: 2px;
1035
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1071
+ transform: scale(0);
1036
1072
  }
1037
1073
 
1038
- .Modal > .content.show {
1074
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1039
1075
  opacity: 1;
1040
- transform: scaleY(1) translateY(0px) translateX(-50%);
1076
+ transform: scale(1);
1041
1077
  }
1042
1078
 
1043
- .Modal > .content > .Scrollable {
1044
- overflow: visible;
1045
- max-height: 80vh;
1079
+ .ImageGallery .Button {
1080
+ color: white;
1081
+ background: rgba(0, 0, 0, 0.4);
1046
1082
  }
1047
1083
 
1048
- .Modal > .content > .Scrollable > .viewport {
1049
- min-width: 10px;
1050
- min-height: 10px;
1084
+ .ImageGallery .Button:hover {
1085
+ background: rgba(0, 0, 0, 0.7);
1051
1086
  }
1052
1087
 
1053
- .Modal > .content > .Button.close {
1088
+ .ImageGallery > .arrow {
1089
+ position: absolute;
1090
+ top: 50%;
1091
+ height: 76px;
1092
+ width: 76px;
1093
+ margin-top: -38px;
1094
+ }
1095
+
1096
+ .ImageGallery > .arrow.left {
1097
+ left: 5%;
1098
+ }
1099
+
1100
+ .ImageGallery > .arrow.right {
1101
+ right: 5%;
1102
+ }
1103
+
1104
+ .ImageGallery > .arrow .material-icons {
1105
+ font-size: 40px;
1106
+ }
1107
+
1108
+ .ImageGallery .counter {
1109
+ position: absolute;
1054
1110
  top: 10px;
1055
- right: 10px;
1111
+ left: 10px;
1112
+ color: white;
1113
+ font-size: 13px;
1114
+ }
1115
+
1116
+ .ImageGallery .previews {
1117
+ height: 80px;
1056
1118
  position: absolute;
1119
+ bottom: 15px;
1120
+ left: 50%;
1121
+ transform: translateX(-50%);
1122
+ padding: 0 45px;
1057
1123
  }
1058
1124
 
1059
- .Switch {
1060
- display: inline-flex;
1061
- padding-top: 5px;
1125
+ .ImageGallery .previews .viewport {
1126
+ overflow: hidden;
1127
+ position: relative;
1128
+ height: 100%;
1062
1129
  }
1063
1130
 
1064
- .Switch .switch-input {
1065
- display: none;
1131
+ .ImageGallery .previews .container {
1132
+ position: relative;
1133
+ display: flex;
1134
+ flex-flow: row nowrap;
1135
+ height: 100%;
1136
+ transition: left 0.25s ease;
1066
1137
  }
1067
1138
 
1068
- .Switch .switch-label {
1139
+ .ImageGallery .previews .preview {
1069
1140
  position: relative;
1070
- display: inline-flex;
1071
- align-items: center;
1072
- min-width: 38px;
1073
- height: 24px;
1141
+ height: 100%;
1142
+ display: inline-block;
1143
+ width: 106.66px;
1144
+ overflow: hidden;
1145
+ margin-left: 12px;
1146
+ border-radius: 2px;
1074
1147
  cursor: pointer;
1075
- font-weight: 500;
1076
- text-align: left;
1077
- user-select: none;
1078
- margin: 0;
1079
- padding: 0;
1080
- padding-left: 44px;
1081
1148
  box-sizing: border-box;
1082
1149
  }
1083
1150
 
1084
- .Switch .switch-label:before, .Switch .switch-label:after {
1151
+ .ImageGallery .previews .preview:first-child {
1152
+ margin-left: 0;
1153
+ }
1154
+
1155
+ .ImageGallery .previews .preview > .border {
1156
+ position: absolute;
1157
+ bottom: 0;
1158
+ width: 100%;
1159
+ height: 3px;
1160
+ }
1161
+
1162
+ .ImageGallery .previews .preview > .border .line {
1163
+ left: 50%;
1164
+ width: 0;
1165
+ height: 3px;
1166
+ min-height: 3px;
1167
+ background-color: #4AC263;
1168
+ transition: all 0.2s ease;
1169
+ position: absolute;
1170
+ }
1171
+
1172
+ .ImageGallery .previews .preview:after {
1085
1173
  content: "";
1086
- box-sizing: border-box;
1087
1174
  position: absolute;
1088
- margin: 0;
1089
- outline: 0;
1090
- top: 50%;
1091
- transform: translate(0, -50%);
1092
- transition: all 0.3s ease;
1175
+ top: 0;
1176
+ right: 0;
1177
+ bottom: 0;
1178
+ left: 0;
1179
+ background: rgba(0, 0, 0, 0.35);
1180
+ transition: background 0.2s ease;
1093
1181
  }
1094
1182
 
1095
- .Switch .switch-label:before {
1096
- left: 1px;
1097
- width: 34px;
1098
- height: 14px;
1099
- background-color: #9E9E9E;
1100
- border-radius: 8px;
1183
+ .ImageGallery .previews .preview:hover:after {
1184
+ background: rgba(0, 0, 0, 0.1);
1101
1185
  }
1102
1186
 
1103
- .Switch .switch-label:after {
1187
+ .ImageGallery .previews .preview.selected .border .line {
1104
1188
  left: 0;
1105
- width: 20px;
1106
- height: 20px;
1107
- background-color: #FAFAFA;
1108
- border-radius: 50%;
1109
- 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);
1189
+ width: 100%;
1110
1190
  }
1111
1191
 
1112
- .Switch .switch-label .toggle--on {
1113
- display: none;
1192
+ .ImageGallery .previews .preview.selected:after {
1193
+ background: rgba(0, 0, 0, 0);
1114
1194
  }
1115
1195
 
1116
- .Switch .switch-label .toggle--off {
1117
- display: inline-block;
1196
+ .ImageGallery .previews > .arrow {
1197
+ position: absolute;
1198
+ top: 50%;
1199
+ height: 30px;
1200
+ width: 30px;
1201
+ min-width: 30px;
1202
+ min-height: 30px;
1203
+ margin-top: -15px;
1118
1204
  }
1119
1205
 
1120
- .Switch .switch-label .label {
1121
- margin-right: 5px;
1206
+ .ImageGallery .previews > .arrow.left {
1207
+ left: 0;
1122
1208
  }
1123
1209
 
1124
- .Switch .switch-input:checked + .switch-label:before {
1125
- background-color: #A5D6A7;
1210
+ .ImageGallery .previews > .arrow.right {
1211
+ right: 0;
1126
1212
  }
1127
1213
 
1128
- .Switch .switch-input:checked + .switch-label:after {
1129
- background-color: #4CAF50;
1130
- transform: translate(80%, -50%);
1214
+ .ImageGallery .previews > .arrow .material-icons {
1215
+ font-size: 24px;
1131
1216
  }
1132
1217
 
1133
- .Switch .switch-input:checked + .switch-label .toggle--on {
1134
- display: inline-block;
1218
+ .Button.FloatingActionButton {
1219
+ position: absolute;
1220
+ right: 16px;
1221
+ bottom: 16px;
1222
+ width: 56px;
1223
+ height: 56px;
1224
+ padding: 16px;
1225
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1135
1226
  }
1136
1227
 
1137
- .Switch .switch-input:checked + .switch-label .toggle--off {
1138
- display: none;
1228
+ .Button.FloatingActionButton.raised {
1229
+ 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);
1230
+ }
1231
+
1232
+ .Button.FloatingActionButton.mini {
1233
+ width: 40px;
1234
+ height: 40px;
1235
+ padding: 8px;
1236
+ }
1237
+
1238
+ .Button.FloatingActionButton.hidden {
1239
+ bottom: -100px;
1139
1240
  }
1140
1241
 
1141
1242
  .Snackbar {
@@ -1288,279 +1389,179 @@
1288
1389
  width: 100%;
1289
1390
  }
1290
1391
 
1291
- .TextField.disabled label, .TextField.disabled input {
1292
- cursor: not-allowed;
1293
- }
1294
-
1295
- .TextField.withLabel {
1296
- margin-top: 15px;
1297
- }
1298
-
1299
- .TextField input::-webkit-contacts-auto-fill-button {
1300
- visibility: hidden;
1301
- display: none !important;
1302
- pointer-events: none;
1303
- position: absolute;
1304
- right: 0;
1305
- }
1306
-
1307
- .TextField input:-webkit-autofill {
1308
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1309
- }
1310
-
1311
- @keyframes shake {
1312
- 0%, 100% {
1313
- transform: translateX(0);
1314
- }
1315
- 20%, 60% {
1316
- transform: translateX(-5px);
1317
- }
1318
- 40%, 80% {
1319
- transform: translateX(5px);
1320
- }
1321
- }
1322
- .TextField .shake {
1323
- animation-duration: 0.5s;
1324
- animation-fill-mode: both;
1325
- animation-timing-function: ease-in-out;
1326
- animation-name: shake;
1327
- }
1328
-
1329
- .ImageGallery {
1330
- position: fixed;
1331
- top: 0;
1332
- left: 0;
1333
- bottom: 0;
1334
- right: 0;
1335
- z-index: 1000;
1336
- background-color: rgba(0, 0, 0, 0.01);
1337
- user-select: none;
1338
- }
1339
-
1340
- .ImageGallery:focus {
1341
- outline-width: 0px;
1342
- }
1343
-
1344
- .ImageGallery.animated {
1345
- transition: background-color 0.25s ease;
1346
- opacity: 1;
1347
- }
1348
-
1349
- .ImageGallery.mounting, .ImageGallery.mounted {
1350
- background-color: rgba(0, 0, 0, 0.8);
1351
- }
1352
-
1353
- .ImageGallery .image {
1354
- position: absolute;
1355
- cursor: grab;
1356
- }
1357
-
1358
- .ImageGallery .image .counter {
1359
- display: none;
1360
- }
1361
-
1362
- .ImageGallery .image img {
1363
- border-radius: 4px;
1364
- max-width: 100%;
1365
- min-width: 100%;
1366
- }
1367
-
1368
- .ImageGallery .image.animated {
1369
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1370
- will-change: top, left, width, height, opacity;
1371
- }
1372
-
1373
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1374
- opacity: 1;
1375
- }
1376
-
1377
- .ImageGallery .image.zoomed {
1378
- text-align: center;
1379
- overflow: hidden;
1380
- }
1381
-
1382
- .ImageGallery .image.dragging {
1383
- transition: none;
1384
- cursor: move;
1392
+ .TextField.disabled label, .TextField.disabled input {
1393
+ cursor: not-allowed;
1385
1394
  }
1386
1395
 
1387
- .ImageGallery .image .close {
1388
- position: absolute;
1389
- top: -18px;
1390
- right: -18px;
1396
+ .TextField.withLabel {
1397
+ margin-top: 15px;
1391
1398
  }
1392
1399
 
1393
- .ImageGallery .image .spinner {
1400
+ .TextField input::-webkit-contacts-auto-fill-button {
1401
+ visibility: hidden;
1402
+ display: none !important;
1403
+ pointer-events: none;
1394
1404
  position: absolute;
1395
- top: 0;
1396
- bottom: 0;
1397
- left: 0;
1398
1405
  right: 0;
1399
- background: rgba(0, 0, 0, 0.65);
1400
1406
  }
1401
1407
 
1402
- .ImageGallery .image .spinner .SpinningProgress {
1403
- position: absolute;
1404
- top: 50%;
1405
- left: 50%;
1406
- margin-left: -24px;
1407
- margin-top: -24px;
1408
+ .TextField input:-webkit-autofill {
1409
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1408
1410
  }
1409
1411
 
1410
- .ImageGallery .image .spinner .SpinningProgress .line {
1411
- stroke: #2196F3;
1412
+ @keyframes shake {
1413
+ 0%, 100% {
1414
+ transform: translateX(0);
1415
+ }
1416
+ 20%, 60% {
1417
+ transform: translateX(-5px);
1418
+ }
1419
+ 40%, 80% {
1420
+ transform: translateX(5px);
1421
+ }
1412
1422
  }
1413
-
1414
- .ImageGallery .Button.animated {
1415
- transition: all 0.25s ease;
1416
- opacity: 0;
1417
- transform: scale(0);
1423
+ .TextField .shake {
1424
+ animation-duration: 0.5s;
1425
+ animation-fill-mode: both;
1426
+ animation-timing-function: ease-in-out;
1427
+ animation-name: shake;
1418
1428
  }
1419
1429
 
1420
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1421
- opacity: 1;
1422
- transform: scale(1);
1430
+ .Switch {
1431
+ display: inline-flex;
1432
+ padding-top: 5px;
1423
1433
  }
1424
1434
 
1425
- .ImageGallery .Button {
1426
- color: white;
1427
- background: rgba(0, 0, 0, 0.4);
1435
+ .Switch .switch-input {
1436
+ display: none;
1428
1437
  }
1429
1438
 
1430
- .ImageGallery .Button:hover {
1431
- background: rgba(0, 0, 0, 0.7);
1439
+ .Switch .switch-label {
1440
+ position: relative;
1441
+ display: inline-flex;
1442
+ align-items: center;
1443
+ min-width: 38px;
1444
+ height: 24px;
1445
+ cursor: pointer;
1446
+ font-weight: 500;
1447
+ text-align: left;
1448
+ user-select: none;
1449
+ margin: 0;
1450
+ padding: 0;
1451
+ padding-left: 44px;
1452
+ box-sizing: border-box;
1432
1453
  }
1433
1454
 
1434
- .ImageGallery > .arrow {
1455
+ .Switch .switch-label:before, .Switch .switch-label:after {
1456
+ content: "";
1457
+ box-sizing: border-box;
1435
1458
  position: absolute;
1459
+ margin: 0;
1460
+ outline: 0;
1436
1461
  top: 50%;
1437
- height: 76px;
1438
- width: 76px;
1439
- margin-top: -38px;
1462
+ transform: translate(0, -50%);
1463
+ transition: all 0.3s ease;
1440
1464
  }
1441
1465
 
1442
- .ImageGallery > .arrow.left {
1443
- left: 5%;
1466
+ .Switch .switch-label:before {
1467
+ left: 1px;
1468
+ width: 34px;
1469
+ height: 14px;
1470
+ background-color: #9E9E9E;
1471
+ border-radius: 8px;
1444
1472
  }
1445
1473
 
1446
- .ImageGallery > .arrow.right {
1447
- right: 5%;
1474
+ .Switch .switch-label:after {
1475
+ left: 0;
1476
+ width: 20px;
1477
+ height: 20px;
1478
+ background-color: #FAFAFA;
1479
+ border-radius: 50%;
1480
+ 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);
1448
1481
  }
1449
1482
 
1450
- .ImageGallery > .arrow .material-icons {
1451
- font-size: 40px;
1483
+ .Switch .switch-label .toggle--on {
1484
+ display: none;
1452
1485
  }
1453
1486
 
1454
- .ImageGallery .counter {
1455
- position: absolute;
1456
- top: 10px;
1457
- left: 10px;
1458
- color: white;
1459
- font-size: 13px;
1487
+ .Switch .switch-label .toggle--off {
1488
+ display: inline-block;
1460
1489
  }
1461
1490
 
1462
- .ImageGallery .previews {
1463
- height: 80px;
1464
- position: absolute;
1465
- bottom: 15px;
1466
- left: 50%;
1467
- transform: translateX(-50%);
1468
- padding: 0 45px;
1491
+ .Switch .switch-label .label {
1492
+ margin-right: 5px;
1469
1493
  }
1470
1494
 
1471
- .ImageGallery .previews .viewport {
1472
- overflow: hidden;
1473
- position: relative;
1474
- height: 100%;
1495
+ .Switch .switch-input:checked + .switch-label:before {
1496
+ background-color: #A5D6A7;
1475
1497
  }
1476
1498
 
1477
- .ImageGallery .previews .container {
1478
- position: relative;
1479
- display: flex;
1480
- flex-flow: row nowrap;
1481
- height: 100%;
1482
- transition: left 0.25s ease;
1499
+ .Switch .switch-input:checked + .switch-label:after {
1500
+ background-color: #4CAF50;
1501
+ transform: translate(80%, -50%);
1483
1502
  }
1484
1503
 
1485
- .ImageGallery .previews .preview {
1486
- position: relative;
1487
- height: 100%;
1504
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1488
1505
  display: inline-block;
1489
- width: 106.66px;
1490
- overflow: hidden;
1491
- margin-left: 12px;
1492
- border-radius: 2px;
1493
- cursor: pointer;
1494
- box-sizing: border-box;
1495
1506
  }
1496
1507
 
1497
- .ImageGallery .previews .preview:first-child {
1498
- margin-left: 0;
1508
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1509
+ display: none;
1499
1510
  }
1500
1511
 
1501
- .ImageGallery .previews .preview > .border {
1502
- position: absolute;
1503
- bottom: 0;
1504
- width: 100%;
1505
- height: 3px;
1512
+ .SpinningProgress {
1513
+ width: 48px;
1514
+ height: 48px;
1515
+ position: relative;
1516
+ margin: 0 auto;
1506
1517
  }
1507
1518
 
1508
- .ImageGallery .previews .preview > .border .line {
1509
- left: 50%;
1510
- width: 0;
1511
- height: 3px;
1512
- min-height: 3px;
1513
- background-color: #4AC263;
1514
- transition: all 0.2s ease;
1515
- position: absolute;
1519
+ .SpinningProgress:before {
1520
+ content: "";
1521
+ display: block;
1522
+ padding-top: 100%;
1516
1523
  }
1517
1524
 
1518
- .ImageGallery .previews .preview:after {
1519
- content: "";
1525
+ .SpinningProgress .circular {
1526
+ animation: rotate 2s linear infinite;
1527
+ height: 100%;
1528
+ transform-origin: center center;
1529
+ width: 100%;
1520
1530
  position: absolute;
1521
1531
  top: 0;
1522
- right: 0;
1523
1532
  bottom: 0;
1524
1533
  left: 0;
1525
- background: rgba(0, 0, 0, 0.35);
1526
- transition: background 0.2s ease;
1527
- }
1528
-
1529
- .ImageGallery .previews .preview:hover:after {
1530
- background: rgba(0, 0, 0, 0.1);
1531
- }
1532
-
1533
- .ImageGallery .previews .preview.selected .border .line {
1534
- left: 0;
1535
- width: 100%;
1536
- }
1537
-
1538
- .ImageGallery .previews .preview.selected:after {
1539
- background: rgba(0, 0, 0, 0);
1540
- }
1541
-
1542
- .ImageGallery .previews > .arrow {
1543
- position: absolute;
1544
- top: 50%;
1545
- height: 30px;
1546
- width: 30px;
1547
- min-width: 30px;
1548
- min-height: 30px;
1549
- margin-top: -15px;
1534
+ right: 0;
1535
+ margin: auto;
1550
1536
  }
1551
1537
 
1552
- .ImageGallery .previews > .arrow.left {
1553
- left: 0;
1538
+ .SpinningProgress .line {
1539
+ stroke: black;
1540
+ stroke-width: 2px;
1541
+ stroke-dasharray: 1, 96;
1542
+ stroke-dashoffset: 0;
1543
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1554
1544
  }
1555
1545
 
1556
- .ImageGallery .previews > .arrow.right {
1557
- right: 0;
1546
+ @keyframes rotate {
1547
+ 100% {
1548
+ transform: rotate(360deg);
1549
+ }
1558
1550
  }
1559
-
1560
- .ImageGallery .previews > .arrow .material-icons {
1561
- font-size: 24px;
1551
+ @keyframes dash {
1552
+ 0% {
1553
+ stroke-dasharray: 1, 96;
1554
+ stroke-dashoffset: 0;
1555
+ }
1556
+ 50% {
1557
+ stroke-dasharray: 43, 96;
1558
+ stroke-dashoffset: -17px;
1559
+ }
1560
+ 100% {
1561
+ stroke-dasharray: 43, 96;
1562
+ stroke-dashoffset: -53px;
1563
+ }
1562
1564
  }
1563
-
1564
1565
  .DNDContainer .DroppableList .Draggable {
1565
1566
  transform: unset;
1566
1567
  transition: unset;
@@ -1660,6 +1661,14 @@
1660
1661
  margin-bottom: 8px;
1661
1662
  }
1662
1663
 
1664
+ .ScrollableTable .Scrollable .scrollbar {
1665
+ top: 56px;
1666
+ }
1667
+
1668
+ .ScrollableTable .Table {
1669
+ position: static;
1670
+ }
1671
+
1663
1672
  .Table {
1664
1673
  font-family: Roboto, sans-serif;
1665
1674
  font-size: 14px;
@@ -1772,12 +1781,4 @@
1772
1781
  height: 20px;
1773
1782
  padding: 0px;
1774
1783
  background-color: #f0f0f0;
1775
- }
1776
-
1777
- .ScrollableTable .Scrollable .scrollbar {
1778
- top: 56px;
1779
- }
1780
-
1781
- .ScrollableTable .Table {
1782
- position: static;
1783
1784
  }