react-ui-basics 0.0.215 → 0.0.217

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,3 +1,178 @@
1
+ .animated {
2
+ transition: opacity 250ms ease;
3
+ opacity: 0;
4
+ }
5
+
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
8
+ }
9
+
10
+ .Button {
11
+ position: relative;
12
+ min-width: 64px;
13
+ min-height: 36px;
14
+ height: 24px;
15
+ margin: 0px;
16
+ padding: 0px 16px;
17
+ border: none;
18
+ outline: none;
19
+ font-size: 14px;
20
+ font-weight: 500;
21
+ letter-spacing: 1.25px;
22
+ background: #dfdfdf;
23
+ text-transform: uppercase;
24
+ font-family: Roboto, sans-serif;
25
+ -webkit-tap-highlight-color: transparent;
26
+ display: inline-flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+ cursor: pointer;
30
+ overflow: hidden;
31
+ user-select: none;
32
+ border-radius: 3px;
33
+ transition: all 0.2s ease;
34
+ }
35
+
36
+ .Button.flat {
37
+ background-color: transparent;
38
+ }
39
+
40
+ .Button.flat:hover {
41
+ background-color: rgba(0, 0, 0, 0.05);
42
+ }
43
+
44
+ .Button.green {
45
+ background-color: #43a047;
46
+ color: white;
47
+ }
48
+
49
+ .Button.green:hover {
50
+ background-color: #3b8e3f;
51
+ }
52
+
53
+ .Button.blue {
54
+ background-color: #039be5;
55
+ color: white;
56
+ }
57
+
58
+ .Button.blue:hover {
59
+ background-color: #038acc;
60
+ }
61
+
62
+ .Button.red {
63
+ background-color: #e53935;
64
+ color: white;
65
+ }
66
+
67
+ .Button.red:hover {
68
+ background-color: #e2231e;
69
+ }
70
+
71
+ .Button.black {
72
+ background-color: #1e252d;
73
+ color: white;
74
+ }
75
+
76
+ .Button.black:hover {
77
+ background-color: #14181e;
78
+ }
79
+
80
+ .Button.gray {
81
+ background: #D9D9D9;
82
+ color: #999999;
83
+ }
84
+
85
+ .Button.gray:hover {
86
+ background-color: #cccccc;
87
+ }
88
+
89
+ .Button.small {
90
+ padding: 0px 8px;
91
+ min-height: 16px;
92
+ min-width: 16px;
93
+ }
94
+
95
+ .Button > .material-icons {
96
+ margin-right: 10px;
97
+ }
98
+
99
+ .Button.round {
100
+ padding: 0px;
101
+ min-width: 36px;
102
+ border-radius: 50%;
103
+ }
104
+
105
+ .Button.round > .material-icons {
106
+ margin: 0px;
107
+ }
108
+
109
+ .Button .ripple {
110
+ position: absolute;
111
+ background: rgba(0, 0, 0, 0.1);
112
+ border-radius: 100%;
113
+ transform: scale(0);
114
+ pointer-events: none;
115
+ transition: opacity 0.2s ease-out;
116
+ }
117
+
118
+ .Button .ripple.show {
119
+ animation: ripple 0.35s ease-out;
120
+ }
121
+
122
+ .Button:active .ripple.showed {
123
+ opacity: 1;
124
+ }
125
+
126
+ .Button:focus .ripple.focused {
127
+ opacity: 1;
128
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
129
+ transform: scale(1);
130
+ animation: resize 1.25s ease-out infinite;
131
+ animation-delay: 0.2s;
132
+ animation-direction: alternate;
133
+ }
134
+
135
+ .Button .ripple.showed {
136
+ transform: scale(2);
137
+ opacity: 0;
138
+ }
139
+
140
+ @keyframes ripple {
141
+ to {
142
+ transform: scale(2);
143
+ }
144
+ }
145
+ @keyframes resize {
146
+ to {
147
+ transform: scale(0.9);
148
+ }
149
+ }
150
+ .Button.raised {
151
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
152
+ }
153
+
154
+ .Button.raised:hover {
155
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
156
+ }
157
+
158
+ .Button.raised:active {
159
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
160
+ }
161
+
162
+ .Button.disabled {
163
+ box-shadow: none;
164
+ background: #D9D9D9;
165
+ color: #999999;
166
+ }
167
+
168
+ .Button.disabled:hover {
169
+ background-color: #cccccc;
170
+ }
171
+
172
+ .Button::-moz-focus-inner {
173
+ border: 0;
174
+ }
175
+
1
176
  .AutocompleteSelect {
2
177
  display: inline-flex;
3
178
  flex-flow: column;
@@ -293,234 +468,59 @@
293
468
  position: absolute;
294
469
  }
295
470
 
