react-ui-basics 0.0.159 → 0.0.162

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 (83) hide show
  1. package/Animated.js +11 -10
  2. package/AutocompleteSelect.js +76 -77
  3. package/Button.js +24 -25
  4. package/Checkbox.js +10 -11
  5. package/CircleProgress.js +5 -6
  6. package/CommonFields.js +23 -16
  7. package/DNDContainer.js +47 -48
  8. package/DNDDraggable.js +9 -10
  9. package/DNDDroppable.js +8 -9
  10. package/Dialog.js +18 -19
  11. package/DropFileInput.js +4 -5
  12. package/DroppableHorizontalList.js +26 -27
  13. package/DroppableList.js +26 -27
  14. package/Dropzone.js +19 -20
  15. package/FilteredList.js +43 -44
  16. package/FloatingActionButton.js +6 -7
  17. package/FormUploadProgress.js +9 -10
  18. package/ImageGallery.js +125 -126
  19. package/MaterialIcon.js +5 -6
  20. package/Modal.js +19 -20
  21. package/ModalMenu.js +12 -13
  22. package/ReactConstants.d.ts +5 -4
  23. package/ReactConstants.js +6 -3
  24. package/ReactCreateElement.js +2 -1
  25. package/ReadyListener.js +10 -11
  26. package/Scrollable.js +52 -53
  27. package/ScrollableTable.js +4 -5
  28. package/Size.js +5 -6
  29. package/Snackbar.js +7 -8
  30. package/SpinningProgress.js +5 -6
  31. package/Switch.js +20 -21
  32. package/Table.d.ts +0 -1
  33. package/Table.js +50 -57
  34. package/TextField.js +24 -25
  35. package/Tools.d.ts +1 -0
  36. package/Tools.js +14 -13
  37. package/_virtual/_commonjsHelpers.js +2 -1
  38. package/_virtual/_react.js +2 -1
  39. package/_virtual/react-jsx-runtime.development.js +2 -1
  40. package/bundle.css +784 -784
  41. package/index.js +8 -7
  42. package/package.json +1 -1
  43. package/router/HistoryTools.js +2 -1
  44. package/router/Link.js +6 -7
  45. package/router/NavLink.js +5 -6
  46. package/router/Route.js +15 -16
  47. package/router/index.js +2 -3
  48. package/store/ProxyTools.js +2 -3
  49. package/store/Store.js +2 -3
  50. package/Animated.js.map +0 -1
  51. package/AutocompleteSelect.js.map +0 -1
  52. package/Button.js.map +0 -1
  53. package/Checkbox.js.map +0 -1
  54. package/CircleProgress.js.map +0 -1
  55. package/CommonFields.js.map +0 -1
  56. package/DNDContainer.js.map +0 -1
  57. package/DNDDraggable.js.map +0 -1
  58. package/DNDDroppable.js.map +0 -1
  59. package/Dialog.js.map +0 -1
  60. package/DropFileInput.js.map +0 -1
  61. package/DroppableHorizontalList.js.map +0 -1
  62. package/DroppableList.js.map +0 -1
  63. package/Dropzone.js.map +0 -1
  64. package/FilteredList.js.map +0 -1
  65. package/FloatingActionButton.js.map +0 -1
  66. package/FormUploadProgress.js.map +0 -1
  67. package/ImageGallery.js.map +0 -1
  68. package/MaterialIcon.js.map +0 -1
  69. package/Modal.js.map +0 -1
  70. package/ModalMenu.js.map +0 -1
  71. package/ReactConstants.js.map +0 -1
  72. package/ReactCreateElement.js.map +0 -1
  73. package/ReadyListener.js.map +0 -1
  74. package/Scrollable.js.map +0 -1
  75. package/ScrollableTable.js.map +0 -1
  76. package/Size.js.map +0 -1
  77. package/Snackbar.js.map +0 -1
  78. package/SpinningProgress.js.map +0 -1
  79. package/Switch.js.map +0 -1
  80. package/Table.js.map +0 -1
  81. package/TextField.js.map +0 -1
  82. package/Tools.js.map +0 -1
  83. package/index.js.map +0 -1
package/bundle.css CHANGED
@@ -1,248 +1,3 @@
1
- .CircleProgress {
2
- width: 48px;
3
- height: 48px;
4
- }
5
-
6
- .CircleProgress .line {
7
- stroke-width: 2px;
8
- stroke: black;
9
- stroke-linecap: square;
10
- fill: none;
11
- transition: stroke-dashoffset 0.2s ease;
12
- }
13
-
14
- .Button {
15
- position: relative;
16
- min-width: 64px;
17
- min-height: 36px;
18
- height: 24px;
19
- margin: 0px;
20
- padding: 0px 16px;
21
- border: none;
22
- outline: none;
23
- font-size: 14px;
24
- font-weight: 500;
25
- letter-spacing: 1.25px;
26
- background: #dfdfdf;
27
- text-transform: uppercase;
28
- font-family: Roboto, sans-serif;
29
- display: inline-flex;
30
- justify-content: center;
31
- align-items: center;
32
- cursor: pointer;
33
- overflow: hidden;
34
- user-select: none;
35
- border-radius: 3px;
36
- transition: all 0.2s ease;
37
- }
38
-
39
- .Button.flat {
40
- background-color: transparent;
41
- }
42
-
43
- .Button.flat:hover {
44
- background-color: rgba(0, 0, 0, 0.05);
45
- }
46
-
47
- .Button.green {
48
- background-color: #43a047;
49
- color: white;
50
- }
51
-
52
- .Button.green:hover {
53
- background-color: #3b8e3f;
54
- }
55
-
56
- .Button.blue {
57
- background-color: #039be5;
58
- color: white;
59
- }
60
-
61
- .Button.blue:hover {
62
- background-color: #038acc;
63
- }
64
-
65
- .Button.red {
66
- background-color: #e53935;
67
- color: white;
68
- }
69
-
70
- .Button.red:hover {
71
- background-color: #e2231e;
72
- }
73
-
74
- .Button.black {
75
- background-color: #1e252d;
76
- color: white;
77
- }
78
-
79
- .Button.black:hover {
80
- background-color: #14181e;
81
- }
82
-
83
- .Button.gray {
84
- background: #D9D9D9;
85
- color: #999999;
86
- }
87
-
88
- .Button.gray:hover {
89
- background-color: #cccccc;
90
- }
91
-
92
- .Button.small {
93
- padding: 0px 8px;
94
- min-height: 16px;
95
- min-width: 16px;
96
- }
97
-
98
- .Button > .material-icons {
99
- margin-right: 10px;
100
- }
101
-
102
- .Button.round {
103
- padding: 0px;
104
- min-width: 36px;
105
- border-radius: 50%;
106
- }
107
-
108
- .Button.round > .material-icons {
109
- margin: 0px;
110
- }
111
-
112
- .Button .ripple {
113
- position: absolute;
114
- background: rgba(0, 0, 0, 0.1);
115
- border-radius: 100%;
116
- transform: scale(0);
117
- pointer-events: none;
118
- transition: opacity 0.2s ease-out;
119
- }
120
-
121
- .Button .ripple.show {
122
- animation: ripple 0.35s ease-out;
123
- }
124
-
125
- .Button:active .ripple.showed {
126
- opacity: 1;
127
- }
128
-
129
- .Button:focus .ripple.focused {
130
- opacity: 1;
131
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
132
- transform: scale(1);
133
- animation: resize 1.25s ease-out infinite;
134
- animation-delay: 0.2s;
135
- animation-direction: alternate;
136
- }
137
-
138
- .Button .ripple.showed {
139
- transform: scale(2);
140
- opacity: 0;
141
- }
142
-
143
- @keyframes ripple {
144
- to {
145
- transform: scale(2);
146
- }
147
- }
148
- @keyframes resize {
149
- to {
150
- transform: scale(0.9);
151
- }
152
- }
153
- .Button.raised {
154
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
155
- }
156
-
157
- .Button.raised:hover {
158
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
159
- }
160
-
161
- .Button.raised:active {
162
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
163
- }
164
-
165
- .Button.disabled {
166
- box-shadow: none;
167
- background: #D9D9D9;
168
- color: #999999;
169
- }
170
-
171
- .Button.disabled:hover {
172
- background-color: #cccccc;
173
- }
174
-
175
- .Button::-moz-focus-inner {
176
- border: 0;
177
- }
178
-
179
- .Checkbox {
180
- position: relative;
181
- white-space: pre;
182
- }
183
-
184
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
185
- box-sizing: border-box;
186
- }
187
-
188
- .Checkbox label {
189
- font-family: Roboto, sans-serif;
190
- font-size: 14px;
191
- color: #1e252d;
192
- cursor: pointer;
193
- }
194
-
195
- .Checkbox label:before, .Checkbox label:after {
196
- content: "";
197
- position: absolute;
198
- left: 0;
199
- top: 0;
200
- }
201
-
202
- .Checkbox label:before {
203
- width: 20px;
204
- height: 20px;
205
- background: #fff;
206
- border: 2px solid #252525;
207
- border-radius: 2px;
208
- cursor: pointer;
209
- transition: background 0.3s;
210
- }
211
-
212
- .Checkbox input[type=checkbox] {
213
- outline: 0;
214
- margin-right: 10px;
215
- visibility: hidden;
216
- }
217
-
218
- .Checkbox input[type=checkbox]:checked + label:before {
219
- background: #4AC263;
220
- border: none;
221
- }
222
-
223
- .Checkbox input[type=checkbox]:checked + label:after {
224
- transform: rotate(-45deg);
225
- top: 6px;
226
- left: 4px;
227
- width: 12px;
228
- height: 6px;
229
- border: 2px solid #fff;
230
- border-top-style: none;
231
- border-right-style: none;
232
- }
233
-
234
- .Checkbox input[type=checkbox]:disabled + label {
235
- color: gray;
236
- }
237
-
238
- .Checkbox input[type=checkbox]:disabled + label:before {
239
- border-color: rgba(0, 0, 0, 0.26);
240
- }
241
-
242
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
243
- background: rgba(0, 0, 0, 0.26);
244
- }
245
-
246
1
  .AutocompleteSelect {
247
2
  display: inline-flex;
248
3
  flex-flow: column;
@@ -538,16 +293,105 @@
538
293
  position: absolute;
539
294
  }
