react-ui-basics 0.0.152 → 0.0.153

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,305 +1,175 @@
1
- .AutocompleteSelect {
2
- display: inline-flex;
3
- flex-flow: column;
4
- justify-content: center;
1
+ .Button {
5
2
  position: relative;
6
- min-width: 250px;
3
+ min-width: 64px;
7
4
  min-height: 36px;
5
+ height: 24px;
6
+ margin: 0px;
7
+ padding: 0px 16px;
8
+ border: none;
9
+ outline: none;
10
+ font-size: 14px;
11
+ font-weight: 500;
12
+ letter-spacing: 1.25px;
13
+ background: #dfdfdf;
14
+ text-transform: uppercase;
15
+ font-family: Roboto, sans-serif;
16
+ display: inline-flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+ cursor: pointer;
20
+ overflow: hidden;
8
21
  user-select: none;
22
+ border-radius: 3px;
23
+ transition: all 0.2s ease;
9
24
  }
10
25
 
11
- @keyframes clockwise {
12
- 0% {
13
- -webkit-transform: rotate(-90deg);
14
- }
15
- 100% {
16
- -webkit-transform: translateX(0px);
17
- }
26
+ .Button.flat {
27
+ background-color: transparent;
18
28
  }
19
- @keyframes anticlockwise {
20
- 0% {
21
- -webkit-transform: rotate(90deg);
22
- }
23
- 100% {
24
- -webkit-transform: translateX(0px);
25
- }
29
+
30
+ .Button.flat:hover {
31
+ background-color: rgba(0, 0, 0, 0.05);
26
32
  }
27
- .AutocompleteSelect > .input {
28
- width: 100%;
33
+
34
+ .Button.green {
35
+ background-color: #43a047;
36
+ color: white;
29
37
  }
30
38
 
31
- .AutocompleteSelect .Scrollable {
32
- padding-right: 0;
33
- min-width: 100%;
39
+ .Button.green:hover {
40
+ background-color: #3b8e3f;
34
41
  }
35
42
 
36
- .AutocompleteSelect.inline-multiple > .label {
37
- top: -12px;
43
+ .Button.blue {
44
+ background-color: #039be5;
45
+ color: white;
38
46
  }
39
47
 
40
- .AutocompleteSelect.inline-multiple > .selected {
41
- flex-flow: row wrap;
48
+ .Button.blue:hover {
49
+ background-color: #038acc;
42
50
  }
43
51
 
44
- .AutocompleteSelect.multiple-mini-inline {
45
- height: 42px;
52
+ .Button.red {
53
+ background-color: #e53935;
54
+ color: white;
46
55
  }
47
56
 
48
- .AutocompleteSelect.multiple-mini-inline > .label {
49
- cursor: pointer;
50
- width: 100%;
51
- margin-left: -10px;
52
- padding: 10px;
53
- box-sizing: border-box;
54
- top: 0;
57
+ .Button.red:hover {
58
+ background-color: #e2231e;
55
59
  }
56
60
 
57
- .AutocompleteSelect.multiple-mini-inline > .label.active {
58
- padding: 0 10px;
61
+ .Button.black {
62
+ background-color: #1e252d;
63
+ color: white;
59
64
  }
60
65
 
61
- .AutocompleteSelect.multiple-mini-inline > .selected {
62
- width: 250px;
66
+ .Button.black:hover {
67
+ background-color: #14181e;
63
68
  }
64
69
 
65
- .AutocompleteSelect.multiple-mini-inline > .input {
66
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
67
- position: absolute;
68
- top: 38px;
69
- z-index: 2;
70
- background-color: white;
71
- min-width: 130%;
70
+ .Button.gray {
71
+ background: #D9D9D9;
72
+ color: #999999;
72
73
  }
73
74
 
74
- .AutocompleteSelect.multiple-mini-inline > .input .TextField {
75
- padding-left: 10px;
76
- padding-right: 10px;
77
- width: 100%;
78
- box-sizing: border-box;
75
+ .Button.gray:hover {
76
+ background-color: #cccccc;
79
77
  }
80
78
 
81
- .AutocompleteSelect.multiple-mini-inline > .input.hidden {
82
- opacity: 0;
83
- visibility: hidden;
79
+ .Button.small {
80
+ padding: 0px 8px;
81
+ min-height: 16px;
82
+ min-width: 16px;
84
83
  }
85
84
 
86
- .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
87
- margin-top: 0;
85
+ .Button > .material-icons {
86
+ margin-right: 10px;
88
87
  }
89
88
 
90
- .AutocompleteSelect .TextField {
91
- margin-top: 8px;
89
+ .Button.round {
90
+ padding: 0px;
91
+ min-width: 36px;
92
+ border-radius: 50%;
92
93
  }
93
94
 
94
- .AutocompleteSelect .TextField input {
95
- font-size: 14px;
95
+ .Button.round > .material-icons {
96
+ margin: 0px;
96
97
  }
97
98
 
98
- .AutocompleteSelect > .label {
99
+ .Button .ripple {
99
100
  position: absolute;
100
- transition: all 0.2s ease;
101
- font-family: Roboto, sans-serif;
102
- font-size: 14px;
103
- color: rgba(0, 0, 0, 0.5);
104
- z-index: 1;
105
- cursor: text;
106
- user-select: none;
107
- left: 4px;
108
- top: 12px;
101
+ background: rgba(0, 0, 0, 0.1);
102
+ border-radius: 100%;
103
+ transform: scale(0);
104
+ pointer-events: none;
105
+ transition: opacity 0.2s ease-out;
109
106
  }
110
107
 
111
- .AutocompleteSelect > .label.active {
112
- font-size: 10px;
113
- top: 2px;
108
+ .Button .ripple.show {
109
+ animation: ripple 0.35s ease-out;
114
110
  }
115
111
 
116
- .AutocompleteSelect > .label.active .arrow {
117
- border-width: 4px 4px 0 4px;
118
- margin-bottom: 1px;
112
+ .Button:active .ripple.showed {
113
+ opacity: 1;
119
114
  }
120
115
 
121
- .AutocompleteSelect > .label .arrow {
122
- width: 0;
123
- height: 0;
124
- border-style: solid;
125
- border-width: 5px 5px 0 5px;
126
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
127
- display: inline-block;
128
- margin-left: 5px;
129
- margin-bottom: 2px;
130
- transition: all 0.2s ease;
116
+ .Button:focus .ripple.focused {
117
+ opacity: 1;
118
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
119
+ transform: scale(1);
120
+ animation: resize 1.25s ease-out infinite;
121
+ animation-delay: 0.2s;
122
+ animation-direction: alternate;
131
123
  }
132
124
 
133
- .AutocompleteSelect > .selected {
134
- margin-top: 8px;
135
- display: flex;
136
- cursor: pointer;
125
+ .Button .ripple.showed {
126
+ transform: scale(2);
127
+ opacity: 0;
137
128
  }
138
129
 
139
- .AutocompleteSelect > .selected > .reset {
140
- min-width: 36px;
141
- max-width: 36px;
142
- position: absolute;
143
- right: 0;
144
- top: 0;
145
- background-color: white;
130
+ @keyframes ripple {
131
+ to {
132
+ transform: scale(2);
133
+ }
146
134
  }
147
-
148
- .AutocompleteSelect > .selected > .reset .material-icons {
149
- margin: 0;
150
- color: #BFBFBF;
151
- font-size: 20px;
135
+ @keyframes resize {
136
+ to {
137
+ transform: scale(0.9);
138
+ }
139
+ }
140
+ .Button.raised {
141
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
152
142
  }
153
143
 
154
- .AutocompleteSelect > .selected.nolabel {
155
- margin-top: 0px;
156
- border-bottom: 1px solid #e5e3e3;
144
+ .Button.raised:hover {
145
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
157
146
  }
158
147
 
159
- .AutocompleteSelect > .selected.nolabel .DummyChild {
160
- display: inline-flex;
161
- align-items: center;
162
- flex-grow: 1;
163
- font-size: 16px;
164
- margin: 0px 10px;
165
- margin-bottom: 5px;
166
- height: 19px;
148
+ .Button.raised:active {
149
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
167
150
  }
168
151
 
169
- .AutocompleteSelect > .selected.nolabel .arrow {
170
- width: 0;
171
- height: 0;
172
- border-style: solid;
173
- border-width: 5px 5px 0 5px;
174
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
175
- display: inline-block;
176
- transition: all 0.2s ease;
177
- margin: 0px 17px 3px 5px;
152
+ .Button.disabled {
153
+ box-shadow: none;
154
+ background: #D9D9D9;
155
+ color: #999999;
178
156
  }
179
157
 
180
- .AutocompleteSelect > .selected.inline {
181
- font-size: 14px;
182
- font-family: Roboto, sans-serif;
183
- color: #1e252d;
184
- text-overflow: ellipsis;
185
- white-space: nowrap;
186
- overflow: hidden;
187
- display: flex;
188
- align-items: center;
158
+ .Button.disabled:hover {
159
+ background-color: #cccccc;
189
160
  }
190
161
 
191
- .AutocompleteSelect > .selected.clickable {
192
- overflow: hidden;
193
- cursor: pointer;
194
- padding: 10px;
195
- margin-left: -10px;
196
- margin-right: -10px;
162
+ .Button::-moz-focus-inner {
163
+ border: 0;
197
164
  }
198
165
 
199
- .AutocompleteSelect.inlineSelected {
200
- flex-flow: row wrap;
201
- justify-content: flex-start;
166
+ .Checkbox {
167
+ position: relative;
168
+ white-space: pre;
202
169
  }
203
170
 
204
- .AutocompleteSelect.inlineSelected.hasSelected {
205
- padding-top: 7px;
206
- }
207
-
208
- .AutocompleteSelect.inlineSelected > .label {
209
- width: 100%;
210
- height: 100%;
211
- }
212
-
213
- .AutocompleteSelect.inlineSelected > .label.active {
214
- z-index: 0;
215
- }
216
-
217
- .AutocompleteSelect.inlineSelected .input {
218
- width: unset;
219
- flex-basis: 50px;
220
- flex-grow: 1;
221
- }
222
-
223
- .AutocompleteSelect.inlineSelected .input::after {
224
- content: attr(data-value);
225
- visibility: hidden;
226
- white-space: pre;
227
- font: inherit;
228
- min-width: 2px;
229
- border: 0;
230
- margin: 0;
231
- outline: 0;
232
- float: left;
233
- display: inline-block;
234
- margin-top: -24px;
235
- font-size: 14px;
236
- padding: 2px;
237
- }
238
-
239
- .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
240
- margin-top: 7px;
241
- }
242
-
243
- .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
244
- cursor: pointer;
245
- margin: 5px 10px 5px 0px;
246
- display: inline-flex;
247
- flex-flow: row wrap;
248
- height: 30px;
249
- align-items: center;
250
- background-color: #f0f0f0;
251
- border-radius: 30px;
252
- position: relative;
253
- font-family: Roboto, sans-serif;
254
- font-size: 14px;
255
- color: #1e252d;
256
- }
257
-
258
- .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
259
- padding-left: 35px;
260
- padding-right: 10px;
261
- }
262
-
263
- .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
264
- cursor: pointer;
265
- min-width: 30px;
266
- width: 30px;
267
- height: 30px;
268
- opacity: 0;
269
- position: absolute;
270
- top: 0px;
271
- left: 0px;
272
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
273
- background-color: deepskyblue;
274
- color: white;
275
- border-radius: 30px;
276
- display: flex;
277
- flex-flow: row;
278
- justify-content: center;
279
- align-items: center;
280
- animation: anticlockwise 0.15s linear;
281
- }
282
-
283
- .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
284
- font-size: 22px;
285
- }
286
-
287
- .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
288
- width: 30px;
289
- height: 30px;
290
- opacity: 1;
291
- animation: clockwise 0.15s linear;
292
- overflow: hidden;
293
- position: absolute;
294
- }
295
-
296
- .Checkbox {
297
- position: relative;
298
- white-space: pre;
299
- }
300
-
301
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
302
- box-sizing: border-box;
171
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
172
+ box-sizing: border-box;
303
173
  }
304
174
 
305
175
  .Checkbox label {
@@ -360,38 +230,6 @@
360
230
  background: rgba(0, 0, 0, 0.26);
361
231
  }
362
232
 
363
- .DNDContainer {
364
- position: relative;
365
- }
366
-
367
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
368
- cursor: pointer;
369
- }
370
-
371
- .DNDContainer .Draggable.placeholder {
372
- opacity: 0.2;
373
- }
374
-
375
- .DNDContainer .Draggable.copy {
376
- position: absolute;
377
- box-sizing: border-box;
378
- will-change: transform;
379
- opacity: 0;
380
- }
381
-
382
- .DNDContainer .Draggable.dragged {
383
- z-index: 10;
384
- }
385
-
386
- .DNDContainer .overlay {
387
- position: absolute;
388
- top: 0;
389
- left: 0;
390
- right: 0;
391
- bottom: 0;
392
- pointer-events: none;
393
- }
394
-
395
233
  .DialogModal {
396
234
  overflow: hidden;
397
235
  }
@@ -434,19 +272,6 @@
434
272
  margin-bottom: 0;
435
273
  }
436
274
 
437
- .CircleProgress {
438
- width: 48px;
439
- height: 48px;
440
- }
441
-
442
- .CircleProgress .line {
443
- stroke-width: 2px;
444
- stroke: black;
445
- stroke-linecap: square;
446
- fill: none;
447
- transition: stroke-dashoffset 0.2s ease;
448
- }
449
-
450
275
  .DropFileInput {
451
276
  flex-grow: 1;
452
277
  }
@@ -474,77 +299,347 @@
474
299
  margin-right: 10px;
475
300
  }
476
301
 
477
- .ImageGallery {
478
- position: fixed;
479
- top: 0;
480
- left: 0;
481
- bottom: 0;
482
- right: 0;
483
- z-index: 1000;
484
- background-color: rgba(0, 0, 0, 0.01);
485
- user-select: none;
302
+ .DNDContainer {
303
+ position: relative;
486
304
  }
487
305
 
488
- .ImageGallery:focus {
489
- outline-width: 0px;
306
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
307
+ cursor: pointer;
490
308
  }
491
309
 
492
- .ImageGallery.animated {
493
- transition: background-color 0.25s ease;
494
- opacity: 1;
310
+ .DNDContainer .Draggable.placeholder {
311
+ opacity: 0.2;
495
312
  }
496
313
 
497
- .ImageGallery.mounting, .ImageGallery.mounted {
498
- background-color: rgba(0, 0, 0, 0.8);
314
+ .DNDContainer .Draggable.copy {
315
+ position: absolute;
316
+ box-sizing: border-box;
317
+ will-change: transform;
318
+ opacity: 0;
499
319
  }
500
320
 
501
- .ImageGallery .image {
321
+ .DNDContainer .Draggable.dragged {
322
+ z-index: 10;
323
+ }
324
+
325
+ .DNDContainer .overlay {
502
326
  position: absolute;
503
- cursor: grab;
327
+ top: 0;
328
+ left: 0;
329
+ right: 0;
330
+ bottom: 0;
331
+ pointer-events: none;
504
332
  }
505
333
 
506
- .ImageGallery .image .counter {
507
- display: none;
334
+ .Modal {
335
+ display: block;
336
+ position: fixed;
337
+ top: 0;
338
+ left: 0;
339
+ right: 0;
340
+ bottom: 100%;
341
+ overflow-y: scroll;
342
+ transition: bottom 0ms linear;
343
+ transition-delay: 0.2s;
508
344
  }
509
345
 
510
- .ImageGallery .image img {
511
- border-radius: 4px;
512
- max-width: 100%;
513
- min-width: 100%;
346
+ .Modal.show {
347
+ transition-delay: 0s;
348
+ bottom: 0;
514
349
  }
515
350
 
516
- .ImageGallery .image.animated {
517
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
518
- will-change: top, left, width, height, opacity;
351
+ .Modal > .overlay {
352
+ position: fixed;
353
+ top: 0;
354
+ bottom: 100%;
355
+ left: 0;
356
+ right: 0;
357
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
358
+ opacity: 0;
359
+ background-color: black;
360
+ pointer-events: none;
519
361
  }
520
362
 
521
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
522
- opacity: 1;
363
+ .Modal > .overlay.show {
364
+ opacity: 0.5;
365
+ bottom: 0;
523
366
  }
524
367
 
525
- .ImageGallery .image.zoomed {
526
- text-align: center;
527
- overflow: hidden;
368
+ .Modal > .content {
369
+ left: 50%;
370
+ top: 10vh;
371
+ margin-bottom: 10vh;
372
+ font-size: 16px;
373
+ padding: 0;
374
+ opacity: 0;
375
+ transition: opacity 0.25s ease, transform 0.25s ease;
376
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
377
+ transform-origin: top;
378
+ position: absolute;
379
+ border-radius: 2px;
380
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
528
381
  }
529
382
 
530
- .ImageGallery .image.dragging {
531
- transition: none;
532
- cursor: move;
383
+ .Modal > .content.show {
384
+ opacity: 1;
385
+ transform: scaleY(1) translateY(0px) translateX(-50%);
533
386
  }
534
387
 
535
- .ImageGallery .image .close {
536
- position: absolute;
537
- top: -18px;
538
- right: -18px;
388
+ .Modal > .content > .Scrollable {
389
+ overflow: visible;
390
+ max-height: 80vh;
539
391
  }
540
392
 
541
- .ImageGallery .image .spinner {
542
- position: absolute;
543
- top: 0;
544
- bottom: 0;
545
- left: 0;
546
- right: 0;
547
- background: rgba(0, 0, 0, 0.65);
393
+ .Modal > .content > .Scrollable > .viewport {
394
+ min-width: 10px;
395
+ min-height: 10px;
396
+ }
397
+
398
+ .Modal > .content > .Button.close {
399
+ top: 10px;
400
+ right: 10px;
401
+ position: absolute;
402
+ }
403
+
404
+ .Scrollable {
405
+ max-height: 250px;
406
+ max-width: 250px;
407
+ padding-right: 5px;
408
+ position: relative;
409
+ display: flex;
410
+ flex-flow: column;
411
+ align-items: stretch;
412
+ overflow: hidden;
413
+ }
414
+
415
+ .Scrollable:hover > .scrollbar.auto {
416
+ transition-delay: 0s;
417
+ opacity: 1;
418
+ }
419
+
420
+ .Scrollable .viewport {
421
+ overflow-y: scroll;
422
+ overflow-x: scroll;
423
+ max-height: 100%;
424
+ scroll-behavior: smooth;
425
+ scrollbar-width: none;
426
+ }
427
+
428
+ .Scrollable .viewport::-webkit-scrollbar {
429
+ display: none;
430
+ }
431
+
432
+ .Scrollable.without-scroll-horizontal {
433
+ max-width: unset;
434
+ }
435
+
436
+ .Scrollable.without-scroll {
437
+ padding-right: 0;
438
+ max-height: unset;
439
+ }
440
+
441
+ .Scrollable.without-scroll > .viewport {
442
+ padding-right: 0;
443
+ margin-right: 0;
444
+ }
445
+
446
+ .Scrollable.without-scroll > .scrollbar {
447
+ visibility: hidden;
448
+ }
449
+
450
+ .Scrollable .scrollbar {
451
+ position: absolute;
452
+ right: 0px;
453
+ top: 0px;
454
+ width: 5px;
455
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
456
+ transition-delay: 0.5s;
457
+ z-index: 1;
458
+ }
459
+
460
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
461
+ opacity: 0;
462
+ }
463
+
464
+ .Scrollable .scrollbar .thumb {
465
+ background-color: rgba(0, 0, 0, 0.3);
466
+ width: 5px;
467
+ position: absolute;
468
+ right: 0px;
469
+ top: 0px;
470
+ user-select: none;
471
+ will-change: top;
472
+ border-radius: 2px;
473
+ }
474
+
475
+ .Scrollable .scrollbar .thumb:hover {
476
+ background-color: rgba(0, 0, 0, 0.5);
477
+ }
478
+
479
+ .Scrollable .scrollbar .thumb:active {
480
+ background-color: rgba(0, 0, 0, 0.7);
481
+ }
482
+
483
+ .Scrollable .scrollbar.horizontal {
484
+ left: 0px;
485
+ right: 0px;
486
+ height: 5px;
487
+ bottom: 0;
488
+ width: unset;
489
+ top: unset;
490
+ }
491
+
492
+ .Scrollable .scrollbar.horizontal .thumb {
493
+ height: 5px;
494
+ left: 0px;
495
+ bottom: 0px;
496
+ will-change: left;
497
+ }
498
+
499
+ .CircleProgress {
500
+ width: 48px;
501
+ height: 48px;
502
+ }
503
+
504
+ .CircleProgress .line {
505
+ stroke-width: 2px;
506
+ stroke: black;
507
+ stroke-linecap: square;
508
+ fill: none;
509
+ transition: stroke-dashoffset 0.2s ease;
510
+ }
511
+
512
+ .Dropzone {
513
+ position: relative;
514
+ }
515
+
516
+ .Dropzone > .overlay {
517
+ position: absolute;
518
+ left: 0;
519
+ right: 0;
520
+ top: 0;
521
+ bottom: 0;
522
+ background-color: #38ADC4;
523
+ z-index: 1;
524
+ opacity: 0;
525
+ transition: all 0.2s ease;
526
+ transition-delay: 100ms;
527
+ visibility: hidden;
528
+ display: flex;
529
+ justify-content: center;
530
+ align-items: center;
531
+ }
532
+
533
+ .Dropzone > .overlay .drop {
534
+ border-radius: 4px;
535
+ border: 1px dashed #FFFFFF;
536
+ position: absolute;
537
+ top: 18px;
538
+ left: 18px;
539
+ right: 18px;
540
+ bottom: 18px;
541
+ display: flex;
542
+ justify-content: center;
543
+ align-items: center;
544
+ font-weight: 500;
545
+ font-size: 18px;
546
+ color: #FFFFFF;
547
+ }
548
+
549
+ .Dropzone.dragging > .overlay {
550
+ opacity: 0.7;
551
+ visibility: visible;
552
+ transition-delay: 0s;
553
+ }
554
+
555
+ .Dropzone.dragging > * {
556
+ pointer-events: none;
557
+ }
558
+
559
+ .Dropzone > input.file {
560
+ position: absolute;
561
+ left: 0;
562
+ right: 0;
563
+ top: 0;
564
+ bottom: 0;
565
+ width: 100%;
566
+ height: 100%;
567
+ opacity: 0;
568
+ cursor: pointer;
569
+ z-index: 1;
570
+ }
571
+
572
+ .ImageGallery {
573
+ position: fixed;
574
+ top: 0;
575
+ left: 0;
576
+ bottom: 0;
577
+ right: 0;
578
+ z-index: 1000;
579
+ background-color: rgba(0, 0, 0, 0.01);
580
+ user-select: none;
581
+ }
582
+
583
+ .ImageGallery:focus {
584
+ outline-width: 0px;
585
+ }
586
+
587
+ .ImageGallery.animated {
588
+ transition: background-color 0.25s ease;
589
+ opacity: 1;
590
+ }
591
+
592
+ .ImageGallery.mounting, .ImageGallery.mounted {
593
+ background-color: rgba(0, 0, 0, 0.8);
594
+ }
595
+
596
+ .ImageGallery .image {
597
+ position: absolute;
598
+ cursor: grab;
599
+ }
600
+
601
+ .ImageGallery .image .counter {
602
+ display: none;
603
+ }
604
+
605
+ .ImageGallery .image img {
606
+ border-radius: 4px;
607
+ max-width: 100%;
608
+ min-width: 100%;
609
+ }
610
+
611
+ .ImageGallery .image.animated {
612
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
613
+ will-change: top, left, width, height, opacity;
614
+ }
615
+
616
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
617
+ opacity: 1;
618
+ }
619
+
620
+ .ImageGallery .image.zoomed {
621
+ text-align: center;
622
+ overflow: hidden;
623
+ }
624
+
625
+ .ImageGallery .image.dragging {
626
+ transition: none;
627
+ cursor: move;
628
+ }
629
+
630
+ .ImageGallery .image .close {
631
+ position: absolute;
632
+ top: -18px;
633
+ right: -18px;
634
+ }
635
+
636
+ .ImageGallery .image .spinner {
637
+ position: absolute;
638
+ top: 0;
639
+ bottom: 0;
640
+ left: 0;
641
+ right: 0;
642
+ background: rgba(0, 0, 0, 0.65);
548
643
  }
549
644
 
550
645
  .ImageGallery .image .spinner .SpinningProgress {
@@ -709,472 +804,345 @@
709
804
  font-size: 24px;
710
805
  }
711
806
 
712
- .Modal {
713
- display: block;
714
- position: fixed;
715
- top: 0;
716
- left: 0;
717
- right: 0;
718
- bottom: 100%;
719
- overflow-y: scroll;
720
- transition: bottom 0ms linear;
721
- transition-delay: 0.2s;
722
- }
723
-
724
- .Modal.show {
725
- transition-delay: 0s;
726
- bottom: 0;
727
- }
728
-
729
- .Modal > .overlay {
730
- position: fixed;
731
- top: 0;
732
- bottom: 100%;
733
- left: 0;
734
- right: 0;
735
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
736
- opacity: 0;
737
- background-color: black;
738
- pointer-events: none;
739
- }
740
-
741
- .Modal > .overlay.show {
742
- opacity: 0.5;
743
- bottom: 0;
744
- }
745
-
746
- .Modal > .content {
747
- left: 50%;
748
- top: 10vh;
749
- margin-bottom: 10vh;
750
- font-size: 16px;
751
- padding: 0;
807
+ .animated {
808
+ transition: opacity 250ms ease;
752
809
  opacity: 0;
753
- transition: opacity 0.25s ease, transform 0.25s ease;
754
- transform: scaleY(0) translateY(-200px) translateX(-50%);
755
- transform-origin: top;
756
- position: absolute;
757
- border-radius: 2px;
758
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
759
810
  }
760
811
 
761
- .Modal > .content.show {
812
+ .animated.mounting, .animated.mounted {
762
813
  opacity: 1;
763
- transform: scaleY(1) translateY(0px) translateX(-50%);
764
814
  }
765
815
 
766
- .Modal > .content > .Scrollable {
767
- overflow: visible;
768
- max-height: 80vh;
816
+ .AutocompleteSelect {
817
+ display: inline-flex;
818
+ flex-flow: column;
819
+ justify-content: center;
820
+ position: relative;
821
+ min-width: 250px;
822
+ min-height: 36px;
823
+ user-select: none;
769
824
  }
770
825
 
771
- .Modal > .content > .Scrollable > .viewport {
772
- min-width: 10px;
773
- min-height: 10px;
826
+ @keyframes clockwise {
827
+ 0% {
828
+ -webkit-transform: rotate(-90deg);
829
+ }
830
+ 100% {
831
+ -webkit-transform: translateX(0px);
832
+ }
774
833
  }
775
-
776
- .Modal > .content > .Button.close {
777
- top: 10px;
778
- right: 10px;
779
- position: absolute;
834
+ @keyframes anticlockwise {
835
+ 0% {
836
+ -webkit-transform: rotate(90deg);
837
+ }
838
+ 100% {
839
+ -webkit-transform: translateX(0px);
840
+ }
780
841
  }
781
-
782
- .Dropzone {
783
- position: relative;
842
+ .AutocompleteSelect > .input {
843
+ width: 100%;
784
844
  }
785
845
 
786
- .Dropzone > .overlay {
787
- position: absolute;
788
- left: 0;
789
- right: 0;
790
- top: 0;
791
- bottom: 0;
792
- background-color: #38ADC4;
793
- z-index: 1;
794
- opacity: 0;
795
- transition: all 0.2s ease;
796
- transition-delay: 100ms;
797
- visibility: hidden;
798
- display: flex;
799
- justify-content: center;
800
- align-items: center;
846
+ .AutocompleteSelect .Scrollable {
847
+ padding-right: 0;
848
+ min-width: 100%;
801
849
  }
802
850
 
803
- .Dropzone > .overlay .drop {
804
- border-radius: 4px;
805
- border: 1px dashed #FFFFFF;
806
- position: absolute;
807
- top: 18px;
808
- left: 18px;
809
- right: 18px;
810
- bottom: 18px;
811
- display: flex;
812
- justify-content: center;
813
- align-items: center;
814
- font-weight: 500;
815
- font-size: 18px;
816
- color: #FFFFFF;
851
+ .AutocompleteSelect.inline-multiple > .label {
852
+ top: -12px;
817
853
  }
818
854
 
819
- .Dropzone.dragging > .overlay {
820
- opacity: 0.7;
821
- visibility: visible;
822
- transition-delay: 0s;
855
+ .AutocompleteSelect.inline-multiple > .selected {
856
+ flex-flow: row wrap;
823
857
  }
824
858
 
825
- .Dropzone.dragging > * {
826
- pointer-events: none;
859
+ .AutocompleteSelect.multiple-mini-inline {
860
+ height: 42px;
827
861
  }
828
862
 
829
- .Dropzone > input.file {
830
- position: absolute;
831
- left: 0;
832
- right: 0;
833
- top: 0;
834
- bottom: 0;
835
- width: 100%;
836
- height: 100%;
837
- opacity: 0;
863
+ .AutocompleteSelect.multiple-mini-inline > .label {
838
864
  cursor: pointer;
839
- z-index: 1;
865
+ width: 100%;
866
+ margin-left: -10px;
867
+ padding: 10px;
868
+ box-sizing: border-box;
869
+ top: 0;
840
870
  }
841
871
 
842
- .Scrollable {
843
- max-height: 250px;
844
- max-width: 250px;
845
- padding-right: 5px;
846
- position: relative;
847
- display: flex;
848
- flex-flow: column;
849
- align-items: stretch;
850
- overflow: hidden;
872
+ .AutocompleteSelect.multiple-mini-inline > .label.active {
873
+ padding: 0 10px;
851
874
  }
852
875
 
853
- .Scrollable:hover > .scrollbar.auto {
854
- transition-delay: 0s;
855
- opacity: 1;
876
+ .AutocompleteSelect.multiple-mini-inline > .selected {
877
+ width: 250px;
856
878
  }
857
879
 
858
- .Scrollable .viewport {
859
- overflow-y: scroll;
860
- overflow-x: scroll;
861
- max-height: 100%;
862
- scroll-behavior: smooth;
863
- scrollbar-width: none;
880
+ .AutocompleteSelect.multiple-mini-inline > .input {
881
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
882
+ position: absolute;
883
+ top: 38px;
884
+ z-index: 2;
885
+ background-color: white;
886
+ min-width: 130%;
864
887
  }
865
888
 
866
- .Scrollable .viewport::-webkit-scrollbar {
867
- display: none;
889
+ .AutocompleteSelect.multiple-mini-inline > .input .TextField {
890
+ padding-left: 10px;
891
+ padding-right: 10px;
892
+ width: 100%;
893
+ box-sizing: border-box;
868
894
  }
869
895
 
870
- .Scrollable.without-scroll-horizontal {
871
- max-width: unset;
896
+ .AutocompleteSelect.multiple-mini-inline > .input.hidden {
897
+ opacity: 0;
898
+ visibility: hidden;
872
899
  }
873
900
 
874
- .Scrollable.without-scroll {
875
- padding-right: 0;
876
- max-height: unset;
901
+ .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
902
+ margin-top: 0;
877
903
  }
878
904
 
879
- .Scrollable.without-scroll > .viewport {
880
- padding-right: 0;
881
- margin-right: 0;
905
+ .AutocompleteSelect .TextField {
906
+ margin-top: 8px;
882
907
  }
883
908
 
884
- .Scrollable.without-scroll > .scrollbar {
885
- visibility: hidden;
909
+ .AutocompleteSelect .TextField input {
910
+ font-size: 14px;
886
911
  }
887
912
 
888
- .Scrollable .scrollbar {
913
+ .AutocompleteSelect > .label {
889
914
  position: absolute;
890
- right: 0px;
891
- top: 0px;
892
- width: 5px;
893
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
894
- transition-delay: 0.5s;
915
+ transition: all 0.2s ease;
916
+ font-family: Roboto, sans-serif;
917
+ font-size: 14px;
918
+ color: rgba(0, 0, 0, 0.5);
895
919
  z-index: 1;
896
- }
897
-
898
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
899
- opacity: 0;
900
- }
901
-
902
- .Scrollable .scrollbar .thumb {
903
- background-color: rgba(0, 0, 0, 0.3);
904
- width: 5px;
905
- position: absolute;
906
- right: 0px;
907
- top: 0px;
920
+ cursor: text;
908
921
  user-select: none;
909
- will-change: top;
910
- border-radius: 2px;
911
- }
912
-
913
- .Scrollable .scrollbar .thumb:hover {
914
- background-color: rgba(0, 0, 0, 0.5);
922
+ left: 4px;
923
+ top: 12px;
915
924
  }
916
925
 
917
- .Scrollable .scrollbar .thumb:active {
918
- background-color: rgba(0, 0, 0, 0.7);
926
+ .AutocompleteSelect > .label.active {
927
+ font-size: 10px;
928
+ top: 2px;
919
929
  }
920
930
 
921
- .Scrollable .scrollbar.horizontal {
922
- left: 0px;
923
- right: 0px;
924
- height: 5px;
925
- bottom: 0;
926
- width: unset;
927
- top: unset;
931
+ .AutocompleteSelect > .label.active .arrow {
932
+ border-width: 4px 4px 0 4px;
933
+ margin-bottom: 1px;
928
934
  }
929
935
 
930
- .Scrollable .scrollbar.horizontal .thumb {
931
- height: 5px;
932
- left: 0px;
933
- bottom: 0px;
934
- will-change: left;
936
+ .AutocompleteSelect > .label .arrow {
937
+ width: 0;
938
+ height: 0;
939
+ border-style: solid;
940
+ border-width: 5px 5px 0 5px;
941
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
942
+ display: inline-block;
943
+ margin-left: 5px;
944
+ margin-bottom: 2px;
945
+ transition: all 0.2s ease;
935
946
  }
936
947
 
937
- .Snackbar {
938
- transform: translateX(-50%);
939
- overflow: hidden;
940
- background-color: #323232;
941
- padding: 14px 24px 14px 24px;
942
- color: #fff;
943
- min-width: 288px;
944
- max-width: 568px;
945
- position: fixed;
946
- bottom: -50px;
947
- left: 50%;
948
+ .AutocompleteSelect > .selected {
949
+ margin-top: 8px;
948
950
  display: flex;
949
- flex-wrap: nowrap;
950
- align-items: center;
951
- opacity: 0;
952
- transition: bottom 0.25s ease, opacity 0.2s ease;
953
- border-radius: 4px;
954
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
955
- }
956
-
957
- .Snackbar.shown {
958
- bottom: 15px;
959
- opacity: 1;
960
- }
961
-
962
- .Snackbar .message {
963
- overflow: hidden;
964
- line-height: 1.2em;
965
- min-height: 1.2em;
966
- max-height: 2.4em;
967
- flex: 1;
968
- }
969
-
970
- .Snackbar .action {
971
- text-transform: uppercase;
972
- font-weight: bold;
973
- margin-left: 48px;
974
- color: #bf3727;
975
- }
976
-
977
- .Snackbar .action a {
978
- text-decoration: none;
979
- color: #bf3727;
951
+ cursor: pointer;
980
952
  }
981
953
 
982
- .Button.FloatingActionButton {
954
+ .AutocompleteSelect > .selected > .reset {
955
+ min-width: 36px;
956
+ max-width: 36px;
983
957
  position: absolute;
984
- right: 16px;
985
- bottom: 16px;
986
- width: 56px;
987
- height: 56px;
988
- padding: 16px;
989
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
990
- }
991
-
992
- .Button.FloatingActionButton.raised {
993
- 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);
958
+ right: 0;
959
+ top: 0;
960
+ background-color: white;
994
961
  }
995
962
 
996
- .Button.FloatingActionButton.mini {
997
- width: 40px;
998
- height: 40px;
999
- padding: 8px;
963
+ .AutocompleteSelect > .selected > .reset .material-icons {
964
+ margin: 0;
965
+ color: #BFBFBF;
966
+ font-size: 20px;
1000
967
  }
1001
968
 
1002
- .Button.FloatingActionButton.hidden {
1003
- bottom: -100px;
969
+ .AutocompleteSelect > .selected.nolabel {
970
+ margin-top: 0px;
971
+ border-bottom: 1px solid #e5e3e3;
1004
972
  }
1005
973
 
1006
- .animated {
1007
- transition: opacity 250ms ease;
1008
- opacity: 0;
974
+ .AutocompleteSelect > .selected.nolabel .DummyChild {
975
+ display: inline-flex;
976
+ align-items: center;
977
+ flex-grow: 1;
978
+ font-size: 16px;
979
+ margin: 0px 10px;
980
+ margin-bottom: 5px;
981
+ height: 19px;
1009
982
  }
1010
983
 
1011
- .animated.mounting, .animated.mounted {
1012
- opacity: 1;
984
+ .AutocompleteSelect > .selected.nolabel .arrow {
985
+ width: 0;
986
+ height: 0;
987
+ border-style: solid;
988
+ border-width: 5px 5px 0 5px;
989
+ border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
990
+ display: inline-block;
991
+ transition: all 0.2s ease;
992
+ margin: 0px 17px 3px 5px;
1013
993
  }
1014
994
 
1015
- .Button {
1016
- position: relative;
1017
- min-width: 64px;
1018
- min-height: 36px;
1019
- height: 24px;
1020
- margin: 0px;
1021
- padding: 0px 16px;
1022
- border: none;
1023
- outline: none;
995
+ .AutocompleteSelect > .selected.inline {
1024
996
  font-size: 14px;
1025
- font-weight: 500;
1026
- letter-spacing: 1.25px;
1027
- background: #dfdfdf;
1028
- text-transform: uppercase;
1029
997
  font-family: Roboto, sans-serif;
1030
- display: inline-flex;
1031
- justify-content: center;
1032
- align-items: center;
1033
- cursor: pointer;
998
+ color: #1e252d;
999
+ text-overflow: ellipsis;
1000
+ white-space: nowrap;
1034
1001
  overflow: hidden;
1035
- user-select: none;
1036
- border-radius: 3px;
1037
- transition: all 0.2s ease;
1038
- }
1039
-
1040
- .Button.flat {
1041
- background-color: transparent;
1042
- }
1043
-
1044
- .Button.flat:hover {
1045
- background-color: rgba(0, 0, 0, 0.05);
1046
- }
1047
-
1048
- .Button.green {
1049
- background-color: #43a047;
1050
- color: white;
1051
- }
1052
-
1053
- .Button.green:hover {
1054
- background-color: #3b8e3f;
1055
- }
1056
-
1057
- .Button.blue {
1058
- background-color: #039be5;
1059
- color: white;
1060
- }
1061
-
1062
- .Button.blue:hover {
1063
- background-color: #038acc;
1002
+ display: flex;
1003
+ align-items: center;
1064
1004
  }
1065
1005
 
1066
- .Button.red {
1067
- background-color: #e53935;
1068
- color: white;
1006
+ .AutocompleteSelect > .selected.clickable {
1007
+ overflow: hidden;
1008
+ cursor: pointer;
1009
+ padding: 10px;
1010
+ margin-left: -10px;
1011
+ margin-right: -10px;
1069
1012
  }
1070
1013
 
1071
- .Button.red:hover {
1072
- background-color: #e2231e;
1014
+ .AutocompleteSelect.inlineSelected {
1015
+ flex-flow: row wrap;
1016
+ justify-content: flex-start;
1073
1017
  }
1074
1018
 
1075
- .Button.black {
1076
- background-color: #1e252d;
1077
- color: white;
1019
+ .AutocompleteSelect.inlineSelected.hasSelected {
1020
+ padding-top: 7px;
1078
1021
  }
1079
1022
 
1080
- .Button.black:hover {
1081
- background-color: #14181e;
1023
+ .AutocompleteSelect.inlineSelected > .label {
1024
+ width: 100%;
1025
+ height: 100%;
1082
1026
  }
1083
1027
 
1084
- .Button.gray {
1085
- background: #D9D9D9;
1086
- color: #999999;
1028
+ .AutocompleteSelect.inlineSelected > .label.active {
1029
+ z-index: 0;
1087
1030
  }
1088
1031
 
1089
- .Button.gray:hover {
1090
- background-color: #cccccc;
1032
+ .AutocompleteSelect.inlineSelected .input {
1033
+ width: unset;
1034
+ flex-basis: 50px;
1035
+ flex-grow: 1;
1091
1036
  }
1092
1037
 
1093
- .Button.small {
1094
- padding: 0px 8px;
1095
- min-height: 16px;
1096
- min-width: 16px;
1038
+ .AutocompleteSelect.inlineSelected .input::after {
1039
+ content: attr(data-value);
1040
+ visibility: hidden;
1041
+ white-space: pre;
1042
+ font: inherit;
1043
+ min-width: 2px;
1044
+ border: 0;
1045
+ margin: 0;
1046
+ outline: 0;
1047
+ float: left;
1048
+ display: inline-block;
1049
+ margin-top: -24px;
1050
+ font-size: 14px;
1051
+ padding: 2px;
1097
1052
  }
1098
1053
 
1099
- .Button > .material-icons {
1100
- margin-right: 10px;
1054
+ .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
1055
+ margin-top: 7px;
1101
1056
  }
1102
1057
 
1103
- .Button.round {
1104
- padding: 0px;
1105
- min-width: 36px;
1106
- border-radius: 50%;
1058
+ .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
1059
+ cursor: pointer;
1060
+ margin: 5px 10px 5px 0px;
1061
+ display: inline-flex;
1062
+ flex-flow: row wrap;
1063
+ height: 30px;
1064
+ align-items: center;
1065
+ background-color: #f0f0f0;
1066
+ border-radius: 30px;
1067
+ position: relative;
1068
+ font-family: Roboto, sans-serif;
1069
+ font-size: 14px;
1070
+ color: #1e252d;
1107
1071
  }
1108
1072
 
1109
- .Button.round > .material-icons {
1110
- margin: 0px;
1073
+ .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
1074
+ padding-left: 35px;
1075
+ padding-right: 10px;
1111
1076
  }
1112
1077
 
1113
- .Button .ripple {
1078
+ .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
1079
+ cursor: pointer;
1080
+ min-width: 30px;
1081
+ width: 30px;
1082
+ height: 30px;
1083
+ opacity: 0;
1114
1084
  position: absolute;
1115
- background: rgba(0, 0, 0, 0.1);
1116
- border-radius: 100%;
1117
- transform: scale(0);
1118
- pointer-events: none;
1119
- transition: opacity 0.2s ease-out;
1120
- }
1121
-
1122
- .Button .ripple.show {
1123
- animation: ripple 0.35s ease-out;
1085
+ top: 0px;
1086
+ left: 0px;
1087
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1088
+ background-color: deepskyblue;
1089
+ color: white;
1090
+ border-radius: 30px;
1091
+ display: flex;
1092
+ flex-flow: row;
1093
+ justify-content: center;
1094
+ align-items: center;
1095
+ animation: anticlockwise 0.15s linear;
1124
1096
  }
1125
1097
 
1126
- .Button:active .ripple.showed {
1127
- opacity: 1;
1098
+ .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
1099
+ font-size: 22px;
1128
1100
  }
1129
1101
 
1130
- .Button:focus .ripple.focused {
1102
+ .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
1103
+ width: 30px;
1104
+ height: 30px;
1131
1105
  opacity: 1;
1132
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
1133
- transform: scale(1);
1134
- animation: resize 1.25s ease-out infinite;
1135
- animation-delay: 0.2s;
1136
- animation-direction: alternate;
1106
+ animation: clockwise 0.15s linear;
1107
+ overflow: hidden;
1108
+ position: absolute;
1137
1109
  }
1138
1110
 
1139
- .Button .ripple.showed {
1140
- transform: scale(2);
1141
- opacity: 0;
1111
+ .ModalMenu {
1112
+ position: absolute;
1113
+ top: 10px;
1114
+ right: 50px;
1142
1115
  }
1143
1116
 
1144
- @keyframes ripple {
1145
- to {
1146
- transform: scale(2);
1147
- }
1148
- }
1149
- @keyframes resize {
1150
- to {
1151
- transform: scale(0.9);
1152
- }
1153
- }
1154
- .Button.raised {
1155
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1117
+ .ModalMenu .material-icons {
1118
+ color: #818181;
1156
1119
  }
1157
1120
 
1158
- .Button.raised:hover {
1159
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
1121
+ .ModalMenu .Button.animated {
1122
+ position: absolute;
1123
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1124
+ opacity: 0;
1125
+ right: 0;
1126
+ top: 0;
1160
1127
  }
1161
1128
 
1162
- .Button.raised:active {
1163
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
1129
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1130
+ opacity: 1;
1164
1131
  }
1165
1132
 
1166
- .Button.disabled {
1167
- box-shadow: none;
1168
- background: #D9D9D9;
1169
- color: #999999;
1133
+ .ModalMenu .Button.animated.unmounting {
1134
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1170
1135
  }
1171
1136
 
1172
- .Button.disabled:hover {
1173
- background-color: #cccccc;
1137
+ .ModalMenu .Button.active {
1138
+ background: #EBEBEB;
1174
1139
  }
1175
1140
 
1176
- .Button::-moz-focus-inner {
1177
- border: 0;
1141
+ .ModalMenu .separator {
1142
+ height: 24px;
1143
+ width: 1px;
1144
+ background-color: #D9D9D9;
1145
+ margin-left: 4px;
1178
1146
  }
1179
1147
 
1180
1148
  .FilteredList {
@@ -1255,158 +1223,7 @@
1255
1223
  }
1256
1224
 
1257
1225
  .FilteredList .child:not(.hidden):last-child {
1258
- margin-bottom: 8px;
1259
- }
1260
-
1261
- .TextField {
1262
- position: relative;
1263
- width: 100%;
1264
- }
1265
-
1266
- .TextField > label {
1267
- font-family: Roboto, sans-serif;
1268
- color: rgba(0, 0, 0, 0.3);
1269
- font-size: 16px;
1270
- position: absolute;
1271
- left: 0px;
1272
- top: 16px;
1273
- margin-top: -16px;
1274
- transition: all 0.2s ease;
1275
- user-select: none;
1276
- cursor: text;
1277
- }
1278
-
1279
- .TextField > input {
1280
- font-family: Roboto, sans-serif;
1281
- color: #1e252d;
1282
- height: 19px;
1283
- font-size: 16px;
1284
- width: 100%;
1285
- border: 0px;
1286
- padding-bottom: 4px;
1287
- padding-top: 0;
1288
- outline-color: rgba(0, 0, 0, 0);
1289
- }
1290
-
1291
- .TextField > input:focus {
1292
- outline: none;
1293
- }
1294
-
1295
- .TextField > input:disabled {
1296
- color: gray;
1297
- background-color: white;
1298
- }
1299
-
1300
- .TextField > input:disabled + .border {
1301
- height: 0px;
1302
- border-bottom: 2px dotted #e0e0e0;
1303
- }
1304
-
1305
- .TextField > input::placeholder {
1306
- font-family: Roboto, sans-serif;
1307
- color: rgba(0, 0, 0, 0.3);
1308
- opacity: 1;
1309
- }
1310
-
1311
- .TextField > .border {
1312
- border-bottom: 1px solid #e0e0e0;
1313
- height: 1px;
1314
- position: relative;
1315
- }
1316
-
1317
- .TextField > .border .line {
1318
- left: 50%;
1319
- width: 0;
1320
- height: 2px;
1321
- min-height: 2px;
1322
- background-color: #00bcd4;
1323
- transition: all 0.2s ease;
1324
- position: absolute;
1325
- }
1326
-
1327
- .TextField > .error {
1328
- text-align: left;
1329
- font-size: 10px;
1330
- min-height: 0;
1331
- line-height: 14px;
1332
- color: #f44336;
1333
- visibility: hidden;
1334
- opacity: 0;
1335
- transition: all 0.2s ease;
1336
- }
1337
-
1338
- .TextField.focused > label, .TextField.withValue > label {
1339
- top: 4px;
1340
- font-size: 12px;
1341
- line-height: 14px;
1342
- }
1343
-
1344
- .TextField.errored > .error {
1345
- visibility: visible;
1346
- opacity: 1;
1347
- }
1348
-
1349
- .TextField.errored > .border {
1350
- border-bottom-color: #f44336;
1351
- }
1352
-
1353
- .TextField.errored > label {
1354
- color: #f44336;
1355
- }
1356
-
1357
- .TextField.focused > label {
1358
- color: #00bcd4;
1359
- }
1360
-
1361
- .TextField.focused > .border .line {
1362
- left: 0;
1363
- width: 100%;
1364
- }
1365
-
1366
- .TextField.disabled label, .TextField.disabled input {
1367
- cursor: not-allowed;
1368
- }
1369
-
1370
- .TextField.withLabel {
1371
- margin-top: 15px;
1372
- }
1373
-
1374
- .TextField input::-webkit-contacts-auto-fill-button {
1375
- visibility: hidden;
1376
- display: none !important;
1377
- pointer-events: none;
1378
- position: absolute;
1379
- right: 0;
1380
- }
1381
-
1382
- .TextField input:-webkit-autofill {
1383
- -webkit-box-shadow: inset 0 0 0px 9999px white;
1384
- }
1385
-
1386
- @keyframes shake {
1387
- 0%, 100% {
1388
- transform: translateX(0);
1389
- }
1390
- 20%, 60% {
1391
- transform: translateX(-5px);
1392
- }
1393
- 40%, 80% {
1394
- transform: translateX(5px);
1395
- }
1396
- }
1397
- .TextField .shake {
1398
- animation-duration: 0.5s;
1399
- animation-fill-mode: both;
1400
- animation-timing-function: ease-in-out;
1401
- animation-name: shake;
1402
- }
1403
-
1404
- .ScrollableTable .Scrollable .scrollbar {
1405
- top: 56px;
1406
- }
1407
-
1408
- .ScrollableTable .Table {
1409
- position: static;
1226
+ margin-bottom: 8px;
1410
1227
  }
1411
1228
 
1412
1229
  .FormUploadProgress {
@@ -1560,24 +1377,6 @@
1560
1377
  display: none;
1561
1378
  }
1562
1379
 
1563
- .DNDContainer .DroppableList .Draggable {
1564
- transform: unset;
1565
- transition: unset;
1566
- opacity: 1;
1567
- }
1568
-
1569
- .DNDContainer .DroppableList .Draggable.dragged {
1570
- transition: unset !important;
1571
- }
1572
-
1573
- .DNDContainer .DroppableList.hover .Draggable {
1574
- transition: transform 0.2s ease-in;
1575
- }
1576
-
1577
- .DNDContainer .DroppableList.resetting .Draggable {
1578
- transition: transform 0.1s ease-in;
1579
- }
1580
-
1581
1380
  .SpinningProgress {
1582
1381
  width: 48px;
1583
1382
  height: 48px;
@@ -1631,41 +1430,242 @@
1631
1430
  stroke-dashoffset: -53px;
1632
1431
  }
1633
1432
  }
1634
- .ModalMenu {
1433
+ .DNDContainer .DroppableList .Draggable {
1434
+ transform: unset;
1435
+ transition: unset;
1436
+ opacity: 1;
1437
+ }
1438
+
1439
+ .DNDContainer .DroppableList .Draggable.dragged {
1440
+ transition: unset !important;
1441
+ }
1442
+
1443
+ .DNDContainer .DroppableList.hover .Draggable {
1444
+ transition: transform 0.2s ease-in;
1445
+ }
1446
+
1447
+ .DNDContainer .DroppableList.resetting .Draggable {
1448
+ transition: transform 0.1s ease-in;
1449
+ }
1450
+
1451
+ .Button.FloatingActionButton {
1635
1452
  position: absolute;
1636
- top: 10px;
1637
- right: 50px;
1453
+ right: 16px;
1454
+ bottom: 16px;
1455
+ width: 56px;
1456
+ height: 56px;
1457
+ padding: 16px;
1458
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1638
1459
  }
1639
1460
 
1640
- .ModalMenu .material-icons {
1641
- color: #818181;
1461
+ .Button.FloatingActionButton.raised {
1462
+ 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);
1642
1463
  }
1643
1464
 
1644
- .ModalMenu .Button.animated {
1465
+ .Button.FloatingActionButton.mini {
1466
+ width: 40px;
1467
+ height: 40px;
1468
+ padding: 8px;
1469
+ }
1470
+
1471
+ .Button.FloatingActionButton.hidden {
1472
+ bottom: -100px;
1473
+ }
1474
+
1475
+ .TextField {
1476
+ position: relative;
1477
+ width: 100%;
1478
+ }
1479
+
1480
+ .TextField > label {
1481
+ font-family: Roboto, sans-serif;
1482
+ color: rgba(0, 0, 0, 0.3);
1483
+ font-size: 16px;
1645
1484
  position: absolute;
1646
- transition: opacity 150ms ease-in, right 200ms ease-in;
1485
+ left: 0px;
1486
+ top: 16px;
1487
+ margin-top: -16px;
1488
+ transition: all 0.2s ease;
1489
+ user-select: none;
1490
+ cursor: text;
1491
+ }
1492
+
1493
+ .TextField > input {
1494
+ font-family: Roboto, sans-serif;
1495
+ color: #1e252d;
1496
+ height: 19px;
1497
+ font-size: 16px;
1498
+ width: 100%;
1499
+ border: 0px;
1500
+ padding-bottom: 4px;
1501
+ padding-top: 0;
1502
+ outline-color: rgba(0, 0, 0, 0);
1503
+ }
1504
+
1505
+ .TextField > input:focus {
1506
+ outline: none;
1507
+ }
1508
+
1509
+ .TextField > input:disabled {
1510
+ color: gray;
1511
+ background-color: white;
1512
+ }
1513
+
1514
+ .TextField > input:disabled + .border {
1515
+ height: 0px;
1516
+ border-bottom: 2px dotted #e0e0e0;
1517
+ }
1518
+
1519
+ .TextField > input::placeholder {
1520
+ font-family: Roboto, sans-serif;
1521
+ color: rgba(0, 0, 0, 0.3);
1522
+ opacity: 1;
1523
+ }
1524
+
1525
+ .TextField > .border {
1526
+ border-bottom: 1px solid #e0e0e0;
1527
+ height: 1px;
1528
+ position: relative;
1529
+ }
1530
+
1531
+ .TextField > .border .line {
1532
+ left: 50%;
1533
+ width: 0;
1534
+ height: 2px;
1535
+ min-height: 2px;
1536
+ background-color: #00bcd4;
1537
+ transition: all 0.2s ease;
1538
+ position: absolute;
1539
+ }
1540
+
1541
+ .TextField > .error {
1542
+ text-align: left;
1543
+ font-size: 10px;
1544
+ min-height: 0;
1545
+ line-height: 14px;
1546
+ color: #f44336;
1547
+ visibility: hidden;
1647
1548
  opacity: 0;
1549
+ transition: all 0.2s ease;
1550
+ }
1551
+
1552
+ .TextField.focused > label, .TextField.withValue > label {
1553
+ top: 4px;
1554
+ font-size: 12px;
1555
+ line-height: 14px;
1556
+ }
1557
+
1558
+ .TextField.errored > .error {
1559
+ visibility: visible;
1560
+ opacity: 1;
1561
+ }
1562
+
1563
+ .TextField.errored > .border {
1564
+ border-bottom-color: #f44336;
1565
+ }
1566
+
1567
+ .TextField.errored > label {
1568
+ color: #f44336;
1569
+ }
1570
+
1571
+ .TextField.focused > label {
1572
+ color: #00bcd4;
1573
+ }
1574
+
1575
+ .TextField.focused > .border .line {
1576
+ left: 0;
1577
+ width: 100%;
1578
+ }
1579
+
1580
+ .TextField.disabled label, .TextField.disabled input {
1581
+ cursor: not-allowed;
1582
+ }
1583
+
1584
+ .TextField.withLabel {
1585
+ margin-top: 15px;
1586
+ }
1587
+
1588
+ .TextField input::-webkit-contacts-auto-fill-button {
1589
+ visibility: hidden;
1590
+ display: none !important;
1591
+ pointer-events: none;
1592
+ position: absolute;
1648
1593
  right: 0;
1649
- top: 0;
1650
1594
  }
1651
1595
 
1652
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1596
+ .TextField input:-webkit-autofill {
1597
+ -webkit-box-shadow: inset 0 0 0px 9999px white;
1598
+ }
1599
+
1600
+ @keyframes shake {
1601
+ 0%, 100% {
1602
+ transform: translateX(0);
1603
+ }
1604
+ 20%, 60% {
1605
+ transform: translateX(-5px);
1606
+ }
1607
+ 40%, 80% {
1608
+ transform: translateX(5px);
1609
+ }
1610
+ }
1611
+ .TextField .shake {
1612
+ animation-duration: 0.5s;
1613
+ animation-fill-mode: both;
1614
+ animation-timing-function: ease-in-out;
1615
+ animation-name: shake;
1616
+ }
1617
+
1618
+ .ScrollableTable .Scrollable .scrollbar {
1619
+ top: 56px;
1620
+ }
1621
+
1622
+ .ScrollableTable .Table {
1623
+ position: static;
1624
+ }
1625
+
1626
+ .Snackbar {
1627
+ transform: translateX(-50%);
1628
+ overflow: hidden;
1629
+ background-color: #323232;
1630
+ padding: 14px 24px 14px 24px;
1631
+ color: #fff;
1632
+ min-width: 288px;
1633
+ max-width: 568px;
1634
+ position: fixed;
1635
+ bottom: -50px;
1636
+ left: 50%;
1637
+ display: flex;
1638
+ flex-wrap: nowrap;
1639
+ align-items: center;
1640
+ opacity: 0;
1641
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1642
+ border-radius: 4px;
1643
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1644
+ }
1645
+
1646
+ .Snackbar.shown {
1647
+ bottom: 15px;
1653
1648
  opacity: 1;
1654
1649
  }
1655
1650
 
1656
- .ModalMenu .Button.animated.unmounting {
1657
- transition: opacity 100ms ease-out, right 200ms ease-out;
1651
+ .Snackbar .message {
1652
+ overflow: hidden;
1653
+ line-height: 1.2em;
1654
+ min-height: 1.2em;
1655
+ max-height: 2.4em;
1656
+ flex: 1;
1658
1657
  }
1659
1658
 
1660
- .ModalMenu .Button.active {
1661
- background: #EBEBEB;
1659
+ .Snackbar .action {
1660
+ text-transform: uppercase;
1661
+ font-weight: bold;
1662
+ margin-left: 48px;
1663
+ color: #bf3727;
1662
1664
  }
1663
1665
 
1664
- .ModalMenu .separator {
1665
- height: 24px;
1666
- width: 1px;
1667
- background-color: #D9D9D9;
1668
- margin-left: 4px;
1666
+ .Snackbar .action a {
1667
+ text-decoration: none;
1668
+ color: #bf3727;
1669
1669
  }
1670
1670
 
1671
1671
  .Table {