@caratlogic/design-system 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/molecules/Field/Field.d.ts.map +1 -1
- package/dist/components/molecules/MetricCard/MetricCard.d.ts +1 -1
- package/dist/components/molecules/MetricCard/MetricCard.d.ts.map +1 -1
- package/dist/components/molecules/MetricCard/MetricCard.types.d.ts +4 -0
- package/dist/components/molecules/MetricCard/MetricCard.types.d.ts.map +1 -1
- package/dist/components/molecules/SearchableSelect/SearchableSelect.d.ts.map +1 -1
- package/dist/components/molecules/SlideOut/SlideOut.parts.d.ts +1 -1
- package/dist/components/molecules/SlideOut/SlideOut.parts.d.ts.map +1 -1
- package/dist/components/organisms/FileUploader/FileCard.d.ts +1 -1
- package/dist/components/organisms/FileUploader/FileCard.d.ts.map +1 -1
- package/dist/components/organisms/FileUploader/FileUploader.utils.d.ts +10 -0
- package/dist/components/organisms/FileUploader/FileUploader.utils.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/hooks/useOverlayBodyLockRelease.d.ts +9 -0
- package/dist/hooks/useOverlayBodyLockRelease.d.ts.map +1 -0
- package/dist/index.cjs.js +313 -169
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +313 -170
- package/dist/index.esm.js.map +1 -1
- package/dist/lib/overlayBodyLock.d.ts +12 -0
- package/dist/lib/overlayBodyLock.d.ts.map +1 -0
- package/dist/ui.cjs.js +79 -4
- package/dist/ui.cjs.js.map +1 -1
- package/dist/ui.esm.js +79 -4
- package/dist/ui.esm.js.map +1 -1
- 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$
|
|
2701
|
+
const __iconNode$17 = [
|
|
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$
|
|
2706
|
+
const Archive = createLucideIcon("archive", __iconNode$17);
|
|
2707
2707
|
|
|
2708
2708
|
/**
|
|
2709
2709
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2713,11 +2713,11 @@ const Archive = createLucideIcon("archive", __iconNode$16);
|
|
|
2713
2713
|
*/
|
|
2714
2714
|
|
|
2715
2715
|
|
|
2716
|
-
const __iconNode$
|
|
2716
|
+
const __iconNode$16 = [
|
|
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$
|
|
2720
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$16);
|
|
2721
2721
|
|
|
2722
2722
|
/**
|
|
2723
2723
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2727,11 +2727,11 @@ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$15);
|
|
|
2727
2727
|
*/
|
|
2728
2728
|
|
|
2729
2729
|
|
|
2730
|
-
const __iconNode$
|
|
2730
|
+
const __iconNode$15 = [
|
|
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$
|
|
2734
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$15);
|
|
2735
2735
|
|
|
2736
2736
|
/**
|
|
2737
2737
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2741,11 +2741,11 @@ const ArrowRight = createLucideIcon("arrow-right", __iconNode$14);
|
|
|
2741
2741
|
*/
|
|
2742
2742
|
|
|
2743
2743
|
|
|
2744
|
-
const __iconNode$
|
|
2744
|
+
const __iconNode$14 = [
|
|
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$
|
|
2748
|
+
const Ban = createLucideIcon("ban", __iconNode$14);
|
|
2749
2749
|
|
|
2750
2750
|
/**
|
|
2751
2751
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2755,7 +2755,7 @@ const Ban = createLucideIcon("ban", __iconNode$13);
|
|
|
2755
2755
|
*/
|
|
2756
2756
|
|
|
2757
2757
|
|
|
2758
|
-
const __iconNode$
|
|
2758
|
+
const __iconNode$13 = [
|
|
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$12 = [
|
|
|
2765
2765
|
}
|
|
2766
2766
|
]
|
|
2767
2767
|
];
|
|
2768
|
-
const Bell = createLucideIcon("bell", __iconNode$
|
|
2768
|
+
const Bell = createLucideIcon("bell", __iconNode$13);
|
|
2769
2769
|
|
|
2770
2770
|
/**
|
|
2771
2771
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2775,13 +2775,13 @@ const Bell = createLucideIcon("bell", __iconNode$12);
|
|
|
2775
2775
|
*/
|
|
2776
2776
|
|
|
2777
2777
|
|
|
2778
|
-
const __iconNode$
|
|
2778
|
+
const __iconNode$12 = [
|
|
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$
|
|
2784
|
+
const Bold$1 = createLucideIcon("bold", __iconNode$12);
|
|
2785
2785
|
|
|
2786
2786
|
/**
|
|
2787
2787
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2791,7 +2791,7 @@ const Bold$1 = createLucideIcon("bold", __iconNode$11);
|
|
|
2791
2791
|
*/
|
|
2792
2792
|
|
|
2793
2793
|
|
|
2794
|
-
const __iconNode$
|
|
2794
|
+
const __iconNode$11 = [
|
|
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$10 = [
|
|
|
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$11);
|
|
2807
2807
|
|
|
2808
2808
|
/**
|
|
2809
2809
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2813,13 +2813,13 @@ const CalendarDays = createLucideIcon("calendar-days", __iconNode$10);
|
|
|
2813
2813
|
*/
|
|
2814
2814
|
|
|
2815
2815
|
|
|
2816
|
-
const __iconNode
|
|
2816
|
+
const __iconNode$10 = [
|
|
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$10);
|
|
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
|
|
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
|
|
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$_);
|
|
|
2843
2843
|
*/
|
|
2844
2844
|
|
|
2845
2845
|
|
|
2846
|
-
const __iconNode$
|
|
2847
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
2846
|
+
const __iconNode$_ = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
2847
|
+
const Check = createLucideIcon("check", __iconNode$_);
|
|
2848
2848
|
|
|
2849
2849
|
/**
|
|
2850
2850
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2854,8 +2854,8 @@ const Check = createLucideIcon("check", __iconNode$Z);
|
|
|
2854
2854
|
*/
|
|
2855
2855
|
|
|
2856
2856
|
|
|
2857
|
-
const __iconNode$
|
|
2858
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
2857
|
+
const __iconNode$Z = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
2858
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$Z);
|
|
2859
2859
|
|
|
2860
2860
|
/**
|
|
2861
2861
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2865,8 +2865,8 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$Y);
|
|
|
2865
2865
|
*/
|
|
2866
2866
|
|
|
2867
2867
|
|
|
2868
|
-
const __iconNode$
|
|
2869
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
2868
|
+
const __iconNode$Y = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
2869
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$Y);
|
|
2870
2870
|
|
|
2871
2871
|
/**
|
|
2872
2872
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2876,8 +2876,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$X);
|
|
|
2876
2876
|
*/
|
|
2877
2877
|
|
|
2878
2878
|
|
|
2879
|
-
const __iconNode$
|
|
2880
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
2879
|
+
const __iconNode$X = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
2880
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$X);
|
|
2881
2881
|
|
|
2882
2882
|
/**
|
|
2883
2883
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2887,8 +2887,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$W);
|
|
|
2887
2887
|
*/
|
|
2888
2888
|
|
|
2889
2889
|
|
|
2890
|
-
const __iconNode$
|
|
2891
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
2890
|
+
const __iconNode$W = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
2891
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$W);
|
|
2892
2892
|
|
|
2893
2893
|
/**
|
|
2894
2894
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2898,11 +2898,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$V);
|
|
|
2898
2898
|
*/
|
|
2899
2899
|
|
|
2900
2900
|
|
|
2901
|
-
const __iconNode$
|
|
2901
|
+
const __iconNode$V = [
|
|
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$
|
|
2905
|
+
const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$V);
|
|
2906
2906
|
|
|
2907
2907
|
/**
|
|
2908
2908
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2912,11 +2912,11 @@ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$U);
|
|
|
2912
2912
|
*/
|
|
2913
2913
|
|
|
2914
2914
|
|
|
2915
|
-
const __iconNode$
|
|
2915
|
+
const __iconNode$U = [
|
|
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$
|
|
2919
|
+
const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$U);
|
|
2920
2920
|
|
|
2921
2921
|
/**
|
|
2922
2922
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2926,12 +2926,12 @@ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$T);
|
|
|
2926
2926
|
*/
|
|
2927
2927
|
|
|
2928
2928
|
|
|
2929
|
-
const __iconNode$
|
|
2929
|
+
const __iconNode$T = [
|
|
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$
|
|
2934
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$T);
|
|
2935
2935
|
|
|
2936
2936
|
/**
|
|
2937
2937
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2941,11 +2941,11 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$S);
|
|
|
2941
2941
|
*/
|
|
2942
2942
|
|
|
2943
2943
|
|
|
2944
|
-
const __iconNode$
|
|
2944
|
+
const __iconNode$S = [
|
|
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$
|
|
2948
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$S);
|
|
2949
2949
|
|
|
2950
2950
|
/**
|
|
2951
2951
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2955,11 +2955,11 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$R);
|
|
|
2955
2955
|
*/
|
|
2956
2956
|
|
|
2957
2957
|
|
|
2958
|
-
const __iconNode$
|
|
2958
|
+
const __iconNode$R = [
|
|
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$
|
|
2962
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$R);
|
|
2963
2963
|
|
|
2964
2964
|
/**
|
|
2965
2965
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2969,12 +2969,12 @@ const CircleCheck = createLucideIcon("circle-check", __iconNode$Q);
|
|
|
2969
2969
|
*/
|
|
2970
2970
|
|
|
2971
2971
|
|
|
2972
|
-
const __iconNode$
|
|
2972
|
+
const __iconNode$Q = [
|
|
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$
|
|
2977
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$Q);
|
|
2978
2978
|
|
|
2979
2979
|
/**
|
|
2980
2980
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2984,8 +2984,8 @@ const CircleX = createLucideIcon("circle-x", __iconNode$P);
|
|
|
2984
2984
|
*/
|
|
2985
2985
|
|
|
2986
2986
|
|
|
2987
|
-
const __iconNode$
|
|
2988
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
2987
|
+
const __iconNode$P = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
2988
|
+
const Circle = createLucideIcon("circle", __iconNode$P);
|
|
2989
2989
|
|
|
2990
2990
|
/**
|
|
2991
2991
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -2995,11 +2995,11 @@ const Circle = createLucideIcon("circle", __iconNode$O);
|
|
|
2995
2995
|
*/
|
|
2996
2996
|
|
|
2997
2997
|
|
|
2998
|
-
const __iconNode$
|
|
2998
|
+
const __iconNode$O = [
|
|
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$
|
|
3002
|
+
const Clock = createLucideIcon("clock", __iconNode$O);
|
|
3003
3003
|
|
|
3004
3004
|
/**
|
|
3005
3005
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3009,11 +3009,11 @@ const Clock = createLucideIcon("clock", __iconNode$N);
|
|
|
3009
3009
|
*/
|
|
3010
3010
|
|
|
3011
3011
|
|
|
3012
|
-
const __iconNode$
|
|
3012
|
+
const __iconNode$N = [
|
|
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$
|
|
3016
|
+
const Copy = createLucideIcon("copy", __iconNode$N);
|
|
3017
3017
|
|
|
3018
3018
|
/**
|
|
3019
3019
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3023,11 +3023,11 @@ const Copy = createLucideIcon("copy", __iconNode$M);
|
|
|
3023
3023
|
*/
|
|
3024
3024
|
|
|
3025
3025
|
|
|
3026
|
-
const __iconNode$
|
|
3026
|
+
const __iconNode$M = [
|
|
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$
|
|
3030
|
+
const Crop = createLucideIcon("crop", __iconNode$M);
|
|
3031
3031
|
|
|
3032
3032
|
/**
|
|
3033
3033
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3037,12 +3037,12 @@ const Crop = createLucideIcon("crop", __iconNode$L);
|
|
|
3037
3037
|
*/
|
|
3038
3038
|
|
|
3039
3039
|
|
|
3040
|
-
const __iconNode$
|
|
3040
|
+
const __iconNode$L = [
|
|
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$
|
|
3045
|
+
const Download = createLucideIcon("download", __iconNode$L);
|
|
3046
3046
|
|
|
3047
3047
|
/**
|
|
3048
3048
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3052,12 +3052,12 @@ const Download = createLucideIcon("download", __iconNode$K);
|
|
|
3052
3052
|
*/
|
|
3053
3053
|
|
|
3054
3054
|
|
|
3055
|
-
const __iconNode$
|
|
3055
|
+
const __iconNode$K = [
|
|
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$
|
|
3060
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$K);
|
|
3061
3061
|
|
|
3062
3062
|
/**
|
|
3063
3063
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3067,12 +3067,12 @@ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$J);
|
|
|
3067
3067
|
*/
|
|
3068
3068
|
|
|
3069
3069
|
|
|
3070
|
-
const __iconNode$
|
|
3070
|
+
const __iconNode$J = [
|
|
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$
|
|
3075
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$J);
|
|
3076
3076
|
|
|
3077
3077
|
/**
|
|
3078
3078
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3082,12 +3082,12 @@ const Ellipsis = createLucideIcon("ellipsis", __iconNode$I);
|
|
|
3082
3082
|
*/
|
|
3083
3083
|
|
|
3084
3084
|
|
|
3085
|
-
const __iconNode$
|
|
3085
|
+
const __iconNode$I = [
|
|
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$
|
|
3090
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$I);
|
|
3091
3091
|
|
|
3092
3092
|
/**
|
|
3093
3093
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3097,7 +3097,7 @@ const ExternalLink = createLucideIcon("external-link", __iconNode$H);
|
|
|
3097
3097
|
*/
|
|
3098
3098
|
|
|
3099
3099
|
|
|
3100
|
-
const __iconNode$
|
|
3100
|
+
const __iconNode$H = [
|
|
3101
3101
|
[
|
|
3102
3102
|
"path",
|
|
3103
3103
|
{
|
|
@@ -3107,7 +3107,7 @@ const __iconNode$G = [
|
|
|
3107
3107
|
],
|
|
3108
3108
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
3109
3109
|
];
|
|
3110
|
-
const Eye = createLucideIcon("eye", __iconNode$
|
|
3110
|
+
const Eye = createLucideIcon("eye", __iconNode$H);
|
|
3111
3111
|
|
|
3112
3112
|
/**
|
|
3113
3113
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3117,13 +3117,13 @@ const Eye = createLucideIcon("eye", __iconNode$G);
|
|
|
3117
3117
|
*/
|
|
3118
3118
|
|
|
3119
3119
|
|
|
3120
|
-
const __iconNode$
|
|
3120
|
+
const __iconNode$G = [
|
|
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$
|
|
3126
|
+
const Facebook = createLucideIcon("facebook", __iconNode$G);
|
|
3127
3127
|
|
|
3128
3128
|
/**
|
|
3129
3129
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3133,7 +3133,7 @@ const Facebook = createLucideIcon("facebook", __iconNode$F);
|
|
|
3133
3133
|
*/
|
|
3134
3134
|
|
|
3135
3135
|
|
|
3136
|
-
const __iconNode$
|
|
3136
|
+
const __iconNode$F = [
|
|
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$E = [
|
|
|
3145
3145
|
],
|
|
3146
3146
|
["circle", { cx: "5", cy: "14", r: "3", key: "ufru5t" }]
|
|
3147
3147
|
];
|
|
3148
|
-
const FileBadge = createLucideIcon("file-badge", __iconNode$
|
|
3148
|
+
const FileBadge = createLucideIcon("file-badge", __iconNode$F);
|
|
3149
3149
|
|
|
3150
3150
|
/**
|
|
3151
3151
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3155,14 +3155,14 @@ const FileBadge = createLucideIcon("file-badge", __iconNode$E);
|
|
|
3155
3155
|
*/
|
|
3156
3156
|
|
|
3157
3157
|
|
|
3158
|
-
const __iconNode$
|
|
3158
|
+
const __iconNode$E = [
|
|
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$
|
|
3165
|
+
const FileText = createLucideIcon("file-text", __iconNode$E);
|
|
3166
3166
|
|
|
3167
3167
|
/**
|
|
3168
3168
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3172,7 +3172,7 @@ const FileText = createLucideIcon("file-text", __iconNode$D);
|
|
|
3172
3172
|
*/
|
|
3173
3173
|
|
|
3174
3174
|
|
|
3175
|
-
const __iconNode$
|
|
3175
|
+
const __iconNode$D = [
|
|
3176
3176
|
[
|
|
3177
3177
|
"path",
|
|
3178
3178
|
{
|
|
@@ -3181,7 +3181,7 @@ const __iconNode$C = [
|
|
|
3181
3181
|
}
|
|
3182
3182
|
]
|
|
3183
3183
|
];
|
|
3184
|
-
const Funnel = createLucideIcon("funnel", __iconNode$
|
|
3184
|
+
const Funnel = createLucideIcon("funnel", __iconNode$D);
|
|
3185
3185
|
|
|
3186
3186
|
/**
|
|
3187
3187
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3191,7 +3191,7 @@ const Funnel = createLucideIcon("funnel", __iconNode$C);
|
|
|
3191
3191
|
*/
|
|
3192
3192
|
|
|
3193
3193
|
|
|
3194
|
-
const __iconNode$
|
|
3194
|
+
const __iconNode$C = [
|
|
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$B = [
|
|
|
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$
|
|
3202
|
+
const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$C);
|
|
3203
3203
|
|
|
3204
3204
|
/**
|
|
3205
3205
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3209,7 +3209,7 @@ const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$B);
|
|
|
3209
3209
|
*/
|
|
3210
3210
|
|
|
3211
3211
|
|
|
3212
|
-
const __iconNode$
|
|
3212
|
+
const __iconNode$B = [
|
|
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$A = [
|
|
|
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$
|
|
3220
|
+
const GripVertical = createLucideIcon("grip-vertical", __iconNode$B);
|
|
3221
3221
|
|
|
3222
3222
|
/**
|
|
3223
3223
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3227,13 +3227,13 @@ const GripVertical = createLucideIcon("grip-vertical", __iconNode$A);
|
|
|
3227
3227
|
*/
|
|
3228
3228
|
|
|
3229
3229
|
|
|
3230
|
-
const __iconNode$
|
|
3230
|
+
const __iconNode$A = [
|
|
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$
|
|
3236
|
+
const Heading1 = createLucideIcon("heading-1", __iconNode$A);
|
|
3237
3237
|
|
|
3238
3238
|
/**
|
|
3239
3239
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3243,13 +3243,13 @@ const Heading1 = createLucideIcon("heading-1", __iconNode$z);
|
|
|
3243
3243
|
*/
|
|
3244
3244
|
|
|
3245
3245
|
|
|
3246
|
-
const __iconNode$
|
|
3246
|
+
const __iconNode$z = [
|
|
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$
|
|
3252
|
+
const Heading2 = createLucideIcon("heading-2", __iconNode$z);
|
|
3253
3253
|
|
|
3254
3254
|
/**
|
|
3255
3255
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3259,14 +3259,14 @@ const Heading2 = createLucideIcon("heading-2", __iconNode$y);
|
|
|
3259
3259
|
*/
|
|
3260
3260
|
|
|
3261
3261
|
|
|
3262
|
-
const __iconNode$
|
|
3262
|
+
const __iconNode$y = [
|
|
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$
|
|
3269
|
+
const Heading3 = createLucideIcon("heading-3", __iconNode$y);
|
|
3270
3270
|
|
|
3271
3271
|
/**
|
|
3272
3272
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3276,12 +3276,12 @@ const Heading3 = createLucideIcon("heading-3", __iconNode$x);
|
|
|
3276
3276
|
*/
|
|
3277
3277
|
|
|
3278
3278
|
|
|
3279
|
-
const __iconNode$
|
|
3279
|
+
const __iconNode$x = [
|
|
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$
|
|
3284
|
+
const History = createLucideIcon("history", __iconNode$x);
|
|
3285
3285
|
|
|
3286
3286
|
/**
|
|
3287
3287
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3291,12 +3291,12 @@ const History = createLucideIcon("history", __iconNode$w);
|
|
|
3291
3291
|
*/
|
|
3292
3292
|
|
|
3293
3293
|
|
|
3294
|
-
const __iconNode$
|
|
3294
|
+
const __iconNode$w = [
|
|
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$
|
|
3299
|
+
const Image$1 = createLucideIcon("image", __iconNode$w);
|
|
3300
3300
|
|
|
3301
3301
|
/**
|
|
3302
3302
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3306,12 +3306,12 @@ const Image$1 = createLucideIcon("image", __iconNode$v);
|
|
|
3306
3306
|
*/
|
|
3307
3307
|
|
|
3308
3308
|
|
|
3309
|
-
const __iconNode$
|
|
3309
|
+
const __iconNode$v = [
|
|
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$
|
|
3314
|
+
const Info = createLucideIcon("info", __iconNode$v);
|
|
3315
3315
|
|
|
3316
3316
|
/**
|
|
3317
3317
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3321,12 +3321,12 @@ const Info = createLucideIcon("info", __iconNode$u);
|
|
|
3321
3321
|
*/
|
|
3322
3322
|
|
|
3323
3323
|
|
|
3324
|
-
const __iconNode$
|
|
3324
|
+
const __iconNode$u = [
|
|
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$
|
|
3329
|
+
const Italic$1 = createLucideIcon("italic", __iconNode$u);
|
|
3330
3330
|
|
|
3331
3331
|
/**
|
|
3332
3332
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3336,12 +3336,12 @@ const Italic$1 = createLucideIcon("italic", __iconNode$t);
|
|
|
3336
3336
|
*/
|
|
3337
3337
|
|
|
3338
3338
|
|
|
3339
|
-
const __iconNode$
|
|
3339
|
+
const __iconNode$t = [
|
|
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$
|
|
3344
|
+
const Link2 = createLucideIcon("link-2", __iconNode$t);
|
|
3345
3345
|
|
|
3346
3346
|
/**
|
|
3347
3347
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3351,7 +3351,7 @@ const Link2 = createLucideIcon("link-2", __iconNode$s);
|
|
|
3351
3351
|
*/
|
|
3352
3352
|
|
|
3353
3353
|
|
|
3354
|
-
const __iconNode$
|
|
3354
|
+
const __iconNode$s = [
|
|
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$r = [
|
|
|
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$
|
|
3362
|
+
const ListOrdered = createLucideIcon("list-ordered", __iconNode$s);
|
|
3363
3363
|
|
|
3364
3364
|
/**
|
|
3365
3365
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3369,7 +3369,7 @@ const ListOrdered = createLucideIcon("list-ordered", __iconNode$r);
|
|
|
3369
3369
|
*/
|
|
3370
3370
|
|
|
3371
3371
|
|
|
3372
|
-
const __iconNode$
|
|
3372
|
+
const __iconNode$r = [
|
|
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$q = [
|
|
|
3377
3377
|
["path", { d: "M8 18h13", key: "1lx6n3" }],
|
|
3378
3378
|
["path", { d: "M8 6h13", key: "ik3vkj" }]
|
|
3379
3379
|
];
|
|
3380
|
-
const List = createLucideIcon("list", __iconNode$
|
|
3380
|
+
const List = createLucideIcon("list", __iconNode$r);
|
|
3381
3381
|
|
|
3382
3382
|
/**
|
|
3383
3383
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3387,8 +3387,8 @@ const List = createLucideIcon("list", __iconNode$q);
|
|
|
3387
3387
|
*/
|
|
3388
3388
|
|
|
3389
3389
|
|
|
3390
|
-
const __iconNode$
|
|
3391
|
-
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$
|
|
3390
|
+
const __iconNode$q = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
3391
|
+
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$q);
|
|
3392
3392
|
|
|
3393
3393
|
/**
|
|
3394
3394
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3398,7 +3398,7 @@ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$p);
|
|
|
3398
3398
|
*/
|
|
3399
3399
|
|
|
3400
3400
|
|
|
3401
|
-
const __iconNode$
|
|
3401
|
+
const __iconNode$p = [
|
|
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$o = [
|
|
|
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$
|
|
3411
|
+
const Loader = createLucideIcon("loader", __iconNode$p);
|
|
3412
3412
|
|
|
3413
3413
|
/**
|
|
3414
3414
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3418,12 +3418,12 @@ const Loader = createLucideIcon("loader", __iconNode$o);
|
|
|
3418
3418
|
*/
|
|
3419
3419
|
|
|
3420
3420
|
|
|
3421
|
-
const __iconNode$
|
|
3421
|
+
const __iconNode$o = [
|
|
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$
|
|
3426
|
+
const LogOut = createLucideIcon("log-out", __iconNode$o);
|
|
3427
3427
|
|
|
3428
3428
|
/**
|
|
3429
3429
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3433,12 +3433,12 @@ const LogOut = createLucideIcon("log-out", __iconNode$n);
|
|
|
3433
3433
|
*/
|
|
3434
3434
|
|
|
3435
3435
|
|
|
3436
|
-
const __iconNode$
|
|
3436
|
+
const __iconNode$n = [
|
|
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$
|
|
3441
|
+
const Menu = createLucideIcon("menu", __iconNode$n);
|
|
3442
3442
|
|
|
3443
3443
|
/**
|
|
3444
3444
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3448,7 +3448,7 @@ const Menu = createLucideIcon("menu", __iconNode$m);
|
|
|
3448
3448
|
*/
|
|
3449
3449
|
|
|
3450
3450
|
|
|
3451
|
-
const __iconNode$
|
|
3451
|
+
const __iconNode$m = [
|
|
3452
3452
|
[
|
|
3453
3453
|
"path",
|
|
3454
3454
|
{
|
|
@@ -3457,7 +3457,7 @@ const __iconNode$l = [
|
|
|
3457
3457
|
}
|
|
3458
3458
|
]
|
|
3459
3459
|
];
|
|
3460
|
-
const Moon = createLucideIcon("moon", __iconNode$
|
|
3460
|
+
const Moon = createLucideIcon("moon", __iconNode$m);
|
|
3461
3461
|
|
|
3462
3462
|
/**
|
|
3463
3463
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3467,7 +3467,7 @@ const Moon = createLucideIcon("moon", __iconNode$l);
|
|
|
3467
3467
|
*/
|
|
3468
3468
|
|
|
3469
3469
|
|
|
3470
|
-
const __iconNode$
|
|
3470
|
+
const __iconNode$l = [
|
|
3471
3471
|
[
|
|
3472
3472
|
"path",
|
|
3473
3473
|
{
|
|
@@ -3480,7 +3480,7 @@ const __iconNode$k = [
|
|
|
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$
|
|
3483
|
+
const Palette = createLucideIcon("palette", __iconNode$l);
|
|
3484
3484
|
|
|
3485
3485
|
/**
|
|
3486
3486
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3490,12 +3490,12 @@ const Palette = createLucideIcon("palette", __iconNode$k);
|
|
|
3490
3490
|
*/
|
|
3491
3491
|
|
|
3492
3492
|
|
|
3493
|
-
const __iconNode$
|
|
3493
|
+
const __iconNode$k = [
|
|
3494
3494
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
3495
3495
|
["path", { d: "M9 3v18", key: "fh3hqa" }],
|
|
3496
3496
|
["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
|
|
3497
3497
|
];
|
|
3498
|
-
const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$
|
|
3498
|
+
const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$k);
|
|
3499
3499
|
|
|
3500
3500
|
/**
|
|
3501
3501
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -3505,7 +3505,7 @@ const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$j);
|
|
|
3505
3505
|
*/
|
|
3506
3506
|
|
|
3507
3507
|
|
|
3508
|
-
const __iconNode$
|
|
3508
|
+
const __iconNode$j = [
|
|
3509
3509
|
[
|
|
3510
3510
|
"path",
|
|
3511
3511
|
{
|
|
@@ -3515,7 +3515,26 @@ const __iconNode$i = [
|
|
|
3515
3515
|
],
|
|
3516
3516
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
3517
3517
|
];
|
|
3518
|
-
const Pencil = createLucideIcon("pencil", __iconNode$
|
|
3518
|
+
const Pencil = createLucideIcon("pencil", __iconNode$j);
|
|
3519
|
+
|
|
3520
|
+
/**
|
|
3521
|
+
* @license lucide-react v0.539.0 - ISC
|
|
3522
|
+
*
|
|
3523
|
+
* This source code is licensed under the ISC license.
|
|
3524
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3525
|
+
*/
|
|
3526
|
+
|
|
3527
|
+
|
|
3528
|
+
const __iconNode$i = [
|
|
3529
|
+
[
|
|
3530
|
+
"path",
|
|
3531
|
+
{
|
|
3532
|
+
d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
|
|
3533
|
+
key: "10ikf1"
|
|
3534
|
+
}
|
|
3535
|
+
]
|
|
3536
|
+
];
|
|
3537
|
+
const Play = createLucideIcon("play", __iconNode$i);
|
|
3519
3538
|
|
|
3520
3539
|
/**
|
|
3521
3540
|
* @license lucide-react v0.539.0 - ISC
|
|
@@ -4356,6 +4375,40 @@ const notify = {
|
|
|
4356
4375
|
promise: sonner.toast.promise.bind(sonner.toast),
|
|
4357
4376
|
};
|
|
4358
4377
|
|
|
4378
|
+
const OVERLAY_CONTENT_SELECTOR = [
|
|
4379
|
+
'[data-slot="dialog-content"]',
|
|
4380
|
+
'[role="dialog"]',
|
|
4381
|
+
'[role="alertdialog"]',
|
|
4382
|
+
'[role="menu"]',
|
|
4383
|
+
'[role="listbox"]',
|
|
4384
|
+
'[data-radix-popper-content-wrapper]',
|
|
4385
|
+
].join(',');
|
|
4386
|
+
/**
|
|
4387
|
+
* `@radix-ui/react-dismissable-layer` keeps the value it must restore to
|
|
4388
|
+
* `<body>` in a single module-level variable shared by every layer. When two
|
|
4389
|
+
* layers overlap — a modal menu whose item opens a dialog, a select inside a
|
|
4390
|
+
* dialog — the second layer saves `pointer-events: none` and its close writes
|
|
4391
|
+
* that back instead of clearing it, leaving the page unclickable until reload.
|
|
4392
|
+
*
|
|
4393
|
+
* Clearing is only safe once nothing is on screen, so this is a no-op while any
|
|
4394
|
+
* overlay content is still mounted.
|
|
4395
|
+
*/
|
|
4396
|
+
function releaseStaleOverlayBodyLock() {
|
|
4397
|
+
if (typeof document === 'undefined')
|
|
4398
|
+
return;
|
|
4399
|
+
if (document.querySelector(OVERLAY_CONTENT_SELECTOR))
|
|
4400
|
+
return;
|
|
4401
|
+
const { body } = document;
|
|
4402
|
+
if (body.style.pointerEvents === 'none') {
|
|
4403
|
+
body.style.pointerEvents = '';
|
|
4404
|
+
}
|
|
4405
|
+
if (body.hasAttribute('data-scroll-locked')) {
|
|
4406
|
+
body.removeAttribute('data-scroll-locked');
|
|
4407
|
+
body.style.overflow = '';
|
|
4408
|
+
body.style.paddingRight = '';
|
|
4409
|
+
}
|
|
4410
|
+
}
|
|
4411
|
+
|
|
4359
4412
|
const TooltipProvider = ({ children, delayDuration = 200, }) => (jsxRuntime.jsx(TooltipPrimitive__namespace.Provider, { delayDuration: delayDuration, children: children }));
|
|
4360
4413
|
const Tooltip = TooltipPrimitive__namespace.Root;
|
|
4361
4414
|
const TooltipTrigger = TooltipPrimitive__namespace.Trigger;
|
|
@@ -4770,7 +4823,7 @@ const CopyButton = ({ value, className }) => {
|
|
|
4770
4823
|
};
|
|
4771
4824
|
|
|
4772
4825
|
function Input({ className, type, ...props }) {
|
|
4773
|
-
return (jsxRuntime.jsx("input", { type: type, "data-slot": "input", className: cn('file:text-foreground placeholder:text-placeholder placeholder:text-sm selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input-border flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:cursor-not-allowed disabled:
|
|
4826
|
+
return (jsxRuntime.jsx("input", { type: type, "data-slot": "input", className: cn('file:text-foreground placeholder:text-placeholder placeholder:text-sm selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input-border flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:cursor-not-allowed disabled:bg-muted/50 disabled:text-label md:text-sm', 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]', 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive', className), ...props }));
|
|
4774
4827
|
}
|
|
4775
4828
|
|
|
4776
4829
|
localStorage.getItem('ims_token');
|
|
@@ -5721,10 +5774,50 @@ var U=1,Y$1=.9,H$1=.8,J=.17,p=.1,u=.999,$$1=.9999;var k$2=.99,m$1=/[\\\/_+.#"@\[
|
|
|
5721
5774
|
|
|
5722
5775
|
var N$1='[cmdk-group=""]',Y='[cmdk-group-items=""]',be='[cmdk-group-heading=""]',le='[cmdk-item=""]',ce=`${le}:not([aria-disabled="true"])`,Z="cmdk-item-select",T="data-value",Re=(r,o,n)=>W(r,o,n),ue=React__namespace.createContext(void 0),K=()=>React__namespace.useContext(ue),de=React__namespace.createContext(void 0),ee=()=>React__namespace.useContext(de),fe=React__namespace.createContext(void 0),me=React__namespace.forwardRef((r,o)=>{let n=L$1(()=>{var e,a;return {search:"",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L$1(()=>new Set),c=L$1(()=>new Map),d=L$1(()=>new Map),f=L$1(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=false,vimBindings:j=true,...O}=r,$=reactId.useId(),q=reactId.useId(),_=reactId.useId(),I=React__namespace.useRef(null),v=ke();k$1(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit();}},[R]),k$1(()=>{v(6,ne);},[]);let E=React__namespace.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e==="search")J(),z(),v(1,W);else if(e==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus();}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit();}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:"";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit();}},emit:()=>{f.current.forEach(e=>e());}}),[]),U=React__namespace.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit();}));},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit();}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute("id"))===e&&W(),E.emit();});}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e);}),filter:()=>p.current.shouldFilter,label:b||r["aria-label"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===false)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g);}),a.push([i,g]);});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute("id"),y=l.getAttribute("id");return ((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`));}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N$1}[${T}="${encodeURIComponent(i[0])}"]`);l==null||l.parentElement.appendChild(l);});}function W(){let e=V().find(s=>s.getAttribute("aria-disabled")!=="true"),a=e==null?void 0:e.getAttribute(T);E.setState("value",a||void 0);}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===false){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:"",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++;}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e;}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N$1))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:"nearest"})),e.scrollIntoView({block:"nearest"}));}function M(){var e;return (e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected="true"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState("value",s.getAttribute(T));}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState("value",l.getAttribute(T));}function re(e){let a=M(),s=a==null?void 0:a.closest(N$1),i;for(;s&&!i;)s=e>0?we(s,N$1):De(s,N$1),i=s==null?void 0:s.querySelector(ce);i?E.setState("value",i.getAttribute(T)):Q(e);}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1);},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1);};return React__namespace.createElement(reactPrimitive.Primitive.div,{ref:o,tabIndex:-1,...O,"cmdk-root":"",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case "n":case "j":{j&&e.ctrlKey&&ie(e);break}case "ArrowDown":{ie(e);break}case "p":case "k":{j&&e.ctrlKey&&se(e);break}case "ArrowUp":{se(e);break}case "Home":{e.preventDefault(),X(0);break}case "End":{e.preventDefault(),oe();break}case "Enter":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l);}}}}},React__namespace.createElement("label",{"cmdk-label":"",htmlFor:U.inputId,id:U.labelId,style:Te},b),B$1(r,e=>React__namespace.createElement(de.Provider,{value:E},React__namespace.createElement(ue.Provider,{value:U},e))))}),he=React__namespace.forwardRef((r,o)=>{var _,I;let n=reactId.useId(),u=React__namespace.useRef(null),c=React__namespace.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k$1(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===false?true:v.search?v.filtered.items.get(n)>0:true);React__namespace.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current);}function S(){m.setState("value",b.current,true);}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return React__namespace.createElement(reactPrimitive.Primitive.div,{ref:reactComposeRefs.composeRefs(u,o),...q,id:n,"cmdk-item":"",role:"option","aria-disabled":!!A,"aria-selected":!!R,"data-disabled":!!A,"data-selected":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=React__namespace.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=reactId.useId(),p=React__namespace.useRef(null),b=React__namespace.useRef(null),m=reactId.useId(),R=K(),x=P(S=>c||R.filter()===false?true:S.search?S.filtered.groups.has(f):true);k$1(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=React__namespace.useMemo(()=>({id:f,forceMount:c}),[c]);return React__namespace.createElement(reactPrimitive.Primitive.div,{ref:reactComposeRefs.composeRefs(p,o),...d,"cmdk-group":"",role:"presentation",hidden:x?void 0:true},n&&React__namespace.createElement("div",{ref:b,"cmdk-group-heading":"","aria-hidden":true,id:m},n),B$1(r,S=>React__namespace.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?m:void 0},React__namespace.createElement(fe.Provider,{value:C},S))))}),ye=React__namespace.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=React__namespace.useRef(null),d=P(f=>!f.search);return !n&&!d?null:React__namespace.createElement(reactPrimitive.Primitive.div,{ref:reactComposeRefs.composeRefs(c,o),...u,"cmdk-separator":"",role:"separator"})}),Se=React__namespace.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return React__namespace.useEffect(()=>{r.value!=null&&d.setState("search",r.value);},[r.value]),React__namespace.createElement(reactPrimitive.Primitive.input,{ref:o,...u,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:false,"aria-autocomplete":"list",role:"combobox","aria-expanded":true,"aria-controls":b.listId,"aria-labelledby":b.labelId,"aria-activedescendant":p,id:b.inputId,type:"text",value:c?r.value:f,onChange:m=>{c||d.setState("search",m.target.value),n==null||n(m.target.value);}})}),Ce=React__namespace.forwardRef((r,o)=>{let{children:n,label:u="Suggestions",...c}=r,d=React__namespace.useRef(null),f=React__namespace.useRef(null),p=P(m=>m.selectedItemId),b=K();return React__namespace.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty("--cmdk-list-height",S.toFixed(1)+"px");});});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m);}}},[]),React__namespace.createElement(reactPrimitive.Primitive.div,{ref:reactComposeRefs.composeRefs(d,o),...c,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":p,"aria-label":u,id:b.listId},B$1(r,m=>React__namespace.createElement("div",{ref:reactComposeRefs.composeRefs(f,b.listInnerRef),"cmdk-list-sizer":""},m)))}),xe=React__namespace.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return React__namespace.createElement(DialogPrimitive__namespace.Root,{open:n,onOpenChange:u},React__namespace.createElement(DialogPrimitive__namespace.Portal,{container:f},React__namespace.createElement(DialogPrimitive__namespace.Overlay,{"cmdk-overlay":"",className:c}),React__namespace.createElement(DialogPrimitive__namespace.Content,{"aria-label":r.label,"cmdk-dialog":"",className:d},React__namespace.createElement(me,{ref:o,...p}))))}),Ie=React__namespace.forwardRef((r,o)=>P(u=>u.filtered.count===0)?React__namespace.createElement(reactPrimitive.Primitive.div,{ref:o,...r,"cmdk-empty":"",role:"presentation"}):null),Pe=React__namespace.forwardRef((r,o)=>{let{progress:n,children:u,label:c="Loading...",...d}=r;return React__namespace.createElement(reactPrimitive.Primitive.div,{ref:o,...d,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":c},B$1(r,f=>React__namespace.createElement("div",{"aria-hidden":true},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling;}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling;}}function pe(r){let o=React__namespace.useRef(r);return k$1(()=>{o.current=r;}),o}var k$1=typeof window=="undefined"?React__namespace.useEffect:React__namespace.useLayoutEffect;function L$1(r){let o=React__namespace.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return React__namespace.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=React__namespace.useRef(),d=K();return k$1(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R=="string")return R.trim();if(typeof R=="object"&&"current"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f;}),c}var ke=()=>{let[r,o]=React__namespace.useState(),n=L$1(()=>new Map);return k$1(()=>{n.current.forEach(u=>u()),n.current=new Map;},[r]),(u,c)=>{n.current.set(u,c),o({});}};function Me(r){let o=r.type;return typeof o=="function"?o(r.props):"render"in o?o.render(r.props):r}function B$1({asChild:r,children:o},n){return r&&React__namespace.isValidElement(o)?React__namespace.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};
|
|
5723
5776
|
|
|
5777
|
+
/** Long enough for the overlay exit animation (200ms) plus a margin. */
|
|
5778
|
+
const EXIT_GRACE_MS = 400;
|
|
5779
|
+
/**
|
|
5780
|
+
* Clears a leaked Radix `<body>` lock after an overlay closes or unmounts.
|
|
5781
|
+
* Returns a scheduler for overlays that are uncontrolled (no `open` prop), so
|
|
5782
|
+
* their `onOpenChange(false)` can trigger the same check.
|
|
5783
|
+
*
|
|
5784
|
+
* @see releaseStaleOverlayBodyLock for why the lock leaks.
|
|
5785
|
+
*/
|
|
5786
|
+
function useOverlayBodyLockRelease(open) {
|
|
5787
|
+
const scheduleRelease = React__namespace.useCallback(() => {
|
|
5788
|
+
requestAnimationFrame(() => releaseStaleOverlayBodyLock());
|
|
5789
|
+
window.setTimeout(() => releaseStaleOverlayBodyLock(), EXIT_GRACE_MS);
|
|
5790
|
+
}, []);
|
|
5791
|
+
const wasOpen = React__namespace.useRef(false);
|
|
5792
|
+
React__namespace.useEffect(() => {
|
|
5793
|
+
if (open) {
|
|
5794
|
+
wasOpen.current = true;
|
|
5795
|
+
return;
|
|
5796
|
+
}
|
|
5797
|
+
if (!wasOpen.current)
|
|
5798
|
+
return;
|
|
5799
|
+
wasOpen.current = false;
|
|
5800
|
+
scheduleRelease();
|
|
5801
|
+
}, [open, scheduleRelease]);
|
|
5802
|
+
// Unmounting while open (route change, parent re-render) skips Radix's own
|
|
5803
|
+
// close path entirely, so the check has to outlive this component.
|
|
5804
|
+
React__namespace.useEffect(() => {
|
|
5805
|
+
return () => {
|
|
5806
|
+
window.setTimeout(() => releaseStaleOverlayBodyLock(), EXIT_GRACE_MS);
|
|
5807
|
+
};
|
|
5808
|
+
}, []);
|
|
5809
|
+
return scheduleRelease;
|
|
5810
|
+
}
|
|
5811
|
+
|
|
5724
5812
|
// Utility to merge classes
|
|
5725
5813
|
// Root
|
|
5726
|
-
function Dialog({ ...props }) {
|
|
5727
|
-
|
|
5814
|
+
function Dialog({ open, onOpenChange, ...props }) {
|
|
5815
|
+
const scheduleLockRelease = useOverlayBodyLockRelease(open);
|
|
5816
|
+
return (jsxRuntime.jsx(DialogPrimitive__namespace.Root, { "data-slot": "dialog", ...props, open: open, onOpenChange: (next) => {
|
|
5817
|
+
onOpenChange?.(next);
|
|
5818
|
+
if (!next)
|
|
5819
|
+
scheduleLockRelease();
|
|
5820
|
+
} }));
|
|
5728
5821
|
}
|
|
5729
5822
|
// Portal
|
|
5730
5823
|
function DialogPortal({ ...props }) {
|
|
@@ -6040,7 +6133,10 @@ function SearchableSelect({ selectedItem, onChange, getOptionKey, getOptionLabel
|
|
|
6040
6133
|
? String(getOptionLabel(selectedItem))
|
|
6041
6134
|
: undefined, children: getOptionLabel(selectedItem) }));
|
|
6042
6135
|
}, [renderTrigger, selectedItem, searchPlaceholder, getOptionLabel]);
|
|
6043
|
-
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: modal, children: [jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: jsxRuntime.jsxs(Button$1, { type: "button", variant: "outline", role: "combobox", "aria-expanded": open, "aria-label": ariaLabel, disabled: disabled, className: cn('w-full justify-start min-w-40 px-3 py-1.5',
|
|
6136
|
+
return (jsxRuntime.jsxs(Popover, { open: open, onOpenChange: handleOpenChange, modal: modal, children: [jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: jsxRuntime.jsxs(Button$1, { type: "button", variant: "outline", role: "combobox", "aria-expanded": open, "aria-label": ariaLabel, disabled: disabled, className: cn('w-full justify-start min-w-40 px-3 py-1.5',
|
|
6137
|
+
// This trigger is a form control, not an action, so it takes the
|
|
6138
|
+
// input disabled treatment instead of the Button's opacity fade.
|
|
6139
|
+
'disabled:bg-muted/50 disabled:text-label disabled:opacity-100', className), children: [jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2 text-left", children: [!selectedItem && !hideTriggerSearchIcon && (jsxRuntime.jsx(Search, { "aria-hidden": "true", className: "h-4 w-4 shrink-0 text-muted-foreground" })), triggerNode] }), jsxRuntime.jsx(ChevronDown, { "aria-hidden": "true", className: "h-4 w-4 shrink-0 text-muted-foreground opacity-60" })] }) }), jsxRuntime.jsx(PopoverContent, { style: { width: 'var(--radix-popover-trigger-width)' }, className: cn('p-0', popoverClassName), align: align, children: jsxRuntime.jsxs(Command, { shouldFilter: false, children: [jsxRuntime.jsx(CommandInput, { placeholder: searchPlaceholder, value: search, onValueChange: setSearch }), headerSlot, jsxRuntime.jsx(CommandList, { ref: listRef, onScroll: handleScroll, className: LIST_MAX_HEIGHT_CLASS, children: loading ? (jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-3 text-sm text-muted-foreground", children: [jsxRuntime.jsx(LoaderCircle, { className: "h-4 w-4 animate-spin" }), "Loading\u2026"] })) : visibleItems.length === 0 ? (jsxRuntime.jsx(CommandEmpty, { children: emptyMessage })) : (jsxRuntime.jsxs(CommandGroup, { className: "p-1", children: [visibleItems.map((item) => {
|
|
6044
6140
|
const key = getOptionKey(item);
|
|
6045
6141
|
const isSelected = selectedKey === key;
|
|
6046
6142
|
if (renderOption) {
|
|
@@ -27776,7 +27872,7 @@ function DateInput({ value, onChange, onBlur, name, className, min, max, disable
|
|
|
27776
27872
|
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: () => {
|
|
27777
27873
|
if (!disabled)
|
|
27778
27874
|
handleOpenChange(!open);
|
|
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) => {
|
|
27875
|
+
}, "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/50 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) => {
|
|
27780
27876
|
onChange(date ?? undefined);
|
|
27781
27877
|
if (date)
|
|
27782
27878
|
setOpen(false);
|
|
@@ -27840,7 +27936,7 @@ const EntityHeader = ({ title, meta, status, description, descriptionLimit = 180
|
|
|
27840
27936
|
};
|
|
27841
27937
|
|
|
27842
27938
|
const Field = ({ label, required, error, icon, input, className, isSwitch = false, labelRight, }) => {
|
|
27843
|
-
return (jsxRuntime.jsxs("div", { className: cn('space-y-1', className), children: [jsxRuntime.jsxs("label", { className:
|
|
27939
|
+
return (jsxRuntime.jsxs("div", { className: cn('space-y-1', className), children: [jsxRuntime.jsxs("label", { className: cn('flex items-center justify-between gap-2 text-[13px]', error ? 'text-destructive' : 'text-label'), children: [jsxRuntime.jsxs("div", { children: [label, required && jsxRuntime.jsx("span", { className: "text-destructive", children: "*" })] }), isSwitch && labelRight] }), jsxRuntime.jsxs("div", { "data-error": error ? 'true' : undefined, className: "relative", children: [icon, input] }), error && jsxRuntime.jsx("p", { className: "text-sm text-destructive", children: error })] }));
|
|
27844
27940
|
};
|
|
27845
27941
|
|
|
27846
27942
|
const SelectSearchContext = React__namespace.createContext(null);
|
|
@@ -27876,7 +27972,7 @@ function SelectValue({ className, ...props }) {
|
|
|
27876
27972
|
return (jsxRuntime.jsx(SelectPrimitive__namespace.Value, { "data-slot": "select-value", className: cn('data-[placeholder]:!text-[var(--placeholder)] data-[placeholder]:!text-sm', className), ...props }));
|
|
27877
27973
|
}
|
|
27878
27974
|
function SelectTrigger({ className, size = 'default', children, ...props }) {
|
|
27879
|
-
return (jsxRuntime.jsxs(SelectPrimitive__namespace.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("border-input-border cursor-pointer data-[placeholder]:!text-[var(--placeholder)] data-[placeholder]:!text-sm [&_[data-placeholder]]:!text-[var(--placeholder)] [&_[data-placeholder]]:!text-sm [&_span[data-placeholder]]:!text-[var(--placeholder)] [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:
|
|
27975
|
+
return (jsxRuntime.jsxs(SelectPrimitive__namespace.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("border-input-border cursor-pointer data-[placeholder]:!text-[var(--placeholder)] data-[placeholder]:!text-sm [&_[data-placeholder]]:!text-[var(--placeholder)] [&_[data-placeholder]]:!text-sm [&_span[data-placeholder]]:!text-[var(--placeholder)] [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:bg-muted/50 disabled:text-label data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: jsxRuntime.jsx(ChevronDown, { className: "size-4 text-gray-600" }) })] }));
|
|
27880
27976
|
}
|
|
27881
27977
|
function SelectContent({ className, children, position = 'popper', searchable = true, // default: all selects are searchable
|
|
27882
27978
|
searchPlaceholder = 'Search...', ...props }) {
|
|
@@ -28439,10 +28535,15 @@ const ICON_TONE_CLASSES = {
|
|
|
28439
28535
|
indigo: 'bg-indigo-100 text-indigo-600',
|
|
28440
28536
|
amber: 'bg-amber-100 text-amber-600',
|
|
28441
28537
|
};
|
|
28442
|
-
const MetricCard = ({ value, label, tone = 'neutral', icon, iconTone = 'blue', className, }) => {
|
|
28538
|
+
const MetricCard = ({ value, label, tone = 'neutral', icon, iconTone = 'blue', orientation = 'vertical', className, }) => {
|
|
28443
28539
|
// ── Icon variant — matches the new financial-summary card design ──
|
|
28444
28540
|
if (icon) {
|
|
28445
|
-
|
|
28541
|
+
const isHorizontal = orientation === 'horizontal';
|
|
28542
|
+
return (jsxRuntime.jsxs("div", { style: { boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)' }, className: cn('flex min-w-[180px] flex-1 rounded-xl border border-border bg-card', isHorizontal
|
|
28543
|
+
? 'items-center gap-3 px-3.5 py-2.5'
|
|
28544
|
+
: 'flex-col gap-3 p-4', className), children: [jsxRuntime.jsx("span", { className: cn('inline-flex shrink-0 items-center justify-center rounded-lg', isHorizontal
|
|
28545
|
+
? 'h-9 w-9 [&_svg]:h-[18px] [&_svg]:w-[18px]'
|
|
28546
|
+
: 'h-[38px] w-[38px] [&_svg]:h-5 [&_svg]:w-5', ICON_TONE_CLASSES[iconTone]), children: icon }), jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [jsxRuntime.jsx("span", { className: cn('font-semibold leading-none text-foreground', isHorizontal ? 'text-lg' : 'text-xl'), children: value }), jsxRuntime.jsx("span", { className: cn('font-light leading-none text-label', isHorizontal ? 'text-xs' : 'text-sm'), children: label })] })] }));
|
|
28446
28547
|
}
|
|
28447
28548
|
// ── Compact variant (original) ──
|
|
28448
28549
|
const isHighlighted = tone === 'highlighted';
|
|
@@ -57470,7 +57571,14 @@ function DetailPageSkeleton({ sections = 3, }) {
|
|
|
57470
57571
|
return (jsxRuntime.jsxs("div", { className: "space-y-5", children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [jsxRuntime.jsx(SquareSkeleton, { height: 32, width: 32, rounded: "md" }), jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [jsxRuntime.jsx(SquareSkeleton, { height: 20, width: 192, rounded: "full" }), jsxRuntime.jsx(SquareSkeleton, { height: 12, width: 128, rounded: "full" })] })] }), jsxRuntime.jsx(SquareSkeleton, { height: 36, width: 128, rounded: "md" })] }), Array.from({ length: sections }).map((_, s) => (jsxRuntime.jsxs("div", { className: "overflow-hidden rounded-xl border border-border bg-card", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-3 border-b border-border bg-secondary px-5 py-4", children: [jsxRuntime.jsx(SquareSkeleton, { height: 32, width: 32, rounded: "lg" }), jsxRuntime.jsx(SquareSkeleton, { height: 16, width: 160, rounded: "full" })] }), jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-5 p-5 md:grid-cols-3", children: Array.from({ length: 6 }).map((_, i) => (jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [jsxRuntime.jsx(SquareSkeleton, { height: 10, width: 80, rounded: "full" }), jsxRuntime.jsx(SquareSkeleton, { height: 14, width: 128, rounded: "full" })] }, i))) })] }, s)))] }));
|
|
57471
57572
|
}
|
|
57472
57573
|
|
|
57473
|
-
const SlideOut =
|
|
57574
|
+
const SlideOut = ({ open, onOpenChange, ...props }) => {
|
|
57575
|
+
const scheduleLockRelease = useOverlayBodyLockRelease(open);
|
|
57576
|
+
return (jsxRuntime.jsx(DialogPrimitive__namespace.Root, { ...props, open: open, onOpenChange: (next) => {
|
|
57577
|
+
onOpenChange?.(next);
|
|
57578
|
+
if (!next)
|
|
57579
|
+
scheduleLockRelease();
|
|
57580
|
+
} }));
|
|
57581
|
+
};
|
|
57474
57582
|
const SlideOutTrigger = DialogPrimitive__namespace.Trigger;
|
|
57475
57583
|
const SlideOutClose = DialogPrimitive__namespace.Close;
|
|
57476
57584
|
const SlideOutPortal = DialogPrimitive__namespace.Portal;
|
|
@@ -64144,6 +64252,76 @@ const DropZone = ({ uploadSubject, supportedFormats, maxSize, maxFiles, accept,
|
|
|
64144
64252
|
} }), jsxRuntime.jsx("span", { className: "inline-flex h-10 w-10 items-center justify-center text-foreground", children: jsxRuntime.jsx(Upload, { className: "h-10 w-10", strokeWidth: 1 }) }), jsxRuntime.jsxs("p", { className: "text-sm text-foreground", children: ["Drag & Drop or", ' ', jsxRuntime.jsx("span", { className: "font-medium text-primary", children: "Click to upload" }), ' ', uploadSubject] }), jsxRuntime.jsxs("div", { className: "space-y-1 text-xs text-label", children: [supportedFormats && (jsxRuntime.jsx("p", { className: "font-semibold text-label", children: supportedFormats })), jsxRuntime.jsxs("p", { children: ["Max: ", maxSize, "MB \u00A0\u2022\u00A0 Maximum ", maxFiles, " file", maxFiles === 1 ? '' : 's'] })] })] }));
|
|
64145
64253
|
};
|
|
64146
64254
|
|
|
64255
|
+
const FILE_TYPE_PATTERNS = {
|
|
64256
|
+
PDF: /\.pdf($|\?)/i,
|
|
64257
|
+
IMAGE: /\.(jpg|jpeg|png|gif|bmp|webp|svg|heic|heif)($|\?)/i,
|
|
64258
|
+
DOCUMENT: /\.(doc|docx|xls|xlsx|ppt|pptx)($|\?)/i,
|
|
64259
|
+
VIDEO: /\.(mp4|m4v|avi|mov|wmv|flv|webm|mkv|ogv|mpe?g|3gp)($|\?)/i,
|
|
64260
|
+
AUDIO: /\.(mp3|wav|flac|aac|ogg)($|\?)/i,
|
|
64261
|
+
};
|
|
64262
|
+
const isFileType = {
|
|
64263
|
+
pdf: (url) => FILE_TYPE_PATTERNS.PDF.test(url),
|
|
64264
|
+
image: (url) => FILE_TYPE_PATTERNS.IMAGE.test(url),
|
|
64265
|
+
document: (url) => FILE_TYPE_PATTERNS.DOCUMENT.test(url),
|
|
64266
|
+
video: (url) => FILE_TYPE_PATTERNS.VIDEO.test(url),
|
|
64267
|
+
audio: (url) => FILE_TYPE_PATTERNS.AUDIO.test(url),
|
|
64268
|
+
};
|
|
64269
|
+
|
|
64270
|
+
/** Seek to ~1st frame for static video thumbnails (HTML5 media fragment). */
|
|
64271
|
+
const videoThumbnailSrc = (src) => {
|
|
64272
|
+
if (!src)
|
|
64273
|
+
return src;
|
|
64274
|
+
const [base] = src.split('#');
|
|
64275
|
+
return `${base}#t=0.1`;
|
|
64276
|
+
};
|
|
64277
|
+
const createVideoMediaItem = (src, index, idPrefix = 'vid') => ({
|
|
64278
|
+
id: `${idPrefix}-${index}`,
|
|
64279
|
+
kind: 'video',
|
|
64280
|
+
src,
|
|
64281
|
+
thumbSrc: videoThumbnailSrc(src),
|
|
64282
|
+
});
|
|
64283
|
+
const isPdfMediaItem = (item) => item.isPdf === true ||
|
|
64284
|
+
isFileType.pdf(item.src) ||
|
|
64285
|
+
(item.kind === 'certificate' && !isFileType.image(item.src));
|
|
64286
|
+
const MEDIA_KIND_ORDER = ['image', 'video', 'certificate'];
|
|
64287
|
+
const MEDIA_KIND_LABEL = {
|
|
64288
|
+
image: 'Images',
|
|
64289
|
+
video: 'Videos',
|
|
64290
|
+
certificate: 'Certificates',
|
|
64291
|
+
};
|
|
64292
|
+
const groupItemsByKind = (items) => {
|
|
64293
|
+
const out = {
|
|
64294
|
+
image: [],
|
|
64295
|
+
video: [],
|
|
64296
|
+
certificate: [],
|
|
64297
|
+
};
|
|
64298
|
+
for (const item of items) {
|
|
64299
|
+
out[item.kind].push(item);
|
|
64300
|
+
}
|
|
64301
|
+
return out;
|
|
64302
|
+
};
|
|
64303
|
+
const availableKinds = (items) => MEDIA_KIND_ORDER.filter((kind) => items.some((m) => m.kind === kind));
|
|
64304
|
+
|
|
64305
|
+
/**
|
|
64306
|
+
* What a card should render as. The MIME type decides when we have one, but it
|
|
64307
|
+
* can't be trusted alone: browsers report an empty `type` for some files, and
|
|
64308
|
+
* URL-imported items carry the short forms `'image'`/`'video'` from
|
|
64309
|
+
* `inferTypeFromUrl`. Extension patterns are the fallback so a video never
|
|
64310
|
+
* lands in the image branch and paints a broken thumbnail.
|
|
64311
|
+
*/
|
|
64312
|
+
const fileKind = (file) => {
|
|
64313
|
+
const type = file.type ?? '';
|
|
64314
|
+
if (type.startsWith('video/') || type === 'video')
|
|
64315
|
+
return 'video';
|
|
64316
|
+
if (type.startsWith('image/') || type === 'image')
|
|
64317
|
+
return 'image';
|
|
64318
|
+
const ref = file.name || file.url || '';
|
|
64319
|
+
if (isFileType.video(ref))
|
|
64320
|
+
return 'video';
|
|
64321
|
+
if (isFileType.image(ref))
|
|
64322
|
+
return 'image';
|
|
64323
|
+
return 'other';
|
|
64324
|
+
};
|
|
64147
64325
|
const formatFileSize = (bytes) => {
|
|
64148
64326
|
if (!bytes && bytes !== 0)
|
|
64149
64327
|
return '';
|
|
@@ -64195,15 +64373,30 @@ const validateFile = (file, maxSize, accept) => {
|
|
|
64195
64373
|
const generateId = () => Math.random().toString(36).slice(2, 11);
|
|
64196
64374
|
const fileNameFromUrl = (url) => url.split('/').pop()?.trim() || 'URL File';
|
|
64197
64375
|
|
|
64376
|
+
const KIND_ICON$1 = {
|
|
64377
|
+
image: Image$1,
|
|
64378
|
+
video: Video,
|
|
64379
|
+
other: FileText,
|
|
64380
|
+
};
|
|
64198
64381
|
const FileCard = ({ file, sortable, disabled = false, onRemove, onPreview, }) => {
|
|
64199
64382
|
const { attributes, listeners, setNodeRef, transform, transition, isDragging, } = useSortable({ id: file.id, disabled: disabled || !sortable });
|
|
64200
64383
|
const style = {
|
|
64201
64384
|
transform: CSS$1.Transform.toString(transform),
|
|
64202
64385
|
transition,
|
|
64203
64386
|
};
|
|
64204
|
-
const
|
|
64205
|
-
const
|
|
64206
|
-
|
|
64387
|
+
const kind = fileKind(file);
|
|
64388
|
+
const previewSrc = file.preview ?? file.url;
|
|
64389
|
+
const KindIcon = KIND_ICON$1[kind];
|
|
64390
|
+
// Falls back to the icon tile when the media itself won't load, so a dead
|
|
64391
|
+
// object URL or an expired link never renders as a broken thumbnail.
|
|
64392
|
+
const [mediaFailed, setMediaFailed] = React.useState(false);
|
|
64393
|
+
React.useEffect(() => setMediaFailed(false), [previewSrc]);
|
|
64394
|
+
const showMedia = !!previewSrc && !mediaFailed;
|
|
64395
|
+
return (jsxRuntime.jsxs("div", { ref: setNodeRef, style: style, className: cn('group relative w-[148px] shrink-0 rounded-xl border border-border bg-muted p-2', isDragging && 'opacity-60 shadow-lg ring-2 ring-primary/20'), children: [jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-1 pt-0.5 pb-1.5", children: [sortable ? (jsxRuntime.jsx("button", { type: "button", ...attributes, ...listeners, disabled: disabled, className: "inline-flex h-5 w-5 cursor-grab items-center justify-center rounded text-muted-foreground hover:text-foreground active:cursor-grabbing touch-none", "aria-label": `Reorder ${file.name}`, children: jsxRuntime.jsx(GripHorizontal, { className: "h-3.5 w-3.5" }) })) : (jsxRuntime.jsx("span", { "aria-hidden": "true", className: "inline-block h-5 w-5" })), jsxRuntime.jsx("button", { type: "button", onClick: () => onRemove(file.id), disabled: disabled, className: "inline-flex h-5 w-5 cursor-pointer items-center justify-center rounded text-muted-foreground hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", "aria-label": `Remove ${file.name}`, children: jsxRuntime.jsx(X$2, { className: "h-3.5 w-3.5" }) })] }), jsxRuntime.jsxs("div", { className: cn('relative aspect-square overflow-hidden rounded-lg bg-muted', onPreview && 'cursor-pointer'), onClick: onPreview ? () => onPreview(file) : undefined, role: onPreview ? 'button' : undefined, tabIndex: onPreview ? 0 : undefined, children: [kind === 'image' && showMedia ? (jsxRuntime.jsx("img", { src: previewSrc, alt: file.name, onError: () => setMediaFailed(true), className: "h-full w-full object-cover" })) : kind === 'video' && showMedia ? (jsxRuntime.jsxs("div", { className: "relative h-full w-full", children: [jsxRuntime.jsx("video", { src: videoThumbnailSrc(previewSrc), muted: true, playsInline: true, preload: "metadata", onLoadedMetadata: (e) => {
|
|
64396
|
+
if (e.currentTarget.currentTime === 0) {
|
|
64397
|
+
e.currentTarget.currentTime = 0.1;
|
|
64398
|
+
}
|
|
64399
|
+
}, onError: () => setMediaFailed(true), className: "h-full w-full bg-black object-cover" }), jsxRuntime.jsx("span", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: jsxRuntime.jsx("span", { className: "inline-flex h-7 w-7 items-center justify-center rounded-full bg-black/55", children: jsxRuntime.jsx(Play, { className: "h-3.5 w-3.5 translate-x-[1px] fill-white text-white" }) }) })] })) : (jsxRuntime.jsx("div", { className: "flex h-full w-full items-center justify-center", children: jsxRuntime.jsx(KindIcon, { className: "h-10 w-10 text-muted-foreground" }) })), jsxRuntime.jsx("span", { className: "absolute left-1.5 top-1.5 inline-flex h-5 w-5 items-center justify-center rounded bg-black/40 text-white", children: jsxRuntime.jsx(KindIcon, { className: "h-3 w-3" }) })] }), jsxRuntime.jsxs("div", { className: "mt-2 space-y-0.5 px-0.5", children: [jsxRuntime.jsx("p", { className: "truncate text-sm font-medium text-foreground", title: file.name, children: file.name }), jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: file.size
|
|
64207
64400
|
? formatFileSize(file.size)
|
|
64208
64401
|
: file.source === 'url'
|
|
64209
64402
|
? 'URL'
|
|
@@ -65070,56 +65263,6 @@ const InventoryItemCard = ({ stockId, status, name, description, imageUrl, onCli
|
|
|
65070
65263
|
valueLabel !== undefined) && (jsxRuntime.jsxs("div", { className: "mt-3 grid grid-cols-3 gap-3 border-t border-border pt-3", children: [items !== undefined && (jsxRuntime.jsxs("div", { className: "min-w-0", children: [jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Items" }), jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-sm font-normal tabular-nums text-foreground", children: items })] })), totalCarat !== undefined && (jsxRuntime.jsxs("div", { className: "min-w-0", children: [jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Total ct" }), jsxRuntime.jsxs("p", { className: "mt-0.5 truncate text-sm font-normal tabular-nums text-foreground", children: [totalCarat.toFixed(2), " ct"] })] })), valueLabel !== undefined && (jsxRuntime.jsxs("div", { className: "min-w-0", children: [jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "Value" }), jsxRuntime.jsx(TooltipProvider, { delayDuration: 200, children: jsxRuntime.jsxs(Tooltip, { children: [jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: jsxRuntime.jsx("p", { className: "mt-0.5 cursor-default truncate text-sm font-medium tabular-nums text-foreground", children: valueLabel }) }), jsxRuntime.jsx(TooltipContent, { side: "top", children: valueLabel })] }) })] }))] }))] }), (modifiedLabel || onView || onDuplicate || menu) && (jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-border px-4 py-2", children: [modifiedLabel ? (jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground tabular-nums", children: ["Modified: ", modifiedLabel] })) : (jsxRuntime.jsx("span", {})), jsxRuntime.jsxs("div", { className: "flex items-center gap-1", onClick: (e) => e.stopPropagation(), children: [onView && (jsxRuntime.jsx("button", { type: "button", "aria-label": "View", onClick: stop(onView), className: "inline-flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", children: jsxRuntime.jsx(Eye, { className: "h-4 w-4" }) })), onDuplicate && (jsxRuntime.jsx("button", { type: "button", "aria-label": "Duplicate", onClick: stop(onDuplicate), className: "inline-flex h-7 w-7 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", children: jsxRuntime.jsx(Copy, { className: "h-4 w-4" }) })), menu] })] }))] }));
|
|
65071
65264
|
};
|
|
65072
65265
|
|
|
65073
|
-
const FILE_TYPE_PATTERNS = {
|
|
65074
|
-
PDF: /\.pdf($|\?)/i,
|
|
65075
|
-
IMAGE: /\.(jpg|jpeg|png|gif|bmp|webp|svg|heic|heif)($|\?)/i,
|
|
65076
|
-
DOCUMENT: /\.(doc|docx|xls|xlsx|ppt|pptx)($|\?)/i,
|
|
65077
|
-
VIDEO: /\.(mp4|avi|mov|wmv|flv|webm)($|\?)/i,
|
|
65078
|
-
AUDIO: /\.(mp3|wav|flac|aac|ogg)($|\?)/i,
|
|
65079
|
-
};
|
|
65080
|
-
const isFileType = {
|
|
65081
|
-
pdf: (url) => FILE_TYPE_PATTERNS.PDF.test(url),
|
|
65082
|
-
image: (url) => FILE_TYPE_PATTERNS.IMAGE.test(url),
|
|
65083
|
-
document: (url) => FILE_TYPE_PATTERNS.DOCUMENT.test(url),
|
|
65084
|
-
video: (url) => FILE_TYPE_PATTERNS.VIDEO.test(url),
|
|
65085
|
-
audio: (url) => FILE_TYPE_PATTERNS.AUDIO.test(url),
|
|
65086
|
-
};
|
|
65087
|
-
|
|
65088
|
-
/** Seek to ~1st frame for static video thumbnails (HTML5 media fragment). */
|
|
65089
|
-
const videoThumbnailSrc = (src) => {
|
|
65090
|
-
if (!src)
|
|
65091
|
-
return src;
|
|
65092
|
-
const [base] = src.split('#');
|
|
65093
|
-
return `${base}#t=0.1`;
|
|
65094
|
-
};
|
|
65095
|
-
const createVideoMediaItem = (src, index, idPrefix = 'vid') => ({
|
|
65096
|
-
id: `${idPrefix}-${index}`,
|
|
65097
|
-
kind: 'video',
|
|
65098
|
-
src,
|
|
65099
|
-
thumbSrc: videoThumbnailSrc(src),
|
|
65100
|
-
});
|
|
65101
|
-
const isPdfMediaItem = (item) => item.isPdf === true ||
|
|
65102
|
-
isFileType.pdf(item.src) ||
|
|
65103
|
-
(item.kind === 'certificate' && !isFileType.image(item.src));
|
|
65104
|
-
const MEDIA_KIND_ORDER = ['image', 'video', 'certificate'];
|
|
65105
|
-
const MEDIA_KIND_LABEL = {
|
|
65106
|
-
image: 'Images',
|
|
65107
|
-
video: 'Videos',
|
|
65108
|
-
certificate: 'Certificates',
|
|
65109
|
-
};
|
|
65110
|
-
const groupItemsByKind = (items) => {
|
|
65111
|
-
const out = {
|
|
65112
|
-
image: [],
|
|
65113
|
-
video: [],
|
|
65114
|
-
certificate: [],
|
|
65115
|
-
};
|
|
65116
|
-
for (const item of items) {
|
|
65117
|
-
out[item.kind].push(item);
|
|
65118
|
-
}
|
|
65119
|
-
return out;
|
|
65120
|
-
};
|
|
65121
|
-
const availableKinds = (items) => MEDIA_KIND_ORDER.filter((kind) => items.some((m) => m.kind === kind));
|
|
65122
|
-
|
|
65123
65266
|
const useMediaGallery = (items) => {
|
|
65124
65267
|
const itemsByKind = React.useMemo(() => groupItemsByKind(items), [items]);
|
|
65125
65268
|
const kinds = React.useMemo(() => availableKinds(items), [items]);
|
|
@@ -67739,6 +67882,7 @@ exports.getInitials = getInitials;
|
|
|
67739
67882
|
exports.iconButtonVariants = iconButtonVariants;
|
|
67740
67883
|
exports.isPathActive = isPathActive;
|
|
67741
67884
|
exports.notify = notify;
|
|
67885
|
+
exports.releaseStaleOverlayBodyLock = releaseStaleOverlayBodyLock;
|
|
67742
67886
|
exports.renderBadge = renderBadge;
|
|
67743
67887
|
exports.useAuditShowMore = useAuditShowMore;
|
|
67744
67888
|
exports.useBadge = useBadge;
|