react-ui-basics 0.0.214 → 0.0.215

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,178 +1,3 @@
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
-
176
1
  .AutocompleteSelect {
177
2
  display: inline-flex;
178
3
  flex-flow: column;
@@ -468,65 +293,240 @@
468
293
  position: absolute;
469
294
  }
470
295
 
471
- .FilteredList {
472
- max-height: 250px;
296
+ .Button {
473
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;
474
320
  }
475
321
 
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;
322
+ .Button.flat {
323
+ background-color: transparent;
487
324
  }
488
325
 
489
- .FilteredList.popup.visible {
490
- opacity: 1;
491
- visibility: visible;
326
+ .Button.flat:hover {
327
+ background-color: rgba(0, 0, 0, 0.05);
492
328
  }
493
329
 
494
- .FilteredList.portal {
495
- transition: opacity 0.2s ease-out;
330
+ .Button.green {
331
+ background-color: #43a047;
332
+ color: white;
496
333
  }
497
334
 
498
- .FilteredList.inline {
499
- max-height: 225px;
500
- margin-top: 5px;
335
+ .Button.green:hover {
336
+ background-color: #3b8e3f;
501
337
  }
502
338
 
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;
339
+ .Button.blue {
340
+ background-color: #039be5;
341
+ color: white;
519
342
  }
520
343
 
521
- .FilteredList .child.hidden {
522
- height: 0 !important;
523
- padding: 0 !important;
344
+ .Button.blue:hover {
345
+ background-color: #038acc;
524
346
  }
525
347
 
526
- .FilteredList .child.selected {
527
- background-color: #F0F0F0;
528
- padding-left: 10px;
529
- margin-left: 0px;
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;
524
+ }
525
+
526
+ .FilteredList .child.selected {
527
+ background-color: #F0F0F0;
528
+ padding-left: 10px;
529
+ margin-left: 0px;
530
530
  }
531
531
 
532
532
  .FilteredList .child.active {
@@ -595,239 +595,246 @@
595
595
  margin-bottom: 0;
596
596
  }
597
597
 
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
- }
608
-
609
- .ImageGallery:focus {
610
- outline-width: 0px;
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;
611
607
  }
612
608
 
613
- .ImageGallery.animated {
614
- transition: background-color 0.25s ease;
609
+ .Scrollable:hover > .scrollbar.auto {
610
+ transition-delay: 0s;
615
611
  opacity: 1;
616
612
  }
617
613
 
618
- .ImageGallery.mounting, .ImageGallery.mounted {
619
- background-color: rgba(0, 0, 0, 0.8);
620
- }
621
-
622
- .ImageGallery .image {
623
- position: absolute;
624
- cursor: grab;
614
+ .Scrollable .viewport {
615
+ overflow-y: scroll;
616
+ overflow-x: scroll;
617
+ max-height: 100%;
618
+ scroll-behavior: smooth;
619
+ scrollbar-width: none;
625
620
  }
626
621
 
627
- .ImageGallery .image .counter {
622
+ .Scrollable .viewport::-webkit-scrollbar {
628
623
  display: none;
629
624
  }
630
625
 
631
- .ImageGallery .image img {
632
- border-radius: 4px;
633
- max-width: 100%;
634
- min-width: 100%;
626
+ .Scrollable.without-scroll-horizontal {
627
+ max-width: unset;
635
628
  }
636
629
 
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;
630
+ .Scrollable.undefined-horizontal {
631
+ max-width: unset;
640
632
  }
641
633
 
642
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
643
- opacity: 1;
634
+ .Scrollable.without-scroll {
635
+ padding-right: 0;
636
+ max-height: unset;
644
637
  }
645
638
 
646
- .ImageGallery .image.zoomed {
647
- text-align: center;
648
- overflow: hidden;
639
+ .Scrollable.without-scroll > .viewport {
640
+ padding-right: 0;
641
+ margin-right: 0;
649
642
  }
650
643
 
651
- .ImageGallery .image.dragging {
652
- transition: none;
653
- cursor: move;
644
+ .Scrollable.without-scroll > .scrollbar {
645
+ visibility: hidden;
654
646
  }
655
647
 
656
- .ImageGallery .image .close {
648
+ .Scrollable .scrollbar {
657
649
  position: absolute;
658
- top: -18px;
659
- right: -18px;
660
- }
661
-
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);
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;
669
656
  }
670
657
 
671
- .ImageGallery .image .spinner .SpinningProgress {
658
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
659
+ opacity: 0;
660
+ }
661
+
662
+ .Scrollable .scrollbar .thumb {
663
+ background-color: rgba(0, 0, 0, 0.3);
664
+ width: 5px;
672
665
  position: absolute;
673
- top: 50%;
674
- left: 50%;
675
- margin-left: -24px;
676
- margin-top: -24px;
666
+ right: 0px;
667
+ top: 0px;
668
+ user-select: none;
669
+ will-change: top;
670
+ border-radius: 2px;
677
671
  }
678
672
 
679
- .ImageGallery .image .spinner .SpinningProgress .line {
680
- stroke: #2196F3;
673
+ .Scrollable .scrollbar .thumb:hover {
674
+ background-color: rgba(0, 0, 0, 0.5);
681
675
  }
682
676
 
683
- .ImageGallery .Button.animated {
684
- transition: all 0.25s ease;
685
- opacity: 0;
686
- transform: scale(0);
677
+ .Scrollable .scrollbar .thumb:active {
678
+ background-color: rgba(0, 0, 0, 0.7);
687
679
  }
688
680
 
689
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
690
- opacity: 1;
691
- transform: scale(1);
681
+ .Scrollable .scrollbar.horizontal {
682
+ left: 0px;
683
+ right: 0px;
684
+ height: 5px;
685
+ bottom: 0;
686
+ width: unset;
687
+ top: unset;
692
688
  }
693
689
 
694
- .ImageGallery .Button {
695
- color: white;
696
- background: rgba(0, 0, 0, 0.4);
690
+ .Scrollable .scrollbar.horizontal .thumb {
691
+ height: 5px;
692
+ left: 0px;
693
+ bottom: 0px;
694
+ will-change: left;
697
695
  }
698
696
 
699
- .ImageGallery .Button:hover {
700
- background: rgba(0, 0, 0, 0.7);
697
+ .TextField {
698
+ position: relative;
699
+ width: 100%;
701
700
  }
702
701
 
703
- .ImageGallery > .arrow {
702
+ .TextField > label {
703
+ font-family: Roboto, sans-serif;
704
+ color: rgba(0, 0, 0, 0.3);
705
+ font-size: 16px;
704
706
  position: absolute;
705
- top: 50%;
706
- height: 76px;
707
- width: 76px;
708
- margin-top: -38px;
707
+ left: 0px;
708
+ top: 16px;
709
+ margin-top: -16px;
710
+ transition: all 0.2s ease;
711
+ user-select: none;
712
+ cursor: text;
709
713
  }
710
714
 
711
- .ImageGallery > .arrow.left {
712
- left: 5%;
715
+ .TextField > input {
716
+ font-family: Roboto, sans-serif;
717
+ color: #1e252d;
718
+ height: 19px;
719
+ font-size: 16px;
720
+ width: 100%;
721
+ border: 0px;
722
+ padding-bottom: 4px;
723
+ padding-top: 0;
724
+ outline-color: rgba(0, 0, 0, 0);
713
725
  }
714
726
 
715
- .ImageGallery > .arrow.right {
716
- right: 5%;
727
+ .TextField > input:focus {
728
+ outline: none;
717
729
  }
718
730
 
719
- .ImageGallery > .arrow .material-icons {
720
- font-size: 40px;
731
+ .TextField > input:disabled {
732
+ color: gray;
733
+ background-color: white;
721
734
  }
722
735
 
723
- .ImageGallery .counter {
724
- position: absolute;
725
- top: 10px;
726
- left: 10px;
727
- color: white;
728
- font-size: 13px;
736
+ .TextField > input:disabled + .border {
737
+ height: 0px;
738
+ border-bottom: 2px dotted rgb(224, 224, 224);
729
739
  }
730
740
 
731
- .ImageGallery .previews {
732
- height: 80px;
733
- position: absolute;
734
- bottom: 15px;
735
- left: 50%;
736
- transform: translateX(-50%);
737
- padding: 0 45px;
741
+ .TextField > input::placeholder {
742
+ font-family: Roboto, sans-serif;
743
+ color: rgba(0, 0, 0, 0.3);
744
+ opacity: 1;
738
745
  }
739
746
 
740
- .ImageGallery .previews .viewport {
741
- overflow: hidden;
747
+ .TextField > .border {
748
+ border-bottom: 1px solid rgb(224, 224, 224);
749
+ height: 1px;
742
750
  position: relative;
743
- height: 100%;
744
751
  }
745
752
 
746
- .ImageGallery .previews .container {
747
- position: relative;
748
- display: flex;
749
- flex-flow: row nowrap;
750
- height: 100%;
751
- transition: left 0.25s ease;
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;
752
761
  }
753
762
 
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;
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;
764
772
  }
765
773
 
766
- .ImageGallery .previews .preview:first-child {
767
- margin-left: 0;
774
+ .TextField.focused > label, .TextField.withValue > label {
775
+ top: 4px;
776
+ font-size: 12px;
777
+ line-height: 14px;
768
778
  }
769
779
 
770
- .ImageGallery .previews .preview > .border {
771
- position: absolute;
772
- bottom: 0;
773
- width: 100%;
774
- height: 3px;
780
+ .TextField.errored > .error {
781
+ visibility: visible;
782
+ opacity: 1;
775
783
  }
776
784
 
777
- .ImageGallery .previews .preview > .border .line {
778
- left: 50%;
779
- width: 0;
780
- height: 3px;
781
- min-height: 3px;
782
- background-color: #4AC263;
783
- transition: all 0.2s ease;
784
- position: absolute;
785
+ .TextField.errored > .border {
786
+ border-bottom-color: rgb(244, 67, 54);
785
787
  }
786
788
 
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;
789
+ .TextField.errored > label {
790
+ color: rgb(244, 67, 54);
796
791
  }
797
792
 
798
- .ImageGallery .previews .preview:hover:after {
799
- background: rgba(0, 0, 0, 0.1);
793
+ .TextField.focused > label {
794
+ color: rgb(0, 188, 212);
800
795
  }
801
796
 
802
- .ImageGallery .previews .preview.selected .border .line {
797
+ .TextField.focused > .border .line {
803
798
  left: 0;
804
799
  width: 100%;
805
800
  }
806
801
 
807
- .ImageGallery .previews .preview.selected:after {
808
- background: rgba(0, 0, 0, 0);
802
+ .TextField.disabled label, .TextField.disabled input {
803
+ cursor: not-allowed;
809
804
  }
810
805
 
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;
806
+ .TextField.withLabel {
807
+ margin-top: 15px;
819
808
  }
820
809
 
821
- .ImageGallery .previews > .arrow.left {
822
- left: 0;
810
+ .TextField input::-webkit-contacts-auto-fill-button {
811
+ visibility: hidden;
812
+ display: none !important;
813
+ pointer-events: none;
814
+ position: absolute;
815
+ right: 0;
823
816
  }
824
817
 
825
- .ImageGallery .previews > .arrow.right {
826
- right: 0;
818
+ .TextField input:-webkit-autofill {
819
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
827
820
  }
828
821
 
829
- .ImageGallery .previews > .arrow .material-icons {
830
- font-size: 24px;
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
+ }
832
+ }
833
+ .TextField .shake {
834
+ animation-duration: 0.5s;
835
+ animation-fill-mode: both;
836
+ animation-timing-function: ease-in-out;
837
+ animation-name: shake;
831
838
  }
832
839
 
833
840
  .FormUploadProgress {
@@ -899,334 +906,327 @@
899
906
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
900
907
  }
901
908
 
902
- .Scrollable {
903
- max-height: 250px;
904
- max-width: 250px;
905
- padding-right: 5px;
906
- position: relative;
907
- display: flex;
908
- flex-flow: column;
909
- align-items: stretch;
910
- overflow: hidden;
911
- }
912
-
913
- .Scrollable:hover > .scrollbar.auto {
914
- transition-delay: 0s;
915
- opacity: 1;
909
+ .Modal {
910
+ display: block;
911
+ position: fixed;
912
+ top: 0;
913
+ left: 0;
914
+ right: 0;
915
+ bottom: 100%;
916
+ overflow-y: scroll;
917
+ transition: bottom 0ms linear;
918
+ transition-delay: 0.2s;
916
919
  }
917
920
 
918
- .Scrollable .viewport {
919
- overflow-y: scroll;
920
- overflow-x: scroll;
921
- max-height: 100%;
922
- scroll-behavior: smooth;
923
- scrollbar-width: none;
921
+ .Modal.show {
922
+ transition-delay: 0s;
923
+ bottom: 0;
924
924
  }
925
925
 
926
- .Scrollable .viewport::-webkit-scrollbar {
927
- display: none;
926
+ .Modal > .overlay {
927
+ position: fixed;
928
+ top: 0;
929
+ bottom: 100%;
930
+ left: 0;
931
+ right: 0;
932
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
933
+ opacity: 0;
934
+ background-color: black;
935
+ pointer-events: none;
928
936
  }
929
937
 
930
- .Scrollable.without-scroll-horizontal {
931
- max-width: unset;
938
+ .Modal > .overlay.show {
939
+ opacity: 0.5;
940
+ bottom: 0;
932
941
  }
933
942
 
934
- .Scrollable.undefined-horizontal {
935
- max-width: unset;
943
+ .Modal > .content {
944
+ left: 50%;
945
+ top: 10vh;
946
+ margin-bottom: 10vh;
947
+ font-size: 16px;
948
+ padding: 0;
949
+ opacity: 0;
950
+ transition: opacity 0.25s ease, transform 0.25s ease;
951
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
952
+ transform-origin: top;
953
+ position: absolute;
954
+ border-radius: 2px;
955
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
936
956
  }
937
957
 
938
- .Scrollable.without-scroll {
939
- padding-right: 0;
940
- max-height: unset;
958
+ .Modal > .content.show {
959
+ opacity: 1;
960
+ transform: scaleY(1) translateY(0px) translateX(-50%);
941
961
  }
942
962
 
943
- .Scrollable.without-scroll > .viewport {
944
- padding-right: 0;
945
- margin-right: 0;
963
+ .Modal > .content > .Scrollable {
964
+ overflow: visible;
965
+ max-height: 80vh;
946
966
  }
947
967
 
948
- .Scrollable.without-scroll > .scrollbar {
949
- visibility: hidden;
968
+ .Modal > .content > .Scrollable > .viewport {
969
+ min-width: 10px;
970
+ min-height: 10px;
950
971
  }
951
972
 
952
- .Scrollable .scrollbar {
973
+ .Modal > .content > .Button.close {
974
+ top: 10px;
975
+ right: 10px;
953
976
  position: absolute;
954
- right: 0px;
955
- top: 0px;
956
- width: 5px;
957
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
958
- transition-delay: 0.5s;
959
- z-index: 1;
960
977
  }
961
978
 
962
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
963
- opacity: 0;
979
+ .DNDContainer .DroppableList .Draggable {
980
+ transform: unset;
981
+ transition: unset;
982
+ opacity: 1;
964
983
  }
965
984
 
966
- .Scrollable .scrollbar .thumb {
967
- background-color: rgba(0, 0, 0, 0.3);
968
- width: 5px;
969
- position: absolute;
970
- right: 0px;
971
- top: 0px;
972
- user-select: none;
973
- will-change: top;
974
- border-radius: 2px;
985
+ .DNDContainer .DroppableList .Draggable.dragged {
986
+ transition: unset !important;
975
987
  }
976
988
 
977
- .Scrollable .scrollbar .thumb:hover {
978
- background-color: rgba(0, 0, 0, 0.5);
989
+ .DNDContainer .DroppableList.hover .Draggable {
990
+ transition: transform 0.2s ease-in;
979
991
  }
980
992
 
981
- .Scrollable .scrollbar .thumb:active {
982
- background-color: rgba(0, 0, 0, 0.7);
993
+ .DNDContainer .DroppableList.resetting .Draggable {
994
+ transition: transform 0.1s ease-in;
983
995
  }
984
996
 
985
- .Scrollable .scrollbar.horizontal {
986
- left: 0px;
987
- right: 0px;
988
- height: 5px;
997
+ .ImageGallery {
998
+ position: fixed;
999
+ top: 0;
1000
+ left: 0;
989
1001
  bottom: 0;
990
- width: unset;
991
- top: unset;
1002
+ right: 0;
1003
+ z-index: 1000;
1004
+ background-color: rgba(0, 0, 0, 0.01);
1005
+ user-select: none;
992
1006
  }
993
1007
 
994
- .Scrollable .scrollbar.horizontal .thumb {
995
- height: 5px;
996
- left: 0px;
997
- bottom: 0px;
998
- will-change: left;
1008
+ .ImageGallery:focus {
1009
+ outline-width: 0px;
999
1010
  }
1000
1011
 
1001
- .TextField {
1002
- position: relative;
1003
- width: 100%;
1012
+ .ImageGallery.animated {
1013
+ transition: background-color 0.25s ease;
1014
+ opacity: 1;
1004
1015
  }
1005
1016
 
1006
- .TextField > label {
1007
- font-family: Roboto, sans-serif;
1008
- color: rgba(0, 0, 0, 0.3);
1009
- font-size: 16px;
1010
- position: absolute;
1011
- left: 0px;
1012
- top: 16px;
1013
- margin-top: -16px;
1014
- transition: all 0.2s ease;
1015
- user-select: none;
1016
- cursor: text;
1017
+ .ImageGallery.mounting, .ImageGallery.mounted {
1018
+ background-color: rgba(0, 0, 0, 0.8);
1017
1019
  }
1018
1020
 
1019
- .TextField > input {
1020
- font-family: Roboto, sans-serif;
1021
- color: #1e252d;
1022
- height: 19px;
1023
- font-size: 16px;
1024
- width: 100%;
1025
- border: 0px;
1026
- padding-bottom: 4px;
1027
- padding-top: 0;
1028
- outline-color: rgba(0, 0, 0, 0);
1021
+ .ImageGallery .image {
1022
+ position: absolute;
1023
+ cursor: grab;
1029
1024
  }
1030
1025
 
1031
- .TextField > input:focus {
1032
- outline: none;
1026
+ .ImageGallery .image .counter {
1027
+ display: none;
1033
1028
  }
1034
1029
 
1035
- .TextField > input:disabled {
1036
- color: gray;
1037
- background-color: white;
1030
+ .ImageGallery .image img {
1031
+ border-radius: 4px;
1032
+ max-width: 100%;
1033
+ min-width: 100%;
1038
1034
  }
1039
1035
 
1040
- .TextField > input:disabled + .border {
1041
- height: 0px;
1042
- border-bottom: 2px dotted rgb(224, 224, 224);
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;
1043
1039
  }
1044
1040
 
1045
- .TextField > input::placeholder {
1046
- font-family: Roboto, sans-serif;
1047
- color: rgba(0, 0, 0, 0.3);
1041
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1048
1042
  opacity: 1;
1049
1043
  }
1050
1044
 
1051
- .TextField > .border {
1052
- border-bottom: 1px solid rgb(224, 224, 224);
1053
- height: 1px;
1054
- position: relative;
1045
+ .ImageGallery .image.zoomed {
1046
+ text-align: center;
1047
+ overflow: hidden;
1055
1048
  }
1056
1049
 
1057
- .TextField > .border .line {
1058
- left: 50%;
1059
- width: 0;
1060
- height: 2px;
1061
- min-height: 2px;
1062
- background-color: rgb(0, 188, 212);
1063
- transition: all 0.2s ease;
1050
+ .ImageGallery .image.dragging {
1051
+ transition: none;
1052
+ cursor: move;
1053
+ }
1054
+
1055
+ .ImageGallery .image .close {
1064
1056
  position: absolute;
1057
+ top: -18px;
1058
+ right: -18px;
1065
1059
  }
1066
1060
 
1067
- .TextField > .error {
1068
- text-align: left;
1069
- font-size: 10px;
1070
- min-height: 0;
1071
- line-height: 14px;
1072
- color: rgb(244, 67, 54);
1073
- visibility: hidden;
1074
- opacity: 0;
1075
- transition: all 0.2s ease;
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);
1076
1068
  }
1077
1069
 
1078
- .TextField.focused > label, .TextField.withValue > label {
1079
- top: 4px;
1080
- font-size: 12px;
1081
- line-height: 14px;
1070
+ .ImageGallery .image .spinner .SpinningProgress {
1071
+ position: absolute;
1072
+ top: 50%;
1073
+ left: 50%;
1074
+ margin-left: -24px;
1075
+ margin-top: -24px;
1082
1076
  }
1083
1077
 
1084
- .TextField.errored > .error {
1085
- visibility: visible;
1078
+ .ImageGallery .image .spinner .SpinningProgress .line {
1079
+ stroke: #2196F3;
1080
+ }
1081
+
1082
+ .ImageGallery .Button.animated {
1083
+ transition: all 0.25s ease;
1084
+ opacity: 0;
1085
+ transform: scale(0);
1086
+ }
1087
+
1088
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1086
1089
  opacity: 1;
1090
+ transform: scale(1);
1087
1091
  }
1088
1092
 
1089
- .TextField.errored > .border {
1090
- border-bottom-color: rgb(244, 67, 54);
1093
+ .ImageGallery .Button {
1094
+ color: white;
1095
+ background: rgba(0, 0, 0, 0.4);
1091
1096
  }
1092
1097
 
1093
- .TextField.errored > label {
1094
- color: rgb(244, 67, 54);
1098
+ .ImageGallery .Button:hover {
1099
+ background: rgba(0, 0, 0, 0.7);
1095
1100
  }
1096
1101
 
1097
- .TextField.focused > label {
1098
- color: rgb(0, 188, 212);
1102
+ .ImageGallery > .arrow {
1103
+ position: absolute;
1104
+ top: 50%;
1105
+ height: 76px;
1106
+ width: 76px;
1107
+ margin-top: -38px;
1099
1108
  }
1100
1109
 
1101
- .TextField.focused > .border .line {
1102
- left: 0;
1103
- width: 100%;
1110
+ .ImageGallery > .arrow.left {
1111
+ left: 5%;
1104
1112
  }
1105
1113
 
1106
- .TextField.disabled label, .TextField.disabled input {
1107
- cursor: not-allowed;
1114
+ .ImageGallery > .arrow.right {
1115
+ right: 5%;
1108
1116
  }
1109
1117
 
1110
- .TextField.withLabel {
1111
- margin-top: 15px;
1118
+ .ImageGallery > .arrow .material-icons {
1119
+ font-size: 40px;
1112
1120
  }
1113
1121
 
1114
- .TextField input::-webkit-contacts-auto-fill-button {
1115
- visibility: hidden;
1116
- display: none !important;
1117
- pointer-events: none;
1122
+ .ImageGallery .counter {
1118
1123
  position: absolute;
1119
- right: 0;
1124
+ top: 10px;
1125
+ left: 10px;
1126
+ color: white;
1127
+ font-size: 13px;
1120
1128
  }
1121
1129
 
1122
- .TextField input:-webkit-autofill {
1123
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1130
+ .ImageGallery .previews {
1131
+ height: 80px;
1132
+ position: absolute;
1133
+ bottom: 15px;
1134
+ left: 50%;
1135
+ transform: translateX(-50%);
1136
+ padding: 0 45px;
1124
1137
  }
1125
1138
 
1126
- @keyframes shake {
1127
- 0%, 100% {
1128
- transform: translateX(0);
1129
- }
1130
- 20%, 60% {
1131
- transform: translateX(-5px);
1132
- }
1133
- 40%, 80% {
1134
- transform: translateX(5px);
1135
- }
1136
- }
1137
- .TextField .shake {
1138
- animation-duration: 0.5s;
1139
- animation-fill-mode: both;
1140
- animation-timing-function: ease-in-out;
1141
- animation-name: shake;
1139
+ .ImageGallery .previews .viewport {
1140
+ overflow: hidden;
1141
+ position: relative;
1142
+ height: 100%;
1142
1143
  }
1143
1144
 
1144
- .Modal {
1145
- display: block;
1146
- position: fixed;
1147
- top: 0;
1148
- left: 0;
1149
- right: 0;
1150
- bottom: 100%;
1151
- overflow-y: scroll;
1152
- transition: bottom 0ms linear;
1153
- transition-delay: 0.2s;
1145
+ .ImageGallery .previews .container {
1146
+ position: relative;
1147
+ display: flex;
1148
+ flex-flow: row nowrap;
1149
+ height: 100%;
1150
+ transition: left 0.25s ease;
1154
1151
  }
1155
1152
 
1156
- .Modal.show {
1157
- transition-delay: 0s;
1158
- bottom: 0;
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;
1159
1163
  }
1160
1164
 
1161
- .Modal > .overlay {
1162
- position: fixed;
1163
- top: 0;
1164
- bottom: 100%;
1165
- left: 0;
1166
- right: 0;
1167
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1168
- opacity: 0;
1169
- background-color: black;
1170
- pointer-events: none;
1165
+ .ImageGallery .previews .preview:first-child {
1166
+ margin-left: 0;
1171
1167
  }
1172
1168
 
1173
- .Modal > .overlay.show {
1174
- opacity: 0.5;
1169
+ .ImageGallery .previews .preview > .border {
1170
+ position: absolute;
1175
1171
  bottom: 0;
1172
+ width: 100%;
1173
+ height: 3px;
1176
1174
  }
1177
1175
 
1178
- .Modal > .content {
1176
+ .ImageGallery .previews .preview > .border .line {
1179
1177
  left: 50%;
1180
- top: 10vh;
1181
- margin-bottom: 10vh;
1182
- font-size: 16px;
1183
- padding: 0;
1184
- opacity: 0;
1185
- transition: opacity 0.25s ease, transform 0.25s ease;
1186
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1187
- transform-origin: top;
1178
+ width: 0;
1179
+ height: 3px;
1180
+ min-height: 3px;
1181
+ background-color: #4AC263;
1182
+ transition: all 0.2s ease;
1188
1183
  position: absolute;
1189
- border-radius: 2px;
1190
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1191
1184
  }
1192
1185
 
1193
- .Modal > .content.show {
1194
- opacity: 1;
1195
- transform: scaleY(1) translateY(0px) translateX(-50%);
1186
+ .ImageGallery .previews .preview:after {
1187
+ content: "";
1188
+ position: absolute;
1189
+ top: 0;
1190
+ right: 0;
1191
+ bottom: 0;
1192
+ left: 0;
1193
+ background: rgba(0, 0, 0, 0.35);
1194
+ transition: background 0.2s ease;
1196
1195
  }
1197
1196
 
1198
- .Modal > .content > .Scrollable {
1199
- overflow: visible;
1200
- max-height: 80vh;
1197
+ .ImageGallery .previews .preview:hover:after {
1198
+ background: rgba(0, 0, 0, 0.1);
1201
1199
  }
1202
1200
 
1203
- .Modal > .content > .Scrollable > .viewport {
1204
- min-width: 10px;
1205
- min-height: 10px;
1201
+ .ImageGallery .previews .preview.selected .border .line {
1202
+ left: 0;
1203
+ width: 100%;
1206
1204
  }
1207
1205
 
1208
- .Modal > .content > .Button.close {
1209
- top: 10px;
1210
- right: 10px;
1211
- position: absolute;
1206
+ .ImageGallery .previews .preview.selected:after {
1207
+ background: rgba(0, 0, 0, 0);
1212
1208
  }
1213
1209
 
1214
- .DNDContainer .DroppableList .Draggable {
1215
- transform: unset;
1216
- transition: unset;
1217
- opacity: 1;
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;
1218
1218
  }
1219
1219
 
1220
- .DNDContainer .DroppableList .Draggable.dragged {
1221
- transition: unset !important;
1220
+ .ImageGallery .previews > .arrow.left {
1221
+ left: 0;
1222
1222
  }
1223
1223
 
1224
- .DNDContainer .DroppableList.hover .Draggable {
1225
- transition: transform 0.2s ease-in;
1224
+ .ImageGallery .previews > .arrow.right {
1225
+ right: 0;
1226
1226
  }
1227
1227
 
1228
- .DNDContainer .DroppableList.resetting .Draggable {
1229
- transition: transform 0.1s ease-in;
1228
+ .ImageGallery .previews > .arrow .material-icons {
1229
+ font-size: 24px;
1230
1230
  }
1231
1231
 
1232
1232
  .CalendarMonthView {
@@ -1254,19 +1254,6 @@
1254
1254
  height: 100%;
1255
1255
  }
1256
1256
 
1257
- .CircleProgress {
1258
- width: 48px;
1259
- height: 48px;
1260
- }
1261
-
1262
- .CircleProgress .line {
1263
- stroke-width: 2px;
1264
- stroke: black;
1265
- stroke-linecap: square;
1266
- fill: none;
1267
- transition: stroke-dashoffset 0.2s ease;
1268
- }
1269
-
1270
1257
  .Checkbox {
1271
1258
  position: relative;
1272
1259
  white-space: pre;
@@ -1334,6 +1321,19 @@
1334
1321
  background: rgba(0, 0, 0, 0.26);
1335
1322
  }
1336
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
1337
  .DNDContainer {
1338
1338
  position: relative;
1339
1339
  }
@@ -1366,6 +1366,33 @@
1366
1366
  pointer-events: none;
1367
1367
  }
1368
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;
1380
+ 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
+ }
1391
+
1392
+ .DropFileInput .Dropzone .icon.withText {
1393
+ margin-right: 10px;
1394
+ }
1395
+
1369
1396
  .DatePicker {
1370
1397
  position: relative;
1371
1398
  }
@@ -1471,209 +1498,76 @@
1471
1498
  }
1472
1499
 
1473
1500
  .calendar .CalendarMonthView .day span.inactive:hover {
1474
- background: unset;
1475
- }
1476
-
1477
- .calendar .CalendarMonthView .day span.selected {
1478
- color: white;
1479
- background-color: #2196F3;
1480
- }
1481
-
1482
- .calendar .CalendarMonthView .day span.selected:hover {
1483
- background-color: #51adf6;
1484
- }
1485
-
1486
- .Dropzone {
1487
- position: relative;
1488
- }
1489
-
1490
- .Dropzone > .overlay {
1491
- position: absolute;
1492
- left: 0;
1493
- right: 0;
1494
- top: 0;
1495
- bottom: 0;
1496
- background-color: #38ADC4;
1497
- z-index: 1;
1498
- opacity: 0;
1499
- transition: all 0.2s ease;
1500
- transition-delay: 100ms;
1501
- visibility: hidden;
1502
- display: flex;
1503
- justify-content: center;
1504
- align-items: center;
1505
- }
1506
-
1507
- .Dropzone > .overlay .drop {
1508
- border-radius: 4px;
1509
- border: 1px dashed #FFFFFF;
1510
- position: absolute;
1511
- top: 18px;
1512
- left: 18px;
1513
- right: 18px;
1514
- bottom: 18px;
1515
- display: flex;
1516
- justify-content: center;
1517
- align-items: center;
1518
- font-weight: 500;
1519
- font-size: 18px;
1520
- color: #FFFFFF;
1521
- }
1522
-
1523
- .Dropzone.dragging > .overlay {
1524
- opacity: 0.7;
1525
- visibility: visible;
1526
- transition-delay: 0s;
1527
- }
1528
-
1529
- .Dropzone.dragging > * {
1530
- pointer-events: none;
1531
- }
1532
-
1533
- .Dropzone > input.file {
1534
- position: absolute;
1535
- left: 0;
1536
- right: 0;
1537
- top: 0;
1538
- bottom: 0;
1539
- width: 100%;
1540
- height: 100%;
1541
- opacity: 0;
1542
- cursor: pointer;
1543
- z-index: 1;
1544
- }
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
-
1597
- .Switch {
1598
- display: inline-flex;
1599
- padding-top: 5px;
1600
- }
1601
-
1602
- .Switch .switch-input {
1603
- display: none;
1604
- }
1605
-
1606
- .Switch .switch-label {
1607
- position: relative;
1608
- display: inline-flex;
1609
- align-items: center;
1610
- min-width: 38px;
1611
- height: 24px;
1612
- cursor: pointer;
1613
- font-weight: 500;
1614
- text-align: left;
1615
- user-select: none;
1616
- margin: 0;
1617
- padding: 0;
1618
- padding-left: 44px;
1619
- box-sizing: border-box;
1620
- }
1621
-
1622
- .Switch .switch-label:before, .Switch .switch-label:after {
1623
- content: "";
1624
- box-sizing: border-box;
1625
- position: absolute;
1626
- margin: 0;
1627
- outline: 0;
1628
- top: 50%;
1629
- transform: translate(0, -50%);
1630
- transition: all 0.3s ease;
1631
- }
1632
-
1633
- .Switch .switch-label:before {
1634
- left: 1px;
1635
- width: 34px;
1636
- height: 14px;
1637
- background-color: #9E9E9E;
1638
- border-radius: 8px;
1501
+ background: unset;
1639
1502
  }
1640
1503
 
1641
- .Switch .switch-label:after {
1642
- left: 0;
1643
- width: 20px;
1644
- height: 20px;
1645
- background-color: #FAFAFA;
1646
- border-radius: 50%;
1647
- 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);
1504
+ .calendar .CalendarMonthView .day span.selected {
1505
+ color: white;
1506
+ background-color: #2196F3;
1648
1507
  }
1649
1508
 
1650
- .Switch .switch-label .toggle--on {
1651
- display: none;
1509
+ .calendar .CalendarMonthView .day span.selected:hover {
1510
+ background-color: #51adf6;
1652
1511
  }
1653
1512
 
1654
- .Switch .switch-label .toggle--off {
1655
- display: inline-block;
1513
+ .Dropzone {
1514
+ position: relative;
1656
1515
  }
1657
1516
 
1658
- .Switch .switch-label .label {
1659
- margin-right: 5px;
1517
+ .Dropzone > .overlay {
1518
+ position: absolute;
1519
+ left: 0;
1520
+ right: 0;
1521
+ top: 0;
1522
+ bottom: 0;
1523
+ background-color: #38ADC4;
1524
+ z-index: 1;
1525
+ opacity: 0;
1526
+ transition: all 0.2s ease;
1527
+ transition-delay: 100ms;
1528
+ visibility: hidden;
1529
+ display: flex;
1530
+ justify-content: center;
1531
+ align-items: center;
1660
1532
  }
1661
1533
 
1662
- .Switch .switch-input:checked + .switch-label:before {
1663
- background-color: #A5D6A7;
1534
+ .Dropzone > .overlay .drop {
1535
+ border-radius: 4px;
1536
+ border: 1px dashed #FFFFFF;
1537
+ position: absolute;
1538
+ top: 18px;
1539
+ left: 18px;
1540
+ right: 18px;
1541
+ bottom: 18px;
1542
+ display: flex;
1543
+ justify-content: center;
1544
+ align-items: center;
1545
+ font-weight: 500;
1546
+ font-size: 18px;
1547
+ color: #FFFFFF;
1664
1548
  }
1665
1549
 
1666
- .Switch .switch-input:checked + .switch-label:after {
1667
- background-color: #4CAF50;
1668
- transform: translate(80%, -50%);
1550
+ .Dropzone.dragging > .overlay {
1551
+ opacity: 0.7;
1552
+ visibility: visible;
1553
+ transition-delay: 0s;
1669
1554
  }
1670
1555
 
1671
- .Switch .switch-input:checked + .switch-label .toggle--on {
1672
- display: inline-block;
1556
+ .Dropzone.dragging > * {
1557
+ pointer-events: none;
1673
1558
  }
1674
1559
 
1675
- .Switch .switch-input:checked + .switch-label .toggle--off {
1676
- display: none;
1560
+ .Dropzone > input.file {
1561
+ position: absolute;
1562
+ left: 0;
1563
+ right: 0;
1564
+ top: 0;
1565
+ bottom: 0;
1566
+ width: 100%;
1567
+ height: 100%;
1568
+ opacity: 0;
1569
+ cursor: pointer;
1570
+ z-index: 1;
1677
1571
  }
1678
1572
 
1679
1573
  .Snackbar {
@@ -1721,12 +1615,28 @@
1721
1615
  color: #bf3727;
1722
1616
  }
1723
1617
 
1724
- .ScrollableTable .Scrollable .scrollbar {
1725
- top: 56px;
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);
1726
1626
  }
1727
1627
 
1728
- .ScrollableTable .Table {
1729
- position: static;
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;
1730
1640
  }
1731
1641
 
1732
1642
  .SpinningProgress {
@@ -1782,6 +1692,125 @@
1782
1692
  stroke-dashoffset: -53px;
1783
1693
  }
1784
1694
  }
1695
+ .ModalMenu {
1696
+ position: absolute;
1697
+ top: 10px;
1698
+ right: 50px;
1699
+ }
1700
+
1701
+ .ModalMenu .material-icons {
1702
+ color: #818181;
1703
+ }
1704
+
1705
+ .ModalMenu .Button.animated {
1706
+ position: absolute;
1707
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1708
+ opacity: 0;
1709
+ right: 0;
1710
+ top: 0;
1711
+ }
1712
+
1713
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1714
+ opacity: 1;
1715
+ }
1716
+
1717
+ .ModalMenu .Button.animated.unmounting {
1718
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1719
+ }
1720
+
1721
+ .ModalMenu .Button.active {
1722
+ background: #EBEBEB;
1723
+ }
1724
+
1725
+ .ModalMenu .separator {
1726
+ height: 24px;
1727
+ width: 1px;
1728
+ background-color: #D9D9D9;
1729
+ margin-left: 4px;
1730
+ }
1731
+
1732
+ .Switch {
1733
+ display: inline-flex;
1734
+ padding-top: 5px;
1735
+ }
1736
+
1737
+ .Switch .switch-input {
1738
+ display: none;
1739
+ }
1740
+
1741
+ .Switch .switch-label {
1742
+ position: relative;
1743
+ display: inline-flex;
1744
+ align-items: center;
1745
+ min-width: 38px;
1746
+ height: 24px;
1747
+ cursor: pointer;
1748
+ font-weight: 500;
1749
+ text-align: left;
1750
+ user-select: none;
1751
+ margin: 0;
1752
+ padding: 0;
1753
+ padding-left: 44px;
1754
+ box-sizing: border-box;
1755
+ }
1756
+
1757
+ .Switch .switch-label:before, .Switch .switch-label:after {
1758
+ content: "";
1759
+ box-sizing: border-box;
1760
+ position: absolute;
1761
+ margin: 0;
1762
+ outline: 0;
1763
+ top: 50%;
1764
+ transform: translate(0, -50%);
1765
+ transition: all 0.3s ease;
1766
+ }
1767
+
1768
+ .Switch .switch-label:before {
1769
+ left: 1px;
1770
+ width: 34px;
1771
+ height: 14px;
1772
+ background-color: #9E9E9E;
1773
+ border-radius: 8px;
1774
+ }
1775
+
1776
+ .Switch .switch-label:after {
1777
+ left: 0;
1778
+ width: 20px;
1779
+ height: 20px;
1780
+ background-color: #FAFAFA;
1781
+ border-radius: 50%;
1782
+ 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);
1783
+ }
1784
+
1785
+ .Switch .switch-label .toggle--on {
1786
+ display: none;
1787
+ }
1788
+
1789
+ .Switch .switch-label .toggle--off {
1790
+ display: inline-block;
1791
+ }
1792
+
1793
+ .Switch .switch-label .label {
1794
+ margin-right: 5px;
1795
+ }
1796
+
1797
+ .Switch .switch-input:checked + .switch-label:before {
1798
+ background-color: #A5D6A7;
1799
+ }
1800
+
1801
+ .Switch .switch-input:checked + .switch-label:after {
1802
+ background-color: #4CAF50;
1803
+ transform: translate(80%, -50%);
1804
+ }
1805
+
1806
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1807
+ display: inline-block;
1808
+ }
1809
+
1810
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1811
+ display: none;
1812
+ }
1813
+
1785
1814
  .Table {
1786
1815
  font-family: Roboto, sans-serif;
1787
1816
  font-size: 14px;
@@ -1904,39 +1933,10 @@
1904
1933
  margin: 0;
1905
1934
  }
1906
1935
 
1907
- .ModalMenu {
1908
- position: absolute;
1909
- top: 10px;
1910
- right: 50px;
1911
- }
1912
-
1913
- .ModalMenu .material-icons {
1914
- color: #818181;
1915
- }
1916
-
1917
- .ModalMenu .Button.animated {
1918
- position: absolute;
1919
- transition: opacity 150ms ease-in, right 200ms ease-in;
1920
- opacity: 0;
1921
- right: 0;
1922
- top: 0;
1923
- }
1924
-
1925
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1926
- opacity: 1;
1927
- }
1928
-
1929
- .ModalMenu .Button.animated.unmounting {
1930
- transition: opacity 100ms ease-out, right 200ms ease-out;
1931
- }
1932
-
1933
- .ModalMenu .Button.active {
1934
- background: #EBEBEB;
1936
+ .ScrollableTable .Scrollable .scrollbar {
1937
+ top: 56px;
1935
1938
  }
1936
1939
 
1937
- .ModalMenu .separator {
1938
- height: 24px;
1939
- width: 1px;
1940
- background-color: #D9D9D9;
1941
- margin-left: 4px;
1940
+ .ScrollableTable .Table {
1941
+ position: static;
1942
1942
  }