react-ui-basics 0.0.173 → 0.0.176

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.
Files changed (141) hide show
  1. package/Animated.js.map +1 -0
  2. package/AutocompleteSelect.js.map +1 -0
  3. package/Button.js.map +1 -0
  4. package/Checkbox.js.map +1 -0
  5. package/CircleProgress.js.map +1 -0
  6. package/CommonFields.js.map +1 -0
  7. package/DNDContainer.js.map +1 -0
  8. package/DNDDraggable.js.map +1 -0
  9. package/DNDDroppable.js.map +1 -0
  10. package/Dialog.js.map +1 -0
  11. package/DropFileInput.js.map +1 -0
  12. package/DroppableHorizontalList.js.map +1 -0
  13. package/DroppableList.js.map +1 -0
  14. package/Dropzone.js.map +1 -0
  15. package/FilteredList.js.map +1 -0
  16. package/FloatingActionButton.js.map +1 -0
  17. package/FormUploadProgress.js.map +1 -0
  18. package/ImageGallery.js.map +1 -0
  19. package/MaterialIcon.js.map +1 -0
  20. package/Modal.js.map +1 -0
  21. package/ModalMenu.js.map +1 -0
  22. package/ReactConstants.js.map +1 -0
  23. package/ReactCreateElement.js.map +1 -0
  24. package/ReadyListener.js.map +1 -0
  25. package/Scrollable.js.map +1 -0
  26. package/ScrollableTable.js.map +1 -0
  27. package/Size.js.map +1 -0
  28. package/Snackbar.js.map +1 -0
  29. package/SpinningProgress.js.map +1 -0
  30. package/Switch.js.map +1 -0
  31. package/Table.d.ts +17 -2
  32. package/Table.js +27 -14
  33. package/Table.js.map +1 -0
  34. package/TextField.js +4 -2
  35. package/TextField.js.map +1 -0
  36. package/Tools.d.ts +2 -2
  37. package/Tools.js.map +1 -0
  38. package/bundle.css +505 -505
  39. package/index.js.map +1 -0
  40. package/package.json +4 -4
  41. package/router/HistoryTools.js.map +1 -1
  42. package/router/Link.js.map +1 -1
  43. package/router/NavLink.js.map +1 -1
  44. package/router/Route.js.map +1 -1
  45. package/router/index.js.map +1 -1
  46. package/src/Animated.css +7 -0
  47. package/src/Animated.js +219 -0
  48. package/src/Animated.scss +8 -0
  49. package/src/AutocompleteSelect.css +256 -0
  50. package/src/AutocompleteSelect.js +473 -0
  51. package/src/AutocompleteSelect.scss +322 -0
  52. package/src/Button.css +138 -0
  53. package/src/Button.js +104 -0
  54. package/src/Button.scss +177 -0
  55. package/src/Checkbox.css +56 -0
  56. package/src/Checkbox.js +52 -0
  57. package/src/Checkbox.scss +87 -0
  58. package/src/CircleProgress.css +11 -0
  59. package/src/CircleProgress.js +38 -0
  60. package/src/CircleProgress.scss +13 -0
  61. package/src/CommonFields.js +21 -0
  62. package/src/DNDContainer.css +26 -0
  63. package/src/DNDContainer.js +263 -0
  64. package/src/DNDContainer.scss +33 -0
  65. package/src/DNDDraggable.js +55 -0
  66. package/src/DNDDroppable.js +58 -0
  67. package/src/Dialog.css +36 -0
  68. package/src/Dialog.js +160 -0
  69. package/src/Dialog.scss +42 -0
  70. package/src/DropFileInput.css +24 -0
  71. package/src/DropFileInput.js +45 -0
  72. package/src/DropFileInput.scss +28 -0
  73. package/src/DroppableHorizontalList.js +190 -0
  74. package/src/DroppableList.css +14 -0
  75. package/src/DroppableList.js +201 -0
  76. package/src/DroppableList.scss +27 -0
  77. package/src/Dropzone.css +54 -0
  78. package/src/Dropzone.js +140 -0
  79. package/src/Dropzone.scss +66 -0
  80. package/src/FilteredList.css +68 -0
  81. package/src/FilteredList.js +196 -0
  82. package/src/FilteredList.scss +86 -0
  83. package/src/FloatingActionButton.css +20 -0
  84. package/src/FloatingActionButton.js +35 -0
  85. package/src/FloatingActionButton.scss +25 -0
  86. package/src/FormUploadProgress.css +61 -0
  87. package/src/FormUploadProgress.js +87 -0
  88. package/src/FormUploadProgress.scss +78 -0
  89. package/src/ImageGallery.css +196 -0
  90. package/src/ImageGallery.js +935 -0
  91. package/src/ImageGallery.scss +256 -0
  92. package/src/MaterialIcon.js +1837 -0
  93. package/src/Modal.css +61 -0
  94. package/src/Modal.js +160 -0
  95. package/src/Modal.scss +73 -0
  96. package/src/ModalMenu.css +30 -0
  97. package/src/ModalMenu.js +59 -0
  98. package/src/ModalMenu.scss +36 -0
  99. package/src/ReactConstants.ts +42 -0
  100. package/src/ReactCreateElement.js +5 -0
  101. package/src/ReadyListener.js +53 -0
  102. package/src/ResizeObserver.ts +50 -0
  103. package/src/Scrollable.css +80 -0
  104. package/src/Scrollable.js +388 -0
  105. package/src/Scrollable.scss +100 -0
  106. package/src/ScrollableTable.css +6 -0
  107. package/src/ScrollableTable.scss +12 -0
  108. package/src/ScrollableTable.tsx +39 -0
  109. package/src/Size.js +56 -0
  110. package/src/Snackbar.css +40 -0
  111. package/src/Snackbar.js +71 -0
  112. package/src/Snackbar.scss +47 -0
  113. package/src/SpinningProgress.css +49 -0
  114. package/src/SpinningProgress.js +19 -0
  115. package/src/SpinningProgress.scss +57 -0
  116. package/src/Switch.css +69 -0
  117. package/src/Switch.js +54 -0
  118. package/src/Switch.scss +73 -0
  119. package/src/Table.css +94 -0
  120. package/src/Table.scss +121 -0
  121. package/src/Table.tsx +360 -0
  122. package/src/TextField.css +122 -0
  123. package/src/TextField.js +162 -0
  124. package/src/TextField.scss +160 -0
  125. package/src/Tools.test.js +105 -0
  126. package/src/Tools.ts +231 -0
  127. package/src/global.css +1 -0
  128. package/src/global.scss +6 -0
  129. package/src/index.js +78 -0
  130. package/src/router/HistoryTools.js +32 -0
  131. package/src/router/Link.js +27 -0
  132. package/src/router/NavLink.js +25 -0
  133. package/src/router/README.md +55 -0
  134. package/src/router/Route.js +209 -0
  135. package/src/router/Route.test.js +139 -0
  136. package/src/router/index.js +14 -0
  137. package/src/store/ProxyTools.js +91 -0
  138. package/src/store/ProxyTools.test.js +97 -0
  139. package/src/store/Store.ts +91 -0
  140. package/store/ProxyTools.js.map +1 -1
  141. package/store/Store.js.map +1 -1
