react-ui-basics 0.0.208 → 0.0.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/Checkbox.d.ts +16 -0
  5. package/Checkbox.js +14 -52
  6. package/Checkbox.js.map +1 -1
  7. package/CircleProgress.d.ts +12 -0
  8. package/CircleProgress.js +8 -31
  9. package/CircleProgress.js.map +1 -1
  10. package/CommonFields.d.ts +18 -0
  11. package/CommonFields.js +18 -20
  12. package/CommonFields.js.map +1 -1
  13. package/DNDDraggable.js.map +1 -1
  14. package/DNDDroppable.js.map +1 -1
  15. package/Dialog.js.map +1 -1
  16. package/DropFileInput.d.ts +20 -0
  17. package/DropFileInput.js +6 -37
  18. package/DropFileInput.js.map +1 -1
  19. package/DroppableHorizontalList.js.map +1 -1
  20. package/DroppableList.js.map +1 -1
  21. package/Dropzone.js.map +1 -1
  22. package/FilteredList.js.map +1 -1
  23. package/FloatingActionButton.d.ts +19 -0
  24. package/FloatingActionButton.js +7 -28
  25. package/FloatingActionButton.js.map +1 -1
  26. package/FormUploadProgress.js.map +1 -1
  27. package/ImageGallery.js +7 -6
  28. package/ImageGallery.js.map +1 -1
  29. package/MaterialIcon.d.ts +11 -0
  30. package/MaterialIcon.js +3 -18
  31. package/MaterialIcon.js.map +1 -1
  32. package/Modal.js.map +1 -1
  33. package/ModalMenu.d.ts +15 -0
  34. package/ModalMenu.js +23 -62
  35. package/ModalMenu.js.map +1 -1
  36. package/ReadyListener.js.map +1 -1
  37. package/Scrollable.css +3 -0
  38. package/Scrollable.js +13 -6
  39. package/Scrollable.js.map +1 -1
  40. package/Size.d.ts +8 -0
  41. package/Size.js +36 -35
  42. package/Size.js.map +1 -1
  43. package/Snackbar.d.ts +12 -0
  44. package/Snackbar.js +40 -62
  45. package/Snackbar.js.map +1 -1
  46. package/SpinningProgress.d.ts +4 -0
  47. package/SpinningProgress.js +3 -18
  48. package/SpinningProgress.js.map +1 -1
  49. package/Switch.d.ts +17 -0
  50. package/Switch.js +13 -60
  51. package/Switch.js.map +1 -1
  52. package/Table.js +1 -1
  53. package/Table.js.map +1 -1
  54. package/TextField.js.map +1 -1
  55. package/Tools.d.ts +1 -1
  56. package/Tools.js.map +1 -1
  57. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  58. package/bundle.css +902 -898
  59. package/package.json +22 -22
  60. package/router/HistoryTools.js.map +1 -1
  61. package/router/Link.js.map +1 -1
  62. package/router/NavLink.js.map +1 -1
  63. package/router/Route.js.map +1 -1
  64. package/src/Checkbox.tsx +37 -0
  65. package/src/CircleProgress.tsx +29 -0
  66. package/src/{CommonFields.js → CommonFields.ts} +1 -1
  67. package/src/DropFileInput.tsx +32 -0
  68. package/src/FloatingActionButton.tsx +28 -0
  69. package/src/MaterialIcon.tsx +1830 -0
  70. package/src/{ModalMenu.js → ModalMenu.tsx} +18 -9
  71. package/src/Scrollable.css +3 -0
  72. package/src/Scrollable.js +16 -5
  73. package/src/Scrollable.scss +4 -0
  74. package/src/{Size.js → Size.tsx} +24 -22
  75. package/src/{Snackbar.js → Snackbar.tsx} +22 -16
  76. package/src/SpinningProgress.tsx +13 -0
  77. package/src/Switch.tsx +42 -0
  78. package/src/Table.tsx +1 -1
  79. package/src/Tools.ts +1 -1
  80. package/store/ProxyTools.js.map +1 -1
  81. package/src/Checkbox.js +0 -46
  82. package/src/CircleProgress.js +0 -32
  83. package/src/DropFileInput.js +0 -39
  84. package/src/FloatingActionButton.js +0 -29
  85. package/src/MaterialIcon.js +0 -1832
  86. package/src/SpinningProgress.js +0 -13
  87. package/src/Switch.js +0 -48