296
- .Button {
471
+ .FilteredList {
472
+ max-height: 250px;
297
473
  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;
320
474
  }
321
475
 
322
- .Button.flat {
323
- background-color: transparent;
476
+ .FilteredList.popup {
477
+ padding: 0;
478
+ visibility: hidden;
479
+ position: absolute;
480
+ background: white;
481
+ z-index: 4;
482
+ 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);
483
+ transition: all 0.2s ease-out;
484
+ top: calc(100% + 4px);
485
+ opacity: 0;
486
+ border-radius: 2px;
324
487
  }
325
488
 
326
- .Button.flat:hover {
327
- background-color: rgba(0, 0, 0, 0.05);
489
+ .FilteredList.popup.visible {
490
+ opacity: 1;
491
+ visibility: visible;
328
492
  }
329
493
 
330
- .Button.green {
331
- background-color: #43a047;
332
- color: white;
494
+ .FilteredList.portal {
495
+ transition: opacity 0.2s ease-out;
333
496
  }
334
497
 
335
- .Button.green:hover {
336
- background-color: #3b8e3f;
498
+ .FilteredList.inline {
499
+ max-height: 225px;
500
+ margin-top: 5px;
337
501
  }
338
502
 
339
- .Button.blue {
340
- background-color: #039be5;
341
- color: white;
503
+ .FilteredList .child {
504
+ display: flex;
505
+ flex-flow: row nowrap;
506
+ align-items: center;
507
+ white-space: nowrap;
508
+ font-size: 14px;
509
+ color: rgb(34, 34, 34);
510
+ height: 30px;
511
+ padding: 5px 10px;
512
+ padding-right: 15px;
513
+ cursor: pointer;
514
+ overflow: hidden;
515
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
516
+ border-left: 5px solid #4AC263;
517
+ padding-left: 15px;
518
+ margin-left: -5px;
342
519
  }
343
520
 
344
- .Button.blue:hover {
345
- background-color: #038acc;
346
- }
347
-
348
- .Button.red {
349
- background-color: #e53935;
350
- color: white;
351
- }
352
-
353
- .Button.red:hover {
354
- background-color: #e2231e;
355
- }
356
-
357
- .Button.black {
358
- background-color: #1e252d;
359
- color: white;
360
- }
361
-
362
- .Button.black:hover {
363
- background-color: #14181e;
364
- }
365
-
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
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
465
- }
466
-
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
469
- }
470
-
471
- .FilteredList {
472
- max-height: 250px;
473
- position: relative;
474
- }
475
-
476
- .FilteredList.popup {
477
- padding: 0;
478
- visibility: hidden;
479
- position: absolute;
480
- background: white;
481
- z-index: 4;
482
- 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);
483
- transition: all 0.2s ease-out;
484
- top: calc(100% + 4px);
485
- opacity: 0;
486
- border-radius: 2px;
487
- }
488
-
489
- .FilteredList.popup.visible {
490
- opacity: 1;
491
- visibility: visible;
492
- }
493
-
494
- .FilteredList.portal {
495
- transition: opacity 0.2s ease-out;
496
- }
497
-
498
- .FilteredList.inline {
499
- max-height: 225px;
500
- margin-top: 5px;
501
- }
502
-
503
- .FilteredList .child {
504
- display: flex;
505
- flex-flow: row nowrap;
506
- align-items: center;
507
- white-space: nowrap;
508
- font-size: 14px;
509
- color: rgb(34, 34, 34);
510
- height: 30px;
511
- padding: 5px 10px;
512
- padding-right: 15px;
513
- cursor: pointer;
514
- overflow: hidden;
515
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
516
- border-left: 5px solid #4AC263;
517
- padding-left: 15px;
518
- margin-left: -5px;
519
- }
520
-
521
- .FilteredList .child.hidden {
522
- height: 0 !important;
523
- padding: 0 !important;
521
+ .FilteredList .child.hidden {
522
+ height: 0 !important;
523
+ padding: 0 !important;
524
524
  }
525
525
 
526
526
  .FilteredList .child.selected {
@@ -595,246 +595,338 @@
595
595
  margin-bottom: 0;
596
596
  }
597
597
 
598
- .Scrollable {
599
- max-height: 250px;
600
- max-width: 250px;
601
- padding-right: 5px;
602
- position: relative;
603
- display: flex;
604
- flex-flow: column;
605
- align-items: stretch;
606
- overflow: hidden;
598
+ .ImageGallery {
599
+ position: fixed;
600
+ top: 0;
601
+ left: 0;
602
+ bottom: 0;
603
+ right: 0;
604
+ z-index: 1000;
605
+ background-color: rgba(0, 0, 0, 0.01);
606
+ user-select: none;
607
607
  }
608
608
 
609
- .Scrollable:hover > .scrollbar.auto {
610
- transition-delay: 0s;
609
+ .ImageGallery:focus {
610
+ outline-width: 0px;
611
+ }
612
+
613
+ .ImageGallery.animated {
614
+ transition: background-color 0.25s ease;
611
615
  opacity: 1;
612
616
  }
613
617
 
614
- .Scrollable .viewport {
615
- overflow-y: scroll;
616
- overflow-x: scroll;
617
- max-height: 100%;
618
- scroll-behavior: smooth;
619
- scrollbar-width: none;
618
+ .ImageGallery.mounting, .ImageGallery.mounted {
619
+ background-color: rgba(0, 0, 0, 0.8);
620
620
  }
621
621
 
622
- .Scrollable .viewport::-webkit-scrollbar {
622
+ .ImageGallery .image {
623
+ position: absolute;
624
+ cursor: grab;
625
+ }
626
+
627
+ .ImageGallery .image .counter {
623
628
  display: none;
624
629
  }
625
630
 
626
- .Scrollable.without-scroll-horizontal {
627
- max-width: unset;
631
+ .ImageGallery .image img {
632
+ border-radius: 4px;
633
+ max-width: 100%;
634
+ min-width: 100%;
628
635
  }
629
636
 
630
- .Scrollable.undefined-horizontal {
631
- max-width: unset;
637
+ .ImageGallery .image.animated {
638
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
639
+ will-change: top, left, width, height, opacity;
632
640
  }
633
641
 
634
- .Scrollable.without-scroll {
635
- padding-right: 0;
636
- max-height: unset;
642
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
643
+ opacity: 1;
637
644
  }
638
645
 
639
- .Scrollable.without-scroll > .viewport {
640
- padding-right: 0;
641
- margin-right: 0;
646
+ .ImageGallery .image.zoomed {
647
+ text-align: center;
648
+ overflow: hidden;
642
649
  }
643
650
 
644
- .Scrollable.without-scroll > .scrollbar {
645
- visibility: hidden;
651
+ .ImageGallery .image.dragging {
652
+ transition: none;
653
+ cursor: move;
646
654
  }
647
655
 
648
- .Scrollable .scrollbar {
656
+ .ImageGallery .image .close {
649
657
  position: absolute;
650
- right: 0px;
651
- top: 0px;
652
- width: 5px;
653
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
654
- transition-delay: 0.5s;
655
- z-index: 1;
658
+ top: -18px;
659
+ right: -18px;
656
660
  }
657
661
 
658
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
662
+ .ImageGallery .image .spinner {
663
+ position: absolute;
664
+ top: 0;
665
+ bottom: 0;
666
+ left: 0;
667
+ right: 0;
668
+ background: rgba(0, 0, 0, 0.65);
669
+ }
670
+
671
+ .ImageGallery .image .spinner .SpinningProgress {
672
+ position: absolute;
673
+ top: 50%;
674
+ left: 50%;
675
+ margin-left: -24px;
676
+ margin-top: -24px;
677
+ }
678
+
679
+ .ImageGallery .image .spinner .SpinningProgress .line {
680
+ stroke: #2196F3;
681
+ }
682
+
683
+ .ImageGallery .Button.animated {
684
+ transition: all 0.25s ease;
659
685
  opacity: 0;
686
+ transform: scale(0);
660
687
  }
661
688
 
662
- .Scrollable .scrollbar .thumb {
663
- background-color: rgba(0, 0, 0, 0.3);
664
- width: 5px;
689
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
690
+ opacity: 1;
691
+ transform: scale(1);
692
+ }
693
+
694
+ .ImageGallery .Button {
695
+ color: white;
696
+ background: rgba(0, 0, 0, 0.4);
697
+ }
698
+
699
+ .ImageGallery .Button:hover {
700
+ background: rgba(0, 0, 0, 0.7);
701
+ }
702
+
703
+ .ImageGallery > .arrow {
665
704
  position: absolute;
666
- right: 0px;
667
- top: 0px;
668
- user-select: none;
669
- will-change: top;
670
- border-radius: 2px;
705
+ top: 50%;
706
+ height: 76px;
707
+ width: 76px;
708
+ margin-top: -38px;
671
709
  }
672
710
 
673
- .Scrollable .scrollbar .thumb:hover {
674
- background-color: rgba(0, 0, 0, 0.5);
711
+ .ImageGallery > .arrow.left {
712
+ left: 5%;
675
713
  }
676
714
 
677
- .Scrollable .scrollbar .thumb:active {
678
- background-color: rgba(0, 0, 0, 0.7);
715
+ .ImageGallery > .arrow.right {
716
+ right: 5%;
679
717
  }
680
718
 
681
- .Scrollable .scrollbar.horizontal {
682
- left: 0px;
683
- right: 0px;
684
- height: 5px;
685
- bottom: 0;
686
- width: unset;
687
- top: unset;
719
+ .ImageGallery > .arrow .material-icons {
720
+ font-size: 40px;
688
721
  }
689
722
 
690
- .Scrollable .scrollbar.horizontal .thumb {
691
- height: 5px;
692
- left: 0px;
693
- bottom: 0px;
694
- will-change: left;
723
+ .ImageGallery .counter {
724
+ position: absolute;
725
+ top: 10px;
726
+ left: 10px;
727
+ color: white;
728
+ font-size: 13px;
695
729
  }
696
730
 
697
- .TextField {
731
+ .ImageGallery .previews {
732
+ height: 80px;
733
+ position: absolute;
734
+ bottom: 15px;
735
+ left: 50%;
736
+ transform: translateX(-50%);
737
+ padding: 0 45px;
738
+ }
739
+
740
+ .ImageGallery .previews .viewport {
741
+ overflow: hidden;
698
742
  position: relative;
699
- width: 100%;
743
+ height: 100%;
700
744
  }
701
745
 
702
- .TextField > label {
703
- font-family: Roboto, sans-serif;
704
- color: rgba(0, 0, 0, 0.3);
705
- font-size: 16px;
746
+ .ImageGallery .previews .container {
747
+ position: relative;
748
+ display: flex;
749
+ flex-flow: row nowrap;
750
+ height: 100%;
751
+ transition: left 0.25s ease;
752
+ }
753
+
754
+ .ImageGallery .previews .preview {
755
+ position: relative;
756
+ height: 100%;
757
+ display: inline-block;
758
+ width: 106.66px;
759
+ overflow: hidden;
760
+ margin-left: 12px;
761
+ border-radius: 2px;
762
+ cursor: pointer;
763
+ box-sizing: border-box;
764
+ }
765
+
766
+ .ImageGallery .previews .preview:first-child {
767
+ margin-left: 0;
768
+ }
769
+
770
+ .ImageGallery .previews .preview > .border {
706
771
  position: absolute;
707
- left: 0px;
708
- top: 16px;
709
- margin-top: -16px;
772
+ bottom: 0;
773
+ width: 100%;
774
+ height: 3px;
775
+ }
776
+
777
+ .ImageGallery .previews .preview > .border .line {
778
+ left: 50%;
779
+ width: 0;
780
+ height: 3px;
781
+ min-height: 3px;
782
+ background-color: #4AC263;
710
783
  transition: all 0.2s ease;
711
- user-select: none;
712
- cursor: text;
784
+ position: absolute;
713
785
  }
714
786
 
715
- .TextField > input {
716
- font-family: Roboto, sans-serif;
717
- color: #1e252d;
718
- height: 19px;
719
- font-size: 16px;
787
+ .ImageGallery .previews .preview:after {
788
+ content: "";
789
+ position: absolute;
790
+ top: 0;
791
+ right: 0;
792
+ bottom: 0;
793
+ left: 0;
794
+ background: rgba(0, 0, 0, 0.35);
795
+ transition: background 0.2s ease;
796
+ }
797
+
798
+ .ImageGallery .previews .preview:hover:after {
799
+ background: rgba(0, 0, 0, 0.1);
800
+ }
801
+
802
+ .ImageGallery .previews .preview.selected .border .line {
803
+ left: 0;
720
804
  width: 100%;
721
- border: 0px;
722
- padding-bottom: 4px;
723
- padding-top: 0;
724
- outline-color: rgba(0, 0, 0, 0);
725
805
  }
726
806
 
727
- .TextField > input:focus {
728
- outline: none;
807
+ .ImageGallery .previews .preview.selected:after {
808
+ background: rgba(0, 0, 0, 0);
729
809
  }
730
810
 
731
- .TextField > input:disabled {
732
- color: gray;
733
- background-color: white;
811
+ .ImageGallery .previews > .arrow {
812
+ position: absolute;
813
+ top: 50%;
814
+ height: 30px;
815
+ width: 30px;
816
+ min-width: 30px;
817
+ min-height: 30px;
818
+ margin-top: -15px;
734
819
  }
735
820
 
736
- .TextField > input:disabled + .border {
737
- height: 0px;
738
- border-bottom: 2px dotted rgb(224, 224, 224);
821
+ .ImageGallery .previews > .arrow.left {
822
+ left: 0;
739
823
  }
740
824
 
741
- .TextField > input::placeholder {
742
- font-family: Roboto, sans-serif;
743
- color: rgba(0, 0, 0, 0.3);
744
- opacity: 1;
825
+ .ImageGallery .previews > .arrow.right {
826
+ right: 0;
745
827
  }
746
828
 
747
- .TextField > .border {
748
- border-bottom: 1px solid rgb(224, 224, 224);
749
- height: 1px;
829
+ .ImageGallery .previews > .arrow .material-icons {
830
+ font-size: 24px;
831
+ }
832
+
833
+ .Scrollable {
834
+ max-height: 250px;
835
+ max-width: 250px;
836
+ padding-right: 5px;
750
837
  position: relative;
838
+ display: flex;
839
+ flex-flow: column;
840
+ align-items: stretch;
841
+ overflow: hidden;
751
842
  }
752
843
 
753
- .TextField > .border .line {
754
- left: 50%;
755
- width: 0;
756
- height: 2px;
757
- min-height: 2px;
758
- background-color: rgb(0, 188, 212);
759
- transition: all 0.2s ease;
760
- position: absolute;
844
+ .Scrollable:hover > .scrollbar.auto {
845
+ transition-delay: 0s;
846
+ opacity: 1;
761
847
  }
762
848
 
763
- .TextField > .error {
764
- text-align: left;
765
- font-size: 10px;
766
- min-height: 0;
767
- line-height: 14px;
768
- color: rgb(244, 67, 54);
769
- visibility: hidden;
770
- opacity: 0;
771
- transition: all 0.2s ease;
849
+ .Scrollable .viewport {
850
+ overflow-y: scroll;
851
+ overflow-x: scroll;
852
+ max-height: 100%;
853
+ scroll-behavior: smooth;
854
+ scrollbar-width: none;
772
855
  }
773
856
 
774
- .TextField.focused > label, .TextField.withValue > label {
775
- top: 4px;
776
- font-size: 12px;
777
- line-height: 14px;
857
+ .Scrollable .viewport::-webkit-scrollbar {
858
+ display: none;
778
859
  }
779
860
 
780
- .TextField.errored > .error {
781
- visibility: visible;
782
- opacity: 1;
861
+ .Scrollable.without-scroll-horizontal {
862
+ max-width: unset;
783
863
  }
784
864
 
785
- .TextField.errored > .border {
786
- border-bottom-color: rgb(244, 67, 54);
865
+ .Scrollable.undefined-horizontal {
866
+ max-width: unset;
787
867
  }
788
868
 
789
- .TextField.errored > label {
790
- color: rgb(244, 67, 54);
869
+ .Scrollable.without-scroll {
870
+ padding-right: 0;
871
+ max-height: unset;
791
872
  }
792
873
 
793
- .TextField.focused > label {
794
- color: rgb(0, 188, 212);
874
+ .Scrollable.without-scroll > .viewport {
875
+ padding-right: 0;
876
+ margin-right: 0;
795
877
  }
796
878
 
797
- .TextField.focused > .border .line {
798
- left: 0;
799
- width: 100%;
879
+ .Scrollable.without-scroll > .scrollbar {
880
+ visibility: hidden;
800
881
  }
801
882
 
802
- .TextField.disabled label, .TextField.disabled input {
803
- cursor: not-allowed;
883
+ .Scrollable .scrollbar {
884
+ position: absolute;
885
+ right: 0px;
886
+ top: 0px;
887
+ width: 5px;
888
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
889
+ transition-delay: 0.5s;
890
+ z-index: 1;
804
891
  }
805
892
 
806
- .TextField.withLabel {
807
- margin-top: 15px;
893
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
894
+ opacity: 0;
808
895
  }
809
896
 
810
- .TextField input::-webkit-contacts-auto-fill-button {
811
- visibility: hidden;
812
- display: none !important;
813
- pointer-events: none;
897
+ .Scrollable .scrollbar .thumb {
898
+ background-color: rgba(0, 0, 0, 0.3);
899
+ width: 5px;
814
900
  position: absolute;
815
- right: 0;
901
+ right: 0px;
902
+ top: 0px;
903
+ user-select: none;
904
+ will-change: top;
905
+ border-radius: 2px;
816
906
  }
817
907
 
818
- .TextField input:-webkit-autofill {
819
- -webkit-box-shadow: inset 0 0 0px 9999px white;
908
+ .Scrollable .scrollbar .thumb:hover {
909
+ background-color: rgba(0, 0, 0, 0.5);
820
910
  }
821
911
 
822
- @keyframes shake {
823
- 0%, 100% {
824
- transform: translateX(0);
825
- }
826
- 20%, 60% {
827
- transform: translateX(-5px);
828
- }
829
- 40%, 80% {
830
- transform: translateX(5px);
831
- }
912
+ .Scrollable .scrollbar .thumb:active {
913
+ background-color: rgba(0, 0, 0, 0.7);
832
914
  }
833
- .TextField .shake {
834
- animation-duration: 0.5s;
835
- animation-fill-mode: both;
836
- animation-timing-function: ease-in-out;
837
- animation-name: shake;
915
+
916
+ .Scrollable .scrollbar.horizontal {
917
+ left: 0px;
918
+ right: 0px;
919
+ height: 5px;
920
+ bottom: 0;
921
+ width: unset;
922
+ top: unset;
923
+ }
924
+
925
+ .Scrollable .scrollbar.horizontal .thumb {
926
+ height: 5px;
927
+ left: 0px;
928
+ bottom: 0px;
929
+ will-change: left;
838
930
  }
839
931
 
840
932
  .FormUploadProgress {
@@ -976,257 +1068,165 @@
976
1068
  position: absolute;
977
1069
  }
978
1070
 
979
- .DNDContainer .DroppableList .Draggable {
980
- transform: unset;
981
- transition: unset;
982
- opacity: 1;
983
- }
984
-
985
- .DNDContainer .DroppableList .Draggable.dragged {
986
- transition: unset !important;
987
- }
988
-
989
- .DNDContainer .DroppableList.hover .Draggable {
990
- transition: transform 0.2s ease-in;
991
- }
992
-
993
- .DNDContainer .DroppableList.resetting .Draggable {
994
- transition: transform 0.1s ease-in;
995
- }
996
-
997
- .ImageGallery {
998
- position: fixed;
999
- top: 0;
1000
- left: 0;
1001
- bottom: 0;
1002
- right: 0;
1003
- z-index: 1000;
1004
- background-color: rgba(0, 0, 0, 0.01);
1005
- user-select: none;
1006
- }
1007
-
1008
- .ImageGallery:focus {
1009
- outline-width: 0px;
1010
- }
1011
-
1012
- .ImageGallery.animated {
1013
- transition: background-color 0.25s ease;
1014
- opacity: 1;
1015
- }
1016
-
1017
- .ImageGallery.mounting, .ImageGallery.mounted {
1018
- background-color: rgba(0, 0, 0, 0.8);
1019
- }
1020
-
1021
- .ImageGallery .image {
1022
- position: absolute;
1023
- cursor: grab;
1024
- }
1025
-
1026
- .ImageGallery .image .counter {
1027
- display: none;
1028
- }
1029
-
1030
- .ImageGallery .image img {
1031
- border-radius: 4px;
1032
- max-width: 100%;
1033
- min-width: 100%;
1034
- }
1035
-
1036
- .ImageGallery .image.animated {
1037
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1038
- will-change: top, left, width, height, opacity;
1039
- }
1040
-
1041
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1042
- opacity: 1;
1043
- }
1044
-
1045
- .ImageGallery .image.zoomed {
1046
- text-align: center;
1047
- overflow: hidden;
1048
- }
1049
-
1050
- .ImageGallery .image.dragging {
1051
- transition: none;
1052
- cursor: move;
1053
- }
1054
-
1055
- .ImageGallery .image .close {
1056
- position: absolute;
1057
- top: -18px;
1058
- right: -18px;
1059
- }
1060
-
1061
- .ImageGallery .image .spinner {
1062
- position: absolute;
1063
- top: 0;
1064
- bottom: 0;
1065
- left: 0;
1066
- right: 0;
1067
- background: rgba(0, 0, 0, 0.65);
1071
+ .TextField {
1072
+ position: relative;
1073
+ width: 100%;
1068
1074
  }
1069
1075
 
1070
- .ImageGallery .image .spinner .SpinningProgress {
1076
+ .TextField > label {
1077
+ font-family: Roboto, sans-serif;
1078
+ color: rgba(0, 0, 0, 0.3);
1079
+ font-size: 16px;
1071
1080
  position: absolute;
1072
- top: 50%;
1073
- left: 50%;
1074
- margin-left: -24px;
1075
- margin-top: -24px;
1076
- }
1077
-
1078
- .ImageGallery .image .spinner .SpinningProgress .line {
1079
- stroke: #2196F3;
1081
+ left: 0px;
1082
+ top: 16px;
1083
+ margin-top: -16px;
1084
+ transition: all 0.2s ease;
1085
+ user-select: none;
1086
+ cursor: text;
1080
1087
  }
1081
1088
 
1082
- .ImageGallery .Button.animated {
1083
- transition: all 0.25s ease;
1084
- opacity: 0;
1085
- transform: scale(0);
1089
+ .TextField > input {
1090
+ font-family: Roboto, sans-serif;
1091
+ color: #1e252d;
1092
+ height: 19px;
1093
+ font-size: 16px;
1094
+ width: 100%;
1095
+ border: 0px;
1096
+ padding-bottom: 4px;
1097
+ padding-top: 0;
1098
+ outline-color: rgba(0, 0, 0, 0);
1086
1099
  }
1087
1100
 
1088
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1089
- opacity: 1;
1090
- transform: scale(1);
1101
+ .TextField > input:focus {
1102
+ outline: none;
1091
1103
  }
1092
1104
 
1093
- .ImageGallery .Button {
1094
- color: white;
1095
- background: rgba(0, 0, 0, 0.4);
1105
+ .TextField > input:disabled {
1106
+ color: gray;
1107
+ background-color: white;
1096
1108
  }
1097
1109
 
1098
- .ImageGallery .Button:hover {
1099
- background: rgba(0, 0, 0, 0.7);
1110
+ .TextField > input:disabled + .border {
1111
+ height: 0px;
1112
+ border-bottom: 2px dotted rgb(224, 224, 224);
1100
1113
  }
1101
1114
 
1102
- .ImageGallery > .arrow {
1103
- position: absolute;
1104
- top: 50%;
1105
- height: 76px;
1106
- width: 76px;
1107
- margin-top: -38px;
1115
+ .TextField > input::placeholder {
1116
+ font-family: Roboto, sans-serif;
1117
+ color: rgba(0, 0, 0, 0.3);
1118
+ opacity: 1;
1108
1119
  }
1109
1120
 
1110
- .ImageGallery > .arrow.left {
1111
- left: 5%;
1121
+ .TextField > .border {
1122
+ border-bottom: 1px solid rgb(224, 224, 224);
1123
+ height: 1px;
1124
+ position: relative;
1112
1125
  }
1113
1126
 
1114
- .ImageGallery > .arrow.right {
1115
- right: 5%;
1127
+ .TextField > .border .line {
1128
+ left: 50%;
1129
+ width: 0;
1130
+ height: 2px;
1131
+ min-height: 2px;
1132
+ background-color: rgb(0, 188, 212);
1133
+ transition: all 0.2s ease;
1134
+ position: absolute;
1116
1135
  }
1117
1136
 
1118
- .ImageGallery > .arrow .material-icons {
1119
- font-size: 40px;
1137
+ .TextField > .error {
1138
+ text-align: left;
1139
+ font-size: 10px;
1140
+ min-height: 0;
1141
+ line-height: 14px;
1142
+ color: rgb(244, 67, 54);
1143
+ visibility: hidden;
1144
+ opacity: 0;
1145
+ transition: all 0.2s ease;
1120
1146
  }
1121
1147
 
1122
- .ImageGallery .counter {
1123
- position: absolute;
1124
- top: 10px;
1125
- left: 10px;
1126
- color: white;
1127
- font-size: 13px;
1148
+ .TextField.focused > label, .TextField.withValue > label {
1149
+ top: 4px;
1150
+ font-size: 12px;
1151
+ line-height: 14px;
1128
1152
  }
1129
1153
 
1130
- .ImageGallery .previews {
1131
- height: 80px;
1132
- position: absolute;
1133
- bottom: 15px;
1134
- left: 50%;
1135
- transform: translateX(-50%);
1136
- padding: 0 45px;
1154
+ .TextField.errored > .error {
1155
+ visibility: visible;
1156
+ opacity: 1;
1137
1157
  }
1138
1158
 
1139
- .ImageGallery .previews .viewport {
1140
- overflow: hidden;
1141
- position: relative;
1142
- height: 100%;
1159
+ .TextField.errored > .border {
1160
+ border-bottom-color: rgb(244, 67, 54);
1143
1161
  }
1144
1162
 
1145
- .ImageGallery .previews .container {
1146
- position: relative;
1147
- display: flex;
1148
- flex-flow: row nowrap;
1149
- height: 100%;
1150
- transition: left 0.25s ease;
1163
+ .TextField.errored > label {
1164
+ color: rgb(244, 67, 54);
1151
1165
  }
1152
1166
 
1153
- .ImageGallery .previews .preview {
1154
- position: relative;
1155
- height: 100%;
1156
- display: inline-block;
1157
- width: 106.66px;
1158
- overflow: hidden;
1159
- margin-left: 12px;
1160
- border-radius: 2px;
1161
- cursor: pointer;
1162
- box-sizing: border-box;
1167
+ .TextField.focused > label {
1168
+ color: rgb(0, 188, 212);
1163
1169
  }
1164
1170
 
1165
- .ImageGallery .previews .preview:first-child {
1166
- margin-left: 0;
1171
+ .TextField.focused > .border .line {
1172
+ left: 0;
1173
+ width: 100%;
1167
1174
  }
1168
1175
 
1169
- .ImageGallery .previews .preview > .border {
1170
- position: absolute;
1171
- bottom: 0;
1172
- width: 100%;
1173
- height: 3px;
1176
+ .TextField.disabled label, .TextField.disabled input {
1177
+ cursor: not-allowed;
1174
1178
  }
1175
1179
 
1176
- .ImageGallery .previews .preview > .border .line {
1177
- left: 50%;
1178
- width: 0;
1179
- height: 3px;
1180
- min-height: 3px;
1181
- background-color: #4AC263;
1182
- transition: all 0.2s ease;
1183
- position: absolute;
1180
+ .TextField.withLabel {
1181
+ margin-top: 15px;
1184
1182
  }
1185
1183
 
1186
- .ImageGallery .previews .preview:after {
1187
- content: "";
1184
+ .TextField input::-webkit-contacts-auto-fill-button {
1185
+ visibility: hidden;
1186
+ display: none !important;
1187
+ pointer-events: none;
1188
1188
  position: absolute;
1189
- top: 0;
1190
1189
  right: 0;
1191
- bottom: 0;
1192
- left: 0;
1193
- background: rgba(0, 0, 0, 0.35);
1194
- transition: background 0.2s ease;
1195
1190
  }
1196
1191
 
1197
- .ImageGallery .previews .preview:hover:after {
1198
- background: rgba(0, 0, 0, 0.1);
1192
+ .TextField input:-webkit-autofill {
1193
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1199
1194
  }
1200
1195
 
1201
- .ImageGallery .previews .preview.selected .border .line {
1202
- left: 0;
1203
- width: 100%;
1196
+ @keyframes shake {
1197
+ 0%, 100% {
1198
+ transform: translateX(0);
1199
+ }
1200
+ 20%, 60% {
1201
+ transform: translateX(-5px);
1202
+ }
1203
+ 40%, 80% {
1204
+ transform: translateX(5px);
1205
+ }
1204
1206
  }
1205
-
1206
- .ImageGallery .previews .preview.selected:after {
1207
- background: rgba(0, 0, 0, 0);
1207
+ .TextField .shake {
1208
+ animation-duration: 0.5s;
1209
+ animation-fill-mode: both;
1210
+ animation-timing-function: ease-in-out;
1211
+ animation-name: shake;
1208
1212
  }
1209
1213
 
1210
- .ImageGallery .previews > .arrow {
1211
- position: absolute;
1212
- top: 50%;
1213
- height: 30px;
1214
- width: 30px;
1215
- min-width: 30px;
1216
- min-height: 30px;
1217
- margin-top: -15px;
1214
+ .DNDContainer .DroppableList .Draggable {
1215
+ transform: unset;
1216
+ transition: unset;
1217
+ opacity: 1;
1218
1218
  }
1219
1219
 
1220
- .ImageGallery .previews > .arrow.left {
1221
- left: 0;
1220
+ .DNDContainer .DroppableList .Draggable.dragged {
1221
+ transition: unset !important;
1222
1222
  }
1223
1223
 
1224
- .ImageGallery .previews > .arrow.right {
1225
- right: 0;
1224
+ .DNDContainer .DroppableList.hover .Draggable {
1225
+ transition: transform 0.2s ease-in;
1226
1226
  }
1227
1227
 
1228
- .ImageGallery .previews > .arrow .material-icons {
1229
- font-size: 24px;
1228
+ .DNDContainer .DroppableList.resetting .Draggable {
1229
+ transition: transform 0.1s ease-in;
1230
1230
  }
1231
1231
 
1232
1232
  .CalendarMonthView {
@@ -1306,91 +1306,19 @@
1306
1306
  height: 6px;
1307
1307
  border: 2px solid #fff;
1308
1308
  border-top-style: none;
1309
- border-right-style: none;
1310
- }
1311
-
1312
- .Checkbox input[type=checkbox]:disabled + label {
1313
- color: gray;
1314
- }
1315
-
1316
- .Checkbox input[type=checkbox]:disabled + label:before {
1317
- border-color: rgba(0, 0, 0, 0.26);
1318
- }
1319
-
1320
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
1321
- background: rgba(0, 0, 0, 0.26);
1322
- }
1323
-
1324
- .CircleProgress {
1325
- width: 48px;
1326
- height: 48px;
1327
- }
1328
-
1329
- .CircleProgress .line {
1330
- stroke-width: 2px;
1331
- stroke: black;
1332
- stroke-linecap: square;
1333
- fill: none;
1334
- transition: stroke-dashoffset 0.2s ease;
1335
- }
1336
-
1337
- .DNDContainer {
1338
- position: relative;
1339
- }
1340
-
1341
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1342
- cursor: pointer;
1343
- }
1344
-
1345
- .DNDContainer .Draggable.placeholder {
1346
- opacity: 0.2;
1347
- }
1348
-
1349
- .DNDContainer .Draggable.copy {
1350
- position: absolute;
1351
- box-sizing: border-box;
1352
- will-change: transform;
1353
- opacity: 0;
1354
- }
1355
-
1356
- .DNDContainer .Draggable.dragged {
1357
- z-index: 10;
1358
- }
1359
-
1360
- .DNDContainer .overlay {
1361
- position: absolute;
1362
- top: 0;
1363
- left: 0;
1364
- right: 0;
1365
- bottom: 0;
1366
- pointer-events: none;
1367
- }
1368
-
1369
- .DropFileInput {
1370
- flex-grow: 1;
1371
- }
1372
-
1373
- .DropFileInput .Dropzone {
1374
- border: 1px dashed #808080;
1375
- padding: 12px;
1376
- display: flex;
1377
- flex-flow: row nowrap;
1378
- justify-content: center;
1379
- align-items: center;
1309
+ border-right-style: none;
1310
+ }
1311
+
1312
+ .Checkbox input[type=checkbox]:disabled + label {
1380
1313
  color: gray;
1381
- cursor: pointer;
1382
- border-radius: 3px;
1383
- font-weight: normal;
1384
- line-height: 22px;
1385
- font-size: 14px;
1386
- color: #7E7E7E;
1387
- max-width: 100%;
1388
- word-break: break-all;
1389
- word-break: break-word;
1390
1314
  }
1391
1315
 
1392
- .DropFileInput .Dropzone .icon.withText {
1393
- margin-right: 10px;
1316
+ .Checkbox input[type=checkbox]:disabled + label:before {
1317
+ border-color: rgba(0, 0, 0, 0.26);
1318
+ }
1319
+
1320
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
1321
+ background: rgba(0, 0, 0, 0.26);
1394
1322
  }
1395
1323
 
1396
1324
  .DatePicker {
@@ -1510,6 +1438,51 @@
1510
1438
  background-color: #51adf6;
1511
1439
  }
1512
1440
 
1441
+ .DNDContainer {
1442
+ position: relative;
1443
+ }
1444
+
1445
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1446
+ cursor: pointer;
1447
+ }
1448
+
1449
+ .DNDContainer .Draggable.placeholder {
1450
+ opacity: 0.2;
1451
+ }
1452
+
1453
+ .DNDContainer .Draggable.copy {
1454
+ position: absolute;
1455
+ box-sizing: border-box;
1456
+ will-change: transform;
1457
+ opacity: 0;
1458
+ }
1459
+
1460
+ .DNDContainer .Draggable.dragged {
1461
+ z-index: 10;
1462
+ }
1463
+
1464
+ .DNDContainer .overlay {
1465
+ position: absolute;
1466
+ top: 0;
1467
+ left: 0;
1468
+ right: 0;
1469
+ bottom: 0;
1470
+ pointer-events: none;
1471
+ }
1472
+
1473
+ .CircleProgress {
1474
+ width: 48px;
1475
+ height: 48px;
1476
+ }
1477
+
1478
+ .CircleProgress .line {
1479
+ stroke-width: 2px;
1480
+ stroke: black;
1481
+ stroke-linecap: square;
1482
+ fill: none;
1483
+ transition: stroke-dashoffset 0.2s ease;
1484
+ }
1485
+
1513
1486
  .Dropzone {
1514
1487
  position: relative;
1515
1488
  }
@@ -1570,6 +1543,57 @@
1570
1543
  z-index: 1;
1571
1544
  }
1572
1545
 
1546
+ .DropFileInput {
1547
+ flex-grow: 1;
1548
+ }
1549
+
1550
+ .DropFileInput .Dropzone {
1551
+ border: 1px dashed #808080;
1552
+ padding: 12px;
1553
+ display: flex;
1554
+ flex-flow: row nowrap;
1555
+ justify-content: center;
1556
+ align-items: center;
1557
+ color: gray;
1558
+ cursor: pointer;
1559
+ border-radius: 3px;
1560
+ font-weight: normal;
1561
+ line-height: 22px;
1562
+ font-size: 14px;
1563
+ color: #7E7E7E;
1564
+ max-width: 100%;
1565
+ word-break: break-all;
1566
+ word-break: break-word;
1567
+ }
1568
+
1569
+ .DropFileInput .Dropzone .icon.withText {
1570
+ margin-right: 10px;
1571
+ }
1572
+
1573
+ .Button.FloatingActionButton {
1574
+ position: absolute;
1575
+ right: 16px;
1576
+ bottom: 16px;
1577
+ width: 56px;
1578
+ height: 56px;
1579
+ padding: 16px;
1580
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1581
+ }
1582
+
1583
+ .Button.FloatingActionButton.raised {
1584
+ 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);
1585
+ }
1586
+
1587
+ .Button.FloatingActionButton.mini {
1588
+ width: 40px;
1589
+ height: 40px;
1590
+ padding: 8px;
1591
+ }
1592
+
1593
+ .Button.FloatingActionButton.hidden {
1594
+ bottom: -100px;
1595
+ }
1596
+
1573
1597
  .Snackbar {
1574
1598
  transform: translateX(-50%);
1575
1599
  overflow: hidden;
@@ -1615,83 +1639,6 @@
1615
1639
  color: #bf3727;
1616
1640
  }
1617
1641
 
1618
- .Button.FloatingActionButton {
1619
- position: absolute;
1620
- right: 16px;
1621
- bottom: 16px;
1622
- width: 56px;
1623
- height: 56px;
1624
- padding: 16px;
1625
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1626
- }
1627
-
1628
- .Button.FloatingActionButton.raised {
1629
- 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);
1630
- }
1631
-
1632
- .Button.FloatingActionButton.mini {
1633
- width: 40px;
1634
- height: 40px;
1635
- padding: 8px;
1636
- }
1637
-
1638
- .Button.FloatingActionButton.hidden {
1639
- bottom: -100px;
1640
- }
1641
-
1642
- .SpinningProgress {
1643
- width: 48px;
1644
- height: 48px;
1645
- position: relative;
1646
- margin: 0 auto;
1647
- }
1648
-
1649
- .SpinningProgress:before {
1650
- content: "";
1651
- display: block;
1652
- padding-top: 100%;
1653
- }
1654
-
1655
- .SpinningProgress .circular {
1656
- animation: rotate 2s linear infinite;
1657
- height: 100%;
1658
- transform-origin: center center;
1659
- width: 100%;
1660
- position: absolute;
1661
- top: 0;
1662
- bottom: 0;
1663
- left: 0;
1664
- right: 0;
1665
- margin: auto;
1666
- }
1667
-
1668
- .SpinningProgress .line {
1669
- stroke: black;
1670
- stroke-width: 2px;
1671
- stroke-dasharray: 1, 96;
1672
- stroke-dashoffset: 0;
1673
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1674
- }
1675
-
1676
- @keyframes rotate {
1677
- 100% {
1678
- transform: rotate(360deg);
1679
- }
1680
- }
1681
- @keyframes dash {
1682
- 0% {
1683
- stroke-dasharray: 1, 96;
1684
- stroke-dashoffset: 0;
1685
- }
1686
- 50% {
1687
- stroke-dasharray: 43, 96;
1688
- stroke-dashoffset: -17px;
1689
- }
1690
- 100% {
1691
- stroke-dasharray: 43, 96;
1692
- stroke-dashoffset: -53px;
1693
- }
1694
- }
1695
1642
  .ModalMenu {
1696
1643
  position: absolute;
1697
1644
  top: 10px;
@@ -1811,6 +1758,14 @@
1811
1758
  display: none;
1812
1759
  }
1813
1760
 
1761
+ .ScrollableTable .Scrollable .scrollbar {
1762
+ top: 56px;
1763
+ }
1764
+
1765
+ .ScrollableTable .Table {
1766
+ position: static;
1767
+ }
1768
+
1814
1769
  .Table {
1815
1770
  font-family: Roboto, sans-serif;
1816
1771
  font-size: 14px;
@@ -1933,10 +1888,56 @@
1933
1888
  margin: 0;
1934
1889
  }
1935
1890
 
1936
- .ScrollableTable .Scrollable .scrollbar {
1937
- top: 56px;
1891
+ .SpinningProgress {
1892
+ width: 48px;
1893
+ height: 48px;
1894
+ position: relative;
1895
+ margin: 0 auto;
1938
1896
  }
1939
1897
 
1940
- .ScrollableTable .Table {
1941
- position: static;
1898
+ .SpinningProgress:before {
1899
+ content: "";
1900
+ display: block;
1901
+ padding-top: 100%;
1902
+ }
1903
+
1904
+ .SpinningProgress .circular {
1905
+ animation: rotate 2s linear infinite;
1906
+ height: 100%;
1907
+ transform-origin: center center;
1908
+ width: 100%;
1909
+ position: absolute;
1910
+ top: 0;
1911
+ bottom: 0;
1912
+ left: 0;
1913
+ right: 0;
1914
+ margin: auto;
1915
+ }
1916
+
1917
+ .SpinningProgress .line {
1918
+ stroke: black;
1919
+ stroke-width: 2px;
1920
+ stroke-dasharray: 1, 96;
1921
+ stroke-dashoffset: 0;
1922
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1923
+ }
1924
+
1925
+ @keyframes rotate {
1926
+ 100% {
1927
+ transform: rotate(360deg);
1928
+ }
1929
+ }
1930
+ @keyframes dash {
1931
+ 0% {
1932
+ stroke-dasharray: 1, 96;
1933
+ stroke-dashoffset: 0;
1934
+ }
1935
+ 50% {
1936
+ stroke-dasharray: 43, 96;
1937
+ stroke-dashoffset: -17px;
1938
+ }
1939
+ 100% {
1940
+ stroke-dasharray: 43, 96;
1941
+ stroke-dashoffset: -53px;
1942
+ }
1942
1943
  }