anteriority-ui 1.5.0 → 1.7.0

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 (54) hide show
  1. package/.verify-bundle.css +958 -9
  2. package/.verify-bundle.js +2 -2
  3. package/AnteriorityUI.md +477 -3
  4. package/README.md +7 -1
  5. package/common/hooks/useKeyboardShortcut.js +49 -0
  6. package/common/hooks/usePasteImage.js +57 -0
  7. package/common/icons/index.js +2 -2
  8. package/index.js +122 -106
  9. package/lucide.js +1 -0
  10. package/package.json +1 -1
  11. package/screens/components/Avatar/index.js +58 -0
  12. package/screens/components/Avatar/index.module.css +45 -0
  13. package/screens/components/Avatar/utils.js +35 -0
  14. package/screens/components/AvatarChip/constants.js +13 -0
  15. package/screens/components/AvatarChip/index.js +143 -0
  16. package/screens/components/AvatarChip/index.module.css +232 -0
  17. package/screens/components/Breadcrumbs/index.js +3 -1
  18. package/screens/components/Breadcrumbs/index.module.css +1 -1
  19. package/screens/components/CommandPalette/constants.js +24 -0
  20. package/screens/components/CommandPalette/index.js +209 -0
  21. package/screens/components/CommandPalette/index.module.css +205 -0
  22. package/screens/components/Container/index.js +36 -22
  23. package/screens/components/Container/index.module.css +1 -1
  24. package/screens/components/Icons/findIcons.js +1 -1
  25. package/screens/components/Icons/registry.js +31 -31
  26. package/screens/components/ImagePastePreview/constants.js +14 -0
  27. package/screens/components/ImagePastePreview/index.js +53 -0
  28. package/screens/components/ImagePastePreview/index.module.css +47 -0
  29. package/screens/components/KeyboardShortcut/index.js +9 -0
  30. package/screens/components/Material-UI/Components/MultilinePlaceholder/constants.js +16 -0
  31. package/screens/components/Material-UI/Components/MultilinePlaceholder/index.js +73 -22
  32. package/screens/components/Material-UI/Components/MultilinePlaceholder/index.module.css +25 -0
  33. package/screens/components/NotificationsPanel/constants.js +4 -0
  34. package/screens/components/NotificationsPanel/index.js +37 -6
  35. package/screens/components/NotificationsPanel/index.module.css +33 -3
  36. package/screens/components/PasteImageField/constants.js +14 -0
  37. package/screens/components/PasteImageField/index.js +56 -0
  38. package/screens/components/PasteImageField/index.module.css +6 -0
  39. package/screens/components/Sidebar/index.js +248 -249
  40. package/screens/components/Sidebar/utils.js +0 -4
  41. package/screens/components/Swich/index.js +52 -4
  42. package/screens/components/Swich/index.module.css +65 -0
  43. package/screens/components/TableA/index.js +2 -1
  44. package/screens/components/TableB/index.js +27 -4
  45. package/screens/components/TopBar/components/NavDropdown/index.js +45 -0
  46. package/screens/components/TopBar/components/NavDropdown/index.module.css +23 -0
  47. package/screens/components/TopBar/components/NavLinks/index.js +72 -0
  48. package/screens/components/TopBar/components/SearchBar/index.js +38 -0
  49. package/screens/components/TopBar/components/TopBarActions/index.js +47 -0
  50. package/screens/components/TopBar/components/UserMenu/index.js +84 -0
  51. package/screens/components/TopBar/constants.js +16 -0
  52. package/screens/components/TopBar/index.js +235 -0
  53. package/screens/components/TopBar/index.module.css +400 -0
  54. package/screens/components/TopBar/utils.js +47 -0
@@ -442,6 +442,243 @@
442
442
  }
443
443
  }
444
444
 
