@szum-tech/design-system 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/{chunk-O3DHBQA5.cjs → chunk-3GNVQFCK.cjs} +1 -1
  2. package/dist/{chunk-SYKUS2RV.js → chunk-3MH6P44N.js} +2 -2
  3. package/dist/{chunk-3BLXG7ET.js → chunk-3RK5PCIC.js} +1 -1
  4. package/dist/{chunk-2Q2BIWBE.js → chunk-5MV54MWS.js} +1 -1
  5. package/dist/{chunk-YWG7TML6.cjs → chunk-6X26XC6P.cjs} +1 -1
  6. package/dist/chunk-A7SBXO2Y.cjs +40 -0
  7. package/dist/{chunk-ACJ3ES2B.js → chunk-BTSHACKG.js} +1 -1
  8. package/dist/{chunk-3DUJHGXE.cjs → chunk-CFJ44JVK.cjs} +1 -1
  9. package/dist/{chunk-Q5ONG5HB.cjs → chunk-DTYX7CYN.cjs} +2 -2
  10. package/dist/chunk-E5TYGWGE.js +176 -0
  11. package/dist/{chunk-XV3AQ6NS.js → chunk-KGGCA634.js} +1 -1
  12. package/dist/{chunk-3SDAJSY6.js → chunk-PHPJ54IC.js} +86 -51
  13. package/dist/{chunk-FKCWRNWB.js → chunk-U3QKV7I4.js} +1 -1
  14. package/dist/chunk-U7XZJQ4O.js +36 -0
  15. package/dist/{chunk-X55H6LRX.cjs → chunk-ULEEQ723.cjs} +1 -1
  16. package/dist/{chunk-BAWVLSRF.cjs → chunk-VK5EX3OG.cjs} +1 -1
  17. package/dist/{chunk-UW6GOD7J.js → chunk-VT5GDGZJ.js} +1 -1
  18. package/dist/chunk-XJZOANXX.cjs +183 -0
  19. package/dist/{chunk-F3GJIJRL.cjs → chunk-XTNS5QH5.cjs} +89 -54
  20. package/dist/{chunk-Z6CZAPVG.cjs → chunk-ZVF7J4EI.cjs} +1 -1
  21. package/dist/components/alert/index.cjs +4 -5
  22. package/dist/components/alert/index.js +1 -2
  23. package/dist/components/alert-dialog/index.cjs +0 -1
  24. package/dist/components/alert-dialog/index.js +0 -1
  25. package/dist/components/avatar/index.cjs +0 -1
  26. package/dist/components/avatar/index.js +0 -1
  27. package/dist/components/badge/index.cjs +4 -5
  28. package/dist/components/badge/index.js +1 -2
  29. package/dist/components/button/index.cjs +12 -13
  30. package/dist/components/button/index.js +11 -12
  31. package/dist/components/card/index.cjs +0 -1
  32. package/dist/components/card/index.js +0 -1
  33. package/dist/components/checkbox/index.cjs +0 -1
  34. package/dist/components/checkbox/index.js +0 -1
  35. package/dist/components/color-swatch/index.cjs +2 -3
  36. package/dist/components/color-swatch/index.js +1 -2
  37. package/dist/components/dialog/index.cjs +9 -10
  38. package/dist/components/dialog/index.js +1 -2
  39. package/dist/components/empty/index.cjs +0 -1
  40. package/dist/components/empty/index.js +0 -1
  41. package/dist/components/field/index.cjs +11 -12
  42. package/dist/components/field/index.js +1 -2
  43. package/dist/components/header/index.cjs +2 -3
  44. package/dist/components/header/index.js +1 -2
  45. package/dist/components/index.cjs +82 -79
  46. package/dist/components/index.d.cts +1 -2
  47. package/dist/components/index.d.ts +1 -2
  48. package/dist/components/index.js +11 -12
  49. package/dist/components/input/index.cjs +0 -1
  50. package/dist/components/input/index.js +0 -1
  51. package/dist/components/item/index.cjs +11 -12
  52. package/dist/components/item/index.js +1 -2
  53. package/dist/components/label/index.cjs +0 -1
  54. package/dist/components/label/index.js +0 -1
  55. package/dist/components/progress/index.cjs +0 -1
  56. package/dist/components/progress/index.js +0 -1
  57. package/dist/components/radio-group/index.cjs +0 -1
  58. package/dist/components/radio-group/index.js +0 -1
  59. package/dist/components/scroll-area/index.cjs +0 -1
  60. package/dist/components/scroll-area/index.js +0 -1
  61. package/dist/components/select/index.cjs +7 -8
  62. package/dist/components/select/index.d.cts +1 -2
  63. package/dist/components/select/index.d.ts +1 -2
  64. package/dist/components/select/index.js +1 -2
  65. package/dist/components/separator/index.cjs +0 -1
  66. package/dist/components/separator/index.js +0 -1
  67. package/dist/components/sheet/index.cjs +0 -1
  68. package/dist/components/sheet/index.js +0 -1
  69. package/dist/components/spinner/index.cjs +0 -1
  70. package/dist/components/spinner/index.js +0 -1
  71. package/dist/components/stepper/index.cjs +30 -31
  72. package/dist/components/stepper/index.js +11 -12
  73. package/dist/components/textarea/index.cjs +0 -1
  74. package/dist/components/textarea/index.js +0 -1
  75. package/dist/components/toaster/index.cjs +13 -14
  76. package/dist/components/toaster/index.js +11 -12
  77. package/dist/components/tooltip/index.cjs +9 -5
  78. package/dist/components/tooltip/index.d.cts +8 -12
  79. package/dist/components/tooltip/index.d.ts +8 -12
  80. package/dist/components/tooltip/index.js +2 -2
  81. package/dist/contexts/index.cjs +0 -1
  82. package/dist/contexts/index.js +0 -1
  83. package/dist/hooks/index.cjs +0 -1
  84. package/dist/hooks/index.js +0 -1
  85. package/dist/icons/index.cjs +1 -1
  86. package/dist/icons/index.js +1 -1
  87. package/dist/utils/index.cjs +0 -1
  88. package/dist/utils/index.js +0 -1
  89. package/package.json +6 -9
  90. package/tailwind/global.css +5 -0
  91. package/dist/chunk-3376ZTRC.cjs +0 -2
  92. package/dist/chunk-3ZRMIVJM.cjs +0 -4934
  93. package/dist/chunk-BYXBJQAS.js +0 -1
  94. package/dist/chunk-GR37JJQK.cjs +0 -43
  95. package/dist/chunk-HJJPEVIH.js +0 -40
  96. package/dist/chunk-O7QFYWMK.js +0 -4907
