react-ui-basics 0.0.150 → 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,309 +1,166 @@
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
- .AutocompleteSelect {
15
- display: inline-flex;
16
- flex-flow: column;
17
- justify-content: center;
1
+ .Button {
18
2
  position: relative;
19
- min-width: 250px;
3
+ min-width: 64px;
20
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;
21
21
  user-select: none;
22
+ border-radius: 3px;
23
+ transition: all 0.2s ease;
22
24
  }
23
25
 
24
- @keyframes clockwise {
25
- 0% {
26
- -webkit-transform: rotate(-90deg);
27
- }
28
- 100% {
29
- -webkit-transform: translateX(0px);
30
- }
26
+ .Button.flat {
27
+ background-color: transparent;
31
28
  }
32
- @keyframes anticlockwise {
33
- 0% {
34
- -webkit-transform: rotate(90deg);
35
- }
36
- 100% {
37
- -webkit-transform: translateX(0px);
38
- }
29
+
30
+ .Button.flat:hover {
31
+ background-color: rgba(0, 0, 0, 0.05);
39
32
  }
40
- .AutocompleteSelect > .input {
41
- width: 100%;
33
+
34
+ .Button.green {
35
+ background-color: #43a047;
36
+ color: white;
42
37
  }
43
38
 
44
- .AutocompleteSelect .Scrollable {
45
- padding-right: 0;
46
- min-width: 100%;
39
+ .Button.green:hover {
40
+ background-color: #3b8e3f;
47
41
  }
48
42
 
49
- .AutocompleteSelect.inline-multiple > .label {
50
- top: -12px;
43
+ .Button.blue {
44
+ background-color: #039be5;
45
+ color: white;
51
46
  }
52
47
 
53
- .AutocompleteSelect.inline-multiple > .selected {
54
- flex-flow: row wrap;
48
+ .Button.blue:hover {
49
+ background-color: #038acc;
55
50
  }
56
51
 
57
- .AutocompleteSelect.multiple-mini-inline {
58
- height: 42px;
52
+ .Button.red {
53
+ background-color: #e53935;
54
+ color: white;
59
55
  }
60
56
 
61
- .AutocompleteSelect.multiple-mini-inline > .label {
62
- cursor: pointer;
63
- width: 100%;
64
- margin-left: -10px;
65
- padding: 10px;
66
- box-sizing: border-box;
67
- top: 0;
57
+ .Button.red:hover {
58
+ background-color: #e2231e;
68
59
  }
69
60
 
70
- .AutocompleteSelect.multiple-mini-inline > .label.active {
71
- padding: 0 10px;
61
+ .Button.black {
62
+ background-color: #1e252d;
63
+ color: white;
72
64
  }
73
65
 
74
- .AutocompleteSelect.multiple-mini-inline > .selected {
75
- width: 250px;
66
+ .Button.black:hover {
67
+ background-color: #14181e;
76
68
  }
77
69
 
78
- .AutocompleteSelect.multiple-mini-inline > .input {
79
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
80
- position: absolute;
81
- top: 38px;
82
- z-index: 2;
83
- background-color: white;
84
- min-width: 130%;
70
+ .Button.gray {
71
+ background: #D9D9D9;
72
+ color: #999999;
85
73
  }
86
74
 
87
- .AutocompleteSelect.multiple-mini-inline > .input .TextField {
88
- padding-left: 10px;
89
- padding-right: 10px;
90
- width: 100%;
91
- box-sizing: border-box;
75
+ .Button.gray:hover {
76
+ background-color: #cccccc;
92
77
  }
93
78
 
94
- .AutocompleteSelect.multiple-mini-inline > .input.hidden {
95
- opacity: 0;
96
- visibility: hidden;
79
+ .Button.small {
80
+ padding: 0px 8px;
81
+ min-height: 16px;
82
+ min-width: 16px;
97
83
  }
98
84
 
99
- .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
100
- margin-top: 0;
85
+ .Button > .material-icons {
86
+ margin-right: 10px;
101
87
  }
102
88
 
103
- .AutocompleteSelect .TextField {
104
- margin-top: 8px;
89
+ .Button.round {
90
+ padding: 0px;
91
+ min-width: 36px;
92
+ border-radius: 50%;
105
93
  }
106
94
 
107
- .AutocompleteSelect .TextField input {
108
- font-size: 14px;
95
+ .Button.round > .material-icons {
96
+ margin: 0px;
109
97
  }
110
98
 
111
- .AutocompleteSelect > .label {
99
+ .Button .ripple {
112
100
  position: absolute;
113
- transition: all 0.2s ease;
114
- font-family: Roboto, sans-serif;
115
- font-size: 14px;
116
- color: rgba(0, 0, 0, 0.5);
117
- z-index: 1;
118
- cursor: text;
119
- user-select: none;
120
- left: 4px;
121
- 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;
122
106
  }
123
107
 
124
- .AutocompleteSelect > .label.active {
125
- font-size: 10px;
126
- top: 2px;
108
+ .Button .ripple.show {
109
+ animation: ripple 0.35s ease-out;
127
110
  }
128
111
 
129
- .AutocompleteSelect > .label.active .arrow {
130
- border-width: 4px 4px 0 4px;
131
- margin-bottom: 1px;
112
+ .Button:active .ripple.showed {
113
+ opacity: 1;
132
114
  }
133
115
 
134
- .AutocompleteSelect > .label .arrow {
135
- width: 0;
136
- height: 0;
137
- border-style: solid;
138
- border-width: 5px 5px 0 5px;
139
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
140
- display: inline-block;
141
- margin-left: 5px;
142
- margin-bottom: 2px;
143
- 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;
144
123
  }
145
124
 
146
- .AutocompleteSelect > .selected {
147
- margin-top: 8px;
148
- display: flex;
149
- cursor: pointer;
125
+ .Button .ripple.showed {
126
+ transform: scale(2);
127
+ opacity: 0;
150
128
  }
151
129
 
152
- .AutocompleteSelect > .selected > .reset {
153
- min-width: 36px;
154
- max-width: 36px;
155
- position: absolute;
156
- right: 0;
157
- top: 0;
158
- background-color: white;
130
+ @keyframes ripple {
131
+ to {
132
+ transform: scale(2);
133
+ }
159
134
  }
160
-
161
- .AutocompleteSelect > .selected > .reset .material-icons {
162
- margin: 0;
163
- color: #BFBFBF;
164
- font-size: 20px;
135
+ @keyframes resize {
136
+ to {
137
+ transform: scale(0.9);
138
+ }
165
139
  }
166
-
167
- .AutocompleteSelect > .selected.nolabel {
168
- margin-top: 0px;
169
- border-bottom: 1px solid #e5e3e3;
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);
170
142
  }
171
143
 
172
- .AutocompleteSelect > .selected.nolabel .DummyChild {
173
- display: inline-flex;
174
- align-items: center;
175
- flex-grow: 1;
176
- font-size: 16px;
177
- margin: 0px 10px;
178
- margin-bottom: 5px;
179
- height: 19px;
144
+ .Button.raised:hover {
145
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
180
146
  }
181
147
 
182
- .AutocompleteSelect > .selected.nolabel .arrow {
183
- width: 0;
184
- height: 0;
185
- border-style: solid;
186
- border-width: 5px 5px 0 5px;
187
- border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
188
- display: inline-block;
189
- transition: all 0.2s ease;
190
- margin: 0px 17px 3px 5px;
148
+ .Button.raised:active {
149
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
191
150
  }
192
151
 
193
- .AutocompleteSelect > .selected.inline {
194
- font-size: 14px;
195
- font-family: Roboto, sans-serif;
196
- color: #1e252d;
197
- text-overflow: ellipsis;
198
- white-space: nowrap;
199
- overflow: hidden;
200
- display: flex;
201
- align-items: center;
152
+ .Button.disabled {
153
+ box-shadow: none;
154
+ background: #D9D9D9;
155
+ color: #999999;
202
156
  }
203
157
 
204
- .AutocompleteSelect > .selected.clickable {
205
- overflow: hidden;
206
- cursor: pointer;
207
- padding: 10px;
208
- margin-left: -10px;
209
- margin-right: -10px;
158
+ .Button.disabled:hover {
159
+ background-color: #cccccc;
210
160
  }
211
161
 
212
- .AutocompleteSelect.inlineSelected {
213
- flex-flow: row wrap;
214
- justify-content: flex-start;
215
- }
216
-
217
- .AutocompleteSelect.inlineSelected.hasSelected {
218
- padding-top: 7px;
219
- }
220
-
221
- .AutocompleteSelect.inlineSelected > .label {
222
- width: 100%;
223
- height: 100%;
224
- }
225
-
226
- .AutocompleteSelect.inlineSelected > .label.active {
227
- z-index: 0;
228
- }
229
-
230
- .AutocompleteSelect.inlineSelected .input {
231
- width: unset;
232
- flex-basis: 50px;
233
- flex-grow: 1;
234
- }
235
-
236
- .AutocompleteSelect.inlineSelected .input::after {
237
- content: attr(data-value);
238
- visibility: hidden;
239
- white-space: pre;
240
- font: inherit;
241
- min-width: 2px;
162
+ .Button::-moz-focus-inner {
242
163
  border: 0;
243
- margin: 0;
244
- outline: 0;
245
- float: left;
246
- display: inline-block;
247
- margin-top: -24px;
248
- font-size: 14px;
249
- padding: 2px;
250
- }
251
-
252
- .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
253
- margin-top: 7px;
254
- }
255
-
256
- .AutocompleteSelect.inlineSelected > .value, .AutocompleteSelect > .selected > .value {
257
- cursor: pointer;
258
- margin: 5px 10px 5px 0px;
259
- display: inline-flex;
260
- flex-flow: row wrap;
261
- height: 30px;
262
- align-items: center;
263
- background-color: #f0f0f0;
264
- border-radius: 30px;
265
- position: relative;
266
- font-family: Roboto, sans-serif;
267
- font-size: 14px;
268
- color: #1e252d;
269
- }
270
-
271
- .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
272
- padding-left: 35px;
273
- padding-right: 10px;
274
- }
275
-
276
- .AutocompleteSelect.inlineSelected > .value .button, .AutocompleteSelect > .selected > .value .button {
277
- cursor: pointer;
278
- min-width: 30px;
279
- width: 30px;
280
- height: 30px;
281
- opacity: 0;
282
- position: absolute;
283
- top: 0px;
284
- left: 0px;
285
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
286
- background-color: deepskyblue;
287
- color: white;
288
- border-radius: 30px;
289
- display: flex;
290
- flex-flow: row;
291
- justify-content: center;
292
- align-items: center;
293
- animation: anticlockwise 0.15s linear;
294
- }
295
-
296
- .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
297
- font-size: 22px;
298
- }
299
-
300
- .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
301
- width: 30px;
302
- height: 30px;
303
- opacity: 1;
304
- animation: clockwise 0.15s linear;
305
- overflow: hidden;
306
- position: absolute;
307
164
  }
308
165
 
309
166
  .Checkbox {
@@ -373,333 +230,343 @@
373
230
  background: rgba(0, 0, 0, 0.26);
374
231
  }
375
232
 
376
- .Button {
377
- position: relative;
378
- min-width: 64px;
379
- min-height: 36px;
380
- height: 24px;
381
- margin: 0px;
382
- padding: 0px 16px;
383
- border: none;
384
- outline: none;
385
- font-size: 14px;
386
- font-weight: 500;
387
- letter-spacing: 1.25px;
388
- background: #dfdfdf;
389
- text-transform: uppercase;
390
- font-family: Roboto, sans-serif;
391
- display: inline-flex;
392
- justify-content: center;
393
- align-items: center;
394
- cursor: pointer;
233
+ .DialogModal {
395
234
  overflow: hidden;
396
- user-select: none;
397
- border-radius: 3px;
398
- transition: all 0.2s ease;
399
- }
400
-
401
- .Button.flat {
402
- background-color: transparent;
403
- }
404
-
405
- .Button.flat:hover {
406
- background-color: rgba(0, 0, 0, 0.05);
407
235
  }
408
236
 
409
- .Button.green {
410
- background-color: #43a047;
411
- color: white;
237
+ .DialogModal .content {
238
+ top: 20vh;
412
239
  }
413
240
 
414
- .Button.green:hover {
415
- background-color: #3b8e3f;
241
+ .Dialog {
242
+ background-color: white;
243
+ min-width: 460px;
244
+ max-width: 40vw;
245
+ padding: 15px;
416
246
  }
417
247
 
418
- .Button.blue {
419
- background-color: #039be5;
420
- color: white;
248
+ .Dialog .title {
249
+ margin-bottom: 15px;
250
+ padding: 20px 50px 0px 30px;
251
+ font-size: 1.25rem;
252
+ line-height: 2rem;
253
+ font-weight: 400;
254
+ letter-spacing: 0.0125em;
421
255
  }
422
256
 
423
- .Button.blue:hover {
424
- background-color: #038acc;
257
+ .Dialog .description {
258
+ color: rgba(0, 0, 0, 0.54);
259
+ font-size: 1rem;
260
+ line-height: 1.5rem;
261
+ font-weight: 400;
262
+ letter-spacing: 0.03125em;
263
+ margin-top: 20px;
264
+ padding: 0 24px 24px;
425
265
  }
426
266
 
427
- .Button.red {
428
- background-color: #e53935;
429
- color: white;
267
+ .Dialog > div.row {
268
+ margin-bottom: 15px;
430
269
  }
431
270
 
432
- .Button.red:hover {
433
- background-color: #e2231e;
271
+ .Dialog > div.row:last-child {
272
+ margin-bottom: 0;
434
273
  }
435
274
 
436
- .Button.black {
437
- background-color: #1e252d;
438
- color: white;
275
+ .DropFileInput {
276
+ flex-grow: 1;
439
277
  }
440
278
 
441
- .Button.black:hover {
442
- background-color: #14181e;
279
+ .DropFileInput .Dropzone {
280
+ border: 1px dashed #808080;
281
+ padding: 12px;
282
+ display: flex;
283
+ flex-flow: row nowrap;
284
+ justify-content: center;
285
+ align-items: center;
286
+ color: gray;
287
+ cursor: pointer;
288
+ border-radius: 3px;
289
+ font-weight: normal;
290
+ line-height: 22px;
291
+ font-size: 14px;
292
+ color: #7E7E7E;
293
+ max-width: 100%;
294
+ word-break: break-all;
295
+ word-break: break-word;
443
296
  }
444
297
 
445
- .Button.gray {
446
- background: #D9D9D9;
447
- color: #999999;
298
+ .DropFileInput .Dropzone .icon.withText {
299
+ margin-right: 10px;
448
300
  }
449
301
 
450
- .Button.gray:hover {
451
- background-color: #cccccc;
302
+ .DNDContainer {
303
+ position: relative;
452
304
  }
453
305
 
454
- .Button.small {
455
- padding: 0px 8px;
456
- min-height: 16px;
457
- min-width: 16px;
306
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
307
+ cursor: pointer;
458
308
  }
459
309
 
460
- .Button > .material-icons {
461
- margin-right: 10px;
310
+ .DNDContainer .Draggable.placeholder {
311
+ opacity: 0.2;
462
312
  }
463
313
 
464
- .Button.round {
465
- padding: 0px;
466
- min-width: 36px;
467
- border-radius: 50%;
314
+ .DNDContainer .Draggable.copy {
315
+ position: absolute;
316
+ box-sizing: border-box;
317
+ will-change: transform;
318
+ opacity: 0;
468
319
  }
469
320
 
470
- .Button.round > .material-icons {
471
- margin: 0px;
321
+ .DNDContainer .Draggable.dragged {
322
+ z-index: 10;
472
323
  }
473
324
 
474
- .Button .ripple {
325
+ .DNDContainer .overlay {
475
326
  position: absolute;
476
- background: rgba(0, 0, 0, 0.1);
477
- border-radius: 100%;
478
- transform: scale(0);
327
+ top: 0;
328
+ left: 0;
329
+ right: 0;
330
+ bottom: 0;
479
331
  pointer-events: none;
480
- transition: opacity 0.2s ease-out;
481
332
  }
482
333
 
483
- .Button .ripple.show {
484
- animation: ripple 0.35s ease-out;
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;
485
344
  }
486
345
 
487
- .Button:active .ripple.showed {
488
- opacity: 1;
346
+ .Modal.show {
347
+ transition-delay: 0s;
348
+ bottom: 0;
489
349
  }
490
350
 
491
- .Button:focus .ripple.focused {
492
- opacity: 1;
493
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
494
- transform: scale(1);
495
- animation: resize 1.25s ease-out infinite;
496
- animation-delay: 0.2s;
497
- animation-direction: alternate;
498
- }
499
-
500
- .Button .ripple.showed {
501
- transform: scale(2);
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);
502
358
  opacity: 0;
359
+ background-color: black;
360
+ pointer-events: none;
503
361
  }
504
362
 
505
- @keyframes ripple {
506
- to {
507
- transform: scale(2);
508
- }
509
- }
510
- @keyframes resize {
511
- to {
512
- transform: scale(0.9);
513
- }
514
- }
515
- .Button.raised {
516
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
517
- }
518
-
519
- .Button.raised:hover {
520
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
521
- }
522
-
523
- .Button.raised:active {
524
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
525
- }
526
-
527
- .Button.disabled {
528
- box-shadow: none;
529
- background: #D9D9D9;
530
- color: #999999;
531
- }
532
-
533
- .Button.disabled:hover {
534
- background-color: #cccccc;
535
- }
536
-
537
- .Button::-moz-focus-inner {
538
- border: 0;
363
+ .Modal > .overlay.show {
364
+ opacity: 0.5;
365
+ bottom: 0;
539
366
  }
540
367
 
541
- .animated {
542
- transition: opacity 250ms ease;
368
+ .Modal > .content {
369
+ left: 50%;
370
+ top: 10vh;
371
+ margin-bottom: 10vh;
372
+ font-size: 16px;
373
+ padding: 0;
543
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);
544
381
  }
545
382
 
546
- .animated.mounting, .animated.mounted {
383
+ .Modal > .content.show {
547
384
  opacity: 1;
385
+ transform: scaleY(1) translateY(0px) translateX(-50%);
548
386
  }
549
387
 
550
- .FilteredList {
551
- max-height: 250px;
552
- position: relative;
553
- }
554
-
555
- .FilteredList.popup {
556
- padding: 0;
557
- visibility: hidden;
558
- position: absolute;
559
- background: white;
560
- z-index: 4;
561
- 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);
562
- transition: all 0.2s ease-out;
563
- top: calc(100% + 4px);
564
- opacity: 0;
565
- border-radius: 2px;
388
+ .Modal > .content > .Scrollable {
389
+ overflow: visible;
390
+ max-height: 80vh;
566
391
  }
567
392
 
568
- .FilteredList.popup.visible {
569
- opacity: 1;
570
- visibility: visible;
393
+ .Modal > .content > .Scrollable > .viewport {
394
+ min-width: 10px;
395
+ min-height: 10px;
571
396
  }
572
397
 
573
- .FilteredList.inline {
574
- max-height: 225px;
575
- margin-top: 5px;
398
+ .Modal > .content > .Button.close {
399
+ top: 10px;
400
+ right: 10px;
401
+ position: absolute;
576
402
  }
577
403
 
578
- .FilteredList .child {
404
+ .Scrollable {
405
+ max-height: 250px;
406
+ max-width: 250px;
407
+ padding-right: 5px;
408
+ position: relative;
579
409
  display: flex;
580
- flex-flow: row nowrap;
581
- align-items: center;
582
- white-space: nowrap;
583
- font-size: 14px;
584
- color: #222222;
585
- height: 30px;
586
- padding: 5px 10px;
587
- padding-right: 15px;
588
- cursor: pointer;
410
+ flex-flow: column;
411
+ align-items: stretch;
589
412
  overflow: hidden;
590
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
591
- border-left: 5px solid #4AC263;
592
- padding-left: 15px;
593
- margin-left: -5px;
594
- }
595
-
596
- .FilteredList .child.hidden {
597
- height: 0 !important;
598
- padding: 0 !important;
599
413
  }
600
414
 
601
- .FilteredList .child.selected {
602
- background-color: #F0F0F0;
603
- padding-left: 10px;
604
- margin-left: 0px;
415
+ .Scrollable:hover > .scrollbar.auto {
416
+ transition-delay: 0s;
417
+ opacity: 1;
605
418
  }
606
419
 
607
- .FilteredList .child.active {
608
- background-color: #eeeeee;
420
+ .Scrollable .viewport {
421
+ overflow-y: scroll;
422
+ overflow-x: scroll;
423
+ max-height: 100%;
424
+ scroll-behavior: smooth;
425
+ scrollbar-width: none;
609
426
  }
610
427
 
611
- .FilteredList .child {
612
- margin-top: 8px;
428
+ .Scrollable .viewport::-webkit-scrollbar {
429
+ display: none;
613
430
  }
614
431
 
615
- .FilteredList .child.hidden {
616
- margin-top: 0;
432
+ .Scrollable.without-scroll-horizontal {
433
+ max-width: unset;
617
434
  }
618
435
 
619
- .FilteredList .child:not(.hidden) ~ .child {
620
- margin-top: 0;
436
+ .Scrollable.without-scroll {
437
+ padding-right: 0;
438
+ max-height: unset;
621
439
  }
622
440
 
623
- .FilteredList .child:not(.hidden) ~ .child:last-child {
624
- margin-bottom: 8px;
441
+ .Scrollable.without-scroll > .viewport {
442
+ padding-right: 0;
443
+ margin-right: 0;
625
444
  }
626
445
 
627
- .FilteredList .child:not(.hidden):last-child {
628
- margin-bottom: 8px;
446
+ .Scrollable.without-scroll > .scrollbar {
447
+ visibility: hidden;
629
448
  }
630
449
 
631
- .DialogModal {
632
- overflow: hidden;
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;
633
458
  }
634
459
 
635
- .DialogModal .content {
636
- top: 20vh;
460
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
461
+ opacity: 0;
637
462
  }
638
463
 
639
- .Dialog {
640
- background-color: white;
641
- min-width: 460px;
642
- max-width: 40vw;
643
- padding: 15px;
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;
644
473
  }
645
474
 
646
- .Dialog .title {
647
- margin-bottom: 15px;
648
- padding: 20px 50px 0px 30px;
649
- font-size: 1.25rem;
650
- line-height: 2rem;
651
- font-weight: 400;
652
- letter-spacing: 0.0125em;
475
+ .Scrollable .scrollbar .thumb:hover {
476
+ background-color: rgba(0, 0, 0, 0.5);
653
477
  }
654
478
 
655
- .Dialog .description {
656
- color: rgba(0, 0, 0, 0.54);
657
- font-size: 1rem;
658
- line-height: 1.5rem;
659
- font-weight: 400;
660
- letter-spacing: 0.03125em;
661
- margin-top: 20px;
662
- padding: 0 24px 24px;
479
+ .Scrollable .scrollbar .thumb:active {
480
+ background-color: rgba(0, 0, 0, 0.7);
663
481
  }
664
482
 
665
- .Dialog > div.row {
666
- margin-bottom: 15px;
483
+ .Scrollable .scrollbar.horizontal {
484
+ left: 0px;
485
+ right: 0px;
486
+ height: 5px;
487
+ bottom: 0;
488
+ width: unset;
489
+ top: unset;
667
490
  }
668
491
 
669
- .Dialog > div.row:last-child {
670
- margin-bottom: 0;
492
+ .Scrollable .scrollbar.horizontal .thumb {
493
+ height: 5px;
494
+ left: 0px;
495
+ bottom: 0px;
496
+ will-change: left;
671
497
  }
672
498
 
673
- .DNDContainer {
674
- position: relative;
499
+ .CircleProgress {
500
+ width: 48px;
501
+ height: 48px;
675
502
  }
676
503
 
677
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
678
- cursor: pointer;
504
+ .CircleProgress .line {
505
+ stroke-width: 2px;
506
+ stroke: black;
507
+ stroke-linecap: square;
508
+ fill: none;
509
+ transition: stroke-dashoffset 0.2s ease;
679
510
  }
680
511
 
681
- .DNDContainer .Draggable.placeholder {
682
- opacity: 0.2;
512
+ .Dropzone {
513
+ position: relative;
683
514
  }
684
515
 
685
- .DNDContainer .Draggable.copy {
516
+ .Dropzone > .overlay {
686
517
  position: absolute;
687
- box-sizing: border-box;
688
- will-change: transform;
518
+ left: 0;
519
+ right: 0;
520
+ top: 0;
521
+ bottom: 0;
522
+ background-color: #38ADC4;
523
+ z-index: 1;
689
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;
690
531
  }
691
532
 
692
- .DNDContainer .Draggable.dragged {
693
- z-index: 10;
694
- }
695
-
696
- .DNDContainer .overlay {
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 {
697
560
  position: absolute;
698
- top: 0;
699
561
  left: 0;
700
562
  right: 0;
563
+ top: 0;
701
564
  bottom: 0;
702
- pointer-events: none;
565
+ width: 100%;
566
+ height: 100%;
567
+ opacity: 0;
568
+ cursor: pointer;
569
+ z-index: 1;
703
570
  }
704
571
 
705
572
  .ImageGallery {
@@ -937,486 +804,497 @@
937
804
  font-size: 24px;
938
805
  }
939
806
 
940
- .FormUploadProgress {
941
- position: absolute;
942
- left: 0;
943
- right: 0;
944
- top: 0;
945
- bottom: 0;
946
- background-color: rgba(255, 255, 255, 0.6);
947
- z-index: 2;
807
+ .animated {
808
+ transition: opacity 250ms ease;
809
+ opacity: 0;
948
810
  }
949
811
 
950
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
951
- transition-delay: 500ms;
812
+ .animated.mounting, .animated.mounted {
813
+ opacity: 1;
952
814
  }
953
815
 
954
- .FormUploadProgress .wrapper {
955
- position: sticky;
956
- top: 40%;
957
- margin-top: 40%;
958
- margin-left: 50%;
959
- transform: translateX(-50%);
960
- display: flex;
816
+ .AutocompleteSelect {
817
+ display: inline-flex;
961
818
  flex-flow: column;
962
819
  justify-content: center;
963
- align-items: center;
820
+ position: relative;
821
+ min-width: 250px;
822
+ min-height: 36px;
823
+ user-select: none;
964
824
  }
965
825
 
966
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
967
- position: absolute;
968
- width: 107px;
969
- height: 107px;
970
- top: 0;
971
- left: 0;
826
+ @keyframes clockwise {
827
+ 0% {
828
+ -webkit-transform: rotate(-90deg);
829
+ }
830
+ 100% {
831
+ -webkit-transform: translateX(0px);
832
+ }
972
833
  }
973
-
974
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
975
- stroke: #2196F3;
834
+ @keyframes anticlockwise {
835
+ 0% {
836
+ -webkit-transform: rotate(90deg);
837
+ }
838
+ 100% {
839
+ -webkit-transform: translateX(0px);
840
+ }
976
841
  }
977
-
978
- .FormUploadProgress .wrapper > .progress {
979
- width: 107px;
980
- height: 107px;
981
- min-height: 107px;
982
- display: flex;
983
- justify-content: center;
984
- align-items: center;
985
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
986
- border-radius: 50%;
987
- background: white;
988
- position: relative;
842
+ .AutocompleteSelect > .input {
843
+ width: 100%;
989
844
  }
990
845
 
991
- .FormUploadProgress .wrapper > .progress > .value {
992
- display: inline-block;
993
- margin-top: 5px;
994
- font-weight: bold;
995
- line-height: 16px;
996
- font-size: 13px;
997
- text-align: center;
998
- color: #818181;
846
+ .AutocompleteSelect .Scrollable {
847
+ padding-right: 0;
848
+ min-width: 100%;
999
849
  }
1000
850
 
1001
- .FormUploadProgress .wrapper .cancel {
1002
- min-width: 107px;
1003
- margin-top: 20px;
1004
- background-color: white;
1005
- color: #F96B5C;
1006
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
851
+ .AutocompleteSelect.inline-multiple > .label {
852
+ top: -12px;
1007
853
  }
1008
854
 
1009
- .ModalMenu {
1010
- position: absolute;
1011
- top: 10px;
1012
- right: 50px;
855
+ .AutocompleteSelect.inline-multiple > .selected {
856
+ flex-flow: row wrap;
1013
857
  }
1014
858
 
1015
- .ModalMenu .material-icons {
1016
- color: #818181;
859
+ .AutocompleteSelect.multiple-mini-inline {
860
+ height: 42px;
1017
861
  }
1018
862
 
1019
- .ModalMenu .Button.animated {
1020
- position: absolute;
1021
- transition: opacity 150ms ease-in, right 200ms ease-in;
1022
- opacity: 0;
1023
- right: 0;
863
+ .AutocompleteSelect.multiple-mini-inline > .label {
864
+ cursor: pointer;
865
+ width: 100%;
866
+ margin-left: -10px;
867
+ padding: 10px;
868
+ box-sizing: border-box;
1024
869
  top: 0;
1025
870
  }
1026
871
 
1027
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1028
- opacity: 1;
1029
- }
1030
-
1031
- .ModalMenu .Button.animated.unmounting {
1032
- transition: opacity 100ms ease-out, right 200ms ease-out;
1033
- }
1034
-
1035
- .ModalMenu .Button.active {
1036
- background: #EBEBEB;
872
+ .AutocompleteSelect.multiple-mini-inline > .label.active {
873
+ padding: 0 10px;
1037
874
  }
1038
875
 
1039
- .ModalMenu .separator {
1040
- height: 24px;
1041
- width: 1px;
1042
- background-color: #D9D9D9;
1043
- margin-left: 4px;
876
+ .AutocompleteSelect.multiple-mini-inline > .selected {
877
+ width: 250px;
1044
878
  }
1045
879
 
1046
- .Modal {
1047
- display: block;
1048
- position: fixed;
1049
- top: 0;
1050
- left: 0;
1051
- right: 0;
1052
- bottom: 100%;
1053
- overflow-y: scroll;
1054
- transition: bottom 0ms linear;
1055
- transition-delay: 0.2s;
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%;
1056
887
  }
1057
888
 
1058
- .Modal.show {
1059
- transition-delay: 0s;
1060
- bottom: 0;
889
+ .AutocompleteSelect.multiple-mini-inline > .input .TextField {
890
+ padding-left: 10px;
891
+ padding-right: 10px;
892
+ width: 100%;
893
+ box-sizing: border-box;
1061
894
  }
1062
895
 
1063
- .Modal > .overlay {
1064
- position: fixed;
1065
- top: 0;
1066
- bottom: 100%;
1067
- left: 0;
1068
- right: 0;
1069
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
896
+ .AutocompleteSelect.multiple-mini-inline > .input.hidden {
1070
897
  opacity: 0;
1071
- background-color: black;
1072
- pointer-events: none;
898
+ visibility: hidden;
1073
899
  }
1074
900
 
1075
- .Modal > .overlay.show {
1076
- opacity: 0.5;
1077
- bottom: 0;
901
+ .AutocompleteSelect.multiple-mini-inline .FilteredList .child:first-child {
902
+ margin-top: 0;
1078
903
  }
1079
904
 
1080
- .Modal > .content {
1081
- left: 50%;
1082
- top: 10vh;
1083
- margin-bottom: 10vh;
1084
- font-size: 16px;
1085
- padding: 0;
1086
- opacity: 0;
1087
- transition: opacity 0.25s ease, transform 0.25s ease;
1088
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1089
- transform-origin: top;
1090
- position: absolute;
1091
- border-radius: 2px;
1092
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
905
+ .AutocompleteSelect .TextField {
906
+ margin-top: 8px;
1093
907
  }
1094
908
 
1095
- .Modal > .content.show {
1096
- opacity: 1;
1097
- transform: scaleY(1) translateY(0px) translateX(-50%);
909
+ .AutocompleteSelect .TextField input {
910
+ font-size: 14px;
1098
911
  }
1099
912
 
1100
- .Modal > .content > .Scrollable {
1101
- overflow: visible;
1102
- max-height: 80vh;
913
+ .AutocompleteSelect > .label {
914
+ position: absolute;
915
+ transition: all 0.2s ease;
916
+ font-family: Roboto, sans-serif;
917
+ font-size: 14px;
918
+ color: rgba(0, 0, 0, 0.5);
919
+ z-index: 1;
920
+ cursor: text;
921
+ user-select: none;
922
+ left: 4px;
923
+ top: 12px;
1103
924
  }
1104
925
 
1105
- .Modal > .content > .Scrollable > .viewport {
1106
- min-width: 10px;
1107
- min-height: 10px;
926
+ .AutocompleteSelect > .label.active {
927
+ font-size: 10px;
928
+ top: 2px;
1108
929
  }
1109
930
 
1110
- .Modal > .content > .Button.close {
1111
- top: 10px;
1112
- right: 10px;
1113
- position: absolute;
931
+ .AutocompleteSelect > .label.active .arrow {
932
+ border-width: 4px 4px 0 4px;
933
+ margin-bottom: 1px;
1114
934
  }
1115
935
 
1116
- .Dropzone {
1117
- position: relative;
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;
1118
946
  }
1119
947
 
1120
- .Dropzone > .overlay {
948
+ .AutocompleteSelect > .selected {
949
+ margin-top: 8px;
950
+ display: flex;
951
+ cursor: pointer;
952
+ }
953
+
954
+ .AutocompleteSelect > .selected > .reset {
955
+ min-width: 36px;
956
+ max-width: 36px;
1121
957
  position: absolute;
1122
- left: 0;
1123
958
  right: 0;
1124
959
  top: 0;
1125
- bottom: 0;
1126
- background-color: #38ADC4;
1127
- z-index: 1;
1128
- opacity: 0;
1129
- transition: all 0.2s ease;
1130
- transition-delay: 100ms;
1131
- visibility: hidden;
1132
- display: flex;
1133
- justify-content: center;
960
+ background-color: white;
961
+ }
962
+
963
+ .AutocompleteSelect > .selected > .reset .material-icons {
964
+ margin: 0;
965
+ color: #BFBFBF;
966
+ font-size: 20px;
967
+ }
968
+
969
+ .AutocompleteSelect > .selected.nolabel {
970
+ margin-top: 0px;
971
+ border-bottom: 1px solid #e5e3e3;
972
+ }
973
+
974
+ .AutocompleteSelect > .selected.nolabel .DummyChild {
975
+ display: inline-flex;
1134
976
  align-items: center;
977
+ flex-grow: 1;
978
+ font-size: 16px;
979
+ margin: 0px 10px;
980
+ margin-bottom: 5px;
981
+ height: 19px;
1135
982
  }
1136
983
 
1137
- .Dropzone > .overlay .drop {
1138
- border-radius: 4px;
1139
- border: 1px dashed #FFFFFF;
1140
- position: absolute;
1141
- top: 18px;
1142
- left: 18px;
1143
- right: 18px;
1144
- bottom: 18px;
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;
993
+ }
994
+
995
+ .AutocompleteSelect > .selected.inline {
996
+ font-size: 14px;
997
+ font-family: Roboto, sans-serif;
998
+ color: #1e252d;
999
+ text-overflow: ellipsis;
1000
+ white-space: nowrap;
1001
+ overflow: hidden;
1145
1002
  display: flex;
1146
- justify-content: center;
1147
1003
  align-items: center;
1148
- font-weight: 500;
1149
- font-size: 18px;
1150
- color: #FFFFFF;
1151
1004
  }
1152
1005
 
1153
- .Dropzone.dragging > .overlay {
1154
- opacity: 0.7;
1155
- visibility: visible;
1156
- transition-delay: 0s;
1006
+ .AutocompleteSelect > .selected.clickable {
1007
+ overflow: hidden;
1008
+ cursor: pointer;
1009
+ padding: 10px;
1010
+ margin-left: -10px;
1011
+ margin-right: -10px;
1157
1012
  }
1158
1013
 
1159
- .Dropzone.dragging > * {
1160
- pointer-events: none;
1014
+ .AutocompleteSelect.inlineSelected {
1015
+ flex-flow: row wrap;
1016
+ justify-content: flex-start;
1161
1017
  }
1162
1018
 
1163
- .Dropzone > input.file {
1164
- position: absolute;
1165
- left: 0;
1166
- right: 0;
1167
- top: 0;
1168
- bottom: 0;
1019
+ .AutocompleteSelect.inlineSelected.hasSelected {
1020
+ padding-top: 7px;
1021
+ }
1022
+
1023
+ .AutocompleteSelect.inlineSelected > .label {
1169
1024
  width: 100%;
1170
1025
  height: 100%;
1171
- opacity: 0;
1172
- cursor: pointer;
1173
- z-index: 1;
1174
1026
  }
1175
1027
 
1176
- .DropFileInput {
1028
+ .AutocompleteSelect.inlineSelected > .label.active {
1029
+ z-index: 0;
1030
+ }
1031
+
1032
+ .AutocompleteSelect.inlineSelected .input {
1033
+ width: unset;
1034
+ flex-basis: 50px;
1177
1035
  flex-grow: 1;
1178
1036
  }
1179
1037
 
1180
- .DropFileInput .Dropzone {
1181
- border: 1px dashed #808080;
1182
- padding: 12px;
1183
- display: flex;
1184
- flex-flow: row nowrap;
1185
- justify-content: center;
1186
- align-items: center;
1187
- color: gray;
1188
- cursor: pointer;
1189
- border-radius: 3px;
1190
- font-weight: normal;
1191
- line-height: 22px;
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;
1192
1050
  font-size: 14px;
1193
- color: #7E7E7E;
1194
- max-width: 100%;
1195
- word-break: break-all;
1196
- word-break: break-word;
1051
+ padding: 2px;
1197
1052
  }
1198
1053
 
1199
- .DropFileInput .Dropzone .icon.withText {
1200
- margin-right: 10px;
1054
+ .AutocompleteSelect.inlineSelected > .value:nth-child(2) {
1055
+ margin-top: 7px;
1201
1056
  }
1202
1057
 
1203
- .Button.FloatingActionButton {
1204
- position: absolute;
1205
- right: 16px;
1206
- bottom: 16px;
1207
- width: 56px;
1208
- height: 56px;
1209
- padding: 16px;
1210
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
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;
1211
1071
  }
1212
1072
 
1213
- .Button.FloatingActionButton.raised {
1214
- 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);
1073
+ .AutocompleteSelect.inlineSelected > .value .DummyChild, .AutocompleteSelect > .selected > .value .DummyChild {
1074
+ padding-left: 35px;
1075
+ padding-right: 10px;
1215
1076
  }
1216
1077
 
1217
- .Button.FloatingActionButton.mini {
1218
- width: 40px;
1219
- height: 40px;
1220
- padding: 8px;
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;
1084
+ position: absolute;
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;
1221
1096
  }
1222
1097
 
1223
- .Button.FloatingActionButton.hidden {
1224
- bottom: -100px;
1098
+ .AutocompleteSelect.inlineSelected > .value .button .material-icons, .AutocompleteSelect > .selected > .value .button .material-icons {
1099
+ font-size: 22px;
1225
1100
  }
1226
1101
 
1227
- .Scrollable {
1228
- max-height: 250px;
1229
- max-width: 250px;
1230
- padding-right: 5px;
1231
- position: relative;
1232
- display: flex;
1233
- flex-flow: column;
1234
- align-items: stretch;
1102
+ .AutocompleteSelect.inlineSelected > .value:hover .button, .AutocompleteSelect > .selected > .value:hover .button {
1103
+ width: 30px;
1104
+ height: 30px;
1105
+ opacity: 1;
1106
+ animation: clockwise 0.15s linear;
1235
1107
  overflow: hidden;
1108
+ position: absolute;
1236
1109
  }
1237
1110
 
1238
- .Scrollable:hover > .scrollbar.auto {
1239
- transition-delay: 0s;
1240
- opacity: 1;
1111
+ .ModalMenu {
1112
+ position: absolute;
1113
+ top: 10px;
1114
+ right: 50px;
1241
1115
  }
1242
1116
 
1243
- .Scrollable .viewport {
1244
- overflow-y: scroll;
1245
- overflow-x: scroll;
1246
- max-height: 100%;
1247
- scroll-behavior: smooth;
1248
- scrollbar-width: none;
1117
+ .ModalMenu .material-icons {
1118
+ color: #818181;
1249
1119
  }
1250
1120
 
1251
- .Scrollable .viewport::-webkit-scrollbar {
1252
- display: none;
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;
1253
1127
  }
1254
1128
 
1255
- .Scrollable.without-scroll-horizontal {
1256
- max-width: unset;
1129
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1130
+ opacity: 1;
1257
1131
  }
1258
1132
 
1259
- .Scrollable.without-scroll {
1260
- padding-right: 0;
1261
- max-height: unset;
1133
+ .ModalMenu .Button.animated.unmounting {
1134
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1262
1135
  }
1263
1136
 
1264
- .Scrollable.without-scroll > .viewport {
1265
- padding-right: 0;
1266
- margin-right: 0;
1137
+ .ModalMenu .Button.active {
1138
+ background: #EBEBEB;
1267
1139
  }
1268
1140
 
1269
- .Scrollable.without-scroll > .scrollbar {
1270
- visibility: hidden;
1141
+ .ModalMenu .separator {
1142
+ height: 24px;
1143
+ width: 1px;
1144
+ background-color: #D9D9D9;
1145
+ margin-left: 4px;
1271
1146
  }
1272
1147
 
1273
- .Scrollable .scrollbar {
1274
- position: absolute;
1275
- right: 0px;
1276
- top: 0px;
1277
- width: 5px;
1278
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1279
- transition-delay: 0.5s;
1280
- z-index: 1;
1148
+ .FilteredList {
1149
+ max-height: 250px;
1150
+ position: relative;
1281
1151
  }
1282
1152
 
1283
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1153
+ .FilteredList.popup {
1154
+ padding: 0;
1155
+ visibility: hidden;
1156
+ position: absolute;
1157
+ background: white;
1158
+ z-index: 4;
1159
+ 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);
1160
+ transition: all 0.2s ease-out;
1161
+ top: calc(100% + 4px);
1284
1162
  opacity: 0;
1163
+ border-radius: 2px;
1285
1164
  }
1286
1165
 
1287
- .Scrollable .scrollbar .thumb {
1288
- background-color: rgba(0, 0, 0, 0.3);
1289
- width: 5px;
1290
- position: absolute;
1291
- right: 0px;
1292
- top: 0px;
1293
- user-select: none;
1294
- will-change: top;
1295
- border-radius: 2px;
1166
+ .FilteredList.popup.visible {
1167
+ opacity: 1;
1168
+ visibility: visible;
1296
1169
  }
1297
1170
 
1298
- .Scrollable .scrollbar .thumb:hover {
1299
- background-color: rgba(0, 0, 0, 0.5);
1171
+ .FilteredList.inline {
1172
+ max-height: 225px;
1173
+ margin-top: 5px;
1300
1174
  }
1301
1175
 
1302
- .Scrollable .scrollbar .thumb:active {
1303
- background-color: rgba(0, 0, 0, 0.7);
1176
+ .FilteredList .child {
1177
+ display: flex;
1178
+ flex-flow: row nowrap;
1179
+ align-items: center;
1180
+ white-space: nowrap;
1181
+ font-size: 14px;
1182
+ color: #222222;
1183
+ height: 30px;
1184
+ padding: 5px 10px;
1185
+ padding-right: 15px;
1186
+ cursor: pointer;
1187
+ overflow: hidden;
1188
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1189
+ border-left: 5px solid #4AC263;
1190
+ padding-left: 15px;
1191
+ margin-left: -5px;
1304
1192
  }
1305
1193
 
1306
- .Scrollable .scrollbar.horizontal {
1307
- left: 0px;
1308
- right: 0px;
1309
- height: 5px;
1310
- bottom: 0;
1311
- width: unset;
1312
- top: unset;
1194
+ .FilteredList .child.hidden {
1195
+ height: 0 !important;
1196
+ padding: 0 !important;
1313
1197
  }
1314
1198
 
1315
- .Scrollable .scrollbar.horizontal .thumb {
1316
- height: 5px;
1317
- left: 0px;
1318
- bottom: 0px;
1319
- will-change: left;
1199
+ .FilteredList .child.selected {
1200
+ background-color: #F0F0F0;
1201
+ padding-left: 10px;
1202
+ margin-left: 0px;
1320
1203
  }
1321
1204
 
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);
1205
+ .FilteredList .child.active {
1206
+ background-color: #eeeeee;
1340
1207
  }
1341
1208
 
1342
- .Snackbar.shown {
1343
- bottom: 15px;
1344
- opacity: 1;
1209
+ .FilteredList .child {
1210
+ margin-top: 8px;
1345
1211
  }
1346
1212
 
1347
- .Snackbar .message {
1348
- overflow: hidden;
1349
- line-height: 1.2em;
1350
- min-height: 1.2em;
1351
- max-height: 2.4em;
1352
- flex: 1;
1213
+ .FilteredList .child.hidden {
1214
+ margin-top: 0;
1353
1215
  }
1354
1216
 
1355
- .Snackbar .action {
1356
- text-transform: uppercase;
1357
- font-weight: bold;
1358
- margin-left: 48px;
1359
- color: #bf3727;
1217
+ .FilteredList .child:not(.hidden) ~ .child {
1218
+ margin-top: 0;
1360
1219
  }
1361
1220
 
1362
- .Snackbar .action a {
1363
- text-decoration: none;
1364
- color: #bf3727;
1221
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1222
+ margin-bottom: 8px;
1365
1223
  }
1366
1224
 
1367
- .SpinningProgress {
1368
- width: 48px;
1369
- height: 48px;
1370
- position: relative;
1371
- margin: 0 auto;
1225
+ .FilteredList .child:not(.hidden):last-child {
1226
+ margin-bottom: 8px;
1372
1227
  }
1373
1228
 
1374
- .SpinningProgress:before {
1375
- content: "";
1376
- display: block;
1377
- padding-top: 100%;
1229
+ .FormUploadProgress {
1230
+ position: absolute;
1231
+ left: 0;
1232
+ right: 0;
1233
+ top: 0;
1234
+ bottom: 0;
1235
+ background-color: rgba(255, 255, 255, 0.6);
1236
+ z-index: 2;
1378
1237
  }
1379
1238
 
1380
- .SpinningProgress .circular {
1381
- animation: rotate 2s linear infinite;
1382
- height: 100%;
1383
- transform-origin: center center;
1384
- width: 100%;
1239
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1240
+ transition-delay: 500ms;
1241
+ }
1242
+
1243
+ .FormUploadProgress .wrapper {
1244
+ position: sticky;
1245
+ top: 40%;
1246
+ margin-top: 40%;
1247
+ margin-left: 50%;
1248
+ transform: translateX(-50%);
1249
+ display: flex;
1250
+ flex-flow: column;
1251
+ justify-content: center;
1252
+ align-items: center;
1253
+ }
1254
+
1255
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1385
1256
  position: absolute;
1257
+ width: 107px;
1258
+ height: 107px;
1386
1259
  top: 0;
1387
- bottom: 0;
1388
1260
  left: 0;
1389
- right: 0;
1390
- margin: auto;
1391
1261
  }
1392
1262
 
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;
1263
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1264
+ stroke: #2196F3;
1399
1265
  }
1400
1266
 
1401
- @keyframes rotate {
1402
- 100% {
1403
- transform: rotate(360deg);
1404
- }
1267
+ .FormUploadProgress .wrapper > .progress {
1268
+ width: 107px;
1269
+ height: 107px;
1270
+ min-height: 107px;
1271
+ display: flex;
1272
+ justify-content: center;
1273
+ align-items: center;
1274
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1275
+ border-radius: 50%;
1276
+ background: white;
1277
+ position: relative;
1405
1278
  }
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
- }
1279
+
1280
+ .FormUploadProgress .wrapper > .progress > .value {
1281
+ display: inline-block;
1282
+ margin-top: 5px;
1283
+ font-weight: bold;
1284
+ line-height: 16px;
1285
+ font-size: 13px;
1286
+ text-align: center;
1287
+ color: #818181;
1288
+ }
1289
+
1290
+ .FormUploadProgress .wrapper .cancel {
1291
+ min-width: 107px;
1292
+ margin-top: 20px;
1293
+ background-color: white;
1294
+ color: #F96B5C;
1295
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1419
1296
  }
1297
+
1420
1298
  .Switch {
1421
1299
  display: inline-flex;
1422
1300
  padding-top: 5px;
@@ -1499,14 +1377,59 @@
1499
1377
  display: none;
1500
1378
  }
1501
1379
 
1502
- .ScrollableTable .Scrollable .scrollbar {
1503
- top: 56px;
1380
+ .SpinningProgress {
1381
+ width: 48px;
1382
+ height: 48px;
1383
+ position: relative;
1384
+ margin: 0 auto;
1504
1385
  }
1505
1386
 
1506
- .ScrollableTable .Table {
1507
- position: static;
1387
+ .SpinningProgress:before {
1388
+ content: "";
1389
+ display: block;
1390
+ padding-top: 100%;
1391
+ }
1392
+
1393
+ .SpinningProgress .circular {
1394
+ animation: rotate 2s linear infinite;
1395
+ height: 100%;
1396
+ transform-origin: center center;
1397
+ width: 100%;
1398
+ position: absolute;
1399
+ top: 0;
1400
+ bottom: 0;
1401
+ left: 0;
1402
+ right: 0;
1403
+ margin: auto;
1404
+ }
1405
+
1406
+ .SpinningProgress .line {
1407
+ stroke: black;
1408
+ stroke-width: 2px;
1409
+ stroke-dasharray: 1, 96;
1410
+ stroke-dashoffset: 0;
1411
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1508
1412
  }
1509
1413
 
1414
+ @keyframes rotate {
1415
+ 100% {
1416
+ transform: rotate(360deg);
1417
+ }
1418
+ }
1419
+ @keyframes dash {
1420
+ 0% {
1421
+ stroke-dasharray: 1, 96;
1422
+ stroke-dashoffset: 0;
1423
+ }
1424
+ 50% {
1425
+ stroke-dasharray: 43, 96;
1426
+ stroke-dashoffset: -17px;
1427
+ }
1428
+ 100% {
1429
+ stroke-dasharray: 43, 96;
1430
+ stroke-dashoffset: -53px;
1431
+ }
1432
+ }
1510
1433
  .DNDContainer .DroppableList .Draggable {
1511
1434
  transform: unset;
1512
1435
  transition: unset;
@@ -1525,6 +1448,30 @@
1525
1448
  transition: transform 0.1s ease-in;
1526
1449
  }
1527
1450
 
1451
+ .Button.FloatingActionButton {
1452
+ position: absolute;
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);
1459
+ }
1460
+
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);
1463
+ }
1464
+
1465
+ .Button.FloatingActionButton.mini {
1466
+ width: 40px;
1467
+ height: 40px;
1468
+ padding: 8px;
1469
+ }
1470
+
1471
+ .Button.FloatingActionButton.hidden {
1472
+ bottom: -100px;
1473
+ }
1474
+
1528
1475
  .TextField {
1529
1476
  position: relative;
1530
1477
  width: 100%;
@@ -1668,6 +1615,59 @@
1668
1615
  animation-name: shake;
1669
1616
  }
1670
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;
1648
+ opacity: 1;
1649
+ }
1650
+
1651
+ .Snackbar .message {
1652
+ overflow: hidden;
1653
+ line-height: 1.2em;
1654
+ min-height: 1.2em;
1655
+ max-height: 2.4em;
1656
+ flex: 1;
1657
+ }
1658
+
1659
+ .Snackbar .action {
1660
+ text-transform: uppercase;
1661
+ font-weight: bold;
1662
+ margin-left: 48px;
1663
+ color: #bf3727;
1664
+ }
1665
+
1666
+ .Snackbar .action a {
1667
+ text-decoration: none;
1668
+ color: #bf3727;
1669
+ }
1670
+
1671
1671
  .Table {
1672
1672
  font-family: Roboto, sans-serif;
1673
1673
  font-size: 14px;