445
+ /* dist/screens/components/Avatar/index.module.css */
446
+ .Avatar_avatar {
447
+ position: relative;
448
+ display: inline-flex;
449
+ align-items: center;
450
+ justify-content: center;
451
+ flex-shrink: 0;
452
+ box-sizing: border-box;
453
+ overflow: hidden;
454
+ user-select: none;
455
+ font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
456
+ font-weight: 600;
457
+ line-height: 1;
458
+ color: var(--avatar-text, #ffffff);
459
+ background-color: var(--avatar-bg, #64748b);
460
+ border-radius: 50%;
461
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
462
+ }
463
+ .Avatar_shapeCircle {
464
+ border-radius: 50%;
465
+ }
466
+ .Avatar_shapeRounded {
467
+ border-radius: 8px;
468
+ }
469
+ .Avatar_shapeSquare {
470
+ border-radius: 0;
471
+ }
472
+ .Avatar_avatarImg {
473
+ width: 100%;
474
+ height: 100%;
475
+ object-fit: cover;
476
+ display: block;
477
+ }
478
+ .Avatar_avatarFallback {
479
+ display: flex;
480
+ align-items: center;
481
+ justify-content: center;
482
+ width: 100%;
483
+ height: 100%;
484
+ text-transform: uppercase;
485
+ }
486
+
487
+ /* dist/screens/components/AvatarChip/index.module.css */
488
+ .AvatarChip_chip {
489
+ display: inline-flex;
490
+ align-items: center;
491
+ position: relative;
492
+ box-sizing: border-box;
493
+ font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
494
+ font-weight: 500;
495
+ line-height: 1;
496
+ border-radius: 999px;
497
+ border: 1px solid transparent;
498
+ user-select: none;
499
+ vertical-align: middle;
500
+ background-color: var(--chip-bg, #f1f5f9);
501
+ color: var(--chip-text, #1e293b);
502
+ transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
503
+ }
504
+ .AvatarChip_clickable {
505
+ cursor: pointer;
506
+ }
507
+ .AvatarChip_clickable:hover {
508
+ background-color: var(--chip-hover-bg, #e2e8f0);
509
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
510
+ }
511
+ .AvatarChip_clickable:active {
512
+ transform: scale(0.98);
513
+ }
514
+ .AvatarChip_disabled {
515
+ opacity: 0.55;
516
+ cursor: not-allowed;
517
+ pointer-events: none;
518
+ }
519
+ .AvatarChip_sizeSmall {
520
+ height: 24px;
521
+ font-size: 0.74rem;
522
+ padding: 2px 8px 2px 2px;
523
+ gap: 6px;
524
+ }
525
+ .AvatarChip_sizeMedium {
526
+ height: 32px;
527
+ font-size: 0.82rem;
528
+ padding: 3px 12px 3px 3px;
529
+ gap: 8px;
530
+ }
531
+ .AvatarChip_sizeLarge {
532
+ height: 40px;
533
+ font-size: 0.92rem;
534
+ padding: 4px 16px 4px 4px;
535
+ gap: 10px;
536
+ }
537
+ .AvatarChip_variantFilled {
538
+ background-color: var(--chip-bg, #f1f5f9);
539
+ color: var(--chip-text, #1e293b);
540
+ border-color: transparent;
541
+ }
542
+ .AvatarChip_variantOutlined {
543
+ background-color: var(--chip-bg, transparent);
544
+ color: var(--chip-text, #1e293b);
545
+ border-color: var(--chip-border, #cbd5e1);
546
+ }
547
+ .AvatarChip_variantOutlined.AvatarChip_clickable:hover {
548
+ background-color: rgba(15, 23, 42, 0.04);
549
+ border-color: #94a3b8;
550
+ }
551
+ .AvatarChip_avatarWrapper {
552
+ display: inline-flex;
553
+ align-items: center;
554
+ justify-content: center;
555
+ flex-shrink: 0;
556
+ border-radius: 50%;
557
+ transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
558
+ }
559
+ .AvatarChip_labelWrapper {
560
+ display: inline-flex;
561
+ align-items: center;
562
+ overflow: hidden;
563
+ text-overflow: ellipsis;
564
+ white-space: nowrap;
565
+ }
566
+ .AvatarChip_labelText {
567
+ overflow: hidden;
568
+ text-overflow: ellipsis;
569
+ white-space: nowrap;
570
+ }
571
+ .AvatarChip_deleteButton {
572
+ display: inline-flex;
573
+ align-items: center;
574
+ justify-content: center;
575
+ margin-left: 2px;
576
+ margin-right: -4px;
577
+ padding: 2px;
578
+ border: none;
579
+ background: transparent;
580
+ color: var(--chip-delete-color, #64748b);
581
+ border-radius: 50%;
582
+ cursor: pointer;
583
+ transition: all 0.2s ease;
584
+ flex-shrink: 0;
585
+ }
586
+ .AvatarChip_deleteButton:hover {
587
+ background-color: rgba(0, 0, 0, 0.08);
588
+ color: #0f172a;
589
+ transform: scale(1.1);
590
+ }
591
+ .AvatarChip_expandOnHover {
592
+ cursor: pointer;
593
+ overflow: hidden;
594
+ max-width: 44px;
595
+ padding-right: 3px;
596
+ transition:
597
+ max-width 0.35s cubic-bezier(0.16, 1, 0.3, 1),
598
+ padding 0.35s cubic-bezier(0.16, 1, 0.3, 1),
599
+ background-color 0.25s ease,
600
+ box-shadow 0.25s ease;
601
+ }
602
+ .AvatarChip_expandOnHover.AvatarChip_sizeSmall {
603
+ max-width: 24px;
604
+ padding-right: 2px;
605
+ }
606
+ .AvatarChip_expandOnHover.AvatarChip_sizeMedium {
607
+ max-width: 32px;
608
+ padding-right: 3px;
609
+ }
610
+ .AvatarChip_expandOnHover.AvatarChip_sizeLarge {
611
+ max-width: 40px;
612
+ padding-right: 4px;
613
+ }
614
+ .AvatarChip_expandOnHover .AvatarChip_labelWrapper {
615
+ max-width: 0;
616
+ opacity: 0;
617
+ transform: translateX(-10px);
618
+ pointer-events: none;
619
+ transition:
620
+ max-width 0.35s cubic-bezier(0.16, 1, 0.3, 1),
621
+ opacity 0.22s ease,
622
+ transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
623
+ }
624
+ .AvatarChip_expandOnHover .AvatarChip_deleteButton {
625
+ max-width: 0;
626
+ opacity: 0;
627
+ pointer-events: none;
628
+ transition: max-width 0.35s ease, opacity 0.2s ease;
629
+ }
630
+ .AvatarChip_expandOnHover:hover,
631
+ .AvatarChip_expandOnHover:focus-visible,
632
+ .AvatarChip_expandOnHover.AvatarChip_isExpanded {
633
+ max-width: 360px;
634
+ box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
635
+ }
636
+ .AvatarChip_expandOnHover.AvatarChip_sizeSmall:hover,
637
+ .AvatarChip_expandOnHover.AvatarChip_sizeSmall:focus-visible,
638
+ .AvatarChip_expandOnHover.AvatarChip_sizeSmall.AvatarChip_isExpanded {
639
+ padding-right: 8px;
640
+ }
641
+ .AvatarChip_expandOnHover.AvatarChip_sizeMedium:hover,
642
+ .AvatarChip_expandOnHover.AvatarChip_sizeMedium:focus-visible,
643
+ .AvatarChip_expandOnHover.AvatarChip_sizeMedium.AvatarChip_isExpanded {
644
+ padding-right: 12px;
645
+ }
646
+ .AvatarChip_expandOnHover.AvatarChip_sizeLarge:hover,
647
+ .AvatarChip_expandOnHover.AvatarChip_sizeLarge:focus-visible,
648
+ .AvatarChip_expandOnHover.AvatarChip_sizeLarge.AvatarChip_isExpanded {
649
+ padding-right: 16px;
650
+ }
651
+ .AvatarChip_expandOnHover:hover .AvatarChip_labelWrapper,
652
+ .AvatarChip_expandOnHover:focus-visible .AvatarChip_labelWrapper,
653
+ .AvatarChip_expandOnHover.AvatarChip_isExpanded .AvatarChip_labelWrapper {
654
+ max-width: 280px;
655
+ opacity: 1;
656
+ transform: translateX(0);
657
+ pointer-events: auto;
658
+ }
659
+ .AvatarChip_expandOnHover:hover .AvatarChip_deleteButton,
660
+ .AvatarChip_expandOnHover:focus-visible .AvatarChip_deleteButton,
661
+ .AvatarChip_expandOnHover.AvatarChip_isExpanded .AvatarChip_deleteButton {
662
+ max-width: 24px;
663
+ opacity: 1;
664
+ pointer-events: auto;
665
+ }
666
+ .AvatarChip_expandOnHover:hover .AvatarChip_avatarWrapper,
667
+ .AvatarChip_expandOnHover:focus-visible .AvatarChip_avatarWrapper,
668
+ .AvatarChip_expandOnHover.AvatarChip_isExpanded .AvatarChip_avatarWrapper {
669
+ transform: scale(1.03);
670
+ }
671
+ .AvatarChip_chipGroup {
672
+ display: flex;
673
+ align-items: center;
674
+ gap: var(--chip-group-spacing, 8px);
675
+ flex-wrap: wrap;
676
+ }
677
+ .AvatarChip_chipGroupColumn {
678
+ flex-direction: column;
679
+ align-items: flex-start;
680
+ }
681
+
445
682
  /* dist/screens/components/Badge/index.module.css */
446
683
  .Badge_badgeContainer {
447
684
  display: flex;
@@ -594,7 +831,7 @@
594
831
  }
595
832
  .Breadcrumbs_current {
596
833
  font-weight: 700;
597
- color: #e6e8ec;
834
+ color: var(--crumb-current-color, #e6e8ec);
598
835
  animation: Breadcrumbs_currentPulse 0.5s ease;
599
836
  }
600
837
  @keyframes Breadcrumbs_currentPulse {
@@ -2575,6 +2812,190 @@
2575
2812
  color: var(--color-danger, #ea1f1f);
2576
2813
  }
2577
2814
 
2815
+ /* dist/screens/components/CommandPalette/index.module.css */
2816
+ .CommandPalette_overlay {
2817
+ position: fixed;
2818
+ top: 0;
2819
+ left: 0;
2820
+ width: 100vw;
2821
+ height: 100vh;
2822
+ background: rgba(0, 0, 0, 0.5);
2823
+ backdrop-filter: blur(4px);
2824
+ z-index: 9999;
2825
+ display: flex;
2826
+ justify-content: center;
2827
+ align-items: flex-start;
2828
+ padding-top: 12vh;
2829
+ box-sizing: border-box;
2830
+ animation: CommandPalette_overlayFadeIn 0.15s ease-out;
2831
+ }
2832
+ @keyframes CommandPalette_overlayFadeIn {
2833
+ from {
2834
+ opacity: 0;
2835
+ }
2836
+ to {
2837
+ opacity: 1;
2838
+ }
2839
+ }
2840
+ .CommandPalette_palette {
2841
+ width: min(640px, 92vw);
2842
+ max-height: 70vh;
2843
+ display: flex;
2844
+ flex-direction: column;
2845
+ background-color: var(--palette-bg, #1b1d23);
2846
+ color: var(--palette-text, #e6edf3);
2847
+ border: 1px solid var(--palette-border, #30363d);
2848
+ border-radius: 12px;
2849
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
2850
+ overflow: hidden;
2851
+ font-family: var(--font-sans);
2852
+ animation: CommandPalette_paletteSlideIn 0.15s ease-out;
2853
+ }
2854
+ @keyframes CommandPalette_paletteSlideIn {
2855
+ from {
2856
+ opacity: 0;
2857
+ transform: translateY(-8px);
2858
+ }
2859
+ to {
2860
+ opacity: 1;
2861
+ transform: translateY(0);
2862
+ }
2863
+ }
2864
+ .CommandPalette_searchRow {
2865
+ display: flex;
2866
+ align-items: center;
2867
+ gap: 10px;
2868
+ padding: 14px 16px;
2869
+ border-bottom: 1px solid var(--palette-border, #30363d);
2870
+ flex-shrink: 0;
2871
+ }
2872
+ .CommandPalette_searchIcon {
2873
+ color: var(--palette-accent, #58a6ff);
2874
+ flex-shrink: 0;
2875
+ }
2876
+ .CommandPalette_input {
2877
+ flex: 1;
2878
+ min-width: 0;
2879
+ border: none;
2880
+ outline: none;
2881
+ background: transparent;
2882
+ color: var(--palette-text, #e6edf3);
2883
+ font-size: 0.95rem;
2884
+ font-family: inherit;
2885
+ }
2886
+ .CommandPalette_input::placeholder {
2887
+ color: var(--palette-icon, #8b949e);
2888
+ }
2889
+ .CommandPalette_clearButton,
2890
+ .CommandPalette_closeButton {
2891
+ display: inline-flex;
2892
+ align-items: center;
2893
+ justify-content: center;
2894
+ border: none;
2895
+ background: transparent;
2896
+ color: var(--palette-icon, #8b949e);
2897
+ cursor: pointer;
2898
+ padding: 4px;
2899
+ border-radius: 6px;
2900
+ flex-shrink: 0;
2901
+ }
2902
+ .CommandPalette_clearButton:hover,
2903
+ .CommandPalette_closeButton:hover {
2904
+ background-color: rgba(255, 255, 255, 0.08);
2905
+ color: var(--palette-text, #e6edf3);
2906
+ }
2907
+ .CommandPalette_shortcutHint {
2908
+ flex-shrink: 0;
2909
+ padding: 2px 6px;
2910
+ border-radius: 4px;
2911
+ border: 1px solid var(--palette-border, #30363d);
2912
+ background-color: rgba(255, 255, 255, 0.04);
2913
+ color: var(--palette-icon, #8b949e);
2914
+ font-size: 0.68rem;
2915
+ font-family: inherit;
2916
+ white-space: nowrap;
2917
+ }
2918
+ .CommandPalette_resultsScroll {
2919
+ display: flex;
2920
+ flex-direction: column;
2921
+ }
2922
+ .CommandPalette_results {
2923
+ padding: 8px;
2924
+ min-height: 0;
2925
+ }
2926
+ .CommandPalette_emptyMessage {
2927
+ margin: 0;
2928
+ padding: 28px 16px;
2929
+ text-align: center;
2930
+ font-size: 0.85rem;
2931
+ color: var(--palette-icon, #8b949e);
2932
+ }
2933
+ .CommandPalette_loadingWrapper {
2934
+ display: flex;
2935
+ justify-content: center;
2936
+ align-items: center;
2937
+ padding: 36px 16px;
2938
+ }
2939
+ .CommandPalette_skeletonGroup {
2940
+ display: flex;
2941
+ flex-direction: column;
2942
+ gap: 4px;
2943
+ padding: 4px;
2944
+ }
2945
+ .CommandPalette_skeletonRow {
2946
+ display: flex;
2947
+ align-items: center;
2948
+ gap: 10px;
2949
+ padding: 9px 10px;
2950
+ }
2951
+ .CommandPalette_group {
2952
+ display: flex;
2953
+ flex-direction: column;
2954
+ margin-bottom: 4px;
2955
+ }
2956
+ .CommandPalette_groupLabel {
2957
+ padding: 10px 10px 6px 10px;
2958
+ font-size: 0.7rem;
2959
+ font-weight: 700;
2960
+ letter-spacing: 0.04em;
2961
+ text-transform: uppercase;
2962
+ color: var(--palette-category, #8b949e);
2963
+ }
2964
+ .CommandPalette_item {
2965
+ display: flex;
2966
+ align-items: center;
2967
+ gap: 10px;
2968
+ width: 100%;
2969
+ padding: 9px 10px;
2970
+ border: none;
2971
+ border-radius: 8px;
2972
+ background: transparent;
2973
+ color: var(--palette-text, #e6edf3);
2974
+ font-size: 0.88rem;
2975
+ font-family: inherit;
2976
+ text-align: left;
2977
+ cursor: pointer;
2978
+ }
2979
+ .CommandPalette_itemActive {
2980
+ background-color: rgba(255, 255, 255, 0.08);
2981
+ }
2982
+ .CommandPalette_itemIcon {
2983
+ flex-shrink: 0;
2984
+ color: var(--palette-icon, #8b949e);
2985
+ }
2986
+ .CommandPalette_itemLabel {
2987
+ flex: 1;
2988
+ min-width: 0;
2989
+ overflow: hidden;
2990
+ text-overflow: ellipsis;
2991
+ white-space: nowrap;
2992
+ }
2993
+ .CommandPalette_itemDescription {
2994
+ flex-shrink: 0;
2995
+ font-size: 0.78rem;
2996
+ color: var(--palette-icon, #8b949e);
2997
+ }
2998
+
2578
2999
  /* dist/screens/components/Container/index.module.css */
2579
3000
  .Container_containerCard {
2580
3001
  position: relative;
@@ -2586,7 +3007,7 @@
2586
3007
  padding: 35px;
2587
3008
  border-radius: 12px;
2588
3009
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
2589
- border: 1px solid var(--logo-yellow-border, #e2e8f0);
3010
+ border: 1px solid var(--container-border, rgba(0, 0, 0, 0.08));
2590
3011
  min-height: 550px;
2591
3012
  box-sizing: border-box;
2592
3013
  display: flex;
@@ -3163,11 +3584,78 @@
3163
3584
  resize: vertical;
3164
3585
  }
3165
3586
 
3166
- /* dist/screens/components/HoursPicker/index.module.css */
3167
- .HoursPicker_inputGroup {
3587
+ /* dist/screens/components/ImagePastePreview/index.module.css */
3588
+ .ImagePastePreview_list {
3168
3589
  display: flex;
3169
- flex-direction: column;
3170
- gap: 0.25rem;
3590
+ flex-wrap: wrap;
3591
+ gap: 8px;
3592
+ }
3593
+ .ImagePastePreview_chip {
3594
+ display: flex;
3595
+ align-items: center;
3596
+ gap: 8px;
3597
+ padding: 6px 8px;
3598
+ border: 1px solid var(--image-paste-preview-border, #e2e8f0);
3599
+ border-radius: 8px;
3600
+ background-color: #f8fafc;
3601
+ width: fit-content;
3602
+ max-width: 100%;
3603
+ box-sizing: border-box;
3604
+ }
3605
+ .ImagePastePreview_thumb {
3606
+ width: 36px;
3607
+ height: 36px;
3608
+ object-fit: cover;
3609
+ border-radius: 6px;
3610
+ border: 1px solid var(--image-paste-preview-thumb-border, #cbd5e1);
3611
+ flex-shrink: 0;
3612
+ }
3613
+ .ImagePastePreview_removeButton {
3614
+ display: inline-flex;
3615
+ align-items: center;
3616
+ justify-content: center;
3617
+ width: 20px;
3618
+ height: 20px;
3619
+ border: none;
3620
+ border-radius: 50%;
3621
+ background-color: transparent;
3622
+ color: #64748b;
3623
+ cursor: pointer;
3624
+ flex-shrink: 0;
3625
+ padding: 0;
3626
+ }
3627
+ .ImagePastePreview_removeButton:hover {
3628
+ background-color: #e2e8f0;
3629
+ color: #0f172a;
3630
+ }
3631
+
3632
+ /* dist/screens/components/Material-UI/Components/MultilinePlaceholder/index.module.css */
3633
+ .MultilinePlaceholder_textarea {
3634
+ scrollbar-width: thin;
3635
+ scrollbar-color: #cbd5e1 transparent;
3636
+ }
3637
+ .MultilinePlaceholder_textarea::-webkit-scrollbar {
3638
+ width: 6px;
3639
+ }
3640
+ .MultilinePlaceholder_textarea::-webkit-scrollbar-track {
3641
+ background: transparent;
3642
+ }
3643
+ .MultilinePlaceholder_textarea::-webkit-scrollbar-thumb {
3644
+ background-color: #cbd5e1;
3645
+ border-radius: 3px;
3646
+ }
3647
+ .MultilinePlaceholder_textarea::-webkit-scrollbar-thumb:hover {
3648
+ background-color: #94a3b8;
3649
+ }
3650
+ .MultilinePlaceholder_imagePreviewList {
3651
+ margin-top: 8px;
3652
+ }
3653
+
3654
+ /* dist/screens/components/HoursPicker/index.module.css */
3655
+ .HoursPicker_inputGroup {
3656
+ display: flex;
3657
+ flex-direction: column;
3658
+ gap: 0.25rem;
3171
3659
  width: 100%;
3172
3660
  }
3173
3661
  .HoursPicker_hoursFrame {
@@ -3765,11 +4253,37 @@
3765
4253
  gap: 0.75rem;
3766
4254
  min-height: 0;
3767
4255
  }
4256
+ .NotificationsPanel_emptyContainer {
4257
+ display: flex;
4258
+ flex-direction: column;
4259
+ align-items: center;
4260
+ justify-content: center;
4261
+ text-align: center;
4262
+ min-height: 200px;
4263
+ padding: 2.25rem 1.5rem;
4264
+ box-sizing: border-box;
4265
+ }
4266
+ .NotificationsPanel_emptyIconWrapper {
4267
+ display: flex;
4268
+ align-items: center;
4269
+ justify-content: center;
4270
+ color: var(--notifications-empty-icon, #94a3b8);
4271
+ margin-bottom: 0.85rem;
4272
+ }
4273
+ .NotificationsPanel_emptyTitle {
4274
+ margin: 0 0 0.35rem 0;
4275
+ font-size: 1rem;
4276
+ font-weight: 600;
4277
+ color: var(--notifications-empty-title, #1e293b);
4278
+ }
3768
4279
  .NotificationsPanel_emptyMessage {
3769
- margin: 1rem 0;
4280
+ margin: 0;
3770
4281
  text-align: center;
3771
- font-size: 0.85rem;
3772
- color: #94a3b8;
4282
+ font-size: 0.95rem;
4283
+ font-weight: 400;
4284
+ line-height: 1.45;
4285
+ color: var(--notifications-empty-text, #64748b);
4286
+ max-width: 260px;
3773
4287
  }
3774
4288
  .NotificationsPanel_item {
3775
4289
  align-items: flex-start;
@@ -3882,6 +4396,14 @@
3882
4396
  }
3883
4397
  }
3884
4398
 
4399
+ /* dist/screens/components/PasteImageField/index.module.css */
4400
+ .PasteImageField_wrapper {
4401
+ display: flex;
4402
+ flex-direction: column;
4403
+ gap: 8px;
4404
+ width: 100%;
4405
+ }
4406
+
3885
4407
  /* dist/screens/components/PlaceholderButton/index.module.css */
3886
4408
  .PlaceholderButton_configContainer {
3887
4409
  display: flex;
@@ -4623,6 +5145,9 @@
4623
5145
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
4624
5146
  pointer-events: none;
4625
5147
  z-index: 2;
5148
+ display: flex;
5149
+ align-items: center;
5150
+ justify-content: center;
4626
5151
  }
4627
5152
  .Swich_active .Swich_thumb {
4628
5153
  transform: translateX(29px);
@@ -4630,6 +5155,61 @@
4630
5155
  .Swich_inactive .Swich_thumb {
4631
5156
  transform: translateX(3px);
4632
5157
  }
5158
+ .Swich_thumbIcon {
5159
+ display: flex;
5160
+ align-items: center;
5161
+ justify-content: center;
5162
+ width: 100%;
5163
+ height: 100%;
5164
+ animation: Swich_thumbIconPop 0.18s ease-out;
5165
+ }
5166
+ @keyframes Swich_thumbIconPop {
5167
+ 0% {
5168
+ transform: scale(0.6);
5169
+ opacity: 0;
5170
+ }
5171
+ 100% {
5172
+ transform: scale(1);
5173
+ opacity: 1;
5174
+ }
5175
+ }
5176
+ .Swich_trackLabel {
5177
+ position: absolute;
5178
+ top: 0;
5179
+ bottom: 0;
5180
+ display: flex;
5181
+ align-items: center;
5182
+ justify-content: center;
5183
+ font-size: 0.62rem;
5184
+ font-weight: 700;
5185
+ line-height: 1;
5186
+ letter-spacing: 0.02em;
5187
+ user-select: none;
5188
+ pointer-events: none;
5189
+ color: #ffffff;
5190
+ z-index: 1;
5191
+ animation: Swich_trackLabelFade 0.2s ease-out;
5192
+ }
5193
+ .Swich_trackLabelActive {
5194
+ left: 0;
5195
+ width: 29px;
5196
+ padding-left: 2px;
5197
+ }
5198
+ .Swich_trackLabelInactive {
5199
+ right: 0;
5200
+ width: 29px;
5201
+ padding-right: 2px;
5202
+ }
5203
+ @keyframes Swich_trackLabelFade {
5204
+ 0% {
5205
+ opacity: 0;
5206
+ transform: scale(0.85);
5207
+ }
5208
+ 100% {
5209
+ opacity: 1;
5210
+ transform: scale(1);
5211
+ }
5212
+ }
4633
5213
  .Swich_ripple {
4634
5214
  position: absolute;
4635
5215
  border-radius: 50%;
@@ -5071,6 +5651,375 @@
5071
5651
  border-bottom-right-radius: 0;
5072
5652
  }
5073
5653
 
5654
+ /* dist/screens/components/TopBar/index.module.css */
5655
+ .TopBar_topbar {
5656
+ display: flex;
5657
+ align-items: center;
5658
+ gap: 16px;
5659
+ min-height: 64px;
5660
+ padding: 10px 20px;
5661
+ background-color: var(--topbar-bg, #ffffff);
5662
+ border-bottom: 1px solid var(--topbar-border, #e2e8f0);
5663
+ color: var(--topbar-text, #0f172a);
5664
+ box-sizing: border-box;
5665
+ font-family: var(--font-sans);
5666
+ width: 100%;
5667
+ }
5668
+ .TopBar_leftSection {
5669
+ display: flex;
5670
+ align-items: center;
5671
+ gap: 12px;
5672
+ flex: 1;
5673
+ min-width: 0;
5674
+ }
5675
+ .TopBar_logoButton {
5676
+ display: inline-flex;
5677
+ align-items: center;
5678
+ justify-content: center;
5679
+ padding: 0;
5680
+ border: none;
5681
+ background: transparent;
5682
+ cursor: pointer;
5683
+ color: inherit;
5684
+ flex-shrink: 0;
5685
+ }
5686
+ .TopBar_logoButton:disabled {
5687
+ cursor: default;
5688
+ }
5689
+ .TopBar_title {
5690
+ font-size: 0.95rem;
5691
+ font-weight: 700;
5692
+ color: var(--topbar-text, #0f172a);
5693
+ white-space: nowrap;
5694
+ overflow: hidden;
5695
+ text-overflow: ellipsis;
5696
+ }
5697
+ .TopBar_breadcrumbs {
5698
+ min-width: 0;
5699
+ }
5700
+ .TopBar_skeletonBreadcrumbs {
5701
+ display: flex;
5702
+ align-items: center;
5703
+ gap: 8px;
5704
+ min-width: 0;
5705
+ }
5706
+ .TopBar_skeletonBreadcrumbSeparator {
5707
+ color: var(--topbar-divider, #cbd5e1);
5708
+ font-size: 0.85rem;
5709
+ line-height: 1;
5710
+ user-select: none;
5711
+ }
5712
+ .TopBar_centerSection {
5713
+ flex: 1;
5714
+ display: flex;
5715
+ justify-content: center;
5716
+ min-width: 0;
5717
+ }
5718
+ .TopBar_searchWrapper {
5719
+ position: relative;
5720
+ display: flex;
5721
+ align-items: center;
5722
+ width: 100%;
5723
+ max-width: 420px;
5724
+ border: none;
5725
+ padding: 0;
5726
+ background: transparent;
5727
+ font-family: inherit;
5728
+ cursor: default;
5729
+ }
5730
+ button.TopBar_searchWrapper {
5731
+ cursor: pointer;
5732
+ text-align: left;
5733
+ }
5734
+ .TopBar_navLinks {
5735
+ display: flex;
5736
+ align-items: center;
5737
+ gap: 28px;
5738
+ }
5739
+ .TopBar_navLinkWrapper {
5740
+ position: relative;
5741
+ display: flex;
5742
+ }
5743
+ .TopBar_navLink {
5744
+ display: inline-flex;
5745
+ align-items: center;
5746
+ gap: 4px;
5747
+ border: none;
5748
+ background: transparent;
5749
+ padding: 0;
5750
+ color: var(--topbar-navlink-color, var(--topbar-text, #0f172a));
5751
+ font-family: inherit;
5752
+ font-size: 0.9rem;
5753
+ font-weight: 500;
5754
+ text-decoration: none;
5755
+ cursor: pointer;
5756
+ white-space: nowrap;
5757
+ }
5758
+ .TopBar_navLink:hover,
5759
+ .TopBar_navLinkOpen {
5760
+ color: var(--topbar-navlink-active, var(--topbar-accent, #0ea5e9));
5761
+ }
5762
+ .TopBar_navLinkChevron {
5763
+ transition: transform 0.15s ease;
5764
+ }
5765
+ .TopBar_navLinkChevronOpen {
5766
+ transform: rotate(180deg);
5767
+ }
5768
+ .TopBar_ctaButton {
5769
+ flex-shrink: 0;
5770
+ }
5771
+ .TopBar_searchIcon {
5772
+ position: absolute;
5773
+ left: 12px;
5774
+ color: var(--topbar-icon, #94a3b8);
5775
+ pointer-events: none;
5776
+ }
5777
+ .TopBar_searchInput {
5778
+ width: 100%;
5779
+ height: 36px;
5780
+ padding: 0 40px 0 36px;
5781
+ border-radius: 8px;
5782
+ border: 1px solid var(--topbar-border, #e2e8f0);
5783
+ background-color: var(--topbar-search-bg, #f8fafc);
5784
+ color: var(--topbar-text, #0f172a);
5785
+ font-size: 0.85rem;
5786
+ font-family: inherit;
5787
+ outline: none;
5788
+ box-sizing: border-box;
5789
+ transition: border-color 0.15s ease, background-color 0.15s ease;
5790
+ }
5791
+ .TopBar_searchInput::placeholder {
5792
+ color: var(--topbar-icon, #94a3b8);
5793
+ }
5794
+ .TopBar_searchInput:focus {
5795
+ border-color: var(--topbar-accent, #0ea5e9);
5796
+ background-color: var(--topbar-bg, #ffffff);
5797
+ }
5798
+ .TopBar_searchShortcut {
5799
+ position: absolute;
5800
+ right: 10px;
5801
+ display: inline-flex;
5802
+ align-items: center;
5803
+ justify-content: center;
5804
+ min-width: 18px;
5805
+ height: 18px;
5806
+ padding: 0 4px;
5807
+ border-radius: 4px;
5808
+ border: 1px solid var(--topbar-border, #e2e8f0);
5809
+ background-color: var(--topbar-bg, #ffffff);
5810
+ color: var(--topbar-icon, #94a3b8);
5811
+ font-size: 0.68rem;
5812
+ font-family: inherit;
5813
+ pointer-events: none;
5814
+ }
5815
+ .TopBar_rightSection {
5816
+ display: flex;
5817
+ align-items: center;
5818
+ justify-content: flex-end;
5819
+ gap: 4px;
5820
+ flex: 1;
5821
+ min-width: 0;
5822
+ }
5823
+ .TopBar_actionBtnWrapper {
5824
+ position: relative;
5825
+ display: inline-flex;
5826
+ }
5827
+ .TopBar_actionBtn {
5828
+ border-radius: 6px !important;
5829
+ color: var(--action-icon-color, var(--topbar-icon, #475569)) !important;
5830
+ background-color: var(--action-bg-color, var(--topbar-action-bg, #f1f5f9)) !important;
5831
+ border: 1px solid var(--action-border-color, var(--topbar-action-border, #e2e8f0)) !important;
5832
+ position: relative !important;
5833
+ overflow: hidden !important;
5834
+ transition:
5835
+ background-color 0.15s ease,
5836
+ color 0.15s ease,
5837
+ border-color 0.15s ease !important;
5838
+ }
5839
+ .TopBar_actionBtn .MuiTouchRipple-root {
5840
+ color: var(--action-ripple-color, var(--topbar-action-ripple, rgba(15, 23, 42, 0.28))) !important;
5841
+ border-radius: inherit !important;
5842
+ overflow: hidden !important;
5843
+ }
5844
+ .TopBar_actionBtn .MuiTouchRipple-rippleVisible {
5845
+ opacity: 0.35 !important;
5846
+ }
5847
+ .TopBar_actionBtnWithHover:hover {
5848
+ background-color: var(--action-hover-bg, var(--topbar-action-hover-bg, var(--topbar-hover-bg, #e2e8f0))) !important;
5849
+ color: var(--action-hover-text, var(--topbar-action-hover-text, var(--topbar-text, #0f172a))) !important;
5850
+ border-color: var(--action-hover-border, var(--topbar-action-hover-border, var(--topbar-action-border, #e2e8f0))) !important;
5851
+ }
5852
+ .TopBar_actionBtnNoHover:hover {
5853
+ background-color: var(--action-bg-color, var(--topbar-action-bg, #f1f5f9)) !important;
5854
+ color: var(--action-icon-color, var(--topbar-icon, #475569)) !important;
5855
+ border-color: var(--action-border-color, var(--topbar-action-border, #e2e8f0)) !important;
5856
+ }
5857
+ .TopBar_actionBadge {
5858
+ position: absolute;
5859
+ display: flex;
5860
+ align-items: center;
5861
+ justify-content: center;
5862
+ background-color: var(--topbar-badge-bg, var(--topbar-accent, #ea1f1f));
5863
+ color: var(--topbar-badge-text, #ffffff);
5864
+ border: 2px solid var(--topbar-bg, #ffffff);
5865
+ pointer-events: none;
5866
+ box-sizing: content-box;
5867
+ }
5868
+ .TopBar_actionBadgeDot {
5869
+ top: 2px;
5870
+ right: 2px;
5871
+ width: 8px;
5872
+ height: 8px;
5873
+ border-radius: 50%;
5874
+ }
5875
+ .TopBar_actionBadgeCount {
5876
+ top: -4px;
5877
+ right: -4px;
5878
+ min-width: 16px;
5879
+ height: 16px;
5880
+ padding: 0 4px;
5881
+ border-radius: 999px;
5882
+ font-size: 0.65rem;
5883
+ font-weight: 700;
5884
+ line-height: 1;
5885
+ }
5886
+ .TopBar_actionsDivider {
5887
+ width: 1px;
5888
+ height: 24px;
5889
+ margin: 0 8px;
5890
+ background-color: var(--topbar-divider, #e2e8f0);
5891
+ flex-shrink: 0;
5892
+ }
5893
+ .TopBar_userSection {
5894
+ position: relative;
5895
+ margin-left: 4px;
5896
+ }
5897
+ .TopBar_userButton {
5898
+ display: inline-flex;
5899
+ align-items: center;
5900
+ justify-content: center;
5901
+ padding: 0;
5902
+ border: none;
5903
+ border-radius: 50%;
5904
+ background: transparent;
5905
+ cursor: pointer;
5906
+ }
5907
+ .TopBar_userMenu {
5908
+ position: fixed;
5909
+ min-width: 200px;
5910
+ background: #ffffff;
5911
+ border: 1px solid #e2e8f0;
5912
+ border-radius: 10px;
5913
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
5914
+ padding: 6px;
5915
+ display: flex;
5916
+ flex-direction: column;
5917
+ gap: 2px;
5918
+ z-index: 2000;
5919
+ }
5920
+ .TopBar_userMenuHeader {
5921
+ padding: 8px 10px;
5922
+ margin-bottom: 4px;
5923
+ border-bottom: 1px solid #e2e8f0;
5924
+ }
5925
+ .TopBar_userMenuName {
5926
+ font-size: 0.85rem;
5927
+ font-weight: 700;
5928
+ color: #0f172a;
5929
+ }
5930
+ .TopBar_userMenuEmail {
5931
+ font-size: 0.78rem;
5932
+ color: #64748b;
5933
+ word-break: break-all;
5934
+ }
5935
+ .TopBar_userMenuItem {
5936
+ display: flex;
5937
+ align-items: center;
5938
+ gap: 8px;
5939
+ width: 100%;
5940
+ padding: 8px 10px;
5941
+ border: none;
5942
+ background: transparent;
5943
+ border-radius: 6px;
5944
+ font-size: 0.85rem;
5945
+ font-family: inherit;
5946
+ color: #334155;
5947
+ cursor: pointer;
5948
+ text-align: left;
5949
+ }
5950
+ .TopBar_userMenuItem:hover {
5951
+ background-color: #f1f5f9;
5952
+ }
5953
+ .TopBar_userMenuItemDanger {
5954
+ color: #dc2626;
5955
+ }
5956
+ .TopBar_userMenuItemDanger:hover {
5957
+ background-color: #fef2f2;
5958
+ }
5959
+ @media (max-width: 1023px) {
5960
+ .TopBar_topbar {
5961
+ gap: 12px;
5962
+ padding: 10px 14px;
5963
+ }
5964
+ .TopBar_searchWrapper {
5965
+ max-width: 280px;
5966
+ }
5967
+ }
5968
+ @media (max-width: 767px) {
5969
+ .TopBar_topbar {
5970
+ gap: 8px;
5971
+ padding: 10px 12px;
5972
+ }
5973
+ .TopBar_centerSection {
5974
+ display: none;
5975
+ }
5976
+ .TopBar_breadcrumbs,
5977
+ .TopBar_skeletonBreadcrumbs {
5978
+ max-width: 50vw;
5979
+ }
5980
+ .TopBar_title {
5981
+ max-width: 50vw;
5982
+ }
5983
+ }
5984
+ @media (max-width: 479px) {
5985
+ .TopBar_topbar {
5986
+ gap: 6px;
5987
+ padding: 8px 10px;
5988
+ }
5989
+ .TopBar_breadcrumbs,
5990
+ .TopBar_skeletonBreadcrumbs,
5991
+ .TopBar_title {
5992
+ max-width: 38vw;
5993
+ }
5994
+ .TopBar_actionsDivider {
5995
+ margin: 0 4px;
5996
+ }
5997
+ }
5998
+
5999
+ /* dist/screens/components/TopBar/components/NavDropdown/index.module.css */
6000
+ .NavDropdown_panel {
6001
+ position: fixed;
6002
+ left: 0;
6003
+ width: 100%;
6004
+ background-color: var(--nav-dropdown-bg, #ffffff);
6005
+ color: var(--nav-dropdown-text, #0f172a);
6006
+ border-bottom: 1px solid var(--nav-dropdown-border, #e2e8f0);
6007
+ box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
6008
+ box-sizing: border-box;
6009
+ z-index: 1200;
6010
+ animation: NavDropdown_slideDown 0.18s ease-out;
6011
+ }
6012
+ @keyframes NavDropdown_slideDown {
6013
+ from {
6014
+ opacity: 0;
6015
+ transform: translateY(-6px);
6016
+ }
6017
+ to {
6018
+ opacity: 1;
6019
+ transform: translateY(0);
6020
+ }
6021
+ }
6022
+
5074
6023
  /* dist/screens/components/UserEditPopover/index.module.css */
5075
6024
  .UserEditPopover_popoverPaper {
5076
6025
  padding: 16px;