@@ -4,7 +4,7 @@ import { cva } from 'class-variance-authority';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var badgeVariants = cva(
7
- "border-border focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden whitespace-nowrap rounded border px-2 py-0.5 text-xs font-medium transition-[color,box-shadow] focus-visible:ring [&>svg]:pointer-events-none [&>svg]:size-3",
7
+ "border-border focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring [&>svg]:pointer-events-none [&>svg]:size-3",
8
8
  {
9
9
  variants: {
10
10
  variant: {
@@ -0,0 +1,36 @@
1
+ import { cn } from './chunk-ZD2QRAOX.js';
2
+ import { Tooltip as Tooltip$1 } from 'radix-ui';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ function TooltipProvider({
6
+ delayDuration = 0,
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(Tooltip$1.Provider, { "data-slot": "tooltip-provider", delayDuration, ...props });
10
+ }
11
+ function Tooltip(props) {
12
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(Tooltip$1.Root, { "data-slot": "tooltip", ...props }) });
13
+ }
14
+ function TooltipTrigger(props) {
15
+ return /* @__PURE__ */ jsx(Tooltip$1.Trigger, { "data-slot": "tooltip-trigger", ...props });
16
+ }
17
+ function TooltipContent({ className, sideOffset = 0, children, ...props }) {
18
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsxs(
19
+ Tooltip$1.Content,
20
+ {
21
+ "data-slot": "tooltip-content",
22
+ sideOffset,
23
+ className: cn(
24
+ "bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
25
+ className
26
+ ),
27
+ ...props,
28
+ children: [
29
+ children,
30
+ /* @__PURE__ */ jsx(Tooltip$1.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
31
+ ]
32
+ }
33
+ ) });
34
+ }
35
+
36
+ export { Tooltip, TooltipContent, TooltipTrigger };
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
27
27
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
28
 
29
29
  var colorSwatchVariants = classVarianceAuthority.cva(
30
- "border-border box-border rounded border shadow-sm [background-clip:padding-box] data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
30
+ "border-border box-border rounded border [background-clip:padding-box] shadow-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
31
31
  {
32
32
  variants: {
33
33
  size: {
@@ -15,7 +15,7 @@ function DialogClose(props) {
15
15
  }
16
16
  var dialogContentVariants = classVarianceAuthority.cva(
17
17
  [
18
- "bg-background border-border fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-1rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded border p-6 shadow-lg duration-200",
18
+ "bg-background border-border fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-1rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded border p-6 shadow-lg duration-200",
19
19
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 "
20
20
  ],
21
21
  {
@@ -5,7 +5,7 @@ function Header({ children, ...props }) {
5
5
  return /* @__PURE__ */ jsx(
6
6
  "header",
7
7
  {
8
- className: "bg-app-foreground/95 supports-[backdrop-filter]:bg-app-foreground/60 sticky top-0 z-50 w-full border-b border-gray-800 backdrop-blur",
8
+ className: "border-border/40 bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur",
9
9
  ...props,
10
10
  children: /* @__PURE__ */ jsx("div", { className: "container flex h-16 items-center", children })
11
11
  }
@@ -0,0 +1,183 @@
1
+ 'use strict';
2
+
3
+ var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
4
+ var lucideReact = require('lucide-react');
5
+ var radixUi = require('radix-ui');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function Select({
9
+ children,
10
+ disabled,
11
+ defaultOpen,
12
+ defaultValue,
13
+ value,
14
+ dir,
15
+ open,
16
+ form,
17
+ name,
18
+ onOpenChange,
19
+ onValueChange,
20
+ required,
21
+ autoComplete,
22
+ // value props
23
+ placeholder,
24
+ // trigger props
25
+ className,
26
+ size = "default",
27
+ invalid = false,
28
+ ...triggerProps
29
+ }) {
30
+ const rootProps = {
31
+ children,
32
+ disabled,
33
+ defaultOpen,
34
+ defaultValue,
35
+ value,
36
+ dir,
37
+ open,
38
+ form,
39
+ name,
40
+ onOpenChange,
41
+ onValueChange,
42
+ required,
43
+ autoComplete
44
+ };
45
+ return /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Select.Root, { "data-slot": "select", ...rootProps, children: [
46
+ /* @__PURE__ */ jsxRuntime.jsxs(
47
+ radixUi.Select.Trigger,
48
+ {
49
+ "data-slot": "select-trigger",
50
+ "aria-invalid": triggerProps["aria-invalid"] || invalid ? true : void 0,
51
+ "data-size": size,
52
+ className: chunkH2BWO3SI_cjs.cn(
53
+ "border-input dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none",
54
+ "*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
55
+ "disabled:cursor-not-allowed disabled:opacity-50",
56
+ "aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error",
57
+ "data-[size=default]:h-9 data-[size=sm]:h-8",
58
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
59
+ "[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
60
+ "data-[placeholder]:text-muted-foreground",
61
+ className
62
+ ),
63
+ ...triggerProps,
64
+ children: [
65
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Value, { "data-slot": "select-value", placeholder }),
66
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4 opacity-50" }) })
67
+ ]
68
+ }
69
+ ),
70
+ children
71
+ ] });
72
+ }
73
+ function SelectContent({
74
+ className,
75
+ children,
76
+ position = "popper",
77
+ align = "center",
78
+ ...props
79
+ }) {
80
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
81
+ radixUi.Select.Content,
82
+ {
83
+ "data-slot": "select-content",
84
+ className: chunkH2BWO3SI_cjs.cn(
85
+ "bg-popover text-popover-foreground border-border relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded border shadow-sm",
86
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
87
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
88
+ className
89
+ ),
90
+ position,
91
+ align,
92
+ ...props,
93
+ children: [
94
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
95
+ /* @__PURE__ */ jsxRuntime.jsx(
96
+ radixUi.Select.Viewport,
97
+ {
98
+ className: chunkH2BWO3SI_cjs.cn(
99
+ "p-1",
100
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
101
+ ),
102
+ children
103
+ }
104
+ ),
105
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
106
+ ]
107
+ }
108
+ ) });
109
+ }
110
+ function SelectScrollUpButton({ className, ...props }) {
111
+ return /* @__PURE__ */ jsxRuntime.jsx(
112
+ radixUi.Select.ScrollUpButton,
113
+ {
114
+ "data-slot": "select-scroll-up-button",
115
+ className: chunkH2BWO3SI_cjs.cn("flex cursor-default items-center justify-center py-1", className),
116
+ ...props,
117
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUpIcon, { className: "size-4" })
118
+ }
119
+ );
120
+ }
121
+ function SelectScrollDownButton({
122
+ className,
123
+ ...props
124
+ }) {
125
+ return /* @__PURE__ */ jsxRuntime.jsx(
126
+ radixUi.Select.ScrollDownButton,
127
+ {
128
+ "data-slot": "select-scroll-down-button",
129
+ className: chunkH2BWO3SI_cjs.cn("flex cursor-default items-center justify-center py-1", className),
130
+ ...props,
131
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" })
132
+ }
133
+ );
134
+ }
135
+ function SelectGroup(props) {
136
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Group, { "data-slot": "select-group", ...props });
137
+ }
138
+ function SelectItem({ className, children, ...props }) {
139
+ return /* @__PURE__ */ jsxRuntime.jsxs(
140
+ radixUi.Select.Item,
141
+ {
142
+ "data-slot": "select-item",
143
+ className: chunkH2BWO3SI_cjs.cn(
144
+ "focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
145
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
146
+ "[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
147
+ className
148
+ ),
149
+ ...props,
150
+ children: [
151
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-4" }) }) }),
152
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemText, { children })
153
+ ]
154
+ }
155
+ );
156
+ }
157
+ function SelectLabel({ className, ...props }) {
158
+ return /* @__PURE__ */ jsxRuntime.jsx(
159
+ radixUi.Select.Label,
160
+ {
161
+ "data-slot": "select-label",
162
+ className: chunkH2BWO3SI_cjs.cn("text-muted-foreground px-2 py-1.5 text-xs", className),
163
+ ...props
164
+ }
165
+ );
166
+ }
167
+ function SelectSeparator({ className, ...props }) {
168
+ return /* @__PURE__ */ jsxRuntime.jsx(
169
+ radixUi.Select.Separator,
170
+ {
171
+ "data-slot": "select-separator",
172
+ className: chunkH2BWO3SI_cjs.cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
173
+ ...props
174
+ }
175
+ );
176
+ }
177
+
178
+ exports.Select = Select;
179
+ exports.SelectContent = SelectContent;
180
+ exports.SelectGroup = SelectGroup;
181
+ exports.SelectItem = SelectItem;
182
+ exports.SelectLabel = SelectLabel;
183
+ exports.SelectSeparator = SelectSeparator;
@@ -1,11 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk3WSQRFUY_cjs = require('./chunk-3WSQRFUY.cjs');
4
- var chunk3ZRMIVJM_cjs = require('./chunk-3ZRMIVJM.cjs');
5
- var chunk7EYMOUWG_cjs = require('./chunk-7EYMOUWG.cjs');
6
4
  var chunkEW6TE3N5_cjs = require('./chunk-EW6TE3N5.cjs');
5
+ var chunk7EYMOUWG_cjs = require('./chunk-7EYMOUWG.cjs');
7
6
  var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
8
- var React5 = require('react');
7
+ var React6 = require('react');
9
8
  var reactSlot = require('@radix-ui/react-slot');
10
9
  var jsxRuntime = require('react/jsx-runtime');
11
10
  var lucideReact = require('lucide-react');
@@ -30,7 +29,7 @@ function _interopNamespace(e) {
30
29
  return Object.freeze(n);
31
30
  }
32
31
 
33
- var React5__namespace = /*#__PURE__*/_interopNamespace(React5);
32
+ var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
34
33
 
35
34
  // src/components/stepper/stepper.constants.ts
36
35
  var STEPPER_ROOT_NAME = "Stepper";
@@ -58,9 +57,9 @@ var STEPPER_MAP_KEY_TO_FOCUS_INTENT = {
58
57
  };
59
58
 
60
59
  // src/components/stepper/stepper.context.tsx
61
- var StepperContext = React5__namespace.createContext(null);
60
+ var StepperContext = React6__namespace.createContext(null);
62
61
  function useStepperContext(consumerName) {
63
- const context = React5__namespace.useContext(StepperContext);
62
+ const context = React6__namespace.useContext(StepperContext);
64
63
  if (!context) {
65
64
  throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ROOT_NAME}\``);
66
65
  }
@@ -150,9 +149,9 @@ function createStepperStore(listenersRef, stateRef, onValueChange, onValueComple
150
149
  };
151
150
  return store;
152
151
  }
