react-ui-basics 0.0.180 → 0.0.181

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,169 +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
- -webkit-tap-highlight-color: transparent;
17
- display: inline-flex;
18
- justify-content: center;
19
- align-items: center;
20
- cursor: pointer;
21
- overflow: hidden;
22
- user-select: none;
23
- border-radius: 3px;
24
- transition: all 0.2s ease;
25
- }
26
-
27
- .Button.flat {
28
- background-color: transparent;
29
- }
30
-
31
- .Button.flat:hover {
32
- background-color: rgba(0, 0, 0, 0.05);
33
- }
34
-
35
- .Button.green {
36
- background-color: #43a047;
37
- color: white;
38
- }
39
-
40
- .Button.green:hover {
41
- background-color: #3b8e3f;
42
- }
43
-
44
- .Button.blue {
45
- background-color: #039be5;
46
- color: white;
47
- }
48
-
49
- .Button.blue:hover {
50
- background-color: #038acc;
51
- }
52
-
53
- .Button.red {
54
- background-color: #e53935;
55
- color: white;
56
- }
57
-
58
- .Button.red:hover {
59
- background-color: #e2231e;
60
- }
61
-
62
- .Button.black {
63
- background-color: #1e252d;
64
- color: white;
65
- }
66
-
67
- .Button.black:hover {
68
- background-color: #14181e;
69
- }
70
-
71
- .Button.gray {
72
- background: #D9D9D9;
73
- color: #999999;
74
- }
75
-
76
- .Button.gray:hover {
77
- background-color: #cccccc;
78
- }
79
-
80
- .Button.small {
81
- padding: 0px 8px;
82
- min-height: 16px;
83
- min-width: 16px;
84
- }
85
-
86
- .Button > .material-icons {
87
- margin-right: 10px;
88
- }
89
-
90
- .Button.round {
91
- padding: 0px;
92
- min-width: 36px;
93
- border-radius: 50%;
94
- }
95
-
96
- .Button.round > .material-icons {
97
- margin: 0px;
98
- }
99
-
100
- .Button .ripple {
101
- position: absolute;
102
- background: rgba(0, 0, 0, 0.1);
103
- border-radius: 100%;
104
- transform: scale(0);
105
- pointer-events: none;
106
- transition: opacity 0.2s ease-out;
107
- }
108
-
109
- .Button .ripple.show {
110
- animation: ripple 0.35s ease-out;
111
- }
112
-
113
- .Button:active .ripple.showed {
114
- opacity: 1;
115
- }
116
-
117
- .Button:focus .ripple.focused {
118
- opacity: 1;
119
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
120
- transform: scale(1);
121
- animation: resize 1.25s ease-out infinite;
122
- animation-delay: 0.2s;
123
- animation-direction: alternate;
124
- }
125
-
126
- .Button .ripple.showed {
127
- transform: scale(2);
128
- opacity: 0;
129
- }
130
-
131
- @keyframes ripple {
132
- to {
133
- transform: scale(2);
134
- }
135
- }
136
- @keyframes resize {
137
- to {
138
- transform: scale(0.9);
139
- }
140
- }
141
- .Button.raised {
142
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
143
- }
144
-
145
- .Button.raised:hover {
146
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
147
- }
148
-
149
- .Button.raised:active {
150
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
151
- }
152
-
153
- .Button.disabled {
154
- box-shadow: none;
155
- background: #D9D9D9;
156
- color: #999999;
157
- }
158
-
159
- .Button.disabled:hover {
160
- background-color: #cccccc;
161
- }
162
-
163
- .Button::-moz-focus-inner {
164
- border: 0;
165
- }
166
-
167
1
  .AutocompleteSelect {
168
2
  display: inline-flex;
169
3
  flex-flow: column;
@@ -459,93 +293,179 @@
459
293
  position: absolute;
460
294
  }
461
295
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
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;
316
+ overflow: hidden;
317
+ user-select: none;
318
+ border-radius: 3px;
319
+ transition: all 0.2s ease;
465
320
  }
466
321
 
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
322
+ .Button.flat {
323
+ background-color: transparent;
469
324
  }
470
325
 