540
295
 
541
- .DNDContainer {
542
- position: relative;
296
+ .animated {
297
+ transition: opacity 250ms ease;
298
+ opacity: 0;
543
299
  }
544
300
 
545
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
546
- cursor: pointer;
301
+ .animated.mounting, .animated.mounted {
302
+ opacity: 1;
547
303
  }
548
304
 
549
- .DNDContainer .Draggable.placeholder {
550
- opacity: 0.2;
305
+ .Checkbox {
306
+ position: relative;
307
+ white-space: pre;
308
+ }
309
+
310
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
311
+ box-sizing: border-box;
312
+ }
313
+
314
+ .Checkbox label {
315
+ font-family: Roboto, sans-serif;
316
+ font-size: 14px;
317
+ color: #1e252d;
318
+ cursor: pointer;
319
+ }
320
+
321
+ .Checkbox label:before, .Checkbox label:after {
322
+ content: "";
323
+ position: absolute;
324
+ left: 0;
325
+ top: 0;
326
+ }
327
+
328
+ .Checkbox label:before {
329
+ width: 20px;
330
+ height: 20px;
331
+ background: #fff;
332
+ border: 2px solid #252525;
333
+ border-radius: 2px;
334
+ cursor: pointer;
335
+ transition: background 0.3s;
336
+ }
337
+
338
+ .Checkbox input[type=checkbox] {
339
+ outline: 0;
340
+ margin-right: 10px;
341
+ visibility: hidden;
342
+ }
343
+
344
+ .Checkbox input[type=checkbox]:checked + label:before {
345
+ background: #4AC263;
346
+ border: none;
347
+ }
348
+
349
+ .Checkbox input[type=checkbox]:checked + label:after {
350
+ transform: rotate(-45deg);
351
+ top: 6px;
352
+ left: 4px;
353
+ width: 12px;
354
+ height: 6px;
355
+ border: 2px solid #fff;
356
+ border-top-style: none;
357
+ border-right-style: none;
358
+ }
359
+
360
+ .Checkbox input[type=checkbox]:disabled + label {
361
+ color: gray;
362
+ }
363
+
364
+ .Checkbox input[type=checkbox]:disabled + label:before {
365
+ border-color: rgba(0, 0, 0, 0.26);
366
+ }
367
+
368
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
369
+ background: rgba(0, 0, 0, 0.26);
370
+ }
371
+
372
+ .CircleProgress {
373
+ width: 48px;
374
+ height: 48px;
375
+ }
376
+
377
+ .CircleProgress .line {
378
+ stroke-width: 2px;
379
+ stroke: black;
380
+ stroke-linecap: square;
381
+ fill: none;
382
+ transition: stroke-dashoffset 0.2s ease;
383
+ }
384
+
385
+ .DNDContainer {
386
+ position: relative;
387
+ }
388
+
389
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
390
+ cursor: pointer;
391
+ }
392
+
393
+ .DNDContainer .Draggable.placeholder {
394
+ opacity: 0.2;
551
395
  }
552
396
 
553
397
  .DNDContainer .Draggable.copy {
@@ -612,154 +456,239 @@
612
456
  margin-bottom: 0;
613
457
  }
614
458
 
