react-ui-basics 0.0.133 → 0.0.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.css CHANGED
@@ -1,10 +1,68 @@
1
- .animated {
2
- transition: opacity 250ms ease;
3
- opacity: 0;
1
+ .Checkbox {
2
+ position: relative;
3
+ white-space: pre;
4
4
  }
5
5
 
6
- .animated.mounting, .animated.mounted {
7
- opacity: 1;
6
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .Checkbox label {
11
+ font-family: Roboto, sans-serif;
12
+ font-size: 14px;
13
+ color: #1e252d;
14
+ cursor: pointer;
15
+ }
16
+
17
+ .Checkbox label:before, .Checkbox label:after {
18
+ content: "";
19
+ position: absolute;
20
+ left: 0;
21
+ top: 0;
22
+ }
23
+
24
+ .Checkbox label:before {
25
+ width: 20px;
26
+ height: 20px;
27
+ background: #fff;
28
+ border: 2px solid #252525;
29
+ border-radius: 2px;
30
+ cursor: pointer;
31
+ transition: background 0.3s;
32
+ }
33
+
34
+ .Checkbox input[type=checkbox] {
35
+ outline: 0;
36
+ margin-right: 10px;
37
+ visibility: hidden;
38
+ }
39
+
40
+ .Checkbox input[type=checkbox]:checked + label:before {
41
+ background: #4AC263;
42
+ border: none;
43
+ }
44
+
45
+ .Checkbox input[type=checkbox]:checked + label:after {
46
+ transform: rotate(-45deg);
47
+ top: 6px;
48
+ left: 4px;
49
+ width: 12px;
50
+ height: 6px;
51
+ border: 2px solid #fff;
52
+ border-top-style: none;
53
+ border-right-style: none;
54
+ }
55
+
56
+ .Checkbox input[type=checkbox]:disabled + label {
57
+ color: gray;
58
+ }
59
+
60
+ .Checkbox input[type=checkbox]:disabled + label:before {
61
+ border-color: rgba(0, 0, 0, 0.26);
62
+ }
63
+
64
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
65
+ background: rgba(0, 0, 0, 0.26);
8
66
  }
9
67
 
10
68
  .Button {
@@ -172,187 +230,6 @@
172
230
  border: 0;
173
231
  }
174
232
 
175
- .CircleProgress {
176
- width: 48px;
177
- height: 48px;
178
- }
179
-
180
- .CircleProgress .line {
181
- stroke-width: 2px;
182
- stroke: black;
183
- stroke-linecap: square;
184
- fill: none;
185
- transition: stroke-dashoffset 0.2s ease;
186
- }
187
-
188
- .Checkbox {
189
- position: relative;
190
- white-space: pre;
191
- }
192
-
193
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
194
- box-sizing: border-box;
195
- }
196
-
197
- .Checkbox label {
198
- font-family: Roboto, sans-serif;
199
- font-size: 14px;
200
- color: #1e252d;
201
- cursor: pointer;
202
- }
203
-
204
- .Checkbox label:before, .Checkbox label:after {
205
- content: "";
206
- position: absolute;
207
- left: 0;
208
- top: 0;
209
- }
210
-
211
- .Checkbox label:before {
212
- width: 20px;
213
- height: 20px;
214
- background: #fff;
215
- border: 2px solid #252525;
216
- border-radius: 2px;
217
- cursor: pointer;
218
- transition: background 0.3s;
219
- }
220
-
221
- .Checkbox input[type=checkbox] {
222
- outline: 0;
223
- margin-right: 10px;
224
- visibility: hidden;
225
- }
226
-
227
- .Checkbox input[type=checkbox]:checked + label:before {
228
- background: #4AC263;
229
- border: none;
230
- }
231
-
232
- .Checkbox input[type=checkbox]:checked + label:after {
233
- transform: rotate(-45deg);
234
- top: 6px;
235
- left: 4px;
236
- width: 12px;
237
- height: 6px;
238
- border: 2px solid #fff;
239
- border-top-style: none;
240
- border-right-style: none;
241
- }
242
-
243
- .Checkbox input[type=checkbox]:disabled + label {
244
- color: gray;
245
- }
246
-
247
- .Checkbox input[type=checkbox]:disabled + label:before {
248
- border-color: rgba(0, 0, 0, 0.26);
249
- }
250
-
251
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
252
- background: rgba(0, 0, 0, 0.26);
253
- }
254
-
255
- .DialogModal {
256
- overflow: hidden;
257
- }
258
-
259
- .DialogModal .content {
260
- top: 20vh;
261
- }
262
-
263
- .Dialog {
264
- background-color: white;
265
- min-width: 460px;
266
- max-width: 40vw;
267
- padding: 15px;
268
- }
269
-
270
- .Dialog .title {
271
- margin-bottom: 15px;
272
- padding: 20px 50px 0px 30px;
273
- font-size: 1.25rem;
274
- line-height: 2rem;
275
- font-weight: 400;
276
- letter-spacing: 0.0125em;
277
- }
278
-
279
- .Dialog .description {
280
- color: rgba(0, 0, 0, 0.54);
281
- font-size: 1rem;
282
- line-height: 1.5rem;
283
- font-weight: 400;
284
- letter-spacing: 0.03125em;
285
- margin-top: 20px;
286
- padding: 0 24px 24px;
287
- }
288
-
289
- .Dialog > div.row {
290
- margin-bottom: 15px;
291
- }
292
-
293
- .Dialog > div.row:last-child {
294
- margin-bottom: 0;
295
- }
296
-
297
- .DNDContainer {
298
- position: relative;
299
- }
300
-
301
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
302
- cursor: pointer;
303
- }
304
-
305
- .DNDContainer .Draggable.placeholder {
306
- opacity: 0.2;
307
- }
308
-
309
- .DNDContainer .Draggable.copy {
310
- position: absolute;
311
- box-sizing: border-box;
312
- will-change: transform;
313
- opacity: 0;
314
- }
315
-
316
- .DNDContainer .Draggable.dragged {
317
- z-index: 10;
318
- }
319
-
320
- .DNDContainer .overlay {
321
- position: absolute;
322
- top: 0;
323
- left: 0;
324
- right: 0;
325
- bottom: 0;
326
- pointer-events: none;
327
- }
328
-
329
- .DropFileInput {
330
- flex-grow: 1;
331
- }
332
-
333
- .DropFileInput .Dropzone {
334
- border: 1px dashed #808080;
335
- padding: 12px;
336
- display: flex;
337
- flex-flow: row nowrap;
338
- justify-content: center;
339
- align-items: center;
340
- color: gray;
341
- cursor: pointer;
342
- border-radius: 3px;
343
- font-weight: normal;
344
- line-height: 22px;
345
- font-size: 14px;
346
- color: #7E7E7E;
347
- max-width: 100%;
348
- word-break: break-all;
349
- word-break: break-word;
350
- }
351
-
352
- .DropFileInput .Dropzone .icon.withText {
353
- margin-right: 10px;
354
- }
355
-
356
233
  .AutocompleteSelect {
357
234
  display: inline-flex;
358
235
  flex-flow: column;
@@ -648,12 +525,93 @@
648
525
  position: absolute;
649
526
  }
