react-ui-basics 0.0.175 → 0.0.178

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 (162) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/CalendarMonthView.css +20 -0
  5. package/CalendarMonthView.d.ts +12 -0
  6. package/CalendarMonthView.js +52 -0
  7. package/CalendarMonthView.js.map +1 -0
  8. package/Checkbox.js.map +1 -1
  9. package/CircleProgress.js.map +1 -1
  10. package/CommonFields.js.map +1 -1
  11. package/DNDContainer.js.map +1 -1
  12. package/DNDDraggable.js.map +1 -1
  13. package/DNDDroppable.js.map +1 -1
  14. package/DatePicker.css +93 -0
  15. package/DatePicker.d.ts +32 -0
  16. package/DatePicker.js +116 -0
  17. package/DatePicker.js.map +1 -0
  18. package/DateTools.d.ts +39 -0
  19. package/DateTools.js +73 -0
  20. package/DateTools.js.map +1 -0
  21. package/Dialog.js.map +1 -1
  22. package/DropFileInput.js.map +1 -1
  23. package/DroppableHorizontalList.js.map +1 -1
  24. package/DroppableList.js.map +1 -1
  25. package/Dropzone.js.map +1 -1
  26. package/FilteredList.js.map +1 -1
  27. package/FloatingActionButton.js.map +1 -1
  28. package/FormUploadProgress.js.map +1 -1
  29. package/ImageGallery.js.map +1 -1
  30. package/MaterialIcon.js.map +1 -1
  31. package/Modal.js.map +1 -1
  32. package/ModalMenu.js.map +1 -1
  33. package/ReactConstants.js.map +1 -1
  34. package/ReactCreateElement.js.map +1 -1
  35. package/ReadyListener.js.map +1 -1
  36. package/Scrollable.js.map +1 -1
  37. package/ScrollableTable.js.map +1 -1
  38. package/Size.js.map +1 -1
  39. package/Snackbar.js.map +1 -1
  40. package/SpinningProgress.js.map +1 -1
  41. package/Switch.js.map +1 -1
  42. package/Table.js.map +1 -1
  43. package/Tabs.css +65 -0
  44. package/Tabs.d.ts +22 -0
  45. package/TextField.js.map +1 -1
  46. package/Tools.d.ts +2 -2
  47. package/Tools.js.map +1 -1
  48. package/bundle.css +726 -587
  49. package/index.js +4 -0
  50. package/index.js.map +1 -1
  51. package/package.json +1 -1
  52. package/router/HistoryTools.js.map +1 -1
  53. package/router/Link.js.map +1 -1
  54. package/router/NavLink.js.map +1 -1
  55. package/router/Route.js.map +1 -1
  56. package/router/index.js.map +1 -1
  57. package/src/Animated.css +7 -0
  58. package/src/Animated.js +219 -0
  59. package/src/Animated.scss +8 -0
  60. package/src/AutocompleteSelect.css +256 -0
  61. package/src/AutocompleteSelect.js +473 -0
  62. package/src/AutocompleteSelect.scss +322 -0
  63. package/src/Button.css +138 -0
  64. package/src/Button.js +104 -0
  65. package/src/Button.scss +177 -0
  66. package/src/CalendarMonthView.css +20 -0
  67. package/src/CalendarMonthView.scss +25 -0
  68. package/src/CalendarMonthView.tsx +80 -0
  69. package/src/Checkbox.css +56 -0
  70. package/src/Checkbox.js +52 -0
  71. package/src/Checkbox.scss +87 -0
  72. package/src/CircleProgress.css +11 -0
  73. package/src/CircleProgress.js +38 -0
  74. package/src/CircleProgress.scss +13 -0
  75. package/src/CommonFields.js +21 -0
  76. package/src/DNDContainer.css +26 -0
  77. package/src/DNDContainer.js +263 -0
  78. package/src/DNDContainer.scss +33 -0
  79. package/src/DNDDraggable.js +55 -0
  80. package/src/DNDDroppable.js +58 -0
  81. package/src/DatePicker.css +93 -0
  82. package/src/DatePicker.scss +118 -0
  83. package/src/DatePicker.tsx +179 -0
  84. package/src/DateTools.ts +85 -0
  85. package/src/Dialog.css +36 -0
  86. package/src/Dialog.js +160 -0
  87. package/src/Dialog.scss +42 -0
  88. package/src/DropFileInput.css +24 -0
  89. package/src/DropFileInput.js +45 -0
  90. package/src/DropFileInput.scss +28 -0
  91. package/src/DroppableHorizontalList.js +190 -0
  92. package/src/DroppableList.css +14 -0
  93. package/src/DroppableList.js +201 -0
  94. package/src/DroppableList.scss +27 -0
  95. package/src/Dropzone.css +54 -0
  96. package/src/Dropzone.js +140 -0
  97. package/src/Dropzone.scss +66 -0
  98. package/src/FilteredList.css +68 -0
  99. package/src/FilteredList.js +196 -0
  100. package/src/FilteredList.scss +86 -0
  101. package/src/FloatingActionButton.css +20 -0
  102. package/src/FloatingActionButton.js +35 -0
  103. package/src/FloatingActionButton.scss +25 -0
  104. package/src/FormUploadProgress.css +61 -0
  105. package/src/FormUploadProgress.js +87 -0
  106. package/src/FormUploadProgress.scss +78 -0
  107. package/src/ImageGallery.css +196 -0
  108. package/src/ImageGallery.js +935 -0
  109. package/src/ImageGallery.scss +256 -0
  110. package/src/MaterialIcon.js +1837 -0
  111. package/src/Modal.css +61 -0
  112. package/src/Modal.js +160 -0
  113. package/src/Modal.scss +73 -0
  114. package/src/ModalMenu.css +30 -0
  115. package/src/ModalMenu.js +59 -0
  116. package/src/ModalMenu.scss +36 -0
  117. package/src/ReactConstants.ts +42 -0
  118. package/src/ReactCreateElement.js +5 -0
  119. package/src/ReadyListener.js +53 -0
  120. package/src/ResizeObserver.ts +50 -0
  121. package/src/Scrollable.css +80 -0
  122. package/src/Scrollable.js +388 -0
  123. package/src/Scrollable.scss +100 -0
  124. package/src/ScrollableTable.css +6 -0
  125. package/src/ScrollableTable.scss +12 -0
  126. package/src/ScrollableTable.tsx +39 -0
  127. package/src/Size.js +56 -0
  128. package/src/Snackbar.css +40 -0
  129. package/src/Snackbar.js +71 -0
  130. package/src/Snackbar.scss +47 -0
  131. package/src/SpinningProgress.css +49 -0
  132. package/src/SpinningProgress.js +19 -0
  133. package/src/SpinningProgress.scss +57 -0
  134. package/src/Switch.css +69 -0
  135. package/src/Switch.js +54 -0
  136. package/src/Switch.scss +73 -0
  137. package/src/Table.css +94 -0
  138. package/src/Table.scss +121 -0
  139. package/src/Table.tsx +360 -0
  140. package/src/Tabs.css +65 -0
  141. package/src/Tabs.scss +77 -0
  142. package/src/Tabs.tsx +63 -0
  143. package/src/TextField.css +122 -0
  144. package/src/TextField.js +162 -0
  145. package/src/TextField.scss +160 -0
  146. package/src/Tools.test.js +105 -0
  147. package/src/Tools.ts +231 -0
  148. package/src/global.css +1 -0
  149. package/src/global.scss +6 -0
  150. package/src/index.js +84 -0
  151. package/src/router/HistoryTools.js +32 -0
  152. package/src/router/Link.js +27 -0
  153. package/src/router/NavLink.js +25 -0
  154. package/src/router/README.md +55 -0
  155. package/src/router/Route.js +209 -0
  156. package/src/router/Route.test.js +139 -0
  157. package/src/router/index.js +14 -0
  158. package/src/store/ProxyTools.js +91 -0
  159. package/src/store/ProxyTools.test.js +97 -0
  160. package/src/store/Store.ts +91 -0
  161. package/store/ProxyTools.js.map +1 -1
  162. package/store/Store.js.map +1 -1
