react-ui-basics 0.0.216 → 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,466 +468,482 @@
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;
521
+ .FilteredList .child.hidden {
522
+ height: 0 !important;
523
+ padding: 0 !important;
346
524
  }
347
525
 
348
- .Button.red {
349
- background-color: #e53935;
350
- color: white;
351
- }
352
-
353
- .Button.red:hover {
354
- background-color: #e2231e;
526
+ .FilteredList .child.selected {
527
+ background-color: #F0F0F0;
528
+ padding-left: 10px;
529
+ margin-left: 0px;
355
530
  }
356
531
 
357
- .Button.black {
358
- background-color: #1e252d;
359
- color: white;
532
+ .FilteredList .child.active {
533
+ background-color: rgb(238, 238, 238);
360
534
  }
361
535
 
362
- .Button.black:hover {
363
- background-color: #14181e;
536
+ .FilteredList .child {
537
+ margin-top: 8px;
364
538
  }
365
539
 
366
- .Button.gray {
367
- background: #D9D9D9;
368
- color: #999999;
540
+ .FilteredList .child.hidden {
541
+ margin-top: 0;
369
542
  }
370
543
 
371
- .Button.gray:hover {
372
- background-color: #cccccc;
544
+ .FilteredList .child:not(.hidden) ~ .child {
545
+ margin-top: 0;
373
546
  }
374
547
 
375
- .Button.small {
376
- padding: 0px 8px;
377
- min-height: 16px;
378
- min-width: 16px;
548
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
549
+ margin-bottom: 8px;
379
550
  }
380
551
 
381
- .Button > .material-icons {
382
- margin-right: 10px;
552
+ .FilteredList .child:not(.hidden):last-child {
553
+ margin-bottom: 8px;
383
554
  }
384
555
 
385
- .Button.round {
386
- padding: 0px;
387
- min-width: 36px;
388
- border-radius: 50%;
556
+ .DialogModal {
557
+ overflow: hidden;
389
558
  }
390
559
 
391
- .Button.round > .material-icons {
392
- margin: 0px;
560
+ .DialogModal .content {
561
+ top: 20vh;
393
562
  }
394
563
 
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;
564
+ .Dialog {
565
+ background-color: white;
566
+ min-width: 460px;
567
+ max-width: 40vw;
568
+ padding: 15px;
402
569
  }
403
570
 
404
- .Button .ripple.show {
405
- animation: ripple 0.35s ease-out;
571
+ .Dialog .title {
572
+ margin-bottom: 15px;
573
+ padding: 20px 50px 0px 30px;
574
+ font-size: 1.25rem;
575
+ line-height: 2rem;
576
+ font-weight: 400;
577
+ letter-spacing: 0.0125em;
406
578
  }
407
579
 
408
- .Button:active .ripple.showed {
409
- opacity: 1;
580
+ .Dialog .description {
581
+ color: rgba(0, 0, 0, 0.54);
582
+ font-size: 1rem;
583
+ line-height: 1.5rem;
584
+ font-weight: 400;
585
+ letter-spacing: 0.03125em;
586
+ margin-top: 20px;
587
+ padding: 0 24px 24px;
410
588
  }
411
589
 
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;
590
+ .Dialog > div.row {
591
+ margin-bottom: 15px;
419
592
  }
420
593
 
421
- .Button .ripple.showed {
422
- transform: scale(2);
423
- opacity: 0;
594
+ .Dialog > div.row:last-child {
595
+ margin-bottom: 0;
424
596
  }
425
597
 
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);
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;
438
607
  }
439
608
 
440
- .Button.raised:hover {
441
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
609
+ .ImageGallery:focus {
610
+ outline-width: 0px;
442
611
  }
443
612
 
444
- .Button.raised:active {
445
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
613
+ .ImageGallery.animated {
614
+ transition: background-color 0.25s ease;
615
+ opacity: 1;
446
616
  }
447
617
 
448
- .Button.disabled {
449
- box-shadow: none;
450
- background: #D9D9D9;
451
- color: #999999;
618
+ .ImageGallery.mounting, .ImageGallery.mounted {
619
+ background-color: rgba(0, 0, 0, 0.8);
452
620
  }
453
621
 
454
- .Button.disabled:hover {
455
- background-color: #cccccc;
622
+ .ImageGallery .image {
623
+ position: absolute;
624
+ cursor: grab;
456
625
  }
457
626
 
458
- .Button::-moz-focus-inner {
459
- border: 0;
627
+ .ImageGallery .image .counter {
628
+ display: none;
460
629
  }
461
630
 
462
- .FilteredList {
463
- max-height: 250px;
464
- position: relative;
631
+ .ImageGallery .image img {
632
+ border-radius: 4px;
633
+ max-width: 100%;
634
+ min-width: 100%;
465
635
  }
466
636
 
467
- .FilteredList.popup {
468
- padding: 0;
469
- visibility: hidden;
470
- position: absolute;
471
- background: white;
472
- z-index: 4;
473
- 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);
474
- transition: all 0.2s ease-out;
475
- top: calc(100% + 4px);
476
- opacity: 0;
477
- border-radius: 2px;
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;
478
640
  }
479
641
 
480
- .FilteredList.popup.visible {
642
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
481
643
  opacity: 1;
482
- visibility: visible;
483
644
  }
484
645
 
485
- .FilteredList.portal {
486
- transition: opacity 0.2s ease-out;
646
+ .ImageGallery .image.zoomed {
647
+ text-align: center;
648
+ overflow: hidden;
487
649
  }
488
650
 
489
- .FilteredList.inline {
490
- max-height: 225px;
491
- margin-top: 5px;
651
+ .ImageGallery .image.dragging {
652
+ transition: none;
653
+ cursor: move;
492
654
  }
493
655
 
494
- .FilteredList .child {
495
- display: flex;
496
- flex-flow: row nowrap;
497
- align-items: center;
498
- white-space: nowrap;
499
- font-size: 14px;
500
- color: rgb(34, 34, 34);
501
- height: 30px;
502
- padding: 5px 10px;
503
- padding-right: 15px;
504
- cursor: pointer;
505
- overflow: hidden;
506
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
507
- border-left: 5px solid #4AC263;
508
- padding-left: 15px;
509
- margin-left: -5px;
656
+ .ImageGallery .image .close {
657
+ position: absolute;
658
+ top: -18px;
659
+ right: -18px;
510
660
  }
511
661
 
512
- .FilteredList .child.hidden {
513
- height: 0 !important;
514
- padding: 0 !important;
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);
515
669
  }
516
670
 
517
- .FilteredList .child.selected {
518
- background-color: #F0F0F0;
519
- padding-left: 10px;
520
- margin-left: 0px;
671
+ .ImageGallery .image .spinner .SpinningProgress {
672
+ position: absolute;
673
+ top: 50%;
674
+ left: 50%;
675
+ margin-left: -24px;
676
+ margin-top: -24px;
521
677
  }
522
678
 
523
- .FilteredList .child.active {
524
- background-color: rgb(238, 238, 238);
679
+ .ImageGallery .image .spinner .SpinningProgress .line {
680
+ stroke: #2196F3;
525
681
  }
526
682
 
527
- .FilteredList .child {
528
- margin-top: 8px;
683
+ .ImageGallery .Button.animated {
684
+ transition: all 0.25s ease;
685
+ opacity: 0;
686
+ transform: scale(0);
529
687
  }
530
688
 
531
- .FilteredList .child.hidden {
532
- margin-top: 0;
689
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
690
+ opacity: 1;
691
+ transform: scale(1);
533
692
  }
534
693
 
535
- .FilteredList .child:not(.hidden) ~ .child {
536
- margin-top: 0;
694
+ .ImageGallery .Button {
695
+ color: white;
696
+ background: rgba(0, 0, 0, 0.4);
537
697
  }
538
698
 
539
- .FilteredList .child:not(.hidden) ~ .child:last-child {
540
- margin-bottom: 8px;
699
+ .ImageGallery .Button:hover {
700
+ background: rgba(0, 0, 0, 0.7);
541
701
  }
542
702
 
543
- .FilteredList .child:not(.hidden):last-child {
544
- margin-bottom: 8px;
703
+ .ImageGallery > .arrow {
704
+ position: absolute;
705
+ top: 50%;
706
+ height: 76px;
707
+ width: 76px;
708
+ margin-top: -38px;
545
709
  }
546
710
 
547
- .animated {
548
- transition: opacity 250ms ease;
549
- opacity: 0;
711
+ .ImageGallery > .arrow.left {
712
+ left: 5%;
550
713
  }
551
714
 
552
- .animated.mounting, .animated.mounted {
553
- opacity: 1;
715
+ .ImageGallery > .arrow.right {
716
+ right: 5%;
554
717
  }
555
718
 
556
- .TextField {
557
- position: relative;
558
- width: 100%;
719
+ .ImageGallery > .arrow .material-icons {
720
+ font-size: 40px;
559
721
  }
560
722
 
561
- .TextField > label {
562
- font-family: Roboto, sans-serif;
563
- color: rgba(0, 0, 0, 0.3);
564
- font-size: 16px;
723
+ .ImageGallery .counter {
565
724
  position: absolute;
566
- left: 0px;
567
- top: 16px;
568
- margin-top: -16px;
569
- transition: all 0.2s ease;
570
- user-select: none;
571
- cursor: text;
725
+ top: 10px;
726
+ left: 10px;
727
+ color: white;
728
+ font-size: 13px;
572
729
  }
573
730
 
574
- .TextField > input {
575
- font-family: Roboto, sans-serif;
576
- color: #1e252d;
577
- height: 19px;
578
- font-size: 16px;
579
- width: 100%;
580
- border: 0px;
581
- padding-bottom: 4px;
582
- padding-top: 0;
583
- outline-color: rgba(0, 0, 0, 0);
731
+ .ImageGallery .previews {
732
+ height: 80px;
733
+ position: absolute;
734
+ bottom: 15px;
735
+ left: 50%;
736
+ transform: translateX(-50%);
737
+ padding: 0 45px;
584
738
  }
585
739
 
586
- .TextField > input:focus {
587
- outline: none;
740
+ .ImageGallery .previews .viewport {
741
+ overflow: hidden;
742
+ position: relative;
743
+ height: 100%;
588
744
  }
589
745
 
590
- .TextField > input:disabled {
591
- color: gray;
592
- background-color: white;
746
+ .ImageGallery .previews .container {
747
+ position: relative;
748
+ display: flex;
749
+ flex-flow: row nowrap;
750
+ height: 100%;
751
+ transition: left 0.25s ease;
593
752
  }
594
753
 
595
- .TextField > input:disabled + .border {
596
- height: 0px;
597
- border-bottom: 2px dotted rgb(224, 224, 224);
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;
598
764
  }
599
765
 
600
- .TextField > input::placeholder {
601
- font-family: Roboto, sans-serif;
602
- color: rgba(0, 0, 0, 0.3);
603
- opacity: 1;
766
+ .ImageGallery .previews .preview:first-child {
767
+ margin-left: 0;
604
768
  }
605
769
 
606
- .TextField > .border {
607
- border-bottom: 1px solid rgb(224, 224, 224);
608
- height: 1px;
609
- position: relative;
770
+ .ImageGallery .previews .preview > .border {
771
+ position: absolute;
772
+ bottom: 0;
773
+ width: 100%;
774
+ height: 3px;
610
775
  }
611
776
 
612
- .TextField > .border .line {
777
+ .ImageGallery .previews .preview > .border .line {
613
778
  left: 50%;
614
779
  width: 0;
615
- height: 2px;
616
- min-height: 2px;
617
- background-color: rgb(0, 188, 212);
780
+ height: 3px;
781
+ min-height: 3px;
782
+ background-color: #4AC263;
618
783
  transition: all 0.2s ease;
619
784
  position: absolute;
620
785
  }
621
786
 
622
- .TextField > .error {
623
- text-align: left;
624
- font-size: 10px;
625
- min-height: 0;
626
- line-height: 14px;
627
- color: rgb(244, 67, 54);
628
- visibility: hidden;
629
- opacity: 0;
630
- transition: all 0.2s ease;
631
- }
632
-
633
- .TextField.focused > label, .TextField.withValue > label {
634
- top: 4px;
635
- font-size: 12px;
636
- line-height: 14px;
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;
637
796
  }
638
797
 
639
- .TextField.errored > .error {
640
- visibility: visible;
641
- opacity: 1;
798
+ .ImageGallery .previews .preview:hover:after {
799
+ background: rgba(0, 0, 0, 0.1);
642
800
  }
643
801
 
644
- .TextField.errored > .border {
645
- border-bottom-color: rgb(244, 67, 54);
802
+ .ImageGallery .previews .preview.selected .border .line {
803
+ left: 0;
804
+ width: 100%;
646
805
  }
647
806
 
648
- .TextField.errored > label {
649
- color: rgb(244, 67, 54);
807
+ .ImageGallery .previews .preview.selected:after {
808
+ background: rgba(0, 0, 0, 0);
650
809
  }
651
810
 
652
- .TextField.focused > label {
653
- color: rgb(0, 188, 212);
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;
654
819
  }
655
820
 
656
- .TextField.focused > .border .line {
821
+ .ImageGallery .previews > .arrow.left {
657
822
  left: 0;
658
- width: 100%;
659
823
  }
660
824
 
661
- .TextField.disabled label, .TextField.disabled input {
662
- cursor: not-allowed;
825
+ .ImageGallery .previews > .arrow.right {
826
+ right: 0;
663
827
  }
664
828
 
665
- .TextField.withLabel {
666
- margin-top: 15px;
829
+ .ImageGallery .previews > .arrow .material-icons {
830
+ font-size: 24px;
667
831
  }
668
832
 
669
- .TextField input::-webkit-contacts-auto-fill-button {
670
- visibility: hidden;
671
- display: none !important;
672
- pointer-events: none;
673
- position: absolute;
674
- right: 0;
833
+ .Scrollable {
834
+ max-height: 250px;
835
+ max-width: 250px;
836
+ padding-right: 5px;
837
+ position: relative;
838
+ display: flex;
839
+ flex-flow: column;
840
+ align-items: stretch;
841
+ overflow: hidden;
675
842
  }
676
843
 
677
- .TextField input:-webkit-autofill {
678
- -webkit-box-shadow: inset 0 0 0px 9999px white;
844
+ .Scrollable:hover > .scrollbar.auto {
845
+ transition-delay: 0s;
846
+ opacity: 1;
679
847
  }
680
848
 
681
- @keyframes shake {
682
- 0%, 100% {
683
- transform: translateX(0);
684
- }
685
- 20%, 60% {
686
- transform: translateX(-5px);
687
- }
688
- 40%, 80% {
689
- transform: translateX(5px);
690
- }
849
+ .Scrollable .viewport {
850
+ overflow-y: scroll;
851
+ overflow-x: scroll;
852
+ max-height: 100%;
853
+ scroll-behavior: smooth;
854
+ scrollbar-width: none;
691
855
  }
692
- .TextField .shake {
693
- animation-duration: 0.5s;
694
- animation-fill-mode: both;
695
- animation-timing-function: ease-in-out;
696
- animation-name: shake;
856
+
857
+ .Scrollable .viewport::-webkit-scrollbar {
858
+ display: none;
697
859
  }
698
860
 
699
- .DialogModal {
700
- overflow: hidden;
861
+ .Scrollable.without-scroll-horizontal {
862
+ max-width: unset;
701
863
  }
702
864
 
703
- .DialogModal .content {
704
- top: 20vh;
865
+ .Scrollable.undefined-horizontal {
866
+ max-width: unset;
705
867
  }
706
868
 
707
- .Dialog {
708
- background-color: white;
709
- min-width: 460px;
710
- max-width: 40vw;
711
- padding: 15px;
869
+ .Scrollable.without-scroll {
870
+ padding-right: 0;
871
+ max-height: unset;
712
872
  }
713
873
 
714
- .Dialog .title {
715
- margin-bottom: 15px;
716
- padding: 20px 50px 0px 30px;
717
- font-size: 1.25rem;
718
- line-height: 2rem;
719
- font-weight: 400;
720
- letter-spacing: 0.0125em;
874
+ .Scrollable.without-scroll > .viewport {
875
+ padding-right: 0;
876
+ margin-right: 0;
721
877
  }
722
878
 
723
- .Dialog .description {
724
- color: rgba(0, 0, 0, 0.54);
725
- font-size: 1rem;
726
- line-height: 1.5rem;
727
- font-weight: 400;
728
- letter-spacing: 0.03125em;
729
- margin-top: 20px;
730
- padding: 0 24px 24px;
879
+ .Scrollable.without-scroll > .scrollbar {
880
+ visibility: hidden;
731
881
  }
732
882
 
733
- .Dialog > div.row {
734
- margin-bottom: 15px;
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;
735
891
  }
736
892
 
737
- .Dialog > div.row:last-child {
738
- margin-bottom: 0;
893
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
894
+ opacity: 0;
739
895
  }
740
896
 
741
- .FormUploadProgress {
897
+ .Scrollable .scrollbar .thumb {
898
+ background-color: rgba(0, 0, 0, 0.3);
899
+ width: 5px;
742
900
  position: absolute;
743
- left: 0;
744
- right: 0;
745
- top: 0;
746
- bottom: 0;
747
- background-color: rgba(255, 255, 255, 0.6);
748
- z-index: 2;
901
+ right: 0px;
902
+ top: 0px;
903
+ user-select: none;
904
+ will-change: top;
905
+ border-radius: 2px;
749
906
  }
750
907
 
751
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
752
- transition-delay: 500ms;
908
+ .Scrollable .scrollbar .thumb:hover {
909
+ background-color: rgba(0, 0, 0, 0.5);
753
910
  }
754
911
 
755
- .FormUploadProgress .wrapper {
912
+ .Scrollable .scrollbar .thumb:active {
913
+ background-color: rgba(0, 0, 0, 0.7);
914
+ }
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;
930
+ }
931
+
932
+ .FormUploadProgress {
933
+ position: absolute;
934
+ left: 0;
935
+ right: 0;
936
+ top: 0;
937
+ bottom: 0;
938
+ background-color: rgba(255, 255, 255, 0.6);
939
+ z-index: 2;
940
+ }
941
+
942
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
943
+ transition-delay: 500ms;
944
+ }
945
+
946
+ .FormUploadProgress .wrapper {
756
947
  position: sticky;
757
948
  top: 40%;
758
949
  margin-top: 40%;
@@ -877,356 +1068,165 @@
877
1068
  position: absolute;
878
1069
  }
879
1070
 
880
- .DNDContainer .DroppableList .Draggable {
881
- transform: unset;
882
- transition: unset;
883
- opacity: 1;
884
- }
885
-
886
- .DNDContainer .DroppableList .Draggable.dragged {
887
- transition: unset !important;
888
- }
889
-
890
- .DNDContainer .DroppableList.hover .Draggable {
891
- transition: transform 0.2s ease-in;
892
- }
893
-
894
- .DNDContainer .DroppableList.resetting .Draggable {
895
- transition: transform 0.1s ease-in;
896
- }
897
-
898
- .Scrollable {
899
- max-height: 250px;
900
- max-width: 250px;
901
- padding-right: 5px;
1071
+ .TextField {
902
1072
  position: relative;
903
- display: flex;
904
- flex-flow: column;
905
- align-items: stretch;
906
- overflow: hidden;
907
- }
908
-
909
- .Scrollable:hover > .scrollbar.auto {
910
- transition-delay: 0s;
911
- opacity: 1;
912
- }
913
-
914
- .Scrollable .viewport {
915
- overflow-y: scroll;
916
- overflow-x: scroll;
917
- max-height: 100%;
918
- scroll-behavior: smooth;
919
- scrollbar-width: none;
920
- }
921
-
922
- .Scrollable .viewport::-webkit-scrollbar {
923
- display: none;
924
- }
925
-
926
- .Scrollable.without-scroll-horizontal {
927
- max-width: unset;
928
- }
929
-
930
- .Scrollable.undefined-horizontal {
931
- max-width: unset;
932
- }
933
-
934
- .Scrollable.without-scroll {
935
- padding-right: 0;
936
- max-height: unset;
937
- }
938
-
939
- .Scrollable.without-scroll > .viewport {
940
- padding-right: 0;
941
- margin-right: 0;
942
- }
943
-
944
- .Scrollable.without-scroll > .scrollbar {
945
- visibility: hidden;
946
- }
947
-
948
- .Scrollable .scrollbar {
949
- position: absolute;
950
- right: 0px;
951
- top: 0px;
952
- width: 5px;
953
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
954
- transition-delay: 0.5s;
955
- z-index: 1;
956
- }
957
-
958
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
959
- opacity: 0;
1073
+ width: 100%;
960
1074
  }
961
1075
 
962
- .Scrollable .scrollbar .thumb {
963
- background-color: rgba(0, 0, 0, 0.3);
964
- width: 5px;
1076
+ .TextField > label {
1077
+ font-family: Roboto, sans-serif;
1078
+ color: rgba(0, 0, 0, 0.3);
1079
+ font-size: 16px;
965
1080
  position: absolute;
966
- right: 0px;
967
- top: 0px;
968
- user-select: none;
969
- will-change: top;
970
- border-radius: 2px;
971
- }
972
-
973
- .Scrollable .scrollbar .thumb:hover {
974
- background-color: rgba(0, 0, 0, 0.5);
975
- }
976
-
977
- .Scrollable .scrollbar .thumb:active {
978
- background-color: rgba(0, 0, 0, 0.7);
979
- }
980
-
981
- .Scrollable .scrollbar.horizontal {
982
1081
  left: 0px;
983
- right: 0px;
984
- height: 5px;
985
- bottom: 0;
986
- width: unset;
987
- top: unset;
988
- }
989
-
990
- .Scrollable .scrollbar.horizontal .thumb {
991
- height: 5px;
992
- left: 0px;
993
- bottom: 0px;
994
- will-change: left;
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);
1082
+ top: 16px;
1083
+ margin-top: -16px;
1084
+ transition: all 0.2s ease;
1005
1085
  user-select: none;
1086
+ cursor: text;
1006
1087
  }
1007
1088
 
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;
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);
1024
1099
  }
1025
1100
 
1026
- .ImageGallery .image .counter {
1027
- display: none;
1101
+ .TextField > input:focus {
1102
+ outline: none;
1028
1103
  }
1029
1104
 
1030
- .ImageGallery .image img {
1031
- border-radius: 4px;
1032
- max-width: 100%;
1033
- min-width: 100%;
1105
+ .TextField > input:disabled {
1106
+ color: gray;
1107
+ background-color: white;
1034
1108
  }
1035
1109
 
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;
1110
+ .TextField > input:disabled + .border {
1111
+ height: 0px;
1112
+ border-bottom: 2px dotted rgb(224, 224, 224);
1039
1113
  }
1040
1114
 
1041
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1115
+ .TextField > input::placeholder {
1116
+ font-family: Roboto, sans-serif;
1117
+ color: rgba(0, 0, 0, 0.3);
1042
1118
  opacity: 1;
1043
1119
  }
1044
1120
 
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);
1121
+ .TextField > .border {
1122
+ border-bottom: 1px solid rgb(224, 224, 224);
1123
+ height: 1px;
1124
+ position: relative;
1068
1125
  }
1069
1126
 
1070
- .ImageGallery .image .spinner .SpinningProgress {
1071
- position: absolute;
1072
- top: 50%;
1127
+ .TextField > .border .line {
1073
1128
  left: 50%;
1074
- margin-left: -24px;
1075
- margin-top: -24px;
1076
- }
1077
-
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 {
1089
- opacity: 1;
1090
- transform: scale(1);
1091
- }
1092
-
1093
- .ImageGallery .Button {
1094
- color: white;
1095
- background: rgba(0, 0, 0, 0.4);
1096
- }
1097
-
1098
- .ImageGallery .Button:hover {
1099
- background: rgba(0, 0, 0, 0.7);
1100
- }
1101
-
1102
- .ImageGallery > .arrow {
1129
+ width: 0;
1130
+ height: 2px;
1131
+ min-height: 2px;
1132
+ background-color: rgb(0, 188, 212);
1133
+ transition: all 0.2s ease;
1103
1134
  position: absolute;
1104
- top: 50%;
1105
- height: 76px;
1106
- width: 76px;
1107
- margin-top: -38px;
1108
1135
  }
1109
1136
 
1110
- .ImageGallery > .arrow.left {
1111
- left: 5%;
1112
- }
1113
-
1114
- .ImageGallery > .arrow.right {
1115
- right: 5%;
1116
- }
1117
-
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
-
1228
- .ImageGallery .previews > .arrow .material-icons {
1229
- font-size: 24px;
1227
+
1228
+ .DNDContainer .DroppableList.resetting .Draggable {
1229
+ transition: transform 0.1s ease-in;
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;
@@ -1483,6 +1470,19 @@
1483
1470
  pointer-events: none;
1484
1471
  }
1485
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
+
1486
1486
  .Dropzone {
1487
1487
  position: relative;
1488
1488
  }
@@ -1543,67 +1543,6 @@
1543
1543
  z-index: 1;
1544
1544
  }
1545
1545
 
1546
- .Button.FloatingActionButton {
1547
- position: absolute;
1548
- right: 16px;
1549
- bottom: 16px;
1550
- width: 56px;
1551
- height: 56px;
1552
- padding: 16px;
1553
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1554
- }
1555
-
1556
- .Button.FloatingActionButton.raised {
1557
- 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);
1558
- }
1559
-
1560
- .Button.FloatingActionButton.mini {
1561
- width: 40px;
1562
- height: 40px;
1563
- padding: 8px;
1564
- }
1565
-
1566
- .Button.FloatingActionButton.hidden {
1567
- bottom: -100px;
1568
- }
1569
-
1570
- .ModalMenu {
1571
- position: absolute;
1572
- top: 10px;
1573
- right: 50px;
1574
- }
1575
-
1576
- .ModalMenu .material-icons {
1577
- color: #818181;
1578
- }
1579
-
1580
- .ModalMenu .Button.animated {
1581
- position: absolute;
1582
- transition: opacity 150ms ease-in, right 200ms ease-in;
1583
- opacity: 0;
1584
- right: 0;
1585
- top: 0;
1586
- }
1587
-
1588
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1589
- opacity: 1;
1590
- }
1591
-
1592
- .ModalMenu .Button.animated.unmounting {
1593
- transition: opacity 100ms ease-out, right 200ms ease-out;
1594
- }
1595
-
1596
- .ModalMenu .Button.active {
1597
- background: #EBEBEB;
1598
- }
1599
-
1600
- .ModalMenu .separator {
1601
- height: 24px;
1602
- width: 1px;
1603
- background-color: #D9D9D9;
1604
- margin-left: 4px;
1605
- }
1606
-
1607
1546
  .DropFileInput {
1608
1547
  flex-grow: 1;
1609
1548
  }
@@ -1631,65 +1570,28 @@
1631
1570
  margin-right: 10px;
1632
1571
  }
1633
1572
 
1634
- .SpinningProgress {
1635
- width: 48px;
1636
- height: 48px;
1637
- position: relative;
1638
- margin: 0 auto;
1639
- }
1640
-
1641
- .SpinningProgress:before {
1642
- content: "";
1643
- display: block;
1644
- padding-top: 100%;
1645
- }
1646
-
1647
- .SpinningProgress .circular {
1648
- animation: rotate 2s linear infinite;
1649
- height: 100%;
1650
- transform-origin: center center;
1651
- width: 100%;
1573
+ .Button.FloatingActionButton {
1652
1574
  position: absolute;
1653
- top: 0;
1654
- bottom: 0;
1655
- left: 0;
1656
- right: 0;
1657
- margin: auto;
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);
1658
1581
  }
1659
1582
 
1660
- .SpinningProgress .line {
1661
- stroke: black;
1662
- stroke-width: 2px;
1663
- stroke-dasharray: 1, 96;
1664
- stroke-dashoffset: 0;
1665
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
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);
1666
1585
  }
1667
1586
 
1668
- @keyframes rotate {
1669
- 100% {
1670
- transform: rotate(360deg);
1671
- }
1672
- }
1673
- @keyframes dash {
1674
- 0% {
1675
- stroke-dasharray: 1, 96;
1676
- stroke-dashoffset: 0;
1677
- }
1678
- 50% {
1679
- stroke-dasharray: 43, 96;
1680
- stroke-dashoffset: -17px;
1681
- }
1682
- 100% {
1683
- stroke-dasharray: 43, 96;
1684
- stroke-dashoffset: -53px;
1685
- }
1686
- }
1687
- .ScrollableTable .Scrollable .scrollbar {
1688
- top: 56px;
1587
+ .Button.FloatingActionButton.mini {
1588
+ width: 40px;
1589
+ height: 40px;
1590
+ padding: 8px;
1689
1591
  }
1690
1592
 
1691
- .ScrollableTable .Table {
1692
- position: static;
1593
+ .Button.FloatingActionButton.hidden {
1594
+ bottom: -100px;
1693
1595
  }
1694
1596
 
1695
1597
  .Snackbar {
@@ -1737,6 +1639,43 @@
1737
1639
  color: #bf3727;
1738
1640
  }
1739
1641
 
1642
+ .ModalMenu {
1643
+ position: absolute;
1644
+ top: 10px;
1645
+ right: 50px;
1646
+ }
1647
+
1648
+ .ModalMenu .material-icons {
1649
+ color: #818181;
1650
+ }
1651
+
1652
+ .ModalMenu .Button.animated {
1653
+ position: absolute;
1654
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1655
+ opacity: 0;
1656
+ right: 0;
1657
+ top: 0;
1658
+ }
1659
+
1660
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1661
+ opacity: 1;
1662
+ }
1663
+
1664
+ .ModalMenu .Button.animated.unmounting {
1665
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1666
+ }
1667
+
1668
+ .ModalMenu .Button.active {
1669
+ background: #EBEBEB;
1670
+ }
1671
+
1672
+ .ModalMenu .separator {
1673
+ height: 24px;
1674
+ width: 1px;
1675
+ background-color: #D9D9D9;
1676
+ margin-left: 4px;
1677
+ }
1678
+
1740
1679
  .Switch {
1741
1680
  display: inline-flex;
1742
1681
  padding-top: 5px;
@@ -1819,6 +1758,14 @@
1819
1758
  display: none;
1820
1759
  }
1821
1760
 
1761
+ .ScrollableTable .Scrollable .scrollbar {
1762
+ top: 56px;
1763
+ }
1764
+
1765
+ .ScrollableTable .Table {
1766
+ position: static;
1767
+ }
1768
+
1822
1769
  .Table {
1823
1770
  font-family: Roboto, sans-serif;
1824
1771
  font-size: 14px;
@@ -1939,4 +1886,58 @@
1939
1886
 
1940
1887
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1941
1888
  margin: 0;
1889
+ }
1890
+
1891
+ .SpinningProgress {
1892
+ width: 48px;
1893
+ height: 48px;
1894
+ position: relative;
1895
+ margin: 0 auto;
1896
+ }
1897
+
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
  }