@caratlogic/design-system 0.1.31 → 0.1.32

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 (29) hide show
  1. package/dist/components/atoms/NumberInput/NumberInput.d.ts.map +1 -1
  2. package/dist/components/atoms/NumberInput/NumberInput.types.d.ts +4 -0
  3. package/dist/components/atoms/NumberInput/NumberInput.types.d.ts.map +1 -1
  4. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  5. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.parts.d.ts +1 -0
  6. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.parts.d.ts.map +1 -1
  7. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.types.d.ts +5 -11
  8. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.types.d.ts.map +1 -1
  9. package/dist/components/molecules/DocumentDeleteDialog/DocumentDeleteDialog.d.ts +1 -1
  10. package/dist/components/molecules/DocumentDeleteDialog/DocumentDeleteDialog.d.ts.map +1 -1
  11. package/dist/components/molecules/Modal/Modal.d.ts +1 -1
  12. package/dist/components/molecules/Modal/Modal.d.ts.map +1 -1
  13. package/dist/components/molecules/Modal/Modal.types.d.ts +9 -3
  14. package/dist/components/molecules/Modal/Modal.types.d.ts.map +1 -1
  15. package/dist/components/organisms/FileUploader/ImageCropModal.d.ts.map +1 -1
  16. package/dist/components/ui/button.d.ts.map +1 -1
  17. package/dist/components/ui/dialog.d.ts +23 -2
  18. package/dist/components/ui/dialog.d.ts.map +1 -1
  19. package/dist/index.cjs.js +231 -174
  20. package/dist/index.cjs.js.map +1 -1
  21. package/dist/index.esm.js +232 -175
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/ui.cjs.js +60 -14
  24. package/dist/ui.cjs.js.map +1 -1
  25. package/dist/ui.esm.js +59 -15
  26. package/dist/ui.esm.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.hooks.d.ts +0 -3
  29. package/dist/components/molecules/ConfirmDialog/ConfirmDialog.hooks.d.ts.map +0 -1
package/dist/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment as Fragment$2 } from 'react/jsx-runtime';
2
2
  import { Slot } from '@radix-ui/react-slot';
3
3
  import { toast } from 'sonner';
4
4
  import * as React from 'react';
5
- import React__default, { forwardRef, createElement, useState, useCallback, useMemo, useEffect, useRef, Fragment as Fragment$3, createContext, useContext, useLayoutEffect, cloneElement, createRef, Component, useId as useId$2, lazy, Suspense, memo, useReducer, PureComponent, useDebugValue } from 'react';
5
+ import React__default, { forwardRef, createElement, useState, useCallback, useMemo, useEffect, useRef, Fragment as Fragment$3, createContext, useContext, useLayoutEffect, cloneElement, createRef, Component, useId as useId$2, isValidElement, lazy, Suspense, memo, useReducer, PureComponent, useDebugValue } from 'react';
6
6
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
7
7
  import * as SliderPrimitive from '@radix-ui/react-slider';
8
8
  import * as TabsPrimitive from '@radix-ui/react-tabs';
@@ -2668,12 +2668,12 @@ const createLucideIcon = (iconName, iconNode) => {
2668
2668
  */
2669
2669
 
2670
2670
 
2671
- const __iconNode$1s = [
2671
+ const __iconNode$1t = [
2672
2672
  ["path", { d: "M15 12H3", key: "6jk70r" }],
2673
2673
  ["path", { d: "M17 18H3", key: "1amg6g" }],
2674
2674
  ["path", { d: "M21 6H3", key: "1jwq7v" }]
2675
2675
  ];
2676
- const AlignLeft = createLucideIcon("align-left", __iconNode$1s);
2676
+ const AlignLeft = createLucideIcon("align-left", __iconNode$1t);
2677
2677
 
2678
2678
  /**
2679
2679
  * @license lucide-react v0.539.0 - ISC
@@ -2683,12 +2683,12 @@ const AlignLeft = createLucideIcon("align-left", __iconNode$1s);
2683
2683
  */
2684
2684
 
2685
2685
 
2686
- const __iconNode$1r = [
2686
+ const __iconNode$1s = [
2687
2687
  ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
2688
2688
  ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
2689
2689
  ["path", { d: "M10 12h4", key: "a56b0p" }]
2690
2690
  ];
2691
- const Archive = createLucideIcon("archive", __iconNode$1r);
2691
+ const Archive = createLucideIcon("archive", __iconNode$1s);
2692
2692
 
2693
2693
  /**
2694
2694
  * @license lucide-react v0.539.0 - ISC
@@ -2698,11 +2698,11 @@ const Archive = createLucideIcon("archive", __iconNode$1r);
2698
2698
  */
2699
2699
 
2700
2700
 
2701
- const __iconNode$1q = [
2701
+ const __iconNode$1r = [
2702
2702
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
2703
2703
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
2704
2704
  ];
2705
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1q);
2705
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1r);
2706
2706
 
2707
2707
  /**
2708
2708
  * @license lucide-react v0.539.0 - ISC
@@ -2712,11 +2712,11 @@ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1q);
2712
2712
  */
2713
2713
 
2714
2714
 
2715
- const __iconNode$1p = [
2715
+ const __iconNode$1q = [
2716
2716
  ["path", { d: "M5 12h14", key: "1ays0h" }],
2717
2717
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
2718
2718
  ];
2719
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$1p);
2719
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$1q);
2720
2720
 
2721
2721
  /**
2722
2722
  * @license lucide-react v0.539.0 - ISC
@@ -2726,11 +2726,11 @@ const ArrowRight = createLucideIcon("arrow-right", __iconNode$1p);
2726
2726
  */
2727
2727
 
2728
2728
 
2729
- const __iconNode$1o = [
2729
+ const __iconNode$1p = [
2730
2730
  ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }],
2731
2731
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
2732
2732
  ];
2733
- const Ban = createLucideIcon("ban", __iconNode$1o);
2733
+ const Ban = createLucideIcon("ban", __iconNode$1p);
2734
2734
 
2735
2735
  /**
2736
2736
  * @license lucide-react v0.539.0 - ISC
@@ -2740,7 +2740,7 @@ const Ban = createLucideIcon("ban", __iconNode$1o);
2740
2740
  */
2741
2741
 
2742
2742
 