package/bundle.css CHANGED
@@ -1,43 +1,10 @@
1
- .DialogModal {
2
- overflow: hidden;
3
- }
4
-
5
- .DialogModal .content {
6
- top: 20vh;
7
- }
8
-
9
- .Dialog {
10
- background-color: white;
11
- min-width: 460px;
12
- max-width: 40vw;
13
- padding: 15px;
14
- }
15
-
16
- .Dialog .title {
17
- margin-bottom: 15px;
18
- padding: 20px 50px 0px 30px;
19
- font-size: 1.25rem;
20
- line-height: 2rem;
21
- font-weight: 400;
22
- letter-spacing: 0.0125em;
23
- }
24
-
25
- .Dialog .description {
26
- color: rgba(0, 0, 0, 0.54);
27
- font-size: 1rem;
28
- line-height: 1.5rem;
29
- font-weight: 400;
30
- letter-spacing: 0.03125em;
31
- margin-top: 20px;
32
- padding: 0 24px 24px;
33
- }
34
-
35
- .Dialog > div.row {
36
- margin-bottom: 15px;
1
+ .animated {
2
+ transition: opacity 250ms ease;
3
+ opacity: 0;
37
4
  }
38
5
 
39
- .Dialog > div.row:last-child {
40
- margin-bottom: 0;
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
41
8
  }
42
9
 
43
10
  .Button {
@@ -206,6 +173,118 @@
206
173
  border: 0;
207
174
  }
208
175
 
176
+ .DNDContainer {
177
+ position: relative;
178
+ }
179
+
180
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
181
+ cursor: pointer;
182
+ }
183
+
184
+ .DNDContainer .Draggable.placeholder {
185
+ opacity: 0.2;
186
+ }
187
+
188
+ .DNDContainer .Draggable.copy {
189
+ position: absolute;
190
+ box-sizing: border-box;
191
+ will-change: transform;
192
+ opacity: 0;
193
+ }
194
+
195
+ .DNDContainer .Draggable.dragged {
196
+ z-index: 10;
197
+ }
198
+
199
+ .DNDContainer .overlay {
200
+ position: absolute;
201
+ top: 0;
202
+ left: 0;
203
+ right: 0;
204
+ bottom: 0;
205
+ pointer-events: none;
206
+ }
207
+
208
+ .CircleProgress {
209
+ width: 48px;
210
+ height: 48px;
211
+ }
212
+
213
+ .CircleProgress .line {
214
+ stroke-width: 2px;
215
+ stroke: black;
216
+ stroke-linecap: square;
217
+ fill: none;
218
+ transition: stroke-dashoffset 0.2s ease;
219
+ }
220
+
221
+ .Checkbox {
222
+ position: relative;
223
+ white-space: pre;
224
+ }
225
+
226
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
227
+ box-sizing: border-box;
228
+ }
229
+
230
+ .Checkbox label {
231
+ font-family: Roboto, sans-serif;
232
+ font-size: 14px;
233
+ color: #1e252d;
234
+ cursor: pointer;
235
+ }
236
+
237
+ .Checkbox label:before, .Checkbox label:after {
238
+ content: "";
239
+ position: absolute;
240
+ left: 0;
241
+ top: 0;
242
+ }
243
+
244
+ .Checkbox label:before {
245
+ width: 20px;
246
+ height: 20px;
247
+ background: #fff;
248
+ border: 2px solid #252525;
249
+ border-radius: 2px;
250
+ cursor: pointer;
251
+ transition: background 0.3s;
252
+ }
253
+
254
+ .Checkbox input[type=checkbox] {
255
+ outline: 0;
256
+ margin-right: 10px;
257
+ visibility: hidden;
258
+ }
259
+
260
+ .Checkbox input[type=checkbox]:checked + label:before {
261
+ background: #4AC263;
262
+ border: none;
263
+ }
264
+
265
+ .Checkbox input[type=checkbox]:checked + label:after {
266
+ transform: rotate(-45deg);
267
+ top: 6px;
268
+ left: 4px;
269
+ width: 12px;
270
+ height: 6px;
271
+ border: 2px solid #fff;
272
+ border-top-style: none;
273
+ border-right-style: none;
274
+ }
275
+
276
+ .Checkbox input[type=checkbox]:disabled + label {
277
+ color: gray;
278
+ }
279
+
280
+ .Checkbox input[type=checkbox]:disabled + label:before {
281
+ border-color: rgba(0, 0, 0, 0.26);
282
+ }
283
+
284
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
285
+ background: rgba(0, 0, 0, 0.26);
286
+ }
287
+
209
288
  .AutocompleteSelect {
210
289
  display: inline-flex;
211
290
  flex-flow: column;
@@ -501,152 +580,142 @@
501
580
  position: absolute;
502
581
  }
503
582
 