153
- var StepperStoreContext = React5__namespace.createContext(null);
152
+ var StepperStoreContext = React6__namespace.createContext(null);
154
153
  function useStepperStoreContext(consumerName) {
155
- const context = React5__namespace.useContext(StepperStoreContext);
154
+ const context = React6__namespace.useContext(StepperStoreContext);
156
155
  if (!context) {
157
156
  throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ROOT_NAME}\``);
158
157
  }
@@ -160,8 +159,8 @@ function useStepperStoreContext(consumerName) {
160
159
  }
161
160
  function useStepperStore(selector) {
162
161
  const store = useStepperStoreContext("useStore");
163
- const getSnapshot = React5__namespace.useCallback(() => selector(store.getState()), [selector, store]);
164
- return React5__namespace.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
162
+ const getSnapshot = React6__namespace.useCallback(() => selector(store.getState()), [selector, store]);
163
+ return React6__namespace.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
165
164
  }
166
165
  function Stepper({
167
166
  value,
@@ -183,14 +182,14 @@ function Stepper({
183
182
  indicators = {},
184
183
  ...rootProps
185
184
  }) {
186
- const id = React5__namespace.useId();
185
+ const id = React6__namespace.useId();
187
186
  const rootId = idProp ?? id;
188
187
  const listenersRef = chunk7EYMOUWG_cjs.useLazyRef(() => /* @__PURE__ */ new Set());
189
188
  const stateRef = chunk7EYMOUWG_cjs.useLazyRef(() => ({
190
189
  steps: /* @__PURE__ */ new Map(),
191
190
  value: value ?? defaultValue
192
191
  }));
193
- const store = React5__namespace.useMemo(
192
+ const store = React6__namespace.useMemo(
194
193
  () => createStepperStore(listenersRef, stateRef, onValueChange, onValueComplete, onValueAdd, onValueRemove, onValidate),
195
194
  [listenersRef, stateRef, onValueChange, onValueComplete, onValueAdd, onValueRemove, onValidate]
196
195
  );
@@ -200,7 +199,7 @@ function Stepper({
200
199
  }
201
200
  }, [value]);
202
201
  const dir = chunkEW6TE3N5_cjs.useDirection(dirProp);
203
- const contextValue = React5__namespace.useMemo(
202
+ const contextValue = React6__namespace.useMemo(
204
203
  () => ({
205
204
  id: rootId,
206
205
  dir,
@@ -252,14 +251,48 @@ var StepperDataState = {
252
251
  ACTIVE: "active",
253
252
  COMPLETED: "completed"
254
253
  };
255
- var StepperFocusContext = React5__namespace.createContext(null);
254
+ var StepperFocusContext = React6__namespace.createContext(null);
256
255
  function useStepperFocusContext(consumerName) {
257
- const context = React5__namespace.useContext(StepperFocusContext);
256
+ const context = React6__namespace.useContext(StepperFocusContext);
258
257
  if (!context) {
259
258
  throw new Error(`\`${consumerName}\` must be used within \`FocusProvider\``);
260
259
  }
261
260
  return context;
262
261
  }
262
+ function setRef(ref, value) {
263
+ if (typeof ref === "function") {
264
+ return ref(value);
265
+ } else if (ref !== null && ref !== void 0) {
266
+ ref.current = value;
267
+ }
268
+ }
269
+ function composeRefs(...refs) {
270
+ return (node) => {
271
+ let hasCleanup = false;
272
+ const cleanups = refs.map((ref) => {
273
+ const cleanup = setRef(ref, node);
274
+ if (!hasCleanup && typeof cleanup == "function") {
275
+ hasCleanup = true;
276
+ }
277
+ return cleanup;
278
+ });
279
+ if (hasCleanup) {
280
+ return () => {
281
+ for (let i = 0; i < cleanups.length; i++) {
282
+ const cleanup = cleanups[i];
283
+ if (typeof cleanup == "function") {
284
+ cleanup();
285
+ } else {
286
+ setRef(refs[i], null);
287
+ }
288
+ }
289
+ };
290
+ }
291
+ };
292
+ }
293
+ function useComposedRefs(...refs) {
294
+ return React6__namespace.useCallback(composeRefs(...refs), refs);
295
+ }
263
296
 
264
297
  // src/components/stepper/stepper.utils.tsx
265
298
  function focusFirst(candidates, preventScroll = false) {
@@ -309,32 +342,32 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
309
342
  const context = useStepperContext(STEPPER_NAV_NAME);
310
343
  const orientation = context.orientation;
311
344
  const currentValue = useStepperStore((state) => state.value);
312
- const [tabStopId, setTabStopId] = React5__namespace.useState(null);
313
- const [isTabbingBackOut, setIsTabbingBackOut] = React5__namespace.useState(false);
314
- const [focusableItemCount, setFocusableItemCount] = React5__namespace.useState(0);
315
- const isClickFocusRef = React5__namespace.useRef(false);
316
- const itemsRef = React5__namespace.useRef(/* @__PURE__ */ new Map());
317
- const listRef = React5__namespace.useRef(null);
318
- const composedRef = chunk3ZRMIVJM_cjs.useComposedRefs(ref, listRef);
319
- const onItemFocus = React5__namespace.useCallback((tabStopId2) => {
345
+ const [tabStopId, setTabStopId] = React6__namespace.useState(null);
346
+ const [isTabbingBackOut, setIsTabbingBackOut] = React6__namespace.useState(false);
347
+ const [focusableItemCount, setFocusableItemCount] = React6__namespace.useState(0);
348
+ const isClickFocusRef = React6__namespace.useRef(false);
349
+ const itemsRef = React6__namespace.useRef(/* @__PURE__ */ new Map());
350
+ const listRef = React6__namespace.useRef(null);
351
+ const composedRef = useComposedRefs(ref, listRef);
352
+ const onItemFocus = React6__namespace.useCallback((tabStopId2) => {
320
353
  setTabStopId(tabStopId2);
321
354
  }, []);
322
- const onItemShiftTab = React5__namespace.useCallback(() => {
355
+ const onItemShiftTab = React6__namespace.useCallback(() => {
323
356
  setIsTabbingBackOut(true);
324
357
  }, []);
325
- const onFocusableItemAdd = React5__namespace.useCallback(() => {
358
+ const onFocusableItemAdd = React6__namespace.useCallback(() => {
326
359
  setFocusableItemCount((prevCount) => prevCount + 1);
327
360
  }, []);
328
- const onFocusableItemRemove = React5__namespace.useCallback(() => {
361
+ const onFocusableItemRemove = React6__namespace.useCallback(() => {
329
362
  setFocusableItemCount((prevCount) => prevCount - 1);
330
363
  }, []);
331
- const onItemRegister = React5__namespace.useCallback((item) => {
364
+ const onItemRegister = React6__namespace.useCallback((item) => {
332
365
  itemsRef.current.set(item.id, item);
333
366
  }, []);
334
- const onItemUnregister = React5__namespace.useCallback((id) => {
367
+ const onItemUnregister = React6__namespace.useCallback((id) => {
335
368
  itemsRef.current.delete(id);
336
369
  }, []);
337
- const getItems = React5__namespace.useCallback(() => {
370
+ const getItems = React6__namespace.useCallback(() => {
338
371
  return Array.from(itemsRef.current.values()).filter((item) => item.ref.current).sort((a, b) => {
339
372
  const elementA = a.ref.current;
340
373
  const elementB = b.ref.current;
@@ -349,15 +382,16 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
349
382
  return 0;
350
383
  });
351
384
  }, []);
352
- const onBlur = React5__namespace.useCallback(
385
+ const onBlur = React6__namespace.useCallback(
353
386
  (event) => {
354
387
  listProps.onBlur?.(event);
355
388
  if (event.defaultPrevented) return;
356
389
  setIsTabbingBackOut(false);
357
390
  },
391
+ // eslint-disable-next-line react-hooks/exhaustive-deps
358
392
  [listProps.onBlur]
359
393
  );
360
- const onFocus = React5__namespace.useCallback(
394
+ const onFocus = React6__namespace.useCallback(
361
395
  (event) => {
362
396
  listProps.onFocus?.(event);
363
397
  if (event.defaultPrevented) return;
@@ -382,7 +416,7 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
382
416
  // eslint-disable-next-line react-hooks/exhaustive-deps
383
417
  [listProps.onFocus, isTabbingBackOut, currentValue, tabStopId]
384
418
  );
385
- const onMouseDown = React5__namespace.useCallback(
419
+ const onMouseDown = React6__namespace.useCallback(
386
420
  (event) => {
387
421
  listProps.onMouseDown?.(event);
388
422
  if (event.defaultPrevented) return;
@@ -391,7 +425,7 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
391
425
  // eslint-disable-next-line react-hooks/exhaustive-deps
392
426
  [listProps.onMouseDown]
393
427
  );
394
- const focusContextValue = React5__namespace.useMemo(
428
+ const focusContextValue = React6__namespace.useMemo(
395
429
  () => ({
396
430
  tabStopId,
397
431
  onItemFocus,
@@ -437,9 +471,9 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
437
471
  }
438
472
  ) });
439
473
  }
440
- var StepperItemContext = React5__namespace.createContext(null);
474
+ var StepperItemContext = React6__namespace.createContext(null);
441
475
  function useStepperItemContext(consumerName) {
442
- const context = React5__namespace.useContext(StepperItemContext);
476
+ const context = React6__namespace.useContext(StepperItemContext);
443
477
  if (!context) {
444
478
  throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ITEM_NAME}\``);
445
479
  }
@@ -470,7 +504,7 @@ function StepperItem({
470
504
  const stepState = useStepperStore((state) => state.steps.get(itemValue));
471
505
  const steps = useStepperStore((state) => state.steps);
472
506
  const dataState = getDataState(value, itemValue, stepState, steps);
473
- const itemContextValue = React5__namespace.useMemo(
507
+ const itemContextValue = React6__namespace.useMemo(
474
508
  () => ({
475
509
  value: itemValue,
476
510
  stepState
@@ -532,11 +566,11 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
532
566
  const isActive = value === itemValue;
533
567
  const isTabStop = focusContext.tabStopId === triggerId;
534
568
  const dataState = getDataState(value, itemValue, stepState, steps);
535
- const triggerRef = React5__namespace.useRef(null);
536
- const composedRef = chunk3ZRMIVJM_cjs.useComposedRefs(ref, triggerRef);
537
- const isArrowKeyPressedRef = React5__namespace.useRef(false);
538
- const isMouseClickRef = React5__namespace.useRef(false);
539
- React5__namespace.useEffect(() => {
569
+ const triggerRef = React6__namespace.useRef(null);
570
+ const composedRef = useComposedRefs(ref, triggerRef);
571
+ const isArrowKeyPressedRef = React6__namespace.useRef(false);
572
+ const isMouseClickRef = React6__namespace.useRef(false);
573
+ React6__namespace.useEffect(() => {
540
574
  function onKeyDown2(event) {
541
575
  if (STEPPER_ARROW_KEYS.includes(event.key)) {
542
576
  isArrowKeyPressedRef.current = true;
@@ -570,7 +604,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
570
604
  }
571
605
  };
572
606
  }, [focusContext, triggerId, itemValue, isTabStop, isDisabled]);
573
- const onClick = React5__namespace.useCallback(
607
+ const onClick = React6__namespace.useCallback(
574
608
  async (event) => {
575
609
  triggerProps.onClick?.(event);
576
610
  if (event.defaultPrevented) return;
@@ -584,7 +618,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
584
618
  // eslint-disable-next-line react-hooks/exhaustive-deps
585
619
  [isDisabled, context.nonInteractive, store, itemValue, value, steps, triggerProps.onClick]
586
620
  );
587
- const onFocus = React5__namespace.useCallback(
621
+ const onFocus = React6__namespace.useCallback(
588
622
  async (event) => {
589
623
  triggerProps.onFocus?.(event);
590
624
  if (event.defaultPrevented) return;
@@ -612,7 +646,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
612
646
  store
613
647
  ]
614
648
  );
615
- const onKeyDown = React5__namespace.useCallback(
649
+ const onKeyDown = React6__namespace.useCallback(
616
650
  async (event) => {
617
651
  triggerProps.onKeyDown?.(event);
618
652
  if (event.defaultPrevented) return;
@@ -666,6 +700,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
666
700
  queueMicrotask(() => focusFirst(candidateRefs));
667
701
  }
668
702
  },
703
+ // eslint-disable-next-line react-hooks/exhaustive-deps
669
704
  [
670
705
  focusContext,
671
706
  context.nonInteractive,
@@ -681,7 +716,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
681
716
  steps
682
717
  ]
683
718
  );
684
- const onMouseDown = React5__namespace.useCallback(
719
+ const onMouseDown = React6__namespace.useCallback(
685
720
  (event) => {
686
721
  triggerProps.onMouseDown?.(event);
687
722
  if (event.defaultPrevented) {
@@ -842,7 +877,7 @@ function StepperNextTrigger({ asChild = false, onClick, disabled, ...props }) {
842
877
  const stepKeys = Array.from(steps.keys());
843
878
  const currentIndex = value ? stepKeys.indexOf(value) : -1;
844
879
  const isDisabled = disabled || currentIndex >= stepKeys.length - 1;
845
- const handleClick = React5__namespace.useCallback(
880
+ const handleClick = React6__namespace.useCallback(
846
881
  async (event) => {
847
882
  onClick?.(event);
848
883
  if (event.defaultPrevented || isDisabled) {
@@ -875,7 +910,7 @@ function StepperPrevTrigger({ asChild = false, disabled, onClick, ...props }) {
875
910
  const stepKeys = Array.from(steps.keys());
876
911
  const currentIndex = value ? stepKeys.indexOf(value) : -1;
877
912
  const isDisabled = disabled || currentIndex <= 0;
878
- const handleClick = React5__namespace.useCallback(
913
+ const handleClick = React6__namespace.useCallback(
879
914
  async (event) => {
880
915
  onClick?.(event);
881
916
  if (event.defaultPrevented || isDisabled) {
@@ -926,9 +961,9 @@ var Toaster = ({ theme = "system", ...props }) => {
926
961
  };
927
962
  var buttonVariants = classVarianceAuthority.cva(
928
963
  [
929
- "inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded text-sm font-medium outline-none transition-all",
964
+ "inline-flex shrink-0 items-center justify-center gap-2 rounded text-sm font-medium whitespace-nowrap transition-all outline-none",
930
965
  "disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50",
931
- "[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
966
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
932
967
  "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring",
933
968
  "aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error"
934
969
  ],
@@ -937,7 +972,7 @@ var buttonVariants = classVarianceAuthority.cva(
937
972
  variant: {
938
973
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
939
974
  error: "bg-error hover:bg-error/90 focus-visible:ring-error/20 dark:focus-visible:ring-error/40 dark:bg-error/60 text-white",
940
- outline: "bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border",
975
+ outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",
941
976
  secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
942
977
  ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
943
978
  link: "text-primary underline-offset-4 hover:underline"
@@ -1022,15 +1057,15 @@ function ButtonContent({
1022
1057
  const isEndLoading = loading && loadingPosition === "end";
1023
1058
  const EndIcon = isEndLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3WSQRFUY_cjs.Spinner, { "aria-label": "Loading" }) : endIcon || null;
1024
1059
  const isCenterLoading = loading && loadingPosition === "center";
1025
- return asChild && React5__namespace.isValidElement(children) ? React5__namespace.cloneElement(
1060
+ return asChild && React6__namespace.isValidElement(children) ? React6__namespace.cloneElement(
1026
1061
  children,
1027
1062
  props,
1028
- /* @__PURE__ */ jsxRuntime.jsxs(React5__namespace.Fragment, { children: [
1063
+ /* @__PURE__ */ jsxRuntime.jsxs(React6__namespace.Fragment, { children: [
1029
1064
  StartIcon,
1030
- isCenterLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3WSQRFUY_cjs.Spinner, { "aria-label": "Loading" }) : React5__namespace.isValidElement(children) ? children.props?.children : null,
1065
+ isCenterLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3WSQRFUY_cjs.Spinner, { "aria-label": "Loading" }) : React6__namespace.isValidElement(children) ? children.props?.children : null,
1031
1066
  EndIcon
1032
1067
  ] })
1033
- ) : /* @__PURE__ */ jsxRuntime.jsxs(React5__namespace.Fragment, { children: [
1068
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(React6__namespace.Fragment, { children: [
1034
1069
  StartIcon,
1035
1070
  isCenterLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3WSQRFUY_cjs.Spinner, { "aria-label": "Loading" }) : children,
1036
1071
  EndIcon
@@ -6,7 +6,7 @@ var classVarianceAuthority = require('class-variance-authority');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
8
  var badgeVariants = classVarianceAuthority.cva(
9
- "border-border focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden whitespace-nowrap rounded border px-2 py-0.5 text-xs font-medium transition-[color,box-shadow] focus-visible:ring [&>svg]:pointer-events-none [&>svg]:size-3",
9
+ "border-border focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring [&>svg]:pointer-events-none [&>svg]:size-3",
10
10
  {
11
11
  variants: {
12
12
  variant: {
@@ -1,20 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunkO3DHBQA5_cjs = require('../../chunk-O3DHBQA5.cjs');
3
+ var chunk3GNVQFCK_cjs = require('../../chunk-3GNVQFCK.cjs');
4
4
  require('../../chunk-H2BWO3SI.cjs');
5
- require('../../chunk-3376ZTRC.cjs');
6
5
 
7
6
 
8
7
 
9
8
  Object.defineProperty(exports, "Alert", {
10
9
  enumerable: true,
11
- get: function () { return chunkO3DHBQA5_cjs.Alert; }
10
+ get: function () { return chunk3GNVQFCK_cjs.Alert; }
12
11
  });
13
12
  Object.defineProperty(exports, "AlertDescription", {
14
13
  enumerable: true,
15
- get: function () { return chunkO3DHBQA5_cjs.AlertDescription; }
14
+ get: function () { return chunk3GNVQFCK_cjs.AlertDescription; }
16
15
  });
17
16
  Object.defineProperty(exports, "AlertTitle", {
18
17
  enumerable: true,
19
- get: function () { return chunkO3DHBQA5_cjs.AlertTitle; }
18
+ get: function () { return chunk3GNVQFCK_cjs.AlertTitle; }
20
19
  });
@@ -1,3 +1,2 @@
1
- export { Alert, AlertDescription, AlertTitle } from '../../chunk-2Q2BIWBE.js';
1
+ export { Alert, AlertDescription, AlertTitle } from '../../chunk-5MV54MWS.js';
2
2
  import '../../chunk-ZD2QRAOX.js';
3
- import '../../chunk-BYXBJQAS.js';
@@ -2,7 +2,6 @@
2
2
 
3
3
  var chunkTMXVL5CV_cjs = require('../../chunk-TMXVL5CV.cjs');
4
4
  require('../../chunk-H2BWO3SI.cjs');
5
- require('../../chunk-3376ZTRC.cjs');
6
5
 
7
6
 
8
7