package/bundle.css CHANGED
@@ -1,167 +1,10 @@
1
- .Button {
2
- position: relative;
3
- min-width: 64px;
4
- min-height: 36px;
5
- height: 24px;
6
- margin: 0px;
7
- padding: 0px 16px;
8
- border: none;
9
- outline: none;
10
- font-size: 14px;
11
- font-weight: 500;
12
- letter-spacing: 1.25px;
13
- background: #dfdfdf;
14
- text-transform: uppercase;
15
- font-family: Roboto, sans-serif;
16
- -webkit-tap-highlight-color: transparent;
17
- display: inline-flex;
18
- justify-content: center;
19
- align-items: center;
20
- cursor: pointer;
21
- overflow: hidden;
22
- user-select: none;
23
- border-radius: 3px;
24
- transition: all 0.2s ease;
25
- }
26
-
27
- .Button.flat {
28
- background-color: transparent;
29
- }
30
-
31
- .Button.flat:hover {
32
- background-color: rgba(0, 0, 0, 0.05);
33
- }
34
-
35
- .Button.green {
36
- background-color: #43a047;
37
- color: white;
38
- }
39
-
40
- .Button.green:hover {
41
- background-color: #3b8e3f;
42
- }
43
-
44
- .Button.blue {
45
- background-color: #039be5;
46
- color: white;
47
- }
48
-
49
- .Button.blue:hover {
50
- background-color: #038acc;
51
- }
52
-
53
- .Button.red {
54
- background-color: #e53935;
55
- color: white;
56
- }
57
-
58
- .Button.red:hover {
59
- background-color: #e2231e;
60
- }
61
-
62
- .Button.black {
63
- background-color: #1e252d;
64
- color: white;
65
- }
66
-
67
- .Button.black:hover {
68
- background-color: #14181e;
69
- }
70
-
71
- .Button.gray {
72
- background: #D9D9D9;
73
- color: #999999;
74
- }
75
-
76
- .Button.gray:hover {
77
- background-color: #cccccc;
78
- }
79
-
80
- .Button.small {
81
- padding: 0px 8px;
82
- min-height: 16px;
83
- min-width: 16px;
84
- }
85
-
86
- .Button > .material-icons {
87
- margin-right: 10px;
88
- }
89
-
90
- .Button.round {
91
- padding: 0px;
92
- min-width: 36px;
93
- border-radius: 50%;
94
- }
95
-
96
- .Button.round > .material-icons {
97
- margin: 0px;
98
- }
99
-
100
- .Button .ripple {
101
- position: absolute;
102
- background: rgba(0, 0, 0, 0.1);
103
- border-radius: 100%;
104
- transform: scale(0);
105
- pointer-events: none;
106
- transition: opacity 0.2s ease-out;
107
- }
108
-
109
- .Button .ripple.show {
110
- animation: ripple 0.35s ease-out;
111
- }
112
-
113
- .Button:active .ripple.showed {
114
- opacity: 1;
115
- }
116
-
117
- .Button:focus .ripple.focused {
118
- opacity: 1;
119
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
120
- transform: scale(1);
121
- animation: resize 1.25s ease-out infinite;
122
- animation-delay: 0.2s;
123
- animation-direction: alternate;
124
- }
125
-
126
- .Button .ripple.showed {
127
- transform: scale(2);
1
+ .animated {
2
+ transition: opacity 250ms ease;
128
3
  opacity: 0;
129
4
  }
130
5
 
131
- @keyframes ripple {
132
- to {
133
- transform: scale(2);
134
- }
135
- }
136
- @keyframes resize {
137
- to {
138
- transform: scale(0.9);
139
- }
140
- }
141
- .Button.raised {
142
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
143
- }
144
-
145
- .Button.raised:hover {
146
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
147
- }
148
-
149
- .Button.raised:active {
150
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
151
- }
152
-
153
- .Button.disabled {
154
- box-shadow: none;
155
- background: #D9D9D9;
156
- color: #999999;
157
- }
158
-
159
- .Button.disabled:hover {
160
- background-color: #cccccc;
161
- }
162
-
163
- .Button::-moz-focus-inner {
164
- border: 0;
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
165
8
  }
166
9
 
167
10
  .AutocompleteSelect {
@@ -459,28 +302,6 @@
459
302
  position: absolute;
460
303
  }
461
304
 
462
- .animated {
463
- transition: opacity 250ms ease;
464
- opacity: 0;
465
- }
466
-
467
- .animated.mounting, .animated.mounted {
468
- opacity: 1;
469
- }
470
-
471
- .CircleProgress {
472
- width: 48px;
473
- height: 48px;
474
- }
475
-
476
- .CircleProgress .line {
477
- stroke-width: 2px;
478
- stroke: black;
479
- stroke-linecap: square;
480
- fill: none;
481
- transition: stroke-dashoffset 0.2s ease;
482
- }
483
-
484
305
  .Checkbox {
485
306
  position: relative;
486
307
  white-space: pre;
@@ -548,168 +369,183 @@
548
369
  background: rgba(0, 0, 0, 0.26);
549
370
  }
550
371
 
551
- .FilteredList {
552
- max-height: 250px;
372
+ .Button {
553
373
  position: relative;
374
+ min-width: 64px;
375
+ min-height: 36px;
376
+ height: 24px;
377
+ margin: 0px;
378
+ padding: 0px 16px;
379
+ border: none;
380
+ outline: none;
381
+ font-size: 14px;
382
+ font-weight: 500;
383
+ letter-spacing: 1.25px;
384
+ background: #dfdfdf;
385
+ text-transform: uppercase;
386
+ font-family: Roboto, sans-serif;
387
+ -webkit-tap-highlight-color: transparent;
388
+ display: inline-flex;
389
+ justify-content: center;
390
+ align-items: center;
391
+ cursor: pointer;
392
+ overflow: hidden;
393
+ user-select: none;
394
+ border-radius: 3px;
395
+ transition: all 0.2s ease;
554
396
  }
555
397
 
556
- .FilteredList.popup {
557
- padding: 0;
558
- visibility: hidden;
559
- position: absolute;
560
- background: white;
561
- z-index: 4;
562
- 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);
563
- transition: all 0.2s ease-out;
564
- top: calc(100% + 4px);
565
- opacity: 0;
566
- border-radius: 2px;
398
+ .Button.flat {
399
+ background-color: transparent;
567
400
  }
568
401
 
569
- .FilteredList.popup.visible {
570
- opacity: 1;
571
- visibility: visible;
402
+ .Button.flat:hover {
403
+ background-color: rgba(0, 0, 0, 0.05);
572
404
  }
573
405
 
574
- .FilteredList.inline {
575
- max-height: 225px;
576
- margin-top: 5px;
406
+ .Button.green {
407
+ background-color: #43a047;
408
+ color: white;
577
409
  }
578
410
 
579
- .FilteredList .child {
580
- display: flex;
581
- flex-flow: row nowrap;
582
- align-items: center;
583
- white-space: nowrap;
584
- font-size: 14px;
585
- color: #222222;
586
- height: 30px;
587
- padding: 5px 10px;
588
- padding-right: 15px;
589
- cursor: pointer;
590
- overflow: hidden;
591
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
592
- border-left: 5px solid #4AC263;
593
- padding-left: 15px;
594
- margin-left: -5px;
411
+ .Button.green:hover {
412
+ background-color: #3b8e3f;
595
413
  }
596
414
 
597
- .FilteredList .child.hidden {
598
- height: 0 !important;
599
- padding: 0 !important;
415
+ .Button.blue {
416
+ background-color: #039be5;
417
+ color: white;
600
418
  }
601
419
 
602
- .FilteredList .child.selected {
603
- background-color: #F0F0F0;
604
- padding-left: 10px;
605
- margin-left: 0px;
420
+ .Button.blue:hover {
421
+ background-color: #038acc;
606
422
  }
607
423
 
608
- .FilteredList .child.active {
609
- background-color: #eeeeee;
424
+ .Button.red {
425
+ background-color: #e53935;
426
+ color: white;
610
427
  }
611
428
 
612
- .FilteredList .child {
613
- margin-top: 8px;
429
+ .Button.red:hover {
430
+ background-color: #e2231e;
614
431
  }
615
432
 
616
- .FilteredList .child.hidden {
617
- margin-top: 0;
433
+ .Button.black {
434
+ background-color: #1e252d;
435
+ color: white;
618
436
  }
619
437
 
620
- .FilteredList .child:not(.hidden) ~ .child {
621
- margin-top: 0;
438
+ .Button.black:hover {
439
+ background-color: #14181e;
622
440
  }
623
441
 
624
- .FilteredList .child:not(.hidden) ~ .child:last-child {
625
- margin-bottom: 8px;
442
+ .Button.gray {
443
+ background: #D9D9D9;
444
+ color: #999999;
626
445
  }
627
446
 
628
- .FilteredList .child:not(.hidden):last-child {
629
- margin-bottom: 8px;
447
+ .Button.gray:hover {
448
+ background-color: #cccccc;
630
449
  }
631
450
 
632
- .DNDContainer {
633
- position: relative;
451
+ .Button.small {
452
+ padding: 0px 8px;
453
+ min-height: 16px;
454
+ min-width: 16px;
634
455
  }
635
456
 
636
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
637
- cursor: pointer;
457
+ .Button > .material-icons {
458
+ margin-right: 10px;
638
459
  }
639
460
 
640
- .DNDContainer .Draggable.placeholder {
641
- opacity: 0.2;
461
+ .Button.round {
462
+ padding: 0px;
463
+ min-width: 36px;
464
+ border-radius: 50%;
642
465
  }
643
466
 
644
- .DNDContainer .Draggable.copy {
467
+ .Button.round > .material-icons {
468
+ margin: 0px;
469
+ }
470
+
471
+ .Button .ripple {
645
472
  position: absolute;
646
- box-sizing: border-box;
647
- will-change: transform;
648
- opacity: 0;
473
+ background: rgba(0, 0, 0, 0.1);
474
+ border-radius: 100%;
475
+ transform: scale(0);
476
+ pointer-events: none;
477
+ transition: opacity 0.2s ease-out;
649
478
  }
650
479
 
651
- .DNDContainer .Draggable.dragged {
652
- z-index: 10;
480
+ .Button .ripple.show {
481
+ animation: ripple 0.35s ease-out;
653
482
  }
654
483
 
655
- .DNDContainer .overlay {
656
- position: absolute;
657
- top: 0;
658
- left: 0;
659
- right: 0;
660
- bottom: 0;
661
- pointer-events: none;
484
+ .Button:active .ripple.showed {
485
+ opacity: 1;
662
486
  }
663
487
 
664
- .DropFileInput {
665
- flex-grow: 1;
488
+ .Button:focus .ripple.focused {
489
+ opacity: 1;
490
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
491
+ transform: scale(1);
492
+ animation: resize 1.25s ease-out infinite;
493
+ animation-delay: 0.2s;
494
+ animation-direction: alternate;
666
495
  }
667
496
 
668
- .DropFileInput .Dropzone {
669
- border: 1px dashed #808080;
670
- padding: 12px;
671
- display: flex;
672
- flex-flow: row nowrap;
673
- justify-content: center;
674
- align-items: center;
675
- color: gray;
676
- cursor: pointer;
677
- border-radius: 3px;
678
- font-weight: normal;
679
- line-height: 22px;
680
- font-size: 14px;
681
- color: #7E7E7E;
682
- max-width: 100%;
683
- word-break: break-all;
684
- word-break: break-word;
497
+ .Button .ripple.showed {
498
+ transform: scale(2);
499
+ opacity: 0;
685
500
  }
686
501
 
687
- .DropFileInput .Dropzone .icon.withText {
688
- margin-right: 10px;
502
+ @keyframes ripple {
503
+ to {
504
+ transform: scale(2);
505
+ }
506
+ }
507
+ @keyframes resize {
508
+ to {
509
+ transform: scale(0.9);
510
+ }
511
+ }
512
+ .Button.raised {
513
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
689
514
  }
690
515
 
691
- .Button.FloatingActionButton {
692
- position: absolute;
693
- right: 16px;
694
- bottom: 16px;
695
- width: 56px;
696
- height: 56px;
697
- padding: 16px;
698
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
516
+ .Button.raised:hover {
517
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
699
518
  }
700
519
 
701
- .Button.FloatingActionButton.raised {
702
- 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);
520
+ .Button.raised:active {
521
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
703
522
  }
704
523
 
705
- .Button.FloatingActionButton.mini {
706
- width: 40px;
707
- height: 40px;
708
- padding: 8px;
524
+ .Button.disabled {
525
+ box-shadow: none;
526
+ background: #D9D9D9;
527
+ color: #999999;
709
528
  }
710
529
 
711
- .Button.FloatingActionButton.hidden {
712
- bottom: -100px;
530
+ .Button.disabled:hover {
531
+ background-color: #cccccc;
532
+ }
533
+
534
+ .Button::-moz-focus-inner {
535
+ border: 0;
536
+ }
537
+
538
+ .CircleProgress {
539
+ width: 48px;
540
+ height: 48px;
541
+ }
542
+
543
+ .CircleProgress .line {
544
+ stroke-width: 2px;
545
+ stroke: black;
546
+ stroke-linecap: square;
547
+ fill: none;
548
+ transition: stroke-dashoffset 0.2s ease;
713
549
  }
714
550
 
715
551
  .DialogModal {
@@ -754,6 +590,119 @@
754
590
  margin-bottom: 0;
755
591
  }
756
592
 
593
+ .DNDContainer {
594
+ position: relative;
595
+ }
596
+
597
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
598
+ cursor: pointer;
599
+ }
600
+
601
+ .DNDContainer .Draggable.placeholder {
602
+ opacity: 0.2;
603
+ }
604
+
605
+ .DNDContainer .Draggable.copy {
606
+ position: absolute;
607
+ box-sizing: border-box;
608
+ will-change: transform;
609
+ opacity: 0;
610
+ }
611
+
612
+ .DNDContainer .Draggable.dragged {
613
+ z-index: 10;
614
+ }
615
+
616
+ .DNDContainer .overlay {
617
+ position: absolute;
618
+ top: 0;
619
+ left: 0;
620
+ right: 0;
621
+ bottom: 0;
622
+ pointer-events: none;
623
+ }
624
+
625
+ .FilteredList {
626
+ max-height: 250px;
627
+ position: relative;
628
+ }
629
+
630
+ .FilteredList.popup {
631
+ padding: 0;
632
+ visibility: hidden;
633
+ position: absolute;
634
+ background: white;
635
+ z-index: 4;
636
+ 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);
637
+ transition: all 0.2s ease-out;
638
+ top: calc(100% + 4px);
639
+ opacity: 0;
640
+ border-radius: 2px;
641
+ }
642
+
643
+ .FilteredList.popup.visible {
644
+ opacity: 1;
645
+ visibility: visible;
646
+ }
647
+
648
+ .FilteredList.inline {
649
+ max-height: 225px;
650
+ margin-top: 5px;
651
+ }
652
+
653
+ .FilteredList .child {
654
+ display: flex;
655
+ flex-flow: row nowrap;
656
+ align-items: center;
657
+ white-space: nowrap;
658
+ font-size: 14px;
659
+ color: #222222;
660
+ height: 30px;
661
+ padding: 5px 10px;
662
+ padding-right: 15px;
663
+ cursor: pointer;
664
+ overflow: hidden;
665
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
666
+ border-left: 5px solid #4AC263;
667
+ padding-left: 15px;
668
+ margin-left: -5px;
669
+ }
670
+
671
+ .FilteredList .child.hidden {
672
+ height: 0 !important;
673
+ padding: 0 !important;
674
+ }
675
+
676
+ .FilteredList .child.selected {
677
+ background-color: #F0F0F0;
678
+ padding-left: 10px;
679
+ margin-left: 0px;
680
+ }
681
+
682
+ .FilteredList .child.active {
683
+ background-color: #eeeeee;
684
+ }
685
+
686
+ .FilteredList .child {
687
+ margin-top: 8px;
688
+ }
689
+
690
+ .FilteredList .child.hidden {
691
+ margin-top: 0;
692
+ }
693
+
694
+ .FilteredList .child:not(.hidden) ~ .child {
695
+ margin-top: 0;
696
+ }
697
+
698
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
699
+ margin-bottom: 8px;
700
+ }
701
+
702
+ .FilteredList .child:not(.hidden):last-child {
703
+ margin-bottom: 8px;
704
+ }
705
+
757
706
  .FormUploadProgress {
758
707
  position: absolute;
759
708
  left: 0;
@@ -823,6 +772,90 @@
823
772
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
824
773
  }
825
774
 
775
+ .Dropzone {
776
+ position: relative;
777
+ }
778
+
779
+ .Dropzone > .overlay {
780
+ position: absolute;
781
+ left: 0;
782
+ right: 0;
783
+ top: 0;
784
+ bottom: 0;
785
+ background-color: #38ADC4;
786
+ z-index: 1;
787
+ opacity: 0;
788
+ transition: all 0.2s ease;
789
+ transition-delay: 100ms;
790
+ visibility: hidden;
791
+ display: flex;
792
+ justify-content: center;
793
+ align-items: center;
794
+ }
795
+
796
+ .Dropzone > .overlay .drop {
797
+ border-radius: 4px;
798
+ border: 1px dashed #FFFFFF;
799
+ position: absolute;
800
+ top: 18px;
801
+ left: 18px;
802
+ right: 18px;
803
+ bottom: 18px;
804
+ display: flex;
805
+ justify-content: center;
806
+ align-items: center;
807
+ font-weight: 500;
808
+ font-size: 18px;
809
+ color: #FFFFFF;
810
+ }
811
+
812
+ .Dropzone.dragging > .overlay {
813
+ opacity: 0.7;
814
+ visibility: visible;
815
+ transition-delay: 0s;
816
+ }
817
+
818
+ .Dropzone.dragging > * {
819
+ pointer-events: none;
820
+ }
821
+
822
+ .Dropzone > input.file {
823
+ position: absolute;
824
+ left: 0;
825
+ right: 0;
826
+ top: 0;
827
+ bottom: 0;
828
+ width: 100%;
829
+ height: 100%;
830
+ opacity: 0;
831
+ cursor: pointer;
832
+ z-index: 1;
833
+ }
834
+
835
+ .Button.FloatingActionButton {
836
+ position: absolute;
837
+ right: 16px;
838
+ bottom: 16px;
839
+ width: 56px;
840
+ height: 56px;
841
+ padding: 16px;
842
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
843
+ }
844
+
845
+ .Button.FloatingActionButton.raised {
846
+ 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);
847
+ }
848
+
849
+ .Button.FloatingActionButton.mini {
850
+ width: 40px;
851
+ height: 40px;
852
+ padding: 8px;
853
+ }
854
+
855
+ .Button.FloatingActionButton.hidden {
856
+ bottom: -100px;
857
+ }
858
+
826
859
  .ImageGallery {
827
860
  position: fixed;
828
861
  top: 0;
@@ -1058,101 +1091,126 @@
1058
1091
  font-size: 24px;
1059
1092
  }
1060
1093
 
1061
- .Dropzone {
1062
- position: relative;
1094
+ .DropFileInput {
1095
+ flex-grow: 1;
1063
1096
  }
1064
1097
 
1065
- .Dropzone > .overlay {
1066
- position: absolute;
1067
- left: 0;
1068
- right: 0;
1069
- top: 0;
1070
- bottom: 0;
1071
- background-color: #38ADC4;
1072
- z-index: 1;
1073
- opacity: 0;
1074
- transition: all 0.2s ease;
1075
- transition-delay: 100ms;
1076
- visibility: hidden;
1098
+ .DropFileInput .Dropzone {
1099
+ border: 1px dashed #808080;
1100
+ padding: 12px;
1077
1101
  display: flex;
1102
+ flex-flow: row nowrap;
1078
1103
  justify-content: center;
1079
1104
  align-items: center;
1105
+ color: gray;
1106
+ cursor: pointer;
1107
+ border-radius: 3px;
1108
+ font-weight: normal;
1109
+ line-height: 22px;
1110
+ font-size: 14px;
1111
+ color: #7E7E7E;
1112
+ max-width: 100%;
1113
+ word-break: break-all;
1114
+ word-break: break-word;
1080
1115
  }
1081
1116
 
1082
- .Dropzone > .overlay .drop {
1083
- border-radius: 4px;
1084
- border: 1px dashed #FFFFFF;
1085
- position: absolute;
1086
- top: 18px;
1087
- left: 18px;
1088
- right: 18px;
1089
- bottom: 18px;
1117
+ .DropFileInput .Dropzone .icon.withText {
1118
+ margin-right: 10px;
1119
+ }
1120
+
1121
+ .Scrollable {
1122
+ max-height: 250px;
1123
+ max-width: 250px;
1124
+ padding-right: 5px;
1125
+ position: relative;
1090
1126
  display: flex;
1091
- justify-content: center;
1092
- align-items: center;
1093
- font-weight: 500;
1094
- font-size: 18px;
1095
- color: #FFFFFF;
1127
+ flex-flow: column;
1128
+ align-items: stretch;
1129
+ overflow: hidden;
1096
1130
  }
1097
1131
 
1098
- .Dropzone.dragging > .overlay {
1099
- opacity: 0.7;
1100
- visibility: visible;
1132
+ .Scrollable:hover > .scrollbar.auto {
1101
1133
  transition-delay: 0s;
1134
+ opacity: 1;
1102
1135
  }
1103
1136
 
1104
- .Dropzone.dragging > * {
1105
- pointer-events: none;
1137
+ .Scrollable .viewport {
1138
+ overflow-y: scroll;
1139
+ overflow-x: scroll;
1140
+ max-height: 100%;
1141
+ scroll-behavior: smooth;
1142
+ scrollbar-width: none;
1106
1143
  }
1107
1144
 
1108
- .Dropzone > input.file {
1109
- position: absolute;
1110
- left: 0;
1111
- right: 0;
1112
- top: 0;
1113
- bottom: 0;
1114
- width: 100%;
1115
- height: 100%;
1116
- opacity: 0;
1117
- cursor: pointer;
1118
- z-index: 1;
1145
+ .Scrollable .viewport::-webkit-scrollbar {
1146
+ display: none;
1119
1147
  }
1120
1148
 
1121
- .ModalMenu {
1122
- position: absolute;
1123
- top: 10px;
1124
- right: 50px;
1149
+ .Scrollable.without-scroll-horizontal {
1150
+ max-width: unset;
1125
1151
  }
1126
1152
 
1127
- .ModalMenu .material-icons {
1128
- color: #818181;
1153
+ .Scrollable.without-scroll {
1154
+ padding-right: 0;
1155
+ max-height: unset;
1129
1156
  }
1130
1157
 
1131
- .ModalMenu .Button.animated {
1158
+ .Scrollable.without-scroll > .viewport {
1159
+ padding-right: 0;
1160
+ margin-right: 0;
1161
+ }
1162
+
1163
+ .Scrollable.without-scroll > .scrollbar {
1164
+ visibility: hidden;
1165
+ }
1166
+
1167
+ .Scrollable .scrollbar {
1132
1168
  position: absolute;
1133
- transition: opacity 150ms ease-in, right 200ms ease-in;
1169
+ right: 0px;
1170
+ top: 0px;
1171
+ width: 5px;
1172
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1173
+ transition-delay: 0.5s;
1174
+ z-index: 1;
1175
+ }
1176
+
1177
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1134
1178
  opacity: 0;
1135
- right: 0;
1136
- top: 0;
1137
1179
  }
1138
1180
 
1139
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1140
- opacity: 1;
1181
+ .Scrollable .scrollbar .thumb {
1182
+ background-color: rgba(0, 0, 0, 0.3);
1183
+ width: 5px;
1184
+ position: absolute;
1185
+ right: 0px;
1186
+ top: 0px;
1187
+ user-select: none;
1188
+ will-change: top;
1189
+ border-radius: 2px;
1141
1190
  }
1142
1191
 
1143
- .ModalMenu .Button.animated.unmounting {
1144
- transition: opacity 100ms ease-out, right 200ms ease-out;
1192
+ .Scrollable .scrollbar .thumb:hover {
1193
+ background-color: rgba(0, 0, 0, 0.5);
1145
1194
  }
1146
1195
 
1147
- .ModalMenu .Button.active {
1148
- background: #EBEBEB;
1196
+ .Scrollable .scrollbar .thumb:active {
1197
+ background-color: rgba(0, 0, 0, 0.7);
1198
+ }
1199
+
1200
+ .Scrollable .scrollbar.horizontal {
1201
+ left: 0px;
1202
+ right: 0px;
1203
+ height: 5px;
1204
+ bottom: 0;
1205
+ width: unset;
1206
+ top: unset;
1149
1207
  }
1150
1208
 
1151
- .ModalMenu .separator {
1152
- height: 24px;
1153
- width: 1px;
1154
- background-color: #D9D9D9;
1155
- margin-left: 4px;
1209
+ .Scrollable .scrollbar.horizontal .thumb {
1210
+ height: 5px;
1211
+ left: 0px;
1212
+ bottom: 0px;
1213
+ will-change: left;
1156
1214
  }
1157
1215
 
1158
1216
  .Modal {
@@ -1278,6 +1336,43 @@
1278
1336
  stroke-dashoffset: -53px;
1279
1337
  }
1280
1338
  }
1339
+ .ModalMenu {
1340
+ position: absolute;
1341
+ top: 10px;
1342
+ right: 50px;
1343
+ }
1344
+
1345
+ .ModalMenu .material-icons {
1346
+ color: #818181;
1347
+ }
1348
+
1349
+ .ModalMenu .Button.animated {
1350
+ position: absolute;
1351
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1352
+ opacity: 0;
1353
+ right: 0;
1354
+ top: 0;
1355
+ }
1356
+
1357
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1358
+ opacity: 1;
1359
+ }
1360
+
1361
+ .ModalMenu .Button.animated.unmounting {
1362
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1363
+ }
1364
+
1365
+ .ModalMenu .Button.active {
1366
+ background: #EBEBEB;
1367
+ }
1368
+
1369
+ .ModalMenu .separator {
1370
+ height: 24px;
1371
+ width: 1px;
1372
+ background-color: #D9D9D9;
1373
+ margin-left: 4px;
1374
+ }
1375
+
1281
1376
  .Switch {
1282
1377
  display: inline-flex;
1283
1378
  padding-top: 5px;
@@ -1360,6 +1455,51 @@
1360
1455
  display: none;
1361
1456
  }
1362
1457
 
1458
+ .Snackbar {
1459
+ transform: translateX(-50%);
1460
+ overflow: hidden;
1461
+ background-color: #323232;
1462
+ padding: 14px 24px 14px 24px;
1463
+ color: #fff;
1464
+ min-width: 288px;
1465
+ max-width: 568px;
1466
+ position: fixed;
1467
+ bottom: -50px;
1468
+ left: 50%;
1469
+ display: flex;
1470
+ flex-wrap: nowrap;
1471
+ align-items: center;
1472
+ opacity: 0;
1473
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1474
+ border-radius: 4px;
1475
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1476
+ }
1477
+
1478
+ .Snackbar.shown {
1479
+ bottom: 15px;
1480
+ opacity: 1;
1481
+ }
1482
+
1483
+ .Snackbar .message {
1484
+ overflow: hidden;
1485
+ line-height: 1.2em;
1486
+ min-height: 1.2em;
1487
+ max-height: 2.4em;
1488
+ flex: 1;
1489
+ }
1490
+
1491
+ .Snackbar .action {
1492
+ text-transform: uppercase;
1493
+ font-weight: bold;
1494
+ margin-left: 48px;
1495
+ color: #bf3727;
1496
+ }
1497
+
1498
+ .Snackbar .action a {
1499
+ text-decoration: none;
1500
+ color: #bf3727;
1501
+ }
1502
+
1363
1503
  .TextField {
1364
1504
  position: relative;
1365
1505
  width: 100%;
@@ -1503,146 +1643,6 @@
1503
1643
  animation-name: shake;
1504
1644
  }
1505
1645
 
1506
- .Scrollable {
1507
- max-height: 250px;
1508
- max-width: 250px;
1509
- padding-right: 5px;
1510
- position: relative;
1511
- display: flex;
1512
- flex-flow: column;
1513
- align-items: stretch;
1514
- overflow: hidden;
1515
- }
1516
-
1517
- .Scrollable:hover > .scrollbar.auto {
1518
- transition-delay: 0s;
1519
- opacity: 1;
1520
- }
1521
-
1522
- .Scrollable .viewport {
1523
- overflow-y: scroll;
1524
- overflow-x: scroll;
1525
- max-height: 100%;
1526
- scroll-behavior: smooth;
1527
- scrollbar-width: none;
1528
- }
1529
-
1530
- .Scrollable .viewport::-webkit-scrollbar {
1531
- display: none;
1532
- }
1533
-
1534
- .Scrollable.without-scroll-horizontal {
1535
- max-width: unset;
1536
- }
1537
-
1538
- .Scrollable.without-scroll {
1539
- padding-right: 0;
1540
- max-height: unset;
1541
- }
1542
-
1543
- .Scrollable.without-scroll > .viewport {
1544
- padding-right: 0;
1545
- margin-right: 0;
1546
- }
1547
-
1548
- .Scrollable.without-scroll > .scrollbar {
1549
- visibility: hidden;
1550
- }
1551
-
1552
- .Scrollable .scrollbar {
1553
- position: absolute;
1554
- right: 0px;
1555
- top: 0px;
1556
- width: 5px;
1557
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1558
- transition-delay: 0.5s;
1559
- z-index: 1;
1560
- }
1561
-
1562
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1563
- opacity: 0;
1564
- }
1565
-
1566
- .Scrollable .scrollbar .thumb {
1567
- background-color: rgba(0, 0, 0, 0.3);
1568
- width: 5px;
1569
- position: absolute;
1570
- right: 0px;
1571
- top: 0px;
1572
- user-select: none;
1573
- will-change: top;
1574
- border-radius: 2px;
1575
- }
1576
-
1577
- .Scrollable .scrollbar .thumb:hover {
1578
- background-color: rgba(0, 0, 0, 0.5);
1579
- }
1580
-
1581
- .Scrollable .scrollbar .thumb:active {
1582
- background-color: rgba(0, 0, 0, 0.7);
1583
- }
1584
-
1585
- .Scrollable .scrollbar.horizontal {
1586
- left: 0px;
1587
- right: 0px;
1588
- height: 5px;
1589
- bottom: 0;
1590
- width: unset;
1591
- top: unset;
1592
- }
1593
-
1594
- .Scrollable .scrollbar.horizontal .thumb {
1595
- height: 5px;
1596
- left: 0px;
1597
- bottom: 0px;
1598
- will-change: left;
1599
- }
1600
-
1601
- .Snackbar {
1602
- transform: translateX(-50%);
1603
- overflow: hidden;
1604
- background-color: #323232;
1605
- padding: 14px 24px 14px 24px;
1606
- color: #fff;
1607
- min-width: 288px;
1608
- max-width: 568px;
1609
- position: fixed;
1610
- bottom: -50px;
1611
- left: 50%;
1612
- display: flex;
1613
- flex-wrap: nowrap;
1614
- align-items: center;
1615
- opacity: 0;
1616
- transition: bottom 0.25s ease, opacity 0.2s ease;
1617
- border-radius: 4px;
1618
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1619
- }
1620
-
1621
- .Snackbar.shown {
1622
- bottom: 15px;
1623
- opacity: 1;
1624
- }
1625
-
1626
- .Snackbar .message {
1627
- overflow: hidden;
1628
- line-height: 1.2em;
1629
- min-height: 1.2em;
1630
- max-height: 2.4em;
1631
- flex: 1;
1632
- }
1633
-
1634
- .Snackbar .action {
1635
- text-transform: uppercase;
1636
- font-weight: bold;
1637
- margin-left: 48px;
1638
- color: #bf3727;
1639
- }
1640
-
1641
- .Snackbar .action a {
1642
- text-decoration: none;
1643
- color: #bf3727;
1644
- }
1645
-
1646
1646
  .DNDContainer .DroppableList .Draggable {
1647
1647
  transform: unset;
1648
1648
  transition: unset;
@@ -1661,14 +1661,6 @@
1661
1661
  transition: transform 0.1s ease-in;
1662
1662
  }
1663
1663
 
1664
- .ScrollableTable .Scrollable .scrollbar {
1665
- top: 56px;
1666
- }
1667
-
1668
- .ScrollableTable .Table {
1669
- position: static;
1670
- }
1671
-
1672
1664
  .Table {
1673
1665
  font-family: Roboto, sans-serif;
1674
1666
  font-size: 14px;
@@ -1781,4 +1773,12 @@
1781
1773
  height: 20px;
1782
1774
  padding: 0px;
1783
1775
  background-color: #f0f0f0;
1776
+ }
1777
+
1778
+ .ScrollableTable .Scrollable .scrollbar {
1779
+ top: 56px;
1780
+ }
1781
+
1782
+ .ScrollableTable .Table {
1783
+ position: static;
1784
1784
  }