react-ui-basics 0.0.220 → 0.0.222

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 (48) hide show
  1. package/Animated.js +1 -0
  2. package/Animated.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/Dialog.d.ts +29 -0
  5. package/Dialog.js +84 -143
  6. package/Dialog.js.map +1 -1
  7. package/FilteredList.css +1 -1
  8. package/FilteredList.d.ts +62 -0
  9. package/FilteredList.js +128 -232
  10. package/FilteredList.js.map +1 -1
  11. package/FormUploadProgress.d.ts +19 -0
  12. package/FormUploadProgress.js +14 -39
  13. package/FormUploadProgress.js.map +1 -1
  14. package/Modal.d.ts +31 -0
  15. package/Modal.js +102 -134
  16. package/Modal.js.map +1 -1
  17. package/ReactConstants.d.ts +6 -2
  18. package/ReactConstants.js.map +1 -1
  19. package/ReactCreateElement.d.ts +3 -0
  20. package/ReactCreateElement.js.map +1 -1
  21. package/ReadyListener.d.ts +34 -0
  22. package/ReadyListener.js +34 -56
  23. package/ReadyListener.js.map +1 -1
  24. package/Scrollable.css +0 -1
  25. package/Scrollable.d.ts +33 -0
  26. package/Scrollable.js +310 -325
  27. package/Scrollable.js.map +1 -1
  28. package/_virtual/_rollupPluginBabelHelpers.js +0 -15
  29. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  30. package/bundle.css +829 -830
  31. package/package.json +1 -1
  32. package/router/Route.js +1 -0
  33. package/router/Route.js.map +1 -1
  34. package/src/Button.tsx +0 -1
  35. package/src/{Dialog.js → Dialog.tsx} +63 -44
  36. package/src/FilteredList.css +1 -1
  37. package/src/FilteredList.scss +1 -1
  38. package/src/{FilteredList.js → FilteredList.tsx} +95 -45
  39. package/src/{FormUploadProgress.js → FormUploadProgress.tsx} +13 -22
  40. package/src/{Modal.js → Modal.tsx} +48 -33
  41. package/src/ReactConstants.ts +9 -3
  42. package/src/ReactCreateElement.tsx +3 -0
  43. package/src/ReadyListener.tsx +58 -0
  44. package/src/Scrollable.css +0 -1
  45. package/src/Scrollable.scss +0 -1
  46. package/src/{Scrollable.js → Scrollable.tsx} +78 -64
  47. package/src/ReactCreateElement.js +0 -3
  48. package/src/ReadyListener.js +0 -48
package/bundle.css CHANGED
@@ -1,12 +1,3 @@
1
- .animated {
2
- transition: opacity 250ms ease;
3
- opacity: 0;
4
- }
5
-
6
- .animated.mounting, .animated.mounted {
7
- opacity: 1;
8
- }
9
-
10
1
  .AutocompleteSelect {
11
2
  display: inline-flex;
12
3
  flex-flow: column;
@@ -302,622 +293,489 @@
302
293
  position: absolute;
303
294
  }
304
295
 
305
- .FilteredList {
306
- max-height: 250px;
307
- position: relative;
308
- }
309
-
310
- .FilteredList.popup {
311
- padding: 0;
312
- visibility: hidden;
313
- position: absolute;
314
- background: white;
315
- z-index: 4;
316
- 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);
317
- transition: all 0.2s ease-out;
318
- top: calc(100% + 4px);
296
+ .animated {
297
+ transition: opacity 250ms ease;
319
298
  opacity: 0;
320
- border-radius: 2px;
321
299
  }
322
300
 