package/bundle.css CHANGED
@@ -1,167 +1,10 @@
1
- .Button {
2
- position: relative;
3
- min-width: 64px;
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
- -webkit-tap-highlight-color: transparent;
17
- display: inline-flex;
18
- justify-content: center;
19
- align-items: center;
20
- cursor: pointer;
21
- overflow: hidden;
22
- user-select: none;
23
- border-radius: 3px;
24
- transition: all 0.2s ease;
25
- }
26
-
27
- .Button.flat {
28
- background-color: transparent;
29
- }
30
-
31
- .Button.flat:hover {
32
- background-color: rgba(0, 0, 0, 0.05);
33
- }
34
-
35
- .Button.green {
36
- background-color: #43a047;
37
- color: white;
38
- }
39
-
40
- .Button.green:hover {
41
- background-color: #3b8e3f;
42
- }
43
-
44
- .Button.blue {
45
- background-color: #039be5;
46
- color: white;
47
- }
48
-
49
- .Button.blue:hover {
50
- background-color: #038acc;
51
- }
52
-
53
- .Button.red {
54
- background-color: #e53935;
55
- color: white;
56
- }
57
-
58
- .Button.red:hover {
59
- background-color: #e2231e;
60
- }
61
-
62
- .Button.black {
63
- background-color: #1e252d;
64
- color: white;
65
- }
66
-
67
- .Button.black:hover {
68
- background-color: #14181e;
69
- }
70
-
71
- .Button.gray {
72
- background: #D9D9D9;
73
- color: #999999;
74
- }
75
-
76
- .Button.gray:hover {
77
- background-color: #cccccc;
78
- }
79
-
80
- .Button.small {
81
- padding: 0px 8px;
82
- min-height: 16px;
83
- min-width: 16px;
84
- }
85
-
86
- .Button > .material-icons {
87
- margin-right: 10px;
88
- }
89
-
90
- .Button.round {
91
- padding: 0px;
92
- min-width: 36px;
93
- border-radius: 50%;
94
- }
95
-
96
- .Button.round > .material-icons {
97
- margin: 0px;
98
- }
99
-
100
- .Button .ripple {
101
- position: absolute;
102
- background: rgba(0, 0, 0, 0.1);
103
- border-radius: 100%;
104
- transform: scale(0);
105
- pointer-events: none;
106
- transition: opacity 0.2s ease-out;
107
- }
108
-
109
- .Button .ripple.show {
110
- animation: ripple 0.35s ease-out;
111
- }
112
-
113
- .Button:active .ripple.showed {
114
- opacity: 1;
115
- }
116
-
117
- .Button:focus .ripple.focused {
118
- opacity: 1;
119
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
120
- transform: scale(1);
121
- animation: resize 1.25s ease-out infinite;
122
- animation-delay: 0.2s;
123
- animation-direction: alternate;
124
- }
125
-
126
- .Button .ripple.showed {
127
- transform: scale(2);
1
+ .animated {
2
+ transition: opacity 250ms ease;
128
3
  opacity: 0;
129
4
  }
130
5
 
131
- @keyframes ripple {
132
- to {
133
- transform: scale(2);
134
- }
135
- }
136
- @keyframes resize {
137
- to {
138
- transform: scale(0.9);
139
- }
140
- }
141
- .Button.raised {
142
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
143
- }
144
-
145
- .Button.raised:hover {
146
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
147
- }
148
-
149
- .Button.raised:active {
150
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
151
- }
152
-
153
- .Button.disabled {
154
- box-shadow: none;
155
- background: #D9D9D9;
156
- color: #999999;
157
- }
158
-
159
- .Button.disabled:hover {
160
- background-color: #cccccc;
161
- }
162
-
163
- .Button::-moz-focus-inner {
164
- border: 0;
6
+ .animated.mounting, .animated.mounted {
7
+ opacity: 1;
165
8
  }
166
9
 
167
10
  .AutocompleteSelect {
@@ -459,454 +302,357 @@
459
302
  position: absolute;
460
303
  }
461
304
 
462
- .Checkbox {
305
+ .Dropzone {
463
306
  position: relative;
464
- white-space: pre;
465
307
  }
466
308
 
467
- .Checkbox *, .Checkbox *:before, .Checkbox *:after {
468
- box-sizing: border-box;
309
+ .Dropzone > .overlay {
310
+ position: absolute;
311
+ left: 0;
312
+ right: 0;
313
+ top: 0;
314
+ bottom: 0;
315
+ background-color: #38ADC4;
316
+ z-index: 1;
317
+ opacity: 0;
318
+ transition: all 0.2s ease;
319
+ transition-delay: 100ms;
320
+ visibility: hidden;
321
+ display: flex;
322
+ justify-content: center;
323
+ align-items: center;
469
324
  }
470
325
 
471
- .Checkbox label {
472
- font-family: Roboto, sans-serif;
473
- font-size: 14px;
474
- color: #1e252d;
475
- cursor: pointer;
326
+ .Dropzone > .overlay .drop {
327
+ border-radius: 4px;
328
+ border: 1px dashed #FFFFFF;
329
+ position: absolute;
330
+ top: 18px;
331
+ left: 18px;
332
+ right: 18px;
333
+ bottom: 18px;
334
+ display: flex;
335
+ justify-content: center;
336
+ align-items: center;
337
+ font-weight: 500;
338
+ font-size: 18px;
339
+ color: #FFFFFF;
476
340
  }
477
341
 
478
- .Checkbox label:before, .Checkbox label:after {
479
- content: "";
342
+ .Dropzone.dragging > .overlay {
343
+ opacity: 0.7;
344
+ visibility: visible;
345
+ transition-delay: 0s;
346
+ }
347
+
348
+ .Dropzone.dragging > * {
349
+ pointer-events: none;
350
+ }
351
+
352
+ .Dropzone > input.file {
480
353
  position: absolute;
481
354
  left: 0;
355
+ right: 0;
482
356
  top: 0;
357
+ bottom: 0;
358
+ width: 100%;
359
+ height: 100%;
360
+ opacity: 0;
361
+ cursor: pointer;
362
+ z-index: 1;
483
363
  }
484
364
 
485
- .Checkbox label:before {
486
- width: 20px;
487
- height: 20px;
488
- background: #fff;
489
- border: 2px solid #252525;
490
- border-radius: 2px;
491
- cursor: pointer;
492
- transition: background 0.3s;
365
+ .FilteredList {
366
+ max-height: 250px;
367
+ position: relative;
493
368
  }
494
369
 
495
- .Checkbox input[type=checkbox] {
496
- outline: 0;
497
- margin-right: 10px;
370
+ .FilteredList.popup {
371
+ padding: 0;
498
372
  visibility: hidden;
373
+ position: absolute;
374
+ background: white;
375
+ z-index: 4;
376
+ 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);
377
+ transition: all 0.2s ease-out;
378
+ top: calc(100% + 4px);
379
+ opacity: 0;
380
+ border-radius: 2px;
499
381
  }
500
382
 
501
- .Checkbox input[type=checkbox]:checked + label:before {
502
- background: #4AC263;
503
- border: none;
383
+ .FilteredList.popup.visible {
384
+ opacity: 1;
385
+ visibility: visible;
504
386
  }
505
387
 
506
- .Checkbox input[type=checkbox]:checked + label:after {
507
- transform: rotate(-45deg);
508
- top: 6px;
509
- left: 4px;
510
- width: 12px;
511
- height: 6px;
512
- border: 2px solid #fff;
513
- border-top-style: none;
514
- border-right-style: none;
388
+ .FilteredList.portal {
389
+ transition: opacity 0.2s ease-out;
515
390
  }
516
391
 
517
- .Checkbox input[type=checkbox]:disabled + label {
518
- color: gray;
392
+ .FilteredList.inline {
393
+ max-height: 225px;
394
+ margin-top: 5px;
519
395
  }
520
396
 
521
- .Checkbox input[type=checkbox]:disabled + label:before {
522
- border-color: rgba(0, 0, 0, 0.26);
397
+ .FilteredList .child {
398
+ display: flex;
399
+ flex-flow: row nowrap;
400
+ align-items: center;
401
+ white-space: nowrap;
402
+ font-size: 14px;
403
+ color: rgb(34, 34, 34);
404
+ height: 30px;
405
+ padding: 5px 10px;
406
+ padding-right: 15px;
407
+ cursor: pointer;
408
+ overflow: hidden;
409
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
410
+ border-left: 5px solid #4AC263;
411
+ padding-left: 15px;
412
+ margin-left: -5px;
523
413
  }
524
414
 
525
- .Checkbox input[type=checkbox]:disabled:checked + label:before {
526
- background: rgba(0, 0, 0, 0.26);
415
+ .FilteredList .child.hidden {
416
+ height: 0 !important;
417
+ padding: 0 !important;
527
418
  }
528
419
 
529
- .CircleProgress {
530
- width: 48px;
531
- height: 48px;
420
+ .FilteredList .child.selected {
421
+ background-color: #F0F0F0;
422
+ padding-left: 10px;
423
+ margin-left: 0px;
532
424
  }
533
425
 
534
- .CircleProgress .line {
535
- stroke-width: 2px;
536
- stroke: black;
537
- stroke-linecap: square;
538
- fill: none;
539
- transition: stroke-dashoffset 0.2s ease;
426
+ .FilteredList .child.active {
427
+ background-color: rgb(238, 238, 238);
540
428
  }
541
429
 
542
- .animated {
543
- transition: opacity 250ms ease;
544
- opacity: 0;
430
+ .FilteredList .child {
431
+ margin-top: 8px;
545
432
  }
546
433
 
547
- .animated.mounting, .animated.mounted {
548
- opacity: 1;
434
+ .FilteredList .child.hidden {
435
+ margin-top: 0;
549
436
  }
550
437
 
551
- .DialogModal {
552
- overflow: hidden;
438
+ .FilteredList .child:not(.hidden) ~ .child {
439
+ margin-top: 0;
553
440
  }
554
441
 
555
- .DialogModal .content {
556
- top: 20vh;
442
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
443
+ margin-bottom: 8px;
557
444
  }
558
445
 
559
- .Dialog {
560
- background-color: white;
561
- min-width: 460px;
562
- max-width: 40vw;
563
- padding: 15px;
446
+ .FilteredList .child:not(.hidden):last-child {
447
+ margin-bottom: 8px;
564
448
  }
565
449
 
566
- .Dialog .title {
567
- margin-bottom: 15px;
568
- padding: 20px 50px 0px 30px;
569
- font-size: 1.25rem;
570
- line-height: 2rem;
571
- font-weight: 400;
572
- letter-spacing: 0.0125em;
450
+ .Button {
451
+ position: relative;
452
+ min-width: 64px;
453
+ min-height: 36px;
454
+ height: 24px;
455
+ margin: 0px;
456
+ padding: 0px 16px;
457
+ border: none;
458
+ outline: none;
459
+ font-size: 14px;
460
+ font-weight: 500;
461
+ letter-spacing: 1.25px;
462
+ background: #dfdfdf;
463
+ text-transform: uppercase;
464
+ font-family: Roboto, sans-serif;
465
+ -webkit-tap-highlight-color: transparent;
466
+ display: inline-flex;
467
+ justify-content: center;
468
+ align-items: center;
469
+ cursor: pointer;
470
+ overflow: hidden;
471
+ user-select: none;
472
+ border-radius: 3px;
473
+ transition: all 0.2s ease;
573
474
  }
574
475
 
575
- .Dialog .description {
576
- color: rgba(0, 0, 0, 0.54);
577
- font-size: 1rem;
578
- line-height: 1.5rem;
579
- font-weight: 400;
580
- letter-spacing: 0.03125em;
581
- margin-top: 20px;
582
- padding: 0 24px 24px;
476
+ .Button.flat {
477
+ background-color: transparent;
583
478
  }
584
479
 
585
- .Dialog > div.row {
586
- margin-bottom: 15px;
480
+ .Button.flat:hover {
481
+ background-color: rgba(0, 0, 0, 0.05);
587
482
  }
588
483
 
589
- .Dialog > div.row:last-child {
590
- margin-bottom: 0;
484
+ .Button.green {
485
+ background-color: #43a047;
486
+ color: white;
591
487
  }
592
488
 
593
- .ImageGallery {
594
- position: fixed;
595
- top: 0;
596
- left: 0;
597
- bottom: 0;
598
- right: 0;
599
- z-index: 1000;
600
- background-color: rgba(0, 0, 0, 0.01);
601
- user-select: none;
489
+ .Button.green:hover {
490
+ background-color: #3b8e3f;
602
491
  }
603
492
 
604
- .ImageGallery:focus {
605
- outline-width: 0px;
493
+ .Button.blue {
494
+ background-color: #039be5;
495
+ color: white;
606
496
  }
607
497
 
608
- .ImageGallery.animated {
609
- transition: background-color 0.25s ease;
610
- opacity: 1;
498
+ .Button.blue:hover {
499
+ background-color: #038acc;
611
500
  }
612
501
 
613
- .ImageGallery.mounting, .ImageGallery.mounted {
614
- background-color: rgba(0, 0, 0, 0.8);
502
+ .Button.red {
503
+ background-color: #e53935;
504
+ color: white;
615
505
  }
616
506
 
617
- .ImageGallery .image {
618
- position: absolute;
619
- cursor: grab;
507
+ .Button.red:hover {
508
+ background-color: #e2231e;
620
509
  }
621
510
 
622
- .ImageGallery .image .counter {
623
- display: none;
511
+ .Button.black {
512
+ background-color: #1e252d;
513
+ color: white;
624
514
  }
625
515
 
626
- .ImageGallery .image img {
627
- border-radius: 4px;
628
- max-width: 100%;
629
- min-width: 100%;
516
+ .Button.black:hover {
517
+ background-color: #14181e;
630
518
  }
631
519
 
632
- .ImageGallery .image.animated {
633
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
634
- will-change: top, left, width, height, opacity;
520
+ .Button.gray {
521
+ background: #D9D9D9;
522
+ color: #999999;
635
523
  }
636
524
 
637
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
638
- opacity: 1;
525
+ .Button.gray:hover {
526
+ background-color: #cccccc;
639
527
  }
640
528
 
641
- .ImageGallery .image.zoomed {
642
- text-align: center;
643
- overflow: hidden;
529
+ .Button.small {
530
+ padding: 0px 8px;
531
+ min-height: 16px;
532
+ min-width: 16px;
644
533
  }
645
534
 
646
- .ImageGallery .image.dragging {
647
- transition: none;
648
- cursor: move;
535
+ .Button > .material-icons {
536
+ margin-right: 10px;
649
537
  }
650
538
 
651
- .ImageGallery .image .close {
652
- position: absolute;
653
- top: -18px;
654
- right: -18px;
539
+ .Button.round {
540
+ padding: 0px;
541
+ min-width: 36px;
542
+ border-radius: 50%;
655
543
  }
656
544
 
657
- .ImageGallery .image .spinner {
658
- position: absolute;
659
- top: 0;
660
- bottom: 0;
661
- left: 0;
662
- right: 0;
663
- background: rgba(0, 0, 0, 0.65);
545
+ .Button.round > .material-icons {
546
+ margin: 0px;
664
547
  }
665
548
 
666
- .ImageGallery .image .spinner .SpinningProgress {
549
+ .Button .ripple {
667
550
  position: absolute;
668
- top: 50%;
669
- left: 50%;
670
- margin-left: -24px;
671
- margin-top: -24px;
551
+ background: rgba(0, 0, 0, 0.1);
552
+ border-radius: 100%;
553
+ transform: scale(0);
554
+ pointer-events: none;
555
+ transition: opacity 0.2s ease-out;
672
556
  }
673
557
 
674
- .ImageGallery .image .spinner .SpinningProgress .line {
675
- stroke: #2196F3;
558
+ .Button .ripple.show {
559
+ animation: ripple 0.35s ease-out;
676
560
  }
677
561
 
678
- .ImageGallery .Button.animated {
679
- transition: all 0.25s ease;
680
- opacity: 0;
681
- transform: scale(0);
562
+ .Button:active .ripple.showed {
563
+ opacity: 1;
682
564
  }
683
565
 
684
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
566
+ .Button:focus .ripple.focused {
685
567
  opacity: 1;
568
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
686
569
  transform: scale(1);
570
+ animation: resize 1.25s ease-out infinite;
571
+ animation-delay: 0.2s;
572
+ animation-direction: alternate;
687
573
  }
688
574
 
689
- .ImageGallery .Button {
690
- color: white;
691
- background: rgba(0, 0, 0, 0.4);
575
+ .Button .ripple.showed {
576
+ transform: scale(2);
577
+ opacity: 0;
692
578
  }
693
579
 
694
- .ImageGallery .Button:hover {
695
- background: rgba(0, 0, 0, 0.7);
580
+ @keyframes ripple {
581
+ to {
582
+ transform: scale(2);
583
+ }
584
+ }
585
+ @keyframes resize {
586
+ to {
587
+ transform: scale(0.9);
588
+ }
589
+ }
590
+ .Button.raised {
591
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
696
592
  }
697
593
 
698
- .ImageGallery > .arrow {
699
- position: absolute;
700
- top: 50%;
701
- height: 76px;
702
- width: 76px;
703
- margin-top: -38px;
704
- }
705
-
706
- .ImageGallery > .arrow.left {
707
- left: 5%;
708
- }
709
-
710
- .ImageGallery > .arrow.right {
711
- right: 5%;
712
- }
713
-
714
- .ImageGallery > .arrow .material-icons {
715
- font-size: 40px;
594
+ .Button.raised:hover {
595
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
716
596
  }
717
597
 
718
- .ImageGallery .counter {
719
- position: absolute;
720
- top: 10px;
721
- left: 10px;
722
- color: white;
723
- font-size: 13px;
598
+ .Button.raised:active {
599
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
724
600
  }
725
601
 
726
- .ImageGallery .previews {
727
- height: 80px;
728
- position: absolute;
729
- bottom: 15px;
730
- left: 50%;
731
- transform: translateX(-50%);
732
- padding: 0 45px;
602
+ .Button.disabled {
603
+ box-shadow: none;
604
+ background: #D9D9D9;
605
+ color: #999999;
733
606
  }
734
607
 
735
- .ImageGallery .previews .viewport {
736
- overflow: hidden;
737
- position: relative;
738
- height: 100%;
608
+ .Button.disabled:hover {
609
+ background-color: #cccccc;
739
610
  }
740
611
 
741
- .ImageGallery .previews .container {
742
- position: relative;
743
- display: flex;
744
- flex-flow: row nowrap;
745
- height: 100%;
746
- transition: left 0.25s ease;
612
+ .Button::-moz-focus-inner {
613
+ border: 0;
747
614
  }
748
615
 
749
- .ImageGallery .previews .preview {
750
- position: relative;
751
- height: 100%;
752
- display: inline-block;
753
- width: 106.66px;
616
+ .DialogModal {
754
617
  overflow: hidden;
755
- margin-left: 12px;
756
- border-radius: 2px;
757
- cursor: pointer;
758
- box-sizing: border-box;
759
- }
760
-
761
- .ImageGallery .previews .preview:first-child {
762
- margin-left: 0;
763
- }
764
-
765
- .ImageGallery .previews .preview > .border {
766
- position: absolute;
767
- bottom: 0;
768
- width: 100%;
769
- height: 3px;
770
- }
771
-
772
- .ImageGallery .previews .preview > .border .line {
773
- left: 50%;
774
- width: 0;
775
- height: 3px;
776
- min-height: 3px;
777
- background-color: #4AC263;
778
- transition: all 0.2s ease;
779
- position: absolute;
780
- }
781
-
782
- .ImageGallery .previews .preview:after {
783
- content: "";
784
- position: absolute;
785
- top: 0;
786
- right: 0;
787
- bottom: 0;
788
- left: 0;
789
- background: rgba(0, 0, 0, 0.35);
790
- transition: background 0.2s ease;
791
- }
792
-
793
- .ImageGallery .previews .preview:hover:after {
794
- background: rgba(0, 0, 0, 0.1);
795
- }
796
-
797
- .ImageGallery .previews .preview.selected .border .line {
798
- left: 0;
799
- width: 100%;
800
- }
801
-
802
- .ImageGallery .previews .preview.selected:after {
803
- background: rgba(0, 0, 0, 0);
804
- }
805
-
806
- .ImageGallery .previews > .arrow {
807
- position: absolute;
808
- top: 50%;
809
- height: 30px;
810
- width: 30px;
811
- min-width: 30px;
812
- min-height: 30px;
813
- margin-top: -15px;
814
- }
815
-
816
- .ImageGallery .previews > .arrow.left {
817
- left: 0;
818
- }
819
-
820
- .ImageGallery .previews > .arrow.right {
821
- right: 0;
822
- }
823
-
824
- .ImageGallery .previews > .arrow .material-icons {
825
- font-size: 24px;
826
618
  }
827
619
 
828
- .Button.FloatingActionButton {
829
- position: absolute;
830
- right: 16px;
831
- bottom: 16px;
832
- width: 56px;
833
- height: 56px;
834
- padding: 16px;
835
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
836
- }
837
-
838
- .Button.FloatingActionButton.raised {
839
- 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);
840
- }
841
-
842
- .Button.FloatingActionButton.mini {
843
- width: 40px;
844
- height: 40px;
845
- padding: 8px;
846
- }
847
-
848
- .Button.FloatingActionButton.hidden {
849
- bottom: -100px;
850
- }
851
-
852
- .Dropzone {
853
- position: relative;
620
+ .DialogModal .content {
621
+ top: 20vh;
854
622
  }
855
623
 
856
- .Dropzone > .overlay {
857
- position: absolute;
858
- left: 0;
859
- right: 0;
860
- top: 0;
861
- bottom: 0;
862
- background-color: #38ADC4;
863
- z-index: 1;
864
- opacity: 0;
865
- transition: all 0.2s ease;
866
- transition-delay: 100ms;
867
- visibility: hidden;
868
- display: flex;
869
- justify-content: center;
870
- align-items: center;
624
+ .Dialog {
625
+ background-color: white;
626
+ min-width: 460px;
627
+ max-width: 40vw;
628
+ padding: 15px;
871
629
  }
872
630
 
873
- .Dropzone > .overlay .drop {
874
- border-radius: 4px;
875
- border: 1px dashed #FFFFFF;
876
- position: absolute;
877
- top: 18px;
878
- left: 18px;
879
- right: 18px;
880
- bottom: 18px;
881
- display: flex;
882
- justify-content: center;
883
- align-items: center;
884
- font-weight: 500;
885
- font-size: 18px;
886
- color: #FFFFFF;
631
+ .Dialog .title {
632
+ margin-bottom: 15px;
633
+ padding: 20px 50px 0px 30px;
634
+ font-size: 1.25rem;
635
+ line-height: 2rem;
636
+ font-weight: 400;
637
+ letter-spacing: 0.0125em;
887
638
  }
888
639
 
889
- .Dropzone.dragging > .overlay {
890
- opacity: 0.7;
891
- visibility: visible;
892
- transition-delay: 0s;
640
+ .Dialog .description {
641
+ color: rgba(0, 0, 0, 0.54);
642
+ font-size: 1rem;
643
+ line-height: 1.5rem;
644
+ font-weight: 400;
645
+ letter-spacing: 0.03125em;
646
+ margin-top: 20px;
647
+ padding: 0 24px 24px;
893
648
  }
894
649
 
895
- .Dropzone.dragging > * {
896
- pointer-events: none;
650
+ .Dialog > div.row {
651
+ margin-bottom: 15px;
897
652
  }
898
653
 
899
- .Dropzone > input.file {
900
- position: absolute;
901
- left: 0;
902
- right: 0;
903
- top: 0;
904
- bottom: 0;
905
- width: 100%;
906
- height: 100%;
907
- opacity: 0;
908
- cursor: pointer;
909
- z-index: 1;
654
+ .Dialog > div.row:last-child {
655
+ margin-bottom: 0;
910
656
  }
911
657
 
912
658
  .FormUploadProgress {
@@ -978,403 +724,426 @@
978
724
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
979
725
  }
980
726
 
981
- .DropFileInput {
982
- flex-grow: 1;
983
- }
984
-
985
- .DropFileInput .Dropzone {
986
- border: 1px dashed #808080;
987
- padding: 12px;
727
+ .Scrollable {
728
+ max-height: 250px;
729
+ max-width: 250px;
730
+ padding-right: 5px;
731
+ position: relative;
988
732
  display: flex;
989
- flex-flow: row nowrap;
990
- justify-content: center;
991
- align-items: center;
992
- color: gray;
993
- cursor: pointer;
994
- border-radius: 3px;
995
- font-weight: normal;
996
- line-height: 22px;
997
- font-size: 14px;
998
- color: #7E7E7E;
999
- max-width: 100%;
1000
- word-break: break-all;
1001
- word-break: break-word;
733
+ flex-flow: column;
734
+ align-items: stretch;
735
+ overflow: hidden;
1002
736
  }
1003
737
 
1004
- .DropFileInput .Dropzone .icon.withText {
1005
- margin-right: 10px;
738
+ .Scrollable:hover > .scrollbar.auto {
739
+ transition-delay: 0s;
740
+ opacity: 1;
1006
741
  }
1007
742
 
1008
- .Modal {
1009
- display: block;
1010
- position: fixed;
1011
- top: 0;
1012
- left: 0;
1013
- right: 0;
1014
- bottom: 100%;
743
+ .Scrollable .viewport {
1015
744
  overflow-y: scroll;
1016
- transition: bottom 0ms linear;
1017
- transition-delay: 0.2s;
745
+ overflow-x: scroll;
746
+ max-height: 100%;
747
+ scroll-behavior: smooth;
748
+ scrollbar-width: none;
1018
749
  }
1019
750
 
1020
- .Modal.show {
1021
- transition-delay: 0s;
1022
- bottom: 0;
751
+ .Scrollable .viewport::-webkit-scrollbar {
752
+ display: none;
1023
753
  }
1024
754
 
1025
- .Modal > .overlay {
1026
- position: fixed;
1027
- top: 0;
1028
- bottom: 100%;
1029
- left: 0;
1030
- right: 0;
1031
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1032
- opacity: 0;
1033
- background-color: black;
1034
- pointer-events: none;
755
+ .Scrollable.without-scroll-horizontal {
756
+ max-width: unset;
1035
757
  }
1036
758
 
1037
- .Modal > .overlay.show {
1038
- opacity: 0.5;
1039
- bottom: 0;
759
+ .Scrollable.undefined-horizontal {
760
+ max-width: unset;
1040
761
  }
1041
762
 
1042
- .Modal > .content {
1043
- left: 50%;
1044
- top: 10vh;
1045
- margin-bottom: 10vh;
1046
- font-size: 16px;
1047
- padding: 0;
1048
- opacity: 0;
1049
- transition: opacity 0.25s ease, transform 0.25s ease;
1050
- transform: scaleY(0) translateY(-200px) translateX(-50%);
1051
- transform-origin: top;
1052
- position: absolute;
1053
- border-radius: 2px;
1054
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
763
+ .Scrollable.without-scroll {
764
+ padding-right: 0;
765
+ max-height: unset;
1055
766
  }
1056
767
 
1057
- .Modal > .content.show {
1058
- opacity: 1;
1059
- transform: scaleY(1) translateY(0px) translateX(-50%);
768
+ .Scrollable.without-scroll > .viewport {
769
+ padding-right: 0;
770
+ margin-right: 0;
1060
771
  }
1061
772
 
1062
- .Modal > .content > .Scrollable {
1063
- overflow: visible;
1064
- max-height: 80vh;
773
+ .Scrollable.without-scroll > .scrollbar {
774
+ visibility: hidden;
1065
775
  }
1066
776
 
1067
- .Modal > .content > .Scrollable > .viewport {
1068
- min-width: 10px;
1069
- min-height: 10px;
777
+ .Scrollable .scrollbar {
778
+ position: absolute;
779
+ right: 0px;
780
+ top: 0px;
781
+ width: 5px;
782
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
783
+ transition-delay: 0.5s;
784
+ z-index: 1;
1070
785
  }
1071
786
 
1072
- .Modal > .content > .Button.close {
1073
- top: 10px;
1074
- right: 10px;
787
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
788
+ opacity: 0;
789
+ }
790
+
791
+ .Scrollable .scrollbar .thumb {
792
+ background-color: rgba(0, 0, 0, 0.3);
793
+ width: 5px;
1075
794
  position: absolute;
795
+ right: 0px;
796
+ top: 0px;
797
+ user-select: none;
798
+ will-change: top;
799
+ border-radius: 2px;
1076
800
  }
1077
801
 
1078
- .Snackbar {
1079
- transform: translateX(-50%);
1080
- overflow: hidden;
1081
- background-color: #323232;
1082
- padding: 14px 24px 14px 24px;
1083
- color: #fff;
1084
- min-width: 288px;
1085
- max-width: 568px;
1086
- position: fixed;
1087
- bottom: -50px;
1088
- left: 50%;
1089
- display: flex;
1090
- flex-wrap: nowrap;
1091
- align-items: center;
1092
- opacity: 0;
1093
- transition: bottom 0.25s ease, opacity 0.2s ease;
1094
- border-radius: 4px;
1095
- box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
802
+ .Scrollable .scrollbar .thumb:hover {
803
+ background-color: rgba(0, 0, 0, 0.5);
1096
804
  }
1097
805
 
1098
- .Snackbar.shown {
1099
- bottom: 15px;
1100
- opacity: 1;
806
+ .Scrollable .scrollbar .thumb:active {
807
+ background-color: rgba(0, 0, 0, 0.7);
1101
808
  }
1102
809
 
1103
- .Snackbar .message {
1104
- overflow: hidden;
1105
- line-height: 1.2em;
1106
- min-height: 1.2em;
1107
- max-height: 2.4em;
1108
- flex: 1;
810
+ .Scrollable .scrollbar.horizontal {
811
+ left: 0px;
812
+ right: 0px;
813
+ height: 5px;
814
+ bottom: 0;
815
+ width: unset;
816
+ top: unset;
1109
817
  }
1110
818
 
1111
- .Snackbar .action {
1112
- text-transform: uppercase;
1113
- font-weight: bold;
1114
- margin-left: 48px;
1115
- color: #bf3727;
819
+ .Scrollable .scrollbar.horizontal .thumb {
820
+ height: 5px;
821
+ left: 0px;
822
+ bottom: 0px;
823
+ will-change: left;
1116
824
  }
1117
825
 
1118
- .Snackbar .action a {
1119
- text-decoration: none;
1120
- color: #bf3727;
826
+ .ImageGallery {
827
+ position: fixed;
828
+ top: 0;
829
+ left: 0;
830
+ bottom: 0;
831
+ right: 0;
832
+ z-index: 1000;
833
+ background-color: rgba(0, 0, 0, 0.01);
834
+ user-select: none;
1121
835
  }
1122
836
 
1123
- .ModalMenu {
1124
- position: absolute;
1125
- top: 10px;
1126
- right: 50px;
837
+ .ImageGallery:focus {
838
+ outline-width: 0px;
1127
839
  }
1128
840
 
1129
- .ModalMenu .material-icons {
1130
- color: #818181;
841
+ .ImageGallery.animated {
842
+ transition: background-color 0.25s ease;
843
+ opacity: 1;
1131
844
  }
1132
845
 
1133
- .ModalMenu .Button.animated {
846
+ .ImageGallery.mounting, .ImageGallery.mounted {
847
+ background-color: rgba(0, 0, 0, 0.8);
848
+ }
849
+
850
+ .ImageGallery .image {
1134
851
  position: absolute;
1135
- transition: opacity 150ms ease-in, right 200ms ease-in;
1136
- opacity: 0;
1137
- right: 0;
1138
- top: 0;
852
+ cursor: grab;
1139
853
  }
1140
854
 
1141
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1142
- opacity: 1;
855
+ .ImageGallery .image .counter {
856
+ display: none;
1143
857
  }
1144
858
 
1145
- .ModalMenu .Button.animated.unmounting {
1146
- transition: opacity 100ms ease-out, right 200ms ease-out;
859
+ .ImageGallery .image img {
860
+ border-radius: 4px;
861
+ max-width: 100%;
862
+ min-width: 100%;
1147
863
  }
1148
864
 
1149
- .ModalMenu .Button.active {
1150
- background: #EBEBEB;
865
+ .ImageGallery .image.animated {
866
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
867
+ will-change: top, left, width, height, opacity;
1151
868
  }
1152
869
 
1153
- .ModalMenu .separator {
1154
- height: 24px;
1155
- width: 1px;
1156
- background-color: #D9D9D9;
1157
- margin-left: 4px;
870
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
871
+ opacity: 1;
1158
872
  }
1159
873
 
1160
- .SpinningProgress {
1161
- width: 48px;
1162
- height: 48px;
1163
- position: relative;
1164
- margin: 0 auto;
874
+ .ImageGallery .image.zoomed {
875
+ text-align: center;
876
+ overflow: hidden;
1165
877
  }
1166
878
 
1167
- .SpinningProgress:before {
1168
- content: "";
1169
- display: block;
1170
- padding-top: 100%;
879
+ .ImageGallery .image.dragging {
880
+ transition: none;
881
+ cursor: move;
1171
882
  }
1172
883
 
1173
- .SpinningProgress .circular {
1174
- animation: rotate 2s linear infinite;
1175
- height: 100%;
1176
- transform-origin: center center;
1177
- width: 100%;
884
+ .ImageGallery .image .close {
885
+ position: absolute;
886
+ top: -18px;
887
+ right: -18px;
888
+ }
889
+
890
+ .ImageGallery .image .spinner {
1178
891
  position: absolute;
1179
892
  top: 0;
1180
893
  bottom: 0;
1181
894
  left: 0;
1182
895
  right: 0;
1183
- margin: auto;
896
+ background: rgba(0, 0, 0, 0.65);
1184
897
  }
1185
898
 
1186
- .SpinningProgress .line {
1187
- stroke: black;
1188
- stroke-width: 2px;
1189
- stroke-dasharray: 1, 96;
1190
- stroke-dashoffset: 0;
1191
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
899
+ .ImageGallery .image .spinner .SpinningProgress {
900
+ position: absolute;
901
+ top: 50%;
902
+ left: 50%;
903
+ margin-left: -24px;
904
+ margin-top: -24px;
1192
905
  }
1193
906
 
1194
- @keyframes rotate {
1195
- 100% {
1196
- transform: rotate(360deg);
1197
- }
1198
- }
1199
- @keyframes dash {
1200
- 0% {
1201
- stroke-dasharray: 1, 96;
1202
- stroke-dashoffset: 0;
1203
- }
1204
- 50% {
1205
- stroke-dasharray: 43, 96;
1206
- stroke-dashoffset: -17px;
1207
- }
1208
- 100% {
1209
- stroke-dasharray: 43, 96;
1210
- stroke-dashoffset: -53px;
1211
- }
1212
- }
1213
- .FilteredList {
1214
- max-height: 250px;
1215
- position: relative;
907
+ .ImageGallery .image .spinner .SpinningProgress .line {
908
+ stroke: #2196F3;
1216
909
  }
1217
910
 
1218
- .FilteredList.popup {
1219
- padding: 0;
1220
- visibility: hidden;
1221
- position: absolute;
1222
- background: white;
1223
- z-index: 4;
1224
- 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);
1225
- transition: all 0.2s ease-out;
1226
- top: calc(100% + 4px);
911
+ .ImageGallery .Button.animated {
912
+ transition: all 0.25s ease;
1227
913
  opacity: 0;
1228
- border-radius: 2px;
914
+ transform: scale(0);
1229
915
  }
1230
916
 
1231
- .FilteredList.popup.visible {
917
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
1232
918
  opacity: 1;
1233
- visibility: visible;
919
+ transform: scale(1);
1234
920
  }
1235
921
 
1236
- .FilteredList.portal {
1237
- transition: opacity 0.2s ease-out;
922
+ .ImageGallery .Button {
923
+ color: white;
924
+ background: rgba(0, 0, 0, 0.4);
1238
925
  }
1239
926
 
1240
- .FilteredList.inline {
1241
- max-height: 225px;
1242
- margin-top: 5px;
927
+ .ImageGallery .Button:hover {
928
+ background: rgba(0, 0, 0, 0.7);
1243
929
  }
1244
930
 
1245
- .FilteredList .child {
1246
- display: flex;
1247
- flex-flow: row nowrap;
1248
- align-items: center;
1249
- white-space: nowrap;
1250
- font-size: 14px;
1251
- color: rgb(34, 34, 34);
1252
- height: 30px;
1253
- padding: 5px 10px;
1254
- padding-right: 15px;
1255
- cursor: pointer;
1256
- overflow: hidden;
1257
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1258
- border-left: 5px solid #4AC263;
1259
- padding-left: 15px;
1260
- margin-left: -5px;
931
+ .ImageGallery > .arrow {
932
+ position: absolute;
933
+ top: 50%;
934
+ height: 76px;
935
+ width: 76px;
936
+ margin-top: -38px;
1261
937
  }
1262
938
 
1263
- .FilteredList .child.hidden {
1264
- height: 0 !important;
1265
- padding: 0 !important;
939
+ .ImageGallery > .arrow.left {
940
+ left: 5%;
1266
941
  }
1267
942
 
1268
- .FilteredList .child.selected {
1269
- background-color: #F0F0F0;
1270
- padding-left: 10px;
1271
- margin-left: 0px;
943
+ .ImageGallery > .arrow.right {
944
+ right: 5%;
1272
945
  }
1273
946
 
1274
- .FilteredList .child.active {
1275
- background-color: rgb(238, 238, 238);
947
+ .ImageGallery > .arrow .material-icons {
948
+ font-size: 40px;
1276
949
  }
1277
950
 
1278
- .FilteredList .child {
1279
- margin-top: 8px;
951
+ .ImageGallery .counter {
952
+ position: absolute;
953
+ top: 10px;
954
+ left: 10px;
955
+ color: white;
956
+ font-size: 13px;
1280
957
  }
1281
958
 
1282
- .FilteredList .child.hidden {
1283
- margin-top: 0;
959
+ .ImageGallery .previews {
960
+ height: 80px;
961
+ position: absolute;
962
+ bottom: 15px;
963
+ left: 50%;
964
+ transform: translateX(-50%);
965
+ padding: 0 45px;
1284
966
  }
1285
967
 
1286
- .FilteredList .child:not(.hidden) ~ .child {
1287
- margin-top: 0;
968
+ .ImageGallery .previews .viewport {
969
+ overflow: hidden;
970
+ position: relative;
971
+ height: 100%;
1288
972
  }
1289
973
 
1290
- .FilteredList .child:not(.hidden) ~ .child:last-child {
1291
- margin-bottom: 8px;
974
+ .ImageGallery .previews .container {
975
+ position: relative;
976
+ display: flex;
977
+ flex-flow: row nowrap;
978
+ height: 100%;
979
+ transition: left 0.25s ease;
1292
980
  }
1293
981
 
1294
- .FilteredList .child:not(.hidden):last-child {
1295
- margin-bottom: 8px;
982
+ .ImageGallery .previews .preview {
983
+ position: relative;
984
+ height: 100%;
985
+ display: inline-block;
986
+ width: 106.66px;
987
+ overflow: hidden;
988
+ margin-left: 12px;
989
+ border-radius: 2px;
990
+ cursor: pointer;
991
+ box-sizing: border-box;
1296
992
  }
1297
993
 
1298
- .Switch {
1299
- display: inline-flex;
1300
- padding-top: 5px;
994
+ .ImageGallery .previews .preview:first-child {
995
+ margin-left: 0;
1301
996
  }
1302
997
 
1303
- .Switch .switch-input {
1304
- display: none;
998
+ .ImageGallery .previews .preview > .border {
999
+ position: absolute;
1000
+ bottom: 0;
1001
+ width: 100%;
1002
+ height: 3px;
1305
1003
  }
1306
1004
 
1307
- .Switch .switch-label {
1308
- position: relative;
1309
- display: inline-flex;
1310
- align-items: center;
1311
- min-width: 38px;
1312
- height: 24px;
1313
- cursor: pointer;
1314
- font-weight: 500;
1315
- text-align: left;
1316
- user-select: none;
1317
- margin: 0;
1318
- padding: 0;
1319
- padding-left: 44px;
1320
- box-sizing: border-box;
1005
+ .ImageGallery .previews .preview > .border .line {
1006
+ left: 50%;
1007
+ width: 0;
1008
+ height: 3px;
1009
+ min-height: 3px;
1010
+ background-color: #4AC263;
1011
+ transition: all 0.2s ease;
1012
+ position: absolute;
1321
1013
  }
1322
1014
 
1323
- .Switch .switch-label:before, .Switch .switch-label:after {
1015
+ .ImageGallery .previews .preview:after {
1324
1016
  content: "";
1325
- box-sizing: border-box;
1326
1017
  position: absolute;
1327
- margin: 0;
1328
- outline: 0;
1018
+ top: 0;
1019
+ right: 0;
1020
+ bottom: 0;
1021
+ left: 0;
1022
+ background: rgba(0, 0, 0, 0.35);
1023
+ transition: background 0.2s ease;
1024
+ }
1025
+
1026
+ .ImageGallery .previews .preview:hover:after {
1027
+ background: rgba(0, 0, 0, 0.1);
1028
+ }
1029
+
1030
+ .ImageGallery .previews .preview.selected .border .line {
1031
+ left: 0;
1032
+ width: 100%;
1033
+ }
1034
+
1035
+ .ImageGallery .previews .preview.selected:after {
1036
+ background: rgba(0, 0, 0, 0);
1037
+ }
1038
+
1039
+ .ImageGallery .previews > .arrow {
1040
+ position: absolute;
1329
1041
  top: 50%;
1330
- transform: translate(0, -50%);
1331
- transition: all 0.3s ease;
1042
+ height: 30px;
1043
+ width: 30px;
1044
+ min-width: 30px;
1045
+ min-height: 30px;
1046
+ margin-top: -15px;
1332
1047
  }
1333
1048
 
1334
- .Switch .switch-label:before {
1335
- left: 1px;
1336
- width: 34px;
1337
- height: 14px;
1338
- background-color: #9E9E9E;
1339
- border-radius: 8px;
1049
+ .ImageGallery .previews > .arrow.left {
1050
+ left: 0;
1340
1051
  }
1341
1052
 
1342
- .Switch .switch-label:after {
1053
+ .ImageGallery .previews > .arrow.right {
1054
+ right: 0;
1055
+ }
1056
+
1057
+ .ImageGallery .previews > .arrow .material-icons {
1058
+ font-size: 24px;
1059
+ }
1060
+
1061
+ .DNDContainer .DroppableList .Draggable {
1062
+ transform: unset;
1063
+ transition: unset;
1064
+ opacity: 1;
1065
+ }
1066
+
1067
+ .DNDContainer .DroppableList .Draggable.dragged {
1068
+ transition: unset !important;
1069
+ }
1070
+
1071
+ .DNDContainer .DroppableList.hover .Draggable {
1072
+ transition: transform 0.2s ease-in;
1073
+ }
1074
+
1075
+ .DNDContainer .DroppableList.resetting .Draggable {
1076
+ transition: transform 0.1s ease-in;
1077
+ }
1078
+
1079
+ .Modal {
1080
+ display: block;
1081
+ position: fixed;
1082
+ top: 0;
1343
1083
  left: 0;
1344
- width: 20px;
1345
- height: 20px;
1346
- background-color: #FAFAFA;
1347
- border-radius: 50%;
1348
- box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1084
+ right: 0;
1085
+ bottom: 100%;
1086
+ overflow-y: scroll;
1087
+ transition: bottom 0ms linear;
1088
+ transition-delay: 0.2s;
1349
1089
  }
1350
1090
 
1351
- .Switch .switch-label .toggle--on {
1352
- display: none;
1091
+ .Modal.show {
1092
+ transition-delay: 0s;
1093
+ bottom: 0;
1353
1094
  }
1354
1095
 
1355
- .Switch .switch-label .toggle--off {
1356
- display: inline-block;
1096
+ .Modal > .overlay {
1097
+ position: fixed;
1098
+ top: 0;
1099
+ bottom: 100%;
1100
+ left: 0;
1101
+ right: 0;
1102
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1103
+ opacity: 0;
1104
+ background-color: black;
1105
+ pointer-events: none;
1357
1106
  }
1358
1107
 
1359
- .Switch .switch-label .label {
1360
- margin-right: 5px;
1108
+ .Modal > .overlay.show {
1109
+ opacity: 0.5;
1110
+ bottom: 0;
1111
+ }
1112
+
1113
+ .Modal > .content {
1114
+ left: 50%;
1115
+ top: 10vh;
1116
+ margin-bottom: 10vh;
1117
+ font-size: 16px;
1118
+ padding: 0;
1119
+ opacity: 0;
1120
+ transition: opacity 0.25s ease, transform 0.25s ease;
1121
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1122
+ transform-origin: top;
1123
+ position: absolute;
1124
+ border-radius: 2px;
1125
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1361
1126
  }
1362
1127
 
1363
- .Switch .switch-input:checked + .switch-label:before {
1364
- background-color: #A5D6A7;
1128
+ .Modal > .content.show {
1129
+ opacity: 1;
1130
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1365
1131
  }
1366
1132
 
1367
- .Switch .switch-input:checked + .switch-label:after {
1368
- background-color: #4CAF50;
1369
- transform: translate(80%, -50%);
1133
+ .Modal > .content > .Scrollable {
1134
+ overflow: visible;
1135
+ max-height: 80vh;
1370
1136
  }
1371
1137
 
1372
- .Switch .switch-input:checked + .switch-label .toggle--on {
1373
- display: inline-block;
1138
+ .Modal > .content > .Scrollable > .viewport {
1139
+ min-width: 10px;
1140
+ min-height: 10px;
1374
1141
  }
1375
1142
 
1376
- .Switch .switch-input:checked + .switch-label .toggle--off {
1377
- display: none;
1143
+ .Modal > .content > .Button.close {
1144
+ top: 10px;
1145
+ right: 10px;
1146
+ position: absolute;
1378
1147
  }
1379
1148
 
1380
1149
  .TextField {
@@ -1520,117 +1289,29 @@
1520
1289
  animation-name: shake;
1521
1290
  }
1522
1291
 
1523
- .Scrollable {
1524
- max-height: 250px;
1525
- max-width: 250px;
1526
- padding-right: 5px;
1527
- position: relative;
1292
+ .CalendarMonthView {
1528
1293
  display: flex;
1529
- flex-flow: column;
1530
- align-items: stretch;
1531
- overflow: hidden;
1532
- }
1533
-
1534
- .Scrollable:hover > .scrollbar.auto {
1535
- transition-delay: 0s;
1536
- opacity: 1;
1537
- }
1538
-
1539
- .Scrollable .viewport {
1540
- overflow-y: scroll;
1541
- overflow-x: scroll;
1542
- max-height: 100%;
1543
- scroll-behavior: smooth;
1544
- scrollbar-width: none;
1545
- }
1546
-
1547
- .Scrollable .viewport::-webkit-scrollbar {
1548
- display: none;
1549
- }
1550
-
1551
- .Scrollable.without-scroll-horizontal {
1552
- max-width: unset;
1553
- }
1554
-
1555
- .Scrollable.without-scroll {
1556
- padding-right: 0;
1557
- max-height: unset;
1558
- }
1559
-
1560
- .Scrollable.without-scroll > .viewport {
1561
- padding-right: 0;
1562
- margin-right: 0;
1563
- }
1564
-
1565
- .Scrollable.without-scroll > .scrollbar {
1566
- visibility: hidden;
1567
- }
1568
-
1569
- .Scrollable .scrollbar {
1570
- position: absolute;
1571
- right: 0px;
1572
- top: 0px;
1573
- width: 5px;
1574
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1575
- transition-delay: 0.5s;
1576
- z-index: 1;
1577
- }
1578
-
1579
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1580
- opacity: 0;
1581
- }
1582
-
1583
- .Scrollable .scrollbar .thumb {
1584
- background-color: rgba(0, 0, 0, 0.3);
1585
- width: 5px;
1586
- position: absolute;
1587
- right: 0px;
1588
- top: 0px;
1589
- user-select: none;
1590
- will-change: top;
1591
- border-radius: 2px;
1592
- }
1593
-
1594
- .Scrollable .scrollbar .thumb:hover {
1595
- background-color: rgba(0, 0, 0, 0.5);
1596
- }
1597
-
1598
- .Scrollable .scrollbar .thumb:active {
1599
- background-color: rgba(0, 0, 0, 0.7);
1600
- }
1601
-
1602
- .Scrollable .scrollbar.horizontal {
1603
- left: 0px;
1604
- right: 0px;
1605
- height: 5px;
1606
- bottom: 0;
1607
- width: unset;
1608
- top: unset;
1609
- }
1610
-
1611
- .Scrollable .scrollbar.horizontal .thumb {
1612
- height: 5px;
1613
- left: 0px;
1614
- bottom: 0px;
1615
- will-change: left;
1294
+ flex-flow: column nowrap;
1295
+ height: 100%;
1616
1296
  }
1617
1297
 
1618
- .DNDContainer .DroppableList .Draggable {
1619
- transform: unset;
1620
- transition: unset;
1621
- opacity: 1;
1298
+ .CalendarMonthView > .row {
1299
+ display: flex;
1300
+ flex-flow: row nowrap;
1622
1301
  }
1623
1302
 
1624
- .DNDContainer .DroppableList .Draggable.dragged {
1625
- transition: unset !important;
1303
+ .CalendarMonthView .days {
1304
+ flex-grow: 1;
1305
+ position: relative;
1626
1306
  }
1627
1307
 
1628
- .DNDContainer .DroppableList.hover .Draggable {
1629
- transition: transform 0.2s ease-in;
1308
+ .CalendarMonthView .day, .CalendarMonthView .header {
1309
+ flex-grow: 1;
1310
+ flex-basis: 1px;
1630
1311
  }
1631
1312
 
1632
- .DNDContainer .DroppableList.resetting .Draggable {
1633
- transition: transform 0.1s ease-in;
1313
+ .CalendarMonthView .day {
1314
+ height: 100%;
1634
1315
  }
1635
1316
 
1636
1317
  .DatePicker {
@@ -1741,38 +1422,157 @@
1741
1422
  background: unset;
1742
1423
  }
1743
1424
 
1744
- .calendar .CalendarMonthView .day span.selected {
1745
- color: white;
1746
- background-color: #2196F3;
1425
+ .calendar .CalendarMonthView .day span.selected {
1426
+ color: white;
1427
+ background-color: #2196F3;
1428
+ }
1429
+
1430
+ .calendar .CalendarMonthView .day span.selected:hover {
1431
+ background-color: #51adf6;
1432
+ }
1433
+
1434
+ .DropFileInput {
1435
+ flex-grow: 1;
1436
+ }
1437
+
1438
+ .DropFileInput .Dropzone {
1439
+ border: 1px dashed #808080;
1440
+ padding: 12px;
1441
+ display: flex;
1442
+ flex-flow: row nowrap;
1443
+ justify-content: center;
1444
+ align-items: center;
1445
+ color: gray;
1446
+ cursor: pointer;
1447
+ border-radius: 3px;
1448
+ font-weight: normal;
1449
+ line-height: 22px;
1450
+ font-size: 14px;
1451
+ color: #7E7E7E;
1452
+ max-width: 100%;
1453
+ word-break: break-all;
1454
+ word-break: break-word;
1455
+ }
1456
+
1457
+ .DropFileInput .Dropzone .icon.withText {
1458
+ margin-right: 10px;
1459
+ }
1460
+
1461
+ .Checkbox {
1462
+ position: relative;
1463
+ white-space: pre;
1464
+ }
1465
+
1466
+ .Checkbox *, .Checkbox *:before, .Checkbox *:after {
1467
+ box-sizing: border-box;
1468
+ }
1469
+
1470
+ .Checkbox label {
1471
+ font-family: Roboto, sans-serif;
1472
+ font-size: 14px;
1473
+ color: #1e252d;
1474
+ cursor: pointer;
1475
+ }
1476
+
1477
+ .Checkbox label:before, .Checkbox label:after {
1478
+ content: "";
1479
+ position: absolute;
1480
+ left: 0;
1481
+ top: 0;
1482
+ }
1483
+
1484
+ .Checkbox label:before {
1485
+ width: 20px;
1486
+ height: 20px;
1487
+ background: #fff;
1488
+ border: 2px solid #252525;
1489
+ border-radius: 2px;
1490
+ cursor: pointer;
1491
+ transition: background 0.3s;
1492
+ }
1493
+
1494
+ .Checkbox input[type=checkbox] {
1495
+ outline: 0;
1496
+ margin-right: 10px;
1497
+ visibility: hidden;
1498
+ }
1499
+
1500
+ .Checkbox input[type=checkbox]:checked + label:before {
1501
+ background: #4AC263;
1502
+ border: none;
1503
+ }
1504
+
1505
+ .Checkbox input[type=checkbox]:checked + label:after {
1506
+ transform: rotate(-45deg);
1507
+ top: 6px;
1508
+ left: 4px;
1509
+ width: 12px;
1510
+ height: 6px;
1511
+ border: 2px solid #fff;
1512
+ border-top-style: none;
1513
+ border-right-style: none;
1514
+ }
1515
+
1516
+ .Checkbox input[type=checkbox]:disabled + label {
1517
+ color: gray;
1518
+ }
1519
+
1520
+ .Checkbox input[type=checkbox]:disabled + label:before {
1521
+ border-color: rgba(0, 0, 0, 0.26);
1522
+ }
1523
+
1524
+ .Checkbox input[type=checkbox]:disabled:checked + label:before {
1525
+ background: rgba(0, 0, 0, 0.26);
1526
+ }
1527
+
1528
+ .CircleProgress {
1529
+ width: 48px;
1530
+ height: 48px;
1531
+ }
1532
+
1533
+ .CircleProgress .line {
1534
+ stroke-width: 2px;
1535
+ stroke: black;
1536
+ stroke-linecap: square;
1537
+ fill: none;
1538
+ transition: stroke-dashoffset 0.2s ease;
1539
+ }
1540
+
1541
+ .ModalMenu {
1542
+ position: absolute;
1543
+ top: 10px;
1544
+ right: 50px;
1747
1545
  }
1748
1546
 
1749
- .calendar .CalendarMonthView .day span.selected:hover {
1750
- background-color: #51adf6;
1547
+ .ModalMenu .material-icons {
1548
+ color: #818181;
1751
1549
  }
1752
1550
 
1753
- .CalendarMonthView {
1754
- display: flex;
1755
- flex-flow: column nowrap;
1756
- height: 100%;
1551
+ .ModalMenu .Button.animated {
1552
+ position: absolute;
1553
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1554
+ opacity: 0;
1555
+ right: 0;
1556
+ top: 0;
1757
1557
  }
1758
1558
 
1759
- .CalendarMonthView > .row {
1760
- display: flex;
1761
- flex-flow: row nowrap;
1559
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1560
+ opacity: 1;
1762
1561
  }
1763
1562
 
1764
- .CalendarMonthView .days {
1765
- flex-grow: 1;
1766
- position: relative;
1563
+ .ModalMenu .Button.animated.unmounting {
1564
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1767
1565
  }
1768
1566
 
1769
- .CalendarMonthView .day, .CalendarMonthView .header {
1770
- flex-grow: 1;
1771
- flex-basis: 1px;
1567
+ .ModalMenu .Button.active {
1568
+ background: #EBEBEB;
1772
1569
  }
1773
1570
 
1774
- .CalendarMonthView .day {
1775
- height: 100%;
1571
+ .ModalMenu .separator {
1572
+ height: 24px;
1573
+ width: 1px;
1574
+ background-color: #D9D9D9;
1575
+ margin-left: 4px;
1776
1576
  }
1777
1577
 
1778
1578
  .DNDContainer {
@@ -1807,12 +1607,49 @@
1807
1607
  pointer-events: none;
1808
1608
  }
1809
1609
 
1810
- .ScrollableTable .Scrollable .scrollbar {
1811
- top: 56px;
1610
+ .Snackbar {
1611
+ transform: translateX(-50%);
1612
+ overflow: hidden;
1613
+ background-color: #323232;
1614
+ padding: 14px 24px 14px 24px;
1615
+ color: #fff;
1616
+ min-width: 288px;
1617
+ max-width: 568px;
1618
+ position: fixed;
1619
+ bottom: -50px;
1620
+ left: 50%;
1621
+ display: flex;
1622
+ flex-wrap: nowrap;
1623
+ align-items: center;
1624
+ opacity: 0;
1625
+ transition: bottom 0.25s ease, opacity 0.2s ease;
1626
+ border-radius: 4px;
1627
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
1812
1628
  }
1813
1629
 
1814
- .ScrollableTable .Table {
1815
- position: static;
1630
+ .Snackbar.shown {
1631
+ bottom: 15px;
1632
+ opacity: 1;
1633
+ }
1634
+
1635
+ .Snackbar .message {
1636
+ overflow: hidden;
1637
+ line-height: 1.2em;
1638
+ min-height: 1.2em;
1639
+ max-height: 2.4em;
1640
+ flex: 1;
1641
+ }
1642
+
1643
+ .Snackbar .action {
1644
+ text-transform: uppercase;
1645
+ font-weight: bold;
1646
+ margin-left: 48px;
1647
+ color: #bf3727;
1648
+ }
1649
+
1650
+ .Snackbar .action a {
1651
+ text-decoration: none;
1652
+ color: #bf3727;
1816
1653
  }
1817
1654
 
1818
1655
  .Table {
@@ -1935,4 +1772,171 @@
1935
1772
 
1936
1773
  .Table .editable > .AutocompleteSelect > .selected > .DummyChild {
1937
1774
  margin: 0;
1775
+ }
1776
+
1777
+ .Button.FloatingActionButton {
1778
+ position: absolute;
1779
+ right: 16px;
1780
+ bottom: 16px;
1781
+ width: 56px;
1782
+ height: 56px;
1783
+ padding: 16px;
1784
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1785
+ }
1786
+
1787
+ .Button.FloatingActionButton.raised {
1788
+ 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);
1789
+ }
1790
+
1791
+ .Button.FloatingActionButton.mini {
1792
+ width: 40px;
1793
+ height: 40px;
1794
+ padding: 8px;
1795
+ }
1796
+
1797
+ .Button.FloatingActionButton.hidden {
1798
+ bottom: -100px;
1799
+ }
1800
+
1801
+ .SpinningProgress {
1802
+ width: 48px;
1803
+ height: 48px;
1804
+ position: relative;
1805
+ margin: 0 auto;
1806
+ }
1807
+
1808
+ .SpinningProgress:before {
1809
+ content: "";
1810
+ display: block;
1811
+ padding-top: 100%;
1812
+ }
1813
+
1814
+ .SpinningProgress .circular {
1815
+ animation: rotate 2s linear infinite;
1816
+ height: 100%;
1817
+ transform-origin: center center;
1818
+ width: 100%;
1819
+ position: absolute;
1820
+ top: 0;
1821
+ bottom: 0;
1822
+ left: 0;
1823
+ right: 0;
1824
+ margin: auto;
1825
+ }
1826
+
1827
+ .SpinningProgress .line {
1828
+ stroke: black;
1829
+ stroke-width: 2px;
1830
+ stroke-dasharray: 1, 96;
1831
+ stroke-dashoffset: 0;
1832
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1833
+ }
1834
+
1835
+ @keyframes rotate {
1836
+ 100% {
1837
+ transform: rotate(360deg);
1838
+ }
1839
+ }
1840
+ @keyframes dash {
1841
+ 0% {
1842
+ stroke-dasharray: 1, 96;
1843
+ stroke-dashoffset: 0;
1844
+ }
1845
+ 50% {
1846
+ stroke-dasharray: 43, 96;
1847
+ stroke-dashoffset: -17px;
1848
+ }
1849
+ 100% {
1850
+ stroke-dasharray: 43, 96;
1851
+ stroke-dashoffset: -53px;
1852
+ }
1853
+ }
1854
+ .ScrollableTable .Scrollable .scrollbar {
1855
+ top: 56px;
1856
+ }
1857
+
1858
+ .ScrollableTable .Table {
1859
+ position: static;
1860
+ }
1861
+
1862
+ .Switch {
1863
+ display: inline-flex;
1864
+ padding-top: 5px;
1865
+ }
1866
+
1867
+ .Switch .switch-input {
1868
+ display: none;
1869
+ }
1870
+
1871
+ .Switch .switch-label {
1872
+ position: relative;
1873
+ display: inline-flex;
1874
+ align-items: center;
1875
+ min-width: 38px;
1876
+ height: 24px;
1877
+ cursor: pointer;
1878
+ font-weight: 500;
1879
+ text-align: left;
1880
+ user-select: none;
1881
+ margin: 0;
1882
+ padding: 0;
1883
+ padding-left: 44px;
1884
+ box-sizing: border-box;
1885
+ }
1886
+
1887
+ .Switch .switch-label:before, .Switch .switch-label:after {
1888
+ content: "";
1889
+ box-sizing: border-box;
1890
+ position: absolute;
1891
+ margin: 0;
1892
+ outline: 0;
1893
+ top: 50%;
1894
+ transform: translate(0, -50%);
1895
+ transition: all 0.3s ease;
1896
+ }
1897
+
1898
+ .Switch .switch-label:before {
1899
+ left: 1px;
1900
+ width: 34px;
1901
+ height: 14px;
1902
+ background-color: #9E9E9E;
1903
+ border-radius: 8px;
1904
+ }
1905
+
1906
+ .Switch .switch-label:after {
1907
+ left: 0;
1908
+ width: 20px;
1909
+ height: 20px;
1910
+ background-color: #FAFAFA;
1911
+ border-radius: 50%;
1912
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
1913
+ }
1914
+
1915
+ .Switch .switch-label .toggle--on {
1916
+ display: none;
1917
+ }
1918
+
1919
+ .Switch .switch-label .toggle--off {
1920
+ display: inline-block;
1921
+ }
1922
+
1923
+ .Switch .switch-label .label {
1924
+ margin-right: 5px;
1925
+ }
1926
+
1927
+ .Switch .switch-input:checked + .switch-label:before {
1928
+ background-color: #A5D6A7;
1929
+ }
1930
+
1931
+ .Switch .switch-input:checked + .switch-label:after {
1932
+ background-color: #4CAF50;
1933
+ transform: translate(80%, -50%);
1934
+ }
1935
+
1936
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1937
+ display: inline-block;
1938
+ }
1939
+
1940
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1941
+ display: none;
1938
1942
  }