@caratlogic/design-system 0.1.0 → 0.1.2

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 (28) hide show
  1. package/dist/components/atoms/Skeleton/SquareSkeleton.d.ts.map +1 -1
  2. package/dist/components/layouts/AppShell/DashboardShell.d.ts.map +1 -1
  3. package/dist/components/molecules/DateInput/DateInput.d.ts.map +1 -1
  4. package/dist/components/molecules/Pagination/Pagination.d.ts.map +1 -1
  5. package/dist/components/molecules/Pagination/Pagination.utils.d.ts +3 -5
  6. package/dist/components/molecules/Pagination/Pagination.utils.d.ts.map +1 -1
  7. package/dist/components/molecules/PaginationSelect/PaginationSelect.d.ts +11 -0
  8. package/dist/components/molecules/PaginationSelect/PaginationSelect.d.ts.map +1 -0
  9. package/dist/components/molecules/PaginationSelect/PaginationSelect.types.d.ts +24 -0
  10. package/dist/components/molecules/PaginationSelect/PaginationSelect.types.d.ts.map +1 -0
  11. package/dist/components/molecules/PaginationSelect/PaginationSelect.utils.d.ts +16 -0
  12. package/dist/components/molecules/PaginationSelect/PaginationSelect.utils.d.ts.map +1 -0
  13. package/dist/components/molecules/PaginationSelect/index.d.ts +3 -0
  14. package/dist/components/molecules/PaginationSelect/index.d.ts.map +1 -0
  15. package/dist/components/molecules/ShimmerTable/ShimmerTable.d.ts.map +1 -1
  16. package/dist/components/molecules/Sidebar/Sidebar.parts.d.ts.map +1 -1
  17. package/dist/hooks/useForwardedRef.d.ts +7 -0
  18. package/dist/hooks/useForwardedRef.d.ts.map +1 -0
  19. package/dist/hooks/useTruncatedText.d.ts +11 -0
  20. package/dist/hooks/useTruncatedText.d.ts.map +1 -0
  21. package/dist/index.cjs.js +354 -144
  22. package/dist/index.cjs.js.map +1 -1
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.esm.js +355 -146
  26. package/dist/index.esm.js.map +1 -1
  27. package/dist/source.css +12 -0
  28. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -2698,12 +2698,12 @@ const createLucideIcon = (iconName, iconNode) => {
2698
2698
  */
2699
2699
 
2700
2700
 
2701
- const __iconNode$15 = [
2701
+ const __iconNode$16 = [
2702
2702
  ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
2703
2703
  ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
2704
2704
  ["path", { d: "M10 12h4", key: "a56b0p" }]
2705
2705
  ];
2706
- const Archive = createLucideIcon("archive", __iconNode$15);
2706
+ const Archive = createLucideIcon("archive", __iconNode$16);
2707
2707
 
2708
2708
  /**
2709
2709
  * @license lucide-react v0.539.0 - ISC
@@ -2713,11 +2713,11 @@ const Archive = createLucideIcon("archive", __iconNode$15);
2713
2713
  */
2714
2714
 
2715
2715
 
2716
- const __iconNode$14 = [
2716
+ const __iconNode$15 = [
2717
2717
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
2718
2718
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
2719
2719
  ];
2720
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$14);
2720
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$15);
2721
2721
 
2722
2722
  /**
2723
2723
  * @license lucide-react v0.539.0 - ISC
@@ -2727,11 +2727,11 @@ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$14);
2727
2727
  */
2728
2728
 
2729
2729
 
2730
- const __iconNode$13 = [
2730
+ const __iconNode$14 = [
2731
2731
  ["path", { d: "M5 12h14", key: "1ays0h" }],
2732
2732
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
2733
2733
  ];
2734
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$13);
2734
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$14);
2735
2735
 
2736
2736
  /**
2737
2737
  * @license lucide-react v0.539.0 - ISC
@@ -2741,11 +2741,11 @@ const ArrowRight = createLucideIcon("arrow-right", __iconNode$13);
2741
2741
  */
2742
2742
 
2743
2743
 
2744
- const __iconNode$12 = [
2744
+ const __iconNode$13 = [
2745
2745
  ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }],
2746
2746
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
2747
2747
  ];
2748
- const Ban = createLucideIcon("ban", __iconNode$12);
2748
+ const Ban = createLucideIcon("ban", __iconNode$13);
2749
2749
 
2750
2750
  /**
2751
2751
  * @license lucide-react v0.539.0 - ISC
@@ -2755,7 +2755,7 @@ const Ban = createLucideIcon("ban", __iconNode$12);
2755
2755
  */
2756
2756
 
2757
2757
 
