react-ui-basics 0.0.163 → 0.0.166

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,168 @@
1
+ .Button {
2
+ position: relative;
3
+ min-width: 64px;
4
+ min-height: 36px;
5
+ height: 24px;
6
+ margin: 0px;
7
+ padding: 0px 16px;
8
+ border: none;
9
+ outline: none;
10
+ font-size: 14px;
11
+ font-weight: 500;
12
+ letter-spacing: 1.25px;
13
+ background: #dfdfdf;
14
+ text-transform: uppercase;
15
+ font-family: Roboto, sans-serif;
16
+ display: inline-flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ cursor: pointer;
20
+ overflow: hidden;
21
+ user-select: none;
22
+ border-radius: 3px;
23
+ transition: all 0.2s ease;
24
+ }
25
+
26
+ .Button.flat {
27
+ background-color: transparent;
28
+ }
29
+
30
+ .Button.flat:hover {
31
+ background-color: rgba(0, 0, 0, 0.05);
32
+ }
33
+
34
+ .Button.green {
35
+ background-color: #43a047;
36
+ color: white;
37
+ }
38
+
39
+ .Button.green:hover {
40
+ background-color: #3b8e3f;
41
+ }
42
+
43
+ .Button.blue {
44
+ background-color: #039be5;
45
+ color: white;
46
+ }
47
+
48
+ .Button.blue:hover {
49
+ background-color: #038acc;
50
+ }
51
+
52
+ .Button.red {
53
+ background-color: #e53935;
54
+ color: white;
55
+ }
56
+
57
+ .Button.red:hover {
58
+ background-color: #e2231e;
59
+ }
60
+
61
+ .Button.black {
62
+ background-color: #1e252d;
63
+ color: white;
64
+ }
65
+
66
+ .Button.black:hover {
67
+ background-color: #14181e;
68
+ }
69
+
70
+ .Button.gray {
71
+ background: #D9D9D9;
72
+ color: #999999;
73
+ }
74
+
75
+ .Button.gray:hover {
76
+ background-color: #cccccc;
77
+ }
78
+
79
+ .Button.small {
80
+ padding: 0px 8px;
81
+ min-height: 16px;
82
+ min-width: 16px;
83
+ }
84
+
85
+ .Button > .material-icons {
86
+ margin-right: 10px;
87
+ }
88
+
89
+ .Button.round {
90
+ padding: 0px;
91
+ min-width: 36px;
92
+ border-radius: 50%;
93
+ }
94
+
95
+ .Button.round > .material-icons {
96
+ margin: 0px;
97
+ }
98
+
99
+ .Button .ripple {
100
+ position: absolute;
101
+ background: rgba(0, 0, 0, 0.1);
102
+ border-radius: 100%;
103
+ transform: scale(0);
104
+ pointer-events: none;
105
+ transition: opacity 0.2s ease-out;
106
+ }
107
+
108
+ .Button .ripple.show {
109
+ animation: ripple 0.35s ease-out;
110
+ }
111
+
112
+ .Button:active .ripple.showed {
113
+ opacity: 1;
114
+ }
115
+
116
+ .Button:focus .ripple.focused {
117
+ opacity: 1;
118
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
119
+ transform: scale(1);
120
+ animation: resize 1.25s ease-out infinite;
121
+ animation-delay: 0.2s;
122
+ animation-direction: alternate;
123
+ }
124
+
125
+ .Button .ripple.showed {
126
+ transform: scale(2);
127
+ opacity: 0;
128
+ }
129
+
130
+ @keyframes ripple {
131
+ to {
132
+ transform: scale(2);
133
+ }
134
+ }
135
+ @keyframes resize {
136
+ to {
137
+ transform: scale(0.9);
138
+ }
139
+ }
140
+ .Button.raised {
141
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
142
+ }
143
+
144
+ .Button.raised:hover {
145
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
146
+ }
147
+
148
+ .Button.raised:active {
149
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
150
+ }
151
+
152
+ .Button.disabled {
153
+ box-shadow: none;
154
+ background: #D9D9D9;
155
+ color: #999999;
156
+ }
157
+
158
+ .Button.disabled:hover {
159
+ background-color: #cccccc;
160
+ }
161
+
162
+ .Button::-moz-focus-inner {
163
+ border: 0;
164
+ }
165
+
1
166
  .AutocompleteSelect {
2
167
  display: inline-flex;
3
168
  flex-flow: column;
@@ -293,182 +458,185 @@
293
458
  position: absolute;
294
459
  }
295
460
 