2743
- const __iconNode$1n = [
2743
+ const __iconNode$1o = [
2744
2744
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
2745
2745
  [
2746
2746
  "path",
@@ -2751,7 +2751,7 @@ const __iconNode$1n = [
2751
2751
  ],
2752
2752
  ["circle", { cx: "18", cy: "8", r: "3", key: "1g0gzu" }]
2753
2753
  ];
2754
- const BellDot = createLucideIcon("bell-dot", __iconNode$1n);
2754
+ const BellDot = createLucideIcon("bell-dot", __iconNode$1o);
2755
2755
 
2756
2756
  /**
2757
2757
  * @license lucide-react v0.539.0 - ISC
@@ -2761,7 +2761,7 @@ const BellDot = createLucideIcon("bell-dot", __iconNode$1n);
2761
2761
  */
2762
2762
 
2763
2763
 
2764
- const __iconNode$1m = [
2764
+ const __iconNode$1n = [
2765
2765
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
2766
2766
  ["path", { d: "M22 8c0-2.3-.8-4.3-2-6", key: "5bb3ad" }],
2767
2767
  [
@@ -2773,7 +2773,7 @@ const __iconNode$1m = [
2773
2773
  ],
2774
2774
  ["path", { d: "M4 2C2.8 3.7 2 5.7 2 8", key: "tap9e0" }]
2775
2775
  ];
2776
- const BellRing = createLucideIcon("bell-ring", __iconNode$1m);
2776
+ const BellRing = createLucideIcon("bell-ring", __iconNode$1n);
2777
2777
 
2778
2778
  /**
2779
2779
  * @license lucide-react v0.539.0 - ISC
@@ -2783,7 +2783,7 @@ const BellRing = createLucideIcon("bell-ring", __iconNode$1m);
2783
2783
  */
2784
2784
 
2785
2785
 
2786
- const __iconNode$1l = [
2786
+ const __iconNode$1m = [
2787
2787
  ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
2788
2788
  [
2789
2789
  "path",
@@ -2793,7 +2793,7 @@ const __iconNode$1l = [
2793
2793
  }
2794
2794
  ]
2795
2795
  ];
2796
- const Bell = createLucideIcon("bell", __iconNode$1l);
2796
+ const Bell = createLucideIcon("bell", __iconNode$1m);
2797
2797
 
2798
2798
  /**
2799
2799
  * @license lucide-react v0.539.0 - ISC
@@ -2803,13 +2803,13 @@ const Bell = createLucideIcon("bell", __iconNode$1l);
2803
2803
  */
2804
2804
 
2805
2805
 
2806
- const __iconNode$1k = [
2806
+ const __iconNode$1l = [
2807
2807
  [
2808
2808
  "path",
2809
2809
  { 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" }
2810
2810
  ]
2811
2811
  ];
2812
- const Bold$1 = createLucideIcon("bold", __iconNode$1k);
2812
+ const Bold$1 = createLucideIcon("bold", __iconNode$1l);
2813
2813
 
2814
2814
  /**
2815
2815
  * @license lucide-react v0.539.0 - ISC
@@ -2819,7 +2819,7 @@ const Bold$1 = createLucideIcon("bold", __iconNode$1k);
2819
2819
  */
2820
2820
 
2821
2821
 
2822
- const __iconNode$1j = [
2822
+ const __iconNode$1k = [
2823
2823
  [
2824
2824
  "path",
2825
2825
  {
@@ -2830,7 +2830,7 @@ const __iconNode$1j = [
2830
2830
  ["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }],
2831
2831
  ["path", { d: "M12 22V12", key: "d0xqtd" }]
2832
2832
  ];
2833
- const Box = createLucideIcon("box", __iconNode$1j);
2833
+ const Box = createLucideIcon("box", __iconNode$1k);
2834
2834
 
2835
2835
  /**
2836
2836
  * @license lucide-react v0.539.0 - ISC
@@ -2840,7 +2840,7 @@ const Box = createLucideIcon("box", __iconNode$1j);
2840
2840
  */
2841
2841
 
2842
2842
 
2843
- const __iconNode$1i = [
2843
+ const __iconNode$1j = [
2844
2844
  ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
2845
2845
  ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
2846
2846
  ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
@@ -2849,7 +2849,7 @@ const __iconNode$1i = [
2849
2849
  ["path", { d: "M10 14h4", key: "kelpxr" }],
2850
2850
  ["path", { d: "M10 18h4", key: "1ulq68" }]
2851
2851
  ];
2852
- const Building2 = createLucideIcon("building-2", __iconNode$1i);
2852
+ const Building2 = createLucideIcon("building-2", __iconNode$1j);
2853
2853
 
2854
2854
  /**
2855
2855
  * @license lucide-react v0.539.0 - ISC
@@ -2859,7 +2859,7 @@ const Building2 = createLucideIcon("building-2", __iconNode$1i);
2859
2859
  */
2860
2860
 
2861
2861
 
2862
- const __iconNode$1h = [
2862
+ const __iconNode$1i = [
2863
2863
  ["path", { d: "M8 2v4", key: "1cmpym" }],
2864
2864
  ["path", { d: "M16 2v4", key: "4m81vk" }],
2865
2865
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
@@ -2871,7 +2871,7 @@ const __iconNode$1h = [
2871
2871
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
2872
2872
  ["path", { d: "M16 18h.01", key: "kzsmim" }]
2873
2873
  ];
2874
- const CalendarDays = createLucideIcon("calendar-days", __iconNode$1h);
2874
+ const CalendarDays = createLucideIcon("calendar-days", __iconNode$1i);
2875
2875
 
2876
2876
  /**
2877
2877
  * @license lucide-react v0.539.0 - ISC
@@ -2881,13 +2881,13 @@ const CalendarDays = createLucideIcon("calendar-days", __iconNode$1h);
2881
2881
  */
2882
2882
 
2883
2883
 
2884
- const __iconNode$1g = [
2884
+ const __iconNode$1h = [
2885
2885
  ["path", { d: "M8 2v4", key: "1cmpym" }],
2886
2886
  ["path", { d: "M16 2v4", key: "4m81vk" }],
2887
2887
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
2888
2888
  ["path", { d: "M3 10h18", key: "8toen8" }]
2889
2889
  ];
2890
- const Calendar$1 = createLucideIcon("calendar", __iconNode$1g);
2890
+ const Calendar$1 = createLucideIcon("calendar", __iconNode$1h);
2891
2891
 
2892
2892
  /**
2893
2893
  * @license lucide-react v0.539.0 - ISC
@@ -2897,11 +2897,11 @@ const Calendar$1 = createLucideIcon("calendar", __iconNode$1g);
2897
2897
  */
2898
2898
 
2899
2899
 
2900
- const __iconNode$1f = [
2900
+ const __iconNode$1g = [
2901
2901
  ["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }],
2902
2902
  ["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }]
2903
2903
  ];
2904
- const CheckCheck = createLucideIcon("check-check", __iconNode$1f);
2904
+ const CheckCheck = createLucideIcon("check-check", __iconNode$1g);
2905
2905
 
2906
2906
  /**
2907
2907
  * @license lucide-react v0.539.0 - ISC
@@ -2911,8 +2911,8 @@ const CheckCheck = createLucideIcon("check-check", __iconNode$1f);
2911
2911
  */
2912
2912
 
2913
2913
 
2914
- const __iconNode$1e = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2915
- const Check = createLucideIcon("check", __iconNode$1e);
2914
+ const __iconNode$1f = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
2915
+ const Check = createLucideIcon("check", __iconNode$1f);
2916
2916
 
2917
2917
  /**
2918
2918
  * @license lucide-react v0.539.0 - ISC
@@ -2922,8 +2922,8 @@ const Check = createLucideIcon("check", __iconNode$1e);
2922
2922
  */
2923
2923
 
2924
2924
 
2925
- const __iconNode$1d = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2926
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$1d);
2925
+ const __iconNode$1e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
2926
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1e);
2927
2927
 
2928
2928
  /**
2929
2929
  * @license lucide-react v0.539.0 - ISC
@@ -2933,8 +2933,8 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1d);
2933
2933
  */
2934
2934
 
2935
2935
 
2936
- const __iconNode$1c = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
2937
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1c);
2936
+ const __iconNode$1d = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
2937
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1d);
2938
2938
 
2939
2939
  /**
2940
2940
  * @license lucide-react v0.539.0 - ISC
@@ -2944,8 +2944,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1c);
2944
2944
  */
2945
2945
 
2946
2946
 
2947
- const __iconNode$1b = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
2948
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$1b);
2947
+ const __iconNode$1c = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
2948
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1c);
2949
2949
 
2950
2950
  /**
2951
2951
  * @license lucide-react v0.539.0 - ISC
@@ -2955,8 +2955,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1b);
2955
2955
  */
2956
2956
 
2957
2957
 
2958
- const __iconNode$1a = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
2959
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$1a);
2958
+ const __iconNode$1b = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
2959
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1b);
2960
2960
 
2961
2961
  /**
2962
2962
  * @license lucide-react v0.539.0 - ISC
@@ -2966,11 +2966,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1a);
2966
2966
  */
2967
2967
 
2968
2968
 
2969
- const __iconNode$19 = [
2969
+ const __iconNode$1a = [
2970
2970
  ["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }],
2971
2971
  ["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }]
2972
2972
  ];
2973
- const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$19);
2973
+ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$1a);
2974
2974
 
2975
2975
  /**
2976
2976
  * @license lucide-react v0.539.0 - ISC
@@ -2980,11 +2980,11 @@ const ChevronsLeft = createLucideIcon("chevrons-left", __iconNode$19);
2980
2980
  */
2981
2981
 
2982
2982
 
2983
- const __iconNode$18 = [
2983
+ const __iconNode$19 = [
2984
2984
  ["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }],
2985
2985
  ["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }]
2986
2986
  ];
2987
- const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$18);
2987
+ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$19);
2988
2988
 
2989
2989
  /**
2990
2990
  * @license lucide-react v0.539.0 - ISC
@@ -2994,12 +2994,12 @@ const ChevronsRight = createLucideIcon("chevrons-right", __iconNode$18);
2994
2994
  */
2995
2995
 
2996
2996
 
2997
- const __iconNode$17 = [
2997
+ const __iconNode$18 = [
2998
2998
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
2999
2999
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
3000
3000
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
3001
3001
  ];
3002
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$17);
3002
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$18);
3003
3003
 
3004
3004
  /**
3005
3005
  * @license lucide-react v0.539.0 - ISC
@@ -3009,11 +3009,11 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$17);
3009
3009
  */
3010
3010
 
3011
3011
 
3012
- const __iconNode$16 = [
3012
+ const __iconNode$17 = [
3013
3013
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
3014
3014
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
3015
3015
  ];
3016
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$16);
3016
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$17);
3017
3017
 
3018
3018
  /**
3019
3019
  * @license lucide-react v0.539.0 - ISC
@@ -3023,11 +3023,11 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$16);
3023
3023
  */
3024
3024
 
3025
3025
 
3026
- const __iconNode$15 = [
3026
+ const __iconNode$16 = [
3027
3027
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3028
3028
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
3029
3029
  ];
3030
- const CircleCheck = createLucideIcon("circle-check", __iconNode$15);
3030
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$16);
3031
3031
 
3032
3032
  /**
3033
3033
  * @license lucide-react v0.539.0 - ISC
@@ -3037,11 +3037,11 @@ const CircleCheck = createLucideIcon("circle-check", __iconNode$15);
3037
3037
  */
3038
3038
 
3039
3039
 
3040
- const __iconNode$14 = [
3040
+ const __iconNode$15 = [
3041
3041
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3042
3042
  ["path", { d: "m16 10-4 4-4-4", key: "894hmk" }]
3043
3043
  ];
3044
- const CircleChevronDown = createLucideIcon("circle-chevron-down", __iconNode$14);
3044
+ const CircleChevronDown = createLucideIcon("circle-chevron-down", __iconNode$15);
3045
3045
 
3046
3046
  /**
3047
3047
  * @license lucide-react v0.539.0 - ISC
@@ -3051,11 +3051,11 @@ const CircleChevronDown = createLucideIcon("circle-chevron-down", __iconNode$14)
3051
3051
  */
3052
3052
 
3053
3053
 
3054
- const __iconNode$13 = [
3054
+ const __iconNode$14 = [
3055
3055
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3056
3056
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }]
3057
3057
  ];
3058
- const CircleDot = createLucideIcon("circle-dot", __iconNode$13);
3058
+ const CircleDot = createLucideIcon("circle-dot", __iconNode$14);
3059
3059
 
3060
3060
  /**
3061
3061
  * @license lucide-react v0.539.0 - ISC
@@ -3065,12 +3065,12 @@ const CircleDot = createLucideIcon("circle-dot", __iconNode$13);
3065
3065
  */
3066
3066
 
3067
3067
 
3068
- const __iconNode$12 = [
3068
+ const __iconNode$13 = [
3069
3069
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3070
3070
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
3071
3071
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
3072
3072
  ];
3073
- const CircleX = createLucideIcon("circle-x", __iconNode$12);
3073
+ const CircleX = createLucideIcon("circle-x", __iconNode$13);
3074
3074
 
3075
3075
  /**
3076
3076
  * @license lucide-react v0.539.0 - ISC
@@ -3080,8 +3080,8 @@ const CircleX = createLucideIcon("circle-x", __iconNode$12);
3080
3080
  */
3081
3081
 
3082
3082
 
3083
- const __iconNode$11 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
3084
- const Circle = createLucideIcon("circle", __iconNode$11);
3083
+ const __iconNode$12 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
3084
+ const Circle = createLucideIcon("circle", __iconNode$12);
3085
3085
 
3086
3086
  /**
3087
3087
  * @license lucide-react v0.539.0 - ISC
@@ -3091,11 +3091,11 @@ const Circle = createLucideIcon("circle", __iconNode$11);
3091
3091
  */
3092
3092
 
3093
3093
 
3094
- const __iconNode$10 = [
3094
+ const __iconNode$11 = [
3095
3095
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
3096
3096
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
3097
3097
  ];
3098
- const Clock = createLucideIcon("clock", __iconNode$10);
3098
+ const Clock = createLucideIcon("clock", __iconNode$11);
3099
3099
 
3100
3100
  /**
3101
3101
  * @license lucide-react v0.539.0 - ISC
@@ -3105,11 +3105,11 @@ const Clock = createLucideIcon("clock", __iconNode$10);
3105
3105
  */
3106
3106
 
3107
3107
 
3108
- const __iconNode$$ = [
3108
+ const __iconNode$10 = [
3109
3109
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
3110
3110
  ["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" }]
3111
3111
  ];
3112
- const Copy = createLucideIcon("copy", __iconNode$$);
3112
+ const Copy = createLucideIcon("copy", __iconNode$10);
3113
3113
 
3114
3114
  /**
3115
3115
  * @license lucide-react v0.539.0 - ISC
@@ -3119,11 +3119,11 @@ const Copy = createLucideIcon("copy", __iconNode$$);
3119
3119
  */
3120
3120
 
3121
3121
 
3122
- const __iconNode$_ = [
3122
+ const __iconNode$$ = [
3123
3123
  ["path", { d: "M6 2v14a2 2 0 0 0 2 2h14", key: "ron5a4" }],
3124
3124
  ["path", { d: "M18 22V8a2 2 0 0 0-2-2H2", key: "7s9ehn" }]
3125
3125
  ];
3126
- const Crop = createLucideIcon("crop", __iconNode$_);
3126
+ const Crop = createLucideIcon("crop", __iconNode$$);
3127
3127
 
3128
3128
  /**
3129
3129
  * @license lucide-react v0.539.0 - ISC
@@ -3133,12 +3133,12 @@ const Crop = createLucideIcon("crop", __iconNode$_);
3133
3133
  */
3134
3134
 
3135
3135
 
3136
- const __iconNode$Z = [
3136
+ const __iconNode$_ = [
3137
3137
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
3138
3138
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
3139
3139
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
3140
3140
  ];
3141
- const Download = createLucideIcon("download", __iconNode$Z);
3141
+ const Download = createLucideIcon("download", __iconNode$_);
3142
3142
 
3143
3143
  /**
3144
3144
  * @license lucide-react v0.539.0 - ISC
@@ -3148,12 +3148,12 @@ const Download = createLucideIcon("download", __iconNode$Z);
3148
3148
  */
3149
3149
 
3150
3150
 
3151
- const __iconNode$Y = [
3151
+ const __iconNode$Z = [
3152
3152
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
3153
3153
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
3154
3154
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
3155
3155
  ];
3156
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Y);
3156
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Z);
3157
3157
 
3158
3158
  /**
3159
3159
  * @license lucide-react v0.539.0 - ISC
@@ -3163,12 +3163,12 @@ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Y);
3163
3163
  */
3164
3164
 
3165
3165
 
3166
- const __iconNode$X = [
3166
+ const __iconNode$Y = [
3167
3167
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
3168
3168
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
3169
3169
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
3170
3170
  ];
3171
- const Ellipsis = createLucideIcon("ellipsis", __iconNode$X);
3171
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$Y);
3172
3172
 
3173
3173
  /**
3174
3174
  * @license lucide-react v0.539.0 - ISC
@@ -3178,12 +3178,12 @@ const Ellipsis = createLucideIcon("ellipsis", __iconNode$X);
3178
3178
  */
3179
3179
 
3180
3180
 
3181
- const __iconNode$W = [
3181
+ const __iconNode$X = [
3182
3182
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
3183
3183
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
3184
3184
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
3185
3185
  ];
3186
- const ExternalLink = createLucideIcon("external-link", __iconNode$W);
3186
+ const ExternalLink = createLucideIcon("external-link", __iconNode$X);
3187
3187
 
3188
3188
  /**
3189
3189
  * @license lucide-react v0.539.0 - ISC
@@ -3193,7 +3193,7 @@ const ExternalLink = createLucideIcon("external-link", __iconNode$W);
3193
3193
  */
3194
3194
 
3195
3195
 
3196
- const __iconNode$V = [
3196
+ const __iconNode$W = [
3197
3197
  [
3198
3198
  "path",
3199
3199
  {
@@ -3203,7 +3203,7 @@ const __iconNode$V = [
3203
3203
  ],
3204
3204
  ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
3205
3205
  ];
3206
- const Eye = createLucideIcon("eye", __iconNode$V);
3206
+ const Eye = createLucideIcon("eye", __iconNode$W);
3207
3207
 
3208
3208
  /**
3209
3209
  * @license lucide-react v0.539.0 - ISC
@@ -3213,13 +3213,13 @@ const Eye = createLucideIcon("eye", __iconNode$V);
3213
3213
  */
3214
3214
 
3215
3215
 
3216
- const __iconNode$U = [
3216
+ const __iconNode$V = [
3217
3217
  [
3218
3218
  "path",
3219
3219
  { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z", key: "1jg4f8" }
3220
3220
  ]
3221
3221
  ];
3222
- const Facebook = createLucideIcon("facebook", __iconNode$U);
3222
+ const Facebook = createLucideIcon("facebook", __iconNode$V);
3223
3223
 
3224
3224
  /**
3225
3225
  * @license lucide-react v0.539.0 - ISC
@@ -3229,7 +3229,7 @@ const Facebook = createLucideIcon("facebook", __iconNode$U);
3229
3229
  */
3230
3230
 
3231
3231
 
3232
- const __iconNode$T = [
3232
+ const __iconNode$U = [
3233
3233
  ["path", { d: "M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.072", key: "n6s66f" }],
3234
3234
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
3235
3235
  [
@@ -3241,7 +3241,7 @@ const __iconNode$T = [
3241
3241
  ],
3242
3242
  ["circle", { cx: "5", cy: "14", r: "3", key: "ufru5t" }]
3243
3243
  ];
3244
- const FileBadge = createLucideIcon("file-badge", __iconNode$T);
3244
+ const FileBadge = createLucideIcon("file-badge", __iconNode$U);
3245
3245
 
3246
3246
  /**
3247
3247
  * @license lucide-react v0.539.0 - ISC
@@ -3251,12 +3251,12 @@ const FileBadge = createLucideIcon("file-badge", __iconNode$T);
3251
3251
  */
3252
3252
 
3253
3253
 
3254
- const __iconNode$S = [
3254
+ const __iconNode$T = [
3255
3255
  ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }],
3256
3256
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
3257
3257
  ["path", { d: "m3 15 2 2 4-4", key: "1lhrkk" }]
3258
3258
  ];
3259
- const FileCheck2 = createLucideIcon("file-check-2", __iconNode$S);
3259
+ const FileCheck2 = createLucideIcon("file-check-2", __iconNode$T);
3260
3260
 
3261
3261
  /**
3262
3262
  * @license lucide-react v0.539.0 - ISC
@@ -3266,14 +3266,14 @@ const FileCheck2 = createLucideIcon("file-check-2", __iconNode$S);
3266
3266
  */
3267
3267
 
3268
3268
 
3269
- const __iconNode$R = [
3269
+ const __iconNode$S = [
3270
3270
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
3271
3271
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
3272
3272
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
3273
3273
  ["path", { d: "M16 13H8", key: "t4e002" }],
3274
3274
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
3275
3275
  ];
3276
- const FileText = createLucideIcon("file-text", __iconNode$R);
3276
+ const FileText = createLucideIcon("file-text", __iconNode$S);
3277
3277
 
3278
3278
  /**
3279
3279
  * @license lucide-react v0.539.0 - ISC
@@ -3283,7 +3283,7 @@ const FileText = createLucideIcon("file-text", __iconNode$R);
3283
3283
  */
3284
3284
 
3285
3285
 
3286
- const __iconNode$Q = [
3286
+ const __iconNode$R = [
3287
3287
  [
3288
3288
  "path",
3289
3289
  {
@@ -3292,7 +3292,7 @@ const __iconNode$Q = [
3292
3292
  }
3293
3293
  ]
3294
3294
  ];
3295
- const Funnel = createLucideIcon("funnel", __iconNode$Q);
3295
+ const Funnel = createLucideIcon("funnel", __iconNode$R);
3296
3296
 
3297
3297
  /**
3298
3298
  * @license lucide-react v0.539.0 - ISC
@@ -3302,7 +3302,7 @@ const Funnel = createLucideIcon("funnel", __iconNode$Q);
3302
3302
  */
3303
3303
 
3304
3304
 
3305
- const __iconNode$P = [
3305
+ const __iconNode$Q = [
3306
3306
  ["path", { d: "M10.5 3 8 9l4 13 4-13-2.5-6", key: "b3dvk1" }],
3307
3307
  [
3308
3308
  "path",
@@ -3313,7 +3313,7 @@ const __iconNode$P = [
3313
3313
  ],
3314
3314
  ["path", { d: "M2 9h20", key: "16fsjt" }]
3315
3315
  ];
3316
- const Gem = createLucideIcon("gem", __iconNode$P);
3316
+ const Gem = createLucideIcon("gem", __iconNode$Q);
3317
3317
 
3318
3318
  /**
3319
3319
  * @license lucide-react v0.539.0 - ISC
@@ -3323,7 +3323,7 @@ const Gem = createLucideIcon("gem", __iconNode$P);
3323
3323
  */
3324
3324
 
3325
3325
 
3326
- const __iconNode$O = [
3326
+ const __iconNode$P = [
3327
3327
  ["circle", { cx: "12", cy: "9", r: "1", key: "124mty" }],
3328
3328
  ["circle", { cx: "19", cy: "9", r: "1", key: "1ruzo2" }],
3329
3329
  ["circle", { cx: "5", cy: "9", r: "1", key: "1a8b28" }],
@@ -3331,7 +3331,7 @@ const __iconNode$O = [
3331
3331
  ["circle", { cx: "19", cy: "15", r: "1", key: "1a92ep" }],
3332
3332
  ["circle", { cx: "5", cy: "15", r: "1", key: "5r1jwy" }]
3333
3333
  ];
3334
- const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$O);
3334
+ const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$P);
3335
3335
 
3336
3336
  /**
3337
3337
  * @license lucide-react v0.539.0 - ISC
@@ -3341,7 +3341,7 @@ const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$O);
3341
3341
  */
3342
3342
 
3343
3343
 
3344
- const __iconNode$N = [
3344
+ const __iconNode$O = [
3345
3345
  ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }],
3346
3346
  ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }],
3347
3347
  ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }],
@@ -3349,7 +3349,7 @@ const __iconNode$N = [
3349
3349
  ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
3350
3350
  ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
3351
3351
  ];
3352
- const GripVertical = createLucideIcon("grip-vertical", __iconNode$N);
3352
+ const GripVertical = createLucideIcon("grip-vertical", __iconNode$O);
3353
3353
 
3354
3354
  /**
3355
3355
  * @license lucide-react v0.539.0 - ISC
@@ -3359,13 +3359,13 @@ const GripVertical = createLucideIcon("grip-vertical", __iconNode$N);
3359
3359
  */
3360
3360
 
3361
3361
 
3362
- const __iconNode$M = [
3362
+ const __iconNode$N = [
3363
3363
  ["line", { x1: "4", x2: "20", y1: "9", y2: "9", key: "4lhtct" }],
3364
3364
  ["line", { x1: "4", x2: "20", y1: "15", y2: "15", key: "vyu0kd" }],
3365
3365
  ["line", { x1: "10", x2: "8", y1: "3", y2: "21", key: "1ggp8o" }],
3366
3366
  ["line", { x1: "16", x2: "14", y1: "3", y2: "21", key: "weycgp" }]
3367
3367
  ];
3368
- const Hash = createLucideIcon("hash", __iconNode$M);
3368
+ const Hash = createLucideIcon("hash", __iconNode$N);
3369
3369
 
3370
3370
  /**
3371
3371
  * @license lucide-react v0.539.0 - ISC
@@ -3375,13 +3375,13 @@ const Hash = createLucideIcon("hash", __iconNode$M);
3375
3375
  */
3376
3376
 
3377
3377
 
3378
- const __iconNode$L = [
3378
+ const __iconNode$M = [
3379
3379
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3380
3380
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3381
3381
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3382
3382
  ["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
3383
3383
  ];
3384
- const Heading1 = createLucideIcon("heading-1", __iconNode$L);
3384
+ const Heading1 = createLucideIcon("heading-1", __iconNode$M);
3385
3385
 
3386
3386
  /**
3387
3387
  * @license lucide-react v0.539.0 - ISC
@@ -3391,13 +3391,13 @@ const Heading1 = createLucideIcon("heading-1", __iconNode$L);
3391
3391
  */
3392
3392
 
3393
3393
 
3394
- const __iconNode$K = [
3394
+ const __iconNode$L = [
3395
3395
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3396
3396
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3397
3397
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3398
3398
  ["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }]
3399
3399
  ];
3400
- const Heading2 = createLucideIcon("heading-2", __iconNode$K);
3400
+ const Heading2 = createLucideIcon("heading-2", __iconNode$L);
3401
3401
 
3402
3402
  /**
3403
3403
  * @license lucide-react v0.539.0 - ISC
@@ -3407,14 +3407,14 @@ const Heading2 = createLucideIcon("heading-2", __iconNode$K);
3407
3407
  */
3408
3408
 
3409
3409
 
3410
- const __iconNode$J = [
3410
+ const __iconNode$K = [
3411
3411
  ["path", { d: "M4 12h8", key: "17cfdx" }],
3412
3412
  ["path", { d: "M4 18V6", key: "1rz3zl" }],
3413
3413
  ["path", { d: "M12 18V6", key: "zqpxq5" }],
3414
3414
  ["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }],
3415
3415
  ["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }]
3416
3416
  ];
3417
- const Heading3 = createLucideIcon("heading-3", __iconNode$J);
3417
+ const Heading3 = createLucideIcon("heading-3", __iconNode$K);
3418
3418
 
3419
3419
  /**
3420
3420
  * @license lucide-react v0.539.0 - ISC
@@ -3424,12 +3424,12 @@ const Heading3 = createLucideIcon("heading-3", __iconNode$J);
3424
3424
  */
3425
3425
 
3426
3426
 
3427
- const __iconNode$I = [
3427
+ const __iconNode$J = [
3428
3428
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
3429
3429
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
3430
3430
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
3431
3431
  ];
3432
- const History = createLucideIcon("history", __iconNode$I);
3432
+ const History = createLucideIcon("history", __iconNode$J);
3433
3433
 
3434
3434
  /**
3435
3435
  * @license lucide-react v0.539.0 - ISC
@@ -3439,12 +3439,12 @@ const History = createLucideIcon("history", __iconNode$I);
3439
3439
  */
3440
3440
 
3441
3441
 
3442
- const __iconNode$H = [
3442
+ const __iconNode$I = [
3443
3443
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
3444
3444
  ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
3445
3445
  ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
3446
3446
  ];
3447
- const Image$1 = createLucideIcon("image", __iconNode$H);
3447
+ const Image$1 = createLucideIcon("image", __iconNode$I);
3448
3448
 
3449
3449
  /**
3450
3450
  * @license lucide-react v0.539.0 - ISC
@@ -3454,12 +3454,12 @@ const Image$1 = createLucideIcon("image", __iconNode$H);
3454
3454
  */
3455
3455
 
3456
3456
 
3457
- const __iconNode$G = [
3457
+ const __iconNode$H = [
3458
3458
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
3459
3459
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
3460
3460
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
3461
3461
  ];
3462
- const Info = createLucideIcon("info", __iconNode$G);
3462
+ const Info = createLucideIcon("info", __iconNode$H);
3463
3463
 
3464
3464
  /**
3465
3465
  * @license lucide-react v0.539.0 - ISC
@@ -3469,12 +3469,12 @@ const Info = createLucideIcon("info", __iconNode$G);
3469
3469
  */
3470
3470
 
3471
3471
 
3472
- const __iconNode$F = [
3472
+ const __iconNode$G = [
3473
3473
  ["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }],
3474
3474
  ["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }],
3475
3475
  ["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }]
3476
3476
  ];
3477
- const Italic$1 = createLucideIcon("italic", __iconNode$F);
3477
+ const Italic$1 = createLucideIcon("italic", __iconNode$G);
3478
3478
 
3479
3479
  /**
3480
3480
  * @license lucide-react v0.539.0 - ISC
@@ -3484,7 +3484,7 @@ const Italic$1 = createLucideIcon("italic", __iconNode$F);
3484
3484
  */
3485
3485
 
3486
3486
 
3487
- const __iconNode$E = [
3487
+ const __iconNode$F = [
3488
3488
  [
3489
3489
  "path",
3490
3490
  {
@@ -3494,7 +3494,7 @@ const __iconNode$E = [
3494
3494
  ],
3495
3495
  ["circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor", key: "w0ekpg" }]
3496
3496
  ];
3497
- const KeyRound = createLucideIcon("key-round", __iconNode$E);
3497
+ const KeyRound = createLucideIcon("key-round", __iconNode$F);
3498
3498
 
3499
3499
  /**
3500
3500
  * @license lucide-react v0.539.0 - ISC
@@ -3504,12 +3504,12 @@ const KeyRound = createLucideIcon("key-round", __iconNode$E);
3504
3504
  */
3505
3505
 
3506
3506
 
3507
- const __iconNode$D = [
3507
+ const __iconNode$E = [
3508
3508
  ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }],
3509
3509
  ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }],
3510
3510
  ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }]
3511
3511
  ];
3512
- const Link2 = createLucideIcon("link-2", __iconNode$D);
3512
+ const Link2 = createLucideIcon("link-2", __iconNode$E);
3513
3513
 
3514
3514
  /**
3515
3515
  * @license lucide-react v0.539.0 - ISC
@@ -3519,14 +3519,14 @@ const Link2 = createLucideIcon("link-2", __iconNode$D);
3519
3519
  */
3520
3520
 
3521
3521
 
3522
- const __iconNode$C = [
3522
+ const __iconNode$D = [
3523
3523
  ["path", { d: "m3 17 2 2 4-4", key: "1jhpwq" }],
3524
3524
  ["path", { d: "m3 7 2 2 4-4", key: "1obspn" }],
3525
3525
  ["path", { d: "M13 6h8", key: "15sg57" }],
3526
3526
  ["path", { d: "M13 12h8", key: "h98zly" }],
3527
3527
  ["path", { d: "M13 18h8", key: "oe0vm4" }]
3528
3528
  ];
3529
- const ListChecks = createLucideIcon("list-checks", __iconNode$C);
3529
+ const ListChecks = createLucideIcon("list-checks", __iconNode$D);
3530
3530
 
3531
3531
  /**
3532
3532
  * @license lucide-react v0.539.0 - ISC
@@ -3536,7 +3536,7 @@ const ListChecks = createLucideIcon("list-checks", __iconNode$C);
3536
3536
  */
3537
3537
 
3538
3538
 
3539
- const __iconNode$B = [
3539
+ const __iconNode$C = [
3540
3540
  ["path", { d: "M10 12h11", key: "6m4ad9" }],
3541
3541
  ["path", { d: "M10 18h11", key: "11hvi2" }],
3542
3542
  ["path", { d: "M10 6h11", key: "c7qv1k" }],
@@ -3544,7 +3544,7 @@ const __iconNode$B = [
3544
3544
  ["path", { d: "M4 6h1v4", key: "cnovpq" }],
3545
3545
  ["path", { d: "M6 18H4c0-1 2-2 2-3s-1-1.5-2-1", key: "m9a95d" }]
3546
3546
  ];
3547
- const ListOrdered = createLucideIcon("list-ordered", __iconNode$B);
3547
+ const ListOrdered = createLucideIcon("list-ordered", __iconNode$C);
3548
3548
 
3549
3549
  /**
3550
3550
  * @license lucide-react v0.539.0 - ISC
@@ -3554,7 +3554,7 @@ const ListOrdered = createLucideIcon("list-ordered", __iconNode$B);
3554
3554
  */
3555
3555
 
3556
3556
 
3557
- const __iconNode$A = [
3557
+ const __iconNode$B = [
3558
3558
  ["path", { d: "M3 12h.01", key: "nlz23k" }],
3559
3559
  ["path", { d: "M3 18h.01", key: "1tta3j" }],
3560
3560
  ["path", { d: "M3 6h.01", key: "1rqtza" }],
@@ -3562,7 +3562,7 @@ const __iconNode$A = [
3562
3562
  ["path", { d: "M8 18h13", key: "1lx6n3" }],
3563
3563
  ["path", { d: "M8 6h13", key: "ik3vkj" }]
3564
3564
  ];
3565
- const List = createLucideIcon("list", __iconNode$A);
3565
+ const List = createLucideIcon("list", __iconNode$B);
3566
3566
 
3567
3567
  /**
3568
3568
  * @license lucide-react v0.539.0 - ISC
@@ -3572,8 +3572,8 @@ const List = createLucideIcon("list", __iconNode$A);
3572
3572
  */
3573
3573
 
3574
3574
 
3575
- const __iconNode$z = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
3576
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$z);
3575
+ const __iconNode$A = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
3576
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$A);
3577
3577
 
3578
3578
  /**
3579
3579
  * @license lucide-react v0.539.0 - ISC
@@ -3583,7 +3583,7 @@ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$z);
3583
3583
  */
3584
3584
 
3585
3585
 
3586
- const __iconNode$y = [
3586
+ const __iconNode$z = [
3587
3587
  ["path", { d: "M12 2v4", key: "3427ic" }],
3588
3588
  ["path", { d: "m16.2 7.8 2.9-2.9", key: "r700ao" }],
3589
3589
  ["path", { d: "M18 12h4", key: "wj9ykh" }],
@@ -3593,7 +3593,7 @@ const __iconNode$y = [
3593
3593
  ["path", { d: "M2 12h4", key: "j09sii" }],
3594
3594
  ["path", { d: "m4.9 4.9 2.9 2.9", key: "giyufr" }]
3595
3595
  ];
3596
- const Loader = createLucideIcon("loader", __iconNode$y);
3596
+ const Loader = createLucideIcon("loader", __iconNode$z);
3597
3597
 
3598
3598
  /**
3599
3599
  * @license lucide-react v0.539.0 - ISC
@@ -3603,12 +3603,12 @@ const Loader = createLucideIcon("loader", __iconNode$y);
3603
3603
  */
3604
3604
 
3605
3605
 
3606
- const __iconNode$x = [
3606
+ const __iconNode$y = [
3607
3607
  ["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
3608
3608
  ["path", { d: "M21 12H9", key: "dn1m92" }],
3609
3609
  ["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }]
3610
3610
  ];
3611
- const LogOut = createLucideIcon("log-out", __iconNode$x);
3611
+ const LogOut = createLucideIcon("log-out", __iconNode$y);
3612
3612
 
3613
3613
  /**
3614
3614
  * @license lucide-react v0.539.0 - ISC
@@ -3618,11 +3618,11 @@ const LogOut = createLucideIcon("log-out", __iconNode$x);
3618
3618
  */
3619
3619
 
3620
3620
 
3621
- const __iconNode$w = [
3621
+ const __iconNode$x = [
3622
3622
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
3623
3623
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
3624
3624
  ];
3625
- const Mail = createLucideIcon("mail", __iconNode$w);
3625
+ const Mail = createLucideIcon("mail", __iconNode$x);
3626
3626
 
3627
3627
  /**
3628
3628
  * @license lucide-react v0.539.0 - ISC
@@ -3632,12 +3632,23 @@ const Mail = createLucideIcon("mail", __iconNode$w);
3632
3632
  */
3633
3633
 
3634
3634
 
3635
- const __iconNode$v = [
3635
+ const __iconNode$w = [
3636
3636
  ["path", { d: "M4 12h16", key: "1lakjw" }],
3637
3637
  ["path", { d: "M4 18h16", key: "19g7jn" }],
3638
3638
  ["path", { d: "M4 6h16", key: "1o0s65" }]
3639
3639
  ];
3640
- const Menu = createLucideIcon("menu", __iconNode$v);
3640
+ const Menu = createLucideIcon("menu", __iconNode$w);
3641
+
3642
+ /**
3643
+ * @license lucide-react v0.539.0 - ISC
3644
+ *
3645
+ * This source code is licensed under the ISC license.
3646
+ * See the LICENSE file in the root directory of this source tree.
3647
+ */
3648
+
3649
+
3650
+ const __iconNode$v = [["path", { d: "M5 12h14", key: "1ays0h" }]];
3651
+ const Minus = createLucideIcon("minus", __iconNode$v);
3641
3652
 
3642
3653
  /**
3643
3654
  * @license lucide-react v0.539.0 - ISC
@@ -4654,7 +4665,7 @@ const buttonVariants$1 = cva("inline-flex items-center justify-center gap-2 whit
4654
4665
  });
4655
4666
  function Button$1({ className, variant, size, asChild = false, ...props }) {
4656
4667
  const Comp = asChild ? Slot : 'button';
4657
- return (jsx(Comp, { "data-slot": "button", className: cn(buttonVariants$1({ variant, size, className })), ...props }));
4668
+ return (jsx(Comp, { "data-slot": "button", "data-variant": variant ?? 'default', className: cn(buttonVariants$1({ variant, size, className })), ...props }));
4658
4669
  }
4659
4670
 
4660
4671
  const VARIANT_BY_KIND = {
@@ -14312,7 +14323,7 @@ function useNumberInput({ value, onChange, precision, min, max, emptyFallback, e
14312
14323
  return { raw, handleChange, handleFocus, handleBlur };
14313
14324
  }
14314
14325
 
14315
- const NumberInput = React.forwardRef(({ value, onChange, precision, min, max, step, className, emptyFallback = 0, emitUndefinedOnEmpty = false, trimTrailingZeros = false, ...rest }, ref) => {
14326
+ const NumberInput = React.forwardRef(({ value, onChange, precision, min, max, step, className, emptyFallback = 0, emitUndefinedOnEmpty = false, trimTrailingZeros = false, suffix, stepper = false, ...rest }, ref) => {
14316
14327
  const { onFocus: onFocusProp, onBlur: onBlurProp, ...inputRest } = rest;
14317
14328
  const { raw, handleChange, handleFocus, handleBlur } = useNumberInput({
14318
14329
  value,
@@ -14326,7 +14337,22 @@ const NumberInput = React.forwardRef(({ value, onChange, precision, min, max, st
14326
14337
  onFocusProp,
14327
14338
  onBlurProp,
14328
14339
  });
14329
- return (jsx(Input, { ref: ref, type: "text", inputMode: "decimal", className: className, value: raw, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, step: step, ...inputRest }));
14340
+ const input = (jsx(Input, { ref: ref, type: "text", inputMode: "decimal", className: cn(className, suffix != null && !stepper && 'pr-10', stepper && 'h-full border-0 bg-transparent px-1 text-center shadow-none focus-visible:ring-0'), value: raw, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, step: step, ...inputRest }));
14341
+ if (stepper) {
14342
+ const current = Number(value);
14343
+ const delta = step ?? 1;
14344
+ const at = Number.isFinite(current) ? current : (min ?? 0);
14345
+ const nudge = (direction) => {
14346
+ const next = at + direction * delta;
14347
+ onChange?.(Math.min(max ?? next, Math.max(min ?? next, next)));
14348
+ };
14349
+ const stepButton = 'flex size-7 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground transition-colors hover:bg-muted/70 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-40';
14350
+ return (jsxs("div", { "aria-invalid": inputRest['aria-invalid'], className: cn('flex h-10 w-full items-center gap-1 rounded-md border border-input-border px-1.5 dark:bg-input/30', 'focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50', 'aria-invalid:border-destructive aria-invalid:ring-destructive/20'), children: [jsx("button", { type: "button", "aria-label": "Decrease", className: stepButton, disabled: inputRest.disabled || (min !== undefined && at <= min), onClick: () => nudge(-1), children: jsx(Minus, { className: "size-3.5" }) }), input, jsx("button", { type: "button", "aria-label": "Increase", className: stepButton, disabled: inputRest.disabled || (max !== undefined && at >= max), onClick: () => nudge(1), children: jsx(Plus, { className: "size-3.5" }) })] }));
14351
+ }
14352
+ if (suffix != null) {
14353
+ return (jsxs("div", { className: "relative w-full", children: [input, jsx("span", { className: "pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm text-muted-foreground", children: suffix })] }));
14354
+ }
14355
+ return input;
14330
14356
  });
14331
14357
  NumberInput.displayName = 'NumberInput';
14332
14358
 
@@ -14868,30 +14894,74 @@ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (jsx(Di
14868
14894
  'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 ' +
14869
14895
  'fixed inset-0 z-50 bg-black/50', className), ...props })));
14870
14896
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
14871
- const DialogContent = React.forwardRef(({ className, children, hideCloseButton, ...props }, ref) => (jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsx(DialogOverlay, {}), jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "dialog-content", className: cn('bg-background fixed top-[50%] left-[50%] z-50 grid ' +
14872
- 'w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] ' +
14873
- 'gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg ' +
14897
+ const DIALOG_WIDTH = {
14898
+ default: '32rem',
14899
+ wide: '50rem',
14900
+ };
14901
+ /** Every dialog stops growing here; taller content scrolls inside it. */
14902
+ const DIALOG_MAX_HEIGHT = 'min(85vh, 45rem)';
14903
+ const DialogContent = React.forwardRef(({ className, children, hideCloseButton, size = 'default', style, ...props }, ref) => (jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsx(DialogOverlay, {}), jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "dialog-content", className: cn('bg-card fixed top-[50%] left-[50%] z-50 grid ' +
14904
+ 'translate-x-[-50%] translate-y-[-50%] ' +
14905
+ 'gap-4 overflow-y-auto overscroll-contain rounded-2xl border border-border p-6 shadow-xl duration-200 ' +
14906
+ // A footer closes the panel itself; sticky can't sit in the padding a negative margin would bleed into.
14907
+ 'has-[[data-slot=dialog-footer]]:pb-0 ' +
14874
14908
  'data-[state=open]:animate-in data-[state=closed]:animate-out ' +
14875
14909
  'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 ' +
14876
- 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95', className), ...props, children: [children, !hideCloseButton && (jsxs(DialogPrimitive.Close, { className: cn('absolute top-4 right-4 rounded-xs opacity-70 transition-opacity ' +
14877
- 'hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring ' +
14878
- 'focus:ring-offset-2 ring-offset-background disabled:pointer-events-none ' +
14879
- '[&_svg]:pointer-events-none [&_svg]:shrink-0 ' +
14910
+ 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95', className), style: {
14911
+ ...style,
14912
+ width: 'calc(100vw - 2rem)',
14913
+ maxWidth: DIALOG_WIDTH[size],
14914
+ maxHeight: DIALOG_MAX_HEIGHT,
14915
+ }, ...props, children: [children, !hideCloseButton && (jsxs(DialogPrimitive.Close, { className: cn('absolute top-5 right-5 inline-flex size-7 items-center justify-center rounded-md ' +
14916
+ 'text-muted-foreground transition-colors hover:bg-muted hover:text-foreground ' +
14917
+ 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ' +
14918
+ 'disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 ' +
14880
14919
  "[&_svg:not([class*='size-'])]:size-4"), children: [jsx(X$2, {}), jsx("span", { className: "sr-only", children: "Close" })] }))] })] })));
14881
14920
  DialogContent.displayName = DialogPrimitive.Content.displayName;
14882
- // Header
14883
- function DialogHeader({ className, ...props }) {
14884
- return (jsx("div", { "data-slot": "dialog-header", className: cn('flex flex-col gap-2 text-center sm:text-left', className), ...props }));
14921
+ const DIALOG_ICON_TONE = {
14922
+ primary: 'bg-primary/10 text-primary dark:bg-primary/20',
14923
+ neutral: 'bg-muted text-muted-foreground',
14924
+ warning: 'bg-badge-amber-bg text-badge-amber-text',
14925
+ destructive: 'bg-badge-destructive-bg text-destructive',
14926
+ };
14927
+ /** The tinted tile that names a dialog's action; shared by every dialog header. */
14928
+ function DialogIcon({ tone = 'primary', className, children, }) {
14929
+ return (jsx("span", { "aria-hidden": true, className: cn(
14930
+ // 44px = the title's 24px line + the subtitle's 20px line, so the tile spans both.
14931
+ 'flex size-11 shrink-0 items-center justify-center rounded-lg [&_svg]:size-5', DIALOG_ICON_TONE[tone], className), children: children }));
14932
+ }
14933
+ function DialogHeader({ className, icon, iconTone, children, ...props }) {
14934
+ if (icon) {
14935
+ return (jsxs("div", { "data-slot": "dialog-header",
14936
+ // A lone title centres on the icon; with a subtitle the pair starts at the icon's top.
14937
+ className: cn('flex flex-row items-center gap-3.5 pr-8 text-left has-[[data-slot=dialog-description]]:items-start', className), ...props, children: [jsx(DialogIcon, { tone: iconTone, children: icon }), jsx("div", { className: "flex min-w-0 flex-1 flex-col", children: children })] }));
14938
+ }
14939
+ return (jsx("div", { "data-slot": "dialog-header", className: cn('flex flex-col pr-8 text-left', className), ...props, children: children }));
14885
14940
  }
14886
14941
  // Footer
14942
+ /** Neutral footer buttons get the card surface so they stand out from the tinted footer band. */
14943
+ const DIALOG_FOOTER_BUTTONS = '[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:border ' +
14944
+ '[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:border-border ' +
14945
+ '[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:bg-card ' +
14946
+ '[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:shadow-xs ' +
14947
+ '[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:hover:bg-muted ' +
14948
+ // The outline variant forces its own dark fill; keep every footer secondary button on the same card surface.
14949
+ 'dark:[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:!bg-card ' +
14950
+ 'dark:[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:!border-border ' +
14951
+ 'dark:[&_[data-slot=button]:is([data-variant=outline],[data-variant=ghost],[data-variant=secondary])]:hover:!bg-muted';
14887
14952
  function DialogFooter({ className, ...props }) {
14888
- return (jsx("div", { "data-slot": "dialog-footer", className: cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className), ...props }));
14953
+ return (jsx("div", { "data-slot": "dialog-footer",
14954
+ // Bleeds to the dialog's side edges as a tinted band; dialogs that drop the default p-6 reset the margins.
14955
+ className: cn(
14956
+ // Sticky so the actions stay in view while a long body scrolls.
14957
+ 'sticky bottom-0 z-10 -mx-6 mt-1 flex shrink-0 flex-col-reverse gap-2 border-t border-border bg-[color-mix(in_srgb,var(--muted)_40%,var(--card))] px-6 py-4 ' +
14958
+ 'sm:flex-row sm:items-center sm:justify-end', DIALOG_FOOTER_BUTTONS, className), ...props }));
14889
14959
  }
14890
14960
  // Title
14891
- const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Title, { ref: ref, "data-slot": "dialog-title", className: cn('text-lg font-semibold leading-none', className), ...props })));
14961
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Title, { ref: ref, "data-slot": "dialog-title", className: cn('text-lg font-semibold leading-6 text-foreground', className), ...props })));
14892
14962
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
14893
14963
  // Description
14894
- const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Description, { ref: ref, "data-slot": "dialog-description", className: cn('text-sm text-muted-foreground', className), ...props })));
14964
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Description, { ref: ref, "data-slot": "dialog-description", className: cn('text-sm leading-5 text-muted-foreground', className), ...props })));
14895
14965
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
14896
14966
 
14897
14967
  // ---------- Command Wrapper ----------
@@ -21211,37 +21281,30 @@ const formatDate$3 = (iso) => {
21211
21281
  }
21212
21282
  };
21213
21283
 
21214
- const InfoCard = ({ info, title, refundToWallet, onRefundChange, }) => {
21284
+ /** The document the dialog acts on: number, customer, total and date, plus paid / outstanding when known. */
21285
+ const InfoCard = ({ info }) => {
21215
21286
  if (!info)
21216
21287
  return null;
21217
21288
  if (React__default.isValidElement(info))
21218
- return jsx("div", { className: "mt-3", children: info });
21289
+ return jsx("div", { children: info });
21219
21290
  const i = info;
21220
- return (jsx("div", { className: "mt-1 rounded-lg border bg-muted p-3 shadow-sm", children: jsxs("div", { className: "flex flex-col gap-1", children: [jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Date" }), jsx("div", { children: formatDate$3(i.invoiceDate) })] }), jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Total" }), jsx("div", { className: "font-medium text-foreground", children: formatCurrencyWithTenantSymbol(i.totalAmount) })] }), i.paidAmount !== undefined && (jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Paid" }), jsx("div", { className: "font-medium text-primary", children: formatCurrencyWithTenantSymbol(i.paidAmount) })] })), i.outstandingAmount !== undefined && (jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "w-36 text-sm text-muted-foreground", children: "Outstanding" }), jsx("div", { className: "font-medium text-muted-foreground", children: formatCurrencyWithTenantSymbol(i.outstandingAmount) })] })), title === 'Cancel Invoice' &&
21221
- !React__default.isValidElement(info) &&
21222
- (i?.paidAmount ?? 0) > 0 && (jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "w-36 whitespace-nowrap text-sm text-muted-foreground", children: "Refund to Wallet" }), jsx(Checkbox, { checked: !!refundToWallet, onCheckedChange: (v) => onRefundChange?.(Boolean(v)), className: "bg-card" })] })), (i.customerName || i.email) && (jsxs("div", { className: "mt-1 rounded bg-card p-2", children: [i.customerName && (jsx("div", { className: "text-sm font-medium", children: i.customerName })), i.email && (jsx("div", { className: "text-sm text-muted-foreground", children: i.email }))] }))] }) }));
21291
+ const party = [i.customerName, i.email].filter(Boolean).join(' · ');
21292
+ const hasBalance = i.paidAmount !== undefined || i.outstandingAmount !== undefined;
21293
+ return (jsxs("div", { className: "rounded-xl border border-border bg-muted/30 p-3.5", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx("span", { "aria-hidden": true, className: "flex size-9 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground", children: jsx(FileText, { className: "size-4" }) }), jsxs("div", { className: "min-w-0 flex-1", children: [i.invoiceNumber && (jsx("p", { className: "m-0 truncate text-sm font-semibold text-foreground", children: i.invoiceNumber })), party && jsx("p", { className: "m-0 truncate text-xs text-muted-foreground", children: party })] }), jsxs("div", { className: "shrink-0 text-right", children: [i.totalAmount !== undefined && (jsx("p", { className: "m-0 text-sm font-semibold tabular-nums text-foreground", children: formatCurrencyWithTenantSymbol(i.totalAmount) })), i.invoiceDate && jsx("p", { className: "m-0 text-xs text-muted-foreground", children: formatDate$3(i.invoiceDate) })] })] }), hasBalance && (jsxs("dl", { className: "m-0 mt-3 grid gap-1.5 border-t border-border pt-3 text-sm", children: [i.paidAmount !== undefined && (jsxs("div", { className: "flex items-center justify-between gap-3", children: [jsx("dt", { className: "text-muted-foreground", children: "Paid" }), jsx("dd", { className: "m-0 font-medium tabular-nums text-amount-paid", children: formatCurrencyWithTenantSymbol(i.paidAmount) })] })), i.outstandingAmount !== undefined && (jsxs("div", { className: "flex items-center justify-between gap-3", children: [jsx("dt", { className: "text-muted-foreground", children: "Outstanding" }), jsx("dd", { className: "m-0 font-medium tabular-nums text-foreground", children: formatCurrencyWithTenantSymbol(i.outstandingAmount) })] }))] }))] }));
21223
21294
  };
21224
21295
 
21225
- function useRefundToWallet(open) {
21226
- const [refundToWallet, setRefundToWallet] = useState(true);
21227
- useEffect(() => {
21228
- if (open)
21229
- setRefundToWallet(true);
21230
- }, [open]);
21231
- return { refundToWallet, setRefundToWallet };
21232
- }
21233
-
21234
- const ConfirmDialog = ({ open, onOpenChange, title, description, info, confirmLabel = 'Yes', cancelLabel = 'Cancel', confirmVariant = 'default', icon: Icon = Trash2, disabled = false, onConfirm, onCancel, }) => {
21235
- const { refundToWallet, setRefundToWallet } = useRefundToWallet(open);
21296
+ const ConfirmDialog = ({ open, onOpenChange, title, description, info, confirmLabel = 'Yes', cancelLabel = 'Cancel', confirmVariant = 'default', icon, disabled = false, onConfirm, onCancel, children, }) => {
21236
21297
  // Opened from a modal menu row, two dismissable layers overlap and Radix
21237
21298
  // restores `pointer-events: none` to <body> on close, freezing the page.
21238
21299
  useOverlayBodyLockRelease(open);
21239
- return (jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: jsxs(DialogContent, { className: "gap-3 p-5", children: [jsxs(DialogHeader, { className: "gap-1.5", children: [jsxs(DialogTitle, { className: "flex items-center gap-2", children: [confirmVariant === 'destructive' && (jsx("span", { className: "inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-destructive/10", children: jsx(Icon, { className: "h-3.5 w-3.5 text-destructive" }) })), jsx("span", { children: title })] }), description && jsx(DialogDescription, { children: description }), info && (jsx(InfoCard, { info: info, title: title, refundToWallet: refundToWallet, onRefundChange: setRefundToWallet }))] }), jsxs(DialogFooter, { className: "mt-1", children: [jsx(Button$1, { variant: "outline", onClick: () => {
21300
+ const destructive = confirmVariant === 'destructive';
21301
+ const Icon = icon ?? (destructive ? Trash2 : undefined);
21302
+ return (jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: jsxs(DialogContent, { children: [jsxs(DialogHeader, { icon: Icon ? jsx(Icon, {}) : undefined, iconTone: destructive ? 'destructive' : 'primary', children: [jsx(DialogTitle, { children: title }), description && jsx(DialogDescription, { children: description })] }), info && jsx(InfoCard, { info: info }), children, jsxs(DialogFooter, { children: [jsx(Button$1, { variant: "outline", onClick: () => {
21240
21303
  onCancel?.();
21241
21304
  onOpenChange(false);
21242
- }, disabled: disabled, children: cancelLabel }), jsxs(Button$1, { variant: confirmVariant, onClick: async () => {
21243
- await onConfirm(title === 'Cancel Invoice' ? refundToWallet : undefined);
21244
- }, disabled: disabled, children: [confirmVariant === 'destructive' && (jsx(Icon, { className: "h-4 w-4", "aria-hidden": true })), disabled ? 'Please wait...' : confirmLabel] })] })] }) }));
21305
+ }, disabled: disabled, children: cancelLabel }), jsx(Button$1, { variant: confirmVariant, onClick: async () => {
21306
+ await onConfirm();
21307
+ }, disabled: disabled, children: disabled ? 'Please wait...' : confirmLabel })] })] }) }));
21245
21308
  };
21246
21309
 
21247
21310
  function matchesSearch(haystack, search) {
@@ -37204,7 +37267,11 @@ function DateInput({ value, onChange, onBlur, name, id, className, min, max, dis
37204
37267
 
37205
37268
  /** The permanent-delete confirmation for a document (quotation, memo, proforma…). */
37206
37269
  function DocumentDeleteDialog({ open, onOpenChange, documentLabel, documentNumber, info, busy, onConfirm, }) {
37207
- return (jsx(ConfirmDialog, { open: open, onOpenChange: onOpenChange, title: `Delete ${documentLabel}`, description: jsxs(Fragment$2, { children: [jsxs("span", { children: ["Are you sure you want to permanently delete ", documentLabel, documentNumber ? (jsxs(Fragment$2, { children: [' ', jsx("span", { className: "font-semibold", children: documentNumber })] })) : null, "?"] }), jsx("div", { className: "mt-1", children: "This action cannot be undone." })] }), info: info, confirmLabel: `Yes, Delete ${documentLabel}`, cancelLabel: "No, Keep It", confirmVariant: "destructive", disabled: busy, onConfirm: onConfirm }));
37270
+ const noun = documentLabel.toLowerCase();
37271
+ const summary = info == null || (typeof info === 'object' && !isValidElement(info))
37272
+ ? { invoiceNumber: documentNumber, ...(info ?? {}) }
37273
+ : info;
37274
+ return (jsx(ConfirmDialog, { open: open, onOpenChange: onOpenChange, title: `Delete ${noun}?`, info: summary, confirmLabel: "Delete", cancelLabel: "Cancel", confirmVariant: "destructive", disabled: busy, onConfirm: onConfirm }));
37208
37275
  }
37209
37276
 
37210
37277
  function clampPercent$1(value) {
@@ -38443,25 +38510,15 @@ const TONE_ICON_BG = {
38443
38510
  };
38444
38511
  const MetricTile = ({ label, value, sub, icon, tone, className, }) => (jsxs("div", { className: cn('flex min-w-0 items-center gap-3 rounded-xl border px-4 py-3', TONE_TILE_BG[tone], className), children: [jsx("span", { "aria-hidden": "true", className: cn('inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-md [&_svg]:h-5 [&_svg]:w-5', TONE_ICON_BG[tone]), children: icon }), jsxs("div", { className: "flex min-w-0 flex-col", children: [jsx("span", { className: "truncate text-xs text-muted-foreground", children: label }), jsx("span", { className: "truncate text-lg font-semibold text-foreground", children: value }), sub && (jsx("span", { className: "truncate text-xs text-muted-foreground", children: sub }))] })] }));
38445
38512
 
38446
- const SIZE_WIDTH = {
38447
- sm: 480,
38448
- md: 640,
38449
- lg: 760,
38450
- xl: 960,
38451
- };
38452
38513
  /**
38453
38514
  * App-wide modal wrapper with a fixed header / body / footer layout.
38454
38515
  * Built on top of shadcn DialogContent, so it inherits viewport-centered
38455
38516
  * positioning, focus trapping, portal rendering, and overlay handling.
38456
38517
  */
38457
- function Modal({ open, onClose, title, icon, children, footer, size = 'md', hideCloseButton = false, className, bodyClassName, }) {
38458
- const maxWidth = SIZE_WIDTH[size];
38518
+ function Modal({ open, onClose, title, description, icon, children, footer, size = 'default', hideCloseButton = false, className, bodyClassName, }) {
38459
38519
  // See ConfirmDialog: overlapping dismissable layers leak the <body> lock.
38460
38520
  useOverlayBodyLockRelease(open);
38461
- return (jsx(Dialog, { open: open, onOpenChange: (o) => !o && onClose(), children: jsxs(DialogContent, { hideCloseButton: true, style: {
38462
- width: `min(${maxWidth}px, calc(100vw - 2rem))`,
38463
- maxWidth: `${maxWidth}px`,
38464
- }, className: cn('flex max-h-[calc(100vh-2rem)] flex-col gap-0 overflow-hidden p-0 sm:max-w-none', className), children: [jsxs("header", { className: "flex items-center justify-between gap-4 border-b border-border px-6 py-4", children: [jsx(DialogPrimitive.Title, { asChild: true, children: jsxs("div", { className: "flex items-center gap-2 text-base font-medium text-foreground", children: [icon, jsx("span", { children: title })] }) }), !hideCloseButton && (jsx(DialogPrimitive.Close, { "aria-label": "Close", className: "inline-flex h-8 w-8 items-center justify-center rounded-md text-label transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30", children: jsx(X$2, { className: "h-4 w-4" }) }))] }), jsx("div", { className: cn('flex-1 overflow-y-auto', bodyClassName), children: children }), footer && (jsx("footer", { className: "flex items-center justify-end gap-3 border-t border-border px-6 py-4", children: footer }))] }) }));
38521
+ return (jsx(Dialog, { open: open, onOpenChange: (o) => !o && onClose(), children: jsxs(DialogContent, { hideCloseButton: true, size: size === 'wide' ? 'wide' : 'default', className: cn('flex flex-col gap-0 overflow-hidden p-0', className), children: [jsxs("header", { className: "flex shrink-0 items-start justify-between gap-4 px-6 pt-5 pb-4", children: [jsxs("div", { className: cn('flex min-w-0 gap-3.5', description ? 'items-start' : 'items-center'), children: [icon ? jsx(DialogIcon, { children: icon }) : null, jsxs("div", { className: "flex min-w-0 flex-col", children: [jsx(DialogPrimitive.Title, { className: "m-0 text-lg font-semibold leading-6 text-foreground", children: title }), description ? (jsx(DialogPrimitive.Description, { className: "m-0 text-sm leading-5 text-muted-foreground", children: description })) : null] })] }), !hideCloseButton && (jsx(DialogPrimitive.Close, { "aria-label": "Close", className: "-mr-1.5 inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: jsx(X$2, { className: "h-4 w-4" }) }))] }), jsx("div", { className: cn('flex-1 overflow-y-auto', bodyClassName), children: children }), footer && (jsx("footer", { className: cn('flex items-center justify-end gap-3 border-t border-border bg-[color-mix(in_srgb,var(--muted)_40%,var(--card))] px-6 py-4', DIALOG_FOOTER_BUTTONS), children: footer }))] }) }));
38465
38522
  }
38466
38523
 
38467
38524
  /**
@@ -75302,7 +75359,7 @@ function ImageCropModal({ open, imageUrl, fileType, onCancel, onConfirm, }) {
75302
75359
  const blob = await getCroppedBlob(imgRef.current, completedCrop, fileType);
75303
75360
  onConfirm(blob);
75304
75361
  };
75305
- return (jsxs(Modal, { open: open, onClose: onCancel, size: "lg", icon: jsx(Scissors, { className: "h-5 w-5 text-foreground", strokeWidth: 1.5 }), title: "Crop Image", footer: jsxs(Fragment$2, { children: [jsx(Button$1, { type: "button", variant: "outline", onClick: onCancel, className: "border-border bg-muted text-foreground hover:bg-muted/80", children: "Cancel" }), jsx(Button$1, { type: "button", onClick: handleConfirm, className: "bg-primary text-primary-foreground hover:bg-hover", children: "Crop & Add" })] }), children: [jsxs("div", { className: "space-y-3 px-6 py-4", children: [jsx("p", { className: "text-[13px] text-label", children: "Aspect ratio" }), jsx("div", { className: "grid grid-cols-5 gap-3", children: ASPECTS.map((a) => {
75362
+ return (jsxs(Modal, { open: open, onClose: onCancel, size: "wide", icon: jsx(Scissors, { className: "h-5 w-5 text-foreground", strokeWidth: 1.5 }), title: "Crop Image", footer: jsxs(Fragment$2, { children: [jsx(Button$1, { type: "button", variant: "outline", onClick: onCancel, children: "Cancel" }), jsx(Button$1, { type: "button", onClick: handleConfirm, className: "bg-primary text-primary-foreground hover:bg-hover", children: "Crop & Add" })] }), children: [jsxs("div", { className: "space-y-3 px-6 pb-4", children: [jsx("p", { className: "text-[13px] text-label", children: "Aspect ratio" }), jsx("div", { className: "grid grid-cols-5 gap-3", children: ASPECTS.map((a) => {
75306
75363
  const selected = aspectKey === a.key;
75307
75364
  return (jsxs("button", { type: "button", onClick: () => setAspectKey(a.key), className: cn('flex cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border px-3 py-3 text-xs transition-colors', selected
75308
75365
  ? 'border-primary bg-primary/10 text-primary'