2758
- const __iconNode$11 = [
2758
+ const __iconNode$12 = [
2759
2759
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
2760
2760
  [
2761
2761
  "path",
@@ -2765,7 +2765,7 @@ const __iconNode$11 = [
2765
2765
  }
2766
2766
  ]
2767
2767
  ];
2768
- const Bell = createLucideIcon("bell", __iconNode$11);
2768
+ const Bell = createLucideIcon("bell", __iconNode$12);
2769
2769
 
2770
2770
  /**
2771
2771
  * @license lucide-react v0.539.0 - ISC
@@ -2775,13 +2775,13 @@ const Bell = createLucideIcon("bell", __iconNode$11);
2775
2775
  */
2776
2776
 
2777
2777
 
2778
- const __iconNode$10 = [
2778
+ const __iconNode$11 = [
2779
2779
  [
2780
2780
  "path",
2781
2781
  { d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8", key: "mg9rjx" }
2782
2782
  ]
2783
2783
  ];
2784
- const Bold$1 = createLucideIcon("bold", __iconNode$10);
2784
+ const Bold$1 = createLucideIcon("bold", __iconNode$11);
2785
2785
 
2786
2786
  /**
2787
2787
  * @license lucide-react v0.539.0 - ISC
@@ -2791,7 +2791,7 @@ const Bold$1 = createLucideIcon("bold", __iconNode$10);
2791
2791
  */
2792
2792
 
2793
2793
 
2794
- const __iconNode$$ = [
2794
+ const __iconNode$10 = [
2795
2795
  ["path", { d: "M8 2v4", key: "1cmpym" }],
2796
2796
  ["path", { d: "M16 2v4", key: "4m81vk" }],
2797
2797
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
@@ -2803,7 +2803,7 @@ const __iconNode$$ = [
2803
2803
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
2804
2804
  ["path", { d: "M16 18h.01", key: "kzsmim" }]
2805
2805
  ];
2806
- const CalendarDays = createLucideIcon("calendar-days", __iconNode$$);
2806
+ const CalendarDays = createLucideIcon("calendar-days", __iconNode$10);
2807
2807
 
2808
2808
  /**
2809
2809
  * @license lucide-react v0.539.0 - ISC
@@ -2813,13 +2813,13 @@ const CalendarDays = createLucideIcon("calendar-days", __iconNode$$);
2813
2813
  */
2814
2814
 
2815
2815
 
2816
- const __iconNode$_ = [
2816
+ const __iconNode$$ = [
2817
2817
  ["path", { d: "M8 2v4", key: "1cmpym" }],
2818
2818
  ["path", { d: "M16 2v4", key: "4m81vk" }],
2819
2819
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
2820
2820
  ["path", { d: "M3 10h18", key: "8toen8" }]
2821
2821
  ];
2822
- const Calendar$1 = createLucideIcon("calendar", __iconNode$_);
2822
+ const Calendar$1 = createLucideIcon("calendar", __iconNode$$);
2823
2823
 
2824
2824
  /**
2825
2825
  * @license lucide-react v0.539.0 - ISC
@@ -2829,11 +2829,11 @@ const Calendar$1 = createLucideIcon("calendar", __iconNode$_);
2829
2829
  */
2830
2830
 
2831
2831
 
2832
- const __iconNode$Z = [
2832
+ const __iconNode$_ = [
2833
2833
  ["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }],
2834
2834
  ["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }]
2835
2835
  ];
2836
- const CheckCheck = createLucideIcon("check-check", __iconNode$Z);
2836
+ const CheckCheck = createLucideIcon("check-check", __iconNode$_);
2837
2837
 
2838
2838
  /**
2839
2839
  * @license lucide-react v0.539.0 - ISC
@@ -2843,8 +2843,8 @@ const CheckCheck = createLucideIcon("check-check", __iconNode$Z);
2843
2843
  */
2844
2844
 
2845
2845
 
2846
- const __iconNode$Y = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2847
- const Check = createLucideIcon("check", __iconNode$Y);
2846
+ const __iconNode$Z = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2847
+ const Check = createLucideIcon("check", __iconNode$Z);
2848
2848
 
2849
2849
  /**
2850
2850
  * @license lucide-react v0.539.0 - ISC
@@ -2854,8 +2854,8 @@ const Check = createLucideIcon("check", __iconNode$Y);
2854
2854
  */
2855
2855
 
2856
2856
 
2857
- const __iconNode$X = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2858
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$X);
2857
+ const __iconNode$Y = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2858
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$Y);
2859
2859
 
2860
2860
  /**
2861
2861
  * @license lucide-react v0.539.0 - ISC
@@ -2865,8 +2865,8 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$X);
2865
2865
  */
2866
2866
 
2867
2867
 
2868
- const __iconNode$W = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
2869
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$W);
2868
+ const __iconNode$X = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
2869
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$X);
2870
2870
 
2871
2871
  /**
2872
2872
  * @license lucide-react v0.539.0 - ISC
@@ -2876,8 +2876,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$W);
2876
2876
  */
2877
2877
 
2878
2878
 
2879
- const __iconNode$V = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
2880
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$V);
2879
+ const __iconNode$W = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
2880
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$W);
2881
2881
 
2882
2882
  /**
2883
2883
  * @license lucide-react v0.539.0 - ISC
@@ -2887,8 +2887,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$V);
2887
2887
  */
2888
2888
 
2889
2889
 
2890
- const __iconNode$U = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
2891
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$U);
2890
+ const __iconNode$V = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
2891
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$V);
2892
2892
 
2893
2893
  /**
2894
2894
  * @license lucide-react v0.539.0 - ISC
@@ -2898,11 +2898,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$U);
2898
2898
  */
2899
2899
 
2900
2900
 
2901
- const __iconNode$T = [
2901
+ const __iconNode$U = [
2902
2902
  ["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
2903
2903
  ["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
2904
2904
  ];
2905
- const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$T);
2905
+ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$U);
2906
2906
 
2907
2907
  /**
2908
2908
  * @license lucide-react v0.539.0 - ISC
@@ -2912,11 +2912,11 @@ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$T);
2912
2912
  */
2913
2913
 
2914
2914
 
2915
- const __iconNode$S = [
2915
+ const __iconNode$T = [
2916
2916
  ["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
2917
2917
  ["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
2918
2918
  ];
2919
- const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$S);
2919
+ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$T);
2920
2920
 
2921
2921
  /**
2922
2922
  * @license lucide-react v0.539.0 - ISC
@@ -2926,12 +2926,12 @@ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$S);
2926
2926
  */
2927
2927
 
2928
2928
 
2929
- const __iconNode$R = [
2929
+ const __iconNode$S = [
2930
2930
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
2931
2931
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
2932
2932
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
2933
2933
  ];
2934
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$R);
2934
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$S);
2935
2935
 
2936
2936
  /**
2937
2937
  * @license lucide-react v0.539.0 - ISC
@@ -2941,11 +2941,11 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$R);
2941
2941
  */
2942
2942
 
2943
2943
 
2944
- const __iconNode$Q = [
2944
+ const __iconNode$R = [
2945
2945
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
2946
2946
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
2947
2947
  ];
2948
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$Q);
2948
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$R);
2949
2949
 
2950
2950
  /**
2951
2951
  * @license lucide-react v0.539.0 - ISC
@@ -2955,11 +2955,11 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$Q);
2955
2955
  */
2956
2956
 
2957
2957
 
2958
- const __iconNode$P = [
2958
+ const __iconNode$Q = [
2959
2959
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
2960
2960
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
2961
2961
  ];
2962
- const CircleCheck = createLucideIcon("circle-check", __iconNode$P);
2962
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$Q);
2963
2963
 
2964
2964
  /**
2965
2965
  * @license lucide-react v0.539.0 - ISC
@@ -2969,12 +2969,12 @@ const CircleCheck = createLucideIcon("circle-check", __iconNode$P);
2969
2969
  */
2970
2970
 
2971
2971
 
2972
- const __iconNode$O = [
2972
+ const __iconNode$P = [
2973
2973
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
2974
2974
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
2975
2975
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
2976
2976
  ];
2977
- const CircleX = createLucideIcon("circle-x", __iconNode$O);
2977
+ const CircleX = createLucideIcon("circle-x", __iconNode$P);
2978
2978
 
2979
2979
  /**
2980
2980
  * @license lucide-react v0.539.0 - ISC
@@ -2984,8 +2984,8 @@ const CircleX = createLucideIcon("circle-x", __iconNode$O);
2984
2984
  */
2985
2985
 
2986
2986
 
2987
- const __iconNode$N = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
2988
- const Circle = createLucideIcon("circle", __iconNode$N);
2987
+ const __iconNode$O = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
2988
+ const Circle = createLucideIcon("circle", __iconNode$O);
2989
2989
 
2990
2990
  /**
2991
2991
  * @license lucide-react v0.539.0 - ISC
@@ -2995,11 +2995,11 @@ const Circle = createLucideIcon("circle", __iconNode$N);
2995
2995
  */
2996
2996
 
2997
2997
 
2998
- const __iconNode$M = [
2998
+ const __iconNode$N = [
2999
2999
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
3000
3000
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
3001
3001
  ];
3002
- const Clock = createLucideIcon("clock", __iconNode$M);
3002
+ const Clock = createLucideIcon("clock", __iconNode$N);
3003
3003
 
3004
3004
  /**
3005
3005
  * @license lucide-react v0.539.0 - ISC
@@ -3009,11 +3009,11 @@ const Clock = createLucideIcon("clock", __iconNode$M);
3009
3009
  */
3010
3010
 
3011
3011
 
3012
- const __iconNode$L = [
3012
+ const __iconNode$M = [
3013
3013
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
3014
3014
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
3015
3015
  ];
3016
- const Copy = createLucideIcon("copy", __iconNode$L);
3016
+ const Copy = createLucideIcon("copy", __iconNode$M);
3017
3017
 
3018
3018
  /**
3019
3019
  * @license lucide-react v0.539.0 - ISC
@@ -3023,11 +3023,11 @@ const Copy = createLucideIcon("copy", __iconNode$L);
3023
3023
  */
3024
3024
 
3025
3025
 
3026
- const __iconNode$K = [
3026
+ const __iconNode$L = [
3027
3027
  ["path", { d: "M6 2v14a2 2 0 0 0 2 2h14", key: "ron5a4" }],
3028
3028
  ["path", { d: "M18 22V8a2 2 0 0 0-2-2H2", key: "7s9ehn" }]
3029
3029
  ];
3030
- const Crop = createLucideIcon("crop", __iconNode$K);
3030
+ const Crop = createLucideIcon("crop", __iconNode$L);
3031
3031
 
3032
3032
  /**
3033
3033
  * @license lucide-react v0.539.0 - ISC
@@ -3037,12 +3037,12 @@ const Crop = createLucideIcon("crop", __iconNode$K);
3037
3037
  */
3038
3038
 
3039
3039
 
3040
- const __iconNode$J = [
3040
+ const __iconNode$K = [
3041
3041
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
3042
3042
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
3043
3043
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
3044
3044
  ];
3045
- const Download = createLucideIcon("download", __iconNode$J);
3045
+ const Download = createLucideIcon("download", __iconNode$K);
3046
3046
 
3047
3047
  /**
3048
3048
  * @license lucide-react v0.539.0 - ISC
@@ -3052,12 +3052,12 @@ const Download = createLucideIcon("download", __iconNode$J);
3052
3052
  */
3053
3053
 
3054
3054
 
3055
- const __iconNode$I = [
3055
+ const __iconNode$J = [
3056
3056
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
3057
3057
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
3058
3058
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
3059
3059
  ];
3060
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$I);
3060
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$J);
3061
3061
 
3062
3062
  /**
3063
3063
  * @license lucide-react v0.539.0 - ISC
@@ -3067,12 +3067,12 @@ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$I);
3067
3067
  */
3068
3068
 
3069
3069
 
3070
- const __iconNode$H = [
3070
+ const __iconNode$I = [
3071
3071
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
3072
3072
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
3073
3073
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
3074
3074
  ];
3075
- const Ellipsis = createLucideIcon("ellipsis", __iconNode$H);
3075
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$I);
3076
3076
 
3077
3077
  /**
3078
3078
  * @license lucide-react v0.539.0 - ISC
@@ -3082,12 +3082,12 @@ const Ellipsis = createLucideIcon("ellipsis", __iconNode$H);
3082
3082
  */
3083
3083
 
3084
3084
 
3085
- const __iconNode$G = [
3085
+ const __iconNode$H = [
3086
3086
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
3087
3087
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
3088
3088
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
3089
3089
  ];
3090
- const ExternalLink = createLucideIcon("external-link", __iconNode$G);
3090
+ const ExternalLink = createLucideIcon("external-link", __iconNode$H);
3091
3091
 
3092
3092
  /**
3093
3093
  * @license lucide-react v0.539.0 - ISC
@@ -3097,7 +3097,7 @@ const ExternalLink = createLucideIcon("external-link", __iconNode$G);
3097
3097
  */
3098
3098
 
3099
3099
 
3100
- const __iconNode$F = [
3100
+ const __iconNode$G = [
3101
3101
  [
3102
3102
  "path",
3103
3103
  {
@@ -3107,7 +3107,7 @@ const __iconNode$F = [
3107
3107
  ],
3108
3108
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
3109
3109
  ];
3110
- const Eye = createLucideIcon("eye", __iconNode$F);
3110
+ const Eye = createLucideIcon("eye", __iconNode$G);
3111
3111
 
3112
3112
  /**
3113
3113
  * @license lucide-react v0.539.0 - ISC
@@ -3117,13 +3117,13 @@ const Eye = createLucideIcon("eye", __iconNode$F);
3117
3117
  */
3118
3118
 
3119
3119
 
3120
- const __iconNode$E = [
3120
+ const __iconNode$F = [
3121
3121
  [
3122
3122
  "path",
3123
3123
  { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z", key: "1jg4f8" }
3124
3124
  ]
3125
3125
  ];
3126
- const Facebook = createLucideIcon("facebook", __iconNode$E);
3126
+ const Facebook = createLucideIcon("facebook", __iconNode$F);
3127
3127
 
3128
3128
  /**
3129
3129
  * @license lucide-react v0.539.0 - ISC
@@ -3133,7 +3133,7 @@ const Facebook = createLucideIcon("facebook", __iconNode$E);
3133
3133
  */
3134
3134
 
3135
3135
 
3136
- const __iconNode$D = [
3136
+ const __iconNode$E = [
3137
3137
  ["path", { d: "M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.072", key: "n6s66f" }],
3138
3138
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
3139
3139
  [
@@ -3145,7 +3145,7 @@ const __iconNode$D = [
3145
3145
  ],
3146
3146
  ["circle", { cx: "5", cy: "14", r: "3", key: "ufru5t" }]
3147
3147
  ];
3148
- const FileBadge = createLucideIcon("file-badge", __iconNode$D);
3148
+ const FileBadge = createLucideIcon("file-badge", __iconNode$E);
3149
3149
 
3150
3150
  /**
3151
3151
  * @license lucide-react v0.539.0 - ISC
@@ -3155,14 +3155,14 @@ const FileBadge = createLucideIcon("file-badge", __iconNode$D);
3155
3155
  */
3156
3156
 
3157
3157
 
3158
- const __iconNode$C = [
3158
+ const __iconNode$D = [
3159
3159
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
3160
3160
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
3161
3161
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
3162
3162
  ["path", { d: "M16 13H8", key: "t4e002" }],
3163
3163
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
3164
3164
  ];
3165
- const FileText = createLucideIcon("file-text", __iconNode$C);
3165
+ const FileText = createLucideIcon("file-text", __iconNode$D);
3166
3166
 
3167
3167
  /**
3168
3168
  * @license lucide-react v0.539.0 - ISC
@@ -3172,7 +3172,7 @@ const FileText = createLucideIcon("file-text", __iconNode$C);
3172
3172
  */
3173
3173
 
3174
3174
 
3175
- const __iconNode$B = [
3175
+ const __iconNode$C = [
3176
3176
  [
3177
3177
  "path",
3178
3178
  {
@@ -3181,7 +3181,7 @@ const __iconNode$B = [
3181
3181
  }
3182
3182
  ]
3183
3183
  ];
3184
- const Funnel = createLucideIcon("funnel", __iconNode$B);
3184
+ const Funnel = createLucideIcon("funnel", __iconNode$C);
3185
3185
 
3186
3186
  /**
3187
3187
  * @license lucide-react v0.539.0 - ISC
@@ -3191,7 +3191,7 @@ const Funnel = createLucideIcon("funnel", __iconNode$B);
3191
3191
  */
3192
3192
 
3193
3193
 
3194
- const __iconNode$A = [
3194
+ const __iconNode$B = [
3195
3195
  ["circle", { cx: "12", cy: "9", r: "1", key: "124mty" }],
3196
3196
  ["circle", { cx: "19", cy: "9", r: "1", key: "1ruzo2" }],
3197
3197
  ["circle", { cx: "5", cy: "9", r: "1", key: "1a8b28" }],
@@ -3199,7 +3199,7 @@ const __iconNode$A = [
3199
3199
  ["circle", { cx: "19", cy: "15", r: "1", key: "1a92ep" }],
3200
3200
  ["circle", { cx: "5", cy: "15", r: "1", key: "5r1jwy" }]
3201
3201
  ];
3202
- const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$A);
3202
+ const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$B);
3203
3203
 
3204
3204
  /**
3205
3205
  * @license lucide-react v0.539.0 - ISC
@@ -3209,7 +3209,7 @@ const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$A);
3209
3209
  */
3210
3210
 
3211
3211
 
3212
- const __iconNode$z = [
3212
+ const __iconNode$A = [
3213
3213
  ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
3214
3214
  ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
3215
3215
  ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
@@ -3217,7 +3217,7 @@ const __iconNode$z = [
3217
3217
  ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
3218
3218
  ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
3219
3219
  ];
3220
- const GripVertical = createLucideIcon("grip-vertical", __iconNode$z);
3220
+ const GripVertical = createLucideIcon("grip-vertical", __iconNode$A);
3221
3221
 
3222
3222
  /**
3223
3223
  * @license lucide-react v0.539.0 - ISC
@@ -3227,13 +3227,13 @@ const GripVertical = createLucideIcon("grip-vertical", __iconNode$z);
3227
3227
  */
3228
3228
 
3229
3229
 
3230
- const __iconNode$y = [
3230
+ const __iconNode$z = [
3231
3231
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3232
3232
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3233
3233
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3234
3234
  ["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
3235
3235
  ];
3236
- const Heading1 = createLucideIcon("heading-1", __iconNode$y);
3236
+ const Heading1 = createLucideIcon("heading-1", __iconNode$z);
3237
3237
 
3238
3238
  /**
3239
3239
  * @license lucide-react v0.539.0 - ISC
@@ -3243,13 +3243,13 @@ const Heading1 = createLucideIcon("heading-1", __iconNode$y);
3243
3243
  */
3244
3244
 
3245
3245
 
3246
- const __iconNode$x = [
3246
+ const __iconNode$y = [
3247
3247
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3248
3248
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3249
3249
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3250
3250
  ["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }]
3251
3251
  ];
3252
- const Heading2 = createLucideIcon("heading-2", __iconNode$x);
3252
+ const Heading2 = createLucideIcon("heading-2", __iconNode$y);
3253
3253
 
3254
3254
  /**
3255
3255
  * @license lucide-react v0.539.0 - ISC
@@ -3259,14 +3259,14 @@ const Heading2 = createLucideIcon("heading-2", __iconNode$x);
3259
3259
  */
3260
3260
 
3261
3261
 
3262
- const __iconNode$w = [
3262
+ const __iconNode$x = [
3263
3263
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3264
3264
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3265
3265
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3266
3266
  ["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }],
3267
3267
  ["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }]
3268
3268
  ];
3269
- const Heading3 = createLucideIcon("heading-3", __iconNode$w);
3269
+ const Heading3 = createLucideIcon("heading-3", __iconNode$x);
3270
3270
 
3271
3271
  /**
3272
3272
  * @license lucide-react v0.539.0 - ISC
@@ -3276,12 +3276,12 @@ const Heading3 = createLucideIcon("heading-3", __iconNode$w);
3276
3276
  */
3277
3277
 
3278
3278
 
3279
- const __iconNode$v = [
3279
+ const __iconNode$w = [
3280
3280
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
3281
3281
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
3282
3282
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
3283
3283
  ];
3284
- const History = createLucideIcon("history", __iconNode$v);
3284
+ const History = createLucideIcon("history", __iconNode$w);
3285
3285
 
3286
3286
  /**
3287
3287
  * @license lucide-react v0.539.0 - ISC
@@ -3291,12 +3291,12 @@ const History = createLucideIcon("history", __iconNode$v);
3291
3291
  */
3292
3292
 
3293
3293
 
3294
- const __iconNode$u = [
3294
+ const __iconNode$v = [
3295
3295
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
3296
3296
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
3297
3297
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
3298
3298
  ];
3299
- const Image$1 = createLucideIcon("image", __iconNode$u);
3299
+ const Image$1 = createLucideIcon("image", __iconNode$v);
3300
3300
 
3301
3301
  /**
3302
3302
  * @license lucide-react v0.539.0 - ISC
@@ -3306,12 +3306,12 @@ const Image$1 = createLucideIcon("image", __iconNode$u);
3306
3306
  */
3307
3307
 
3308
3308
 
3309
- const __iconNode$t = [
3309
+ const __iconNode$u = [
3310
3310
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3311
3311
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
3312
3312
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
3313
3313
  ];
3314
- const Info = createLucideIcon("info", __iconNode$t);
3314
+ const Info = createLucideIcon("info", __iconNode$u);
3315
3315
 
3316
3316
  /**
3317
3317
  * @license lucide-react v0.539.0 - ISC
@@ -3321,12 +3321,12 @@ const Info = createLucideIcon("info", __iconNode$t);
3321
3321
  */
3322
3322
 
3323
3323
 
3324
- const __iconNode$s = [
3324
+ const __iconNode$t = [
3325
3325
  ["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }],
3326
3326
  ["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }],
3327
3327
  ["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }]
3328
3328
  ];
3329
- const Italic$1 = createLucideIcon("italic", __iconNode$s);
3329
+ const Italic$1 = createLucideIcon("italic", __iconNode$t);
3330
3330
 
3331
3331
  /**
3332
3332
  * @license lucide-react v0.539.0 - ISC
@@ -3336,12 +3336,12 @@ const Italic$1 = createLucideIcon("italic", __iconNode$s);
3336
3336
  */
3337
3337
 
3338
3338
 
3339
- const __iconNode$r = [
3339
+ const __iconNode$s = [
3340
3340
  ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }],
3341
3341
  ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }],
3342
3342
  ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }]
3343
3343
  ];
3344
- const Link2 = createLucideIcon("link-2", __iconNode$r);
3344
+ const Link2 = createLucideIcon("link-2", __iconNode$s);
3345
3345
 
3346
3346
  /**
3347
3347
  * @license lucide-react v0.539.0 - ISC
@@ -3351,7 +3351,7 @@ const Link2 = createLucideIcon("link-2", __iconNode$r);
3351
3351
  */
3352
3352
 
3353
3353
 
3354
- const __iconNode$q = [
3354
+ const __iconNode$r = [
3355
3355
  ["path", { d: "M10 12h11", key: "6m4ad9" }],
3356
3356
  ["path", { d: "M10 18h11", key: "11hvi2" }],
3357
3357
  ["path", { d: "M10 6h11", key: "c7qv1k" }],
@@ -3359,7 +3359,7 @@ const __iconNode$q = [
3359
3359
  ["path", { d: "M4 6h1v4", key: "cnovpq" }],
3360
3360
  ["path", { d: "M6 18H4c0-1 2-2 2-3s-1-1.5-2-1", key: "m9a95d" }]
3361
3361
  ];
3362
- const ListOrdered = createLucideIcon("list-ordered", __iconNode$q);
3362
+ const ListOrdered = createLucideIcon("list-ordered", __iconNode$r);
3363
3363
 
3364
3364
  /**
3365
3365
  * @license lucide-react v0.539.0 - ISC
@@ -3369,7 +3369,7 @@ const ListOrdered = createLucideIcon("list-ordered", __iconNode$q);
3369
3369
  */
3370
3370
 
3371
3371
 
3372
- const __iconNode$p = [
3372
+ const __iconNode$q = [
3373
3373
  ["path", { d: "M3 12h.01", key: "nlz23k" }],
3374
3374
  ["path", { d: "M3 18h.01", key: "1tta3j" }],
3375
3375
  ["path", { d: "M3 6h.01", key: "1rqtza" }],
@@ -3377,7 +3377,7 @@ const __iconNode$p = [
3377
3377
  ["path", { d: "M8 18h13", key: "1lx6n3" }],
3378
3378
  ["path", { d: "M8 6h13", key: "ik3vkj" }]
3379
3379
  ];
3380
- const List = createLucideIcon("list", __iconNode$p);
3380
+ const List = createLucideIcon("list", __iconNode$q);
3381
3381
 
3382
3382
  /**
3383
3383
  * @license lucide-react v0.539.0 - ISC
@@ -3387,8 +3387,8 @@ const List = createLucideIcon("list", __iconNode$p);
3387
3387
  */
3388
3388
 
3389
3389
 
3390
- const __iconNode$o = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
3391
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$o);
3390
+ const __iconNode$p = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
3391
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$p);
3392
3392
 
3393
3393
  /**
3394
3394
  * @license lucide-react v0.539.0 - ISC
@@ -3398,7 +3398,7 @@ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$o);
3398
3398
  */
3399
3399
 
3400
3400
 
3401
- const __iconNode$n = [
3401
+ const __iconNode$o = [
3402
3402
  ["path", { d: "M12 2v4", key: "3427ic" }],
3403
3403
  ["path", { d: "m16.2 7.8 2.9-2.9", key: "r700ao" }],
3404
3404
  ["path", { d: "M18 12h4", key: "wj9ykh" }],
@@ -3408,7 +3408,7 @@ const __iconNode$n = [
3408
3408
  ["path", { d: "M2 12h4", key: "j09sii" }],
3409
3409
  ["path", { d: "m4.9 4.9 2.9 2.9", key: "giyufr" }]
3410
3410
  ];
3411
- const Loader = createLucideIcon("loader", __iconNode$n);
3411
+ const Loader = createLucideIcon("loader", __iconNode$o);
3412
3412
 
3413
3413
  /**
3414
3414
  * @license lucide-react v0.539.0 - ISC
@@ -3418,12 +3418,12 @@ const Loader = createLucideIcon("loader", __iconNode$n);
3418
3418
  */
3419
3419
 
3420
3420
 
3421
- const __iconNode$m = [
3421
+ const __iconNode$n = [
3422
3422
  ["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
3423
3423
  ["path", { d: "M21 12H9", key: "dn1m92" }],
3424
3424
  ["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }]
3425
3425
  ];
3426
- const LogOut = createLucideIcon("log-out", __iconNode$m);
3426
+ const LogOut = createLucideIcon("log-out", __iconNode$n);
3427
3427
 
3428
3428
  /**
3429
3429
  * @license lucide-react v0.539.0 - ISC
@@ -3433,12 +3433,12 @@ const LogOut = createLucideIcon("log-out", __iconNode$m);
3433
3433
  */
3434
3434
 
3435
3435
 
3436
- const __iconNode$l = [
3436
+ const __iconNode$m = [
3437
3437
  ["path", { d: "M4 12h16", key: "1lakjw" }],
3438
3438
  ["path", { d: "M4 18h16", key: "19g7jn" }],
3439
3439
  ["path", { d: "M4 6h16", key: "1o0s65" }]
3440
3440
  ];
3441
- const Menu = createLucideIcon("menu", __iconNode$l);
3441
+ const Menu = createLucideIcon("menu", __iconNode$m);
3442
3442
 
3443
3443
  /**
3444
3444
  * @license lucide-react v0.539.0 - ISC
@@ -3448,7 +3448,7 @@ const Menu = createLucideIcon("menu", __iconNode$l);
3448
3448
  */
3449
3449
 
3450
3450
 
3451
- const __iconNode$k = [
3451
+ const __iconNode$l = [
3452
3452
  [
3453
3453
  "path",
3454
3454
  {
@@ -3457,7 +3457,7 @@ const __iconNode$k = [
3457
3457
  }
3458
3458
  ]
3459
3459
  ];
3460
- const Moon = createLucideIcon("moon", __iconNode$k);
3460
+ const Moon = createLucideIcon("moon", __iconNode$l);
3461
3461
 
3462
3462
  /**
3463
3463
  * @license lucide-react v0.539.0 - ISC
@@ -3467,7 +3467,7 @@ const Moon = createLucideIcon("moon", __iconNode$k);
3467
3467
  */
3468
3468
 
3469
3469
 
3470
- const __iconNode$j = [
3470
+ const __iconNode$k = [
3471
3471
  [
3472
3472
  "path",
3473
3473
  {
@@ -3480,7 +3480,22 @@ const __iconNode$j = [
3480
3480
  ["circle", { cx: "6.5", cy: "12.5", r: ".5", fill: "currentColor", key: "qy21gx" }],
3481
3481
  ["circle", { cx: "8.5", cy: "7.5", r: ".5", fill: "currentColor", key: "fotxhn" }]
3482
3482
  ];
3483
- const Palette = createLucideIcon("palette", __iconNode$j);
3483
+ const Palette = createLucideIcon("palette", __iconNode$k);
3484
+
3485
+ /**
3486
+ * @license lucide-react v0.539.0 - ISC
3487
+ *
3488
+ * This source code is licensed under the ISC license.
3489
+ * See the LICENSE file in the root directory of this source tree.
3490
+ */
3491
+
3492
+
3493
+ const __iconNode$j = [
3494
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
3495
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
3496
+ ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
3497
+ ];
3498
+ const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$j);
3484
3499
 
3485
3500
  /**
3486
3501
  * @license lucide-react v0.539.0 - ISC
@@ -5489,7 +5504,9 @@ const SquareSkeleton = ({ width, height, rounded = 'md', className, }) => {
5489
5504
  style.width = toCssSize(width);
5490
5505
  if (height !== undefined)
5491
5506
  style.height = toCssSize(height);
5492
- return (jsxRuntime.jsx("div", { "aria-hidden": "true", style: style, className: cn('animate-pulse bg-muted', ROUNDED_MAP[rounded], className) }));
5507
+ return (jsxRuntime.jsx("div", { "aria-hidden": "true", style: style, className: cn(
5508
+ // Shimmer wave: muted base with a light band sweeping across.
5509
+ 'relative isolate overflow-hidden bg-muted', 'before:absolute before:inset-0 before:-translate-x-full before:animate-shimmer', 'before:bg-gradient-to-r before:from-transparent before:via-white/50 before:to-transparent', ROUNDED_MAP[rounded], className) }));
5493
5510
  };
5494
5511
 
5495
5512
  const useSlider = ({ value, defaultValue, min, max, }) => {
@@ -5610,7 +5627,36 @@ const iconSizeMap = {
5610
5627
  'ex-lg': 16,
5611
5628
  };
5612
5629
 
5630
+ function styleInject(css, ref) {
5631
+ if ( ref === void 0 ) ref = {};
5632
+ var insertAt = ref.insertAt;
5633
+
5634
+ if (!css || typeof document === 'undefined') { return; }
5635
+
5636
+ var head = document.head || document.getElementsByTagName('head')[0];
5637
+ var style = document.createElement('style');
5638
+ style.type = 'text/css';
5639
+
5640
+ if (insertAt === 'top') {
5641
+ if (head.firstChild) {
5642
+ head.insertBefore(style, head.firstChild);
5643
+ } else {
5644
+ head.appendChild(style);
5645
+ }
5646
+ } else {
5647
+ head.appendChild(style);
5648
+ }
5649
+
5650
+ if (style.styleSheet) {
5651
+ style.styleSheet.cssText = css;
5652
+ } else {
5653
+ style.appendChild(document.createTextNode(css));
5654
+ }
5655
+ }
5656
+
5657
+ var css_248z$3 = ".Tabs-module_liftedTrigger__OkgpA[data-state=active]{border-bottom-color:var(--background);margin-bottom:-1px}.Tabs-module_folderTrigger__O7PmD[data-state=active]:after,.Tabs-module_folderTrigger__O7PmD[data-state=active]:before{background-repeat:no-repeat;background-size:100% 100%;bottom:0;content:\"\";height:8px;pointer-events:none;position:absolute;width:8px}.Tabs-module_folderTrigger__O7PmD[data-state=active]:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M8 0a8 8 0 0 1-8 8h8Z' fill='%23fff'/%3E%3Cpath d='M8 0a8 8 0 0 1-8 8' fill='none' stroke='%23317A51'/%3E%3C/svg%3E\");left:-8px}.Tabs-module_folderTrigger__O7PmD[data-state=active]:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M0 0a8 8 0 0 0 8 8H0Z' fill='%23fff'/%3E%3Cpath d='M0 0a8 8 0 0 0 8 8' fill='none' stroke='%23317A51'/%3E%3C/svg%3E\");right:-8px}.dark .Tabs-module_folderTrigger__O7PmD[data-state=active]:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M8 0a8 8 0 0 1-8 8h8Z' fill='%231E1E1E'/%3E%3Cpath d='M8 0a8 8 0 0 1-8 8' fill='none' stroke='%23317A51'/%3E%3C/svg%3E\")}.dark .Tabs-module_folderTrigger__O7PmD[data-state=active]:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M0 0a8 8 0 0 0 8 8H0Z' fill='%231E1E1E'/%3E%3Cpath d='M0 0a8 8 0 0 0 8 8' fill='none' stroke='%23317A51'/%3E%3C/svg%3E\")}";
5613
5658
  var styles = {"liftedTrigger":"Tabs-module_liftedTrigger__OkgpA"};
5659
+ styleInject(css_248z$3);
5614
5660
 
5615
5661
  const Tabs = ({ tabStyle = 'boxed', size = 'md', className, children, ...props }) => (jsxRuntime.jsx(TabsContextProvider, { value: { tabStyle, size }, children: jsxRuntime.jsx(TabsPrimitive__namespace.Root, { className: cn('w-full', className), ...props, children: children }) }));
5616
5662
  const TabsList = ({ loop, className, children }) => {
@@ -27689,9 +27735,36 @@ function DatePickerHeader({ monthDate, changeYear, changeMonth, decreaseMonth, i
27689
27735
  return (jsxRuntime.jsxs("div", { className: "date-range-picker-header", children: [hidePrev ? (jsxRuntime.jsx("span", { className: "date-range-picker-nav-spacer", "aria-hidden": true })) : (jsxRuntime.jsx("button", { type: "button", onClick: decreaseMonth, disabled: prevMonthButtonDisabled, "aria-label": "Previous month", className: "date-range-picker-nav", children: jsxRuntime.jsx(ChevronLeft, { className: "h-4 w-4", strokeWidth: 2 }) })), jsxRuntime.jsxs("div", { className: "date-range-picker-selects", children: [jsxRuntime.jsx("div", { className: "date-range-picker-select-wrap", children: jsxRuntime.jsx("select", { "aria-label": "Select month", className: "date-range-picker-select", value: shownMonth, onChange: (event) => changeMonth(Number(event.target.value)), children: MONTHS.map((label, index) => (jsxRuntime.jsx("option", { value: index, children: label }, label))) }) }), jsxRuntime.jsx("div", { className: "date-range-picker-select-wrap", children: jsxRuntime.jsx("select", { "aria-label": "Select year", className: "date-range-picker-select", value: shownYear, onChange: (event) => changeYear(Number(event.target.value)), children: years.map((year) => (jsxRuntime.jsx("option", { value: year, children: year }, year))) }) })] }), hideNext ? (jsxRuntime.jsx("span", { className: "date-range-picker-nav-spacer", "aria-hidden": true })) : (jsxRuntime.jsx("button", { type: "button", onClick: increaseMonth, disabled: nextMonthButtonDisabled, "aria-label": "Next month", className: "date-range-picker-nav", children: jsxRuntime.jsx(ChevronRight, { className: "h-4 w-4", strokeWidth: 2 }) }))] }));
27690
27736
  }
27691
27737
 
27738
+ var css_248z$2 = "@charset \"UTF-8\";.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:\"\";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:transparent;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:rgba(33,107,165,.5)}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:transparent;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:\"×\";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:rgba(0,0,0,.8);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}";
27739
+ styleInject(css_248z$2);
27740
+
27741
+ var css_248z$1 = ".date-range-picker-popover[data-slot=popover-content]{max-width:calc(100vw - 2rem);width:fit-content}.date-range-picker-calendar.react-datepicker{background:transparent;border:0;display:flex;flex-direction:column;font-family:inherit;font-size:.875rem}.date-range-picker-calendar .react-datepicker__month-container{float:none;width:auto}.date-range-picker-calendar .react-datepicker__header{background:transparent;border-bottom:0;padding:0}.date-range-picker-calendar .react-datepicker__current-month{display:none}.date-range-picker-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:0 .25rem .25rem}.date-range-picker-selects{align-items:center;display:flex;gap:.375rem}.date-range-picker-select-wrap{align-items:center;display:inline-flex;position:relative}.date-range-picker-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--background);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-position:right .375rem center;background-repeat:no-repeat;background-size:.875rem;border:1px solid var(--input-border,var(--border));border-radius:.5rem;color:var(--foreground);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.875rem;line-height:1.875rem;outline:none;padding:0 1.5rem 0 .625rem;transition:border-color .15s,box-shadow .15s}.date-range-picker-select:hover{background-color:var(--muted)}.date-range-picker-select:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 30%,transparent)}.date-range-picker-select option{background-color:var(--popover,var(--background));color:var(--foreground)}.date-range-picker-nav-spacer{display:inline-block;height:1.75rem;width:1.75rem}.date-range-picker-nav{align-items:center;background-color:var(--muted);border:0;border-radius:.5rem;color:var(--muted-foreground);cursor:pointer;display:inline-flex;height:1.75rem;justify-content:center;padding:0;transition:background-color .15s,color .15s;width:1.75rem}.date-range-picker-nav:hover{background-color:var(--accent);color:var(--foreground)}.date-range-picker-nav:disabled{cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__day-names{display:flex;justify-content:space-between;margin:.5rem 0 .25rem}.date-range-picker-calendar .react-datepicker__day-name{color:var(--muted-foreground);font-size:.75rem;font-weight:400;line-height:1.75rem;margin:0;width:2.25rem}.date-range-picker-calendar .react-datepicker__month{margin:0}.date-range-picker-calendar .react-datepicker__week{display:flex;justify-content:space-between}.date-range-picker-calendar .react-datepicker__day{align-items:center;border-radius:.5rem;color:var(--foreground);display:inline-flex;font-size:.875rem;height:2.25rem;justify-content:center;line-height:2.25rem;margin:.125rem 0;width:2.25rem}.date-range-picker-calendar .react-datepicker__day--outside-month{color:var(--muted-foreground);opacity:.55}.date-range-picker-calendar .react-datepicker__day:hover{background-color:var(--muted);border-radius:.5rem}.date-range-picker-calendar .react-datepicker__day--today{background-color:var(--muted);color:var(--foreground);font-weight:600}.date-range-picker-calendar .react-datepicker__day--keyboard-selected,.date-range-picker-calendar .react-datepicker__day--selected{background-color:var(--primary);color:var(--primary-foreground);font-weight:500}.date-range-picker-calendar .react-datepicker__day--keyboard-selected:hover,.date-range-picker-calendar .react-datepicker__day--selected:hover{background-color:var(--primary);color:var(--primary-foreground);filter:brightness(.95)}.date-range-picker-calendar .react-datepicker__day--in-range,.date-range-picker-calendar .react-datepicker__day--in-selecting-range{background-color:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.date-range-picker-calendar .react-datepicker__day--range-end,.date-range-picker-calendar .react-datepicker__day--range-start{background-color:var(--primary);color:var(--primary-foreground)}.date-range-picker-calendar .react-datepicker__day--disabled{color:var(--muted-foreground);cursor:not-allowed;opacity:.4}.date-range-picker-calendar .react-datepicker__children-container{margin:0;padding:0;width:auto}.date-range-picker-footer{align-items:center;display:flex;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;width:100%}.date-range-picker-action{align-items:center;background-color:color-mix(in srgb,var(--primary) 10%,transparent);border:0;border-radius:.5rem;color:var(--primary);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;height:2rem;justify-content:center;padding:0 .875rem;transition:background-color .15s}.date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-calendar .react-datepicker__day--today{background-color:color-mix(in srgb,var(--muted) 80%,transparent)}:is(.dark) .date-range-picker-action{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}:is(.dark) .date-range-picker-action:hover{background-color:color-mix(in srgb,var(--primary) 28%,transparent)}";
27742
+ styleInject(css_248z$1);
27743
+
27744
+ // Only one DateInput popover should be open at a time. Because each instance is
27745
+ // its own `modal` Radix Popover, opening a second one does not dismiss the first
27746
+ // via outside-click. Instances coordinate through a window event: whoever opens
27747
+ // broadcasts its id, and every other open instance closes itself.
27748
+ const DATEINPUT_OPEN_EVENT = 'caratlogic:dateinput-open';
27692
27749
  function DateInput({ value, onChange, onBlur, name, className, min, max, disabled, placeholder = 'Select date', }) {
27693
27750
  const [open, setOpen] = React.useState(false);
27751
+ const instanceId = React.useId();
27694
27752
  const { minDate, maxDate, minYear, maxYear } = computeDateBounds(min, max);
27753
+ // Close this popover when any other DateInput announces it just opened.
27754
+ React.useEffect(() => {
27755
+ const onOtherOpen = (e) => {
27756
+ if (e.detail !== instanceId)
27757
+ setOpen(false);
27758
+ };
27759
+ window.addEventListener(DATEINPUT_OPEN_EVENT, onOtherOpen);
27760
+ return () => window.removeEventListener(DATEINPUT_OPEN_EVENT, onOtherOpen);
27761
+ }, [instanceId]);
27762
+ const handleOpenChange = (next) => {
27763
+ setOpen(next);
27764
+ if (next) {
27765
+ window.dispatchEvent(new CustomEvent(DATEINPUT_OPEN_EVENT, { detail: instanceId }));
27766
+ }
27767
+ };
27695
27768
  // NOTE: We drive `open` ourselves from the button's onClick instead of using
27696
27769
  // Radix's <PopoverTrigger> toggle. When this Popover is nested inside the
27697
27770
  // modal <SlideOut> (Radix Dialog), the trigger's built-in toggle does not
@@ -27700,9 +27773,9 @@ function DateInput({ value, onChange, onBlur, name, className, min, max, disable
27700
27773
  // source of truth — no double-fire, and it works across browsers. `modal`
27701
27774
  // lets the open popover own pointer events above the dialog so the calendar
27702
27775
  // (portalled to <body>) stays clickable.
27703
- return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: setOpen, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("button", { type: "button", name: name, onBlur: onBlur, disabled: disabled, "aria-haspopup": "dialog", "aria-expanded": open, onClick: () => {
27776
+ return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: true, children: [jsxRuntime.jsx(PopoverAnchor, { asChild: true, children: jsxRuntime.jsxs("button", { type: "button", name: name, onBlur: onBlur, disabled: disabled, "aria-haspopup": "dialog", "aria-expanded": open, onClick: () => {
27704
27777
  if (!disabled)
27705
- setOpen((prev) => !prev);
27778
+ handleOpenChange(!open);
27706
27779
  }, "data-slot": "input", "data-empty": !value || undefined, className: cn('border-input-border flex h-9 w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-1 text-left shadow-[0_1px_2px_0_#0000000d] transition-[color,box-shadow] outline-none', 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]', 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive', disabled && 'cursor-not-allowed bg-muted text-label', className), children: [jsxRuntime.jsx("span", { className: cn('truncate text-sm md:text-sm', value ? 'text-foreground' : 'text-placeholder'), children: value ? moment(value).format('DD/MM/YYYY') : placeholder }), jsxRuntime.jsx("span", { className: "inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground", children: jsxRuntime.jsx(CalendarDays, { className: "h-4 w-4 stroke-[1.75]" }) })] }) }), jsxRuntime.jsx(PopoverContent, { align: "start", className: "date-range-picker-popover w-auto p-4", children: jsxRuntime.jsx(DatePicker, { inline: true, selected: value ?? null, minDate: minDate ? moment(minDate, 'YYYY-MM-DD').toDate() : undefined, maxDate: maxDate ? moment(maxDate, 'YYYY-MM-DD').toDate() : undefined, onChange: (date) => {
27707
27780
  onChange(date ?? undefined);
27708
27781
  if (date)
@@ -28501,11 +28574,70 @@ function PageTabs({ value, onChange, tabs, ariaLabel, className, }) {
28501
28574
  })), variant: "bordered", ariaLabel: ariaLabel, className: className ?? 'w-auto' }));
28502
28575
  }
28503
28576
 
28577
+ const paginationSelectTriggerVariants = cva('inline-flex w-auto shrink-0 items-center justify-between gap-1.5 whitespace-nowrap font-medium font-sans transition-colors cursor-pointer select-none outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-muted', {
28578
+ variants: {
28579
+ size: {
28580
+ xs: 'h-7 px-2 text-xs rounded-md',
28581
+ sm: 'h-8 px-2.5 text-sm rounded-md',
28582
+ md: 'h-9 px-3 text-sm rounded-md',
28583
+ lg: 'h-10 px-4 text-base rounded-lg',
28584
+ },
28585
+ shape: {
28586
+ square: '',
28587
+ rounded: 'rounded-full',
28588
+ },
28589
+ variant: {
28590
+ default: 'bg-transparent hover:bg-muted text-foreground',
28591
+ solid: 'bg-muted hover:bg-muted/80 text-foreground',
28592
+ outlined: 'border border-border bg-transparent hover:bg-muted text-foreground',
28593
+ underline: 'bg-transparent hover:bg-muted text-foreground',
28594
+ },
28595
+ },
28596
+ defaultVariants: { size: 'md', shape: 'square', variant: 'default' },
28597
+ });
28598
+ /**
28599
+ * The popup is portalled to `document.body`, so it is styled purely from theme
28600
+ * tokens — that is what keeps it identical on Windows, macOS and Linux instead
28601
+ * of inheriting the OS's native listbox chrome.
28602
+ */
28603
+ const paginationSelectContentClass = 'z-50 min-w-[var(--radix-select-trigger-width)] max-h-[--radix-select-content-available-height] overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-[0_10px_15px_-3px_rgba(0,0,0,0.10),0_4px_6px_-4px_rgba(0,0,0,0.10)] data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0';
28604
+ const paginationSelectItemClass = 'relative flex w-full cursor-pointer select-none items-center whitespace-nowrap rounded-sm py-1.5 pl-2 pr-7 font-sans text-popover-foreground outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[state=checked]:font-medium data-[disabled]:pointer-events-none data-[disabled]:opacity-50';
28605
+ const paginationSelectItemSizes = {
28606
+ xs: 'text-xs',
28607
+ sm: 'text-sm',
28608
+ md: 'text-sm',
28609
+ lg: 'text-base',
28610
+ };
28611
+ const paginationSelectIconSizes = {
28612
+ xs: 12,
28613
+ sm: 14,
28614
+ md: 16,
28615
+ lg: 18,
28616
+ };
28617
+
28618
+ /**
28619
+ * Compact dropdown for pagination controls (rows-per-page, jump-to-page).
28620
+ *
28621
+ * Replaces a native `<select>`: browsers hand the native option list to the OS,
28622
+ * so on Windows it renders in system colours and ignores the app's dark theme.
28623
+ * This one is a themed, portalled listbox, so it looks the same on every OS.
28624
+ */
28625
+ const PaginationSelect = ({ value, options, onChange, ariaLabel, size = 'md', shape = 'square', variant = 'default', disabled = false, align = 'start', className, contentClassName, }) => (jsxRuntime.jsxs(SelectPrimitive__namespace.Root, { value: String(value), onValueChange: (next) => onChange(Number(next)), disabled: disabled, children: [jsxRuntime.jsxs(SelectPrimitive__namespace.Trigger, { "aria-label": ariaLabel, className: cn(paginationSelectTriggerVariants({ size, shape, variant }), className), children: [jsxRuntime.jsx(SelectPrimitive__namespace.Value, {}), jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: jsxRuntime.jsx(ChevronDown, { size: paginationSelectIconSizes[size] - 2, className: "shrink-0 opacity-70", "aria-hidden": "true" }) })] }), jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: jsxRuntime.jsx(SelectPrimitive__namespace.Content, { position: "popper", align: align, sideOffset: 4, className: cn(paginationSelectContentClass, contentClassName), children: jsxRuntime.jsx(SelectPrimitive__namespace.Viewport, { className: "p-1", children: options.map((option) => (jsxRuntime.jsxs(SelectPrimitive__namespace.Item, { value: String(option.value), className: cn(paginationSelectItemClass, paginationSelectItemSizes[size]), children: [jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children: option.label }), jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { className: "absolute right-2 flex items-center justify-center", children: jsxRuntime.jsx(Check, { size: 14, "aria-hidden": "true" }) })] }, option.value))) }) }) })] }));
28626
+
28504
28627
  const PaginationContent = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("ul", { ref: ref, className: cn('flex flex-row items-center gap-1', className), ...props })));
28505
28628
  PaginationContent.displayName = 'PaginationContent';
28506
28629
  const PaginationItem = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("li", { ref: ref, className: cn('list-none', className), ...props })));
28507
28630
  PaginationItem.displayName = 'PaginationItem';
28508
28631
 
28632
+ function buildPageOptions(totalPages) {
28633
+ return Array.from({ length: Math.max(0, totalPages) }, (_, i) => ({
28634
+ value: i + 1,
28635
+ label: `Page ${i + 1}`,
28636
+ }));
28637
+ }
28638
+ function buildItemsPerPageOptions(options) {
28639
+ return options.map((value) => ({ value, label: `${value}/page` }));
28640
+ }
28509
28641
  const pageButtonVariants = cva('inline-flex items-center justify-center font-medium font-sans transition-colors disabled:pointer-events-none disabled:opacity-50 select-none cursor-pointer', {
28510
28642
  variants: {
28511
28643
  size: {
@@ -28548,27 +28680,6 @@ const navButtonVariants = cva('inline-flex items-center justify-center gap-1.5 f
28548
28680
  },
28549
28681
  defaultVariants: { size: 'md', shape: 'square', variant: 'default' },
28550
28682
  });
28551
- const itemsPerPageVariants = cva('inline-flex items-center font-medium font-sans transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', {
28552
- variants: {
28553
- size: {
28554
- xs: 'h-7 px-2 text-xs rounded-md',
28555
- sm: 'h-8 px-2.5 text-sm rounded-md',
28556
- md: 'h-9 px-3 text-sm rounded-md',
28557
- lg: 'h-10 px-4 text-base rounded-lg',
28558
- },
28559
- shape: {
28560
- square: '',
28561
- rounded: '!rounded-full',
28562
- },
28563
- variant: {
28564
- default: 'bg-transparent hover:bg-muted text-foreground',
28565
- solid: 'bg-muted hover:bg-muted/80 text-foreground',
28566
- outlined: 'border border-border bg-transparent hover:bg-muted text-foreground',
28567
- underline: 'bg-transparent hover:bg-muted text-foreground',
28568
- },
28569
- },
28570
- defaultVariants: { size: 'md', shape: 'square', variant: 'default' },
28571
- });
28572
28683
  const navIconSizes = {
28573
28684
  xs: 12,
28574
28685
  sm: 14,
@@ -28670,7 +28781,7 @@ const Pagination = ({ currentPage, totalPages, onPageChange, size = 'md', varian
28670
28781
  // ── Center slot (used in combined + minimal layouts) ──────────────────────
28671
28782
  const centerSlot = () => {
28672
28783
  if (showPageDropdown) {
28673
- return (jsxRuntime.jsxs("span", { className: cn('inline-flex items-center gap-1 px-3 font-medium font-sans text-foreground cursor-pointer', pageInfoSizes[size], sizeHeights[size]), children: [jsxRuntime.jsx("select", { value: currentPage, onChange: (e) => goTo(Number(e.target.value)), "aria-label": paginationA11y.selectPageLabel, className: "appearance-none bg-transparent cursor-pointer focus:outline-none", children: Array.from({ length: totalPages }, (_, i) => (jsxRuntime.jsxs("option", { value: i + 1, children: ["Page ", i + 1] }, i + 1))) }), jsxRuntime.jsx(ChevronDown, { size: iconSize - 2, "aria-hidden": "true" })] }));
28784
+ return (jsxRuntime.jsx(PaginationSelect, { value: currentPage, options: buildPageOptions(totalPages), onChange: goTo, ariaLabel: paginationA11y.selectPageLabel, size: size, shape: shape, variant: combined ? 'default' : variant, className: cn(combined && 'rounded-none border-0') }));
28674
28785
  }
28675
28786
  if (showPageInfo && combined) {
28676
28787
  return (jsxRuntime.jsx("span", { "aria-live": "polite", className: cn('inline-flex items-center px-3 font-sans text-foreground whitespace-nowrap', pageInfoSizes[size], sizeHeights[size]), children: pageInfo }));
@@ -28693,7 +28804,7 @@ const Pagination = ({ currentPage, totalPages, onPageChange, size = 'md', varian
28693
28804
  // ── Assemble ──────────────────────────────────────────────────────────────
28694
28805
  const coreContent = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [firstButton, prevButton, centerSlot(), pageList(), nextButton, lastButton] }));
28695
28806
  const coreGroup = combined ? (jsxRuntime.jsx("div", { className: combinedContainerClass, children: coreContent })) : (jsxRuntime.jsx(PaginationContent, { className: "gap-1", children: coreContent }));
28696
- return (jsxRuntime.jsxs("nav", { "aria-label": paginationA11y.navLabel, "aria-roledescription": paginationA11y.pageInfoLabel(currentPage, totalPages), className: cn('inline-flex items-center gap-3 flex-wrap', className), children: [showPageInfo && !combined && (jsxRuntime.jsx("span", { "aria-live": "polite", className: cn('font-sans text-muted-foreground whitespace-nowrap', pageInfoSizes[size]), children: pageInfo })), coreGroup, showItemsPerPage && (jsxRuntime.jsx("select", { value: itemsPerPage, onChange: (e) => onItemsPerPageChange?.(Number(e.target.value)), "aria-label": paginationA11y.itemsPerPageLabel, className: cn(itemsPerPageVariants({ size, shape, variant })), children: itemsPerPageOptions.map((opt) => (jsxRuntime.jsxs("option", { value: opt, children: [opt, "/page"] }, opt))) }))] }));
28807
+ return (jsxRuntime.jsxs("nav", { "aria-label": paginationA11y.navLabel, "aria-roledescription": paginationA11y.pageInfoLabel(currentPage, totalPages), className: cn('inline-flex items-center gap-3 flex-wrap', className), children: [showPageInfo && !combined && (jsxRuntime.jsx("span", { "aria-live": "polite", className: cn('font-sans text-muted-foreground whitespace-nowrap', pageInfoSizes[size]), children: pageInfo })), coreGroup, showItemsPerPage && (jsxRuntime.jsx(PaginationSelect, { value: itemsPerPage ?? itemsPerPageOptions[0], options: buildItemsPerPageOptions(itemsPerPageOptions), onChange: (next) => onItemsPerPageChange?.(next), ariaLabel: paginationA11y.itemsPerPageLabel, size: size, shape: shape, variant: variant }))] }));
28697
28808
  };
28698
28809
 
28699
28810
  /**
@@ -57017,8 +57128,35 @@ TableHead.displayName = 'TableHead';
57017
57128
  const TableCell = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("td", { ref: ref, className: cn('px-4 py-2 text-sm text-foreground', className), ...props })));
57018
57129
  TableCell.displayName = 'TableCell';
57019
57130
 
57131
+ // Varied per-column widths for a natural, non-rigid look.
57132
+ const CELL_WIDTHS = ['70%', '50%', '65%', '45%', '60%', '55%'];
57133
+ const cellWidth = (col, cols) => {
57134
+ if (col === 0)
57135
+ return '80%';
57136
+ if (col === cols - 1)
57137
+ return '40%';
57138
+ return CELL_WIDTHS[col % CELL_WIDTHS.length];
57139
+ };
57020
57140
  /** Loading placeholder for a data table: shimmering header + body cells. */
57021
- const ShimmerTable = ({ columnCount = 5, rowCount = 5, enableSelection = false, }) => (jsxRuntime.jsx("div", { className: "w-full h-full overflow-auto rounded bg-card", children: jsxRuntime.jsxs(Table, { children: [jsxRuntime.jsx(TableHeader, { className: "sticky top-0 z-10 bg-background", children: jsxRuntime.jsxs(TableRow, { children: [enableSelection && (jsxRuntime.jsx(TableHead, { children: jsxRuntime.jsx(SquareSkeleton, { width: 16, height: 16, rounded: "sm" }) })), Array.from({ length: columnCount }).map((_, i) => (jsxRuntime.jsx(TableHead, { children: jsxRuntime.jsx(SquareSkeleton, { width: 80, height: 16, rounded: "sm" }) }, i)))] }) }), jsxRuntime.jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIndex) => (jsxRuntime.jsxs(TableRow, { children: [enableSelection && (jsxRuntime.jsx(TableCell, { children: jsxRuntime.jsx(SquareSkeleton, { width: 16, height: 16, rounded: "sm" }) })), Array.from({ length: columnCount }).map((_, colIndex) => (jsxRuntime.jsx(TableCell, { children: jsxRuntime.jsx(SquareSkeleton, { width: 96, height: 16, rounded: "sm" }) }, colIndex)))] }, rowIndex))) })] }) }));
57141
+ const ShimmerTable = ({ columnCount = 5, rowCount = 8, enableSelection = false, }) => (jsxRuntime.jsx("div", { className: "h-full w-full overflow-auto rounded-lg border border-border bg-card", children: jsxRuntime.jsxs(Table, { children: [jsxRuntime.jsx(TableHeader, { className: "sticky top-0 z-10 bg-muted/40", children: jsxRuntime.jsxs(TableRow, { className: "hover:bg-transparent", children: [enableSelection && (jsxRuntime.jsx(TableHead, { className: "w-10", children: jsxRuntime.jsx(SquareSkeleton, { width: 16, height: 16, rounded: "sm" }) })), Array.from({ length: columnCount }).map((_, i) => (jsxRuntime.jsx(TableHead, { children: jsxRuntime.jsx(SquareSkeleton, { width: "45%", height: 10, rounded: "full" }) }, i)))] }) }), jsxRuntime.jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIndex) => (jsxRuntime.jsxs(TableRow, { className: "hover:bg-transparent", children: [enableSelection && (jsxRuntime.jsx(TableCell, { children: jsxRuntime.jsx(SquareSkeleton, { width: 16, height: 16, rounded: "sm" }) })), Array.from({ length: columnCount }).map((_, colIndex) => (jsxRuntime.jsx(TableCell, { children: jsxRuntime.jsx(SquareSkeleton, { width: cellWidth(colIndex, columnCount), height: 12, rounded: "full" }) }, colIndex)))] }, rowIndex))) })] }) }));
57142
+
57143
+ /**
57144
+ * Gives a `forwardRef` component its own readable ref to the DOM node while
57145
+ * still honouring the ref handed down by the parent.
57146
+ */
57147
+ function useForwardedRef(forwardedRef) {
57148
+ const innerRef = React.useRef(null);
57149
+ const setRef = React.useCallback((node) => {
57150
+ innerRef.current = node;
57151
+ if (typeof forwardedRef === 'function') {
57152
+ forwardedRef(node);
57153
+ }
57154
+ else if (forwardedRef) {
57155
+ forwardedRef.current = node;
57156
+ }
57157
+ }, [forwardedRef]);
57158
+ return [innerRef, setRef];
57159
+ }
57022
57160
 
57023
57161
  const MOBILE_MAX = 767;
57024
57162
  const TABLET_MAX = 1025;
@@ -57042,12 +57180,67 @@ function useIsTablet() {
57042
57180
  return useMediaQuery(`(min-width: ${MOBILE_MAX + 1}px) and (max-width: ${TABLET_MAX}px)`);
57043
57181
  }
57044
57182
 
57183
+ // Sub-pixel layout rounding makes scrollWidth exceed clientWidth by a hair on
57184
+ // labels that are not actually clipped.
57185
+ const OVERFLOW_TOLERANCE_PX = 1;
57186
+ function findClippedLabel(root) {
57187
+ const spans = root.querySelectorAll(':scope > span');
57188
+ for (const span of Array.from(spans)) {
57189
+ if (span.scrollWidth > span.clientWidth + OVERFLOW_TOLERANCE_PX) {
57190
+ return span;
57191
+ }
57192
+ }
57193
+ return null;
57194
+ }
57195
+ /**
57196
+ * Returns the full text of the first direct-child `<span>` of `ref` that is
57197
+ * clipped by its container (i.e. showing an ellipsis), else `null` — so callers
57198
+ * can surface a tooltip only when the label is actually unreadable.
57199
+ *
57200
+ * Re-measures on element resize (sidebar expand/collapse, window resize) and on
57201
+ * label text changes.
57202
+ */
57203
+ function useTruncatedText(ref) {
57204
+ const [text, setText] = React.useState(null);
57205
+ React.useEffect(() => {
57206
+ const el = ref.current;
57207
+ if (!el)
57208
+ return;
57209
+ let frame = 0;
57210
+ const measure = () => {
57211
+ const label = findClippedLabel(el);
57212
+ setText(label?.textContent?.trim() || null);
57213
+ };
57214
+ const schedule = () => {
57215
+ cancelAnimationFrame(frame);
57216
+ frame = requestAnimationFrame(measure);
57217
+ };
57218
+ schedule();
57219
+ const resizeObserver = new ResizeObserver(schedule);
57220
+ resizeObserver.observe(el);
57221
+ const mutationObserver = new MutationObserver(schedule);
57222
+ mutationObserver.observe(el, {
57223
+ characterData: true,
57224
+ childList: true,
57225
+ subtree: true,
57226
+ });
57227
+ return () => {
57228
+ cancelAnimationFrame(frame);
57229
+ resizeObserver.disconnect();
57230
+ mutationObserver.disconnect();
57231
+ };
57232
+ }, [ref]);
57233
+ return text;
57234
+ }
57235
+
57045
57236
  const SIDEBAR_COOKIE_NAME = 'sidebar_state';
57046
57237
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
57047
57238
  const SIDEBAR_WIDTH = '16rem';
57048
57239
  const SIDEBAR_WIDTH_MOBILE = '18rem';
57049
57240
  const SIDEBAR_WIDTH_ICON = '68px';
57050
57241
  const SIDEBAR_KEYBOARD_SHORTCUT = 'b';
57242
+ /** Tooltip surfacing a clipped label: wraps instead of being clipped itself. */
57243
+ const TRUNCATION_TOOLTIP_CLASS = 'max-w-[280px] whitespace-normal break-words';
57051
57244
  const SidebarContext = React__namespace.createContext(null);
57052
57245
  function useSidebar() {
57053
57246
  const context = React__namespace.useContext(SidebarContext);
@@ -57170,7 +57363,7 @@ const SidebarMenu = React__namespace.forwardRef(({ className, ...props }, ref) =
57170
57363
  SidebarMenu.displayName = 'SidebarMenu';
57171
57364
  const SidebarMenuItem = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("li", { ref: ref, "data-sidebar": "menu-item", className: cn('group/menu-item relative', className), ...props })));
57172
57365
  SidebarMenuItem.displayName = 'SidebarMenuItem';
57173
- const sidebarMenuButtonVariants = cva('peer/menu-button relative flex h-9 w-full cursor-pointer items-center gap-2 overflow-hidden rounded-sm pl-1 pr-1 py-1.5 text-left text-sm text-sidebar-foreground outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-active-bg data-[active=true]:font-medium data-[active=true]:text-sidebar-foreground data-[state=open]:hover:bg-sidebar-active-bg data-[state=open]:hover:text-sidebar-foreground group-data-[collapsible=icon]:!size-9 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:[&>span]:hidden [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
57366
+ const sidebarMenuButtonVariants = cva('peer/menu-button relative flex h-9 w-full cursor-pointer items-center gap-2 overflow-hidden rounded-sm px-2.5 py-1.5 text-left text-sm text-sidebar-foreground outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-active-bg data-[active=true]:text-sidebar-foreground data-[state=open]:hover:bg-sidebar-active-bg data-[state=open]:hover:text-sidebar-foreground group-data-[collapsible=icon]:!size-9 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:[&>span]:hidden [&>span]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
57174
57367
  variants: {
57175
57368
  variant: {
57176
57369
  default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',
@@ -57190,12 +57383,15 @@ const sidebarMenuButtonVariants = cva('peer/menu-button relative flex h-9 w-full
57190
57383
  const SidebarMenuButton = React__namespace.forwardRef(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {
57191
57384
  const Comp = asChild ? reactSlot.Slot : 'button';
57192
57385
  const { state } = useSidebar();
57193
- const button = (jsxRuntime.jsx(Comp, { ref: ref, "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props }));
57194
- if (!tooltip || state !== 'collapsed') {
57195
- return button;
57196
- }
57197
- const tooltipProps = typeof tooltip === 'string' ? { children: tooltip } : tooltip;
57198
- return (jsxRuntime.jsxs(Tooltip, { children: [jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }), jsxRuntime.jsx(TooltipContent, { side: "right", align: "center", ...tooltipProps })] }));
57386
+ const [innerRef, setRef] = useForwardedRef(ref);
57387
+ const truncatedText = useTruncatedText(innerRef);
57388
+ const button = (jsxRuntime.jsx(Comp, { ref: setRef, "data-sidebar": "menu-button", "data-size": size, "data-active": isActive, className: cn(sidebarMenuButtonVariants({ variant, size }), className), ...props }));
57389
+ // Tooltip when collapsed (icon-only) OR when the expanded label is clipped.
57390
+ // The Tooltip structure stays mounted and only the content is conditional,
57391
+ // so toggling it never remounts the button.
57392
+ const collapsed = !!tooltip && state === 'collapsed';
57393
+ const collapsedProps = typeof tooltip === 'string' ? { children: tooltip } : tooltip;
57394
+ return (jsxRuntime.jsxs(Tooltip, { children: [jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }), collapsed ? (jsxRuntime.jsx(TooltipContent, { side: "right", align: "center", className: TRUNCATION_TOOLTIP_CLASS, ...collapsedProps })) : truncatedText ? (jsxRuntime.jsx(TooltipContent, { side: "right", align: "center", className: TRUNCATION_TOOLTIP_CLASS, children: truncatedText })) : null] }));
57199
57395
  });
57200
57396
  SidebarMenuButton.displayName = 'SidebarMenuButton';
57201
57397
  const SidebarMenuAction = React__namespace.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
@@ -57204,7 +57400,7 @@ const SidebarMenuAction = React__namespace.forwardRef(({ className, asChild = fa
57204
57400
  'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0', className), ...props }));
57205
57401
  });
57206
57402
  SidebarMenuAction.displayName = 'SidebarMenuAction';
57207
- const SidebarMenuBadge = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("div", { ref: ref, "data-sidebar": "menu-badge", className: cn('pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-2.5', 'group-data-[collapsible=icon]:hidden', className), ...props })));
57403
+ const SidebarMenuBadge = React__namespace.forwardRef(({ className, ...props }, ref) => (jsxRuntime.jsx("div", { ref: ref, "data-sidebar": "menu-badge", className: cn('pointer-events-none absolute right-1 top-1/2 flex h-5 min-w-5 -translate-y-1/2 select-none items-center justify-center rounded-md px-1 text-xs font-medium leading-none tabular-nums text-sidebar-foreground', 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground', 'group-data-[collapsible=icon]:hidden', className), ...props })));
57208
57404
  SidebarMenuBadge.displayName = 'SidebarMenuBadge';
57209
57405
  const SidebarMenuSkeleton = React__namespace.forwardRef(({ className, showIcon = false, ...props }, ref) => {
57210
57406
  const width = React__namespace.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
@@ -57217,7 +57413,11 @@ const SidebarMenuSubItem = React__namespace.forwardRef(({ className, ...props },
57217
57413
  SidebarMenuSubItem.displayName = 'SidebarMenuSubItem';
57218
57414
  const SidebarMenuSubButton = React__namespace.forwardRef(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {
57219
57415
  const Comp = asChild ? reactSlot.Slot : 'a';
57220
- return (jsxRuntime.jsx(Comp, { ref: ref, "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn('relative flex h-9 w-full min-w-0 items-center gap-2 overflow-hidden rounded-sm pl-3 pr-1 py-1.5 text-left text-sidebar-foreground/80 outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', 'data-[active=true]:bg-sidebar-primary data-[active=true]:text-sidebar-primary-foreground data-[active=true]:font-medium', size === 'sm' && 'text-xs', size === 'md' && 'text-sm', 'group-data-[collapsible=icon]:hidden', className), ...props }));
57416
+ const [innerRef, setRef] = useForwardedRef(ref);
57417
+ const truncatedText = useTruncatedText(innerRef);
57418
+ const button = (jsxRuntime.jsx(Comp, { ref: setRef, "data-sidebar": "menu-sub-button", "data-size": size, "data-active": isActive, className: cn('relative flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 overflow-hidden rounded-sm pl-3 pr-1 py-1.5 text-left text-sidebar-foreground/80 outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span]:truncate [&>svg]:size-4 [&>svg]:shrink-0', 'data-[active=true]:bg-sidebar-primary data-[active=true]:text-sidebar-primary-foreground', size === 'sm' && 'text-xs', size === 'md' && 'text-sm', 'group-data-[collapsible=icon]:hidden', className), ...props }));
57419
+ // Keep the Tooltip mounted; render the content only when the label is clipped.
57420
+ return (jsxRuntime.jsxs(Tooltip, { children: [jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }), truncatedText && (jsxRuntime.jsx(TooltipContent, { side: "right", align: "center", className: TRUNCATION_TOOLTIP_CLASS, children: truncatedText }))] }));
57221
57421
  });
57222
57422
  SidebarMenuSubButton.displayName = 'SidebarMenuSubButton';
57223
57423
  const Collapsible = CollapsiblePrimitive__namespace.Root;
@@ -64606,6 +64806,9 @@ m(x, "xOrds", ["e", "w"]), m(x, "yOrds", ["n", "s"]), m(x, "xyOrds", ["nw", "ne"
64606
64806
  });
64607
64807
  let S = x;
64608
64808
 
64809
+ var css_248z = "@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:rgba(0,0,0,.2);--rc-drag-bar-size:6px;--rc-border-color:hsla(0,0%,100%,.7);--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid var(--rc-border-color);bottom:-1px;content:\"\";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;animation-iteration-count:infinite;animation-play-state:running;animation-timing-function:linear;background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:\"\";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);height:var(--rc-drag-handle-size);position:absolute;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0;top:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%;top:0;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:var(--rc-drag-bar-size);left:0;top:0;transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;transform:translate(50%);width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:var(--rc-drag-bar-size);left:0;transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;transform:translate(-50%);width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:var(--rc-drag-handle-mobile-size);width:var(--rc-drag-handle-mobile-size)}}";
64810
+ styleInject(css_248z);
64811
+
64609
64812
  const ASPECTS = [
64610
64813
  {
64611
64814
  key: 'freeform',
@@ -65100,7 +65303,7 @@ const navbarRootVariants = cva([
65100
65303
  ].join(' '));
65101
65304
  const navbarTitleVariants = cva('shrink-0 min-w-0');
65102
65305
  /** Breadcrumb + single-line page title in the header (Figma: 16px / medium / 24px line-height). */
65103
- const navbarBreadcrumbTextVariants = cva('truncate text-base font-medium leading-6 transition-colors');
65306
+ const navbarBreadcrumbTextVariants = cva('truncate text-base font-normal leading-6 transition-colors');
65104
65307
  const navbarTitleHeadingVariants = cva('truncate text-base font-medium leading-6 text-foreground');
65105
65308
  const navbarActionsVariants = cva('flex items-center', {
65106
65309
  variants: {
@@ -65287,23 +65490,29 @@ function getInitials(name) {
65287
65490
  }
65288
65491
 
65289
65492
  const DEFAULT_SIDEBAR_WIDTH = '248px';
65493
+ /** Green pill marking the active top-level item. Rendered in-flow as the row's
65494
+ * first flex child (hidden when the sidebar collapses to icons). */
65495
+ const ActiveRail = () => (jsxRuntime.jsx("span", { "aria-hidden": "true", className: "pointer-events-none h-9 w-[4px] shrink-0 rounded-full bg-sidebar-primary group-data-[collapsible=icon]:hidden" }));
65290
65496
  const BrandHeader = ({ brand }) => {
65291
- const { state, isMobile, openMobile } = useSidebar();
65497
+ const { state, isMobile, openMobile, toggleSidebar } = useSidebar();
65292
65498
  const expanded = state === 'expanded' || (isMobile && openMobile);
65293
65499
  if (!expanded) {
65294
- return (jsxRuntime.jsx("div", { className: "flex items-center justify-center px-1 py-1", children: brand.compact }));
65500
+ return (jsxRuntime.jsx("div", { className: "flex items-center justify-center px-1 py-1", children: jsxRuntime.jsx("button", { type: "button", onClick: toggleSidebar, "aria-label": "Expand sidebar", className: "flex cursor-pointer items-center justify-center rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: brand.compact }) }));
65295
65501
  }
65296
- return (jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2 px-1 py-1", children: [jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-2", children: brand.full }), jsxRuntime.jsx(SidebarTrigger, { className: "h-7 w-7" })] }));
65502
+ return (jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2 px-1 py-1", children: [jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-2", children: brand.full }), jsxRuntime.jsx("button", { type: "button", onClick: toggleSidebar, "aria-label": "Collapse sidebar", className: "inline-flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: jsxRuntime.jsx(PanelLeftClose, { size: 18 }) })] }));
65297
65503
  };
65298
65504
  const NavLeaf = ({ item, currentPath, onNavigate }) => {
65299
65505
  const Icon = item.icon;
65300
- return (jsxRuntime.jsx(SidebarMenuItem, { children: jsxRuntime.jsxs(SidebarMenuButton, { isActive: isPathActive(currentPath, item.path), tooltip: item.label, onClick: () => item.path && onNavigate(item.path), children: [Icon && jsxRuntime.jsx(Icon, {}), jsxRuntime.jsx("span", { children: item.label }), item.badge != null && jsxRuntime.jsx("span", { className: "ml-auto", children: item.badge })] }) }));
65506
+ const active = isPathActive(currentPath, item.path);
65507
+ return (jsxRuntime.jsxs(SidebarMenuItem, { className: cn(active && 'flex items-center gap-1.5 group-data-[collapsible=icon]:block'), children: [active && jsxRuntime.jsx(ActiveRail, {}), jsxRuntime.jsxs(SidebarMenuButton, { isActive: active, tooltip: item.label, onClick: () => item.path && onNavigate(item.path), className: cn(active && 'min-w-0 flex-1 group-data-[collapsible=icon]:flex-none'), children: [Icon && jsxRuntime.jsx(Icon, {}), jsxRuntime.jsx("span", { children: item.label })] }), item.badge != null && (jsxRuntime.jsx(SidebarMenuBadge, { className: "h-5 w-5 min-w-5 rounded-full border border-primary bg-primary/10 p-0 text-primary", children: item.badge }))] }));
65301
65508
  };
65302
65509
  const NavParent = ({ item, currentPath, onNavigate }) => {
65303
65510
  const Icon = item.icon;
65304
65511
  const children = (item.children ?? []).filter((s) => s.visible !== false);
65305
65512
  const parentActive = children.some((s) => isPathActive(currentPath, s.path));
65306
- return (jsxRuntime.jsx(Collapsible, { asChild: true, defaultOpen: parentActive, children: jsxRuntime.jsxs(SidebarMenuItem, { className: "group/collapsible", children: [jsxRuntime.jsx(CollapsibleTrigger, { asChild: true, children: jsxRuntime.jsxs(SidebarMenuButton, { isActive: parentActive, tooltip: item.label, children: [Icon && jsxRuntime.jsx(Icon, {}), jsxRuntime.jsx("span", { children: item.label }), jsxRuntime.jsx(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" })] }) }), jsxRuntime.jsx(CollapsibleContent, { children: jsxRuntime.jsx(SidebarMenuSub, { children: children.map((sub) => {
65513
+ return (jsxRuntime.jsx(Collapsible, { asChild: true, defaultOpen: parentActive, children: jsxRuntime.jsxs(SidebarMenuItem, { className: "group/collapsible", children: [jsxRuntime.jsxs("div", { className: cn(parentActive &&
65514
+ 'flex items-center gap-1.5 group-data-[collapsible=icon]:block'), children: [parentActive && jsxRuntime.jsx(ActiveRail, {}), jsxRuntime.jsx(CollapsibleTrigger, { asChild: true, children: jsxRuntime.jsxs(SidebarMenuButton, { isActive: parentActive, tooltip: item.label, className: cn(parentActive &&
65515
+ 'min-w-0 flex-1 group-data-[collapsible=icon]:flex-none'), children: [Icon && jsxRuntime.jsx(Icon, {}), jsxRuntime.jsx("span", { children: item.label }), jsxRuntime.jsx(ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 group-data-[collapsible=icon]:hidden" })] }) })] }), jsxRuntime.jsx(CollapsibleContent, { children: jsxRuntime.jsx(SidebarMenuSub, { children: children.map((sub) => {
65307
65516
  const SubIcon = sub.icon;
65308
65517
  return (jsxRuntime.jsx(SidebarMenuSubItem, { children: jsxRuntime.jsxs(SidebarMenuSubButton, { isActive: isPathActive(currentPath, sub.path), onClick: () => onNavigate(sub.path), children: [SubIcon && jsxRuntime.jsx(SubIcon, {}), jsxRuntime.jsx("span", { children: sub.label })] }) }, sub.path));
65309
65518
  }) }) })] }) }));
@@ -67442,6 +67651,7 @@ exports.PROFORMA_AUDIT_CONFIG = PROFORMA_AUDIT_CONFIG;
67442
67651
  exports.PageHeader = PageHeader;
67443
67652
  exports.PageTabs = PageTabs;
67444
67653
  exports.Pagination = Pagination;
67654
+ exports.PaginationSelect = PaginationSelect;
67445
67655
  exports.PartnerShareCard = PartnerShareCard;
67446
67656
  exports.PriceInput = PriceInput;
67447
67657
  exports.Protected = Protected;