650
527
 
651
- .Dropzone {
652
- position: relative;
528
+ .animated {
529
+ transition: opacity 250ms ease;
530
+ opacity: 0;
653
531
  }
654
532
 
655
- .Dropzone > .overlay {
656
- position: absolute;
533
+ .animated.mounting, .animated.mounted {
534
+ opacity: 1;
535
+ }
536
+
537
+ .CircleProgress {
538
+ width: 48px;
539
+ height: 48px;
540
+ }
541
+
542
+ .CircleProgress .line {
543
+ stroke-width: 2px;
544
+ stroke: black;
545
+ stroke-linecap: square;
546
+ fill: none;
547
+ transition: stroke-dashoffset 0.2s ease;
548
+ }
549
+
550
+ .DNDContainer {
551
+ position: relative;
552
+ }
553
+
554
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
555
+ cursor: pointer;
556
+ }
557
+
558
+ .DNDContainer .Draggable.placeholder {
559
+ opacity: 0.2;
560
+ }
561
+
562
+ .DNDContainer .Draggable.copy {
563
+ position: absolute;
564
+ box-sizing: border-box;
565
+ will-change: transform;
566
+ opacity: 0;
567
+ }
568
+
569
+ .DNDContainer .Draggable.dragged {
570
+ z-index: 10;
571
+ }
572
+
573
+ .DNDContainer .overlay {
574
+ position: absolute;
575
+ top: 0;
576
+ left: 0;
577
+ right: 0;
578
+ bottom: 0;
579
+ pointer-events: none;
580
+ }
581
+
582
+ .DropFileInput {
583
+ flex-grow: 1;
584
+ }
585
+
586
+ .DropFileInput .Dropzone {
587
+ border: 1px dashed #808080;
588
+ padding: 12px;
589
+ display: flex;
590
+ flex-flow: row nowrap;
591
+ justify-content: center;
592
+ align-items: center;
593
+ color: gray;
594
+ cursor: pointer;
595
+ border-radius: 3px;
596
+ font-weight: normal;
597
+ line-height: 22px;
598
+ font-size: 14px;
599
+ color: #7E7E7E;
600
+ max-width: 100%;
601
+ word-break: break-all;
602
+ word-break: break-word;
603
+ }
604
+
605
+ .DropFileInput .Dropzone .icon.withText {
606
+ margin-right: 10px;
607
+ }
608
+
609
+ .Dropzone {
610
+ position: relative;
611
+ }
612
+
613
+ .Dropzone > .overlay {
614
+ position: absolute;
657
615
  left: 0;
658
616
  right: 0;
659
617
  top: 0;
@@ -708,6 +666,48 @@
708
666
  z-index: 1;
709
667
  }
710
668
 
669
+ .DialogModal {
670
+ overflow: hidden;
671
+ }
672
+
673
+ .DialogModal .content {
674
+ top: 20vh;
675
+ }
676
+
677
+ .Dialog {
678
+ background-color: white;
679
+ min-width: 460px;
680
+ max-width: 40vw;
681
+ padding: 15px;
682
+ }
683
+
684
+ .Dialog .title {
685
+ margin-bottom: 15px;
686
+ padding: 20px 50px 0px 30px;
687
+ font-size: 1.25rem;
688
+ line-height: 2rem;
689
+ font-weight: 400;
690
+ letter-spacing: 0.0125em;
691
+ }
692
+
693
+ .Dialog .description {
694
+ color: rgba(0, 0, 0, 0.54);
695
+ font-size: 1rem;
696
+ line-height: 1.5rem;
697
+ font-weight: 400;
698
+ letter-spacing: 0.03125em;
699
+ margin-top: 20px;
700
+ padding: 0 24px 24px;
701
+ }
702
+
703
+ .Dialog > div.row {
704
+ margin-bottom: 15px;
705
+ }
706
+
707
+ .Dialog > div.row:last-child {
708
+ margin-bottom: 0;
709
+ }
710
+
711
711
  .Button.FloatingActionButton {
712
712
  position: absolute;
713
713
  right: 16px;
@@ -732,6 +732,75 @@
732
732
  bottom: -100px;
733
733
  }
734
734
 
735
+ .FormUploadProgress {
736
+ position: absolute;
737
+ left: 0;
738
+ right: 0;
739
+ top: 0;
740
+ bottom: 0;
741
+ background-color: rgba(255, 255, 255, 0.6);
742
+ z-index: 2;
743
+ }
744
+
745
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
746
+ transition-delay: 500ms;
747
+ }
748
+
749
+ .FormUploadProgress .wrapper {
750
+ position: sticky;
751
+ top: 40%;
752
+ margin-top: 40%;
753
+ margin-left: 50%;
754
+ transform: translateX(-50%);
755
+ display: flex;
756
+ flex-flow: column;
757
+ justify-content: center;
758
+ align-items: center;
759
+ }
760
+
761
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
762
+ position: absolute;
763
+ width: 107px;
764
+ height: 107px;
765
+ top: 0;
766
+ left: 0;
767
+ }
768
+
769
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
770
+ stroke: #2196F3;
771
+ }
772
+
773
+ .FormUploadProgress .wrapper > .progress {
774
+ width: 107px;
775
+ height: 107px;
776
+ min-height: 107px;
777
+ display: flex;
778
+ justify-content: center;
779
+ align-items: center;
780
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
781
+ border-radius: 50%;
782
+ background: white;
783
+ position: relative;
784
+ }
785
+
786
+ .FormUploadProgress .wrapper > .progress > .value {
787
+ display: inline-block;
788
+ margin-top: 5px;
789
+ font-weight: bold;
790
+ line-height: 16px;
791
+ font-size: 13px;
792
+ text-align: center;
793
+ color: #818181;
794
+ }
795
+
796
+ .FormUploadProgress .wrapper .cancel {
797
+ min-width: 107px;
798
+ margin-top: 20px;
799
+ background-color: white;
800
+ color: #F96B5C;
801
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
802
+ }
803
+
735
804
  .FilteredList {
736
805
  max-height: 250px;
737
806
  position: relative;
@@ -813,73 +882,74 @@
813
882
  margin-bottom: 8px;
814
883
  }