615
- .animated {
616
- transition: opacity 250ms ease;
617
- opacity: 0;
618
- }
619
-
620
- .animated.mounting, .animated.mounted {
621
- opacity: 1;
459
+ .ImageGallery {
460
+ position: fixed;
461
+ top: 0;
462
+ left: 0;
463
+ bottom: 0;
464
+ right: 0;
465
+ z-index: 1000;
466
+ background-color: rgba(0, 0, 0, 0.01);
467
+ user-select: none;
622
468
  }
623
469
 
624
- .FilteredList {
625
- max-height: 250px;
626
- position: relative;
470
+ .ImageGallery:focus {
471
+ outline-width: 0px;
627
472
  }
628
473
 
629
- .FilteredList.popup {
630
- padding: 0;
631
- visibility: hidden;
632
- position: absolute;
633
- background: white;
634
- z-index: 4;
635
- 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);
636
- transition: all 0.2s ease-out;
637
- top: calc(100% + 4px);
638
- opacity: 0;
639
- border-radius: 2px;
474
+ .ImageGallery.animated {
475
+ transition: background-color 0.25s ease;
476
+ opacity: 1;
640
477
  }
641
478
 
642
- .FilteredList.popup.visible {
643
- opacity: 1;
644
- visibility: visible;
479
+ .ImageGallery.mounting, .ImageGallery.mounted {
480
+ background-color: rgba(0, 0, 0, 0.8);
645
481
  }
646
482
 
647
- .FilteredList.inline {
648
- max-height: 225px;
649
- margin-top: 5px;
483
+ .ImageGallery .image {
484
+ position: absolute;
485
+ cursor: grab;
650
486
  }
651
487
 
652
- .FilteredList .child {
653
- display: flex;
654
- flex-flow: row nowrap;
655
- align-items: center;
656
- white-space: nowrap;
657
- font-size: 14px;
658
- color: #222222;
659
- height: 30px;
660
- padding: 5px 10px;
661
- padding-right: 15px;
662
- cursor: pointer;
663
- overflow: hidden;
664
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
665
- border-left: 5px solid #4AC263;
666
- padding-left: 15px;
667
- margin-left: -5px;
488
+ .ImageGallery .image .counter {
489
+ display: none;
668
490
  }
669
491
 
670
- .FilteredList .child.hidden {
671
- height: 0 !important;
672
- padding: 0 !important;
492
+ .ImageGallery .image img {
493
+ border-radius: 4px;
494
+ max-width: 100%;
495
+ min-width: 100%;
673
496
  }
674
497
 
675
- .FilteredList .child.selected {
676
- background-color: #F0F0F0;
677
- padding-left: 10px;
678
- margin-left: 0px;
498
+ .ImageGallery .image.animated {
499
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
500
+ will-change: top, left, width, height, opacity;
679
501
  }
680
502
 
681
- .FilteredList .child.active {
682
- background-color: #eeeeee;
503
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
504
+ opacity: 1;
683
505
  }
684
506
 
685
- .FilteredList .child {
686
- margin-top: 8px;
507
+ .ImageGallery .image.zoomed {
508
+ text-align: center;
509
+ overflow: hidden;
687
510
  }
688
511
 
689
- .FilteredList .child.hidden {
690
- margin-top: 0;
512
+ .ImageGallery .image.dragging {
513
+ transition: none;
514
+ cursor: move;
691
515
  }
692
516
 
693
- .FilteredList .child:not(.hidden) ~ .child {
694
- margin-top: 0;
517
+ .ImageGallery .image .close {
518
+ position: absolute;
519
+ top: -18px;
520
+ right: -18px;
695
521
  }
696
522
 
697
- .FilteredList .child:not(.hidden) ~ .child:last-child {
698
- margin-bottom: 8px;
523
+ .ImageGallery .image .spinner {
524
+ position: absolute;
525
+ top: 0;
526
+ bottom: 0;
527
+ left: 0;
528
+ right: 0;
529
+ background: rgba(0, 0, 0, 0.65);
699
530
  }
700
531
 
701
- .FilteredList .child:not(.hidden):last-child {
702
- margin-bottom: 8px;
532
+ .ImageGallery .image .spinner .SpinningProgress {
533
+ position: absolute;
534
+ top: 50%;
535
+ left: 50%;
536
+ margin-left: -24px;
537
+ margin-top: -24px;
703
538
  }
704
539
 
705
- .Dropzone {
706
- position: relative;
540
+ .ImageGallery .image .spinner .SpinningProgress .line {
541
+ stroke: #2196F3;
707
542
  }
708
543
 
709
- .Dropzone > .overlay {
710
- position: absolute;
711
- left: 0;
712
- right: 0;
713
- top: 0;
714
- bottom: 0;
715
- background-color: #38ADC4;
716
- z-index: 1;
544
+ .ImageGallery .Button.animated {
545
+ transition: all 0.25s ease;
717
546
  opacity: 0;
718
- transition: all 0.2s ease;
719
- transition-delay: 100ms;
720
- visibility: hidden;
721
- display: flex;
722
- justify-content: center;
723
- align-items: center;
547
+ transform: scale(0);
724
548
  }
725
549
 
726
- .Dropzone > .overlay .drop {
727
- border-radius: 4px;
728
- border: 1px dashed #FFFFFF;
729
- position: absolute;
730
- top: 18px;
731
- left: 18px;
732
- right: 18px;
733
- bottom: 18px;
734
- display: flex;
735
- justify-content: center;
736
- align-items: center;
737
- font-weight: 500;
738
- font-size: 18px;
739
- color: #FFFFFF;
550
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
551
+ opacity: 1;
552
+ transform: scale(1);
740
553
  }
741
554
 
742
- .Dropzone.dragging > .overlay {
743
- opacity: 0.7;
744
- visibility: visible;
745
- transition-delay: 0s;
555
+ .ImageGallery .Button {
556
+ color: white;
557
+ background: rgba(0, 0, 0, 0.4);
746
558
  }
747
559
 
748
- .Dropzone.dragging > * {
749
- pointer-events: none;
560
+ .ImageGallery .Button:hover {
561
+ background: rgba(0, 0, 0, 0.7);
750
562
  }
751
563
 
752
- .Dropzone > input.file {
564
+ .ImageGallery > .arrow {
565
+ position: absolute;
566
+ top: 50%;
567
+ height: 76px;
568
+ width: 76px;
569
+ margin-top: -38px;
570
+ }
571
+
572
+ .ImageGallery > .arrow.left {
573
+ left: 5%;
574
+ }
575
+
576
+ .ImageGallery > .arrow.right {
577
+ right: 5%;
578
+ }
579
+
580
+ .ImageGallery > .arrow .material-icons {
581
+ font-size: 40px;
582
+ }
583
+
584
+ .ImageGallery .counter {
585
+ position: absolute;
586
+ top: 10px;
587
+ left: 10px;
588
+ color: white;
589
+ font-size: 13px;
590
+ }
591
+
592
+ .ImageGallery .previews {
593
+ height: 80px;
594
+ position: absolute;
595
+ bottom: 15px;
596
+ left: 50%;
597
+ transform: translateX(-50%);
598
+ padding: 0 45px;
599
+ }
600
+
601
+ .ImageGallery .previews .viewport {
602
+ overflow: hidden;
603
+ position: relative;
604
+ height: 100%;
605
+ }
606
+
607
+ .ImageGallery .previews .container {
608
+ position: relative;
609
+ display: flex;
610
+ flex-flow: row nowrap;
611
+ height: 100%;
612
+ transition: left 0.25s ease;
613
+ }
614
+
615
+ .ImageGallery .previews .preview {
616
+ position: relative;
617
+ height: 100%;
618
+ display: inline-block;
619
+ width: 106.66px;
620
+ overflow: hidden;
621
+ margin-left: 12px;
622
+ border-radius: 2px;
623
+ cursor: pointer;
624
+ box-sizing: border-box;
625
+ }
626
+
627
+ .ImageGallery .previews .preview:first-child {
628
+ margin-left: 0;
629
+ }
630
+
631
+ .ImageGallery .previews .preview > .border {
632
+ position: absolute;
633
+ bottom: 0;
634
+ width: 100%;
635
+ height: 3px;
636
+ }
637
+
638
+ .ImageGallery .previews .preview > .border .line {
639
+ left: 50%;
640
+ width: 0;
641
+ height: 3px;
642
+ min-height: 3px;
643
+ background-color: #4AC263;
644
+ transition: all 0.2s ease;
645
+ position: absolute;
646
+ }
647
+
648
+ .ImageGallery .previews .preview:after {
649
+ content: "";
753
650
  position: absolute;
754
- left: 0;
755
- right: 0;
756
651
  top: 0;
652
+ right: 0;
757
653
  bottom: 0;
654
+ left: 0;
655
+ background: rgba(0, 0, 0, 0.35);
656
+ transition: background 0.2s ease;
657
+ }
658
+
659
+ .ImageGallery .previews .preview:hover:after {
660
+ background: rgba(0, 0, 0, 0.1);
661
+ }
662
+
663
+ .ImageGallery .previews .preview.selected .border .line {
664
+ left: 0;
758
665
  width: 100%;
759
- height: 100%;
760
- opacity: 0;
761
- cursor: pointer;
762
- z-index: 1;
666
+ }
667
+
668
+ .ImageGallery .previews .preview.selected:after {
669
+ background: rgba(0, 0, 0, 0);
670
+ }
671
+
672
+ .ImageGallery .previews > .arrow {
673
+ position: absolute;
674
+ top: 50%;
675
+ height: 30px;
676
+ width: 30px;
677
+ min-width: 30px;
678
+ min-height: 30px;
679
+ margin-top: -15px;
680
+ }
681
+
682
+ .ImageGallery .previews > .arrow.left {
683
+ left: 0;
684
+ }
685
+
686
+ .ImageGallery .previews > .arrow.right {
687
+ right: 0;
688
+ }
689
+
690
+ .ImageGallery .previews > .arrow .material-icons {
691
+ font-size: 24px;
763
692
  }
764
693
 
765
694
  .FormUploadProgress {
@@ -858,123 +787,310 @@
858
787
  margin-right: 10px;
859
788
  }
860
789
 
861
- .ModalMenu {
862
- position: absolute;
863
- top: 10px;
864
- right: 50px;
790
+ .Button {
791
+ position: relative;
792
+ min-width: 64px;
793
+ min-height: 36px;
794
+ height: 24px;
795
+ margin: 0px;
796
+ padding: 0px 16px;
797
+ border: none;
798
+ outline: none;
799
+ font-size: 14px;
800
+ font-weight: 500;
801
+ letter-spacing: 1.25px;
802
+ background: #dfdfdf;
803
+ text-transform: uppercase;
804
+ font-family: Roboto, sans-serif;
805
+ display: inline-flex;
806
+ justify-content: center;
807
+ align-items: center;
808
+ cursor: pointer;
809
+ overflow: hidden;
810
+ user-select: none;
811
+ border-radius: 3px;
812
+ transition: all 0.2s ease;
865
813
  }
866
814
 
867
- .ModalMenu .material-icons {
868
- color: #818181;
815
+ .Button.flat {
816
+ background-color: transparent;
869
817
  }
870
818
 
871
- .ModalMenu .Button.animated {
872
- position: absolute;
873
- transition: opacity 150ms ease-in, right 200ms ease-in;
874
- opacity: 0;
875
- right: 0;
876
- top: 0;
819
+ .Button.flat:hover {
820
+ background-color: rgba(0, 0, 0, 0.05);
877
821
  }
878
822
 
879
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
880
- opacity: 1;
823
+ .Button.green {
824
+ background-color: #43a047;
825
+ color: white;
881
826
  }
882
827
 
883
- .ModalMenu .Button.animated.unmounting {
884
- transition: opacity 100ms ease-out, right 200ms ease-out;
828
+ .Button.green:hover {
829
+ background-color: #3b8e3f;
885
830
  }
886
831
 
887
- .ModalMenu .Button.active {
888
- background: #EBEBEB;
832
+ .Button.blue {
833
+ background-color: #039be5;
834
+ color: white;
889
835
  }
890
836
 
891
- .ModalMenu .separator {
892
- height: 24px;
893
- width: 1px;
894
- background-color: #D9D9D9;
895
- margin-left: 4px;
837
+ .Button.blue:hover {
838
+ background-color: #038acc;
896
839
  }
897
840
 
898
- .Switch {
899
- display: inline-flex;
900
- padding-top: 5px;
841
+ .Button.red {
842
+ background-color: #e53935;
843
+ color: white;
901
844
  }
902
845
 
903
- .Switch .switch-input {
904
- display: none;
846
+ .Button.red:hover {
847
+ background-color: #e2231e;
905
848
  }
906
849
 
907
- .Switch .switch-label {
908
- position: relative;
909
- display: inline-flex;
910
- align-items: center;
911
- min-width: 38px;
912
- height: 24px;
913
- cursor: pointer;
914
- font-weight: 500;
915
- text-align: left;
916
- user-select: none;
917
- margin: 0;
918
- padding: 0;
919
- padding-left: 44px;
920
- box-sizing: border-box;
850
+ .Button.black {
851
+ background-color: #1e252d;
852
+ color: white;
921
853
  }
922
854
 
923
- .Switch .switch-label:before, .Switch .switch-label:after {
924
- content: "";
925
- box-sizing: border-box;
926
- position: absolute;
927
- margin: 0;
928
- outline: 0;
929
- top: 50%;
930
- transform: translate(0, -50%);
931
- transition: all 0.3s ease;
855
+ .Button.black:hover {
856
+ background-color: #14181e;
932
857
  }
933
858
 
934
- .Switch .switch-label:before {
935
- left: 1px;
936
- width: 34px;
937
- height: 14px;
938
- background-color: #9E9E9E;
939
- border-radius: 8px;
859
+ .Button.gray {
860
+ background: #D9D9D9;
861
+ color: #999999;
940
862
  }
941
863
 
942
- .Switch .switch-label:after {
943
- left: 0;
944
- width: 20px;
945
- height: 20px;
946
- background-color: #FAFAFA;
947
- border-radius: 50%;
948
- 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);
864
+ .Button.gray:hover {
865
+ background-color: #cccccc;
949
866
  }
950
867
 
951
- .Switch .switch-label .toggle--on {
952
- display: none;
868
+ .Button.small {
869
+ padding: 0px 8px;
870
+ min-height: 16px;
871
+ min-width: 16px;
953
872
  }
954
873
 
955
- .Switch .switch-label .toggle--off {
956
- display: inline-block;
874
+ .Button > .material-icons {
875
+ margin-right: 10px;
957
876
  }
958
877
 
959
- .Switch .switch-label .label {
960
- margin-right: 5px;
878
+ .Button.round {
879
+ padding: 0px;
880
+ min-width: 36px;
881
+ border-radius: 50%;
961
882
  }
962
883
 
963
- .Switch .switch-input:checked + .switch-label:before {
964
- background-color: #A5D6A7;
884
+ .Button.round > .material-icons {
885
+ margin: 0px;
965
886
  }
966
887
 
967
- .Switch .switch-input:checked + .switch-label:after {
968
- background-color: #4CAF50;
969
- transform: translate(80%, -50%);
888
+ .Button .ripple {
889
+ position: absolute;
890
+ background: rgba(0, 0, 0, 0.1);
891
+ border-radius: 100%;
892
+ transform: scale(0);
893
+ pointer-events: none;
894
+ transition: opacity 0.2s ease-out;
970
895
  }
971
896
 
972
- .Switch .switch-input:checked + .switch-label .toggle--on {
973
- display: inline-block;
897
+ .Button .ripple.show {
898
+ animation: ripple 0.35s ease-out;
974
899
  }
975
900
 
976
- .Switch .switch-input:checked + .switch-label .toggle--off {
977
- display: none;
901
+ .Button:active .ripple.showed {
902
+ opacity: 1;
903
+ }
904
+
905
+ .Button:focus .ripple.focused {
906
+ opacity: 1;
907
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
908
+ transform: scale(1);
909
+ animation: resize 1.25s ease-out infinite;
910
+ animation-delay: 0.2s;
911
+ animation-direction: alternate;
912
+ }
913
+
914
+ .Button .ripple.showed {
915
+ transform: scale(2);
916
+ opacity: 0;
917
+ }
918
+
919
+ @keyframes ripple {
920
+ to {
921
+ transform: scale(2);
922
+ }
923
+ }
924
+ @keyframes resize {
925
+ to {
926
+ transform: scale(0.9);
927
+ }
928
+ }
929
+ .Button.raised {
930
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
931
+ }
932
+
933
+ .Button.raised:hover {
934
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
935
+ }
936
+
937
+ .Button.raised:active {
938
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
939
+ }
940
+
941
+ .Button.disabled {
942
+ box-shadow: none;
943
+ background: #D9D9D9;
944
+ color: #999999;
945
+ }
946
+
947
+ .Button.disabled:hover {
948
+ background-color: #cccccc;
949
+ }
950
+
951
+ .Button::-moz-focus-inner {
952
+ border: 0;
953
+ }
954
+
955
+ .Dropzone {
956
+ position: relative;
957
+ }
958
+
959
+ .Dropzone > .overlay {
960
+ position: absolute;
961
+ left: 0;
962
+ right: 0;
963
+ top: 0;
964
+ bottom: 0;
965
+ background-color: #38ADC4;
966
+ z-index: 1;
967
+ opacity: 0;
968
+ transition: all 0.2s ease;
969
+ transition-delay: 100ms;
970
+ visibility: hidden;
971
+ display: flex;
972
+ justify-content: center;
973
+ align-items: center;
974
+ }
975
+
976
+ .Dropzone > .overlay .drop {
977
+ border-radius: 4px;
978
+ border: 1px dashed #FFFFFF;
979
+ position: absolute;
980
+ top: 18px;
981
+ left: 18px;
982
+ right: 18px;
983
+ bottom: 18px;
984
+ display: flex;
985
+ justify-content: center;
986
+ align-items: center;
987
+ font-weight: 500;
988
+ font-size: 18px;
989
+ color: #FFFFFF;
990
+ }
991
+
992
+ .Dropzone.dragging > .overlay {
993
+ opacity: 0.7;
994
+ visibility: visible;
995
+ transition-delay: 0s;
996
+ }
997
+
998
+ .Dropzone.dragging > * {
999
+ pointer-events: none;
1000
+ }
1001
+
1002
+ .Dropzone > input.file {
1003
+ position: absolute;
1004
+ left: 0;
1005
+ right: 0;
1006
+ top: 0;
1007
+ bottom: 0;
1008
+ width: 100%;
1009
+ height: 100%;
1010
+ opacity: 0;
1011
+ cursor: pointer;
1012
+ z-index: 1;
1013
+ }
1014
+
1015
+ .FilteredList {
1016
+ max-height: 250px;
1017
+ position: relative;
1018
+ }
1019
+
1020
+ .FilteredList.popup {
1021
+ padding: 0;
1022
+ visibility: hidden;
1023
+ position: absolute;
1024
+ background: white;
1025
+ z-index: 4;
1026
+ 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);
1027
+ transition: all 0.2s ease-out;
1028
+ top: calc(100% + 4px);
1029
+ opacity: 0;
1030
+ border-radius: 2px;
1031
+ }
1032
+
1033
+ .FilteredList.popup.visible {
1034
+ opacity: 1;
1035
+ visibility: visible;
1036
+ }
1037
+
1038
+ .FilteredList.inline {
1039
+ max-height: 225px;
1040
+ margin-top: 5px;
1041
+ }
1042
+
1043
+ .FilteredList .child {
1044
+ display: flex;
1045
+ flex-flow: row nowrap;
1046
+ align-items: center;
1047
+ white-space: nowrap;
1048
+ font-size: 14px;
1049
+ color: #222222;
1050
+ height: 30px;
1051
+ padding: 5px 10px;
1052
+ padding-right: 15px;
1053
+ cursor: pointer;
1054
+ overflow: hidden;
1055
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1056
+ border-left: 5px solid #4AC263;
1057
+ padding-left: 15px;
1058
+ margin-left: -5px;
1059
+ }
1060
+
1061
+ .FilteredList .child.hidden {
1062
+ height: 0 !important;
1063
+ padding: 0 !important;
1064
+ }
1065
+
1066
+ .FilteredList .child.selected {
1067
+ background-color: #F0F0F0;
1068
+ padding-left: 10px;
1069
+ margin-left: 0px;
1070
+ }
1071
+
1072
+ .FilteredList .child.active {
1073
+ background-color: #eeeeee;
1074
+ }
1075
+
1076
+ .FilteredList .child {
1077
+ margin-top: 8px;
1078
+ }
1079
+
1080
+ .FilteredList .child.hidden {
1081
+ margin-top: 0;
1082
+ }
1083
+
1084
+ .FilteredList .child:not(.hidden) ~ .child {
1085
+ margin-top: 0;
1086
+ }
1087
+
1088
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1089
+ margin-bottom: 8px;
1090
+ }
1091
+
1092
+ .FilteredList .child:not(.hidden):last-child {
1093
+ margin-bottom: 8px;
978
1094
  }
979
1095
 
980
1096
  .SpinningProgress {
@@ -1030,49 +1146,41 @@
1030
1146
  stroke-dashoffset: -53px;
1031
1147
  }
1032
1148
  }
1033
- .Snackbar {
1034
- transform: translateX(-50%);
1035
- overflow: hidden;
1036
- background-color: #323232;
1037
- padding: 14px 24px 14px 24px;
1038
- color: #fff;
1039
- min-width: 288px;
1040
- max-width: 568px;
1041
- position: fixed;
1042
- bottom: -50px;
1043
- left: 50%;
1044
- display: flex;
1045
- flex-wrap: nowrap;
1046
- align-items: center;
1149
+ .ModalMenu {
1150
+ position: absolute;
1151
+ top: 10px;
1152
+ right: 50px;
1153
+ }
1154
+
1155
+ .ModalMenu .material-icons {
1156
+ color: #818181;
1157
+ }
1158
+
1159
+ .ModalMenu .Button.animated {
1160
+ position: absolute;
1161
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1047
1162
  opacity: 0;
1048
- transition: bottom 0.25s ease, opacity 0.2s ease;
1049
- border-radius: 4px;
1050
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1163
+ right: 0;
1164
+ top: 0;
1051
1165
  }
1052
1166
 
1053
- .Snackbar.shown {
1054
- bottom: 15px;
1167
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1055
1168
  opacity: 1;
1056
1169
  }
1057
1170
 
1058
- .Snackbar .message {
1059
- overflow: hidden;
1060
- line-height: 1.2em;
1061
- min-height: 1.2em;
1062
- max-height: 2.4em;
1063
- flex: 1;
1171
+ .ModalMenu .Button.animated.unmounting {
1172
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1064
1173
  }
1065
1174
 
1066
- .Snackbar .action {
1067
- text-transform: uppercase;
1068
- font-weight: bold;
1069
- margin-left: 48px;
1070
- color: #bf3727;
1175
+ .ModalMenu .Button.active {
1176
+ background: #EBEBEB;
1071
1177
  }
1072
1178
 
1073
- .Snackbar .action a {
1074
- text-decoration: none;
1075
- color: #bf3727;
1179
+ .ModalMenu .separator {
1180
+ height: 24px;
1181
+ width: 1px;
1182
+ background-color: #D9D9D9;
1183
+ margin-left: 4px;
1076
1184
  }
1077
1185
 
1078
1186
  .Modal {
@@ -1145,400 +1253,298 @@
1145
1253
  position: absolute;
1146
1254
  }
1147
1255
 
1148
- .TextField {
1149
- position: relative;
1150
- width: 100%;
1151
- }
1152
-
1153
- .TextField > label {
1154
- font-family: Roboto, sans-serif;
1155
- color: rgba(0, 0, 0, 0.3);
1156
- font-size: 16px;
1157
- position: absolute;
1158
- left: 0px;
1159
- top: 16px;
1160
- margin-top: -16px;
1161
- transition: all 0.2s ease;
1162
- user-select: none;
1163
- cursor: text;
1164
- }
1165
-
1166
- .TextField > input {
1167
- font-family: Roboto, sans-serif;
1168
- color: #1e252d;
1169
- height: 19px;
1170
- font-size: 16px;
1171
- width: 100%;
1172
- border: 0px;
1173
- padding-bottom: 4px;
1174
- padding-top: 0;
1175
- outline-color: rgba(0, 0, 0, 0);
1176
- }
1177
-
1178
- .TextField > input:focus {
1179
- outline: none;
1180
- }
1181
-
1182
- .TextField > input:disabled {
1183
- color: gray;
1184
- background-color: white;
1185
- }
1186
-
1187
- .TextField > input:disabled + .border {
1188
- height: 0px;
1189
- border-bottom: 2px dotted #e0e0e0;
1256
+ .Switch {
1257
+ display: inline-flex;
1258
+ padding-top: 5px;
1190
1259
  }
1191
1260
 
1192
- .TextField > input::placeholder {
1193
- font-family: Roboto, sans-serif;
1194
- color: rgba(0, 0, 0, 0.3);
1195
- opacity: 1;
1261
+ .Switch .switch-input {
1262
+ display: none;
1196
1263
  }
1197
1264
 
1198
- .TextField > .border {
1199
- border-bottom: 1px solid #e0e0e0;
1200
- height: 1px;
1265
+ .Switch .switch-label {
1201
1266
  position: relative;
1202
- }
1203
-
1204
- .TextField > .border .line {
1205
- left: 50%;
1206
- width: 0;
1207
- height: 2px;
1208
- min-height: 2px;
1209
- background-color: #00bcd4;
1210
- transition: all 0.2s ease;
1211
- position: absolute;
1212
- }
1213
-
1214
- .TextField > .error {
1267
+ display: inline-flex;
1268
+ align-items: center;
1269
+ min-width: 38px;
1270
+ height: 24px;
1271
+ cursor: pointer;
1272
+ font-weight: 500;
1215
1273
  text-align: left;
1216
- font-size: 10px;
1217
- min-height: 0;
1218
- line-height: 14px;
1219
- color: #f44336;
1220
- visibility: hidden;
1221
- opacity: 0;
1222
- transition: all 0.2s ease;
1223
- }
1224
-
1225
- .TextField.focused > label, .TextField.withValue > label {
1226
- top: 4px;
1227
- font-size: 12px;
1228
- line-height: 14px;
1229
- }
1230
-
1231
- .TextField.errored > .error {
1232
- visibility: visible;
1233
- opacity: 1;
1234
- }
1235
-
1236
- .TextField.errored > .border {
1237
- border-bottom-color: #f44336;
1238
- }
1239
-
1240
- .TextField.errored > label {
1241
- color: #f44336;
1242
- }
1243
-
1244
- .TextField.focused > label {
1245
- color: #00bcd4;
1246
- }
1247
-
1248
- .TextField.focused > .border .line {
1249
- left: 0;
1250
- width: 100%;
1251
- }
1252
-
1253
- .TextField.disabled label, .TextField.disabled input {
1254
- cursor: not-allowed;
1255
- }
1256
-
1257
- .TextField.withLabel {
1258
- margin-top: 15px;
1274
+ user-select: none;
1275
+ margin: 0;
1276
+ padding: 0;
1277
+ padding-left: 44px;
1278
+ box-sizing: border-box;
1259
1279
  }
1260
1280
 
1261
- .TextField input::-webkit-contacts-auto-fill-button {
1262
- visibility: hidden;
1263
- display: none !important;
1264
- pointer-events: none;
1281
+ .Switch .switch-label:before, .Switch .switch-label:after {
1282
+ content: "";
1283
+ box-sizing: border-box;
1265
1284
  position: absolute;
1266
- right: 0;
1267
- }
1268
-
1269
- .TextField input:-webkit-autofill {
1270
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1285
+ margin: 0;
1286
+ outline: 0;
1287
+ top: 50%;
1288
+ transform: translate(0, -50%);
1289
+ transition: all 0.3s ease;
1271
1290
  }
1272
1291
 
1273
- @keyframes shake {
1274
- 0%, 100% {
1275
- transform: translateX(0);
1276
- }
1277
- 20%, 60% {
1278
- transform: translateX(-5px);
1279
- }
1280
- 40%, 80% {
1281
- transform: translateX(5px);
1282
- }
1283
- }
1284
- .TextField .shake {
1285
- animation-duration: 0.5s;
1286
- animation-fill-mode: both;
1287
- animation-timing-function: ease-in-out;
1288
- animation-name: shake;
1292
+ .Switch .switch-label:before {
1293
+ left: 1px;
1294
+ width: 34px;
1295
+ height: 14px;
1296
+ background-color: #9E9E9E;
1297
+ border-radius: 8px;
1289
1298
  }
1290
1299
 
1291
- .ImageGallery {
1292
- position: fixed;
1293
- top: 0;
1300
+ .Switch .switch-label:after {
1294
1301
  left: 0;
1295
- bottom: 0;
1296
- right: 0;
1297
- z-index: 1000;
1298
- background-color: rgba(0, 0, 0, 0.01);
1299
- user-select: none;
1300
- }
1301
-
1302
- .ImageGallery:focus {
1303
- outline-width: 0px;
1304
- }
1305
-
1306
- .ImageGallery.animated {
1307
- transition: background-color 0.25s ease;
1308
- opacity: 1;
1309
- }
1310
-
1311
- .ImageGallery.mounting, .ImageGallery.mounted {
1312
- background-color: rgba(0, 0, 0, 0.8);
1313
- }
1314
-
1315
- .ImageGallery .image {
1316
- position: absolute;
1317
- cursor: grab;
1302
+ width: 20px;
1303
+ height: 20px;
1304
+ background-color: #FAFAFA;
1305
+ border-radius: 50%;
1306
+ 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);
1318
1307
  }
1319
1308
 
1320
- .ImageGallery .image .counter {
1309
+ .Switch .switch-label .toggle--on {
1321
1310
  display: none;
1322
1311
  }
1323
1312
 
1324
- .ImageGallery .image img {
1325
- border-radius: 4px;
1326
- max-width: 100%;
1327
- min-width: 100%;
1328
- }
1329
-
1330
- .ImageGallery .image.animated {
1331
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
1332
- will-change: top, left, width, height, opacity;
1313
+ .Switch .switch-label .toggle--off {
1314
+ display: inline-block;
1333
1315
  }
1334
1316
 
1335
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
1336
- opacity: 1;
1317
+ .Switch .switch-label .label {
1318
+ margin-right: 5px;
1337
1319
  }
1338
1320
 
1339
- .ImageGallery .image.zoomed {
1340
- text-align: center;
1341
- overflow: hidden;
1321
+ .Switch .switch-input:checked + .switch-label:before {
1322
+ background-color: #A5D6A7;
1342
1323
  }
1343
1324
 
1344
- .ImageGallery .image.dragging {
1345
- transition: none;
1346
- cursor: move;
1325
+ .Switch .switch-input:checked + .switch-label:after {
1326
+ background-color: #4CAF50;
1327
+ transform: translate(80%, -50%);
1347
1328
  }
1348
1329
 
1349
- .ImageGallery .image .close {
1350
- position: absolute;
1351
- top: -18px;
1352
- right: -18px;
1330
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1331
+ display: inline-block;
1353
1332
  }
1354
1333
 
1355
- .ImageGallery .image .spinner {
1356
- position: absolute;
1357
- top: 0;
1358
- bottom: 0;
1359
- left: 0;
1360
- right: 0;
1361
- background: rgba(0, 0, 0, 0.65);
1334
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1335
+ display: none;
1362
1336
  }
1363
1337
 
1364
- .ImageGallery .image .spinner .SpinningProgress {
1365
- position: absolute;
1366
- top: 50%;
1338
+ .Snackbar {
1339
+ transform: translateX(-50%);
1340
+ overflow: hidden;
1341
+ background-color: #323232;
1342
+ padding: 14px 24px 14px 24px;
1343
+ color: #fff;
1344
+ min-width: 288px;
1345
+ max-width: 568px;
1346
+ position: fixed;
1347
+ bottom: -50px;
1367
1348
  left: 50%;
1368
- margin-left: -24px;
1369
- margin-top: -24px;
1349
+ display: flex;
1350
+ flex-wrap: nowrap;
1351
+ align-items: center;
1352
+ opacity: 0;
1353
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1354
+ border-radius: 4px;
1355
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1370
1356
  }
1371
1357
 
1372
- .ImageGallery .image .spinner .SpinningProgress .line {
1373
- stroke: #2196F3;
1358
+ .Snackbar.shown {
1359
+ bottom: 15px;
1360
+ opacity: 1;
1374
1361
  }
1375
1362
 
1376
- .ImageGallery .Button.animated {
1377
- transition: all 0.25s ease;
1378
- opacity: 0;
1379
- transform: scale(0);
1363
+ .Snackbar .message {
1364
+ overflow: hidden;
1365
+ line-height: 1.2em;
1366
+ min-height: 1.2em;
1367
+ max-height: 2.4em;
1368
+ flex: 1;
1380
1369
  }
1381
1370
 
1382
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1383
- opacity: 1;
1384
- transform: scale(1);
1371
+ .Snackbar .action {
1372
+ text-transform: uppercase;
1373
+ font-weight: bold;
1374
+ margin-left: 48px;
1375
+ color: #bf3727;
1385
1376
  }
1386
1377
 
1387
- .ImageGallery .Button {
1388
- color: white;
1389
- background: rgba(0, 0, 0, 0.4);
1378
+ .Snackbar .action a {
1379
+ text-decoration: none;
1380
+ color: #bf3727;
1390
1381
  }
1391
1382
 
1392
- .ImageGallery .Button:hover {
1393
- background: rgba(0, 0, 0, 0.7);
1383
+ .TextField {
1384
+ position: relative;
1385
+ width: 100%;
1394
1386
  }
1395
1387
 
1396
- .ImageGallery > .arrow {
1388
+ .TextField > label {
1389
+ font-family: Roboto, sans-serif;
1390
+ color: rgba(0, 0, 0, 0.3);
1391
+ font-size: 16px;
1397
1392
  position: absolute;
1398
- top: 50%;
1399
- height: 76px;
1400
- width: 76px;
1401
- margin-top: -38px;
1393
+ left: 0px;
1394
+ top: 16px;
1395
+ margin-top: -16px;
1396
+ transition: all 0.2s ease;
1397
+ user-select: none;
1398
+ cursor: text;
1402
1399
  }
1403
1400
 
1404
- .ImageGallery > .arrow.left {
1405
- left: 5%;
1401
+ .TextField > input {
1402
+ font-family: Roboto, sans-serif;
1403
+ color: #1e252d;
1404
+ height: 19px;
1405
+ font-size: 16px;
1406
+ width: 100%;
1407
+ border: 0px;
1408
+ padding-bottom: 4px;
1409
+ padding-top: 0;
1410
+ outline-color: rgba(0, 0, 0, 0);
1406
1411
  }
1407
1412
 
1408
- .ImageGallery > .arrow.right {
1409
- right: 5%;
1413
+ .TextField > input:focus {
1414
+ outline: none;
1410
1415
  }
1411
1416
 
1412
- .ImageGallery > .arrow .material-icons {
1413
- font-size: 40px;
1417
+ .TextField > input:disabled {
1418
+ color: gray;
1419
+ background-color: white;
1414
1420
  }
1415
1421
 
1416
- .ImageGallery .counter {
1417
- position: absolute;
1418
- top: 10px;
1419
- left: 10px;
1420
- color: white;
1421
- font-size: 13px;
1422
+ .TextField > input:disabled + .border {
1423
+ height: 0px;
1424
+ border-bottom: 2px dotted #e0e0e0;
1422
1425
  }
1423
1426
 
1424
- .ImageGallery .previews {
1425
- height: 80px;
1426
- position: absolute;
1427
- bottom: 15px;
1428
- left: 50%;
1429
- transform: translateX(-50%);
1430
- padding: 0 45px;
1427
+ .TextField > input::placeholder {
1428
+ font-family: Roboto, sans-serif;
1429
+ color: rgba(0, 0, 0, 0.3);
1430
+ opacity: 1;
1431
1431
  }
1432
1432
 
1433
- .ImageGallery .previews .viewport {
1434
- overflow: hidden;
1433
+ .TextField > .border {
1434
+ border-bottom: 1px solid #e0e0e0;
1435
+ height: 1px;
1435
1436
  position: relative;
1436
- height: 100%;
1437
1437
  }
1438
1438
 
1439
- .ImageGallery .previews .container {
1440
- position: relative;
1441
- display: flex;
1442
- flex-flow: row nowrap;
1443
- height: 100%;
1444
- transition: left 0.25s ease;
1439
+ .TextField > .border .line {
1440
+ left: 50%;
1441
+ width: 0;
1442
+ height: 2px;
1443
+ min-height: 2px;
1444
+ background-color: #00bcd4;
1445
+ transition: all 0.2s ease;
1446
+ position: absolute;
1445
1447
  }
1446
1448
 
1447
- .ImageGallery .previews .preview {
1448
- position: relative;
1449
- height: 100%;
1450
- display: inline-block;
1451
- width: 106.66px;
1452
- overflow: hidden;
1453
- margin-left: 12px;
1454
- border-radius: 2px;
1455
- cursor: pointer;
1456
- box-sizing: border-box;
1449
+ .TextField > .error {
1450
+ text-align: left;
1451
+ font-size: 10px;
1452
+ min-height: 0;
1453
+ line-height: 14px;
1454
+ color: #f44336;
1455
+ visibility: hidden;
1456
+ opacity: 0;
1457
+ transition: all 0.2s ease;
1457
1458
  }
1458
1459
 
1459
- .ImageGallery .previews .preview:first-child {
1460
- margin-left: 0;
1460
+ .TextField.focused > label, .TextField.withValue > label {
1461
+ top: 4px;
1462
+ font-size: 12px;
1463
+ line-height: 14px;
1461
1464
  }
1462
1465
 
1463
- .ImageGallery .previews .preview > .border {
1464
- position: absolute;
1465
- bottom: 0;
1466
- width: 100%;
1467
- height: 3px;
1466
+ .TextField.errored > .error {
1467
+ visibility: visible;
1468
+ opacity: 1;
1468
1469
  }
1469
1470
 
1470
- .ImageGallery .previews .preview > .border .line {
1471
- left: 50%;
1472
- width: 0;
1473
- height: 3px;
1474
- min-height: 3px;
1475
- background-color: #4AC263;
1476
- transition: all 0.2s ease;
1477
- position: absolute;
1471
+ .TextField.errored > .border {
1472
+ border-bottom-color: #f44336;
1478
1473
  }
1479
1474
 
1480
- .ImageGallery .previews .preview:after {
1481
- content: "";
1482
- position: absolute;
1483
- top: 0;
1484
- right: 0;
1485
- bottom: 0;
1486
- left: 0;
1487
- background: rgba(0, 0, 0, 0.35);
1488
- transition: background 0.2s ease;
1475
+ .TextField.errored > label {
1476
+ color: #f44336;
1489
1477
  }
1490
1478
 
1491
- .ImageGallery .previews .preview:hover:after {
1492
- background: rgba(0, 0, 0, 0.1);
1479
+ .TextField.focused > label {
1480
+ color: #00bcd4;
1493
1481
  }
1494
1482
 
1495
- .ImageGallery .previews .preview.selected .border .line {
1483
+ .TextField.focused > .border .line {
1496
1484
  left: 0;
1497
1485
  width: 100%;
1498
1486
  }
1499
1487
 
1500
- .ImageGallery .previews .preview.selected:after {
1501
- background: rgba(0, 0, 0, 0);
1488
+ .TextField.disabled label, .TextField.disabled input {
1489
+ cursor: not-allowed;
1502
1490
  }
1503
1491
 
1504
- .ImageGallery .previews > .arrow {
1505
- position: absolute;
1506
- top: 50%;
1507
- height: 30px;
1508
- width: 30px;
1509
- min-width: 30px;
1510
- min-height: 30px;
1511
- margin-top: -15px;
1492
+ .TextField.withLabel {
1493
+ margin-top: 15px;
1512
1494
  }
1513
1495
 
1514
- .ImageGallery .previews > .arrow.left {
1515
- left: 0;
1496
+ .TextField input::-webkit-contacts-auto-fill-button {
1497
+ visibility: hidden;
1498
+ display: none !important;
1499
+ pointer-events: none;
1500
+ position: absolute;
1501
+ right: 0;
1516
1502
  }
1517
1503
 
1518
- .ImageGallery .previews > .arrow.right {
1519
- right: 0;
1504
+ .TextField input:-webkit-autofill {
1505
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1520
1506
  }
1521
1507
 
1522
- .ImageGallery .previews > .arrow .material-icons {
1523
- font-size: 24px;
1508
+ @keyframes shake {
1509
+ 0%, 100% {
1510
+ transform: translateX(0);
1511
+ }
1512
+ 20%, 60% {
1513
+ transform: translateX(-5px);
1514
+ }
1515
+ 40%, 80% {
1516
+ transform: translateX(5px);
1517
+ }
1518
+ }
1519
+ .TextField .shake {
1520
+ animation-duration: 0.5s;
1521
+ animation-fill-mode: both;
1522
+ animation-timing-function: ease-in-out;
1523
+ animation-name: shake;
1524
1524
  }
1525
1525
 
1526
- .DNDContainer .DroppableList .Draggable {
1527
- transform: unset;
1528
- transition: unset;
1529
- opacity: 1;
1526
+ .Button.FloatingActionButton {
1527
+ position: absolute;
1528
+ right: 16px;
1529
+ bottom: 16px;
1530
+ width: 56px;
1531
+ height: 56px;
1532
+ padding: 16px;
1533
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1530
1534
  }
1531
1535
 
1532
- .DNDContainer .DroppableList .Draggable.dragged {
1533
- transition: unset !important;
1536
+ .Button.FloatingActionButton.raised {
1537
+ 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);
1534
1538
  }
1535
1539
 
1536
- .DNDContainer .DroppableList.hover .Draggable {
1537
- transition: transform 0.2s ease-in;
1540
+ .Button.FloatingActionButton.mini {
1541
+ width: 40px;
1542
+ height: 40px;
1543
+ padding: 8px;
1538
1544
  }
1539
1545
 
1540
- .DNDContainer .DroppableList.resetting .Draggable {
1541
- transition: transform 0.1s ease-in;
1546
+ .Button.FloatingActionButton.hidden {
1547
+ bottom: -100px;
1542
1548
  }
1543
1549
 
1544
1550
  .Scrollable {
@@ -1636,28 +1642,22 @@
1636
1642
  will-change: left;
1637
1643
  }
1638
1644
 
1639
- .Button.FloatingActionButton {
1640
- position: absolute;
1641
- right: 16px;
1642
- bottom: 16px;
1643
- width: 56px;
1644
- height: 56px;
1645
- padding: 16px;
1646
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1645
+ .DNDContainer .DroppableList .Draggable {
1646
+ transform: unset;
1647
+ transition: unset;
1648
+ opacity: 1;
1647
1649
  }
1648
1650
 
1649
- .Button.FloatingActionButton.raised {
1650
- 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);
1651
+ .DNDContainer .DroppableList .Draggable.dragged {
1652
+ transition: unset !important;
1651
1653
  }
1652
1654
 
1653
- .Button.FloatingActionButton.mini {
1654
- width: 40px;
1655
- height: 40px;
1656
- padding: 8px;
1655
+ .DNDContainer .DroppableList.hover .Draggable {
1656
+ transition: transform 0.2s ease-in;
1657
1657
  }
1658
1658
 
1659
- .Button.FloatingActionButton.hidden {
1660
- bottom: -100px;
1659
+ .DNDContainer .DroppableList.resetting .Draggable {
1660
+ transition: transform 0.1s ease-in;
1661
1661
  }
1662
1662
 
1663
1663
  .Table {