504
- .animated {
505
- transition: opacity 250ms ease;
506
- opacity: 0;
507
- }
508
-
509
- .animated.mounting, .animated.mounted {
510
- opacity: 1;
511
- }
512
-
513
- .Checkbox {
514
- position: relative;
515
- white-space: pre;
583
+ .DialogModal {
584
+ overflow: hidden;
516
585
  }
517
586
 
518
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
519
- box-sizing: border-box;
587
+ .DialogModal .content {
588
+ top: 20vh;
520
589
  }
521
590
 
522
- .Checkbox label {
523
- font-family: Roboto, sans-serif;
524
- font-size: 14px;
525
- color: #1e252d;
526
- cursor: pointer;
591
+ .Dialog {
592
+ background-color: white;
593
+ min-width: 460px;
594
+ max-width: 40vw;
595
+ padding: 15px;
527
596
  }
528
597
 
529
- .Checkbox label:before, .Checkbox label:after {
530
- content: "";
531
- position: absolute;
532
- left: 0;
533
- top: 0;
598
+ .Dialog .title {
599
+ margin-bottom: 15px;
600
+ padding: 20px 50px 0px 30px;
601
+ font-size: 1.25rem;
602
+ line-height: 2rem;
603
+ font-weight: 400;
604
+ letter-spacing: 0.0125em;
534
605
  }
535
606
 
536
- .Checkbox label:before {
537
- width: 20px;
538
- height: 20px;
539
- background: #fff;
540
- border: 2px solid #252525;
541
- border-radius: 2px;
542
- cursor: pointer;
543
- transition: background 0.3s;
607
+ .Dialog .description {
608
+ color: rgba(0, 0, 0, 0.54);
609
+ font-size: 1rem;
610
+ line-height: 1.5rem;
611
+ font-weight: 400;
612
+ letter-spacing: 0.03125em;
613
+ margin-top: 20px;
614
+ padding: 0 24px 24px;
544
615
  }
545
616
 
546
- .Checkbox input[type=checkbox] {
547
- outline: 0;
548
- margin-right: 10px;
549
- visibility: hidden;
617
+ .Dialog > div.row {
618
+ margin-bottom: 15px;
550
619
  }
551
620
 
552
- .Checkbox input[type=checkbox]:checked + label:before {
553
- background: #4AC263;
554
- border: none;
621
+ .Dialog > div.row:last-child {
622
+ margin-bottom: 0;
555
623
  }
556
624
 
557
- .Checkbox input[type=checkbox]:checked + label:after {
558
- transform: rotate(-45deg);
559
- top: 6px;
560
- left: 4px;
561
- width: 12px;
562
- height: 6px;
563
- border: 2px solid #fff;
564
- border-top-style: none;
565
- border-right-style: none;
625
+ .DropFileInput {
626
+ flex-grow: 1;
566
627
  }
567
628
 
568
- .Checkbox input[type=checkbox]:disabled + label {
629
+ .DropFileInput .Dropzone {
630
+ border: 1px dashed #808080;
631
+ padding: 12px;
632
+ display: flex;
633
+ flex-flow: row nowrap;
634
+ justify-content: center;
635
+ align-items: center;
569
636
  color: gray;
637
+ cursor: pointer;
638
+ border-radius: 3px;
639
+ font-weight: normal;
640
+ line-height: 22px;
641
+ font-size: 14px;
642
+ color: #7E7E7E;
643
+ max-width: 100%;
644
+ word-break: break-all;
645
+ word-break: break-word;
570
646
  }
571
647
 
572
- .Checkbox input[type=checkbox]:disabled + label:before {
573
- border-color: rgba(0, 0, 0, 0.26);
648
+ .DropFileInput .Dropzone .icon.withText {
649
+ margin-right: 10px;
574
650
  }
575
651
 
576
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
577
- background: rgba(0, 0, 0, 0.26);
578
- }
579
-
580
- .DNDContainer {
581
- position: relative;
582
- }
583
-
584
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
585
- cursor: pointer;
586
- }
587
-
588
- .DNDContainer .Draggable.placeholder {
589
- opacity: 0.2;
652
+ .FormUploadProgress {
653
+ position: absolute;
654
+ left: 0;
655
+ right: 0;
656
+ top: 0;
657
+ bottom: 0;
658
+ background-color: rgba(255, 255, 255, 0.6);
659
+ z-index: 2;
590
660
  }
591
661
 
592
- .DNDContainer .Draggable.copy {
593
- position: absolute;
594
- box-sizing: border-box;
595
- will-change: transform;
596
- opacity: 0;
662
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
663
+ transition-delay: 500ms;
597
664
  }
598
665
 
599
- .DNDContainer .Draggable.dragged {
600
- z-index: 10;
666
+ .FormUploadProgress .wrapper {
667
+ position: sticky;
668
+ top: 40%;
669
+ margin-top: 40%;
670
+ margin-left: 50%;
671
+ transform: translateX(-50%);
672
+ display: flex;
673
+ flex-flow: column;
674
+ justify-content: center;
675
+ align-items: center;
601
676
  }
602
677
 
603
- .DNDContainer .overlay {
678
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
604
679
  position: absolute;
680
+ width: 107px;
681
+ height: 107px;
605
682
  top: 0;
606
683
  left: 0;
607
- right: 0;
608
- bottom: 0;
609
- pointer-events: none;
610
- }
611
-
612
- .CircleProgress {
613
- width: 48px;
614
- height: 48px;
615
- }
616
-
617
- .CircleProgress .line {
618
- stroke-width: 2px;
619
- stroke: black;
620
- stroke-linecap: square;
621
- fill: none;
622
- transition: stroke-dashoffset 0.2s ease;
623
684
  }
624
685
 
625
- .DropFileInput {
626
- flex-grow: 1;
686
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
687
+ stroke: #2196F3;
627
688
  }
628
689
 
629
- .DropFileInput .Dropzone {
630
- border: 1px dashed #808080;
631
- padding: 12px;
690
+ .FormUploadProgress .wrapper > .progress {
691
+ width: 107px;
692
+ height: 107px;
693
+ min-height: 107px;
632
694
  display: flex;
633
- flex-flow: row nowrap;
634
695
  justify-content: center;
635
696
  align-items: center;
636
- color: gray;
637
- cursor: pointer;
638
- border-radius: 3px;
639
- font-weight: normal;
640
- line-height: 22px;
641
- font-size: 14px;
642
- color: #7E7E7E;
643
- max-width: 100%;
644
- word-break: break-all;
645
- word-break: break-word;
697
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
698
+ border-radius: 50%;
699
+ background: white;
700
+ position: relative;
646
701
  }
647
702
 
648
- .DropFileInput .Dropzone .icon.withText {
649
- margin-right: 10px;
703
+ .FormUploadProgress .wrapper > .progress > .value {
704
+ display: inline-block;
705
+ margin-top: 5px;
706
+ font-weight: bold;
707
+ line-height: 16px;
708
+ font-size: 13px;
709
+ text-align: center;
710
+ color: #818181;
711
+ }
712
+
713
+ .FormUploadProgress .wrapper .cancel {
714
+ min-width: 107px;
715
+ margin-top: 20px;
716
+ background-color: white;
717
+ color: #F96B5C;
718
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
650
719
  }
651
720
 
652
721
  .Dropzone {
@@ -709,312 +778,112 @@
709
778
  z-index: 1;
710
779
  }
711
780
 
712
- .Button.FloatingActionButton {
713
- position: absolute;
714
- right: 16px;
715
- bottom: 16px;
716
- width: 56px;
717
- height: 56px;
718
- padding: 16px;
719
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
720
- }
721
-
722
- .Button.FloatingActionButton.raised {
723
- 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);
781
+ .ImageGallery {
782
+ position: fixed;
783
+ top: 0;
784
+ left: 0;
785
+ bottom: 0;
786
+ right: 0;
787
+ z-index: 1000;
788
+ background-color: rgba(0, 0, 0, 0.01);
789
+ user-select: none;
724
790
  }
725
791
 
726
- .Button.FloatingActionButton.mini {
727
- width: 40px;
728
- height: 40px;
729
- padding: 8px;
792
+ .ImageGallery:focus {
793
+ outline-width: 0px;
730
794
  }
731
795
 
732
- .Button.FloatingActionButton.hidden {
733
- bottom: -100px;
796
+ .ImageGallery.animated {
797
+ transition: background-color 0.25s ease;
798
+ opacity: 1;
734
799
  }
735
800
 
736
- .Scrollable {
737
- max-height: 250px;
738
- max-width: 250px;
739
- padding-right: 5px;
740
- position: relative;
741
- display: flex;
742
- flex-flow: column;
743
- align-items: stretch;
744
- overflow: hidden;
801
+ .ImageGallery.mounting, .ImageGallery.mounted {
802
+ background-color: rgba(0, 0, 0, 0.8);
745
803
  }
746
804
 
747
- .Scrollable:hover > .scrollbar.auto {
748
- transition-delay: 0s;
749
- opacity: 1;
805
+ .ImageGallery .image {
806
+ position: absolute;
807
+ cursor: grab;
750
808
  }
751
809
 
752
- .Scrollable .viewport {
753
- overflow-y: scroll;
754
- overflow-x: scroll;
755
- max-height: 100%;
756
- scroll-behavior: smooth;
757
- scrollbar-width: none;
810
+ .ImageGallery .image .counter {
811
+ display: none;
758
812
  }
759
813
 
760
- .Scrollable .viewport::-webkit-scrollbar {
761
- display: none;
814
+ .ImageGallery .image img {
815
+ border-radius: 4px;
816
+ max-width: 100%;
817
+ min-width: 100%;
762
818
  }
763
819
 
764
- .Scrollable.without-scroll-horizontal {
765
- max-width: unset;
820
+ .ImageGallery .image.animated {
821
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
822
+ will-change: top, left, width, height, opacity;
766
823
  }
767
824
 
768
- .Scrollable.without-scroll {
769
- padding-right: 0;
770
- max-height: unset;
825
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
826
+ opacity: 1;
771
827
  }
772
828
 
773
- .Scrollable.without-scroll > .viewport {
774
- padding-right: 0;
775
- margin-right: 0;
829
+ .ImageGallery .image.zoomed {
830
+ text-align: center;
831
+ overflow: hidden;
776
832
  }
777
833
 
778
- .Scrollable.without-scroll > .scrollbar {
779
- visibility: hidden;
834
+ .ImageGallery .image.dragging {
835
+ transition: none;
836
+ cursor: move;
780
837
  }
781
838
 
782
- .Scrollable .scrollbar {
839
+ .ImageGallery .image .close {
783
840
  position: absolute;
784
- right: 0px;
785
- top: 0px;
786
- width: 5px;
787
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
788
- transition-delay: 0.5s;
789
- z-index: 1;
841
+ top: -18px;
842
+ right: -18px;
790
843
  }
791
844
 
792
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
793
- opacity: 0;
845
+ .ImageGallery .image .spinner {
846
+ position: absolute;
847
+ top: 0;
848
+ bottom: 0;
849
+ left: 0;
850
+ right: 0;
851
+ background: rgba(0, 0, 0, 0.65);
794
852
  }
795
853
 
796
- .Scrollable .scrollbar .thumb {
797
- background-color: rgba(0, 0, 0, 0.3);
798
- width: 5px;
854
+ .ImageGallery .image .spinner .SpinningProgress {
799
855
  position: absolute;
800
- right: 0px;
801
- top: 0px;
802
- user-select: none;
803
- will-change: top;
804
- border-radius: 2px;
856
+ top: 50%;
857
+ left: 50%;
858
+ margin-left: -24px;
859
+ margin-top: -24px;
805
860
  }
806
861
 
807
- .Scrollable .scrollbar .thumb:hover {
808
- background-color: rgba(0, 0, 0, 0.5);
862
+ .ImageGallery .image .spinner .SpinningProgress .line {
863
+ stroke: #2196F3;
809
864
  }
810
865
 
811
- .Scrollable .scrollbar .thumb:active {
812
- background-color: rgba(0, 0, 0, 0.7);
866
+ .ImageGallery .Button.animated {
867
+ transition: all 0.25s ease;
868
+ opacity: 0;
869
+ transform: scale(0);
813
870
  }
814
871
 
815
- .Scrollable .scrollbar.horizontal {
816
- left: 0px;
817
- right: 0px;
818
- height: 5px;
819
- bottom: 0;
820
- width: unset;
821
- top: unset;
872
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
873
+ opacity: 1;
874
+ transform: scale(1);
822
875
  }
823
876
 
824
- .Scrollable .scrollbar.horizontal .thumb {
825
- height: 5px;
826
- left: 0px;
827
- bottom: 0px;
828
- will-change: left;
877
+ .ImageGallery .Button {
878
+ color: white;
879
+ background: rgba(0, 0, 0, 0.4);
829
880
  }
830
881
 
831
- .FilteredList {
832
- max-height: 250px;
833
- position: relative;
882
+ .ImageGallery .Button:hover {
883
+ background: rgba(0, 0, 0, 0.7);
834
884
  }
835
885
 
836
- .FilteredList.popup {
837
- padding: 0;
838
- visibility: hidden;
839
- position: absolute;
840
- background: white;
841
- z-index: 4;
842
- 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);
843
- transition: all 0.2s ease-out;
844
- top: calc(100% + 4px);
845
- opacity: 0;
846
- border-radius: 2px;
847
- }
848
-
849
- .FilteredList.popup.visible {
850
- opacity: 1;
851
- visibility: visible;
852
- }
853
-
854
- .FilteredList.inline {
855
- max-height: 225px;
856
- margin-top: 5px;
857
- }
858
-
859
- .FilteredList .child {
860
- display: flex;
861
- flex-flow: row nowrap;
862
- align-items: center;
863
- white-space: nowrap;
864
- font-size: 14px;
865
- color: #222222;
866
- height: 30px;
867
- padding: 5px 10px;
868
- padding-right: 15px;
869
- cursor: pointer;
870
- overflow: hidden;
871
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
872
- border-left: 5px solid #4AC263;
873
- padding-left: 15px;
874
- margin-left: -5px;
875
- }
876
-
877
- .FilteredList .child.hidden {
878
- height: 0 !important;
879
- padding: 0 !important;
880
- }
881
-
882
- .FilteredList .child.selected {
883
- background-color: #F0F0F0;
884
- padding-left: 10px;
885
- margin-left: 0px;
886
- }
887
-
888
- .FilteredList .child.active {
889
- background-color: #eeeeee;
890
- }
891
-
892
- .FilteredList .child {
893
- margin-top: 8px;
894
- }
895
-
896
- .FilteredList .child.hidden {
897
- margin-top: 0;
898
- }
899
-
900
- .FilteredList .child:not(.hidden) ~ .child {
901
- margin-top: 0;
902
- }
903
-
904
- .FilteredList .child:not(.hidden) ~ .child:last-child {
905
- margin-bottom: 8px;
906
- }
907
-
908
- .FilteredList .child:not(.hidden):last-child {
909
- margin-bottom: 8px;
910
- }
911
-
912
- .ImageGallery {
913
- position: fixed;
914
- top: 0;
915
- left: 0;
916
- bottom: 0;
917
- right: 0;
918
- z-index: 1000;
919
- background-color: rgba(0, 0, 0, 0.01);
920
- user-select: none;
921
- }
922
-
923
- .ImageGallery:focus {
924
- outline-width: 0px;
925
- }
926
-
927
- .ImageGallery.animated {
928
- transition: background-color 0.25s ease;
929
- opacity: 1;
930
- }
931
-
932
- .ImageGallery.mounting, .ImageGallery.mounted {
933
- background-color: rgba(0, 0, 0, 0.8);
934
- }
935
-
936
- .ImageGallery .image {
937
- position: absolute;
938
- cursor: grab;
939
- }
940
-
941
- .ImageGallery .image .counter {
942
- display: none;
943
- }
944
-
945
- .ImageGallery .image img {
946
- border-radius: 4px;
947
- max-width: 100%;
948
- min-width: 100%;
949
- }
950
-
951
- .ImageGallery .image.animated {
952
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
953
- will-change: top, left, width, height, opacity;
954
- }
955
-
956
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
957
- opacity: 1;
958
- }
959
-
960
- .ImageGallery .image.zoomed {
961
- text-align: center;
962
- overflow: hidden;
963
- }
964
-
965
- .ImageGallery .image.dragging {
966
- transition: none;
967
- cursor: move;
968
- }
969
-
970
- .ImageGallery .image .close {
971
- position: absolute;
972
- top: -18px;
973
- right: -18px;
974
- }
975
-
976
- .ImageGallery .image .spinner {
977
- position: absolute;
978
- top: 0;
979
- bottom: 0;
980
- left: 0;
981
- right: 0;
982
- background: rgba(0, 0, 0, 0.65);
983
- }
984
-
985
- .ImageGallery .image .spinner .SpinningProgress {
986
- position: absolute;
987
- top: 50%;
988
- left: 50%;
989
- margin-left: -24px;
990
- margin-top: -24px;
991
- }
992
-
993
- .ImageGallery .image .spinner .SpinningProgress .line {
994
- stroke: #2196F3;
995
- }
996
-
997
- .ImageGallery .Button.animated {
998
- transition: all 0.25s ease;
999
- opacity: 0;
1000
- transform: scale(0);
1001
- }
1002
-
1003
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1004
- opacity: 1;
1005
- transform: scale(1);
1006
- }
1007
-
1008
- .ImageGallery .Button {
1009
- color: white;
1010
- background: rgba(0, 0, 0, 0.4);
1011
- }
1012
-
1013
- .ImageGallery .Button:hover {
1014
- background: rgba(0, 0, 0, 0.7);
1015
- }
1016
-
1017
- .ImageGallery > .arrow {
886
+ .ImageGallery > .arrow {
1018
887
  position: absolute;
1019
888
  top: 50%;
1020
889
  height: 76px;
@@ -1144,73 +1013,179 @@
1144
1013
  font-size: 24px;
1145
1014
  }
1146
1015
 
1147
- .FormUploadProgress {
1016
+ .FilteredList {
1017
+ max-height: 250px;
1018
+ position: relative;
1019
+ }
1020
+
1021
+ .FilteredList.popup {
1022
+ padding: 0;
1023
+ visibility: hidden;
1148
1024
  position: absolute;
1149
- left: 0;
1150
- right: 0;
1151
- top: 0;
1152
- bottom: 0;
1153
- background-color: rgba(255, 255, 255, 0.6);
1154
- z-index: 2;
1025
+ background: white;
1026
+ z-index: 4;
1027
+ 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);
1028
+ transition: all 0.2s ease-out;
1029
+ top: calc(100% + 4px);
1030
+ opacity: 0;
1031
+ border-radius: 2px;
1155
1032
  }
1156
1033
 
1157
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1158
- transition-delay: 500ms;
1034
+ .FilteredList.popup.visible {
1035
+ opacity: 1;
1036
+ visibility: visible;
1159
1037
  }
1160
1038
 
1161
- .FormUploadProgress .wrapper {
1162
- position: sticky;
1163
- top: 40%;
1164
- margin-top: 40%;
1165
- margin-left: 50%;
1166
- transform: translateX(-50%);
1039
+ .FilteredList.inline {
1040
+ max-height: 225px;
1041
+ margin-top: 5px;
1042
+ }
1043
+
1044
+ .FilteredList .child {
1167
1045
  display: flex;
1168
- flex-flow: column;
1169
- justify-content: center;
1046
+ flex-flow: row nowrap;
1170
1047
  align-items: center;
1048
+ white-space: nowrap;
1049
+ font-size: 14px;
1050
+ color: #222222;
1051
+ height: 30px;
1052
+ padding: 5px 10px;
1053
+ padding-right: 15px;
1054
+ cursor: pointer;
1055
+ overflow: hidden;
1056
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1057
+ border-left: 5px solid #4AC263;
1058
+ padding-left: 15px;
1059
+ margin-left: -5px;
1171
1060
  }
1172
1061
 
1173
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1062
+ .FilteredList .child.hidden {
1063
+ height: 0 !important;
1064
+ padding: 0 !important;
1065
+ }
1066
+
1067
+ .FilteredList .child.selected {
1068
+ background-color: #F0F0F0;
1069
+ padding-left: 10px;
1070
+ margin-left: 0px;
1071
+ }
1072
+
1073
+ .FilteredList .child.active {
1074
+ background-color: #eeeeee;
1075
+ }
1076
+
1077
+ .FilteredList .child {
1078
+ margin-top: 8px;
1079
+ }
1080
+
1081
+ .FilteredList .child.hidden {
1082
+ margin-top: 0;
1083
+ }
1084
+
1085
+ .FilteredList .child:not(.hidden) ~ .child {
1086
+ margin-top: 0;
1087
+ }
1088
+
1089
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1090
+ margin-bottom: 8px;
1091
+ }
1092
+
1093
+ .FilteredList .child:not(.hidden):last-child {
1094
+ margin-bottom: 8px;
1095
+ }
1096
+
1097
+ .Button.FloatingActionButton {
1174
1098
  position: absolute;
1175
- width: 107px;
1176
- height: 107px;
1099
+ right: 16px;
1100
+ bottom: 16px;
1101
+ width: 56px;
1102
+ height: 56px;
1103
+ padding: 16px;
1104
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1105
+ }
1106
+
1107
+ .Button.FloatingActionButton.raised {
1108
+ 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);
1109
+ }
1110
+
1111
+ .Button.FloatingActionButton.mini {
1112
+ width: 40px;
1113
+ height: 40px;
1114
+ padding: 8px;
1115
+ }
1116
+
1117
+ .Button.FloatingActionButton.hidden {
1118
+ bottom: -100px;
1119
+ }
1120
+
1121
+ .Modal {
1122
+ display: block;
1123
+ position: fixed;
1177
1124
  top: 0;
1178
1125
  left: 0;
1126
+ right: 0;
1127
+ bottom: 100%;
1128
+ overflow-y: scroll;
1129
+ transition: bottom 0ms linear;
1130
+ transition-delay: 0.2s;
1179
1131
  }
1180
1132
 
1181
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1182
- stroke: #2196F3;
1133
+ .Modal.show {
1134
+ transition-delay: 0s;
1135
+ bottom: 0;
1183
1136
  }
1184
1137
 
1185
- .FormUploadProgress .wrapper > .progress {
1186
- width: 107px;
1187
- height: 107px;
1188
- min-height: 107px;
1189
- display: flex;
1190
- justify-content: center;
1191
- align-items: center;
1192
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1193
- border-radius: 50%;
1194
- background: white;
1195
- position: relative;
1138
+ .Modal > .overlay {
1139
+ position: fixed;
1140
+ top: 0;
1141
+ bottom: 100%;
1142
+ left: 0;
1143
+ right: 0;
1144
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1145
+ opacity: 0;
1146
+ background-color: black;
1147
+ pointer-events: none;
1196
1148
  }
1197
1149
 
1198
- .FormUploadProgress .wrapper > .progress > .value {
1199
- display: inline-block;
1200
- margin-top: 5px;
1201
- font-weight: bold;
1202
- line-height: 16px;
1203
- font-size: 13px;
1204
- text-align: center;
1205
- color: #818181;
1150
+ .Modal > .overlay.show {
1151
+ opacity: 0.5;
1152
+ bottom: 0;
1206
1153
  }
1207
1154
 
1208
- .FormUploadProgress .wrapper .cancel {
1209
- min-width: 107px;
1210
- margin-top: 20px;
1211
- background-color: white;
1212
- color: #F96B5C;
1213
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1155
+ .Modal > .content {
1156
+ left: 50%;
1157
+ top: 10vh;
1158
+ margin-bottom: 10vh;
1159
+ font-size: 16px;
1160
+ padding: 0;
1161
+ opacity: 0;
1162
+ transition: opacity 0.25s ease, transform 0.25s ease;
1163
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1164
+ transform-origin: top;
1165
+ position: absolute;
1166
+ border-radius: 2px;
1167
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1168
+ }
1169
+
1170
+ .Modal > .content.show {
1171
+ opacity: 1;
1172
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1173
+ }
1174
+
1175
+ .Modal > .content > .Scrollable {
1176
+ overflow: visible;
1177
+ max-height: 80vh;
1178
+ }
1179
+
1180
+ .Modal > .content > .Scrollable > .viewport {
1181
+ min-width: 10px;
1182
+ min-height: 10px;
1183
+ }
1184
+
1185
+ .Modal > .content > .Button.close {
1186
+ top: 10px;
1187
+ right: 10px;
1188
+ position: absolute;
1214
1189
  }
1215
1190
 
1216
1191
  .ModalMenu {
@@ -1250,74 +1225,197 @@
1250
1225
  margin-left: 4px;
1251
1226
  }
1252
1227
 
1253
- .Modal {
1254
- display: block;
1255
- position: fixed;
1256
- top: 0;
1257
- left: 0;
1258
- right: 0;
1259
- bottom: 100%;
1260
- overflow-y: scroll;
1261
- transition: bottom 0ms linear;
1262
- transition-delay: 0.2s;
1228
+ .Scrollable {
1229
+ max-height: 250px;
1230
+ max-width: 250px;
1231
+ padding-right: 5px;
1232
+ position: relative;
1233
+ display: flex;
1234
+ flex-flow: column;
1235
+ align-items: stretch;
1236
+ overflow: hidden;
1263
1237
  }
1264
1238
 
1265
- .Modal.show {
1239
+ .Scrollable:hover > .scrollbar.auto {
1266
1240
  transition-delay: 0s;
1241
+ opacity: 1;
1242
+ }
1243
+
1244
+ .Scrollable .viewport {
1245
+ overflow-y: scroll;
1246
+ overflow-x: scroll;
1247
+ max-height: 100%;
1248
+ scroll-behavior: smooth;
1249
+ scrollbar-width: none;
1250
+ }
1251
+
1252
+ .Scrollable .viewport::-webkit-scrollbar {
1253
+ display: none;
1254
+ }
1255
+
1256
+ .Scrollable.without-scroll-horizontal {
1257
+ max-width: unset;
1258
+ }
1259
+
1260
+ .Scrollable.without-scroll {
1261
+ padding-right: 0;
1262
+ max-height: unset;
1263
+ }
1264
+
1265
+ .Scrollable.without-scroll > .viewport {
1266
+ padding-right: 0;
1267
+ margin-right: 0;
1268
+ }
1269
+
1270
+ .Scrollable.without-scroll > .scrollbar {
1271
+ visibility: hidden;
1272
+ }
1273
+
1274
+ .Scrollable .scrollbar {
1275
+ position: absolute;
1276
+ right: 0px;
1277
+ top: 0px;
1278
+ width: 5px;
1279
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1280
+ transition-delay: 0.5s;
1281
+ z-index: 1;
1282
+ }
1283
+
1284
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1285
+ opacity: 0;
1286
+ }
1287
+
1288
+ .Scrollable .scrollbar .thumb {
1289
+ background-color: rgba(0, 0, 0, 0.3);
1290
+ width: 5px;
1291
+ position: absolute;
1292
+ right: 0px;
1293
+ top: 0px;
1294
+ user-select: none;
1295
+ will-change: top;
1296
+ border-radius: 2px;
1297
+ }
1298
+
1299
+ .Scrollable .scrollbar .thumb:hover {
1300
+ background-color: rgba(0, 0, 0, 0.5);
1301
+ }
1302
+
1303
+ .Scrollable .scrollbar .thumb:active {
1304
+ background-color: rgba(0, 0, 0, 0.7);
1305
+ }
1306
+
1307
+ .Scrollable .scrollbar.horizontal {
1308
+ left: 0px;
1309
+ right: 0px;
1310
+ height: 5px;
1267
1311
  bottom: 0;
1312
+ width: unset;
1313
+ top: unset;
1268
1314
  }
1269
1315
 
1270
- .Modal > .overlay {
1271
- position: fixed;
1316
+ .Scrollable .scrollbar.horizontal .thumb {
1317
+ height: 5px;
1318
+ left: 0px;
1319
+ bottom: 0px;
1320
+ will-change: left;
1321
+ }
1322
+
1323
+ .SpinningProgress {
1324
+ width: 48px;
1325
+ height: 48px;
1326
+ position: relative;
1327
+ margin: 0 auto;
1328
+ }
1329
+
1330
+ .SpinningProgress:before {
1331
+ content: "";
1332
+ display: block;
1333
+ padding-top: 100%;
1334
+ }
1335
+
1336
+ .SpinningProgress .circular {
1337
+ animation: rotate 2s linear infinite;
1338
+ height: 100%;
1339
+ transform-origin: center center;
1340
+ width: 100%;
1341
+ position: absolute;
1272
1342
  top: 0;
1273
- bottom: 100%;
1343
+ bottom: 0;
1274
1344
  left: 0;
1275
1345
  right: 0;
1276
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1277
- opacity: 0;
1278
- background-color: black;
1279
- pointer-events: none;
1346
+ margin: auto;
1280
1347
  }
1281
1348
 
1282
- .Modal > .overlay.show {
1283
- opacity: 0.5;
1284
- bottom: 0;
1349
+ .SpinningProgress .line {
1350
+ stroke: black;
1351
+ stroke-width: 2px;
1352
+ stroke-dasharray: 1, 96;
1353
+ stroke-dashoffset: 0;
1354
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1285
1355
  }
1286
1356
 
1287
- .Modal > .content {
1357
+ @keyframes rotate {
1358
+ 100% {
1359
+ transform: rotate(360deg);
1360
+ }
1361
+ }
1362
+ @keyframes dash {
1363
+ 0% {
1364
+ stroke-dasharray: 1, 96;
1365
+ stroke-dashoffset: 0;
1366
+ }
1367
+ 50% {
1368
+ stroke-dasharray: 43, 96;
1369
+ stroke-dashoffset: -17px;
1370
+ }
1371
+ 100% {
1372
+ stroke-dasharray: 43, 96;
1373
+ stroke-dashoffset: -53px;
1374
+ }
1375
+ }
1376
+ .Snackbar {
1377
+ transform: translateX(-50%);
1378
+ overflow: hidden;
1379
+ background-color: #323232;
1380
+ padding: 14px 24px 14px 24px;
1381
+ color: #fff;
1382
+ min-width: 288px;
1383
+ max-width: 568px;
1384
+ position: fixed;
1385
+ bottom: -50px;
1288
1386
  left: 50%;
1289
- top: 10vh;
1290
- margin-bottom: 10vh;
1291
- font-size: 16px;
1292
- padding: 0;
1387
+ display: flex;
1388
+ flex-wrap: nowrap;
1389
+ align-items: center;
1293
1390
  opacity: 0;
1294
- transition: opacity 0.25s ease, transform 0.25s ease;
1295
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1296
- transform-origin: top;
1297
- position: absolute;
1298
- border-radius: 2px;
1299
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1391
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1392
+ border-radius: 4px;
1393
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1300
1394
  }
1301
1395
 
1302
- .Modal > .content.show {
1396
+ .Snackbar.shown {
1397
+ bottom: 15px;
1303
1398
  opacity: 1;
1304
- transform: scaleY(1) translateY(0px) translateX(-50%);
1305
1399
  }
1306
1400
 
1307
- .Modal > .content > .Scrollable {
1308
- overflow: visible;
1309
- max-height: 80vh;
1401
+ .Snackbar .message {
1402
+ overflow: hidden;
1403
+ line-height: 1.2em;
1404
+ min-height: 1.2em;
1405
+ max-height: 2.4em;
1406
+ flex: 1;
1310
1407
  }
1311
1408
 
1312
- .Modal > .content > .Scrollable > .viewport {
1313
- min-width: 10px;
1314
- min-height: 10px;
1409
+ .Snackbar .action {
1410
+ text-transform: uppercase;
1411
+ font-weight: bold;
1412
+ margin-left: 48px;
1413
+ color: #bf3727;
1315
1414
  }
1316
1415
 
1317
- .Modal > .content > .Button.close {
1318
- top: 10px;
1319
- right: 10px;
1320
- position: absolute;
1416
+ .Snackbar .action a {
1417
+ text-decoration: none;
1418
+ color: #bf3727;
1321
1419
  }
1322
1420
 
1323
1421
  .Switch {
@@ -1402,6 +1500,24 @@
1402
1500
  display: none;
1403
1501
  }
1404
1502
 
1503
+ .DNDContainer .DroppableList .Draggable {
1504
+ transform: unset;
1505
+ transition: unset;
1506
+ opacity: 1;
1507
+ }
1508
+
1509
+ .DNDContainer .DroppableList .Draggable.dragged {
1510
+ transition: unset !important;
1511
+ }
1512
+
1513
+ .DNDContainer .DroppableList.hover .Draggable {
1514
+ transition: transform 0.2s ease-in;
1515
+ }
1516
+
1517
+ .DNDContainer .DroppableList.resetting .Draggable {
1518
+ transition: transform 0.1s ease-in;
1519
+ }
1520
+
1405
1521
  .TextField {
1406
1522
  position: relative;
1407
1523
  width: 100%;
@@ -1545,120 +1661,143 @@
1545
1661
  animation-name: shake;
1546
1662
  }
1547
1663
 
1548
- .Snackbar {
1549
- transform: translateX(-50%);
1550
- overflow: hidden;
1551
- background-color: #323232;
1552
- padding: 14px 24px 14px 24px;
1553
- color: #fff;
1554
- min-width: 288px;
1555
- max-width: 568px;
1556
- position: fixed;
1557
- bottom: -50px;
1558
- left: 50%;
1559
- display: flex;
1560
- flex-wrap: nowrap;
1561
- align-items: center;
1664
+ .DatePicker {
1665
+ position: relative;
1666
+ }
1667
+
1668
+ .DatePicker > .TextField {
1669
+ width: 200px;
1670
+ margin-bottom: 0px;
1671
+ }
1672
+
1673
+ .DatePicker > .TextField input {
1674
+ text-align: center;
1675
+ }
1676
+
1677
+ .DatePicker .calendar {
1678
+ user-select: none;
1679
+ position: absolute;
1680
+ top: 33px;
1681
+ z-index: 10;
1682
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
1683
+ transition: 0.2s all ease;
1562
1684
  opacity: 0;
1563
- transition: bottom 0.25s ease, opacity 0.2s ease;
1564
- border-radius: 4px;
1565
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1685
+ visibility: hidden;
1566
1686
  }
1567
1687
 
1568
- .Snackbar.shown {
1569
- bottom: 15px;
1688
+ .DatePicker .calendar.focused {
1570
1689
  opacity: 1;
1690
+ visibility: visible;
1571
1691
  }
1572
1692
 
1573
- .Snackbar .message {
1574
- overflow: hidden;
1575
- line-height: 1.2em;
1576
- min-height: 1.2em;
1577
- max-height: 2.4em;
1578
- flex: 1;
1693
+ .DatePicker .monthSelect {
1694
+ margin-bottom: 0;
1695
+ background: white;
1696
+ font-size: 12px;
1697
+ color: #aaaaaa;
1698
+ padding-right: 16px;
1699
+ padding-left: 16px;
1700
+ height: 40px;
1579
1701
  }
1580
1702
 
1581
- .Snackbar .action {
1582
- text-transform: uppercase;
1703
+ .DatePicker .monthSelect span {
1704
+ margin-right: auto;
1705
+ }
1706
+
1707
+ .DatePicker .monthSelect .Button {
1708
+ min-width: 25px;
1709
+ min-height: 25px;
1710
+ }
1711
+
1712
+ .DatePicker .monthSelect .Button .material-icons {
1713
+ font-size: 16px;
1714
+ }
1715
+
1716
+ .DatePicker .monthSelect .Button.disabled {
1717
+ background: transparent;
1718
+ }
1719
+
1720
+ .DatePicker .CalendarMonthView {
1721
+ background: white;
1722
+ }
1723
+
1724
+ .DatePicker .CalendarMonthView .headers, .DatePicker .CalendarMonthView .days {
1725
+ margin-bottom: 0;
1726
+ }
1727
+
1728
+ .DatePicker .CalendarMonthView .header {
1729
+ font-size: 12px;
1583
1730
  font-weight: bold;
1584
- margin-left: 48px;
1585
- color: #bf3727;
1731
+ text-align: center;
1732
+ text-transform: uppercase;
1733
+ margin: 5px;
1586
1734
  }
1587
1735
 
1588
- .Snackbar .action a {
1589
- text-decoration: none;
1590
- color: #bf3727;
1736
+ .DatePicker .CalendarMonthView .day {
1737
+ font-size: 10px;
1591
1738
  }
1592
1739
 
1593
- .SpinningProgress {
1594
- width: 48px;
1595
- height: 48px;
1596
- position: relative;
1597
- margin: 0 auto;
1740
+ .DatePicker .CalendarMonthView .day.notSelectedMonth {
1741
+ color: #969696;
1598
1742
  }
1599
1743
 
1600
- .SpinningProgress:before {
1601
- content: "";
1602
- display: block;
1603
- padding-top: 100%;
1744
+ .DatePicker .CalendarMonthView .day span {
1745
+ display: inline-flex;
1746
+ justify-content: center;
1747
+ align-items: center;
1748
+ border-radius: 50%;
1749
+ width: 25px;
1750
+ height: 25px;
1751
+ margin: 5px;
1752
+ transition: 0.2s all ease;
1753
+ cursor: pointer;
1604
1754
  }
1605
1755
 
1606
- .SpinningProgress .circular {
1607
- animation: rotate 2s linear infinite;
1608
- height: 100%;
1609
- transform-origin: center center;
1610
- width: 100%;
1611
- position: absolute;
1612
- top: 0;
1613
- bottom: 0;
1614
- left: 0;
1615
- right: 0;
1616
- margin: auto;
1756
+ .DatePicker .CalendarMonthView .day span:hover {
1757
+ background-color: #e6e6e6;
1617
1758
  }
1618
1759
 
1619
- .SpinningProgress .line {
1620
- stroke: black;
1621
- stroke-width: 2px;
1622
- stroke-dasharray: 1, 96;
1623
- stroke-dashoffset: 0;
1624
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1760
+ .DatePicker .CalendarMonthView .day span.inactive {
1761
+ color: lightgray;
1762
+ cursor: unset;
1625
1763
  }
1626
1764
 
1627
- @keyframes rotate {
1628
- 100% {
1629
- transform: rotate(360deg);
1630
- }
1765
+ .DatePicker .CalendarMonthView .day span.inactive:hover {
1766
+ background: unset;
1631
1767
  }
1632
- @keyframes dash {
1633
- 0% {
1634
- stroke-dasharray: 1, 96;
1635
- stroke-dashoffset: 0;
1636
- }
1637
- 50% {
1638
- stroke-dasharray: 43, 96;
1639
- stroke-dashoffset: -17px;
1640
- }
1641
- 100% {
1642
- stroke-dasharray: 43, 96;
1643
- stroke-dashoffset: -53px;
1644
- }
1768
+
1769
+ .DatePicker .CalendarMonthView .day span.selected {
1770
+ color: white;
1771
+ background-color: #2196F3;
1645
1772
  }
1646
- .DNDContainer .DroppableList .Draggable {
1647
- transform: unset;
1648
- transition: unset;
1649
- opacity: 1;
1773
+
1774
+ .DatePicker .CalendarMonthView .day span.selected:hover {
1775
+ background-color: #51adf6;
1650
1776
  }
1651
1777
 
1652
- .DNDContainer .DroppableList .Draggable.dragged {
1653
- transition: unset !important;
1778
+ .CalendarMonthView {
1779
+ display: flex;
1780
+ flex-flow: column nowrap;
1781
+ height: 100%;
1654
1782
  }
1655
1783
 
1656
- .DNDContainer .DroppableList.hover .Draggable {
1657
- transition: transform 0.2s ease-in;
1784
+ .CalendarMonthView > .row {
1785
+ display: flex;
1786
+ flex-flow: row nowrap;
1658
1787
  }
1659
1788
 
1660
- .DNDContainer .DroppableList.resetting .Draggable {
1661
- transition: transform 0.1s ease-in;
1789
+ .CalendarMonthView .days {
1790
+ flex-grow: 1;
1791
+ position: relative;
1792
+ }
1793
+
1794
+ .CalendarMonthView .day, .CalendarMonthView .header {
1795
+ flex-grow: 1;
1796
+ flex-basis: 1px;
1797
+ }
1798
+
1799
+ .CalendarMonthView .day {
1800
+ height: 100%;
1662
1801
  }
1663
1802
 
1664
1803
  .Table {