323
- .FilteredList.popup.visible {
301
+ .animated.mounting, .animated.mounted {
324
302
  opacity: 1;
325
- visibility: visible;
326
303
  }
327
304
 
328
- .FilteredList.portal {
329
- transition: opacity 0.2s ease-out;
305
+ .DNDContainer .DroppableList .Draggable {
306
+ transform: unset;
307
+ transition: unset;
308
+ opacity: 1;
330
309
  }
331
310
 
332
- .FilteredList.inline {
333
- max-height: 225px;
334
- margin-top: 5px;
311
+ .DNDContainer .DroppableList .Draggable.dragged {
312
+ transition: unset !important;
335
313
  }
336
314
 
337
- .FilteredList .child {
338
- display: flex;
339
- flex-flow: row nowrap;
340
- align-items: center;
341
- white-space: nowrap;
342
- font-size: 14px;
343
- color: rgb(34, 34, 34);
344
- height: 30px;
345
- padding: 5px 10px;
346
- padding-right: 15px;
347
- cursor: pointer;
348
- overflow: hidden;
349
- transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
350
- border-left: 5px solid #4AC263;
351
- padding-left: 15px;
352
- margin-left: -5px;
315
+ .DNDContainer .DroppableList.hover .Draggable {
316
+ transition: transform 0.2s ease-in;
353
317
  }
354
318
 
355
- .FilteredList .child.hidden {
356
- height: 0 !important;
357
- padding: 0 !important;
319
+ .DNDContainer .DroppableList.resetting .Draggable {
320
+ transition: transform 0.1s ease-in;
358
321
  }
359
322
 
360
- .FilteredList .child.selected {
361
- background-color: #F0F0F0;
362
- padding-left: 10px;
363
- margin-left: 0px;
323
+ .ImageGallery {
324
+ position: fixed;
325
+ top: 0;
326
+ left: 0;
327
+ bottom: 0;
328
+ right: 0;
329
+ z-index: 1000;
330
+ background-color: rgba(0, 0, 0, 0.01);
331
+ user-select: none;
364
332
  }
365
333
 
366
- .FilteredList .child.active {
367
- background-color: rgb(238, 238, 238);
334
+ .ImageGallery:focus {
335
+ outline-width: 0px;
368
336
  }
369
337
 
370
- .FilteredList .child {
371
- margin-top: 8px;
338
+ .ImageGallery.animated {
339
+ transition: background-color 0.25s ease;
340
+ opacity: 1;
372
341
  }
373
342
 
374
- .FilteredList .child.hidden {
375
- margin-top: 0;
343
+ .ImageGallery.mounting, .ImageGallery.mounted {
344
+ background-color: rgba(0, 0, 0, 0.8);
376
345
  }
377
346
 
378
- .FilteredList .child:not(.hidden) ~ .child {
379
- margin-top: 0;
347
+ .ImageGallery .image {
348
+ position: absolute;
349
+ cursor: grab;
380
350
  }
381
351
 
382
- .FilteredList .child:not(.hidden) ~ .child:last-child {
383
- margin-bottom: 8px;
352
+ .ImageGallery .image .counter {
353
+ display: none;
384
354
  }
385
355
 
386
- .FilteredList .child:not(.hidden):last-child {
387
- margin-bottom: 8px;
356
+ .ImageGallery .image img {
357
+ border-radius: 4px;
358
+ max-width: 100%;
359
+ min-width: 100%;
388
360
  }
389
361
 
390
- .Scrollable {
391
- max-height: 250px;
392
- max-width: 250px;
393
- padding-right: 5px;
394
- position: relative;
395
- display: flex;
396
- flex-flow: column;
397
- align-items: stretch;
398
- overflow: hidden;
362
+ .ImageGallery .image.animated {
363
+ transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
364
+ will-change: top, left, width, height, opacity;
399
365
  }
400
366
 
401
- .Scrollable:hover > .scrollbar.auto {
402
- transition-delay: 0s;
367
+ .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
403
368
  opacity: 1;
404
369
  }
405
370
 
406
- .Scrollable .viewport {
407
- overflow-y: scroll;
408
- overflow-x: scroll;
409
- max-height: 100%;
410
- scroll-behavior: smooth;
411
- scrollbar-width: none;
371
+ .ImageGallery .image.zoomed {
372
+ text-align: center;
373
+ overflow: hidden;
412
374
  }
413
375
 
414
- .Scrollable .viewport::-webkit-scrollbar {
415
- display: none;
376
+ .ImageGallery .image.dragging {
377
+ transition: none;
378
+ cursor: move;
416
379
  }
417
380
 
418
- .Scrollable.without-scroll-horizontal {
419
- max-width: unset;
381
+ .ImageGallery .image .close {
382
+ position: absolute;
383
+ top: -18px;
384
+ right: -18px;
420
385
  }
421
386
 
422
- .Scrollable.undefined-horizontal {
423
- max-width: unset;
387
+ .ImageGallery .image .spinner {
388
+ position: absolute;
389
+ top: 0;
390
+ bottom: 0;
391
+ left: 0;
392
+ right: 0;
393
+ background: rgba(0, 0, 0, 0.65);
424
394
  }
425
395
 
426
- .Scrollable.without-scroll {
427
- padding-right: 0;
428
- max-height: unset;
396
+ .ImageGallery .image .spinner .SpinningProgress {
397
+ position: absolute;
398
+ top: 50%;
399
+ left: 50%;
400
+ margin-left: -24px;
401
+ margin-top: -24px;
429
402
  }
430
403
 
431
- .Scrollable.without-scroll > .viewport {
432
- padding-right: 0;
433
- margin-right: 0;
404
+ .ImageGallery .image .spinner .SpinningProgress .line {
405
+ stroke: #2196F3;
434
406
  }
435
407
 
436
- .Scrollable.without-scroll > .scrollbar {
437
- visibility: hidden;
408
+ .ImageGallery .Button.animated {
409
+ transition: all 0.25s ease;
410
+ opacity: 0;
411
+ transform: scale(0);
438
412
  }
439
413
 
440
- .Scrollable .scrollbar {
441
- position: absolute;
442
- right: 0px;
443
- top: 0px;
444
- width: 5px;
445
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
446
- transition-delay: 0.5s;
447
- z-index: 1;
414
+ .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
415
+ opacity: 1;
416
+ transform: scale(1);
448
417
  }
449
418
 
450
- .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
451
- opacity: 0;
419
+ .ImageGallery .Button {
420
+ color: white;
421
+ background: rgba(0, 0, 0, 0.4);
452
422
  }
453
423
 
454
- .Scrollable .scrollbar .thumb {
455
- background-color: rgba(0, 0, 0, 0.3);
456
- width: 5px;
457
- position: absolute;
458
- right: 0px;
459
- top: 0px;
460
- user-select: none;
461
- will-change: top;
462
- border-radius: 2px;
424
+ .ImageGallery .Button:hover {
425
+ background: rgba(0, 0, 0, 0.7);
463
426
  }
464
427
 
465
- .Scrollable .scrollbar .thumb:hover {
466
- background-color: rgba(0, 0, 0, 0.5);
428
+ .ImageGallery > .arrow {
429
+ position: absolute;
430
+ top: 50%;
431
+ height: 76px;
432
+ width: 76px;
433
+ margin-top: -38px;
467
434
  }
468
435
 
469
- .Scrollable .scrollbar .thumb:active {
470
- background-color: rgba(0, 0, 0, 0.7);
436
+ .ImageGallery > .arrow.left {
437
+ left: 5%;
471
438
  }
472
439
 
473
- .Scrollable .scrollbar.horizontal {
474
- left: 0px;
475
- right: 0px;
476
- height: 5px;
477
- bottom: 0;
478
- width: unset;
479
- top: unset;
440
+ .ImageGallery > .arrow.right {
441
+ right: 5%;
480
442
  }
481
443
 
482
- .Scrollable .scrollbar.horizontal .thumb {
483
- height: 5px;
484
- left: 0px;
485
- bottom: 0px;
486
- will-change: left;
444
+ .ImageGallery > .arrow .material-icons {
445
+ font-size: 40px;
487
446
  }
488
447
 
489
- .FormUploadProgress {
448
+ .ImageGallery .counter {
490
449
  position: absolute;
491
- left: 0;
492
- right: 0;
493
- top: 0;
494
- bottom: 0;
495
- background-color: rgba(255, 255, 255, 0.6);
496
- z-index: 2;
450
+ top: 10px;
451
+ left: 10px;
452
+ color: white;
453
+ font-size: 13px;
497
454
  }
498
455
 
499
- .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
500
- transition-delay: 500ms;
456
+ .ImageGallery .previews {
457
+ height: 80px;
458
+ position: absolute;
459
+ bottom: 15px;
460
+ left: 50%;
461
+ transform: translateX(-50%);
462
+ padding: 0 45px;
501
463
  }
502
464
 
503
- .FormUploadProgress .wrapper {
504
- position: sticky;
505
- top: 40%;
506
- margin-top: 40%;
507
- margin-left: 50%;
508
- transform: translateX(-50%);
509
- display: flex;
510
- flex-flow: column;
511
- justify-content: center;
512
- align-items: center;
465
+ .ImageGallery .previews .viewport {
466
+ overflow: hidden;
467
+ position: relative;
468
+ height: 100%;
513
469
  }
514
470
 
515
- .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
516
- position: absolute;
517
- width: 107px;
518
- height: 107px;
519
- top: 0;
520
- left: 0;
521
- }
522
-
523
- .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
524
- stroke: #2196F3;
525
- }
526
-
527
- .FormUploadProgress .wrapper > .progress {
528
- width: 107px;
529
- height: 107px;
530
- min-height: 107px;
531
- display: flex;
532
- justify-content: center;
533
- align-items: center;
534
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
535
- border-radius: 50%;
536
- background: white;
471
+ .ImageGallery .previews .container {
537
472
  position: relative;
473
+ display: flex;
474
+ flex-flow: row nowrap;
475
+ height: 100%;
476
+ transition: left 0.25s ease;
538
477
  }
539
478
 
540
- .FormUploadProgress .wrapper > .progress > .value {
479
+ .ImageGallery .previews .preview {
480
+ position: relative;
481
+ height: 100%;
541
482
  display: inline-block;
542
- margin-top: 5px;
543
- font-weight: bold;
544
- line-height: 16px;
545
- font-size: 13px;
546
- text-align: center;
547
- color: #818181;
483
+ width: 106.66px;
484
+ overflow: hidden;
485
+ margin-left: 12px;
486
+ border-radius: 2px;
487
+ cursor: pointer;
488
+ box-sizing: border-box;
548
489
  }
549
490
 
550
- .FormUploadProgress .wrapper .cancel {
551
- min-width: 107px;
552
- margin-top: 20px;
553
- background-color: white;
554
- color: #F96B5C;
555
- box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
491
+ .ImageGallery .previews .preview:first-child {
492
+ margin-left: 0;
556
493
  }
557
494
 
558
- .Modal {
559
- display: block;
560
- position: fixed;
561
- top: 0;
562
- left: 0;
563
- right: 0;
564
- bottom: 100%;
565
- overflow-y: scroll;
566
- transition: bottom 0ms linear;
567
- transition-delay: 0.2s;
495
+ .ImageGallery .previews .preview > .border {
496
+ position: absolute;
497
+ bottom: 0;
498
+ width: 100%;
499
+ height: 3px;
568
500
  }
569
501
 
570
- .Modal.show {
571
- transition-delay: 0s;
572
- bottom: 0;
502
+ .ImageGallery .previews .preview > .border .line {
503
+ left: 50%;
504
+ width: 0;
505
+ height: 3px;
506
+ min-height: 3px;
507
+ background-color: #4AC263;
508
+ transition: all 0.2s ease;
509
+ position: absolute;
573
510
  }
574
511
 
575
- .Modal > .overlay {
576
- position: fixed;
512
+ .ImageGallery .previews .preview:after {
513
+ content: "";
514
+ position: absolute;
577
515
  top: 0;
578
- bottom: 100%;
579
- left: 0;
580
516
  right: 0;
581
- transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
582
- opacity: 0;
583
- background-color: black;
584
- pointer-events: none;
585
- }
586
-
587
- .Modal > .overlay.show {
588
- opacity: 0.5;
589
517
  bottom: 0;
518
+ left: 0;
519
+ background: rgba(0, 0, 0, 0.35);
520
+ transition: background 0.2s ease;
590
521
  }
591
522
 
592
- .Modal > .content {
593
- left: 50%;
594
- top: 10vh;
595
- margin-bottom: 10vh;
596
- font-size: 16px;
597
- padding: 0;
598
- opacity: 0;
599
- transition: opacity 0.25s ease, transform 0.25s ease;
600
- transform: scaleY(0) translateY(-200px) translateX(-50%);
601
- transform-origin: top;
602
- position: absolute;
603
- border-radius: 2px;
604
- box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
523
+ .ImageGallery .previews .preview:hover:after {
524
+ background: rgba(0, 0, 0, 0.1);
605
525
  }
606
526
 
607
- .Modal > .content.show {
608
- opacity: 1;
609
- transform: scaleY(1) translateY(0px) translateX(-50%);
527
+ .ImageGallery .previews .preview.selected .border .line {
528
+ left: 0;
529
+ width: 100%;
610
530
  }
611
531
 
612
- .Modal > .content > .Scrollable {
613
- overflow: visible;
614
- max-height: 80vh;
532
+ .ImageGallery .previews .preview.selected:after {
533
+ background: rgba(0, 0, 0, 0);
615
534
  }
616
535
 
617
- .Modal > .content > .Scrollable > .viewport {
618
- min-width: 10px;
619
- min-height: 10px;
536
+ .ImageGallery .previews > .arrow {
537
+ position: absolute;
538
+ top: 50%;
539
+ height: 30px;
540
+ width: 30px;
541
+ min-width: 30px;
542
+ min-height: 30px;
543
+ margin-top: -15px;
620
544
  }
621
545
 
622
- .Modal > .content > .Button.close {
623
- top: 10px;
624
- right: 10px;
625
- position: absolute;
546
+ .ImageGallery .previews > .arrow.left {
547
+ left: 0;
626
548
  }
627
549
 
628
- .DialogModal {
629
- overflow: hidden;
550
+ .ImageGallery .previews > .arrow.right {
551
+ right: 0;
630
552
  }
631
553
 
632
- .DialogModal .content {
633
- top: 20vh;
554
+ .ImageGallery .previews > .arrow .material-icons {
555
+ font-size: 24px;
634
556
  }
635
557
 
636
- .Dialog {
637
- background-color: white;
638
- min-width: 460px;
639
- max-width: 40vw;
640
- padding: 15px;
558
+ .CalendarMonthView {
559
+ display: flex;
560
+ flex-flow: column nowrap;
561
+ height: 100%;
641
562
  }
642
563
 
643
- .Dialog .title {
644
- margin-bottom: 15px;
645
- padding: 20px 50px 0px 30px;
646
- font-size: 1.25rem;
647
- line-height: 2rem;
648
- font-weight: 400;
649
- letter-spacing: 0.0125em;
564
+ .CalendarMonthView > .row {
565
+ display: flex;
566
+ flex-flow: row nowrap;
650
567
  }
651
568
 
652
- .Dialog .description {
653
- color: rgba(0, 0, 0, 0.54);
654
- font-size: 1rem;
655
- line-height: 1.5rem;
656
- font-weight: 400;
657
- letter-spacing: 0.03125em;
658
- margin-top: 20px;
659
- padding: 0 24px 24px;
569
+ .CalendarMonthView .days {
570
+ flex-grow: 1;
571
+ position: relative;
660
572
  }
661
573
 
662
- .Dialog > div.row {
663
- margin-bottom: 15px;
574
+ .CalendarMonthView .day, .CalendarMonthView .header {
575
+ flex-grow: 1;
576
+ flex-basis: 1px;
664
577
  }
665
578
 
666
- .Dialog > div.row:last-child {
667
- margin-bottom: 0;
579
+ .CalendarMonthView .day {
580
+ height: 100%;
668
581
  }
669
582
 
670
- .ImageGallery {
671
- position: fixed;
672
- top: 0;
673
- left: 0;
674
- bottom: 0;
675
- right: 0;
676
- z-index: 1000;
677
- background-color: rgba(0, 0, 0, 0.01);
583
+ .Button {
584
+ position: relative;
585
+ min-width: 64px;
586
+ min-height: 36px;
587
+ height: 24px;
588
+ margin: 0px;
589
+ padding: 0px 16px;
590
+ border: none;
591
+ outline: none;
592
+ font-size: 14px;
593
+ font-weight: 500;
594
+ letter-spacing: 1.25px;
595
+ background: #dfdfdf;
596
+ text-transform: uppercase;
597
+ font-family: Roboto, sans-serif;
598
+ -webkit-tap-highlight-color: transparent;
599
+ display: inline-flex;
600
+ justify-content: center;
601
+ align-items: center;
602
+ cursor: pointer;
603
+ overflow: hidden;
678
604
  user-select: none;
605
+ border-radius: 3px;
606
+ transition: all 0.2s ease;
679
607
  }
680
608
 
681
- .ImageGallery:focus {
682
- outline-width: 0px;
609
+ .Button.flat {
610
+ background-color: transparent;
683
611
  }
684
612
 
685
- .ImageGallery.animated {
686
- transition: background-color 0.25s ease;
687
- opacity: 1;
613
+ .Button.flat:hover {
614
+ background-color: rgba(0, 0, 0, 0.05);
688
615
  }
689
616
 
690
- .ImageGallery.mounting, .ImageGallery.mounted {
691
- background-color: rgba(0, 0, 0, 0.8);
617
+ .Button.green {
618
+ background-color: #43a047;
619
+ color: white;
692
620
  }
693
621
 
694
- .ImageGallery .image {
695
- position: absolute;
696
- cursor: grab;
622
+ .Button.green:hover {
623
+ background-color: #3b8e3f;
697
624
  }
698
625
 
699
- .ImageGallery .image .counter {
700
- display: none;
626
+ .Button.blue {
627
+ background-color: #039be5;
628
+ color: white;
701
629
  }
702
630
 
703
- .ImageGallery .image img {
704
- border-radius: 4px;
705
- max-width: 100%;
706
- min-width: 100%;
631
+ .Button.blue:hover {
632
+ background-color: #038acc;
707
633
  }
708
634
 
709
- .ImageGallery .image.animated {
710
- transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease, opacity 0.25s ease;
711
- will-change: top, left, width, height, opacity;
635
+ .Button.red {
636
+ background-color: #e53935;
637
+ color: white;
712
638
  }
713
639
 
714
- .ImageGallery .image.animated.mounting, .ImageGallery .image.animated.mounted, .ImageGallery .image.animated.unmounting {
715
- opacity: 1;
640
+ .Button.red:hover {
641
+ background-color: #e2231e;
716
642
  }
717
643
 
718
- .ImageGallery .image.zoomed {
719
- text-align: center;
720
- overflow: hidden;
721
- }
722
-
723
- .ImageGallery .image.dragging {
724
- transition: none;
725
- cursor: move;
726
- }
727
-
728
- .ImageGallery .image .close {
729
- position: absolute;
730
- top: -18px;
731
- right: -18px;
644
+ .Button.black {
645
+ background-color: #1e252d;
646
+ color: white;
732
647
  }
733
648
 
734
- .ImageGallery .image .spinner {
735
- position: absolute;
736
- top: 0;
737
- bottom: 0;
738
- left: 0;
739
- right: 0;
740
- background: rgba(0, 0, 0, 0.65);
649
+ .Button.black:hover {
650
+ background-color: #14181e;
741
651
  }
742
652
 
743
- .ImageGallery .image .spinner .SpinningProgress {
744
- position: absolute;
745
- top: 50%;
746
- left: 50%;
747
- margin-left: -24px;
748
- margin-top: -24px;
653
+ .Button.gray {
654
+ background: #D9D9D9;
655
+ color: #999999;
749
656
  }
750
657
 
751
- .ImageGallery .image .spinner .SpinningProgress .line {
752
- stroke: #2196F3;
658
+ .Button.gray:hover {
659
+ background-color: #cccccc;
753
660
  }
754
661
 
755
- .ImageGallery .Button.animated {
756
- transition: all 0.25s ease;
757
- opacity: 0;
758
- transform: scale(0);
662
+ .Button.small {
663
+ padding: 0px 8px;
664
+ min-height: 16px;
665
+ min-width: 16px;
759
666
  }
760
667
 
761
- .ImageGallery .Button.animated.mounted, .ImageGallery .Button.animated.mounting {
762
- opacity: 1;
763
- transform: scale(1);
668
+ .Button > .material-icons {
669
+ margin-right: 10px;
764
670
  }
765
671
 
766
- .ImageGallery .Button {
767
- color: white;
768
- background: rgba(0, 0, 0, 0.4);
672
+ .Button.round {
673
+ padding: 0px;
674
+ min-width: 36px;
675
+ border-radius: 50%;
769
676
  }
770
677
 
771
- .ImageGallery .Button:hover {
772
- background: rgba(0, 0, 0, 0.7);
678
+ .Button.round > .material-icons {
679
+ margin: 0px;
773
680
  }
774
681
 
775
- .ImageGallery > .arrow {
682
+ .Button .ripple {
776
683
  position: absolute;
777
- top: 50%;
778
- height: 76px;
779
- width: 76px;
780
- margin-top: -38px;
684
+ background: rgba(0, 0, 0, 0.1);
685
+ border-radius: 100%;
686
+ transform: scale(0);
687
+ pointer-events: none;
688
+ transition: opacity 0.2s ease-out;
781
689
  }
782
690
 
783
- .ImageGallery > .arrow.left {
784
- left: 5%;
691
+ .Button .ripple.show {
692
+ animation: ripple 0.35s ease-out;
785
693
  }
786
694
 
787
- .ImageGallery > .arrow.right {
788
- right: 5%;
695
+ .Button:active .ripple.showed {
696
+ opacity: 1;
789
697
  }
790
698
 
791
- .ImageGallery > .arrow .material-icons {
792
- font-size: 40px;
699
+ .Button:focus .ripple.focused {
700
+ opacity: 1;
701
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out;
702
+ transform: scale(1);
703
+ animation: resize 1.25s ease-out infinite;
704
+ animation-delay: 0.2s;
705
+ animation-direction: alternate;
793
706
  }
794
707
 
795
- .ImageGallery .counter {
796
- position: absolute;
797
- top: 10px;
798
- left: 10px;
799
- color: white;
800
- font-size: 13px;
708
+ .Button .ripple.showed {
709
+ transform: scale(2);
710
+ opacity: 0;
801
711
  }
802
712
 
803
- .ImageGallery .previews {
804
- height: 80px;
805
- position: absolute;
806
- bottom: 15px;
807
- left: 50%;
808
- transform: translateX(-50%);
809
- padding: 0 45px;
713
+ @keyframes ripple {
714
+ to {
715
+ transform: scale(2);
716
+ }
810
717
  }
811
-
812
- .ImageGallery .previews .viewport {
813
- overflow: hidden;
814
- position: relative;
815
- height: 100%;
718
+ @keyframes resize {
719
+ to {
720
+ transform: scale(0.9);
721
+ }
816
722
  }
817
-
818
- .ImageGallery .previews .container {
819
- position: relative;
820
- display: flex;
821
- flex-flow: row nowrap;
822
- height: 100%;
823
- transition: left 0.25s ease;
723
+ .Button.raised {
724
+ transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
824
725
  }
825
726
 
826
- .ImageGallery .previews .preview {
827
- position: relative;
828
- height: 100%;
829
- display: inline-block;
830
- width: 106.66px;
831
- overflow: hidden;
832
- margin-left: 12px;
833
- border-radius: 2px;
834
- cursor: pointer;
835
- box-sizing: border-box;
727
+ .Button.raised:hover {
728
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
836
729
  }
837
730
 
838
- .ImageGallery .previews .preview:first-child {
839
- margin-left: 0;
731
+ .Button.raised:active {
732
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
840
733
  }
841
734
 
842
- .ImageGallery .previews .preview > .border {
843
- position: absolute;
844
- bottom: 0;
845
- width: 100%;
846
- height: 3px;
735
+ .Button.disabled {
736
+ box-shadow: none;
737
+ background: #D9D9D9;
738
+ color: #999999;
847
739
  }
848
740
 
849
- .ImageGallery .previews .preview > .border .line {
850
- left: 50%;
851
- width: 0;
852
- height: 3px;
853
- min-height: 3px;
854
- background-color: #4AC263;
855
- transition: all 0.2s ease;
856
- position: absolute;
741
+ .Button.disabled:hover {
742
+ background-color: #cccccc;
857
743
  }
858
744
 
859
- .ImageGallery .previews .preview:after {
860
- content: "";
861
- position: absolute;
862
- top: 0;
863
- right: 0;
864
- bottom: 0;
865
- left: 0;
866
- background: rgba(0, 0, 0, 0.35);
867
- transition: background 0.2s ease;
745
+ .Button::-moz-focus-inner {
746
+ border: 0;
868
747
  }
869
748
 
870
- .ImageGallery .previews .preview:hover:after {
871
- background: rgba(0, 0, 0, 0.1);
749
+ .DNDContainer {
750
+ position: relative;
872
751
  }
873
752
 
874
- .ImageGallery .previews .preview.selected .border .line {
875
- left: 0;
876
- width: 100%;
753
+ .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
754
+ cursor: pointer;
877
755
  }
878
756
 
879
- .ImageGallery .previews .preview.selected:after {
880
- background: rgba(0, 0, 0, 0);
757
+ .DNDContainer .Draggable.placeholder {
758
+ opacity: 0.2;
881
759
  }
882
760
 
883
- .ImageGallery .previews > .arrow {
761
+ .DNDContainer .Draggable.copy {
884
762
  position: absolute;
885
- top: 50%;
886
- height: 30px;
887
- width: 30px;
888
- min-width: 30px;
889
- min-height: 30px;
890
- margin-top: -15px;
763
+ box-sizing: border-box;
764
+ will-change: transform;
765
+ opacity: 0;
891
766
  }
892
767
 
893
- .ImageGallery .previews > .arrow.left {
894
- left: 0;
768
+ .DNDContainer .Draggable.dragged {
769
+ z-index: 10;
895
770
  }
896
771
 
897
- .ImageGallery .previews > .arrow.right {
772
+ .DNDContainer .overlay {
773
+ position: absolute;
774
+ top: 0;
775
+ left: 0;
898
776
  right: 0;
899
- }
900
-
901
- .ImageGallery .previews > .arrow .material-icons {
902
- font-size: 24px;
903
- }
904
-
905
- .DNDContainer .DroppableList .Draggable {
906
- transform: unset;
907
- transition: unset;
908
- opacity: 1;
909
- }
910
-
911
- .DNDContainer .DroppableList .Draggable.dragged {
912
- transition: unset !important;
913
- }
914
-
915
- .DNDContainer .DroppableList.hover .Draggable {
916
- transition: transform 0.2s ease-in;
917
- }
918
-
919
- .DNDContainer .DroppableList.resetting .Draggable {
920
- transition: transform 0.1s ease-in;
777
+ bottom: 0;
778
+ pointer-events: none;
921
779
  }
922
780
 
923
781
  .Checkbox {
@@ -987,24 +845,90 @@
987
845
  background: rgba(0, 0, 0, 0.26);
988
846
  }
989
847
 
990
- .CircleProgress {
991
- width: 48px;
992
- height: 48px;
993
- }
994
-
995
- .CircleProgress .line {
996
- stroke-width: 2px;
997
- stroke: black;
998
- stroke-linecap: square;
999
- fill: none;
1000
- transition: stroke-dashoffset 0.2s ease;
848
+ .Button.FloatingActionButton {
849
+ position: absolute;
850
+ right: 16px;
851
+ bottom: 16px;
852
+ width: 56px;
853
+ height: 56px;
854
+ padding: 16px;
855
+ transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1001
856
  }
1002
857
 
1003
- .DatePicker {
1004
- position: relative;
858
+ .Button.FloatingActionButton.raised {
859
+ 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);
1005
860
  }
1006
861
 
1007
- .DatePicker > .TextField {
862
+ .Button.FloatingActionButton.mini {
863
+ width: 40px;
864
+ height: 40px;
865
+ padding: 8px;
866
+ }
867
+
868
+ .Button.FloatingActionButton.hidden {
869
+ bottom: -100px;
870
+ }
871
+
872
+ .DialogModal {
873
+ overflow: hidden;
874
+ }
875
+
876
+ .DialogModal .content {
877
+ top: 20vh;
878
+ }
879
+
880
+ .Dialog {
881
+ background-color: white;
882
+ min-width: 460px;
883
+ max-width: 40vw;
884
+ padding: 15px;
885
+ }
886
+
887
+ .Dialog .title {
888
+ margin-bottom: 15px;
889
+ padding: 20px 50px 0px 30px;
890
+ font-size: 1.25rem;
891
+ line-height: 2rem;
892
+ font-weight: 400;
893
+ letter-spacing: 0.0125em;
894
+ }
895
+
896
+ .Dialog .description {
897
+ color: rgba(0, 0, 0, 0.54);
898
+ font-size: 1rem;
899
+ line-height: 1.5rem;
900
+ font-weight: 400;
901
+ letter-spacing: 0.03125em;
902
+ margin-top: 20px;
903
+ padding: 0 24px 24px;
904
+ }
905
+
906
+ .Dialog > div.row {
907
+ margin-bottom: 15px;
908
+ }
909
+
910
+ .Dialog > div.row:last-child {
911
+ margin-bottom: 0;
912
+ }
913
+
914
+ .CircleProgress {
915
+ width: 48px;
916
+ height: 48px;
917
+ }
918
+
919
+ .CircleProgress .line {
920
+ stroke-width: 2px;
921
+ stroke: black;
922
+ stroke-linecap: square;
923
+ fill: none;
924
+ transition: stroke-dashoffset 0.2s ease;
925
+ }
926
+
927
+ .DatePicker {
928
+ position: relative;
929
+ }
930
+
931
+ .DatePicker > .TextField {
1008
932
  width: 200px;
1009
933
  margin-bottom: 0px;
1010
934
  }
@@ -1117,375 +1041,450 @@
1117
1041
  background-color: #51adf6;
1118
1042
  }
1119
1043
 
1120
- .CalendarMonthView {
1121
- display: flex;
1122
- flex-flow: column nowrap;
1123
- height: 100%;
1044
+ .Dropzone {
1045
+ position: relative;
1124
1046
  }
1125
1047
 
1126
- .CalendarMonthView > .row {
1048
+ .Dropzone > .overlay {
1049
+ position: absolute;
1050
+ left: 0;
1051
+ right: 0;
1052
+ top: 0;
1053
+ bottom: 0;
1054
+ background-color: #38ADC4;
1055
+ z-index: 1;
1056
+ opacity: 0;
1057
+ transition: all 0.2s ease;
1058
+ transition-delay: 100ms;
1059
+ visibility: hidden;
1127
1060
  display: flex;
1128
- flex-flow: row nowrap;
1129
- }
1130
-
1131
- .CalendarMonthView .days {
1132
- flex-grow: 1;
1133
- position: relative;
1061
+ justify-content: center;
1062
+ align-items: center;
1134
1063
  }
1135
1064
 
1136
- .CalendarMonthView .day, .CalendarMonthView .header {
1137
- flex-grow: 1;
1138
- flex-basis: 1px;
1065
+ .Dropzone > .overlay .drop {
1066
+ border-radius: 4px;
1067
+ border: 1px dashed #FFFFFF;
1068
+ position: absolute;
1069
+ top: 18px;
1070
+ left: 18px;
1071
+ right: 18px;
1072
+ bottom: 18px;
1073
+ display: flex;
1074
+ justify-content: center;
1075
+ align-items: center;
1076
+ font-weight: 500;
1077
+ font-size: 18px;
1078
+ color: #FFFFFF;
1139
1079
  }
1140
1080
 
1141
- .CalendarMonthView .day {
1142
- height: 100%;
1081
+ .Dropzone.dragging > .overlay {
1082
+ opacity: 0.7;
1083
+ visibility: visible;
1084
+ transition-delay: 0s;
1143
1085
  }
1144
1086
 
1145
- .DNDContainer {
1146
- position: relative;
1087
+ .Dropzone.dragging > * {
1088
+ pointer-events: none;
1147
1089
  }
1148
1090
 
1149
- .DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
1091
+ .Dropzone > input.file {
1092
+ position: absolute;
1093
+ left: 0;
1094
+ right: 0;
1095
+ top: 0;
1096
+ bottom: 0;
1097
+ width: 100%;
1098
+ height: 100%;
1099
+ opacity: 0;
1150
1100
  cursor: pointer;
1101
+ z-index: 1;
1151
1102
  }
1152
1103
 
1153
- .DNDContainer .Draggable.placeholder {
1154
- opacity: 0.2;
1104
+ .FilteredList {
1105
+ max-height: 250px;
1106
+ position: relative;
1155
1107
  }
1156
1108
 
1157
- .DNDContainer .Draggable.copy {
1109
+ .FilteredList.popup {
1110
+ padding: 0;
1111
+ visibility: hidden;
1158
1112
  position: absolute;
1159
- box-sizing: border-box;
1160
- will-change: transform;
1113
+ background: white;
1114
+ z-index: 4;
1115
+ 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);
1116
+ transition: top 0.2s ease-out, opacity 0.2s ease-out;
1117
+ top: calc(100% + 4px);
1161
1118
  opacity: 0;
1119
+ border-radius: 2px;
1162
1120
  }
1163
1121
 
1164
- .DNDContainer .Draggable.dragged {
1165
- z-index: 10;
1122
+ .FilteredList.popup.visible {
1123
+ opacity: 1;
1124
+ visibility: visible;
1166
1125
  }
1167
1126
 
1168
- .DNDContainer .overlay {
1169
- position: absolute;
1170
- top: 0;
1171
- left: 0;
1172
- right: 0;
1173
- bottom: 0;
1174
- pointer-events: none;
1127
+ .FilteredList.portal {
1128
+ transition: opacity 0.2s ease-out;
1175
1129
  }
1176
1130
 
1177
- .Button {
1178
- position: relative;
1179
- min-width: 64px;
1180
- min-height: 36px;
1181
- height: 24px;
1182
- margin: 0px;
1183
- padding: 0px 16px;
1184
- border: none;
1185
- outline: none;
1186
- font-size: 14px;
1187
- font-weight: 500;
1188
- letter-spacing: 1.25px;
1189
- background: #dfdfdf;
1190
- text-transform: uppercase;
1191
- font-family: Roboto, sans-serif;
1192
- -webkit-tap-highlight-color: transparent;
1193
- display: inline-flex;
1194
- justify-content: center;
1131
+ .FilteredList.inline {
1132
+ max-height: 225px;
1133
+ margin-top: 5px;
1134
+ }
1135
+
1136
+ .FilteredList .child {
1137
+ display: flex;
1138
+ flex-flow: row nowrap;
1195
1139
  align-items: center;
1140
+ white-space: nowrap;
1141
+ font-size: 14px;
1142
+ color: rgb(34, 34, 34);
1143
+ height: 30px;
1144
+ padding: 5px 10px;
1145
+ padding-right: 15px;
1196
1146
  cursor: pointer;
1197
1147
  overflow: hidden;
1198
- user-select: none;
1199
- border-radius: 3px;
1200
- transition: all 0.2s ease;
1201
- }
1202
-
1203
- .Button.flat {
1204
- background-color: transparent;
1205
- }
1206
-
1207
- .Button.flat:hover {
1208
- background-color: rgba(0, 0, 0, 0.05);
1148
+ transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1149
+ border-left: 5px solid #4AC263;
1150
+ padding-left: 15px;
1151
+ margin-left: -5px;
1209
1152
  }
1210
1153
 
1211
- .Button.green {
1212
- background-color: #43a047;
1213
- color: white;
1154
+ .FilteredList .child.hidden {
1155
+ height: 0 !important;
1156
+ padding: 0 !important;
1214
1157
  }
1215
1158
 
1216
- .Button.green:hover {
1217
- background-color: #3b8e3f;
1159
+ .FilteredList .child.selected {
1160
+ background-color: #F0F0F0;
1161
+ padding-left: 10px;
1162
+ margin-left: 0px;
1218
1163
  }
1219
1164
 
1220
- .Button.blue {
1221
- background-color: #039be5;
1222
- color: white;
1165
+ .FilteredList .child.active {
1166
+ background-color: rgb(238, 238, 238);
1223
1167
  }
1224
1168
 
1225
- .Button.blue:hover {
1226
- background-color: #038acc;
1169
+ .FilteredList .child {
1170
+ margin-top: 8px;
1227
1171
  }
1228
1172
 
1229
- .Button.red {
1230
- background-color: #e53935;
1231
- color: white;
1173
+ .FilteredList .child.hidden {
1174
+ margin-top: 0;
1232
1175
  }
1233
1176
 
1234
- .Button.red:hover {
1235
- background-color: #e2231e;
1177
+ .FilteredList .child:not(.hidden) ~ .child {
1178
+ margin-top: 0;
1236
1179
  }
1237
1180
 
1238
- .Button.black {
1239
- background-color: #1e252d;
1240
- color: white;
1181
+ .FilteredList .child:not(.hidden) ~ .child:last-child {
1182
+ margin-bottom: 8px;
1241
1183
  }
1242
1184
 
1243
- .Button.black:hover {
1244
- background-color: #14181e;
1185
+ .FilteredList .child:not(.hidden):last-child {
1186
+ margin-bottom: 8px;
1245
1187
  }
1246
1188
 
1247
- .Button.gray {
1248
- background: #D9D9D9;
1249
- color: #999999;
1189
+ .DropFileInput {
1190
+ flex-grow: 1;
1250
1191
  }
1251
1192
 
1252
- .Button.gray:hover {
1253
- background-color: #cccccc;
1193
+ .DropFileInput .Dropzone {
1194
+ border: 1px dashed #808080;
1195
+ padding: 12px;
1196
+ display: flex;
1197
+ flex-flow: row nowrap;
1198
+ justify-content: center;
1199
+ align-items: center;
1200
+ color: gray;
1201
+ cursor: pointer;
1202
+ border-radius: 3px;
1203
+ font-weight: normal;
1204
+ line-height: 22px;
1205
+ font-size: 14px;
1206
+ color: #7E7E7E;
1207
+ max-width: 100%;
1208
+ word-break: break-all;
1209
+ word-break: break-word;
1254
1210
  }
1255
1211
 
1256
- .Button.small {
1257
- padding: 0px 8px;
1258
- min-height: 16px;
1259
- min-width: 16px;
1212
+ .DropFileInput .Dropzone .icon.withText {
1213
+ margin-right: 10px;
1260
1214
  }
1261
1215
 
1262
- .Button > .material-icons {
1263
- margin-right: 10px;
1216
+ .FormUploadProgress {
1217
+ position: absolute;
1218
+ left: 0;
1219
+ right: 0;
1220
+ top: 0;
1221
+ bottom: 0;
1222
+ background-color: rgba(255, 255, 255, 0.6);
1223
+ z-index: 2;
1264
1224
  }
1265
1225
 
1266
- .Button.round {
1267
- padding: 0px;
1268
- min-width: 36px;
1269
- border-radius: 50%;
1226
+ .FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
1227
+ transition-delay: 500ms;
1270
1228
  }
1271
1229
 
1272
- .Button.round > .material-icons {
1273
- margin: 0px;
1230
+ .FormUploadProgress .wrapper {
1231
+ position: sticky;
1232
+ top: 40%;
1233
+ margin-top: 40%;
1234
+ margin-left: 50%;
1235
+ transform: translateX(-50%);
1236
+ display: flex;
1237
+ flex-flow: column;
1238
+ justify-content: center;
1239
+ align-items: center;
1274
1240
  }
1275
1241
 
1276
- .Button .ripple {
1242
+ .FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
1277
1243
  position: absolute;
1278
- background: rgba(0, 0, 0, 0.1);
1279
- border-radius: 100%;
1280
- transform: scale(0);
1281
- pointer-events: none;
1282
- transition: opacity 0.2s ease-out;
1244
+ width: 107px;
1245
+ height: 107px;
1246
+ top: 0;
1247
+ left: 0;
1283
1248
  }
1284
1249
 
1285
- .Button .ripple.show {
1286
- animation: ripple 0.35s ease-out;
1250
+ .FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
1251
+ stroke: #2196F3;
1287
1252
  }
1288
1253
 
1289
- .Button:active .ripple.showed {
1290
- opacity: 1;
1254
+ .FormUploadProgress .wrapper > .progress {
1255
+ width: 107px;
1256
+ height: 107px;
1257
+ min-height: 107px;
1258
+ display: flex;
1259
+ justify-content: center;
1260
+ align-items: center;
1261
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1262
+ border-radius: 50%;
1263
+ background: white;
1264
+ position: relative;
1291
1265
  }
1292
1266
 
1293
- .Button:focus .ripple.focused {
1294
- opacity: 1;
1295
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
1296
- transform: scale(1);
1297
- animation: resize 1.25s ease-out infinite;
1298
- animation-delay: 0.2s;
1299
- animation-direction: alternate;
1267
+ .FormUploadProgress .wrapper > .progress > .value {
1268
+ display: inline-block;
1269
+ margin-top: 5px;
1270
+ font-weight: bold;
1271
+ line-height: 16px;
1272
+ font-size: 13px;
1273
+ text-align: center;
1274
+ color: #818181;
1300
1275
  }
1301
1276
 
1302
- .Button .ripple.showed {
1303
- transform: scale(2);
1304
- opacity: 0;
1277
+ .FormUploadProgress .wrapper .cancel {
1278
+ min-width: 107px;
1279
+ margin-top: 20px;
1280
+ background-color: white;
1281
+ color: #F96B5C;
1282
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
1305
1283
  }
1306
1284
 
1307
- @keyframes ripple {
1308
- to {
1309
- transform: scale(2);
1310
- }
1311
- }
1312
- @keyframes resize {
1313
- to {
1314
- transform: scale(0.9);
1315
- }
1316
- }
1317
- .Button.raised {
1318
- transition: color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
1285
+ .SpinningProgress {
1286
+ width: 48px;
1287
+ height: 48px;
1288
+ position: relative;
1289
+ margin: 0 auto;
1319
1290
  }
1320
1291
 
1321
- .Button.raised:hover {
1322
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
1292
+ .SpinningProgress:before {
1293
+ content: "";
1294
+ display: block;
1295
+ padding-top: 100%;
1323
1296
  }
1324
1297
 
1325
- .Button.raised:active {
1326
- box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
1298
+ .SpinningProgress .circular {
1299
+ animation: rotate 2s linear infinite;
1300
+ height: 100%;
1301
+ transform-origin: center center;
1302
+ width: 100%;
1303
+ position: absolute;
1304
+ top: 0;
1305
+ bottom: 0;
1306
+ left: 0;
1307
+ right: 0;
1308
+ margin: auto;
1327
1309
  }
1328
1310
 
1329
- .Button.disabled {
1330
- box-shadow: none;
1331
- background: #D9D9D9;
1332
- color: #999999;
1311
+ .SpinningProgress .line {
1312
+ stroke: black;
1313
+ stroke-width: 2px;
1314
+ stroke-dasharray: 1, 96;
1315
+ stroke-dashoffset: 0;
1316
+ animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1333
1317
  }
1334
1318
 
1335
- .Button.disabled:hover {
1336
- background-color: #cccccc;
1319
+ @keyframes rotate {
1320
+ 100% {
1321
+ transform: rotate(360deg);
1322
+ }
1337
1323
  }
1338
-
1339
- .Button::-moz-focus-inner {
1340
- border: 0;
1324
+ @keyframes dash {
1325
+ 0% {
1326
+ stroke-dasharray: 1, 96;
1327
+ stroke-dashoffset: 0;
1328
+ }
1329
+ 50% {
1330
+ stroke-dasharray: 43, 96;
1331
+ stroke-dashoffset: -17px;
1332
+ }
1333
+ 100% {
1334
+ stroke-dasharray: 43, 96;
1335
+ stroke-dashoffset: -53px;
1336
+ }
1337
+ }
1338
+ .Modal {
1339
+ display: block;
1340
+ position: fixed;
1341
+ top: 0;
1342
+ left: 0;
1343
+ right: 0;
1344
+ bottom: 100%;
1345
+ overflow-y: scroll;
1346
+ transition: bottom 0ms linear;
1347
+ transition-delay: 0.2s;
1341
1348
  }
1342
1349
 
1343
- .DropFileInput {
1344
- flex-grow: 1;
1350
+ .Modal.show {
1351
+ transition-delay: 0s;
1352
+ bottom: 0;
1345
1353
  }
1346
1354
 
1347
- .DropFileInput .Dropzone {
1348
- border: 1px dashed #808080;
1349
- padding: 12px;
1350
- display: flex;
1351
- flex-flow: row nowrap;
1352
- justify-content: center;
1353
- align-items: center;
1354
- color: gray;
1355
- cursor: pointer;
1356
- border-radius: 3px;
1357
- font-weight: normal;
1358
- line-height: 22px;
1359
- font-size: 14px;
1360
- color: #7E7E7E;
1361
- max-width: 100%;
1362
- word-break: break-all;
1363
- word-break: break-word;
1355
+ .Modal > .overlay {
1356
+ position: fixed;
1357
+ top: 0;
1358
+ bottom: 100%;
1359
+ left: 0;
1360
+ right: 0;
1361
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1362
+ opacity: 0;
1363
+ background-color: black;
1364
+ pointer-events: none;
1364
1365
  }
1365
1366
 
1366
- .DropFileInput .Dropzone .icon.withText {
1367
- margin-right: 10px;
1367
+ .Modal > .overlay.show {
1368
+ opacity: 0.5;
1369
+ bottom: 0;
1368
1370
  }
1369
1371
 
1370
- .ModalMenu {
1372
+ .Modal > .content {
1373
+ left: 50%;
1374
+ top: 10vh;
1375
+ margin-bottom: 10vh;
1376
+ font-size: 16px;
1377
+ padding: 0;
1378
+ opacity: 0;
1379
+ transition: opacity 0.25s ease, transform 0.25s ease;
1380
+ transform: scaleY(0) translateY(-200px) translateX(-50%);
1381
+ transform-origin: top;
1371
1382
  position: absolute;
1372
- top: 10px;
1373
- right: 50px;
1383
+ border-radius: 2px;
1384
+ box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
1374
1385
  }
1375
1386
 
1376
- .ModalMenu .material-icons {
1377
- color: #818181;
1387
+ .Modal > .content.show {
1388
+ opacity: 1;
1389
+ transform: scaleY(1) translateY(0px) translateX(-50%);
1378
1390
  }
1379
1391
 
1380
- .ModalMenu .Button.animated {
1381
- position: absolute;
1382
- transition: opacity 150ms ease-in, right 200ms ease-in;
1383
- opacity: 0;
1384
- right: 0;
1385
- top: 0;
1392
+ .Modal > .content > .Scrollable {
1393
+ overflow: visible;
1394
+ max-height: 80vh;
1386
1395
  }
1387
1396
 
1388
- .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1389
- opacity: 1;
1397
+ .Modal > .content > .Scrollable > .viewport {
1398
+ min-width: 10px;
1399
+ min-height: 10px;
1390
1400
  }
1391
1401
 
1392
- .ModalMenu .Button.animated.unmounting {
1393
- transition: opacity 100ms ease-out, right 200ms ease-out;
1402
+ .Modal > .content > .Button.close {
1403
+ top: 10px;
1404
+ right: 10px;
1405
+ position: absolute;
1394
1406
  }
1395
1407
 
1396
- .ModalMenu .Button.active {
1397
- background: #EBEBEB;
1408
+ .Switch {
1409
+ display: inline-flex;
1410
+ padding-top: 5px;
1398
1411
  }
1399
1412
 
1400
- .ModalMenu .separator {
1401
- height: 24px;
1402
- width: 1px;
1403
- background-color: #D9D9D9;
1404
- margin-left: 4px;
1413
+ .Switch .switch-input {
1414
+ display: none;
1405
1415
  }
1406
1416
 
1407
- .Dropzone {
1417
+ .Switch .switch-label {
1408
1418
  position: relative;
1419
+ display: inline-flex;
1420
+ align-items: center;
1421
+ min-width: 38px;
1422
+ height: 24px;
1423
+ cursor: pointer;
1424
+ font-weight: 500;
1425
+ text-align: left;
1426
+ user-select: none;
1427
+ margin: 0;
1428
+ padding: 0;
1429
+ padding-left: 44px;
1430
+ box-sizing: border-box;
1409
1431
  }
1410
1432
 
1411
- .Dropzone > .overlay {
1433
+ .Switch .switch-label:before, .Switch .switch-label:after {
1434
+ content: "";
1435
+ box-sizing: border-box;
1412
1436
  position: absolute;
1413
- left: 0;
1414
- right: 0;
1415
- top: 0;
1416
- bottom: 0;
1417
- background-color: #38ADC4;
1418
- z-index: 1;
1419
- opacity: 0;
1420
- transition: all 0.2s ease;
1421
- transition-delay: 100ms;
1422
- visibility: hidden;
1423
- display: flex;
1424
- justify-content: center;
1425
- align-items: center;
1437
+ margin: 0;
1438
+ outline: 0;
1439
+ top: 50%;
1440
+ transform: translate(0, -50%);
1441
+ transition: all 0.3s ease;
1426
1442
  }
1427
1443
 
1428
- .Dropzone > .overlay .drop {
1429
- border-radius: 4px;
1430
- border: 1px dashed #FFFFFF;
1431
- position: absolute;
1432
- top: 18px;
1433
- left: 18px;
1434
- right: 18px;
1435
- bottom: 18px;
1436
- display: flex;
1437
- justify-content: center;
1438
- align-items: center;
1439
- font-weight: 500;
1440
- font-size: 18px;
1441
- color: #FFFFFF;
1444
+ .Switch .switch-label:before {
1445
+ left: 1px;
1446
+ width: 34px;
1447
+ height: 14px;
1448
+ background-color: #9E9E9E;
1449
+ border-radius: 8px;
1442
1450
  }
1443
1451
 
1444
- .Dropzone.dragging > .overlay {
1445
- opacity: 0.7;
1446
- visibility: visible;
1447
- transition-delay: 0s;
1452
+ .Switch .switch-label:after {
1453
+ left: 0;
1454
+ width: 20px;
1455
+ height: 20px;
1456
+ background-color: #FAFAFA;
1457
+ border-radius: 50%;
1458
+ 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);
1448
1459
  }
1449
1460
 
1450
- .Dropzone.dragging > * {
1451
- pointer-events: none;
1461
+ .Switch .switch-label .toggle--on {
1462
+ display: none;
1452
1463
  }
1453
1464
 
1454
- .Dropzone > input.file {
1455
- position: absolute;
1456
- left: 0;
1457
- right: 0;
1458
- top: 0;
1459
- bottom: 0;
1460
- width: 100%;
1461
- height: 100%;
1462
- opacity: 0;
1463
- cursor: pointer;
1464
- z-index: 1;
1465
+ .Switch .switch-label .toggle--off {
1466
+ display: inline-block;
1465
1467
  }
1466
1468
 
1467
- .Button.FloatingActionButton {
1468
- position: absolute;
1469
- right: 16px;
1470
- bottom: 16px;
1471
- width: 56px;
1472
- height: 56px;
1473
- padding: 16px;
1474
- transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1469
+ .Switch .switch-label .label {
1470
+ margin-right: 5px;
1475
1471
  }
1476
1472
 
1477
- .Button.FloatingActionButton.raised {
1478
- 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);
1473
+ .Switch .switch-input:checked + .switch-label:before {
1474
+ background-color: #A5D6A7;
1475
+ }
1476
+
1477
+ .Switch .switch-input:checked + .switch-label:after {
1478
+ background-color: #4CAF50;
1479
+ transform: translate(80%, -50%);
1479
1480
  }
1480
1481
 
1481
- .Button.FloatingActionButton.mini {
1482
- width: 40px;
1483
- height: 40px;
1484
- padding: 8px;
1482
+ .Switch .switch-input:checked + .switch-label .toggle--on {
1483
+ display: inline-block;
1485
1484
  }
1486
1485
 
1487
- .Button.FloatingActionButton.hidden {
1488
- bottom: -100px;
1486
+ .Switch .switch-input:checked + .switch-label .toggle--off {
1487
+ display: none;
1489
1488
  }
1490
1489
 
1491
1490
  .Snackbar {
@@ -1533,65 +1532,139 @@
1533
1532
  color: #bf3727;
1534
1533
  }
1535
1534
 
1536
- .SpinningProgress {
1537
- width: 48px;
1538
- height: 48px;
1539
- position: relative;
1540
- margin: 0 auto;
1535
+ .ModalMenu {
1536
+ position: absolute;
1537
+ top: 10px;
1538
+ right: 50px;
1541
1539
  }
1542
1540
 
1543
- .SpinningProgress:before {
1544
- content: "";
1545
- display: block;
1546
- padding-top: 100%;
1541
+ .ModalMenu .material-icons {
1542
+ color: #818181;
1547
1543
  }
1548
1544
 
1549
- .SpinningProgress .circular {
1550
- animation: rotate 2s linear infinite;
1551
- height: 100%;
1552
- transform-origin: center center;
1553
- width: 100%;
1545
+ .ModalMenu .Button.animated {
1554
1546
  position: absolute;
1555
- top: 0;
1556
- bottom: 0;
1557
- left: 0;
1547
+ transition: opacity 150ms ease-in, right 200ms ease-in;
1548
+ opacity: 0;
1558
1549
  right: 0;
1559
- margin: auto;
1550
+ top: 0;
1560
1551
  }
1561
1552
 
1562
- .SpinningProgress .line {
1563
- stroke: black;
1564
- stroke-width: 2px;
1565
- stroke-dasharray: 1, 96;
1566
- stroke-dashoffset: 0;
1567
- animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
1553
+ .ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
1554
+ opacity: 1;
1568
1555
  }
1569
1556
 
1570
- @keyframes rotate {
1571
- 100% {
1572
- transform: rotate(360deg);
1573
- }
1557
+ .ModalMenu .Button.animated.unmounting {
1558
+ transition: opacity 100ms ease-out, right 200ms ease-out;
1574
1559
  }
1575
- @keyframes dash {
1576
- 0% {
1577
- stroke-dasharray: 1, 96;
1578
- stroke-dashoffset: 0;
1579
- }
1580
- 50% {
1581
- stroke-dasharray: 43, 96;
1582
- stroke-dashoffset: -17px;
1583
- }
1584
- 100% {
1585
- stroke-dasharray: 43, 96;
1586
- stroke-dashoffset: -53px;
1587
- }
1560
+
1561
+ .ModalMenu .Button.active {
1562
+ background: #EBEBEB;
1588
1563
  }
1589
- .ScrollableTable .Scrollable .scrollbar {
1590
- top: 56px;
1564
+
1565
+ .ModalMenu .separator {
1566
+ height: 24px;
1567
+ width: 1px;
1568
+ background-color: #D9D9D9;
1569
+ margin-left: 4px;
1591
1570
  }
1592
1571
 
1593
- .ScrollableTable .Table {
1594
- position: static;
1572
+ .Scrollable {
1573
+ max-height: 250px;
1574
+ max-width: 250px;
1575
+ padding-right: 5px;
1576
+ position: relative;
1577
+ display: flex;
1578
+ flex-flow: column;
1579
+ align-items: stretch;
1580
+ overflow: hidden;
1581
+ }
1582
+
1583
+ .Scrollable:hover > .scrollbar.auto {
1584
+ transition-delay: 0s;
1585
+ opacity: 1;
1586
+ }
1587
+
1588
+ .Scrollable .viewport {
1589
+ overflow-y: scroll;
1590
+ overflow-x: scroll;
1591
+ max-height: 100%;
1592
+ scrollbar-width: none;
1593
+ }
1594
+
1595
+ .Scrollable .viewport::-webkit-scrollbar {
1596
+ display: none;
1597
+ }
1598
+
1599
+ .Scrollable.without-scroll-horizontal {
1600
+ max-width: unset;
1601
+ }
1602
+
1603
+ .Scrollable.undefined-horizontal {
1604
+ max-width: unset;
1605
+ }
1606
+
1607
+ .Scrollable.without-scroll {
1608
+ padding-right: 0;
1609
+ max-height: unset;
1610
+ }
1611
+
1612
+ .Scrollable.without-scroll > .viewport {
1613
+ padding-right: 0;
1614
+ margin-right: 0;
1615
+ }
1616
+
1617
+ .Scrollable.without-scroll > .scrollbar {
1618
+ visibility: hidden;
1619
+ }
1620
+
1621
+ .Scrollable .scrollbar {
1622
+ position: absolute;
1623
+ right: 0px;
1624
+ top: 0px;
1625
+ width: 5px;
1626
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
1627
+ transition-delay: 0.5s;
1628
+ z-index: 1;
1629
+ }
1630
+
1631
+ .Scrollable .scrollbar.auto, .Scrollable .scrollbar.hidden {
1632
+ opacity: 0;
1633
+ }
1634
+
1635
+ .Scrollable .scrollbar .thumb {
1636
+ background-color: rgba(0, 0, 0, 0.3);
1637
+ width: 5px;
1638
+ position: absolute;
1639
+ right: 0px;
1640
+ top: 0px;
1641
+ user-select: none;
1642
+ will-change: top;
1643
+ border-radius: 2px;
1644
+ }
1645
+
1646
+ .Scrollable .scrollbar .thumb:hover {
1647
+ background-color: rgba(0, 0, 0, 0.5);
1648
+ }
1649
+
1650
+ .Scrollable .scrollbar .thumb:active {
1651
+ background-color: rgba(0, 0, 0, 0.7);
1652
+ }
1653
+
1654
+ .Scrollable .scrollbar.horizontal {
1655
+ left: 0px;
1656
+ right: 0px;
1657
+ height: 5px;
1658
+ bottom: 0;
1659
+ width: unset;
1660
+ top: unset;
1661
+ }
1662
+
1663
+ .Scrollable .scrollbar.horizontal .thumb {
1664
+ height: 5px;
1665
+ left: 0px;
1666
+ bottom: 0px;
1667
+ will-change: left;
1595
1668
  }
1596
1669
 
1597
1670
  .Table {
@@ -1716,86 +1789,12 @@
1716
1789
  margin: 0;
1717
1790
  }
1718
1791
 
1719
- .Switch {
1720
- display: inline-flex;
1721
- padding-top: 5px;
1722
- }
1723
-
1724
- .Switch .switch-input {
1725
- display: none;
1726
- }
1727
-
1728
- .Switch .switch-label {
1729
- position: relative;
1730
- display: inline-flex;
1731
- align-items: center;
1732
- min-width: 38px;
1733
- height: 24px;
1734
- cursor: pointer;
1735
- font-weight: 500;
1736
- text-align: left;
1737
- user-select: none;
1738
- margin: 0;
1739
- padding: 0;
1740
- padding-left: 44px;
1741
- box-sizing: border-box;
1742
- }
1743
-
1744
- .Switch .switch-label:before, .Switch .switch-label:after {
1745
- content: "";
1746
- box-sizing: border-box;
1747
- position: absolute;
1748
- margin: 0;
1749
- outline: 0;
1750
- top: 50%;
1751
- transform: translate(0, -50%);
1752
- transition: all 0.3s ease;
1753
- }
1754
-
1755
- .Switch .switch-label:before {
1756
- left: 1px;
1757
- width: 34px;
1758
- height: 14px;
1759
- background-color: #9E9E9E;
1760
- border-radius: 8px;
1761
- }
1762
-
1763
- .Switch .switch-label:after {
1764
- left: 0;
1765
- width: 20px;
1766
- height: 20px;
1767
- background-color: #FAFAFA;
1768
- border-radius: 50%;
1769
- 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);
1770
- }
1771
-
1772
- .Switch .switch-label .toggle--on {
1773
- display: none;
1774
- }
1775
-
1776
- .Switch .switch-label .toggle--off {
1777
- display: inline-block;
1778
- }
1779
-
1780
- .Switch .switch-label .label {
1781
- margin-right: 5px;
1782
- }
1783
-
1784
- .Switch .switch-input:checked + .switch-label:before {
1785
- background-color: #A5D6A7;
1786
- }
1787
-
1788
- .Switch .switch-input:checked + .switch-label:after {
1789
- background-color: #4CAF50;
1790
- transform: translate(80%, -50%);
1791
- }
1792
-
1793
- .Switch .switch-input:checked + .switch-label .toggle--on {
1794
- display: inline-block;
1792
+ .ScrollableTable .Scrollable .scrollbar {
1793
+ top: 56px;
1795
1794
  }
1796
1795
 
1797
- .Switch .switch-input:checked + .switch-label .toggle--off {
1798
- display: none;
1796
+ .ScrollableTable .Table {
1797
+ position: static;
1799
1798
  }
1800
1799
 
1801
1800
  .TextField {