471
- .CircleProgress {
472
- width: 48px;
473
- height: 48px;
326
+ .Button.flat:hover {
327
+ background-color: rgba(0, 0, 0, 0.05);
474
328
  }
475
329
 
476
- .CircleProgress .line {
477
- stroke-width: 2px;
478
- stroke: black;
479
- stroke-linecap: square;
480
- fill: none;
481
- transition: stroke-dashoffset 0.2s ease;
330
+ .Button.green {
331
+ background-color: #43a047;
332
+ color: white;
482
333
  }
483
334
 
484
- .Checkbox {
485
- position: relative;
486
- white-space: pre;
335
+ .Button.green:hover {
336
+ background-color: #3b8e3f;
487
337
  }
488
338
 
489
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
490
- box-sizing: border-box;
339
+ .Button.blue {
340
+ background-color: #039be5;
341
+ color: white;
491
342
  }
492
343
 
493
- .Checkbox label {
494
- font-family: Roboto, sans-serif;
495
- font-size: 14px;
496
- color: #1e252d;
497
- cursor: pointer;
344
+ .Button.blue:hover {
345
+ background-color: #038acc;
498
346
  }
499
347
 
500
- .Checkbox label:before, .Checkbox label:after {
501
- content: "";
502
- position: absolute;
503
- left: 0;
504
- top: 0;
348
+ .Button.red {
349
+ background-color: #e53935;
350
+ color: white;
505
351
  }
506
352
 
507
- .Checkbox label:before {
508
- width: 20px;
509
- height: 20px;
510
- background: #fff;
511
- border: 2px solid #252525;
512
- border-radius: 2px;
513
- cursor: pointer;
514
- transition: background 0.3s;
353
+ .Button.red:hover {
354
+ background-color: #e2231e;
515
355
  }
516
356
 
517
- .Checkbox input[type=checkbox] {
518
- outline: 0;
519
- margin-right: 10px;
520
- visibility: hidden;
357
+ .Button.black {
358
+ background-color: #1e252d;
359
+ color: white;
521
360
  }
522
361
 
523
- .Checkbox input[type=checkbox]:checked + label:before {
524
- background: #4AC263;
525
- border: none;
362
+ .Button.black:hover {
363
+ background-color: #14181e;
526
364
  }
527
365
 
528
- .Checkbox input[type=checkbox]:checked + label:after {
529
- transform: rotate(-45deg);
530
- top: 6px;
531
- left: 4px;
532
- width: 12px;
533
- height: 6px;
534
- border: 2px solid #fff;
535
- border-top-style: none;
536
- border-right-style: none;
366
+ .Button.gray {
367
+ background: #D9D9D9;
368
+ color: #999999;
537
369
  }
538
370
 
539
- .Checkbox input[type=checkbox]:disabled + label {
540
- color: gray;
371
+ .Button.gray:hover {
372
+ background-color: #cccccc;
541
373
  }
542
374
 
543
- .Checkbox input[type=checkbox]:disabled + label:before {
544
- border-color: rgba(0, 0, 0, 0.26);
375
+ .Button.small {
376
+ padding: 0px 8px;
377
+ min-height: 16px;
378
+ min-width: 16px;
545
379
  }
546
380
 
547
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
548
- background: rgba(0, 0, 0, 0.26);
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
+ .animated {
463
+ transition: opacity 250ms ease;
464
+ opacity: 0;
465
+ }
466
+
467
+ .animated.mounting, .animated.mounted {
468
+ opacity: 1;
549
469
  }
550
470
 
551
471
  .DialogModal {
@@ -590,6 +510,86 @@
590
510
  margin-bottom: 0;
591
511
  }
592
512
 
513
+ .Checkbox {
514
+ position: relative;
515
+ white-space: pre;
516
+ }
517
+
518
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
519
+ box-sizing: border-box;
520
+ }
521
+
522
+ .Checkbox label {
523
+ font-family: Roboto, sans-serif;
524
+ font-size: 14px;
525
+ color: #1e252d;
526
+ cursor: pointer;
527
+ }
528
+
529
+ .Checkbox label:before, .Checkbox label:after {
530
+ content: "";
531
+ position: absolute;
532
+ left: 0;
533
+ top: 0;
534
+ }
535
+
536
+ .Checkbox label:before {
537
+ width: 20px;
538
+ height: 20px;
539
+ background: #fff;
540
+ border: 2px solid #252525;
541
+ border-radius: 2px;
542
+ cursor: pointer;
543
+ transition: background 0.3s;
544
+ }
545
+
546
+ .Checkbox input[type=checkbox] {
547
+ outline: 0;
548
+ margin-right: 10px;
549
+ visibility: hidden;
550
+ }
551
+
552
+ .Checkbox input[type=checkbox]:checked + label:before {
553
+ background: #4AC263;
554
+ border: none;
555
+ }
556
+
557
+ .Checkbox input[type=checkbox]:checked + label:after {
558
+ transform: rotate(-45deg);
559
+ top: 6px;
560
+ left: 4px;
561
+ width: 12px;
562
+ height: 6px;
563
+ border: 2px solid #fff;
564
+ border-top-style: none;
565
+ border-right-style: none;
566
+ }
567
+
568
+ .Checkbox input[type=checkbox]:disabled + label {
569
+ color: gray;
570
+ }
571
+
572
+ .Checkbox input[type=checkbox]:disabled + label:before {
573
+ border-color: rgba(0, 0, 0, 0.26);
574
+ }
575
+
576
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
577
+ background: rgba(0, 0, 0, 0.26);
578
+ }
579
+
580
+ .CircleProgress {
581
+ width: 48px;
582
+ height: 48px;
583
+ }
584
+
585
+ .CircleProgress .line {
586
+ stroke-width: 2px;
587
+ stroke: black;
588
+ stroke-linecap: square;
589
+ fill: none;
590
+ transition: stroke-dashoffset 0.2s ease;
591
+ }
592
+
593
593
  .Dropzone {
594
594
  position: relative;
595
595
  }
@@ -650,136 +650,31 @@
650
650
  z-index: 1;
651
651
  }
652
652
 
653
- .FilteredList {
654
- max-height: 250px;
655
- position: relative;
656
- }
657
-
658
- .FilteredList.popup {
659
- padding: 0;
660
- visibility: hidden;
661
- position: absolute;
662
- background: white;
663
- z-index: 4;
664
- 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);
665
- transition: all 0.2s ease-out;
666
- top: calc(100% + 4px);
667
- opacity: 0;
668
- border-radius: 2px;
669
- }
670
-
671
- .FilteredList.popup.visible {
672
- opacity: 1;
673
- visibility: visible;
674
- }
675
-
676
- .FilteredList.inline {
677
- max-height: 225px;
678
- margin-top: 5px;
653
+ .DropFileInput {
654
+ flex-grow: 1;
679
655
  }
680
656
 
681
- .FilteredList .child {
657
+ .DropFileInput .Dropzone {
658
+ border: 1px dashed #808080;
659
+ padding: 12px;
682
660
  display: flex;
683
661
  flex-flow: row nowrap;
662
+ justify-content: center;
684
663
  align-items: center;
685
- white-space: nowrap;
686
- font-size: 14px;
687
- color: #222222;
688
- height: 30px;
689
- padding: 5px 10px;
690
- padding-right: 15px;
664
+ color: gray;
691
665
  cursor: pointer;
692
- overflow: hidden;
693
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
694
- border-left: 5px solid #4AC263;
695
- padding-left: 15px;
696
- margin-left: -5px;
666
+ border-radius: 3px;
667
+ font-weight: normal;
668
+ line-height: 22px;
669
+ font-size: 14px;
670
+ color: #7E7E7E;
671
+ max-width: 100%;
672
+ word-break: break-all;
673
+ word-break: break-word;
697
674
  }
698
675
 
699
- .FilteredList .child.hidden {
700
- height: 0 !important;
701
- padding: 0 !important;
702
- }
703
-
704
- .FilteredList .child.selected {
705
- background-color: #F0F0F0;
706
- padding-left: 10px;
707
- margin-left: 0px;
708
- }
709
-
710
- .FilteredList .child.active {
711
- background-color: #eeeeee;
712
- }
713
-
714
- .FilteredList .child {
715
- margin-top: 8px;
716
- }
717
-
718
- .FilteredList .child.hidden {
719
- margin-top: 0;
720
- }
721
-
722
- .FilteredList .child:not(.hidden) ~ .child {
723
- margin-top: 0;
724
- }
725
-
726
- .FilteredList .child:not(.hidden) ~ .child:last-child {
727
- margin-bottom: 8px;
728
- }
729
-
730
- .FilteredList .child:not(.hidden):last-child {
731
- margin-bottom: 8px;
732
- }
733
-
734
- .Button.FloatingActionButton {
735
- position: absolute;
736
- right: 16px;
737
- bottom: 16px;
738
- width: 56px;
739
- height: 56px;
740
- padding: 16px;
741
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
742
- }
743
-
744
- .Button.FloatingActionButton.raised {
745
- 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);
746
- }
747
-
748
- .Button.FloatingActionButton.mini {
749
- width: 40px;
750
- height: 40px;
751
- padding: 8px;
752
- }
753
-
754
- .Button.FloatingActionButton.hidden {
755
- bottom: -100px;
756
- }
757
-
758
- .DropFileInput {
759
- flex-grow: 1;
760
- }
761
-
762
- .DropFileInput .Dropzone {
763
- border: 1px dashed #808080;
764
- padding: 12px;
765
- display: flex;
766
- flex-flow: row nowrap;
767
- justify-content: center;
768
- align-items: center;
769
- color: gray;
770
- cursor: pointer;
771
- border-radius: 3px;
772
- font-weight: normal;
773
- line-height: 22px;
774
- font-size: 14px;
775
- color: #7E7E7E;
776
- max-width: 100%;
777
- word-break: break-all;
778
- word-break: break-word;
779
- }
780
-
781
- .DropFileInput .Dropzone .icon.withText {
782
- margin-right: 10px;
676
+ .DropFileInput .Dropzone .icon.withText {
677
+ margin-right: 10px;
783
678
  }
784
679
 
785
680
  .FormUploadProgress {
@@ -851,148 +746,163 @@
851
746
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
852
747
  }
853
748
 
854
- .Scrollable {
855
- max-height: 250px;
856
- max-width: 250px;
857
- padding-right: 5px;
858
- position: relative;
859
- display: flex;
860
- flex-flow: column;
861
- align-items: stretch;
862
- overflow: hidden;
863
- }
864
-
865
- .Scrollable:hover > .scrollbar.auto {
866
- transition-delay: 0s;
867
- opacity: 1;
749
+ .Button.FloatingActionButton {
750
+ position: absolute;
751
+ right: 16px;
752
+ bottom: 16px;
753
+ width: 56px;
754
+ height: 56px;
755
+ padding: 16px;
756
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
868
757
  }
869
758
 
870
- .Scrollable .viewport {
871
- overflow-y: scroll;
872
- overflow-x: scroll;
873
- max-height: 100%;
874
- scroll-behavior: smooth;
875
- scrollbar-width: none;
759
+ .Button.FloatingActionButton.raised {
760
+ 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);
876
761
  }
877
762
 
878
- .Scrollable .viewport::-webkit-scrollbar {
879
- display: none;
763
+ .Button.FloatingActionButton.mini {
764
+ width: 40px;
765
+ height: 40px;
766
+ padding: 8px;
880
767
  }
881
768
 
882
- .Scrollable.without-scroll-horizontal {
883
- max-width: unset;
769
+ .Button.FloatingActionButton.hidden {
770
+ bottom: -100px;
884
771
  }
885
772
 
886
- .Scrollable.without-scroll {
887
- padding-right: 0;
888
- max-height: unset;
773
+ .FilteredList {
774
+ max-height: 250px;
775
+ position: relative;
889
776
  }
890
777
 
891
- .Scrollable.without-scroll > .viewport {
892
- padding-right: 0;
893
- margin-right: 0;
778
+ .FilteredList.popup {
779
+ padding: 0;
780
+ visibility: hidden;
781
+ position: absolute;
782
+ background: white;
783
+ z-index: 4;
784
+ 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);
785
+ transition: all 0.2s ease-out;
786
+ top: calc(100% + 4px);
787
+ opacity: 0;
788
+ border-radius: 2px;
894
789
  }
895
790
 
896
- .Scrollable.without-scroll > .scrollbar {
897
- visibility: hidden;
791
+ .FilteredList.popup.visible {
792
+ opacity: 1;
793
+ visibility: visible;
898
794
  }
899
795
 
900
- .Scrollable .scrollbar {
901
- position: absolute;
902
- right: 0px;
903
- top: 0px;
904
- width: 5px;
905
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
906
- transition-delay: 0.5s;
907
- z-index: 1;
796
+ .FilteredList.inline {
797
+ max-height: 225px;
798
+ margin-top: 5px;
908
799
  }
909
800
 
910
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
911
- opacity: 0;
801
+ .FilteredList .child {
802
+ display: flex;
803
+ flex-flow: row nowrap;
804
+ align-items: center;
805
+ white-space: nowrap;
806
+ font-size: 14px;
807
+ color: #222222;
808
+ height: 30px;
809
+ padding: 5px 10px;
810
+ padding-right: 15px;
811
+ cursor: pointer;
812
+ overflow: hidden;
813
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
814
+ border-left: 5px solid #4AC263;
815
+ padding-left: 15px;
816
+ margin-left: -5px;
912
817
  }
913
818
 
914
- .Scrollable .scrollbar .thumb {
915
- background-color: rgba(0, 0, 0, 0.3);
916
- width: 5px;
917
- position: absolute;
918
- right: 0px;
919
- top: 0px;
920
- user-select: none;
921
- will-change: top;
922
- border-radius: 2px;
819
+ .FilteredList .child.hidden {
820
+ height: 0 !important;
821
+ padding: 0 !important;
923
822
  }
924
823
 
925
- .Scrollable .scrollbar .thumb:hover {
926
- background-color: rgba(0, 0, 0, 0.5);
824
+ .FilteredList .child.selected {
825
+ background-color: #F0F0F0;
826
+ padding-left: 10px;
827
+ margin-left: 0px;
927
828
  }
928
829
 
929
- .Scrollable .scrollbar .thumb:active {
930
- background-color: rgba(0, 0, 0, 0.7);
830
+ .FilteredList .child.active {
831
+ background-color: #eeeeee;
931
832
  }
932
833
 
933
- .Scrollable .scrollbar.horizontal {
934
- left: 0px;
935
- right: 0px;
936
- height: 5px;
937
- bottom: 0;
938
- width: unset;
939
- top: unset;
834
+ .FilteredList .child {
835
+ margin-top: 8px;
940
836
  }
941
837
 
942
- .Scrollable .scrollbar.horizontal .thumb {
943
- height: 5px;
944
- left: 0px;
945
- bottom: 0px;
946
- will-change: left;
838
+ .FilteredList .child.hidden {
839
+ margin-top: 0;
947
840
  }
948
841
 
949
- .DNDContainer {
950
- position: relative;
842
+ .FilteredList .child:not(.hidden) ~ .child {
843
+ margin-top: 0;
951
844
  }
952
845
 
953
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
954
- cursor: pointer;
846
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
847
+ margin-bottom: 8px;
955
848
  }
956
849
 
957
- .DNDContainer .Draggable.placeholder {
958
- opacity: 0.2;
850
+ .FilteredList .child:not(.hidden):last-child {
851
+ margin-bottom: 8px;
959
852
  }
960
853
 
961
- .DNDContainer .Draggable.copy {
854
+ .ModalMenu {
962
855
  position: absolute;
963
- box-sizing: border-box;
964
- will-change: transform;
965
- opacity: 0;
856
+ top: 10px;
857
+ right: 50px;
966
858
  }
967
859
 
968
- .DNDContainer .Draggable.dragged {
969
- z-index: 10;
860
+ .ModalMenu .material-icons {
861
+ color: #818181;
970
862
  }
971
863
 
972
- .DNDContainer .overlay {
864
+ .ModalMenu .Button.animated {
973
865
  position: absolute;
974
- top: 0;
975
- left: 0;
866
+ transition: opacity 150ms ease-in, right 200ms ease-in;
867
+ opacity: 0;
976
868
  right: 0;
977
- bottom: 0;
978
- pointer-events: none;
979
- }
980
-
981
- .Modal {
982
- display: block;
983
- position: fixed;
984
869
  top: 0;
985
- left: 0;
986
- right: 0;
987
- bottom: 100%;
988
- overflow-y: scroll;
989
- transition: bottom 0ms linear;
990
- transition-delay: 0.2s;
991
870
  }
992
871
 
993
- .Modal.show {
994
- transition-delay: 0s;
995
- bottom: 0;
872
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
873
+ opacity: 1;
874
+ }
875
+
876
+ .ModalMenu .Button.animated.unmounting {
877
+ transition: opacity 100ms ease-out, right 200ms ease-out;
878
+ }
879
+
880
+ .ModalMenu .Button.active {
881
+ background: #EBEBEB;
882
+ }
883
+
884
+ .ModalMenu .separator {
885
+ height: 24px;
886
+ width: 1px;
887
+ background-color: #D9D9D9;
888
+ margin-left: 4px;
889
+ }
890
+
891
+ .Modal {
892
+ display: block;
893
+ position: fixed;
894
+ top: 0;
895
+ left: 0;
896
+ right: 0;
897
+ bottom: 100%;
898
+ overflow-y: scroll;
899
+ transition: bottom 0ms linear;
900
+ transition-delay: 0.2s;
901
+ }
902
+
903
+ .Modal.show {
904
+ transition-delay: 0s;
905
+ bottom: 0;
996
906
  }
997
907
 
998
908
  .Modal > .overlay {
@@ -1048,43 +958,6 @@
1048
958
  position: absolute;
1049
959
  }
1050
960
 
1051
- .ModalMenu {
1052
- position: absolute;
1053
- top: 10px;
1054
- right: 50px;
1055
- }
1056
-
1057
- .ModalMenu .material-icons {
1058
- color: #818181;
1059
- }
1060
-
1061
- .ModalMenu .Button.animated {
1062
- position: absolute;
1063
- transition: opacity 150ms ease-in, right 200ms ease-in;
1064
- opacity: 0;
1065
- right: 0;
1066
- top: 0;
1067
- }
1068
-
1069
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1070
- opacity: 1;
1071
- }
1072
-
1073
- .ModalMenu .Button.animated.unmounting {
1074
- transition: opacity 100ms ease-out, right 200ms ease-out;
1075
- }
1076
-
1077
- .ModalMenu .Button.active {
1078
- background: #EBEBEB;
1079
- }
1080
-
1081
- .ModalMenu .separator {
1082
- height: 24px;
1083
- width: 1px;
1084
- background-color: #D9D9D9;
1085
- margin-left: 4px;
1086
- }
1087
-
1088
961
  .Snackbar {
1089
962
  transform: translateX(-50%);
1090
963
  overflow: hidden;
@@ -1130,147 +1003,334 @@
1130
1003
  color: #bf3727;
1131
1004
  }
1132
1005
 
1133
- .TextField {
1134
- position: relative;
1135
- width: 100%;
1006
+ .ImageGallery {
1007
+ position: fixed;
1008
+ top: 0;
1009
+ left: 0;
1010
+ bottom: 0;
1011
+ right: 0;
1012
+ z-index: 1000;
1013
+ background-color: rgba(0, 0, 0, 0.01);
1014
+ user-select: none;
1136
1015
  }
1137
1016
 
1138
- .TextField > label {
1139
- font-family: Roboto, sans-serif;
1140
- color: rgba(0, 0, 0, 0.3);
1141
- font-size: 16px;
1017
+ .ImageGallery:focus {
1018
+ outline-width: 0px;
1019
+ }
1020
+
1021
+ .ImageGallery.animated {
1022
+ transition: background-color 0.25s ease;
1023
+ opacity: 1;
1024
+ }
1025
+
1026
+ .ImageGallery.mounting, .ImageGallery.mounted {
1027
+ background-color: rgba(0, 0, 0, 0.8);
1028
+ }
1029
+
1030
+ .ImageGallery .image {
1142
1031
  position: absolute;
1143
- left: 0px;
1144
- top: 16px;
1145
- margin-top: -16px;
1146
- transition: all 0.2s ease;
1147
- user-select: none;
1148
- cursor: text;
1032
+ cursor: grab;
1149
1033
  }
1150
1034
 
1151
- .TextField > input {
1152
- font-family: Roboto, sans-serif;
1153
- color: #1e252d;
1154
- height: 19px;
1155
- font-size: 16px;
1156
- width: 100%;
1157
- border: 0px;
1158
- padding-bottom: 4px;
1159
- padding-top: 0;
1160
- outline-color: rgba(0, 0, 0, 0);
1035
+ .ImageGallery .image .counter {
1036
+ display: none;
1161
1037
  }
1162
1038
 
1163
- .TextField > input:focus {
1164
- outline: none;
1039
+ .ImageGallery .image img {
1040
+ border-radius: 4px;
1041
+ max-width: 100%;
1042
+ min-width: 100%;
1165
1043
  }
1166
1044
 
1167
- .TextField > input:disabled {
1168
- color: gray;
1169
- background-color: white;
1045
+ .ImageGallery .image.animated {
1046
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1047
+ will-change: top, left, width, height, opacity;
1170
1048
  }
1171
1049
 
1172
- .TextField > input:disabled + .border {
1173
- height: 0px;
1174
- border-bottom: 2px dotted #e0e0e0;
1050
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1051
+ opacity: 1;
1175
1052
  }
1176
1053
 
1177
- .TextField > input::placeholder {
1178
- font-family: Roboto, sans-serif;
1179
- color: rgba(0, 0, 0, 0.3);
1054
+ .ImageGallery .image.zoomed {
1055
+ text-align: center;
1056
+ overflow: hidden;
1057
+ }
1058
+
1059
+ .ImageGallery .image.dragging {
1060
+ transition: none;
1061
+ cursor: move;
1062
+ }
1063
+
1064
+ .ImageGallery .image .close {
1065
+ position: absolute;
1066
+ top: -18px;
1067
+ right: -18px;
1068
+ }
1069
+
1070
+ .ImageGallery .image .spinner {
1071
+ position: absolute;
1072
+ top: 0;
1073
+ bottom: 0;
1074
+ left: 0;
1075
+ right: 0;
1076
+ background: rgba(0, 0, 0, 0.65);
1077
+ }
1078
+
1079
+ .ImageGallery .image .spinner .SpinningProgress {
1080
+ position: absolute;
1081
+ top: 50%;
1082
+ left: 50%;
1083
+ margin-left: -24px;
1084
+ margin-top: -24px;
1085
+ }
1086
+
1087
+ .ImageGallery .image .spinner .SpinningProgress .line {
1088
+ stroke: #2196F3;
1089
+ }
1090
+
1091
+ .ImageGallery .Button.animated {
1092
+ transition: all 0.25s ease;
1093
+ opacity: 0;
1094
+ transform: scale(0);
1095
+ }
1096
+
1097
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1180
1098
  opacity: 1;
1099
+ transform: scale(1);
1181
1100
  }
1182
1101
 
1183
- .TextField > .border {
1184
- border-bottom: 1px solid #e0e0e0;
1185
- height: 1px;
1102
+ .ImageGallery .Button {
1103
+ color: white;
1104
+ background: rgba(0, 0, 0, 0.4);
1105
+ }
1106
+
1107
+ .ImageGallery .Button:hover {
1108
+ background: rgba(0, 0, 0, 0.7);
1109
+ }
1110
+
1111
+ .ImageGallery > .arrow {
1112
+ position: absolute;
1113
+ top: 50%;
1114
+ height: 76px;
1115
+ width: 76px;
1116
+ margin-top: -38px;
1117
+ }
1118
+
1119
+ .ImageGallery > .arrow.left {
1120
+ left: 5%;
1121
+ }
1122
+
1123
+ .ImageGallery > .arrow.right {
1124
+ right: 5%;
1125
+ }
1126
+
1127
+ .ImageGallery > .arrow .material-icons {
1128
+ font-size: 40px;
1129
+ }
1130
+
1131
+ .ImageGallery .counter {
1132
+ position: absolute;
1133
+ top: 10px;
1134
+ left: 10px;
1135
+ color: white;
1136
+ font-size: 13px;
1137
+ }
1138
+
1139
+ .ImageGallery .previews {
1140
+ height: 80px;
1141
+ position: absolute;
1142
+ bottom: 15px;
1143
+ left: 50%;
1144
+ transform: translateX(-50%);
1145
+ padding: 0 45px;
1146
+ }
1147
+
1148
+ .ImageGallery .previews .viewport {
1149
+ overflow: hidden;
1186
1150
  position: relative;
1151
+ height: 100%;
1187
1152
  }
1188
1153
 
1189
- .TextField > .border .line {
1154
+ .ImageGallery .previews .container {
1155
+ position: relative;
1156
+ display: flex;
1157
+ flex-flow: row nowrap;
1158
+ height: 100%;
1159
+ transition: left 0.25s ease;
1160
+ }
1161
+
1162
+ .ImageGallery .previews .preview {
1163
+ position: relative;
1164
+ height: 100%;
1165
+ display: inline-block;
1166
+ width: 106.66px;
1167
+ overflow: hidden;
1168
+ margin-left: 12px;
1169
+ border-radius: 2px;
1170
+ cursor: pointer;
1171
+ box-sizing: border-box;
1172
+ }
1173
+
1174
+ .ImageGallery .previews .preview:first-child {
1175
+ margin-left: 0;
1176
+ }
1177
+
1178
+ .ImageGallery .previews .preview > .border {
1179
+ position: absolute;
1180
+ bottom: 0;
1181
+ width: 100%;
1182
+ height: 3px;
1183
+ }
1184
+
1185
+ .ImageGallery .previews .preview > .border .line {
1190
1186
  left: 50%;
1191
1187
  width: 0;
1192
- height: 2px;
1193
- min-height: 2px;
1194
- background-color: #00bcd4;
1188
+ height: 3px;
1189
+ min-height: 3px;
1190
+ background-color: #4AC263;
1195
1191
  transition: all 0.2s ease;
1196
1192
  position: absolute;
1197
1193
  }
1198
1194
 
1199
- .TextField > .error {
1200
- text-align: left;
1201
- font-size: 10px;
1202
- min-height: 0;
1203
- line-height: 14px;
1204
- color: #f44336;
1205
- visibility: hidden;
1206
- opacity: 0;
1207
- transition: all 0.2s ease;
1195
+ .ImageGallery .previews .preview:after {
1196
+ content: "";
1197
+ position: absolute;
1198
+ top: 0;
1199
+ right: 0;
1200
+ bottom: 0;
1201
+ left: 0;
1202
+ background: rgba(0, 0, 0, 0.35);
1203
+ transition: background 0.2s ease;
1208
1204
  }
1209
1205
 
1210
- .TextField.focused > label, .TextField.withValue > label {
1211
- top: 4px;
1212
- font-size: 12px;
1213
- line-height: 14px;
1206
+ .ImageGallery .previews .preview:hover:after {
1207
+ background: rgba(0, 0, 0, 0.1);
1208
+ }
1209
+
1210
+ .ImageGallery .previews .preview.selected .border .line {
1211
+ left: 0;
1212
+ width: 100%;
1213
+ }
1214
+
1215
+ .ImageGallery .previews .preview.selected:after {
1216
+ background: rgba(0, 0, 0, 0);
1217
+ }
1218
+
1219
+ .ImageGallery .previews > .arrow {
1220
+ position: absolute;
1221
+ top: 50%;
1222
+ height: 30px;
1223
+ width: 30px;
1224
+ min-width: 30px;
1225
+ min-height: 30px;
1226
+ margin-top: -15px;
1227
+ }
1228
+
1229
+ .ImageGallery .previews > .arrow.left {
1230
+ left: 0;
1231
+ }
1232
+
1233
+ .ImageGallery .previews > .arrow.right {
1234
+ right: 0;
1235
+ }
1236
+
1237
+ .ImageGallery .previews > .arrow .material-icons {
1238
+ font-size: 24px;
1239
+ }
1240
+
1241
+ .Scrollable {
1242
+ max-height: 250px;
1243
+ max-width: 250px;
1244
+ padding-right: 5px;
1245
+ position: relative;
1246
+ display: flex;
1247
+ flex-flow: column;
1248
+ align-items: stretch;
1249
+ overflow: hidden;
1250
+ }
1251
+
1252
+ .Scrollable:hover > .scrollbar.auto {
1253
+ transition-delay: 0s;
1254
+ opacity: 1;
1255
+ }
1256
+
1257
+ .Scrollable .viewport {
1258
+ overflow-y: scroll;
1259
+ overflow-x: scroll;
1260
+ max-height: 100%;
1261
+ scroll-behavior: smooth;
1262
+ scrollbar-width: none;
1214
1263
  }
1215
1264
 
1216
- .TextField.errored > .error {
1217
- visibility: visible;
1218
- opacity: 1;
1265
+ .Scrollable .viewport::-webkit-scrollbar {
1266
+ display: none;
1219
1267
  }
1220
1268
 
1221
- .TextField.errored > .border {
1222
- border-bottom-color: #f44336;
1269
+ .Scrollable.without-scroll-horizontal {
1270
+ max-width: unset;
1223
1271
  }
1224
1272
 
1225
- .TextField.errored > label {
1226
- color: #f44336;
1273
+ .Scrollable.without-scroll {
1274
+ padding-right: 0;
1275
+ max-height: unset;
1227
1276
  }
1228
1277
 
1229
- .TextField.focused > label {
1230
- color: #00bcd4;
1278
+ .Scrollable.without-scroll > .viewport {
1279
+ padding-right: 0;
1280
+ margin-right: 0;
1231
1281
  }
1232
1282
 
1233
- .TextField.focused > .border .line {
1234
- left: 0;
1235
- width: 100%;
1283
+ .Scrollable.without-scroll > .scrollbar {
1284
+ visibility: hidden;
1236
1285
  }
1237
1286
 
1238
- .TextField.disabled label, .TextField.disabled input {
1239
- cursor: not-allowed;
1287
+ .Scrollable .scrollbar {
1288
+ position: absolute;
1289
+ right: 0px;
1290
+ top: 0px;
1291
+ width: 5px;
1292
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1293
+ transition-delay: 0.5s;
1294
+ z-index: 1;
1240
1295
  }
1241
1296
 
1242
- .TextField.withLabel {
1243
- margin-top: 15px;
1297
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1298
+ opacity: 0;
1244
1299
  }
1245
1300
 
1246
- .TextField input::-webkit-contacts-auto-fill-button {
1247
- visibility: hidden;
1248
- display: none !important;
1249
- pointer-events: none;
1301
+ .Scrollable .scrollbar .thumb {
1302
+ background-color: rgba(0, 0, 0, 0.3);
1303
+ width: 5px;
1250
1304
  position: absolute;
1251
- right: 0;
1305
+ right: 0px;
1306
+ top: 0px;
1307
+ user-select: none;
1308
+ will-change: top;
1309
+ border-radius: 2px;
1252
1310
  }
1253
1311
 
1254
- .TextField input:-webkit-autofill {
1255
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1312
+ .Scrollable .scrollbar .thumb:hover {
1313
+ background-color: rgba(0, 0, 0, 0.5);
1256
1314
  }
1257
1315
 
1258
- @keyframes shake {
1259
- 0%, 100% {
1260
- transform: translateX(0);
1261
- }
1262
- 20%, 60% {
1263
- transform: translateX(-5px);
1264
- }
1265
- 40%, 80% {
1266
- transform: translateX(5px);
1267
- }
1316
+ .Scrollable .scrollbar .thumb:active {
1317
+ background-color: rgba(0, 0, 0, 0.7);
1268
1318
  }
1269
- .TextField .shake {
1270
- animation-duration: 0.5s;
1271
- animation-fill-mode: both;
1272
- animation-timing-function: ease-in-out;
1273
- animation-name: shake;
1319
+
1320
+ .Scrollable .scrollbar.horizontal {
1321
+ left: 0px;
1322
+ right: 0px;
1323
+ height: 5px;
1324
+ bottom: 0;
1325
+ width: unset;
1326
+ top: unset;
1327
+ }
1328
+
1329
+ .Scrollable .scrollbar.horizontal .thumb {
1330
+ height: 5px;
1331
+ left: 0px;
1332
+ bottom: 0px;
1333
+ will-change: left;
1274
1334
  }
1275
1335
 
1276
1336
  .Switch {
@@ -1355,310 +1415,218 @@
1355
1415
  display: none;
1356
1416
  }
1357
1417
 
1358
- .SpinningProgress {
1359
- width: 48px;
1360
- height: 48px;
1418
+ .TextField {
1361
1419
  position: relative;
1362
- margin: 0 auto;
1363
- }
1364
-
1365
- .SpinningProgress:before {
1366
- content: "";
1367
- display: block;
1368
- padding-top: 100%;
1369
- }
1370
-
1371
- .SpinningProgress .circular {
1372
- animation: rotate 2s linear infinite;
1373
- height: 100%;
1374
- transform-origin: center center;
1375
1420
  width: 100%;
1376
- position: absolute;
1377
- top: 0;
1378
- bottom: 0;
1379
- left: 0;
1380
- right: 0;
1381
- margin: auto;
1382
- }
1383
-
1384
- .SpinningProgress .line {
1385
- stroke: black;
1386
- stroke-width: 2px;
1387
- stroke-dasharray: 1, 96;
1388
- stroke-dashoffset: 0;
1389
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1390
- }
1391
-
1392
- @keyframes rotate {
1393
- 100% {
1394
- transform: rotate(360deg);
1395
- }
1396
- }
1397
- @keyframes dash {
1398
- 0% {
1399
- stroke-dasharray: 1, 96;
1400
- stroke-dashoffset: 0;
1401
- }
1402
- 50% {
1403
- stroke-dasharray: 43, 96;
1404
- stroke-dashoffset: -17px;
1405
- }
1406
- 100% {
1407
- stroke-dasharray: 43, 96;
1408
- stroke-dashoffset: -53px;
1409
- }
1410
- }
1411
- .DNDContainer .DroppableList .Draggable {
1412
- transform: unset;
1413
- transition: unset;
1414
- opacity: 1;
1415
1421
  }
1416
1422
 
1417
- .DNDContainer .DroppableList .Draggable.dragged {
1418
- transition: unset !important;
1419
- }
1420
-
1421
- .DNDContainer .DroppableList.hover .Draggable {
1422
- transition: transform 0.2s ease-in;
1423
- }
1424
-
1425
- .DNDContainer .DroppableList.resetting .Draggable {
1426
- transition: transform 0.1s ease-in;
1427
- }
1428
-
1429
- .ImageGallery {
1430
- position: fixed;
1431
- top: 0;
1432
- left: 0;
1433
- bottom: 0;
1434
- right: 0;
1435
- z-index: 1000;
1436
- background-color: rgba(0, 0, 0, 0.01);
1423
+ .TextField > label {
1424
+ font-family: Roboto, sans-serif;
1425
+ color: rgba(0, 0, 0, 0.3);
1426
+ font-size: 16px;
1427
+ position: absolute;
1428
+ left: 0px;
1429
+ top: 16px;
1430
+ margin-top: -16px;
1431
+ transition: all 0.2s ease;
1437
1432
  user-select: none;
1433
+ cursor: text;
1438
1434
  }
1439
1435
 
1440
- .ImageGallery:focus {
1441
- outline-width: 0px;
1442
- }
1443
-
1444
- .ImageGallery.animated {
1445
- transition: background-color 0.25s ease;
1446
- opacity: 1;
1447
- }
1448
-
1449
- .ImageGallery.mounting, .ImageGallery.mounted {
1450
- background-color: rgba(0, 0, 0, 0.8);
1451
- }
1452
-
1453
- .ImageGallery .image {
1454
- position: absolute;
1455
- cursor: grab;
1436
+ .TextField > input {
1437
+ font-family: Roboto, sans-serif;
1438
+ color: #1e252d;
1439
+ height: 19px;
1440
+ font-size: 16px;
1441
+ width: 100%;
1442
+ border: 0px;
1443
+ padding-bottom: 4px;
1444
+ padding-top: 0;
1445
+ outline-color: rgba(0, 0, 0, 0);
1456
1446
  }
1457
1447
 
1458
- .ImageGallery .image .counter {
1459
- display: none;
1448
+ .TextField > input:focus {
1449
+ outline: none;
1460
1450
  }
1461
1451
 
1462
- .ImageGallery .image img {
1463
- border-radius: 4px;
1464
- max-width: 100%;
1465
- min-width: 100%;
1452
+ .TextField > input:disabled {
1453
+ color: gray;
1454
+ background-color: white;
1466
1455
  }
1467
1456
 
1468
- .ImageGallery .image.animated {
1469
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1470
- will-change: top, left, width, height, opacity;
1457
+ .TextField > input:disabled + .border {
1458
+ height: 0px;
1459
+ border-bottom: 2px dotted #e0e0e0;
1471
1460
  }
1472
1461
 
1473
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1462
+ .TextField > input::placeholder {
1463
+ font-family: Roboto, sans-serif;
1464
+ color: rgba(0, 0, 0, 0.3);
1474
1465
  opacity: 1;
1475
1466
  }
1476
1467
 
1477
- .ImageGallery .image.zoomed {
1478
- text-align: center;
1479
- overflow: hidden;
1480
- }
1481
-
1482
- .ImageGallery .image.dragging {
1483
- transition: none;
1484
- cursor: move;
1485
- }
1486
-
1487
- .ImageGallery .image .close {
1488
- position: absolute;
1489
- top: -18px;
1490
- right: -18px;
1491
- }
1492
-
1493
- .ImageGallery .image .spinner {
1494
- position: absolute;
1495
- top: 0;
1496
- bottom: 0;
1497
- left: 0;
1498
- right: 0;
1499
- background: rgba(0, 0, 0, 0.65);
1500
- }
1501
-
1502
- .ImageGallery .image .spinner .SpinningProgress {
1503
- position: absolute;
1504
- top: 50%;
1505
- left: 50%;
1506
- margin-left: -24px;
1507
- margin-top: -24px;
1468
+ .TextField > .border {
1469
+ border-bottom: 1px solid #e0e0e0;
1470
+ height: 1px;
1471
+ position: relative;
1508
1472
  }
1509
1473
 
1510
- .ImageGallery .image .spinner .SpinningProgress .line {
1511
- stroke: #2196F3;
1474
+ .TextField > .border .line {
1475
+ left: 50%;
1476
+ width: 0;
1477
+ height: 2px;
1478
+ min-height: 2px;
1479
+ background-color: #00bcd4;
1480
+ transition: all 0.2s ease;
1481
+ position: absolute;
1512
1482
  }
1513
1483
 
1514
- .ImageGallery .Button.animated {
1515
- transition: all 0.25s ease;
1484
+ .TextField > .error {
1485
+ text-align: left;
1486
+ font-size: 10px;
1487
+ min-height: 0;
1488
+ line-height: 14px;
1489
+ color: #f44336;
1490
+ visibility: hidden;
1516
1491
  opacity: 0;
1517
- transform: scale(0);
1492
+ transition: all 0.2s ease;
1518
1493
  }
1519
1494
 
1520
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1521
- opacity: 1;
1522
- transform: scale(1);
1495
+ .TextField.focused > label, .TextField.withValue > label {
1496
+ top: 4px;
1497
+ font-size: 12px;
1498
+ line-height: 14px;
1523
1499
  }
1524
1500
 
1525
- .ImageGallery .Button {
1526
- color: white;
1527
- background: rgba(0, 0, 0, 0.4);
1501
+ .TextField.errored > .error {
1502
+ visibility: visible;
1503
+ opacity: 1;
1528
1504
  }
1529
1505
 
1530
- .ImageGallery .Button:hover {
1531
- background: rgba(0, 0, 0, 0.7);
1506
+ .TextField.errored > .border {
1507
+ border-bottom-color: #f44336;
1532
1508
  }
1533
1509
 
1534
- .ImageGallery > .arrow {
1535
- position: absolute;
1536
- top: 50%;
1537
- height: 76px;
1538
- width: 76px;
1539
- margin-top: -38px;
1510
+ .TextField.errored > label {
1511
+ color: #f44336;
1540
1512
  }
1541
1513
 
1542
- .ImageGallery > .arrow.left {
1543
- left: 5%;
1514
+ .TextField.focused > label {
1515
+ color: #00bcd4;
1544
1516
  }
1545
1517
 
1546
- .ImageGallery > .arrow.right {
1547
- right: 5%;
1518
+ .TextField.focused > .border .line {
1519
+ left: 0;
1520
+ width: 100%;
1548
1521
  }
1549
1522
 
1550
- .ImageGallery > .arrow .material-icons {
1551
- font-size: 40px;
1523
+ .TextField.disabled label, .TextField.disabled input {
1524
+ cursor: not-allowed;
1552
1525
  }
1553
1526
 
1554
- .ImageGallery .counter {
1555
- position: absolute;
1556
- top: 10px;
1557
- left: 10px;
1558
- color: white;
1559
- font-size: 13px;
1527
+ .TextField.withLabel {
1528
+ margin-top: 15px;
1560
1529
  }
1561
1530
 
1562
- .ImageGallery .previews {
1563
- height: 80px;
1531
+ .TextField input::-webkit-contacts-auto-fill-button {
1532
+ visibility: hidden;
1533
+ display: none !important;
1534
+ pointer-events: none;
1564
1535
  position: absolute;
1565
- bottom: 15px;
1566
- left: 50%;
1567
- transform: translateX(-50%);
1568
- padding: 0 45px;
1536
+ right: 0;
1569
1537
  }
1570
1538
 
1571
- .ImageGallery .previews .viewport {
1572
- overflow: hidden;
1573
- position: relative;
1574
- height: 100%;
1539
+ .TextField input:-webkit-autofill {
1540
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1575
1541
  }
1576
1542
 
1577
- .ImageGallery .previews .container {
1578
- position: relative;
1579
- display: flex;
1580
- flex-flow: row nowrap;
1581
- height: 100%;
1582
- transition: left 0.25s ease;
1543
+ @keyframes shake {
1544
+ 0%, 100% {
1545
+ transform: translateX(0);
1546
+ }
1547
+ 20%, 60% {
1548
+ transform: translateX(-5px);
1549
+ }
1550
+ 40%, 80% {
1551
+ transform: translateX(5px);
1552
+ }
1553
+ }
1554
+ .TextField .shake {
1555
+ animation-duration: 0.5s;
1556
+ animation-fill-mode: both;
1557
+ animation-timing-function: ease-in-out;
1558
+ animation-name: shake;
1583
1559
  }
1584
1560
 
1585
- .ImageGallery .previews .preview {
1561
+ .SpinningProgress {
1562
+ width: 48px;
1563
+ height: 48px;
1586
1564
  position: relative;
1587
- height: 100%;
1588
- display: inline-block;
1589
- width: 106.66px;
1590
- overflow: hidden;
1591
- margin-left: 12px;
1592
- border-radius: 2px;
1593
- cursor: pointer;
1594
- box-sizing: border-box;
1565
+ margin: 0 auto;
1595
1566
  }
1596
1567
 
1597
- .ImageGallery .previews .preview:first-child {
1598
- margin-left: 0;
1568
+ .SpinningProgress:before {
1569
+ content: "";
1570
+ display: block;
1571
+ padding-top: 100%;
1599
1572
  }
1600
1573
 
1601
- .ImageGallery .previews .preview > .border {
1602
- position: absolute;
1603
- bottom: 0;
1574
+ .SpinningProgress .circular {
1575
+ animation: rotate 2s linear infinite;
1576
+ height: 100%;
1577
+ transform-origin: center center;
1604
1578
  width: 100%;
1605
- height: 3px;
1606
- }
1607
-
1608
- .ImageGallery .previews .preview > .border .line {
1609
- left: 50%;
1610
- width: 0;
1611
- height: 3px;
1612
- min-height: 3px;
1613
- background-color: #4AC263;
1614
- transition: all 0.2s ease;
1615
- position: absolute;
1616
- }
1617
-
1618
- .ImageGallery .previews .preview:after {
1619
- content: "";
1620
1579
  position: absolute;
1621
1580
  top: 0;
1622
- right: 0;
1623
1581
  bottom: 0;
1624
1582
  left: 0;
1625
- background: rgba(0, 0, 0, 0.35);
1626
- transition: background 0.2s ease;
1583
+ right: 0;
1584
+ margin: auto;
1627
1585
  }
1628
1586
 
1629
- .ImageGallery .previews .preview:hover:after {
1630
- background: rgba(0, 0, 0, 0.1);
1587
+ .SpinningProgress .line {
1588
+ stroke: black;
1589
+ stroke-width: 2px;
1590
+ stroke-dasharray: 1, 96;
1591
+ stroke-dashoffset: 0;
1592
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1631
1593
  }
1632
1594
 
1633
- .ImageGallery .previews .preview.selected .border .line {
1634
- left: 0;
1635
- width: 100%;
1595
+ @keyframes rotate {
1596
+ 100% {
1597
+ transform: rotate(360deg);
1598
+ }
1636
1599
  }
1637
-
1638
- .ImageGallery .previews .preview.selected:after {
1639
- background: rgba(0, 0, 0, 0);
1600
+ @keyframes dash {
1601
+ 0% {
1602
+ stroke-dasharray: 1, 96;
1603
+ stroke-dashoffset: 0;
1604
+ }
1605
+ 50% {
1606
+ stroke-dasharray: 43, 96;
1607
+ stroke-dashoffset: -17px;
1608
+ }
1609
+ 100% {
1610
+ stroke-dasharray: 43, 96;
1611
+ stroke-dashoffset: -53px;
1612
+ }
1640
1613
  }
1641
-
1642
- .ImageGallery .previews > .arrow {
1643
- position: absolute;
1644
- top: 50%;
1645
- height: 30px;
1646
- width: 30px;
1647
- min-width: 30px;
1648
- min-height: 30px;
1649
- margin-top: -15px;
1614
+ .DNDContainer .DroppableList .Draggable {
1615
+ transform: unset;
1616
+ transition: unset;
1617
+ opacity: 1;
1650
1618
  }
1651
1619
 
1652
- .ImageGallery .previews > .arrow.left {
1653
- left: 0;
1620
+ .DNDContainer .DroppableList .Draggable.dragged {
1621
+ transition: unset !important;
1654
1622
  }
1655
1623
 
1656
- .ImageGallery .previews > .arrow.right {
1657
- right: 0;
1624
+ .DNDContainer .DroppableList.hover .Draggable {
1625
+ transition: transform 0.2s ease-in;
1658
1626
  }
1659
1627
 
1660
- .ImageGallery .previews > .arrow .material-icons {
1661
- font-size: 24px;
1628
+ .DNDContainer .DroppableList.resetting .Draggable {
1629
+ transition: transform 0.1s ease-in;
1662
1630
  }
1663
1631
 
1664
1632
  .CalendarMonthView {
@@ -1686,6 +1654,38 @@
1686
1654
  height: 100%;
1687
1655
  }
1688
1656
 
1657
+ .DNDContainer {
1658
+ position: relative;
1659
+ }
1660
+
1661
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1662
+ cursor: pointer;
1663
+ }
1664
+
1665
+ .DNDContainer .Draggable.placeholder {
1666
+ opacity: 0.2;
1667
+ }
1668
+
1669
+ .DNDContainer .Draggable.copy {
1670
+ position: absolute;
1671
+ box-sizing: border-box;
1672
+ will-change: transform;
1673
+ opacity: 0;
1674
+ }
1675
+
1676
+ .DNDContainer .Draggable.dragged {
1677
+ z-index: 10;
1678
+ }
1679
+
1680
+ .DNDContainer .overlay {
1681
+ position: absolute;
1682
+ top: 0;
1683
+ left: 0;
1684
+ right: 0;
1685
+ bottom: 0;
1686
+ pointer-events: none;
1687
+ }
1688
+
1689
1689
  .DatePicker {
1690
1690
  position: relative;
1691
1691
  }
@@ -1800,14 +1800,6 @@
1800
1800
  background-color: #51adf6;
1801
1801
  }
1802
1802
 
1803
- .ScrollableTable .Scrollable .scrollbar {
1804
- top: 56px;
1805
- }
1806
-
1807
- .ScrollableTable .Table {
1808
- position: static;
1809
- }
1810
-
1811
1803
  .Table {
1812
1804
  font-family: Roboto, sans-serif;
1813
1805
  font-size: 14px;
@@ -1920,4 +1912,12 @@
1920
1912
  height: 20px;
1921
1913
  padding: 0px;
1922
1914
  background-color: #f0f0f0;
1915
+ }
1916
+
1917
+ .ScrollableTable .Scrollable .scrollbar {
1918
+ top: 56px;
1919
+ }
1920
+
1921
+ .ScrollableTable .Table {
1922
+ position: static;
1923
1923
  }