296
- .Button {
297
- position: relative;
298
- min-width: 64px;
299
- min-height: 36px;
300
- height: 24px;
301
- margin: 0px;
302
- padding: 0px 16px;
303
- border: none;
304
- outline: none;
305
- font-size: 14px;
306
- font-weight: 500;
307
- letter-spacing: 1.25px;
308
- background: #dfdfdf;
309
- text-transform: uppercase;
310
- font-family: Roboto, sans-serif;
311
- display: inline-flex;
312
- justify-content: center;
313
- align-items: center;
314
- cursor: pointer;
315
- overflow: hidden;
316
- user-select: none;
317
- border-radius: 3px;
318
- transition: all 0.2s ease;
461
+ .CircleProgress {
462
+ width: 48px;
463
+ height: 48px;
319
464
  }
320
465
 
321
- .Button.flat {
322
- background-color: transparent;
466
+ .CircleProgress .line {
467
+ stroke-width: 2px;
468
+ stroke: black;
469
+ stroke-linecap: square;
470
+ fill: none;
471
+ transition: stroke-dashoffset 0.2s ease;
323
472
  }
324
473
 
325
- .Button.flat:hover {
326
- background-color: rgba(0, 0, 0, 0.05);
474
+ .DialogModal {
475
+ overflow: hidden;
327
476
  }
328
477
 
329
- .Button.green {
330
- background-color: #43a047;
331
- color: white;
478
+ .DialogModal .content {
479
+ top: 20vh;
332
480
  }
333
481
 
334
- .Button.green:hover {
335
- background-color: #3b8e3f;
482
+ .Dialog {
483
+ background-color: white;
484
+ min-width: 460px;
485
+ max-width: 40vw;
486
+ padding: 15px;
336
487
  }
337
488
 
338
- .Button.blue {
339
- background-color: #039be5;
340
- color: white;
489
+ .Dialog .title {
490
+ margin-bottom: 15px;
491
+ padding: 20px 50px 0px 30px;
492
+ font-size: 1.25rem;
493
+ line-height: 2rem;
494
+ font-weight: 400;
495
+ letter-spacing: 0.0125em;
341
496
  }
342
497
 
343
- .Button.blue:hover {
344
- background-color: #038acc;
498
+ .Dialog .description {
499
+ color: rgba(0, 0, 0, 0.54);
500
+ font-size: 1rem;
501
+ line-height: 1.5rem;
502
+ font-weight: 400;
503
+ letter-spacing: 0.03125em;
504
+ margin-top: 20px;
505
+ padding: 0 24px 24px;
345
506
  }
346
507
 
347
- .Button.red {
348
- background-color: #e53935;
349
- color: white;
508
+ .Dialog > div.row {
509
+ margin-bottom: 15px;
350
510
  }
351
511
 
352
- .Button.red:hover {
353
- background-color: #e2231e;
512
+ .Dialog > div.row:last-child {
513
+ margin-bottom: 0;
354
514
  }
355
515
 
356
- .Button.black {
357
- background-color: #1e252d;
358
- color: white;
516
+ .Checkbox {
517
+ position: relative;
518
+ white-space: pre;
359
519
  }
360
520
 
361
- .Button.black:hover {
362
- background-color: #14181e;
521
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
522
+ box-sizing: border-box;
363
523
  }
364
524
 
365
- .Button.gray {
366
- background: #D9D9D9;
367
- color: #999999;
525
+ .Checkbox label {
526
+ font-family: Roboto, sans-serif;
527
+ font-size: 14px;
528
+ color: #1e252d;
529
+ cursor: pointer;
368
530
  }
369
531
 
370
- .Button.gray:hover {
371
- background-color: #cccccc;
532
+ .Checkbox label:before, .Checkbox label:after {
533
+ content: "";
534
+ position: absolute;
535
+ left: 0;
536
+ top: 0;
372
537
  }
373
538
 
374
- .Button.small {
375
- padding: 0px 8px;
376
- min-height: 16px;
377
- min-width: 16px;
539
+ .Checkbox label:before {
540
+ width: 20px;
541
+ height: 20px;
542
+ background: #fff;
543
+ border: 2px solid #252525;
544
+ border-radius: 2px;
545
+ cursor: pointer;
546
+ transition: background 0.3s;
378
547
  }
379
548
 
380
- .Button > .material-icons {
549
+ .Checkbox input[type=checkbox] {
550
+ outline: 0;
381
551
  margin-right: 10px;
552
+ visibility: hidden;
382
553
  }
383
554
 
384
- .Button.round {
385
- padding: 0px;
386
- min-width: 36px;
387
- border-radius: 50%;
388
- }
389
-
390
- .Button.round > .material-icons {
391
- margin: 0px;
555
+ .Checkbox input[type=checkbox]:checked + label:before {
556
+ background: #4AC263;
557
+ border: none;
392
558
  }
393
559
 
394
- .Button .ripple {
395
- position: absolute;
396
- background: rgba(0, 0, 0, 0.1);
397
- border-radius: 100%;
398
- transform: scale(0);
399
- pointer-events: none;
400
- transition: opacity 0.2s ease-out;
560
+ .Checkbox input[type=checkbox]:checked + label:after {
561
+ transform: rotate(-45deg);
562
+ top: 6px;
563
+ left: 4px;
564
+ width: 12px;
565
+ height: 6px;
566
+ border: 2px solid #fff;
567
+ border-top-style: none;
568
+ border-right-style: none;
401
569
  }
402
570
 
403
- .Button .ripple.show {
404
- animation: ripple 0.35s ease-out;
571
+ .Checkbox input[type=checkbox]:disabled + label {
572
+ color: gray;
405
573
  }
406
574
 
407
- .Button:active .ripple.showed {
408
- opacity: 1;
575
+ .Checkbox input[type=checkbox]:disabled + label:before {
576
+ border-color: rgba(0, 0, 0, 0.26);
409
577
  }
410
578
 
411
- .Button:focus .ripple.focused {
412
- opacity: 1;
413
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
414
- transform: scale(1);
415
- animation: resize 1.25s ease-out infinite;
416
- animation-delay: 0.2s;
417
- animation-direction: alternate;
579
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
580
+ background: rgba(0, 0, 0, 0.26);
418
581
  }
419
582
 
420
- .Button .ripple.showed {
421
- transform: scale(2);
422
- opacity: 0;
583
+ .DNDContainer {
584
+ position: relative;
423
585
  }
424
586
 
425
- @keyframes ripple {
426
- to {
427
- transform: scale(2);
428
- }
429
- }
430
- @keyframes resize {
431
- to {
432
- transform: scale(0.9);
433
- }
434
- }
435
- .Button.raised {
436
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
587
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
588
+ cursor: pointer;
437
589
  }
438
590
 
439
- .Button.raised:hover {
440
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
591
+ .DNDContainer .Draggable.placeholder {
592
+ opacity: 0.2;
441
593
  }
442
594
 
443
- .Button.raised:active {
444
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
595
+ .DNDContainer .Draggable.copy {
596
+ position: absolute;
597
+ box-sizing: border-box;
598
+ will-change: transform;
599
+ opacity: 0;
445
600
  }
446
601
 
447
- .Button.disabled {
448
- box-shadow: none;
449
- background: #D9D9D9;
450
- color: #999999;
602
+ .DNDContainer .Draggable.dragged {
603
+ z-index: 10;
451
604
  }
452
605
 
453
- .Button.disabled:hover {
454
- background-color: #cccccc;
606
+ .DNDContainer .overlay {
607
+ position: absolute;
608
+ top: 0;
609
+ left: 0;
610
+ right: 0;
611
+ bottom: 0;
612
+ pointer-events: none;
455
613
  }
456
614
 
457
- .Button::-moz-focus-inner {
458
- border: 0;
615
+ .DropFileInput {
616
+ flex-grow: 1;
459
617
  }
460
618
 
461
- .CircleProgress {
462
- width: 48px;
463
- height: 48px;
619
+ .DropFileInput .Dropzone {
620
+ border: 1px dashed #808080;
621
+ padding: 12px;
622
+ display: flex;
623
+ flex-flow: row nowrap;
624
+ justify-content: center;
625
+ align-items: center;
626
+ color: gray;
627
+ cursor: pointer;
628
+ border-radius: 3px;
629
+ font-weight: normal;
630
+ line-height: 22px;
631
+ font-size: 14px;
632
+ color: #7E7E7E;
633
+ max-width: 100%;
634
+ word-break: break-all;
635
+ word-break: break-word;
464
636
  }
465
637
 
466
- .CircleProgress .line {
467
- stroke-width: 2px;
468
- stroke: black;
469
- stroke-linecap: square;
470
- fill: none;
471
- transition: stroke-dashoffset 0.2s ease;
638
+ .DropFileInput .Dropzone .icon.withText {
639
+ margin-right: 10px;
472
640
  }
473
641
 
474
642
  .animated {
@@ -480,159 +648,157 @@
480
648
  opacity: 1;
481
649
  }
482
650
 
483
- .FilteredList {
484
- max-height: 250px;
485
- position: relative;
486
- }
487
-
488
- .FilteredList.popup {
489
- padding: 0;
490
- visibility: hidden;
651
+ .Button.FloatingActionButton {
491
652
  position: absolute;
492
- background: white;
493
- z-index: 4;
494
- 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);
495
- transition: all 0.2s ease-out;
496
- top: calc(100% + 4px);
497
- opacity: 0;
498
- border-radius: 2px;
499
- }
500
-
501
- .FilteredList.popup.visible {
502
- opacity: 1;
503
- visibility: visible;
504
- }
505
-
506
- .FilteredList.inline {
507
- max-height: 225px;
508
- margin-top: 5px;
509
- }
510
-
511
- .FilteredList .child {
512
- display: flex;
513
- flex-flow: row nowrap;
514
- align-items: center;
515
- white-space: nowrap;
516
- font-size: 14px;
517
- color: #222222;
518
- height: 30px;
519
- padding: 5px 10px;
520
- padding-right: 15px;
521
- cursor: pointer;
522
- overflow: hidden;
523
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
524
- border-left: 5px solid #4AC263;
525
- padding-left: 15px;
526
- margin-left: -5px;
527
- }
528
-
529
- .FilteredList .child.hidden {
530
- height: 0 !important;
531
- padding: 0 !important;
532
- }
533
-
534
- .FilteredList .child.selected {
535
- background-color: #F0F0F0;
536
- padding-left: 10px;
537
- margin-left: 0px;
653
+ right: 16px;
654
+ bottom: 16px;
655
+ width: 56px;
656
+ height: 56px;
657
+ padding: 16px;
658
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
538
659
  }
539
660
 
540
- .FilteredList .child.active {
541
- background-color: #eeeeee;
661
+ .Button.FloatingActionButton.raised {
662
+ 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);
542
663
  }
543
664
 
544
- .FilteredList .child {
545
- margin-top: 8px;
665
+ .Button.FloatingActionButton.mini {
666
+ width: 40px;
667
+ height: 40px;
668
+ padding: 8px;
546
669
  }
547
670
 
548
- .FilteredList .child.hidden {
549
- margin-top: 0;
671
+ .Button.FloatingActionButton.hidden {
672
+ bottom: -100px;
550
673
  }
551
674
 
552
- .FilteredList .child:not(.hidden) ~ .child {
553
- margin-top: 0;
675
+ .FormUploadProgress {
676
+ position: absolute;
677
+ left: 0;
678
+ right: 0;
679
+ top: 0;
680
+ bottom: 0;
681
+ background-color: rgba(255, 255, 255, 0.6);
682
+ z-index: 2;
554
683
  }
555
684
 
556
- .FilteredList .child:not(.hidden) ~ .child:last-child {
557
- margin-bottom: 8px;
685
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
686
+ transition-delay: 500ms;
558
687
  }
559
688
 
560
- .FilteredList .child:not(.hidden):last-child {
561
- margin-bottom: 8px;
689
+ .FormUploadProgress .wrapper {
690
+ position: sticky;
691
+ top: 40%;
692
+ margin-top: 40%;
693
+ margin-left: 50%;
694
+ transform: translateX(-50%);
695
+ display: flex;
696
+ flex-flow: column;
697
+ justify-content: center;
698
+ align-items: center;
562
699
  }
563
700
 
564
- .DialogModal {
565
- overflow: hidden;
701
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
702
+ position: absolute;
703
+ width: 107px;
704
+ height: 107px;
705
+ top: 0;
706
+ left: 0;
566
707
  }
567
708
 
568
- .DialogModal .content {
569
- top: 20vh;
709
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
710
+ stroke: #2196F3;
570
711
  }
571
712
 
572
- .Dialog {
573
- background-color: white;
574
- min-width: 460px;
575
- max-width: 40vw;
576
- padding: 15px;
713
+ .FormUploadProgress .wrapper > .progress {
714
+ width: 107px;
715
+ height: 107px;
716
+ min-height: 107px;
717
+ display: flex;
718
+ justify-content: center;
719
+ align-items: center;
720
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
721
+ border-radius: 50%;
722
+ background: white;
723
+ position: relative;
577
724
  }
578
725
 
579
- .Dialog .title {
580
- margin-bottom: 15px;
581
- padding: 20px 50px 0px 30px;
582
- font-size: 1.25rem;
583
- line-height: 2rem;
584
- font-weight: 400;
585
- letter-spacing: 0.0125em;
726
+ .FormUploadProgress .wrapper > .progress > .value {
727
+ display: inline-block;
728
+ margin-top: 5px;
729
+ font-weight: bold;
730
+ line-height: 16px;
731
+ font-size: 13px;
732
+ text-align: center;
733
+ color: #818181;
586
734
  }
587
735
 
588
- .Dialog .description {
589
- color: rgba(0, 0, 0, 0.54);
590
- font-size: 1rem;
591
- line-height: 1.5rem;
592
- font-weight: 400;
593
- letter-spacing: 0.03125em;
736
+ .FormUploadProgress .wrapper .cancel {
737
+ min-width: 107px;
594
738
  margin-top: 20px;
595
- padding: 0 24px 24px;
596
- }
597
-
598
- .Dialog > div.row {
599
- margin-bottom: 15px;
600
- }
601
-
602
- .Dialog > div.row:last-child {
603
- margin-bottom: 0;
739
+ background-color: white;
740
+ color: #F96B5C;
741
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
604
742
  }
605
743
 
606
- .DNDContainer {
744
+ .Dropzone {
607
745
  position: relative;
608
746
  }
609
747
 
610
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
611
- cursor: pointer;
748
+ .Dropzone > .overlay {
749
+ position: absolute;
750
+ left: 0;
751
+ right: 0;
752
+ top: 0;
753
+ bottom: 0;
754
+ background-color: #38ADC4;
755
+ z-index: 1;
756
+ opacity: 0;
757
+ transition: all 0.2s ease;
758
+ transition-delay: 100ms;
759
+ visibility: hidden;
760
+ display: flex;
761
+ justify-content: center;
762
+ align-items: center;
612
763
  }
613
764
 
614
- .DNDContainer .Draggable.placeholder {
615
- opacity: 0.2;
765
+ .Dropzone > .overlay .drop {
766
+ border-radius: 4px;
767
+ border: 1px dashed #FFFFFF;
768
+ position: absolute;
769
+ top: 18px;
770
+ left: 18px;
771
+ right: 18px;
772
+ bottom: 18px;
773
+ display: flex;
774
+ justify-content: center;
775
+ align-items: center;
776
+ font-weight: 500;
777
+ font-size: 18px;
778
+ color: #FFFFFF;
616
779
  }
617
780
 
618
- .DNDContainer .Draggable.copy {
619
- position: absolute;
620
- box-sizing: border-box;
621
- will-change: transform;
622
- opacity: 0;
781
+ .Dropzone.dragging > .overlay {
782
+ opacity: 0.7;
783
+ visibility: visible;
784
+ transition-delay: 0s;
623
785
  }
624
786
 
625
- .DNDContainer .Draggable.dragged {
626
- z-index: 10;
787
+ .Dropzone.dragging > * {
788
+ pointer-events: none;
627
789
  }
628
790
 
629
- .DNDContainer .overlay {
791
+ .Dropzone > input.file {
630
792
  position: absolute;
631
- top: 0;
632
793
  left: 0;
633
794
  right: 0;
795
+ top: 0;
634
796
  bottom: 0;
635
- pointer-events: none;
797
+ width: 100%;
798
+ height: 100%;
799
+ opacity: 0;
800
+ cursor: pointer;
801
+ z-index: 1;
636
802
  }
637
803
 
638
804
  .ImageGallery {
@@ -834,104 +1000,40 @@
834
1000
  background: rgba(0, 0, 0, 0.35);
835
1001
  transition: background 0.2s ease;
836
1002
  }
837
-
838
- .ImageGallery .previews .preview:hover:after {
839
- background: rgba(0, 0, 0, 0.1);
840
- }
841
-
842
- .ImageGallery .previews .preview.selected .border .line {
843
- left: 0;
844
- width: 100%;
845
- }
846
-
847
- .ImageGallery .previews .preview.selected:after {
848
- background: rgba(0, 0, 0, 0);
849
- }
850
-
851
- .ImageGallery .previews > .arrow {
852
- position: absolute;
853
- top: 50%;
854
- height: 30px;
855
- width: 30px;
856
- min-width: 30px;
857
- min-height: 30px;
858
- margin-top: -15px;
859
- }
860
-
861
- .ImageGallery .previews > .arrow.left {
862
- left: 0;
863
- }
864
-
865
- .ImageGallery .previews > .arrow.right {
866
- right: 0;
867
- }
868
-
869
- .ImageGallery .previews > .arrow .material-icons {
870
- font-size: 24px;
871
- }
872
-
873
- .ModalMenu {
874
- position: absolute;
875
- top: 10px;
876
- right: 50px;
877
- }
878
-
879
- .ModalMenu .material-icons {
880
- color: #818181;
881
- }
882
-
883
- .ModalMenu .Button.animated {
884
- position: absolute;
885
- transition: opacity 150ms ease-in, right 200ms ease-in;
886
- opacity: 0;
887
- right: 0;
888
- top: 0;
889
- }
890
-
891
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
892
- opacity: 1;
1003
+
1004
+ .ImageGallery .previews .preview:hover:after {
1005
+ background: rgba(0, 0, 0, 0.1);
893
1006
  }
894
1007
 
895
- .ModalMenu .Button.animated.unmounting {
896
- transition: opacity 100ms ease-out, right 200ms ease-out;
1008
+ .ImageGallery .previews .preview.selected .border .line {
1009
+ left: 0;
1010
+ width: 100%;
897
1011
  }
898
1012
 
899
- .ModalMenu .Button.active {
900
- background: #EBEBEB;
1013
+ .ImageGallery .previews .preview.selected:after {
1014
+ background: rgba(0, 0, 0, 0);
901
1015
  }
902
1016
 
903
- .ModalMenu .separator {
904
- height: 24px;
905
- width: 1px;
906
- background-color: #D9D9D9;
907
- margin-left: 4px;
1017
+ .ImageGallery .previews > .arrow {
1018
+ position: absolute;
1019
+ top: 50%;
1020
+ height: 30px;
1021
+ width: 30px;
1022
+ min-width: 30px;
1023
+ min-height: 30px;
1024
+ margin-top: -15px;
908
1025
  }
909
1026
 
910
- .DropFileInput {
911
- flex-grow: 1;
1027
+ .ImageGallery .previews > .arrow.left {
1028
+ left: 0;
912
1029
  }
913
1030
 
914
- .DropFileInput .Dropzone {
915
- border: 1px dashed #808080;
916
- padding: 12px;
917
- display: flex;
918
- flex-flow: row nowrap;
919
- justify-content: center;
920
- align-items: center;
921
- color: gray;
922
- cursor: pointer;
923
- border-radius: 3px;
924
- font-weight: normal;
925
- line-height: 22px;
926
- font-size: 14px;
927
- color: #7E7E7E;
928
- max-width: 100%;
929
- word-break: break-all;
930
- word-break: break-word;
1031
+ .ImageGallery .previews > .arrow.right {
1032
+ right: 0;
931
1033
  }
932
1034
 
933
- .DropFileInput .Dropzone .icon.withText {
934
- margin-right: 10px;
1035
+ .ImageGallery .previews > .arrow .material-icons {
1036
+ font-size: 24px;
935
1037
  }
936
1038
 
937
1039
  .Scrollable {
@@ -1029,6 +1131,88 @@
1029
1131
  will-change: left;
1030
1132
  }
1031
1133
 
1134
+ .Switch {
1135
+ display: inline-flex;
1136
+ padding-top: 5px;
1137
+ }
1138
+
1139
+ .Switch .switch-input {
1140
+ display: none;
1141
+ }
1142
+
1143
+ .Switch .switch-label {
1144
+ position: relative;
1145
+ display: inline-flex;
1146
+ align-items: center;
1147
+ min-width: 38px;
1148
+ height: 24px;
1149
+ cursor: pointer;
1150
+ font-weight: 500;
1151
+ text-align: left;
1152
+ user-select: none;
1153
+ margin: 0;
1154
+ padding: 0;
1155
+ padding-left: 44px;
1156
+ box-sizing: border-box;
1157
+ }
1158
+
1159
+ .Switch .switch-label:before, .Switch .switch-label:after {
1160
+ content: "";
1161
+ box-sizing: border-box;
1162
+ position: absolute;
1163
+ margin: 0;
1164
+ outline: 0;
1165
+ top: 50%;
1166
+ transform: translate(0, -50%);
1167
+ transition: all 0.3s ease;
1168
+ }
1169
+
1170
+ .Switch .switch-label:before {
1171
+ left: 1px;
1172
+ width: 34px;
1173
+ height: 14px;
1174
+ background-color: #9E9E9E;
1175
+ border-radius: 8px;
1176
+ }
1177
+
1178
+ .Switch .switch-label:after {
1179
+ left: 0;
1180
+ width: 20px;
1181
+ height: 20px;
1182
+ background-color: #FAFAFA;
1183
+ border-radius: 50%;
1184
+ 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);
1185
+ }
1186
+
1187
+ .Switch .switch-label .toggle--on {
1188
+ display: none;
1189
+ }
1190
+
1191
+ .Switch .switch-label .toggle--off {
1192
+ display: inline-block;
1193
+ }
1194
+
1195
+ .Switch .switch-label .label {
1196
+ margin-right: 5px;
1197
+ }
1198
+
1199
+ .Switch .switch-input:checked + .switch-label:before {
1200
+ background-color: #A5D6A7;
1201
+ }
1202
+
1203
+ .Switch .switch-input:checked + .switch-label:after {
1204
+ background-color: #4CAF50;
1205
+ transform: translate(80%, -50%);
1206
+ }
1207
+
1208
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1209
+ display: inline-block;
1210
+ }
1211
+
1212
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1213
+ display: none;
1214
+ }
1215
+
1032
1216
  .Modal {
1033
1217
  display: block;
1034
1218
  position: fixed;
@@ -1099,28 +1283,59 @@
1099
1283
  position: absolute;
1100
1284
  }
1101
1285
 
1102
- .Button.FloatingActionButton {
1286
+ .ModalMenu {
1103
1287
  position: absolute;
1104
- right: 16px;
1105
- bottom: 16px;
1106
- width: 56px;
1107
- height: 56px;
1108
- padding: 16px;
1109
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1288
+ top: 10px;
1289
+ right: 50px;
1110
1290
  }
1111
1291
 
1112
- .Button.FloatingActionButton.raised {
1113
- 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);
1292
+ .ModalMenu .material-icons {
1293
+ color: #818181;
1114
1294
  }
1115
1295
 
1116
- .Button.FloatingActionButton.mini {
1117
- width: 40px;
1118
- height: 40px;
1119
- padding: 8px;
1296
+ .ModalMenu .Button.animated {
1297
+ position: absolute;
1298
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1299
+ opacity: 0;
1300
+ right: 0;
1301
+ top: 0;
1120
1302
  }
1121
1303
 
1122
- .Button.FloatingActionButton.hidden {
1123
- bottom: -100px;
1304
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1305
+ opacity: 1;
1306
+ }
1307
+
1308
+ .ModalMenu .Button.animated.unmounting {
1309
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1310
+ }
1311
+
1312
+ .ModalMenu .Button.active {
1313
+ background: #EBEBEB;
1314
+ }
1315
+
1316
+ .ModalMenu .separator {
1317
+ height: 24px;
1318
+ width: 1px;
1319
+ background-color: #D9D9D9;
1320
+ margin-left: 4px;
1321
+ }
1322
+
1323
+ .DNDContainer .DroppableList .Draggable {
1324
+ transform: unset;
1325
+ transition: unset;
1326
+ opacity: 1;
1327
+ }
1328
+
1329
+ .DNDContainer .DroppableList .Draggable.dragged {
1330
+ transition: unset !important;
1331
+ }
1332
+
1333
+ .DNDContainer .DroppableList.hover .Draggable {
1334
+ transition: transform 0.2s ease-in;
1335
+ }
1336
+
1337
+ .DNDContainer .DroppableList.resetting .Draggable {
1338
+ transition: transform 0.1s ease-in;
1124
1339
  }
1125
1340
 
1126
1341
  .Snackbar {
@@ -1165,67 +1380,7 @@
1165
1380
 
1166
1381
  .Snackbar .action a {
1167
1382
  text-decoration: none;
1168
- color: #bf3727;
1169
- }
1170
-
1171
- .Dropzone {
1172
- position: relative;
1173
- }
1174
-
1175
- .Dropzone > .overlay {
1176
- position: absolute;
1177
- left: 0;
1178
- right: 0;
1179
- top: 0;
1180
- bottom: 0;
1181
- background-color: #38ADC4;
1182
- z-index: 1;
1183
- opacity: 0;
1184
- transition: all 0.2s ease;
1185
- transition-delay: 100ms;
1186
- visibility: hidden;
1187
- display: flex;
1188
- justify-content: center;
1189
- align-items: center;
1190
- }
1191
-
1192
- .Dropzone > .overlay .drop {
1193
- border-radius: 4px;
1194
- border: 1px dashed #FFFFFF;
1195
- position: absolute;
1196
- top: 18px;
1197
- left: 18px;
1198
- right: 18px;
1199
- bottom: 18px;
1200
- display: flex;
1201
- justify-content: center;
1202
- align-items: center;
1203
- font-weight: 500;
1204
- font-size: 18px;
1205
- color: #FFFFFF;
1206
- }
1207
-
1208
- .Dropzone.dragging > .overlay {
1209
- opacity: 0.7;
1210
- visibility: visible;
1211
- transition-delay: 0s;
1212
- }
1213
-
1214
- .Dropzone.dragging > * {
1215
- pointer-events: none;
1216
- }
1217
-
1218
- .Dropzone > input.file {
1219
- position: absolute;
1220
- left: 0;
1221
- right: 0;
1222
- top: 0;
1223
- bottom: 0;
1224
- width: 100%;
1225
- height: 100%;
1226
- opacity: 0;
1227
- cursor: pointer;
1228
- z-index: 1;
1383
+ color: #bf3727;
1229
1384
  }
1230
1385
 
1231
1386
  .TextField {
@@ -1371,88 +1526,6 @@
1371
1526
  animation-name: shake;
1372
1527
  }
1373
1528
 
1374
- .Switch {
1375
- display: inline-flex;
1376
- padding-top: 5px;
1377
- }
1378
-
1379
- .Switch .switch-input {
1380
- display: none;
1381
- }
1382
-
1383
- .Switch .switch-label {
1384
- position: relative;
1385
- display: inline-flex;
1386
- align-items: center;
1387
- min-width: 38px;
1388
- height: 24px;
1389
- cursor: pointer;
1390
- font-weight: 500;
1391
- text-align: left;
1392
- user-select: none;
1393
- margin: 0;
1394
- padding: 0;
1395
- padding-left: 44px;
1396
- box-sizing: border-box;
1397
- }
1398
-
1399
- .Switch .switch-label:before, .Switch .switch-label:after {
1400
- content: "";
1401
- box-sizing: border-box;
1402
- position: absolute;
1403
- margin: 0;
1404
- outline: 0;
1405
- top: 50%;
1406
- transform: translate(0, -50%);
1407
- transition: all 0.3s ease;
1408
- }
1409
-
1410
- .Switch .switch-label:before {
1411
- left: 1px;
1412
- width: 34px;
1413
- height: 14px;
1414
- background-color: #9E9E9E;
1415
- border-radius: 8px;
1416
- }
1417
-
1418
- .Switch .switch-label:after {
1419
- left: 0;
1420
- width: 20px;
1421
- height: 20px;
1422
- background-color: #FAFAFA;
1423
- border-radius: 50%;
1424
- 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);
1425
- }
1426
-
1427
- .Switch .switch-label .toggle--on {
1428
- display: none;
1429
- }
1430
-
1431
- .Switch .switch-label .toggle--off {
1432
- display: inline-block;
1433
- }
1434
-
1435
- .Switch .switch-label .label {
1436
- margin-right: 5px;
1437
- }
1438
-
1439
- .Switch .switch-input:checked + .switch-label:before {
1440
- background-color: #A5D6A7;
1441
- }
1442
-
1443
- .Switch .switch-input:checked + .switch-label:after {
1444
- background-color: #4CAF50;
1445
- transform: translate(80%, -50%);
1446
- }
1447
-
1448
- .Switch .switch-input:checked + .switch-label .toggle--on {
1449
- display: inline-block;
1450
- }
1451
-
1452
- .Switch .switch-input:checked + .switch-label .toggle--off {
1453
- display: none;
1454
- }
1455
-
1456
1529
  .SpinningProgress {
1457
1530
  width: 48px;
1458
1531
  height: 48px;
@@ -1506,158 +1579,85 @@
1506
1579
  stroke-dashoffset: -53px;
1507
1580
  }
1508
1581
  }
1509
- .FormUploadProgress {
1510
- position: absolute;
1511
- left: 0;
1512
- right: 0;
1513
- top: 0;
1514
- bottom: 0;
1515
- background-color: rgba(255, 255, 255, 0.6);
1516
- z-index: 2;
1517
- }
1518
-
1519
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1520
- transition-delay: 500ms;
1521
- }
1522
-
1523
- .FormUploadProgress .wrapper {
1524
- position: sticky;
1525
- top: 40%;
1526
- margin-top: 40%;
1527
- margin-left: 50%;
1528
- transform: translateX(-50%);
1529
- display: flex;
1530
- flex-flow: column;
1531
- justify-content: center;
1532
- align-items: center;
1582
+ .FilteredList {
1583
+ max-height: 250px;
1584
+ position: relative;
1533
1585
  }
1534
1586
 
1535
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1587
+ .FilteredList.popup {
1588
+ padding: 0;
1589
+ visibility: hidden;
1536
1590
  position: absolute;
1537
- width: 107px;
1538
- height: 107px;
1539
- top: 0;
1540
- left: 0;
1541
- }
1542
-
1543
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1544
- stroke: #2196F3;
1545
- }
1546
-
1547
- .FormUploadProgress .wrapper > .progress {
1548
- width: 107px;
1549
- height: 107px;
1550
- min-height: 107px;
1551
- display: flex;
1552
- justify-content: center;
1553
- align-items: center;
1554
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1555
- border-radius: 50%;
1556
1591
  background: white;
1557
- position: relative;
1558
- }
1559
-
1560
- .FormUploadProgress .wrapper > .progress > .value {
1561
- display: inline-block;
1562
- margin-top: 5px;
1563
- font-weight: bold;
1564
- line-height: 16px;
1565
- font-size: 13px;
1566
- text-align: center;
1567
- color: #818181;
1568
- }
1569
-
1570
- .FormUploadProgress .wrapper .cancel {
1571
- min-width: 107px;
1572
- margin-top: 20px;
1573
- background-color: white;
1574
- color: #F96B5C;
1575
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1592
+ z-index: 4;
1593
+ 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);
1594
+ transition: all 0.2s ease-out;
1595
+ top: calc(100% + 4px);
1596
+ opacity: 0;
1597
+ border-radius: 2px;
1576
1598
  }
1577
1599
 
1578
- .DNDContainer .DroppableList .Draggable {
1579
- transform: unset;
1580
- transition: unset;
1600
+ .FilteredList.popup.visible {
1581
1601
  opacity: 1;
1602
+ visibility: visible;
1582
1603
  }
1583
1604
 
1584
- .DNDContainer .DroppableList .Draggable.dragged {
1585
- transition: unset !important;
1586
- }
1587
-
1588
- .DNDContainer .DroppableList.hover .Draggable {
1589
- transition: transform 0.2s ease-in;
1590
- }
1591
-
1592
- .DNDContainer .DroppableList.resetting .Draggable {
1593
- transition: transform 0.1s ease-in;
1594
- }
1595
-
1596
- .Checkbox {
1597
- position: relative;
1598
- white-space: pre;
1599
- }
1600
-
1601
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1602
- box-sizing: border-box;
1605
+ .FilteredList.inline {
1606
+ max-height: 225px;
1607
+ margin-top: 5px;
1603
1608
  }
1604
1609
 
1605
- .Checkbox label {
1606
- font-family: Roboto, sans-serif;
1610
+ .FilteredList .child {
1611
+ display: flex;
1612
+ flex-flow: row nowrap;
1613
+ align-items: center;
1614
+ white-space: nowrap;
1607
1615
  font-size: 14px;
1608
- color: #1e252d;
1616
+ color: #222222;
1617
+ height: 30px;
1618
+ padding: 5px 10px;
1619
+ padding-right: 15px;
1609
1620
  cursor: pointer;
1621
+ overflow: hidden;
1622
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1623
+ border-left: 5px solid #4AC263;
1624
+ padding-left: 15px;
1625
+ margin-left: -5px;
1610
1626
  }
1611
1627
 
1612
- .Checkbox label:before, .Checkbox label:after {
1613
- content: "";
1614
- position: absolute;
1615
- left: 0;
1616
- top: 0;
1628
+ .FilteredList .child.hidden {
1629
+ height: 0 !important;
1630
+ padding: 0 !important;
1617
1631
  }
1618
1632
 
1619
- .Checkbox label:before {
1620
- width: 20px;
1621
- height: 20px;
1622
- background: #fff;
1623
- border: 2px solid #252525;
1624
- border-radius: 2px;
1625
- cursor: pointer;
1626
- transition: background 0.3s;
1633
+ .FilteredList .child.selected {
1634
+ background-color: #F0F0F0;
1635
+ padding-left: 10px;
1636
+ margin-left: 0px;
1627
1637
  }
1628
1638
 
1629
- .Checkbox input[type=checkbox] {
1630
- outline: 0;
1631
- margin-right: 10px;
1632
- visibility: hidden;
1639
+ .FilteredList .child.active {
1640
+ background-color: #eeeeee;
1633
1641
  }
1634
1642
 
1635
- .Checkbox input[type=checkbox]:checked + label:before {
1636
- background: #4AC263;
1637
- border: none;
1643
+ .FilteredList .child {
1644
+ margin-top: 8px;
1638
1645
  }
1639
1646
 
1640
- .Checkbox input[type=checkbox]:checked + label:after {
1641
- transform: rotate(-45deg);
1642
- top: 6px;
1643
- left: 4px;
1644
- width: 12px;
1645
- height: 6px;
1646
- border: 2px solid #fff;
1647
- border-top-style: none;
1648
- border-right-style: none;
1647
+ .FilteredList .child.hidden {
1648
+ margin-top: 0;
1649
1649
  }
1650
1650
 
1651
- .Checkbox input[type=checkbox]:disabled + label {
1652
- color: gray;
1651
+ .FilteredList .child:not(.hidden) ~ .child {
1652
+ margin-top: 0;
1653
1653
  }
1654
1654
 
1655
- .Checkbox input[type=checkbox]:disabled + label:before {
1656
- border-color: rgba(0, 0, 0, 0.26);
1655
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1656
+ margin-bottom: 8px;
1657
1657
  }
1658
1658
 
1659
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
1660
- background: rgba(0, 0, 0, 0.26);
1659
+ .FilteredList .child:not(.hidden):last-child {
1660
+ margin-bottom: 8px;
1661
1661
  }
1662
1662
 
1663
1663
  .Table {