815
884
 
816
- .FormUploadProgress {
817
- position: absolute;
885
+ .Modal {
886
+ display: block;
887
+ position: fixed;
888
+ top: 0;
818
889
  left: 0;
819
890
  right: 0;
820
- top: 0;
891
+ bottom: 100%;
892
+ overflow-y: scroll;
893
+ transition: bottom 0ms linear;
894
+ transition-delay: 0.2s;
895
+ }
896
+
897
+ .Modal.show {
898
+ transition-delay: 0s;
821
899
  bottom: 0;
822
- background-color: rgba(255, 255, 255, 0.6);
823
- z-index: 2;
824
900
  }
825
901
 
826
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
827
- transition-delay: 500ms;
902
+ .Modal > .overlay {
903
+ position: fixed;
904
+ top: 0;
905
+ bottom: 100%;
906
+ left: 0;
907
+ right: 0;
908
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
909
+ opacity: 0;
910
+ background-color: black;
911
+ pointer-events: none;
828
912
  }
829
913
 
830
- .FormUploadProgress .wrapper {
831
- position: sticky;
832
- top: 40%;
833
- margin-top: 40%;
834
- margin-left: 50%;
835
- transform: translateX(-50%);
836
- display: flex;
837
- flex-flow: column;
838
- justify-content: center;
839
- align-items: center;
914
+ .Modal > .overlay.show {
915
+ opacity: 0.5;
916
+ bottom: 0;
840
917
  }
841
918
 
842
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
919
+ .Modal > .content {
920
+ left: 50%;
921
+ top: 10vh;
922
+ margin-bottom: 10vh;
923
+ font-size: 16px;
924
+ padding: 0;
925
+ opacity: 0;
926
+ transition: opacity 0.25s ease, transform 0.25s ease;
927
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
928
+ transform-origin: top;
843
929
  position: absolute;
844
- width: 107px;
845
- height: 107px;
846
- top: 0;
847
- left: 0;
930
+ border-radius: 2px;
931
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
848
932
  }
849
933
 
850
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
851
- stroke: #2196F3;
934
+ .Modal > .content.show {
935
+ opacity: 1;
936
+ transform: scaleY(1) translateY(0px) translateX(-50%);
852
937
  }
853
938
 
854
- .FormUploadProgress .wrapper > .progress {
855
- width: 107px;
856
- height: 107px;
857
- min-height: 107px;
858
- display: flex;
859
- justify-content: center;
860
- align-items: center;
861
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
862
- border-radius: 50%;
863
- background: white;
864
- position: relative;
939
+ .Modal > .content > .Scrollable {
940
+ overflow: visible;
941
+ max-height: 80vh;
865
942
  }
866
943
 
867
- .FormUploadProgress .wrapper > .progress > .value {
868
- display: inline-block;
869
- margin-top: 5px;
870
- font-weight: bold;
871
- line-height: 16px;
872
- font-size: 13px;
873
- text-align: center;
874
- color: #818181;
944
+ .Modal > .content > .Scrollable > .viewport {
945
+ min-width: 10px;
946
+ min-height: 10px;
875
947
  }
876
948
 
877
- .FormUploadProgress .wrapper .cancel {
878
- min-width: 107px;
879
- margin-top: 20px;
880
- background-color: white;
881
- color: #F96B5C;
882
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
949
+ .Modal > .content > .Button.close {
950
+ top: 10px;
951
+ right: 10px;
952
+ position: absolute;
883
953
  }
884
954
 
885
955
  .ImageGallery {
@@ -1113,115 +1183,45 @@
1113
1183
  right: 0;
1114
1184
  }
1115
1185
 
1116
- .ImageGallery .previews > .arrow .material-icons {
1117
- font-size: 24px;
1118
- }
1119
-
1120
- .ModalMenu {
1121
- position: absolute;
1122
- top: 10px;
1123
- right: 50px;
1124
- }
1125
-
1126
- .ModalMenu .material-icons {
1127
- color: #818181;
1128
- }
1129
-
1130
- .ModalMenu .Button.animated {
1131
- position: absolute;
1132
- transition: opacity 150ms ease-in, right 200ms ease-in;
1133
- opacity: 0;
1134
- right: 0;
1135
- top: 0;
1136
- }
1137
-
1138
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1139
- opacity: 1;
1140
- }
1141
-
1142
- .ModalMenu .Button.animated.unmounting {
1143
- transition: opacity 100ms ease-out, right 200ms ease-out;
1144
- }
1145
-
1146
- .ModalMenu .Button.active {
1147
- background: #EBEBEB;
1148
- }
1149
-
1150
- .ModalMenu .separator {
1151
- height: 24px;
1152
- width: 1px;
1153
- background-color: #D9D9D9;
1154
- margin-left: 4px;
1155
- }
1156
-
1157
- .Modal {
1158
- display: block;
1159
- position: fixed;
1160
- top: 0;
1161
- left: 0;
1162
- right: 0;
1163
- bottom: 100%;
1164
- overflow-y: scroll;
1165
- transition: bottom 0ms linear;
1166
- transition-delay: 0.2s;
1167
- }
1168
-
1169
- .Modal.show {
1170
- transition-delay: 0s;
1171
- bottom: 0;
1186
+ .ImageGallery .previews > .arrow .material-icons {
1187
+ font-size: 24px;
1172
1188
  }
1173
1189
 
1174
- .Modal > .overlay {
1175
- position: fixed;
1176
- top: 0;
1177
- bottom: 100%;
1178
- left: 0;
1179
- right: 0;
1180
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1181
- opacity: 0;
1182
- background-color: black;
1183
- pointer-events: none;
1190
+ .ModalMenu {
1191
+ position: absolute;
1192
+ top: 10px;
1193
+ right: 50px;
1184
1194
  }
1185
1195
 
1186
- .Modal > .overlay.show {
1187
- opacity: 0.5;
1188
- bottom: 0;
1196
+ .ModalMenu .material-icons {
1197
+ color: #818181;
1189
1198
  }
1190
1199
 
1191
- .Modal > .content {
1192
- left: 50%;
1193
- top: 10vh;
1194
- margin-bottom: 10vh;
1195
- font-size: 16px;
1196
- padding: 0;
1197
- opacity: 0;
1198
- transition: opacity 0.25s ease, transform 0.25s ease;
1199
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1200
- transform-origin: top;
1200
+ .ModalMenu .Button.animated {
1201
1201
  position: absolute;
1202
- border-radius: 2px;
1203
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1202
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1203
+ opacity: 0;
1204
+ right: 0;
1205
+ top: 0;
1204
1206
  }
1205
1207
 
1206
- .Modal > .content.show {
1208
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1207
1209
  opacity: 1;
1208
- transform: scaleY(1) translateY(0px) translateX(-50%);
1209
1210
  }
1210
1211
 
1211
- .Modal > .content > .Scrollable {
1212
- overflow: visible;
1213
- max-height: 80vh;
1212
+ .ModalMenu .Button.animated.unmounting {
1213
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1214
1214
  }
1215
1215
 
1216
- .Modal > .content > .Scrollable > .viewport {
1217
- min-width: 10px;
1218
- min-height: 10px;
1216
+ .ModalMenu .Button.active {
1217
+ background: #EBEBEB;
1219
1218
  }
1220
1219
 
1221
- .Modal > .content > .Button.close {
1222
- top: 10px;
1223
- right: 10px;
1224
- position: absolute;
1220
+ .ModalMenu .separator {
1221
+ height: 24px;
1222
+ width: 1px;
1223
+ background-color: #D9D9D9;
1224
+ margin-left: 4px;
1225
1225
  }
1226
1226
 
1227
1227
  .Scrollable {
@@ -1319,104 +1319,6 @@
1319
1319
  will-change: left;
1320
1320
  }
1321
1321
 
1322
- .Snackbar {
1323
- transform: translateX(-50%);
1324
- overflow: hidden;
1325
- background-color: #323232;
1326
- padding: 14px 24px 14px 24px;
1327
- color: #fff;
1328
- min-width: 288px;
1329
- max-width: 568px;
1330
- position: fixed;
1331
- bottom: -50px;
1332
- left: 50%;
1333
- display: flex;
1334
- flex-wrap: nowrap;
1335
- align-items: center;
1336
- opacity: 0;
1337
- transition: bottom 0.25s ease, opacity 0.2s ease;
1338
- border-radius: 4px;
1339
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1340
- }
1341
-
1342
- .Snackbar.shown {
1343
- bottom: 15px;
1344
- opacity: 1;
1345
- }
1346
-
1347
- .Snackbar .message {
1348
- overflow: hidden;
1349
- line-height: 1.2em;
1350
- min-height: 1.2em;
1351
- max-height: 2.4em;
1352
- flex: 1;
1353
- }
1354
-
1355
- .Snackbar .action {
1356
- text-transform: uppercase;
1357
- font-weight: bold;
1358
- margin-left: 48px;
1359
- color: #bf3727;
1360
- }
1361
-
1362
- .Snackbar .action a {
1363
- text-decoration: none;
1364
- color: #bf3727;
1365
- }
1366
-
1367
- .SpinningProgress {
1368
- width: 48px;
1369
- height: 48px;
1370
- position: relative;
1371
- margin: 0 auto;
1372
- }
1373
-
1374
- .SpinningProgress:before {
1375
- content: "";
1376
- display: block;
1377
- padding-top: 100%;
1378
- }
1379
-
1380
- .SpinningProgress .circular {
1381
- animation: rotate 2s linear infinite;
1382
- height: 100%;
1383
- transform-origin: center center;
1384
- width: 100%;
1385
- position: absolute;
1386
- top: 0;
1387
- bottom: 0;
1388
- left: 0;
1389
- right: 0;
1390
- margin: auto;
1391
- }
1392
-
1393
- .SpinningProgress .line {
1394
- stroke: black;
1395
- stroke-width: 2px;
1396
- stroke-dasharray: 1, 96;
1397
- stroke-dashoffset: 0;
1398
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1399
- }
1400
-
1401
- @keyframes rotate {
1402
- 100% {
1403
- transform: rotate(360deg);
1404
- }
1405
- }
1406
- @keyframes dash {
1407
- 0% {
1408
- stroke-dasharray: 1, 96;
1409
- stroke-dashoffset: 0;
1410
- }
1411
- 50% {
1412
- stroke-dasharray: 43, 96;
1413
- stroke-dashoffset: -17px;
1414
- }
1415
- 100% {
1416
- stroke-dasharray: 43, 96;
1417
- stroke-dashoffset: -53px;
1418
- }
1419
- }
1420
1322
  .Switch {
1421
1323
  display: inline-flex;
1422
1324
  padding-top: 5px;
@@ -1499,6 +1401,51 @@
1499
1401
  display: none;
1500
1402
  }
1501
1403
 
1404
+ .Snackbar {
1405
+ transform: translateX(-50%);
1406
+ overflow: hidden;
1407
+ background-color: #323232;
1408
+ padding: 14px 24px 14px 24px;
1409
+ color: #fff;
1410
+ min-width: 288px;
1411
+ max-width: 568px;
1412
+ position: fixed;
1413
+ bottom: -50px;
1414
+ left: 50%;
1415
+ display: flex;
1416
+ flex-wrap: nowrap;
1417
+ align-items: center;
1418
+ opacity: 0;
1419
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1420
+ border-radius: 4px;
1421
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1422
+ }
1423
+
1424
+ .Snackbar.shown {
1425
+ bottom: 15px;
1426
+ opacity: 1;
1427
+ }
1428
+
1429
+ .Snackbar .message {
1430
+ overflow: hidden;
1431
+ line-height: 1.2em;
1432
+ min-height: 1.2em;
1433
+ max-height: 2.4em;
1434
+ flex: 1;
1435
+ }
1436
+
1437
+ .Snackbar .action {
1438
+ text-transform: uppercase;
1439
+ font-weight: bold;
1440
+ margin-left: 48px;
1441
+ color: #bf3727;
1442
+ }
1443
+
1444
+ .Snackbar .action a {
1445
+ text-decoration: none;
1446
+ color: #bf3727;
1447
+ }
1448
+
1502
1449
  .TextField {
1503
1450
  position: relative;
1504
1451
  width: 100%;
@@ -1642,6 +1589,59 @@
1642
1589
  animation-name: shake;
1643
1590
  }
1644
1591
 
1592
+ .SpinningProgress {
1593
+ width: 48px;
1594
+ height: 48px;
1595
+ position: relative;
1596
+ margin: 0 auto;
1597
+ }
1598
+
1599
+ .SpinningProgress:before {
1600
+ content: "";
1601
+ display: block;
1602
+ padding-top: 100%;
1603
+ }
1604
+
1605
+ .SpinningProgress .circular {
1606
+ animation: rotate 2s linear infinite;
1607
+ height: 100%;
1608
+ transform-origin: center center;
1609
+ width: 100%;
1610
+ position: absolute;
1611
+ top: 0;
1612
+ bottom: 0;
1613
+ left: 0;
1614
+ right: 0;
1615
+ margin: auto;
1616
+ }
1617
+
1618
+ .SpinningProgress .line {
1619
+ stroke: black;
1620
+ stroke-width: 2px;
1621
+ stroke-dasharray: 1, 96;
1622
+ stroke-dashoffset: 0;
1623
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1624
+ }
1625
+
1626
+ @keyframes rotate {
1627
+ 100% {
1628
+ transform: rotate(360deg);
1629
+ }
1630
+ }
1631
+ @keyframes dash {
1632
+ 0% {
1633
+ stroke-dasharray: 1, 96;
1634
+ stroke-dashoffset: 0;
1635
+ }
1636
+ 50% {
1637
+ stroke-dasharray: 43, 96;
1638
+ stroke-dashoffset: -17px;
1639
+ }
1640
+ 100% {
1641
+ stroke-dasharray: 43, 96;
1642
+ stroke-dashoffset: -53px;
1643
+ }
1644
+ }
1645
1645
  .Table {
1646
1646
  font-family: Roboto, sans-serif;
1647
1647
  font-size: 14px;