@ai-matrx/design-system 0.7.0 → 0.8.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.
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
 
3
- // src/badge.tsx
4
- import { cva } from "class-variance-authority";
3
+ // src/accordion.tsx
4
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
5
+ import * as React from "react";
5
6
 
6
7
  // src/cn.ts
7
8
  import { clsx } from "clsx";
@@ -10,8 +11,264 @@ function cn(...inputs) {
10
11
  return twMerge(clsx(inputs));
11
12
  }
12
13
 
14
+ // src/icons.tsx
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function lucideProps(props) {
17
+ return {
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ viewBox: "0 0 24 24",
20
+ fill: "none",
21
+ stroke: "currentColor",
22
+ strokeWidth: 2,
23
+ strokeLinecap: "round",
24
+ strokeLinejoin: "round",
25
+ "aria-hidden": true,
26
+ ...props
27
+ };
28
+ }
29
+ function Loader2Icon(props) {
30
+ return /* @__PURE__ */ jsx("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
31
+ }
32
+ function ChevronLeftIcon(props) {
33
+ return /* @__PURE__ */ jsx("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" }) });
34
+ }
35
+ function ChevronRightIcon(props) {
36
+ return /* @__PURE__ */ jsx("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" }) });
37
+ }
38
+ function MoreHorizontalIcon(props) {
39
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
40
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1" }),
41
+ /* @__PURE__ */ jsx("circle", { cx: "19", cy: "12", r: "1" }),
42
+ /* @__PURE__ */ jsx("circle", { cx: "5", cy: "12", r: "1" })
43
+ ] });
44
+ }
45
+ function LucideCheckIcon(props) {
46
+ return /* @__PURE__ */ jsx("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" }) });
47
+ }
48
+ function ChevronsUpDownIcon(props) {
49
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
50
+ /* @__PURE__ */ jsx("path", { d: "m7 15 5 5 5-5" }),
51
+ /* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" })
52
+ ] });
53
+ }
54
+ function ExternalLinkIcon(props) {
55
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
56
+ /* @__PURE__ */ jsx("path", { d: "M15 3h6v6" }),
57
+ /* @__PURE__ */ jsx("path", { d: "M10 14 21 3" }),
58
+ /* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })
59
+ ] });
60
+ }
61
+ function LockIcon(props) {
62
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
63
+ /* @__PURE__ */ jsx("rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" }),
64
+ /* @__PURE__ */ jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
65
+ ] });
66
+ }
67
+ function PlusIcon(props) {
68
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
69
+ /* @__PURE__ */ jsx("path", { d: "M5 12h14" }),
70
+ /* @__PURE__ */ jsx("path", { d: "M12 5v14" })
71
+ ] });
72
+ }
73
+ function XIcon(props) {
74
+ return /* @__PURE__ */ jsxs("svg", { ...lucideProps(props), children: [
75
+ /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
76
+ /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
77
+ ] });
78
+ }
79
+ function radixProps(props) {
80
+ return {
81
+ xmlns: "http://www.w3.org/2000/svg",
82
+ viewBox: "0 0 15 15",
83
+ width: 15,
84
+ height: 15,
85
+ fill: "none",
86
+ "aria-hidden": true,
87
+ ...props
88
+ };
89
+ }
90
+ function MagnifyingGlassIcon(props) {
91
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
92
+ "path",
93
+ {
94
+ d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",
95
+ fill: "currentColor",
96
+ fillRule: "evenodd",
97
+ clipRule: "evenodd"
98
+ }
99
+ ) });
100
+ }
101
+ function CheckIcon(props) {
102
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
103
+ "path",
104
+ {
105
+ d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",
106
+ fill: "currentColor",
107
+ fillRule: "evenodd",
108
+ clipRule: "evenodd"
109
+ }
110
+ ) });
111
+ }
112
+ function DividerHorizontalIcon(props) {
113
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
114
+ "path",
115
+ {
116
+ d: "M2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5Z",
117
+ fill: "currentColor",
118
+ fillRule: "evenodd",
119
+ clipRule: "evenodd"
120
+ }
121
+ ) });
122
+ }
123
+ function DotFilledIcon(props) {
124
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
125
+ "path",
126
+ {
127
+ d: "M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z",
128
+ fill: "currentColor"
129
+ }
130
+ ) });
131
+ }
132
+ function RadixChevronRightIcon(props) {
133
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
134
+ "path",
135
+ {
136
+ d: "M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",
137
+ fill: "currentColor",
138
+ fillRule: "evenodd",
139
+ clipRule: "evenodd"
140
+ }
141
+ ) });
142
+ }
143
+ function RadixChevronDownIcon(props) {
144
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
145
+ "path",
146
+ {
147
+ d: "M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",
148
+ fill: "currentColor",
149
+ fillRule: "evenodd",
150
+ clipRule: "evenodd"
151
+ }
152
+ ) });
153
+ }
154
+ function RadixChevronUpIcon(props) {
155
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
156
+ "path",
157
+ {
158
+ d: "M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z",
159
+ fill: "currentColor",
160
+ fillRule: "evenodd",
161
+ clipRule: "evenodd"
162
+ }
163
+ ) });
164
+ }
165
+ function Cross2Icon(props) {
166
+ return /* @__PURE__ */ jsx(
167
+ "svg",
168
+ {
169
+ xmlns: "http://www.w3.org/2000/svg",
170
+ viewBox: "0 0 15 15",
171
+ fill: "none",
172
+ "aria-hidden": true,
173
+ ...props,
174
+ children: /* @__PURE__ */ jsx(
175
+ "path",
176
+ {
177
+ d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
178
+ fill: "currentColor",
179
+ fillRule: "evenodd",
180
+ clipRule: "evenodd"
181
+ }
182
+ )
183
+ }
184
+ );
185
+ }
186
+ function DragHandleDots2Icon(props) {
187
+ return /* @__PURE__ */ jsx("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx(
188
+ "path",
189
+ {
190
+ d: "M4.5 2.5C5.05228 2.5 5.5 2.05228 5.5 1.5C5.5 0.947715 5.05228 0.5 4.5 0.5C3.94772 0.5 3.5 0.947715 3.5 1.5C3.5 2.05228 3.94772 2.5 4.5 2.5ZM4.5 6.5C5.05228 6.5 5.5 6.05229 5.5 5.5C5.5 4.94771 5.05228 4.5 4.5 4.5C3.94772 4.5 3.5 4.94771 3.5 5.5C3.5 6.05229 3.94772 6.5 4.5 6.5ZM5.5 9.5C5.5 10.0523 5.05228 10.5 4.5 10.5C3.94772 10.5 3.5 10.0523 3.5 9.5C3.5 8.94771 3.94772 8.5 4.5 8.5C5.05228 8.5 5.5 8.94771 5.5 9.5ZM4.5 14.5C5.05228 14.5 5.5 14.0523 5.5 13.5C5.5 12.9477 5.05228 12.5 4.5 12.5C3.94772 12.5 3.5 12.9477 3.5 13.5C3.5 14.0523 3.94772 14.5 4.5 14.5ZM11.5 1.5C11.5 2.05228 11.0523 2.5 10.5 2.5C9.94771 2.5 9.5 2.05228 9.5 1.5C9.5 0.947715 9.94771 0.5 10.5 0.5C11.0523 0.5 11.5 0.947715 11.5 1.5ZM10.5 6.5C11.0523 6.5 11.5 6.05229 11.5 5.5C11.5 4.94771 11.0523 4.5 10.5 4.5C9.94771 4.5 9.5 4.94771 9.5 5.5C9.5 6.05229 9.94771 6.5 10.5 6.5ZM11.5 9.5C11.5 10.0523 11.0523 10.5 10.5 10.5C9.94771 10.5 9.5 10.0523 9.5 9.5C9.5 8.94771 9.94771 8.5 10.5 8.5C11.0523 8.5 11.5 8.94771 11.5 9.5ZM10.5 14.5C11.0523 14.5 11.5 14.0523 11.5 13.5C11.5 12.9477 11.0523 12.5 10.5 12.5C9.94771 12.5 9.5 12.9477 9.5 13.5C9.5 14.0523 9.94771 14.5 10.5 14.5Z",
191
+ fill: "currentColor",
192
+ fillRule: "evenodd",
193
+ clipRule: "evenodd"
194
+ }
195
+ ) });
196
+ }
197
+
198
+ // src/accordion.tsx
199
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
200
+ var ACCORDION_SIZES = {
201
+ sm: { trigger: "py-2 text-sm", content: "pb-2" },
202
+ md: { trigger: "p-4 text-sm", content: "px-4 pb-4" }
203
+ };
204
+ var AccordionSizeContext = React.createContext("md");
205
+ function useAccordionSize() {
206
+ return React.useContext(AccordionSizeContext);
207
+ }
208
+ var Accordion = React.forwardRef(({ size = "md", ...props }, ref) => /* @__PURE__ */ jsx2(AccordionSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx2(AccordionPrimitive.Root, { ref, "data-slot": "accordion", "data-size": size, ...props }) }));
209
+ Accordion.displayName = "Accordion";
210
+ var AccordionItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
211
+ AccordionPrimitive.Item,
212
+ {
213
+ ref,
214
+ "data-slot": "accordion-item",
215
+ className: cn("[&:not(:only-child)]:border-b", className),
216
+ ...props
217
+ }
218
+ ));
219
+ AccordionItem.displayName = "AccordionItem";
220
+ var AccordionTrigger = React.forwardRef(({ className, children, rightElements, ...props }, ref) => {
221
+ const size = useAccordionSize();
222
+ return /* @__PURE__ */ jsx2(AccordionPrimitive.Header, { className: "flex w-full", children: /* @__PURE__ */ jsxs2(
223
+ AccordionPrimitive.Trigger,
224
+ {
225
+ ref,
226
+ "data-slot": "accordion-trigger",
227
+ className: cn(
228
+ "flex w-full items-center justify-between gap-2 rounded-md text-left font-medium transition-all",
229
+ "hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
230
+ "disabled:pointer-events-none disabled:opacity-50",
231
+ "[&[data-state=open]>[data-slot=accordion-trigger-end]>svg]:rotate-180",
232
+ ACCORDION_SIZES[size].trigger,
233
+ className
234
+ ),
235
+ ...props,
236
+ children: [
237
+ children,
238
+ /* @__PURE__ */ jsxs2(
239
+ "span",
240
+ {
241
+ "data-slot": "accordion-trigger-end",
242
+ className: "flex shrink-0 items-center gap-2",
243
+ children: [
244
+ rightElements,
245
+ /* @__PURE__ */ jsx2(RadixChevronDownIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
246
+ ]
247
+ }
248
+ )
249
+ ]
250
+ }
251
+ ) });
252
+ });
253
+ AccordionTrigger.displayName = "AccordionTrigger";
254
+ var AccordionContent = React.forwardRef(({ className, children, ...props }, ref) => {
255
+ const size = useAccordionSize();
256
+ return /* @__PURE__ */ jsx2(
257
+ AccordionPrimitive.Content,
258
+ {
259
+ ref,
260
+ "data-slot": "accordion-content",
261
+ className: "matrx-accordion-content overflow-hidden text-sm",
262
+ ...props,
263
+ children: /* @__PURE__ */ jsx2("div", { className: cn(ACCORDION_SIZES[size].content, className), children })
264
+ }
265
+ );
266
+ });
267
+ AccordionContent.displayName = "AccordionContent";
268
+
13
269
  // src/badge.tsx
14
- import { jsx } from "react/jsx-runtime";
270
+ import { cva } from "class-variance-authority";
271
+ import { jsx as jsx3 } from "react/jsx-runtime";
15
272
  var badgeVariants = cva(
16
273
  "inline-flex items-center rounded-md border px-2 py-0.5 text-[11px] font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-0",
17
274
  {
@@ -34,7 +291,7 @@ var badgeVariants = cva(
34
291
  }
35
292
  );
36
293
  function Badge({ className, variant, ...props }) {
37
- return /* @__PURE__ */ jsx("span", { className: cn(badgeVariants({ variant }), className), ...props });
294
+ return /* @__PURE__ */ jsx3("span", { className: cn(badgeVariants({ variant }), className), ...props });
38
295
  }
39
296
 
40
297
  // src/bottom-sheet.tsx
@@ -43,34 +300,34 @@ import { Drawer as DrawerPrimitive2 } from "vaul";
43
300
 
44
301
  // src/drawer.tsx
45
302
  import { treeContainsComponent } from "@ai-matrx/kit/react-tree";
46
- import * as React2 from "react";
303
+ import * as React3 from "react";
47
304
  import { Drawer as DrawerPrimitive } from "vaul";
48
305
 
49
306
  // src/radix-dialog-modal-context.tsx
50
- import * as React from "react";
51
- import { jsx as jsx2 } from "react/jsx-runtime";
52
- var RadixDialogModalContext = React.createContext(true);
307
+ import * as React2 from "react";
308
+ import { jsx as jsx4 } from "react/jsx-runtime";
309
+ var RadixDialogModalContext = React2.createContext(true);
53
310
  function RadixDialogModalProvider({
54
311
  children,
55
312
  modal
56
313
  }) {
57
- return /* @__PURE__ */ jsx2(RadixDialogModalContext.Provider, { value: modal, children });
314
+ return /* @__PURE__ */ jsx4(RadixDialogModalContext.Provider, { value: modal, children });
58
315
  }
59
316
  function useRadixDialogModal() {
60
- return React.useContext(RadixDialogModalContext);
317
+ return React2.useContext(RadixDialogModalContext);
61
318
  }
62
319
 
63
320
  // src/drawer.tsx
64
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
65
- var DrawerDirectionContext = React2.createContext("bottom");
66
- var useDrawerDirection = () => React2.useContext(DrawerDirectionContext);
321
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
322
+ var DrawerDirectionContext = React3.createContext("bottom");
323
+ var useDrawerDirection = () => React3.useContext(DrawerDirectionContext);
67
324
  var Drawer = ({
68
325
  children,
69
326
  shouldScaleBackground = true,
70
327
  ...props
71
328
  }) => {
72
329
  const direction = props.direction ?? "bottom";
73
- return /* @__PURE__ */ jsx3(RadixDialogModalProvider, { modal: true, children: /* @__PURE__ */ jsx3(DrawerDirectionContext.Provider, { value: direction, children: /* @__PURE__ */ jsx3(
330
+ return /* @__PURE__ */ jsx5(RadixDialogModalProvider, { modal: true, children: /* @__PURE__ */ jsx5(DrawerDirectionContext.Provider, { value: direction, children: /* @__PURE__ */ jsx5(
74
331
  DrawerPrimitive.Root,
75
332
  {
76
333
  modal: true,
@@ -85,7 +342,7 @@ Drawer.displayName = "Drawer";
85
342
  var DrawerTrigger = DrawerPrimitive.Trigger;
86
343
  var DrawerPortal = DrawerPrimitive.Portal;
87
344
  var DrawerClose = DrawerPrimitive.Close;
88
- var DrawerOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
345
+ var DrawerOverlay = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
89
346
  DrawerPrimitive.Overlay,
90
347
  {
91
348
  ref,
@@ -98,7 +355,7 @@ var DrawerOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PU
98
355
  }
99
356
  ));
100
357
  DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
101
- var DrawerDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
358
+ var DrawerDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
102
359
  DrawerPrimitive.Description,
103
360
  {
104
361
  ref,
@@ -108,7 +365,7 @@ var DrawerDescription = React2.forwardRef(({ className, ...props }, ref) => /* @
108
365
  }
109
366
  ));
110
367
  DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
111
- var DrawerContentPrimitive = React2.forwardRef((props, ref) => /* @__PURE__ */ jsx3(DrawerPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
368
+ var DrawerContentPrimitive = React3.forwardRef((props, ref) => /* @__PURE__ */ jsx5(DrawerPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
112
369
  DrawerContentPrimitive.displayName = "DrawerContentPrimitive";
113
370
  var DIRECTION_CLASSES = {
114
371
  bottom: "inset-x-0 bottom-0 mt-24 flex-col rounded-t-[10px] border-t pb-safe",
@@ -122,13 +379,13 @@ var SIZE_CLASSES = {
122
379
  left: { adaptive: "w-auto max-w-[92vw]", full: "h-dvh w-[92vw] max-w-sm" },
123
380
  right: { adaptive: "w-auto max-w-[92vw]", full: "h-dvh w-[92vw] max-w-sm" }
124
381
  };
125
- var DrawerContent = React2.forwardRef(({ className, children, size = "adaptive", showHandle, ...props }, ref) => {
382
+ var DrawerContent = React3.forwardRef(({ className, children, size = "adaptive", showHandle, ...props }, ref) => {
126
383
  const direction = useDrawerDirection();
127
384
  const hasDescription = treeContainsComponent(children, DrawerDescription) || treeContainsComponent(children, DrawerPrimitive.Description);
128
385
  const withHandle = showHandle ?? (direction === "bottom" || direction === "top");
129
- return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
130
- /* @__PURE__ */ jsx3(DrawerOverlay, {}),
131
- /* @__PURE__ */ jsxs(
386
+ return /* @__PURE__ */ jsxs3(DrawerPortal, { children: [
387
+ /* @__PURE__ */ jsx5(DrawerOverlay, {}),
388
+ /* @__PURE__ */ jsxs3(
132
389
  DrawerContentPrimitive,
133
390
  {
134
391
  ref,
@@ -145,7 +402,7 @@ var DrawerContent = React2.forwardRef(({ className, children, size = "adaptive",
145
402
  children: [
146
403
  withHandle ? (
147
404
  // Rule 3: the pill is 4px; the TARGET is 44px.
148
- /* @__PURE__ */ jsx3(
405
+ /* @__PURE__ */ jsx5(
149
406
  "div",
150
407
  {
151
408
  "aria-hidden": true,
@@ -154,7 +411,7 @@ var DrawerContent = React2.forwardRef(({ className, children, size = "adaptive",
154
411
  "flex min-h-11 w-full shrink-0 cursor-grab items-center justify-center active:cursor-grabbing",
155
412
  direction === "top" && "order-last"
156
413
  ),
157
- children: /* @__PURE__ */ jsx3("div", { className: "h-1 w-[100px] rounded-full bg-muted" })
414
+ children: /* @__PURE__ */ jsx5("div", { className: "h-1 w-[100px] rounded-full bg-muted" })
158
415
  }
159
416
  )
160
417
  ) : null,
@@ -168,7 +425,7 @@ DrawerContent.displayName = "DrawerContent";
168
425
  var DrawerHeader = ({
169
426
  className,
170
427
  ...props
171
- }) => /* @__PURE__ */ jsx3(
428
+ }) => /* @__PURE__ */ jsx5(
172
429
  "div",
173
430
  {
174
431
  "data-slot": "drawer-header",
@@ -183,7 +440,7 @@ DrawerHeader.displayName = "DrawerHeader";
183
440
  var DrawerBody = ({
184
441
  className,
185
442
  ...props
186
- }) => /* @__PURE__ */ jsx3(
443
+ }) => /* @__PURE__ */ jsx5(
187
444
  "div",
188
445
  {
189
446
  "data-slot": "drawer-body",
@@ -195,7 +452,7 @@ DrawerBody.displayName = "DrawerBody";
195
452
  var DrawerFooter = ({
196
453
  className,
197
454
  ...props
198
- }) => /* @__PURE__ */ jsx3(
455
+ }) => /* @__PURE__ */ jsx5(
199
456
  "div",
200
457
  {
201
458
  "data-slot": "drawer-footer",
@@ -204,7 +461,7 @@ var DrawerFooter = ({
204
461
  }
205
462
  );
206
463
  DrawerFooter.displayName = "DrawerFooter";
207
- var DrawerTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
464
+ var DrawerTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
208
465
  DrawerPrimitive.Title,
209
466
  {
210
467
  ref,
@@ -218,192 +475,8 @@ var DrawerTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE
218
475
  ));
219
476
  DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
220
477
 
221
- // src/icons.tsx
222
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
223
- function lucideProps(props) {
224
- return {
225
- xmlns: "http://www.w3.org/2000/svg",
226
- viewBox: "0 0 24 24",
227
- fill: "none",
228
- stroke: "currentColor",
229
- strokeWidth: 2,
230
- strokeLinecap: "round",
231
- strokeLinejoin: "round",
232
- "aria-hidden": true,
233
- ...props
234
- };
235
- }
236
- function Loader2Icon(props) {
237
- return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
238
- }
239
- function ChevronLeftIcon(props) {
240
- return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "m15 18-6-6 6-6" }) });
241
- }
242
- function ChevronRightIcon(props) {
243
- return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "m9 18 6-6-6-6" }) });
244
- }
245
- function MoreHorizontalIcon(props) {
246
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
247
- /* @__PURE__ */ jsx4("circle", { cx: "12", cy: "12", r: "1" }),
248
- /* @__PURE__ */ jsx4("circle", { cx: "19", cy: "12", r: "1" }),
249
- /* @__PURE__ */ jsx4("circle", { cx: "5", cy: "12", r: "1" })
250
- ] });
251
- }
252
- function LucideCheckIcon(props) {
253
- return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "M20 6 9 17l-5-5" }) });
254
- }
255
- function ChevronsUpDownIcon(props) {
256
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
257
- /* @__PURE__ */ jsx4("path", { d: "m7 15 5 5 5-5" }),
258
- /* @__PURE__ */ jsx4("path", { d: "m7 9 5-5 5 5" })
259
- ] });
260
- }
261
- function ExternalLinkIcon(props) {
262
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
263
- /* @__PURE__ */ jsx4("path", { d: "M15 3h6v6" }),
264
- /* @__PURE__ */ jsx4("path", { d: "M10 14 21 3" }),
265
- /* @__PURE__ */ jsx4("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })
266
- ] });
267
- }
268
- function LockIcon(props) {
269
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
270
- /* @__PURE__ */ jsx4("rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" }),
271
- /* @__PURE__ */ jsx4("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
272
- ] });
273
- }
274
- function PlusIcon(props) {
275
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
276
- /* @__PURE__ */ jsx4("path", { d: "M5 12h14" }),
277
- /* @__PURE__ */ jsx4("path", { d: "M12 5v14" })
278
- ] });
279
- }
280
- function XIcon(props) {
281
- return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
282
- /* @__PURE__ */ jsx4("path", { d: "M18 6 6 18" }),
283
- /* @__PURE__ */ jsx4("path", { d: "m6 6 12 12" })
284
- ] });
285
- }
286
- function radixProps(props) {
287
- return {
288
- xmlns: "http://www.w3.org/2000/svg",
289
- viewBox: "0 0 15 15",
290
- width: 15,
291
- height: 15,
292
- fill: "none",
293
- "aria-hidden": true,
294
- ...props
295
- };
296
- }
297
- function MagnifyingGlassIcon(props) {
298
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
299
- "path",
300
- {
301
- d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",
302
- fill: "currentColor",
303
- fillRule: "evenodd",
304
- clipRule: "evenodd"
305
- }
306
- ) });
307
- }
308
- function CheckIcon(props) {
309
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
310
- "path",
311
- {
312
- d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",
313
- fill: "currentColor",
314
- fillRule: "evenodd",
315
- clipRule: "evenodd"
316
- }
317
- ) });
318
- }
319
- function DividerHorizontalIcon(props) {
320
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
321
- "path",
322
- {
323
- d: "M2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5Z",
324
- fill: "currentColor",
325
- fillRule: "evenodd",
326
- clipRule: "evenodd"
327
- }
328
- ) });
329
- }
330
- function DotFilledIcon(props) {
331
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
332
- "path",
333
- {
334
- d: "M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z",
335
- fill: "currentColor"
336
- }
337
- ) });
338
- }
339
- function RadixChevronRightIcon(props) {
340
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
341
- "path",
342
- {
343
- d: "M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",
344
- fill: "currentColor",
345
- fillRule: "evenodd",
346
- clipRule: "evenodd"
347
- }
348
- ) });
349
- }
350
- function RadixChevronDownIcon(props) {
351
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
352
- "path",
353
- {
354
- d: "M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",
355
- fill: "currentColor",
356
- fillRule: "evenodd",
357
- clipRule: "evenodd"
358
- }
359
- ) });
360
- }
361
- function RadixChevronUpIcon(props) {
362
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
363
- "path",
364
- {
365
- d: "M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z",
366
- fill: "currentColor",
367
- fillRule: "evenodd",
368
- clipRule: "evenodd"
369
- }
370
- ) });
371
- }
372
- function Cross2Icon(props) {
373
- return /* @__PURE__ */ jsx4(
374
- "svg",
375
- {
376
- xmlns: "http://www.w3.org/2000/svg",
377
- viewBox: "0 0 15 15",
378
- fill: "none",
379
- "aria-hidden": true,
380
- ...props,
381
- children: /* @__PURE__ */ jsx4(
382
- "path",
383
- {
384
- d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
385
- fill: "currentColor",
386
- fillRule: "evenodd",
387
- clipRule: "evenodd"
388
- }
389
- )
390
- }
391
- );
392
- }
393
- function DragHandleDots2Icon(props) {
394
- return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
395
- "path",
396
- {
397
- d: "M4.5 2.5C5.05228 2.5 5.5 2.05228 5.5 1.5C5.5 0.947715 5.05228 0.5 4.5 0.5C3.94772 0.5 3.5 0.947715 3.5 1.5C3.5 2.05228 3.94772 2.5 4.5 2.5ZM4.5 6.5C5.05228 6.5 5.5 6.05229 5.5 5.5C5.5 4.94771 5.05228 4.5 4.5 4.5C3.94772 4.5 3.5 4.94771 3.5 5.5C3.5 6.05229 3.94772 6.5 4.5 6.5ZM5.5 9.5C5.5 10.0523 5.05228 10.5 4.5 10.5C3.94772 10.5 3.5 10.0523 3.5 9.5C3.5 8.94771 3.94772 8.5 4.5 8.5C5.05228 8.5 5.5 8.94771 5.5 9.5ZM4.5 14.5C5.05228 14.5 5.5 14.0523 5.5 13.5C5.5 12.9477 5.05228 12.5 4.5 12.5C3.94772 12.5 3.5 12.9477 3.5 13.5C3.5 14.0523 3.94772 14.5 4.5 14.5ZM11.5 1.5C11.5 2.05228 11.0523 2.5 10.5 2.5C9.94771 2.5 9.5 2.05228 9.5 1.5C9.5 0.947715 9.94771 0.5 10.5 0.5C11.0523 0.5 11.5 0.947715 11.5 1.5ZM10.5 6.5C11.0523 6.5 11.5 6.05229 11.5 5.5C11.5 4.94771 11.0523 4.5 10.5 4.5C9.94771 4.5 9.5 4.94771 9.5 5.5C9.5 6.05229 9.94771 6.5 10.5 6.5ZM11.5 9.5C11.5 10.0523 11.0523 10.5 10.5 10.5C9.94771 10.5 9.5 10.0523 9.5 9.5C9.5 8.94771 9.94771 8.5 10.5 8.5C11.0523 8.5 11.5 8.94771 11.5 9.5ZM10.5 14.5C11.0523 14.5 11.5 14.0523 11.5 13.5C11.5 12.9477 11.0523 12.5 10.5 12.5C9.94771 12.5 9.5 12.9477 9.5 13.5C9.5 14.0523 9.94771 14.5 10.5 14.5Z",
398
- fill: "currentColor",
399
- fillRule: "evenodd",
400
- clipRule: "evenodd"
401
- }
402
- ) });
403
- }
404
-
405
478
  // src/bottom-sheet.tsx
406
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
479
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
407
480
  function BottomSheet({
408
481
  open,
409
482
  onOpenChange,
@@ -413,15 +486,15 @@ function BottomSheet({
413
486
  contentClassName,
414
487
  children
415
488
  }) {
416
- return /* @__PURE__ */ jsx5(Drawer, { open, onOpenChange, children: /* @__PURE__ */ jsxs3(DrawerPrimitive2.Portal, { children: [
417
- /* @__PURE__ */ jsx5(
489
+ return /* @__PURE__ */ jsx6(Drawer, { open, onOpenChange, children: /* @__PURE__ */ jsxs4(DrawerPrimitive2.Portal, { children: [
490
+ /* @__PURE__ */ jsx6(
418
491
  DrawerPrimitive2.Overlay,
419
492
  {
420
493
  className: cn("fixed inset-0 z-50 bg-[var(--matrx-overlay-scrim)]", "fixed inset-0 z-50"),
421
494
  style: { background: "var(--matrx-overlay-scrim-drawer)" }
422
495
  }
423
496
  ),
424
- /* @__PURE__ */ jsxs3(
497
+ /* @__PURE__ */ jsxs4(
425
498
  DrawerContentPrimitive,
426
499
  {
427
500
  className: cn(
@@ -438,11 +511,11 @@ function BottomSheet({
438
511
  borderBottom: "none"
439
512
  } : void 0,
440
513
  children: [
441
- /* @__PURE__ */ jsxs3(VisuallyHidden, { children: [
442
- /* @__PURE__ */ jsx5(DrawerPrimitive2.Title, { children: title }),
443
- /* @__PURE__ */ jsx5(DrawerPrimitive2.Description, { children: "Bottom sheet panel." })
514
+ /* @__PURE__ */ jsxs4(VisuallyHidden, { children: [
515
+ /* @__PURE__ */ jsx6(DrawerPrimitive2.Title, { children: title }),
516
+ /* @__PURE__ */ jsx6(DrawerPrimitive2.Description, { children: "Bottom sheet panel." })
444
517
  ] }),
445
- /* @__PURE__ */ jsx5("div", { className: "mx-auto mt-3 mb-1 h-1.5 w-10 rounded-full bg-muted-foreground/30 flex-shrink-0" }),
518
+ /* @__PURE__ */ jsx6("div", { className: "mx-auto mt-3 mb-1 h-1.5 w-10 rounded-full bg-muted-foreground/30 flex-shrink-0" }),
446
519
  children
447
520
  ]
448
521
  }
@@ -455,8 +528,8 @@ function BottomSheetHeader({
455
528
  onBack,
456
529
  trailing
457
530
  }) {
458
- return /* @__PURE__ */ jsxs3("div", { className: "flex items-center px-2 pt-1 pb-2 flex-shrink-0 min-h-[44px]", children: [
459
- /* @__PURE__ */ jsx5("div", { className: "min-w-[44px] flex items-center justify-start", children: /* @__PURE__ */ jsx5(
531
+ return /* @__PURE__ */ jsxs4("div", { className: "flex items-center px-2 pt-1 pb-2 flex-shrink-0 min-h-[44px]", children: [
532
+ /* @__PURE__ */ jsx6("div", { className: "min-w-[44px] flex items-center justify-start", children: /* @__PURE__ */ jsx6(
460
533
  "button",
461
534
  {
462
535
  onClick: onBack,
@@ -466,15 +539,15 @@ function BottomSheetHeader({
466
539
  ),
467
540
  "aria-hidden": !showBack,
468
541
  tabIndex: showBack ? 0 : -1,
469
- children: /* @__PURE__ */ jsx5(ChevronLeftIcon, { className: "h-4 w-4 text-foreground" })
542
+ children: /* @__PURE__ */ jsx6(ChevronLeftIcon, { className: "h-4 w-4 text-foreground" })
470
543
  }
471
544
  ) }),
472
- /* @__PURE__ */ jsx5("span", { className: "text-[17px] font-semibold flex-1 text-center truncate", children: title }),
473
- /* @__PURE__ */ jsx5("div", { className: "min-w-[44px] flex items-center justify-end", children: trailing })
545
+ /* @__PURE__ */ jsx6("span", { className: "text-[17px] font-semibold flex-1 text-center truncate", children: title }),
546
+ /* @__PURE__ */ jsx6("div", { className: "min-w-[44px] flex items-center justify-end", children: trailing })
474
547
  ] });
475
548
  }
476
549
  function BottomSheetBody({ children, className }) {
477
- return /* @__PURE__ */ jsx5(
550
+ return /* @__PURE__ */ jsx6(
478
551
  "div",
479
552
  {
480
553
  className: cn(
@@ -491,7 +564,7 @@ function BottomSheetFooter({
491
564
  children,
492
565
  className
493
566
  }) {
494
- return /* @__PURE__ */ jsx5(
567
+ return /* @__PURE__ */ jsx6(
495
568
  "div",
496
569
  {
497
570
  className: cn(
@@ -505,8 +578,8 @@ function BottomSheetFooter({
505
578
 
506
579
  // src/alert.tsx
507
580
  import { cva as cva2 } from "class-variance-authority";
508
- import * as React3 from "react";
509
- import { jsx as jsx6 } from "react/jsx-runtime";
581
+ import * as React4 from "react";
582
+ import { jsx as jsx7 } from "react/jsx-runtime";
510
583
  var alertVariants = cva2(
511
584
  "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-7",
512
585
  {
@@ -524,8 +597,8 @@ var alertVariants = cva2(
524
597
  }
525
598
  }
526
599
  );
527
- var Alert = React3.forwardRef(
528
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx6(
600
+ var Alert = React4.forwardRef(
601
+ ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx7(
529
602
  "div",
530
603
  {
531
604
  ref,
@@ -538,7 +611,7 @@ var Alert = React3.forwardRef(
538
611
  )
539
612
  );
540
613
  Alert.displayName = "Alert";
541
- var AlertTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
614
+ var AlertTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
542
615
  "h5",
543
616
  {
544
617
  ref,
@@ -548,7 +621,7 @@ var AlertTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE_
548
621
  }
549
622
  ));
550
623
  AlertTitle.displayName = "AlertTitle";
551
- var AlertDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
624
+ var AlertDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
552
625
  "div",
553
626
  {
554
627
  ref,
@@ -562,13 +635,13 @@ AlertDescription.displayName = "AlertDescription";
562
635
  // src/alert-dialog.tsx
563
636
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
564
637
  import { treeContainsComponent as treeContainsComponent2 } from "@ai-matrx/kit/react-tree";
565
- import * as React6 from "react";
638
+ import * as React7 from "react";
566
639
 
567
640
  // src/button.tsx
568
641
  import { Slot } from "@radix-ui/react-slot";
569
642
  import { cva as cva3 } from "class-variance-authority";
570
- import * as React4 from "react";
571
- import { jsx as jsx7 } from "react/jsx-runtime";
643
+ import * as React5 from "react";
644
+ import { jsx as jsx8 } from "react/jsx-runtime";
572
645
  var buttonVariants = cva3(
573
646
  "inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
574
647
  {
@@ -620,10 +693,10 @@ var buttonVariants = cva3(
620
693
  }
621
694
  }
622
695
  );
623
- var Button = React4.forwardRef(
696
+ var Button = React5.forwardRef(
624
697
  ({ className, variant, size, asChild = false, ...props }, ref) => {
625
698
  const Component = asChild ? Slot : "button";
626
- return /* @__PURE__ */ jsx7(
699
+ return /* @__PURE__ */ jsx8(
627
700
  Component,
628
701
  {
629
702
  className: cn(buttonVariants({ variant, size, className })),
@@ -636,19 +709,19 @@ var Button = React4.forwardRef(
636
709
  Button.displayName = "Button";
637
710
 
638
711
  // src/portal-container.tsx
639
- import * as React5 from "react";
640
- import { jsx as jsx8 } from "react/jsx-runtime";
641
- var PortalContainerContext = React5.createContext(
712
+ import * as React6 from "react";
713
+ import { jsx as jsx9 } from "react/jsx-runtime";
714
+ var PortalContainerContext = React6.createContext(
642
715
  void 0
643
716
  );
644
717
  function PortalContainerProvider({
645
718
  container,
646
719
  children
647
720
  }) {
648
- return /* @__PURE__ */ jsx8(PortalContainerContext.Provider, { value: container ?? void 0, children });
721
+ return /* @__PURE__ */ jsx9(PortalContainerContext.Provider, { value: container ?? void 0, children });
649
722
  }
650
723
  function usePortalContainer(explicit) {
651
- const injected = React5.useContext(PortalContainerContext);
724
+ const injected = React6.useContext(PortalContainerContext);
652
725
  if (explicit !== void 0) {
653
726
  return explicit ?? void 0;
654
727
  }
@@ -656,7 +729,7 @@ function usePortalContainer(explicit) {
656
729
  }
657
730
 
658
731
  // src/alert-dialog.tsx
659
- import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
732
+ import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
660
733
  var AlertDialog = AlertDialogPrimitive.Root;
661
734
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
662
735
  var AlertDialogPortal = ({
@@ -664,10 +737,10 @@ var AlertDialogPortal = ({
664
737
  ...props
665
738
  }) => {
666
739
  const resolved = usePortalContainer(container);
667
- return /* @__PURE__ */ jsx9(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
740
+ return /* @__PURE__ */ jsx10(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
668
741
  };
669
742
  AlertDialogPortal.displayName = "AlertDialogPortal";
670
- var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
743
+ var AlertDialogOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
671
744
  AlertDialogPrimitive.Overlay,
672
745
  {
673
746
  ref,
@@ -680,9 +753,9 @@ var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /*
680
753
  }
681
754
  ));
682
755
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
683
- var AlertDialogContentPrimitive = React6.forwardRef((props, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
756
+ var AlertDialogContentPrimitive = React7.forwardRef((props, ref) => /* @__PURE__ */ jsx10(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
684
757
  AlertDialogContentPrimitive.displayName = "AlertDialogContentPrimitive";
685
- var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
758
+ var AlertDialogDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
686
759
  AlertDialogPrimitive.Description,
687
760
  {
688
761
  ref,
@@ -692,11 +765,11 @@ var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) =>
692
765
  }
693
766
  ));
694
767
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
695
- var AlertDialogContent = React6.forwardRef(({ className, children, container, ...props }, ref) => {
768
+ var AlertDialogContent = React7.forwardRef(({ className, children, container, ...props }, ref) => {
696
769
  const hasDescription = treeContainsComponent2(children, AlertDialogDescription) || treeContainsComponent2(children, AlertDialogPrimitive.Description);
697
- return /* @__PURE__ */ jsxs4(AlertDialogPortal, { container, children: [
698
- /* @__PURE__ */ jsx9(AlertDialogOverlay, {}),
699
- /* @__PURE__ */ jsxs4(
770
+ return /* @__PURE__ */ jsxs5(AlertDialogPortal, { container, children: [
771
+ /* @__PURE__ */ jsx10(AlertDialogOverlay, {}),
772
+ /* @__PURE__ */ jsxs5(
700
773
  AlertDialogContentPrimitive,
701
774
  {
702
775
  ref,
@@ -711,7 +784,7 @@ var AlertDialogContent = React6.forwardRef(({ className, children, container, ..
711
784
  ),
712
785
  ...props,
713
786
  children: [
714
- hasDescription ? null : /* @__PURE__ */ jsx9(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
787
+ hasDescription ? null : /* @__PURE__ */ jsx10(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
715
788
  children
716
789
  ]
717
790
  }
@@ -722,7 +795,7 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
722
795
  var AlertDialogHeader = ({
723
796
  className,
724
797
  ...props
725
- }) => /* @__PURE__ */ jsx9(
798
+ }) => /* @__PURE__ */ jsx10(
726
799
  "div",
727
800
  {
728
801
  "data-slot": "alert-dialog-header",
@@ -734,7 +807,7 @@ AlertDialogHeader.displayName = "AlertDialogHeader";
734
807
  var AlertDialogFooter = ({
735
808
  className,
736
809
  ...props
737
- }) => /* @__PURE__ */ jsx9(
810
+ }) => /* @__PURE__ */ jsx10(
738
811
  "div",
739
812
  {
740
813
  "data-slot": "alert-dialog-footer",
@@ -750,7 +823,7 @@ var AlertDialogFooter = ({
750
823
  }
751
824
  );
752
825
  AlertDialogFooter.displayName = "AlertDialogFooter";
753
- var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
826
+ var AlertDialogTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
754
827
  AlertDialogPrimitive.Title,
755
828
  {
756
829
  ref,
@@ -760,7 +833,7 @@ var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @_
760
833
  }
761
834
  ));
762
835
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
763
- var AlertDialogAction = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
836
+ var AlertDialogAction = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
764
837
  AlertDialogPrimitive.Action,
765
838
  {
766
839
  ref,
@@ -770,7 +843,7 @@ var AlertDialogAction = React6.forwardRef(({ className, ...props }, ref) => /* @
770
843
  }
771
844
  ));
772
845
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
773
- var AlertDialogCancel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
846
+ var AlertDialogCancel = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
774
847
  AlertDialogPrimitive.Cancel,
775
848
  {
776
849
  ref,
@@ -787,14 +860,14 @@ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
787
860
 
788
861
  // src/avatar.tsx
789
862
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
790
- import * as React7 from "react";
791
- import { jsx as jsx10 } from "react/jsx-runtime";
863
+ import * as React8 from "react";
864
+ import { jsx as jsx11 } from "react/jsx-runtime";
792
865
  var AVATAR_SIZES = {
793
866
  sm: "h-8 w-8 text-[11px]",
794
867
  md: "h-9 w-9 text-xs",
795
868
  lg: "h-10 w-10 text-sm"
796
869
  };
797
- var Avatar = React7.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ jsx10(
870
+ var Avatar = React8.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ jsx11(
798
871
  AvatarPrimitive.Root,
799
872
  {
800
873
  ref,
@@ -808,7 +881,7 @@ var Avatar = React7.forwardRef(({ className, size = "lg", ...props }, ref) => /*
808
881
  }
809
882
  ));
810
883
  Avatar.displayName = AvatarPrimitive.Root.displayName;
811
- var AvatarImage = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
884
+ var AvatarImage = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
812
885
  AvatarPrimitive.Image,
813
886
  {
814
887
  ref,
@@ -818,7 +891,7 @@ var AvatarImage = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE
818
891
  }
819
892
  ));
820
893
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
821
- var AvatarFallback = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
894
+ var AvatarFallback = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
822
895
  AvatarPrimitive.Fallback,
823
896
  {
824
897
  ref,
@@ -833,8 +906,8 @@ var AvatarFallback = React7.forwardRef(({ className, ...props }, ref) => /* @__P
833
906
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
834
907
 
835
908
  // src/card.tsx
836
- import * as React8 from "react";
837
- import { jsx as jsx11 } from "react/jsx-runtime";
909
+ import * as React9 from "react";
910
+ import { jsx as jsx12 } from "react/jsx-runtime";
838
911
  var CARD_SIZES = {
839
912
  sm: {
840
913
  root: "rounded-xl border bg-card text-card-foreground shadow",
@@ -852,12 +925,12 @@ var CARD_SIZES = {
852
925
  padTopless: "p-6 pt-0"
853
926
  }
854
927
  };
855
- var CardSizeContext = React8.createContext("md");
928
+ var CardSizeContext = React9.createContext("md");
856
929
  function useCardSize() {
857
- return React8.useContext(CardSizeContext);
930
+ return React9.useContext(CardSizeContext);
858
931
  }
859
- var Card = React8.forwardRef(
860
- ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx11(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx11(
932
+ var Card = React9.forwardRef(
933
+ ({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx12(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx12(
861
934
  "div",
862
935
  {
863
936
  ref,
@@ -869,9 +942,9 @@ var Card = React8.forwardRef(
869
942
  ) })
870
943
  );
871
944
  Card.displayName = "Card";
872
- var CardHeader = React8.forwardRef(({ className, ...props }, ref) => {
945
+ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => {
873
946
  const size = useCardSize();
874
- return /* @__PURE__ */ jsx11(
947
+ return /* @__PURE__ */ jsx12(
875
948
  "div",
876
949
  {
877
950
  ref,
@@ -886,7 +959,7 @@ var CardHeader = React8.forwardRef(({ className, ...props }, ref) => {
886
959
  );
887
960
  });
888
961
  CardHeader.displayName = "CardHeader";
889
- var CardTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
962
+ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
890
963
  "h3",
891
964
  {
892
965
  ref,
@@ -896,7 +969,7 @@ var CardTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__
896
969
  }
897
970
  ));
898
971
  CardTitle.displayName = "CardTitle";
899
- var CardDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
972
+ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
900
973
  "p",
901
974
  {
902
975
  ref,
@@ -906,7 +979,7 @@ var CardDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__
906
979
  }
907
980
  ));
908
981
  CardDescription.displayName = "CardDescription";
909
- var CardAction = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
982
+ var CardAction = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx12(
910
983
  "div",
911
984
  {
912
985
  ref,
@@ -916,9 +989,9 @@ var CardAction = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE_
916
989
  }
917
990
  ));
918
991
  CardAction.displayName = "CardAction";
919
- var CardContent = React8.forwardRef(({ className, ...props }, ref) => {
992
+ var CardContent = React9.forwardRef(({ className, ...props }, ref) => {
920
993
  const size = useCardSize();
921
- return /* @__PURE__ */ jsx11(
994
+ return /* @__PURE__ */ jsx12(
922
995
  "div",
923
996
  {
924
997
  ref,
@@ -929,9 +1002,9 @@ var CardContent = React8.forwardRef(({ className, ...props }, ref) => {
929
1002
  );
930
1003
  });
931
1004
  CardContent.displayName = "CardContent";
932
- var CardFooter = React8.forwardRef(({ className, ...props }, ref) => {
1005
+ var CardFooter = React9.forwardRef(({ className, ...props }, ref) => {
933
1006
  const size = useCardSize();
934
- return /* @__PURE__ */ jsx11(
1007
+ return /* @__PURE__ */ jsx12(
935
1008
  "div",
936
1009
  {
937
1010
  ref,
@@ -949,13 +1022,13 @@ CardFooter.displayName = "CardFooter";
949
1022
 
950
1023
  // src/checkbox.tsx
951
1024
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
952
- import * as React9 from "react";
953
- import { jsx as jsx12 } from "react/jsx-runtime";
1025
+ import * as React10 from "react";
1026
+ import { jsx as jsx13 } from "react/jsx-runtime";
954
1027
  var CHECKBOX_SIZES = {
955
1028
  sm: { root: "h-3.5 w-3.5 rounded-xs", glyph: "h-3 w-3" },
956
1029
  md: { root: "h-4 w-4 rounded-sm", glyph: "h-3.5 w-3.5" }
957
1030
  };
958
- var Checkbox = React9.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx12(
1031
+ var Checkbox = React10.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx13(
959
1032
  CheckboxPrimitive.Root,
960
1033
  {
961
1034
  ref,
@@ -966,12 +1039,12 @@ var Checkbox = React9.forwardRef(({ className, size = "md", ...props }, ref) =>
966
1039
  className
967
1040
  ),
968
1041
  ...props,
969
- children: /* @__PURE__ */ jsx12(
1042
+ children: /* @__PURE__ */ jsx13(
970
1043
  CheckboxPrimitive.Indicator,
971
1044
  {
972
1045
  "data-slot": "checkbox-indicator",
973
1046
  className: "flex items-center justify-center text-current",
974
- children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx12(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ jsx12(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
1047
+ children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx13(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ jsx13(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
975
1048
  }
976
1049
  )
977
1050
  }
@@ -987,15 +1060,15 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
987
1060
  // src/command.tsx
988
1061
  import * as DialogPrimitive from "@radix-ui/react-dialog";
989
1062
  import { Command as CommandPrimitive } from "cmdk";
990
- import * as React11 from "react";
1063
+ import * as React12 from "react";
991
1064
 
992
1065
  // src/use-is-mobile.ts
993
- import * as React10 from "react";
1066
+ import * as React11 from "react";
994
1067
  var MOBILE_BREAKPOINT = 768;
995
1068
  function useIsMobile() {
996
- const [isMobile, setIsMobile] = React10.useState(false);
997
- const [hasMounted, setHasMounted] = React10.useState(false);
998
- React10.useEffect(() => {
1069
+ const [isMobile, setIsMobile] = React11.useState(false);
1070
+ const [hasMounted, setHasMounted] = React11.useState(false);
1071
+ React11.useEffect(() => {
999
1072
  setHasMounted(true);
1000
1073
  const onChange = () => {
1001
1074
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1015,8 +1088,8 @@ function useIsMobile() {
1015
1088
  }
1016
1089
 
1017
1090
  // src/command.tsx
1018
- import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
1019
- var Command = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1091
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
1092
+ var Command = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1020
1093
  CommandPrimitive,
1021
1094
  {
1022
1095
  ref,
@@ -1031,18 +1104,18 @@ Command.displayName = CommandPrimitive.displayName;
1031
1104
  var DIALOG_DESKTOP_CLASSES = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg";
1032
1105
  var DIALOG_MOBILE_SHEET_CLASSES = "fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain 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]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom";
1033
1106
  var DIALOG_MOBILE_SHEET_OVERRIDE = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
1034
- var CommandDialogContent = React11.forwardRef(({ className, children, container, ...props }, ref) => {
1107
+ var CommandDialogContent = React12.forwardRef(({ className, children, container, ...props }, ref) => {
1035
1108
  const isMobile = useIsMobile();
1036
1109
  const isModal = useRadixDialogModal();
1037
1110
  const portalContainer = usePortalContainer(container);
1038
- return /* @__PURE__ */ jsxs5(DialogPrimitive.Portal, { container: portalContainer, children: [
1039
- isModal ? /* @__PURE__ */ jsx13(
1111
+ return /* @__PURE__ */ jsxs6(DialogPrimitive.Portal, { container: portalContainer, children: [
1112
+ isModal ? /* @__PURE__ */ jsx14(
1040
1113
  DialogPrimitive.Overlay,
1041
1114
  {
1042
1115
  className: "fixed inset-0 z-[10000] bg-[var(--matrx-overlay-scrim-soft)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
1043
1116
  }
1044
1117
  ) : null,
1045
- /* @__PURE__ */ jsxs5(
1118
+ /* @__PURE__ */ jsxs6(
1046
1119
  DialogPrimitive.Content,
1047
1120
  {
1048
1121
  ref,
@@ -1057,9 +1130,9 @@ var CommandDialogContent = React11.forwardRef(({ className, children, container,
1057
1130
  ...props,
1058
1131
  children: [
1059
1132
  children,
1060
- /* @__PURE__ */ jsxs5(DialogPrimitive.Close, { className: "absolute right-2 top-4 flex h-10 w-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4", children: [
1061
- /* @__PURE__ */ jsx13(XIcon, { className: "h-4 w-4" }),
1062
- /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Close" })
1133
+ /* @__PURE__ */ jsxs6(DialogPrimitive.Close, { className: "absolute right-2 top-4 flex h-10 w-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4", children: [
1134
+ /* @__PURE__ */ jsx14(XIcon, { className: "h-4 w-4" }),
1135
+ /* @__PURE__ */ jsx14("span", { className: "sr-only", children: "Close" })
1063
1136
  ] })
1064
1137
  ]
1065
1138
  }
@@ -1073,21 +1146,21 @@ var CommandDialog = ({
1073
1146
  ...props
1074
1147
  }) => {
1075
1148
  const modal = props.modal ?? true;
1076
- return /* @__PURE__ */ jsx13(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx13(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs5(
1149
+ return /* @__PURE__ */ jsx14(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx14(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs6(
1077
1150
  CommandDialogContent,
1078
1151
  {
1079
1152
  className: "overflow-hidden p-0",
1080
1153
  ...container !== void 0 ? { container } : {},
1081
1154
  children: [
1082
- /* @__PURE__ */ jsx13(DialogPrimitive.Title, { className: "sr-only" }),
1083
- /* @__PURE__ */ jsx13(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1155
+ /* @__PURE__ */ jsx14(DialogPrimitive.Title, { className: "sr-only" }),
1156
+ /* @__PURE__ */ jsx14(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
1084
1157
  ]
1085
1158
  }
1086
1159
  ) }) });
1087
1160
  };
1088
- var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs5("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1089
- /* @__PURE__ */ jsx13(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1090
- /* @__PURE__ */ jsx13(
1161
+ var CommandInput = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1162
+ /* @__PURE__ */ jsx14(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1163
+ /* @__PURE__ */ jsx14(
1091
1164
  CommandPrimitive.Input,
1092
1165
  {
1093
1166
  ref,
@@ -1100,7 +1173,7 @@ var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
1100
1173
  )
1101
1174
  ] }));
1102
1175
  CommandInput.displayName = CommandPrimitive.Input.displayName;
1103
- var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1176
+ var CommandList = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1104
1177
  CommandPrimitive.List,
1105
1178
  {
1106
1179
  ref,
@@ -1109,7 +1182,7 @@ var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
1109
1182
  }
1110
1183
  ));
1111
1184
  CommandList.displayName = CommandPrimitive.List.displayName;
1112
- var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(
1185
+ var CommandEmpty = React12.forwardRef((props, ref) => /* @__PURE__ */ jsx14(
1113
1186
  CommandPrimitive.Empty,
1114
1187
  {
1115
1188
  ref,
@@ -1118,7 +1191,7 @@ var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(
1118
1191
  }
1119
1192
  ));
1120
1193
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1121
- var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1194
+ var CommandGroup = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1122
1195
  CommandPrimitive.Group,
1123
1196
  {
1124
1197
  ref,
@@ -1130,7 +1203,7 @@ var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
1130
1203
  }
1131
1204
  ));
1132
1205
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
1133
- var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1206
+ var CommandSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1134
1207
  CommandPrimitive.Separator,
1135
1208
  {
1136
1209
  ref,
@@ -1139,7 +1212,7 @@ var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @
1139
1212
  }
1140
1213
  ));
1141
1214
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1142
- var CommandItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1215
+ var CommandItem = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1143
1216
  CommandPrimitive.Item,
1144
1217
  {
1145
1218
  ref,
@@ -1155,7 +1228,7 @@ var CommandShortcut = ({
1155
1228
  className,
1156
1229
  ...props
1157
1230
  }) => {
1158
- return /* @__PURE__ */ jsx13(
1231
+ return /* @__PURE__ */ jsx14(
1159
1232
  "span",
1160
1233
  {
1161
1234
  className: cn(
@@ -1170,8 +1243,8 @@ CommandShortcut.displayName = "CommandShortcut";
1170
1243
 
1171
1244
  // src/context-menu.tsx
1172
1245
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
1173
- import * as React12 from "react";
1174
- import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
1246
+ import * as React13 from "react";
1247
+ import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
1175
1248
  var ContextMenu = ContextMenuPrimitive.Root;
1176
1249
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1177
1250
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -1182,7 +1255,7 @@ var SURFACE_CLASS = "z-50 min-w-[8rem] max-h-[var(--radix-context-menu-content-a
1182
1255
  var MOTION_CLASS = "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";
1183
1256
  var ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1184
1257
  var INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1185
- var ContextMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1258
+ var ContextMenuSubTrigger = React13.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1186
1259
  ContextMenuPrimitive.SubTrigger,
1187
1260
  {
1188
1261
  ref,
@@ -1195,12 +1268,12 @@ var ContextMenuSubTrigger = React12.forwardRef(({ className, inset, children, ..
1195
1268
  ...props,
1196
1269
  children: [
1197
1270
  children,
1198
- /* @__PURE__ */ jsx14(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1271
+ /* @__PURE__ */ jsx15(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1199
1272
  ]
1200
1273
  }
1201
1274
  ));
1202
1275
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1203
- var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1276
+ var ContextMenuSubContent = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1204
1277
  ContextMenuPrimitive.SubContent,
1205
1278
  {
1206
1279
  ref,
@@ -1210,9 +1283,9 @@ var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) =>
1210
1283
  }
1211
1284
  ));
1212
1285
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1213
- var ContextMenuContent = React12.forwardRef(({ className, container, ...props }, ref) => {
1286
+ var ContextMenuContent = React13.forwardRef(({ className, container, ...props }, ref) => {
1214
1287
  const portalContainer = usePortalContainer(container);
1215
- return /* @__PURE__ */ jsx14(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx14(
1288
+ return /* @__PURE__ */ jsx15(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx15(
1216
1289
  ContextMenuPrimitive.Content,
1217
1290
  {
1218
1291
  ref,
@@ -1223,7 +1296,7 @@ var ContextMenuContent = React12.forwardRef(({ className, container, ...props },
1223
1296
  ) });
1224
1297
  });
1225
1298
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1226
- var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
1299
+ var ContextMenuItem = React13.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx15(
1227
1300
  ContextMenuPrimitive.Item,
1228
1301
  {
1229
1302
  ref,
@@ -1238,7 +1311,7 @@ var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) =
1238
1311
  }
1239
1312
  ));
1240
1313
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1241
- var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1314
+ var ContextMenuCheckboxItem = React13.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1242
1315
  ContextMenuPrimitive.CheckboxItem,
1243
1316
  {
1244
1317
  ref,
@@ -1246,13 +1319,13 @@ var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, ...prop
1246
1319
  className: cn(INDICATOR_ITEM_CLASS, className),
1247
1320
  ...props,
1248
1321
  children: [
1249
- /* @__PURE__ */ jsx14("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(CheckIcon, { className: "h-4 w-4" }) }) }),
1322
+ /* @__PURE__ */ jsx15("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx15(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx15(CheckIcon, { className: "h-4 w-4" }) }) }),
1250
1323
  children
1251
1324
  ]
1252
1325
  }
1253
1326
  ));
1254
1327
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1255
- var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1328
+ var ContextMenuRadioItem = React13.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1256
1329
  ContextMenuPrimitive.RadioItem,
1257
1330
  {
1258
1331
  ref,
@@ -1260,13 +1333,13 @@ var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }
1260
1333
  className: cn(INDICATOR_ITEM_CLASS, className),
1261
1334
  ...props,
1262
1335
  children: [
1263
- /* @__PURE__ */ jsx14("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1336
+ /* @__PURE__ */ jsx15("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx15(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx15(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1264
1337
  children
1265
1338
  ]
1266
1339
  }
1267
1340
  ));
1268
1341
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1269
- var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
1342
+ var ContextMenuLabel = React13.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx15(
1270
1343
  ContextMenuPrimitive.Label,
1271
1344
  {
1272
1345
  ref,
@@ -1280,7 +1353,7 @@ var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref)
1280
1353
  }
1281
1354
  ));
1282
1355
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1283
- var ContextMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1356
+ var ContextMenuSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1284
1357
  ContextMenuPrimitive.Separator,
1285
1358
  {
1286
1359
  ref,
@@ -1293,7 +1366,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1293
1366
  var ContextMenuShortcut = ({
1294
1367
  className,
1295
1368
  ...props
1296
- }) => /* @__PURE__ */ jsx14(
1369
+ }) => /* @__PURE__ */ jsx15(
1297
1370
  "span",
1298
1371
  {
1299
1372
  "data-slot": "context-menu-shortcut",
@@ -1311,15 +1384,15 @@ import {
1311
1384
 
1312
1385
  // src/popover.tsx
1313
1386
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1314
- import * as React13 from "react";
1315
- import { jsx as jsx15 } from "react/jsx-runtime";
1387
+ import * as React14 from "react";
1388
+ import { jsx as jsx16 } from "react/jsx-runtime";
1316
1389
  var Popover = PopoverPrimitive.Root;
1317
1390
  var PopoverTrigger = PopoverPrimitive.Trigger;
1318
1391
  var PopoverAnchor = PopoverPrimitive.Anchor;
1319
- var PopoverContent = React13.forwardRef(
1392
+ var PopoverContent = React14.forwardRef(
1320
1393
  ({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
1321
1394
  const portalContainer = usePortalContainer(container);
1322
- return /* @__PURE__ */ jsx15(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx15(
1395
+ return /* @__PURE__ */ jsx16(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx16(
1323
1396
  PopoverPrimitive.Content,
1324
1397
  {
1325
1398
  ref,
@@ -1343,7 +1416,7 @@ var PopoverContent = React13.forwardRef(
1343
1416
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1344
1417
 
1345
1418
  // src/creatable-picker.tsx
1346
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1419
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1347
1420
  function article(noun) {
1348
1421
  return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
1349
1422
  }
@@ -1418,8 +1491,8 @@ function CreatablePicker({
1418
1491
  setBusy(false);
1419
1492
  }
1420
1493
  };
1421
- return /* @__PURE__ */ jsxs7(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1422
- /* @__PURE__ */ jsx16(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs7(
1494
+ return /* @__PURE__ */ jsxs8(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1495
+ /* @__PURE__ */ jsx17(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs8(
1423
1496
  "button",
1424
1497
  {
1425
1498
  type: "button",
@@ -1433,12 +1506,12 @@ function CreatablePicker({
1433
1506
  triggerClassName
1434
1507
  ),
1435
1508
  children: [
1436
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx16("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1437
- /* @__PURE__ */ jsx16(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1509
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx17("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1510
+ /* @__PURE__ */ jsx17(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1438
1511
  ]
1439
1512
  }
1440
1513
  ) }),
1441
- /* @__PURE__ */ jsx16(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs7(
1514
+ /* @__PURE__ */ jsx17(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs8(
1442
1515
  Command,
1443
1516
  {
1444
1517
  filter: (itemValue, search, keywords) => {
@@ -1446,7 +1519,7 @@ function CreatablePicker({
1446
1519
  return haystack.includes(search.toLowerCase()) ? 1 : 0;
1447
1520
  },
1448
1521
  children: [
1449
- /* @__PURE__ */ jsx16(
1522
+ /* @__PURE__ */ jsx17(
1450
1523
  CommandInput,
1451
1524
  {
1452
1525
  ref: inputRef,
@@ -1458,13 +1531,13 @@ function CreatablePicker({
1458
1531
  placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
1459
1532
  }
1460
1533
  ),
1461
- /* @__PURE__ */ jsxs7(CommandList, { children: [
1462
- /* @__PURE__ */ jsx16(CommandEmpty, { children: emptyLabel }),
1463
- groups.map((group) => /* @__PURE__ */ jsx16(
1534
+ /* @__PURE__ */ jsxs8(CommandList, { children: [
1535
+ /* @__PURE__ */ jsx17(CommandEmpty, { children: emptyLabel }),
1536
+ groups.map((group) => /* @__PURE__ */ jsx17(
1464
1537
  CommandGroup,
1465
1538
  {
1466
1539
  ...group.heading === void 0 ? {} : { heading: group.heading },
1467
- children: group.options.map((option) => /* @__PURE__ */ jsxs7(
1540
+ children: group.options.map((option) => /* @__PURE__ */ jsxs8(
1468
1541
  CommandItem,
1469
1542
  {
1470
1543
  value: option.label,
@@ -1475,7 +1548,7 @@ function CreatablePicker({
1475
1548
  },
1476
1549
  className: "gap-2 text-xs",
1477
1550
  children: [
1478
- /* @__PURE__ */ jsx16(
1551
+ /* @__PURE__ */ jsx17(
1479
1552
  LucideCheckIcon,
1480
1553
  {
1481
1554
  className: cn(
@@ -1484,8 +1557,8 @@ function CreatablePicker({
1484
1557
  )
1485
1558
  }
1486
1559
  ),
1487
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
1488
- option.hint ? /* @__PURE__ */ jsx16("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
1560
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
1561
+ option.hint ? /* @__PURE__ */ jsx17("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
1489
1562
  ]
1490
1563
  },
1491
1564
  option.value
@@ -1494,9 +1567,9 @@ function CreatablePicker({
1494
1567
  group.heading ?? "__ungrouped__"
1495
1568
  ))
1496
1569
  ] }),
1497
- canCreate ? /* @__PURE__ */ jsxs7("div", { className: "space-y-1 border-t border-border p-1", children: [
1498
- createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx16("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
1499
- /* @__PURE__ */ jsxs7(
1570
+ canCreate ? /* @__PURE__ */ jsxs8("div", { className: "space-y-1 border-t border-border p-1", children: [
1571
+ createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx17("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
1572
+ /* @__PURE__ */ jsxs8(
1500
1573
  "button",
1501
1574
  {
1502
1575
  type: "button",
@@ -1504,22 +1577,22 @@ function CreatablePicker({
1504
1577
  onClick: () => void create(typed),
1505
1578
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
1506
1579
  children: [
1507
- busy ? /* @__PURE__ */ jsx16(Loader2Icon, { className: "size-3.5 shrink-0 animate-spin" }) : /* @__PURE__ */ jsx16(PlusIcon, { className: "size-3.5 shrink-0" }),
1508
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
1580
+ busy ? /* @__PURE__ */ jsx17(Loader2Icon, { className: "size-3.5 shrink-0 animate-spin" }) : /* @__PURE__ */ jsx17(PlusIcon, { className: "size-3.5 shrink-0" }),
1581
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
1509
1582
  ]
1510
1583
  }
1511
1584
  ),
1512
- needsName ? /* @__PURE__ */ jsxs7("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1585
+ needsName ? /* @__PURE__ */ jsxs8("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1513
1586
  "Type the name of the ",
1514
1587
  noun,
1515
1588
  " you want to add \u2014 then this creates it."
1516
1589
  ] }) : null
1517
1590
  ] }) : null,
1518
- footerActions?.length || manageAction ? /* @__PURE__ */ jsxs7("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1591
+ footerActions?.length || manageAction ? /* @__PURE__ */ jsxs8("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1519
1592
  footerActions?.map((action) => {
1520
1593
  const Icon2 = action.icon;
1521
- return /* @__PURE__ */ jsxs7("div", { children: [
1522
- /* @__PURE__ */ jsxs7(
1594
+ return /* @__PURE__ */ jsxs8("div", { children: [
1595
+ /* @__PURE__ */ jsxs8(
1523
1596
  "button",
1524
1597
  {
1525
1598
  type: "button",
@@ -1529,15 +1602,15 @@ function CreatablePicker({
1529
1602
  },
1530
1603
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
1531
1604
  children: [
1532
- Icon2 ? /* @__PURE__ */ jsx16(Icon2, { className: "size-3.5 shrink-0" }) : null,
1533
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: action.label })
1605
+ Icon2 ? /* @__PURE__ */ jsx17(Icon2, { className: "size-3.5 shrink-0" }) : null,
1606
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 truncate", children: action.label })
1534
1607
  ]
1535
1608
  }
1536
1609
  ),
1537
- action.note ? /* @__PURE__ */ jsx16("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1610
+ action.note ? /* @__PURE__ */ jsx17("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1538
1611
  ] }, action.label);
1539
1612
  }),
1540
- manageAction ? /* @__PURE__ */ jsxs7(
1613
+ manageAction ? /* @__PURE__ */ jsxs8(
1541
1614
  "a",
1542
1615
  {
1543
1616
  href: manageAction.href,
@@ -1546,18 +1619,18 @@ function CreatablePicker({
1546
1619
  onClick: close,
1547
1620
  className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
1548
1621
  children: [
1549
- /* @__PURE__ */ jsx16(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1550
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: manageAction.label })
1622
+ /* @__PURE__ */ jsx17(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1623
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 truncate", children: manageAction.label })
1551
1624
  ]
1552
1625
  }
1553
1626
  ) : null
1554
1627
  ] }) : null,
1555
- lockedNote ? /* @__PURE__ */ jsxs7("div", { className: "space-y-1 border-t border-border p-2", children: [
1556
- /* @__PURE__ */ jsxs7("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
1557
- /* @__PURE__ */ jsx16(LockIcon, { className: "mt-px size-3 shrink-0" }),
1558
- /* @__PURE__ */ jsx16("span", { children: lockedNote })
1628
+ lockedNote ? /* @__PURE__ */ jsxs8("div", { className: "space-y-1 border-t border-border p-2", children: [
1629
+ /* @__PURE__ */ jsxs8("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
1630
+ /* @__PURE__ */ jsx17(LockIcon, { className: "mt-px size-3 shrink-0" }),
1631
+ /* @__PURE__ */ jsx17("span", { children: lockedNote })
1559
1632
  ] }),
1560
- lockedAction ? /* @__PURE__ */ jsxs7(
1633
+ lockedAction ? /* @__PURE__ */ jsxs8(
1561
1634
  "button",
1562
1635
  {
1563
1636
  type: "button",
@@ -1567,8 +1640,8 @@ function CreatablePicker({
1567
1640
  },
1568
1641
  className: "flex w-full items-center gap-2 rounded-sm px-1 py-1 text-left text-xs font-medium text-primary transition-colors hover:bg-accent",
1569
1642
  children: [
1570
- /* @__PURE__ */ jsx16(PlusIcon, { className: "size-3.5 shrink-0" }),
1571
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: lockedAction.label })
1643
+ /* @__PURE__ */ jsx17(PlusIcon, { className: "size-3.5 shrink-0" }),
1644
+ /* @__PURE__ */ jsx17("span", { className: "min-w-0 truncate", children: lockedAction.label })
1572
1645
  ]
1573
1646
  }
1574
1647
  ) : null
@@ -1583,14 +1656,14 @@ function CreatablePicker({
1583
1656
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
1584
1657
  import * as VisuallyHidden2 from "@radix-ui/react-visually-hidden";
1585
1658
  import { treeContainsComponent as treeContainsComponent3 } from "@ai-matrx/kit/react-tree";
1586
- import * as React14 from "react";
1587
- import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1659
+ import * as React15 from "react";
1660
+ import { jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
1588
1661
  var Dialog = ({
1589
1662
  children,
1590
1663
  ...props
1591
1664
  }) => {
1592
1665
  const modal = props.modal ?? true;
1593
- return /* @__PURE__ */ jsx17(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx17(DialogPrimitive2.Root, { ...props, modal, children }) });
1666
+ return /* @__PURE__ */ jsx18(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx18(DialogPrimitive2.Root, { ...props, modal, children }) });
1594
1667
  };
1595
1668
  Dialog.displayName = "Dialog";
1596
1669
  var DialogTrigger = DialogPrimitive2.Trigger;
@@ -1600,12 +1673,12 @@ var DialogPortal = ({
1600
1673
  ...props
1601
1674
  }) => {
1602
1675
  const resolved = usePortalContainer(container);
1603
- return /* @__PURE__ */ jsx17(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1676
+ return /* @__PURE__ */ jsx18(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1604
1677
  };
1605
1678
  DialogPortal.displayName = "DialogPortal";
1606
- var DialogContainerContext = React14.createContext(null);
1607
- var useDialogContainer = () => React14.useContext(DialogContainerContext);
1608
- var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1679
+ var DialogContainerContext = React15.createContext(null);
1680
+ var useDialogContainer = () => React15.useContext(DialogContainerContext);
1681
+ var DialogOverlay = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1609
1682
  DialogPrimitive2.Overlay,
1610
1683
  {
1611
1684
  ref,
@@ -1620,9 +1693,9 @@ var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__P
1620
1693
  }
1621
1694
  ));
1622
1695
  DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
1623
- var DialogContentPrimitive = React14.forwardRef((props, ref) => {
1696
+ var DialogContentPrimitive = React15.forwardRef((props, ref) => {
1624
1697
  const isModal = useRadixDialogModal();
1625
- return /* @__PURE__ */ jsx17(
1698
+ return /* @__PURE__ */ jsx18(
1626
1699
  DialogPrimitive2.Content,
1627
1700
  {
1628
1701
  ...props,
@@ -1635,7 +1708,7 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
1635
1708
  var DIALOG_DESKTOP_CLASSES2 = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg";
1636
1709
  var DIALOG_MOBILE_SHEET_CLASSES2 = "matrx-mobile-sheet fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 [--dialog-pad:1rem] overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain 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]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom";
1637
1710
  var DIALOG_MOBILE_SHEET_OVERRIDE2 = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
1638
- var DialogContent = React14.forwardRef(
1711
+ var DialogContent = React15.forwardRef(
1639
1712
  ({
1640
1713
  className,
1641
1714
  children,
@@ -1648,10 +1721,10 @@ var DialogContent = React14.forwardRef(
1648
1721
  const isModal = useRadixDialogModal();
1649
1722
  const injectedContainer = usePortalContainer(container);
1650
1723
  const asSheet = mobileSheet && isMobile;
1651
- const [containerEl, setContainerEl] = React14.useState(
1724
+ const [containerEl, setContainerEl] = React15.useState(
1652
1725
  null
1653
1726
  );
1654
- const mergedRef = React14.useCallback(
1727
+ const mergedRef = React15.useCallback(
1655
1728
  (node) => {
1656
1729
  setContainerEl(node);
1657
1730
  if (typeof ref === "function") ref(node);
@@ -1662,9 +1735,9 @@ var DialogContent = React14.forwardRef(
1662
1735
  );
1663
1736
  const hasTitle = treeContainsComponent3(children, DialogTitle) || treeContainsComponent3(children, DialogPrimitive2.Title);
1664
1737
  const hasDescription = treeContainsComponent3(children, DialogDescription) || treeContainsComponent3(children, DialogPrimitive2.Description);
1665
- return /* @__PURE__ */ jsxs8(DialogPortal, { container, children: [
1666
- isModal ? /* @__PURE__ */ jsx17(DialogOverlay, {}) : null,
1667
- /* @__PURE__ */ jsxs8(
1738
+ return /* @__PURE__ */ jsxs9(DialogPortal, { container, children: [
1739
+ isModal ? /* @__PURE__ */ jsx18(DialogOverlay, {}) : null,
1740
+ /* @__PURE__ */ jsxs9(
1668
1741
  DialogContentPrimitive,
1669
1742
  {
1670
1743
  ref: mergedRef,
@@ -1682,23 +1755,23 @@ var DialogContent = React14.forwardRef(
1682
1755
  ...hasDescription ? {} : { "aria-describedby": void 0 },
1683
1756
  ...props,
1684
1757
  children: [
1685
- hasTitle ? null : /* @__PURE__ */ jsx17(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx17(DialogPrimitive2.Title, { children: "Dialog" }) }),
1686
- /* @__PURE__ */ jsx17(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx17(
1758
+ hasTitle ? null : /* @__PURE__ */ jsx18(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx18(DialogPrimitive2.Title, { children: "Dialog" }) }),
1759
+ /* @__PURE__ */ jsx18(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx18(
1687
1760
  PortalContainerProvider,
1688
1761
  {
1689
1762
  container: containerEl ?? injectedContainer ?? null,
1690
1763
  children
1691
1764
  }
1692
1765
  ) }),
1693
- showCloseButton ? /* @__PURE__ */ jsxs8(
1766
+ showCloseButton ? /* @__PURE__ */ jsxs9(
1694
1767
  DialogPrimitive2.Close,
1695
1768
  {
1696
1769
  "data-slot": "dialog-close",
1697
1770
  "aria-label": "Close",
1698
1771
  className: "absolute right-2 top-4 flex h-11 w-11 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4 lg:h-10 lg:w-10",
1699
1772
  children: [
1700
- /* @__PURE__ */ jsx17(XIcon, { className: "h-4 w-4" }),
1701
- /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
1773
+ /* @__PURE__ */ jsx18(XIcon, { className: "h-4 w-4" }),
1774
+ /* @__PURE__ */ jsx18("span", { className: "sr-only", children: "Close" })
1702
1775
  ]
1703
1776
  }
1704
1777
  ) : null
@@ -1712,7 +1785,7 @@ DialogContent.displayName = DialogPrimitive2.Content.displayName;
1712
1785
  var DialogHeader = ({
1713
1786
  className,
1714
1787
  ...props
1715
- }) => /* @__PURE__ */ jsx17(
1788
+ }) => /* @__PURE__ */ jsx18(
1716
1789
  "div",
1717
1790
  {
1718
1791
  "data-slot": "dialog-header",
@@ -1729,7 +1802,7 @@ DialogHeader.displayName = "DialogHeader";
1729
1802
  var DialogFooter = ({
1730
1803
  className,
1731
1804
  ...props
1732
- }) => /* @__PURE__ */ jsx17(
1805
+ }) => /* @__PURE__ */ jsx18(
1733
1806
  "div",
1734
1807
  {
1735
1808
  "data-slot": "dialog-footer",
@@ -1743,7 +1816,7 @@ var DialogFooter = ({
1743
1816
  }
1744
1817
  );
1745
1818
  DialogFooter.displayName = "DialogFooter";
1746
- var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1819
+ var DialogTitle = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1747
1820
  DialogPrimitive2.Title,
1748
1821
  {
1749
1822
  ref,
@@ -1753,7 +1826,7 @@ var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PUR
1753
1826
  }
1754
1827
  ));
1755
1828
  DialogTitle.displayName = DialogPrimitive2.Title.displayName;
1756
- var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1829
+ var DialogDescription = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1757
1830
  DialogPrimitive2.Description,
1758
1831
  {
1759
1832
  ref,
@@ -1766,8 +1839,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
1766
1839
 
1767
1840
  // src/dropdown-menu.tsx
1768
1841
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1769
- import * as React15 from "react";
1770
- import { jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
1842
+ import * as React16 from "react";
1843
+ import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1771
1844
  var DropdownMenu = DropdownMenuPrimitive.Root;
1772
1845
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1773
1846
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -1778,7 +1851,7 @@ var MENU_SURFACE_CLASS = "z-[10001] min-w-[8rem] max-h-[var(--radix-dropdown-men
1778
1851
  var MENU_MOTION_CLASS = "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";
1779
1852
  var MENU_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1780
1853
  var MENU_INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1781
- var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1854
+ var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1782
1855
  DropdownMenuPrimitive.SubTrigger,
1783
1856
  {
1784
1857
  ref,
@@ -1791,12 +1864,12 @@ var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, .
1791
1864
  ...props,
1792
1865
  children: [
1793
1866
  children,
1794
- /* @__PURE__ */ jsx18(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1867
+ /* @__PURE__ */ jsx19(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1795
1868
  ]
1796
1869
  }
1797
1870
  ));
1798
1871
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1799
- var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1872
+ var DropdownMenuSubContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1800
1873
  DropdownMenuPrimitive.SubContent,
1801
1874
  {
1802
1875
  ref,
@@ -1806,9 +1879,9 @@ var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =
1806
1879
  }
1807
1880
  ));
1808
1881
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1809
- var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
1882
+ var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
1810
1883
  const portalContainer = usePortalContainer(container);
1811
- return /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx18(
1884
+ return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx19(
1812
1885
  DropdownMenuPrimitive.Content,
1813
1886
  {
1814
1887
  ref,
@@ -1825,7 +1898,7 @@ var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, conta
1825
1898
  ) });
1826
1899
  });
1827
1900
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1828
- var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1901
+ var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx19(
1829
1902
  DropdownMenuPrimitive.Item,
1830
1903
  {
1831
1904
  ref,
@@ -1835,7 +1908,7 @@ var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref)
1835
1908
  }
1836
1909
  ));
1837
1910
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1838
- var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1911
+ var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1839
1912
  DropdownMenuPrimitive.CheckboxItem,
1840
1913
  {
1841
1914
  ref,
@@ -1843,13 +1916,13 @@ var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...pro
1843
1916
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
1844
1917
  ...props,
1845
1918
  children: [
1846
- /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(CheckIcon, { className: "h-4 w-4" }) }) }),
1919
+ /* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon, { className: "h-4 w-4" }) }) }),
1847
1920
  children
1848
1921
  ]
1849
1922
  }
1850
1923
  ));
1851
1924
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1852
- var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1925
+ var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1853
1926
  DropdownMenuPrimitive.RadioItem,
1854
1927
  {
1855
1928
  ref,
@@ -1857,13 +1930,13 @@ var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props
1857
1930
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
1858
1931
  ...props,
1859
1932
  children: [
1860
- /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1933
+ /* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1861
1934
  children
1862
1935
  ]
1863
1936
  }
1864
1937
  ));
1865
1938
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1866
- var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1939
+ var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx19(
1867
1940
  DropdownMenuPrimitive.Label,
1868
1941
  {
1869
1942
  ref,
@@ -1873,7 +1946,7 @@ var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
1873
1946
  }
1874
1947
  ));
1875
1948
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1876
- var DropdownMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1949
+ var DropdownMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1877
1950
  DropdownMenuPrimitive.Separator,
1878
1951
  {
1879
1952
  ref,
@@ -1886,7 +1959,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1886
1959
  var DropdownMenuShortcut = ({
1887
1960
  className,
1888
1961
  ...props
1889
- }) => /* @__PURE__ */ jsx18(
1962
+ }) => /* @__PURE__ */ jsx19(
1890
1963
  "span",
1891
1964
  {
1892
1965
  "data-slot": "dropdown-menu-shortcut",
@@ -1898,7 +1971,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1898
1971
 
1899
1972
  // src/editable-label.tsx
1900
1973
  import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef2, useState as useState4 } from "react";
1901
- import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1974
+ import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
1902
1975
  function EditableLabel({
1903
1976
  value,
1904
1977
  onCommit,
@@ -2005,8 +2078,8 @@ function EditableLabel({
2005
2078
  setEditing
2006
2079
  ]);
2007
2080
  if (editing) {
2008
- return /* @__PURE__ */ jsxs10("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2009
- /* @__PURE__ */ jsx19(
2081
+ return /* @__PURE__ */ jsxs11("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2082
+ /* @__PURE__ */ jsx20(
2010
2083
  "input",
2011
2084
  {
2012
2085
  ref: inputRef,
@@ -2046,12 +2119,12 @@ function EditableLabel({
2046
2119
  )
2047
2120
  }
2048
2121
  ),
2049
- busy && /* @__PURE__ */ jsx19(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 animate-spin text-muted-foreground" }),
2050
- error && /* @__PURE__ */ jsx19("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2122
+ busy && /* @__PURE__ */ jsx20(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 animate-spin text-muted-foreground" }),
2123
+ error && /* @__PURE__ */ jsx20("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2051
2124
  ] });
2052
2125
  }
2053
2126
  if (controlled) return null;
2054
- return /* @__PURE__ */ jsx19(
2127
+ return /* @__PURE__ */ jsx20(
2055
2128
  "button",
2056
2129
  {
2057
2130
  type: "button",
@@ -2085,8 +2158,8 @@ function EditableLabel({
2085
2158
  }
2086
2159
 
2087
2160
  // src/input.tsx
2088
- import * as React16 from "react";
2089
- import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
2161
+ import * as React17 from "react";
2162
+ import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
2090
2163
  var getVariantStyles = (variant = "default") => {
2091
2164
  const baseStyles = `flex h-10 w-full border border-border bg-background text-foreground shadow-input rounded-md px-3 py-2 text-sm file:border-0 file:bg-transparent
2092
2165
  file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
@@ -2114,9 +2187,9 @@ var getVariantStyles = (variant = "default") => {
2114
2187
  return baseStyles;
2115
2188
  }
2116
2189
  };
2117
- var Input = React16.forwardRef(
2190
+ var Input = React17.forwardRef(
2118
2191
  ({ className, type, variant = "default", ...props }, ref) => {
2119
- return /* @__PURE__ */ jsx20(
2192
+ return /* @__PURE__ */ jsx21(
2120
2193
  "input",
2121
2194
  {
2122
2195
  type,
@@ -2128,7 +2201,7 @@ var Input = React16.forwardRef(
2128
2201
  }
2129
2202
  );
2130
2203
  Input.displayName = "Input";
2131
- var EnterInput = React16.forwardRef(
2204
+ var EnterInput = React17.forwardRef(
2132
2205
  ({ onEnter, ...props }, ref) => {
2133
2206
  const handleKeyDown = (e) => {
2134
2207
  if (e.key === "Enter" && onEnter) {
@@ -2136,7 +2209,7 @@ var EnterInput = React16.forwardRef(
2136
2209
  onEnter();
2137
2210
  }
2138
2211
  };
2139
- return /* @__PURE__ */ jsx20(
2212
+ return /* @__PURE__ */ jsx21(
2140
2213
  Input,
2141
2214
  {
2142
2215
  ...props,
@@ -2152,11 +2225,11 @@ var EnterInput = React16.forwardRef(
2152
2225
  }
2153
2226
  );
2154
2227
  EnterInput.displayName = "EnterInput";
2155
- var BasicInput = React16.forwardRef(
2228
+ var BasicInput = React17.forwardRef(
2156
2229
  // `variant` is accepted (prop-compatible with Input) but intentionally
2157
2230
  // unused — and destructured so it never leaks onto the DOM element.
2158
2231
  ({ className, type, variant: _variant = "default", ...props }, ref) => {
2159
- return /* @__PURE__ */ jsx20(
2232
+ return /* @__PURE__ */ jsx21(
2160
2233
  "input",
2161
2234
  {
2162
2235
  type,
@@ -2171,10 +2244,10 @@ var BasicInput = React16.forwardRef(
2171
2244
  }
2172
2245
  );
2173
2246
  BasicInput.displayName = "BasicInput";
2174
- var InputWithPrefix = React16.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2175
- return /* @__PURE__ */ jsxs11("div", { className: cn("relative", wrapperClassName), children: [
2176
- prefix && /* @__PURE__ */ jsx20("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2177
- /* @__PURE__ */ jsx20(
2247
+ var InputWithPrefix = React17.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2248
+ return /* @__PURE__ */ jsxs12("div", { className: cn("relative", wrapperClassName), children: [
2249
+ prefix && /* @__PURE__ */ jsx21("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2250
+ /* @__PURE__ */ jsx21(
2178
2251
  Input,
2179
2252
  {
2180
2253
  ref,
@@ -2188,9 +2261,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
2188
2261
 
2189
2262
  // src/label.tsx
2190
2263
  import * as LabelPrimitive from "@radix-ui/react-label";
2191
- import * as React17 from "react";
2192
- import { jsx as jsx21 } from "react/jsx-runtime";
2193
- var Label3 = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
2264
+ import * as React18 from "react";
2265
+ import { jsx as jsx22 } from "react/jsx-runtime";
2266
+ var Label3 = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
2194
2267
  LabelPrimitive.Root,
2195
2268
  {
2196
2269
  ref,
@@ -2205,7 +2278,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
2205
2278
 
2206
2279
  // src/overflow-toolbar.tsx
2207
2280
  import { useLayoutEffect, useMemo, useRef as useRef3, useState as useState5 } from "react";
2208
- import { Fragment, jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2281
+ import { Fragment, jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
2209
2282
  var GAP_PX = 6;
2210
2283
  var TONE = {
2211
2284
  default: "border border-border bg-background hover:bg-accent text-foreground",
@@ -2227,16 +2300,16 @@ function ToolbarButton({
2227
2300
  action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
2228
2301
  TONE[tone]
2229
2302
  );
2230
- const inner = /* @__PURE__ */ jsxs12(Fragment, { children: [
2231
- /* @__PURE__ */ jsx22(
2303
+ const inner = /* @__PURE__ */ jsxs13(Fragment, { children: [
2304
+ /* @__PURE__ */ jsx23(
2232
2305
  Icon2,
2233
2306
  {
2234
2307
  className: cn("w-3.5 h-3.5 shrink-0", action.running && "animate-spin")
2235
2308
  }
2236
2309
  ),
2237
- showLabel && /* @__PURE__ */ jsx22("span", { children: text })
2310
+ showLabel && /* @__PURE__ */ jsx23("span", { children: text })
2238
2311
  ] });
2239
- const control = action.href && !action.disabled ? /* @__PURE__ */ jsx22(
2312
+ const control = action.href && !action.disabled ? /* @__PURE__ */ jsx23(
2240
2313
  "a",
2241
2314
  {
2242
2315
  href: action.href,
@@ -2246,7 +2319,7 @@ function ToolbarButton({
2246
2319
  "aria-label": action.label,
2247
2320
  children: inner
2248
2321
  }
2249
- ) : /* @__PURE__ */ jsx22(
2322
+ ) : /* @__PURE__ */ jsx23(
2250
2323
  "button",
2251
2324
  {
2252
2325
  type: "button",
@@ -2258,12 +2331,12 @@ function ToolbarButton({
2258
2331
  }
2259
2332
  );
2260
2333
  if (enableTooltip && action.hideLabel && renderTooltip) {
2261
- return /* @__PURE__ */ jsx22(Fragment, { children: renderTooltip(control, action.label) });
2334
+ return /* @__PURE__ */ jsx23(Fragment, { children: renderTooltip(control, action.label) });
2262
2335
  }
2263
2336
  return control;
2264
2337
  }
2265
2338
  function OverflowTrigger({ ariaLabel }) {
2266
- return /* @__PURE__ */ jsx22(
2339
+ return /* @__PURE__ */ jsx23(
2267
2340
  "button",
2268
2341
  {
2269
2342
  type: "button",
@@ -2274,7 +2347,7 @@ function OverflowTrigger({ ariaLabel }) {
2274
2347
  "inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
2275
2348
  "border border-border bg-background hover:bg-accent text-foreground"
2276
2349
  ),
2277
- children: /* @__PURE__ */ jsx22(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2350
+ children: /* @__PURE__ */ jsx23(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2278
2351
  }
2279
2352
  );
2280
2353
  }
@@ -2334,22 +2407,22 @@ function OverflowToolbar({
2334
2407
  }, [signature, leading != null]);
2335
2408
  const shown = visibleActions.slice(0, visibleCount);
2336
2409
  const hidden = visibleActions.slice(visibleCount);
2337
- return /* @__PURE__ */ jsxs12("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2338
- /* @__PURE__ */ jsxs12(
2410
+ return /* @__PURE__ */ jsxs13("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2411
+ /* @__PURE__ */ jsxs13(
2339
2412
  "div",
2340
2413
  {
2341
2414
  ref: ghostRef,
2342
2415
  "aria-hidden": true,
2343
2416
  className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
2344
2417
  children: [
2345
- visibleActions.map((a) => /* @__PURE__ */ jsx22(ToolbarButton, { action: a }, a.id)),
2346
- /* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2418
+ visibleActions.map((a) => /* @__PURE__ */ jsx23(ToolbarButton, { action: a }, a.id)),
2419
+ /* @__PURE__ */ jsx23(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2347
2420
  ]
2348
2421
  }
2349
2422
  ),
2350
- /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-end gap-1.5", children: [
2351
- leading != null && /* @__PURE__ */ jsx22("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2352
- shown.map((a) => /* @__PURE__ */ jsx22(
2423
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center justify-end gap-1.5", children: [
2424
+ leading != null && /* @__PURE__ */ jsx23("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2425
+ shown.map((a) => /* @__PURE__ */ jsx23(
2353
2426
  ToolbarButton,
2354
2427
  {
2355
2428
  action: a,
@@ -2360,7 +2433,7 @@ function OverflowToolbar({
2360
2433
  )),
2361
2434
  hidden.length > 0 && renderOverflowMenu({
2362
2435
  actions: hidden,
2363
- trigger: /* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2436
+ trigger: /* @__PURE__ */ jsx23(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2364
2437
  })
2365
2438
  ] })
2366
2439
  ] });
@@ -2368,20 +2441,20 @@ function OverflowToolbar({
2368
2441
 
2369
2442
  // src/progress.tsx
2370
2443
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2371
- import * as React19 from "react";
2372
- import { jsx as jsx23 } from "react/jsx-runtime";
2444
+ import * as React20 from "react";
2445
+ import { jsx as jsx24 } from "react/jsx-runtime";
2373
2446
  var PROGRESS_TONES = {
2374
2447
  default: "bg-primary",
2375
2448
  success: "bg-success",
2376
2449
  warning: "bg-warning",
2377
2450
  destructive: "bg-destructive"
2378
2451
  };
2379
- var Progress = React19.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2452
+ var Progress = React20.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2380
2453
  const { value, max } = props;
2381
2454
  const ceiling = max ?? 100;
2382
2455
  const isIndeterminate = value === null || value === void 0;
2383
2456
  const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
2384
- return /* @__PURE__ */ jsx23(
2457
+ return /* @__PURE__ */ jsx24(
2385
2458
  ProgressPrimitive.Root,
2386
2459
  {
2387
2460
  ref,
@@ -2391,7 +2464,7 @@ var Progress = React19.forwardRef(({ className, tone = "default", indicatorClass
2391
2464
  className
2392
2465
  ),
2393
2466
  ...props,
2394
- children: /* @__PURE__ */ jsx23(
2467
+ children: /* @__PURE__ */ jsx24(
2395
2468
  ProgressPrimitive.Indicator,
2396
2469
  {
2397
2470
  "data-slot": "progress-indicator",
@@ -2411,9 +2484,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
2411
2484
 
2412
2485
  // src/scroll-area.tsx
2413
2486
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
2414
- import * as React20 from "react";
2415
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2416
- var ScrollArea = React20.forwardRef(
2487
+ import * as React21 from "react";
2488
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2489
+ var ScrollArea = React21.forwardRef(
2417
2490
  ({
2418
2491
  className,
2419
2492
  children,
@@ -2422,7 +2495,7 @@ var ScrollArea = React20.forwardRef(
2422
2495
  scrollBarClassName,
2423
2496
  orientation = "vertical",
2424
2497
  ...props
2425
- }, ref) => /* @__PURE__ */ jsxs13(
2498
+ }, ref) => /* @__PURE__ */ jsxs14(
2426
2499
  ScrollAreaPrimitive.Root,
2427
2500
  {
2428
2501
  ref,
@@ -2430,7 +2503,7 @@ var ScrollArea = React20.forwardRef(
2430
2503
  className: cn("relative overflow-hidden", className),
2431
2504
  ...props,
2432
2505
  children: [
2433
- /* @__PURE__ */ jsx24(
2506
+ /* @__PURE__ */ jsx25(
2434
2507
  ScrollAreaPrimitive.Viewport,
2435
2508
  {
2436
2509
  ref: viewportRef,
@@ -2439,14 +2512,14 @@ var ScrollArea = React20.forwardRef(
2439
2512
  children
2440
2513
  }
2441
2514
  ),
2442
- /* @__PURE__ */ jsx24(ScrollBar, { orientation, className: scrollBarClassName }),
2443
- /* @__PURE__ */ jsx24(ScrollAreaPrimitive.Corner, {})
2515
+ /* @__PURE__ */ jsx25(ScrollBar, { orientation, className: scrollBarClassName }),
2516
+ /* @__PURE__ */ jsx25(ScrollAreaPrimitive.Corner, {})
2444
2517
  ]
2445
2518
  }
2446
2519
  )
2447
2520
  );
2448
2521
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
2449
- var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx24(
2522
+ var ScrollBar = React21.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx25(
2450
2523
  ScrollAreaPrimitive.ScrollAreaScrollbar,
2451
2524
  {
2452
2525
  ref,
@@ -2459,7 +2532,7 @@ var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...pr
2459
2532
  className
2460
2533
  ),
2461
2534
  ...props,
2462
- children: /* @__PURE__ */ jsx24(
2535
+ children: /* @__PURE__ */ jsx25(
2463
2536
  ScrollAreaPrimitive.ScrollAreaThumb,
2464
2537
  {
2465
2538
  "data-slot": "scroll-area-thumb",
@@ -2471,7 +2544,7 @@ var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...pr
2471
2544
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2472
2545
 
2473
2546
  // src/score-ring.tsx
2474
- import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2547
+ import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
2475
2548
  var DEFAULT_SCORE_THRESHOLDS = {
2476
2549
  good: 75,
2477
2550
  warning: 50
@@ -2502,7 +2575,7 @@ function ScoreRing({
2502
2575
  const circumference = 2 * Math.PI * radius;
2503
2576
  const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
2504
2577
  const dashOffset = circumference * (1 - boundedPct / 100);
2505
- return /* @__PURE__ */ jsxs14(
2578
+ return /* @__PURE__ */ jsxs15(
2506
2579
  "div",
2507
2580
  {
2508
2581
  className: cn(
@@ -2513,8 +2586,8 @@ function ScoreRing({
2513
2586
  role: "img",
2514
2587
  "aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
2515
2588
  children: [
2516
- /* @__PURE__ */ jsxs14("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2517
- /* @__PURE__ */ jsx25(
2589
+ /* @__PURE__ */ jsxs15("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2590
+ /* @__PURE__ */ jsx26(
2518
2591
  "circle",
2519
2592
  {
2520
2593
  cx: "50",
@@ -2525,7 +2598,7 @@ function ScoreRing({
2525
2598
  fill: "none"
2526
2599
  }
2527
2600
  ),
2528
- pct !== null ? /* @__PURE__ */ jsx25(
2601
+ pct !== null ? /* @__PURE__ */ jsx26(
2529
2602
  "circle",
2530
2603
  {
2531
2604
  cx: "50",
@@ -2544,8 +2617,8 @@ function ScoreRing({
2544
2617
  }
2545
2618
  ) : null
2546
2619
  ] }),
2547
- /* @__PURE__ */ jsxs14("div", { className: "absolute flex flex-col items-center justify-center", children: [
2548
- /* @__PURE__ */ jsx25(
2620
+ /* @__PURE__ */ jsxs15("div", { className: "absolute flex flex-col items-center justify-center", children: [
2621
+ /* @__PURE__ */ jsx26(
2549
2622
  "span",
2550
2623
  {
2551
2624
  className: cn(
@@ -2555,7 +2628,7 @@ function ScoreRing({
2555
2628
  children: pct === null ? "\u2014" : `${pct}${suffix}`
2556
2629
  }
2557
2630
  ),
2558
- label ? /* @__PURE__ */ jsx25("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2631
+ label ? /* @__PURE__ */ jsx26("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2559
2632
  ] })
2560
2633
  ]
2561
2634
  }
@@ -2563,7 +2636,7 @@ function ScoreRing({
2563
2636
  }
2564
2637
 
2565
2638
  // src/segmented-control.tsx
2566
- import { jsx as jsx26 } from "react/jsx-runtime";
2639
+ import { jsx as jsx27 } from "react/jsx-runtime";
2567
2640
  function SegmentedControl({
2568
2641
  value,
2569
2642
  onValueChange,
@@ -2578,7 +2651,7 @@ function SegmentedControl({
2578
2651
  md: "h-9 text-sm",
2579
2652
  lg: "h-10 text-base"
2580
2653
  };
2581
- return /* @__PURE__ */ jsx26(
2654
+ return /* @__PURE__ */ jsx27(
2582
2655
  "div",
2583
2656
  {
2584
2657
  className: cn(
@@ -2589,7 +2662,7 @@ function SegmentedControl({
2589
2662
  role: "tablist",
2590
2663
  children: data.map((option) => {
2591
2664
  const isActive = value === option.value;
2592
- return /* @__PURE__ */ jsx26(
2665
+ return /* @__PURE__ */ jsx27(
2593
2666
  "button",
2594
2667
  {
2595
2668
  type: "button",
@@ -2616,8 +2689,8 @@ function SegmentedControl({
2616
2689
  // src/select.tsx
2617
2690
  import * as SelectPrimitive from "@radix-ui/react-select";
2618
2691
  import { cva as cva4 } from "class-variance-authority";
2619
- import * as React21 from "react";
2620
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
2692
+ import * as React22 from "react";
2693
+ import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
2621
2694
  var Select = SelectPrimitive.Root;
2622
2695
  var SelectGroup = SelectPrimitive.Group;
2623
2696
  var SelectValue = SelectPrimitive.Value;
@@ -2636,7 +2709,7 @@ var selectTriggerVariants = cva4(
2636
2709
  }
2637
2710
  }
2638
2711
  );
2639
- var SelectTrigger = React21.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs15(
2712
+ var SelectTrigger = React22.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs16(
2640
2713
  SelectPrimitive.Trigger,
2641
2714
  {
2642
2715
  ref,
@@ -2644,12 +2717,12 @@ var SelectTrigger = React21.forwardRef(({ className, children, hideArrow = false
2644
2717
  ...props,
2645
2718
  children: [
2646
2719
  children,
2647
- !hideArrow && /* @__PURE__ */ jsx27(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
2720
+ !hideArrow && /* @__PURE__ */ jsx28(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx28(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
2648
2721
  ]
2649
2722
  }
2650
2723
  ));
2651
2724
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
2652
- var SelectScrollUpButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2725
+ var SelectScrollUpButton = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2653
2726
  SelectPrimitive.ScrollUpButton,
2654
2727
  {
2655
2728
  ref,
@@ -2658,11 +2731,11 @@ var SelectScrollUpButton = React21.forwardRef(({ className, ...props }, ref) =>
2658
2731
  className
2659
2732
  ),
2660
2733
  ...props,
2661
- children: /* @__PURE__ */ jsx27(RadixChevronUpIcon, {})
2734
+ children: /* @__PURE__ */ jsx28(RadixChevronUpIcon, {})
2662
2735
  }
2663
2736
  ));
2664
2737
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2665
- var SelectScrollDownButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2738
+ var SelectScrollDownButton = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2666
2739
  SelectPrimitive.ScrollDownButton,
2667
2740
  {
2668
2741
  ref,
@@ -2671,13 +2744,13 @@ var SelectScrollDownButton = React21.forwardRef(({ className, ...props }, ref) =
2671
2744
  className
2672
2745
  ),
2673
2746
  ...props,
2674
- children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, {})
2747
+ children: /* @__PURE__ */ jsx28(RadixChevronDownIcon, {})
2675
2748
  }
2676
2749
  ));
2677
2750
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2678
- var SelectContent = React21.forwardRef(({ className, children, position = "popper", container, ...props }, ref) => {
2751
+ var SelectContent = React22.forwardRef(({ className, children, position = "popper", container, ...props }, ref) => {
2679
2752
  const portalContainer = usePortalContainer(container);
2680
- return /* @__PURE__ */ jsx27(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs15(
2753
+ return /* @__PURE__ */ jsx28(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs16(
2681
2754
  SelectPrimitive.Content,
2682
2755
  {
2683
2756
  ref,
@@ -2689,8 +2762,8 @@ var SelectContent = React21.forwardRef(({ className, children, position = "poppe
2689
2762
  position,
2690
2763
  ...props,
2691
2764
  children: [
2692
- /* @__PURE__ */ jsx27(SelectScrollUpButton, {}),
2693
- /* @__PURE__ */ jsx27(
2765
+ /* @__PURE__ */ jsx28(SelectScrollUpButton, {}),
2766
+ /* @__PURE__ */ jsx28(
2694
2767
  SelectPrimitive.Viewport,
2695
2768
  {
2696
2769
  className: cn(
@@ -2700,13 +2773,13 @@ var SelectContent = React21.forwardRef(({ className, children, position = "poppe
2700
2773
  children
2701
2774
  }
2702
2775
  ),
2703
- /* @__PURE__ */ jsx27(SelectScrollDownButton, {})
2776
+ /* @__PURE__ */ jsx28(SelectScrollDownButton, {})
2704
2777
  ]
2705
2778
  }
2706
2779
  ) });
2707
2780
  });
2708
2781
  SelectContent.displayName = SelectPrimitive.Content.displayName;
2709
- var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2782
+ var SelectLabel = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2710
2783
  SelectPrimitive.Label,
2711
2784
  {
2712
2785
  ref,
@@ -2715,7 +2788,7 @@ var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
2715
2788
  }
2716
2789
  ));
2717
2790
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
2718
- var SelectItem = React21.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs15(
2791
+ var SelectItem = React22.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs16(
2719
2792
  SelectPrimitive.Item,
2720
2793
  {
2721
2794
  ref,
@@ -2726,14 +2799,14 @@ var SelectItem = React21.forwardRef(({ className, children, description, ...prop
2726
2799
  ),
2727
2800
  ...props,
2728
2801
  children: [
2729
- /* @__PURE__ */ jsx27("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx27(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx27(CheckIcon, { className: "h-4 w-4" }) }) }),
2730
- /* @__PURE__ */ jsx27(SelectPrimitive.ItemText, { children }),
2731
- description ? /* @__PURE__ */ jsx27("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
2802
+ /* @__PURE__ */ jsx28("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(CheckIcon, { className: "h-4 w-4" }) }) }),
2803
+ /* @__PURE__ */ jsx28(SelectPrimitive.ItemText, { children }),
2804
+ description ? /* @__PURE__ */ jsx28("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
2732
2805
  ]
2733
2806
  }
2734
2807
  ));
2735
2808
  SelectItem.displayName = SelectPrimitive.Item.displayName;
2736
- var SelectSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2809
+ var SelectSeparator = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2737
2810
  SelectPrimitive.Separator,
2738
2811
  {
2739
2812
  ref,
@@ -2745,9 +2818,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2745
2818
 
2746
2819
  // src/separator.tsx
2747
2820
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
2748
- import * as React22 from "react";
2749
- import { jsx as jsx28 } from "react/jsx-runtime";
2750
- var Separator4 = React22.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx28(
2821
+ import * as React23 from "react";
2822
+ import { jsx as jsx29 } from "react/jsx-runtime";
2823
+ var Separator4 = React23.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx29(
2751
2824
  SeparatorPrimitive.Root,
2752
2825
  {
2753
2826
  ref,
@@ -2767,11 +2840,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
2767
2840
  import * as SheetPrimitive from "@radix-ui/react-dialog";
2768
2841
  import { treeContainsComponent as treeContainsComponent4 } from "@ai-matrx/kit/react-tree";
2769
2842
  import { cva as cva5 } from "class-variance-authority";
2770
- import * as React23 from "react";
2771
- import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
2772
- var SheetContentBase = React23.forwardRef(({ ...props }, ref) => {
2843
+ import * as React24 from "react";
2844
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
2845
+ var SheetContentBase = React24.forwardRef(({ ...props }, ref) => {
2773
2846
  const isModal = useRadixDialogModal();
2774
- return /* @__PURE__ */ jsx29(
2847
+ return /* @__PURE__ */ jsx30(
2775
2848
  SheetPrimitive.Content,
2776
2849
  {
2777
2850
  ...props,
@@ -2781,15 +2854,15 @@ var SheetContentBase = React23.forwardRef(({ ...props }, ref) => {
2781
2854
  );
2782
2855
  });
2783
2856
  SheetContentBase.displayName = "SheetContentBase";
2784
- var Sheet = React23.forwardRef(({ children, ...props }, _ref) => {
2857
+ var Sheet = React24.forwardRef(({ children, ...props }, _ref) => {
2785
2858
  const modal = props.modal ?? true;
2786
- return /* @__PURE__ */ jsx29(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx29(SheetPrimitive.Root, { ...props, modal, children }) });
2859
+ return /* @__PURE__ */ jsx30(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx30(SheetPrimitive.Root, { ...props, modal, children }) });
2787
2860
  });
2788
2861
  Sheet.displayName = "Sheet";
2789
2862
  var SheetTrigger = SheetPrimitive.Trigger;
2790
2863
  var SheetClose = SheetPrimitive.Close;
2791
2864
  var SheetPortal = SheetPrimitive.Portal;
2792
- var SheetOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2865
+ var SheetOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
2793
2866
  SheetPrimitive.Overlay,
2794
2867
  {
2795
2868
  className: cn(
@@ -2818,7 +2891,7 @@ var sheetVariants = cva5(
2818
2891
  }
2819
2892
  }
2820
2893
  );
2821
- var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2894
+ var SheetDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
2822
2895
  SheetPrimitive.Description,
2823
2896
  {
2824
2897
  ref,
@@ -2827,7 +2900,7 @@ var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @
2827
2900
  }
2828
2901
  ));
2829
2902
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
2830
- var SheetContent = React23.forwardRef(
2903
+ var SheetContent = React24.forwardRef(
2831
2904
  ({
2832
2905
  side = "right",
2833
2906
  className,
@@ -2838,9 +2911,9 @@ var SheetContent = React23.forwardRef(
2838
2911
  ...props
2839
2912
  }, ref) => {
2840
2913
  const hasDescription = treeContainsComponent4(children, SheetDescription) || treeContainsComponent4(children, SheetPrimitive.Description);
2841
- return /* @__PURE__ */ jsxs16(SheetPortal, { children: [
2842
- !hideOverlay && /* @__PURE__ */ jsx29(SheetOverlay, { className: overlayClassName }),
2843
- /* @__PURE__ */ jsxs16(
2914
+ return /* @__PURE__ */ jsxs17(SheetPortal, { children: [
2915
+ !hideOverlay && /* @__PURE__ */ jsx30(SheetOverlay, { className: overlayClassName }),
2916
+ /* @__PURE__ */ jsxs17(
2844
2917
  SheetContentBase,
2845
2918
  {
2846
2919
  ref,
@@ -2848,9 +2921,9 @@ var SheetContent = React23.forwardRef(
2848
2921
  ...hasDescription ? {} : { "aria-describedby": void 0 },
2849
2922
  ...props,
2850
2923
  children: [
2851
- !hideCloseButton && /* @__PURE__ */ jsxs16(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
2852
- /* @__PURE__ */ jsx29(Cross2Icon, { className: "h-4 w-4" }),
2853
- /* @__PURE__ */ jsx29("span", { className: "sr-only", children: "Close" })
2924
+ !hideCloseButton && /* @__PURE__ */ jsxs17(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
2925
+ /* @__PURE__ */ jsx30(Cross2Icon, { className: "h-4 w-4" }),
2926
+ /* @__PURE__ */ jsx30("span", { className: "sr-only", children: "Close" })
2854
2927
  ] }),
2855
2928
  children
2856
2929
  ]
@@ -2863,7 +2936,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
2863
2936
  var SheetHeader = ({
2864
2937
  className,
2865
2938
  ...props
2866
- }) => /* @__PURE__ */ jsx29(
2939
+ }) => /* @__PURE__ */ jsx30(
2867
2940
  "div",
2868
2941
  {
2869
2942
  className: cn(
@@ -2877,7 +2950,7 @@ SheetHeader.displayName = "SheetHeader";
2877
2950
  var SheetFooter = ({
2878
2951
  className,
2879
2952
  ...props
2880
- }) => /* @__PURE__ */ jsx29(
2953
+ }) => /* @__PURE__ */ jsx30(
2881
2954
  "div",
2882
2955
  {
2883
2956
  className: cn(
@@ -2888,7 +2961,7 @@ var SheetFooter = ({
2888
2961
  }
2889
2962
  );
2890
2963
  SheetFooter.displayName = "SheetFooter";
2891
- var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2964
+ var SheetTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
2892
2965
  SheetPrimitive.Title,
2893
2966
  {
2894
2967
  ref,
@@ -2899,12 +2972,12 @@ var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
2899
2972
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
2900
2973
 
2901
2974
  // src/skeleton.tsx
2902
- import { jsx as jsx30 } from "react/jsx-runtime";
2975
+ import { jsx as jsx31 } from "react/jsx-runtime";
2903
2976
  function Skeleton({
2904
2977
  className,
2905
2978
  ...props
2906
2979
  }) {
2907
- return /* @__PURE__ */ jsx30(
2980
+ return /* @__PURE__ */ jsx31(
2908
2981
  "div",
2909
2982
  {
2910
2983
  className: cn("animate-pulse rounded-md bg-primary/10", className),
@@ -2915,8 +2988,8 @@ function Skeleton({
2915
2988
 
2916
2989
  // src/switch.tsx
2917
2990
  import * as SwitchPrimitives from "@radix-ui/react-switch";
2918
- import * as React24 from "react";
2919
- import { jsx as jsx31 } from "react/jsx-runtime";
2991
+ import * as React25 from "react";
2992
+ import { jsx as jsx32 } from "react/jsx-runtime";
2920
2993
  var SWITCH_SIZES = {
2921
2994
  sm: {
2922
2995
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -2927,7 +3000,7 @@ var SWITCH_SIZES = {
2927
3000
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
2928
3001
  }
2929
3002
  };
2930
- var Switch = React24.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx31(
3003
+ var Switch = React25.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx32(
2931
3004
  SwitchPrimitives.Root,
2932
3005
  {
2933
3006
  ref,
@@ -2938,7 +3011,7 @@ var Switch = React24.forwardRef(({ className, size = "md", ...props }, ref) => /
2938
3011
  className
2939
3012
  ),
2940
3013
  ...props,
2941
- children: /* @__PURE__ */ jsx31(
3014
+ children: /* @__PURE__ */ jsx32(
2942
3015
  SwitchPrimitives.Thumb,
2943
3016
  {
2944
3017
  "data-slot": "switch-thumb",
@@ -2954,7 +3027,7 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
2954
3027
 
2955
3028
  // src/tabbed-bottom-sheet.tsx
2956
3029
  import { useState as useState6 } from "react";
2957
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
3030
+ import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
2958
3031
  function TabbedBottomSheet({
2959
3032
  open,
2960
3033
  onOpenChange,
@@ -2968,15 +3041,15 @@ function TabbedBottomSheet({
2968
3041
  if (open) setSelectedTabId(null);
2969
3042
  }
2970
3043
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
2971
- return /* @__PURE__ */ jsx32(
3044
+ return /* @__PURE__ */ jsx33(
2972
3045
  BottomSheet,
2973
3046
  {
2974
3047
  open,
2975
3048
  onOpenChange,
2976
3049
  title,
2977
3050
  size: "full",
2978
- children: /* @__PURE__ */ jsxs17("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
2979
- /* @__PURE__ */ jsx32(
3051
+ children: /* @__PURE__ */ jsxs18("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3052
+ /* @__PURE__ */ jsx33(
2980
3053
  BottomSheetHeader,
2981
3054
  {
2982
3055
  title: selectedTab ? selectedTab.label : title,
@@ -2984,19 +3057,19 @@ function TabbedBottomSheet({
2984
3057
  onBack: () => setSelectedTabId(null)
2985
3058
  }
2986
3059
  ),
2987
- selectedTab ? /* @__PURE__ */ jsx32("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx32(BottomSheetBody, { children: /* @__PURE__ */ jsx32("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3060
+ selectedTab ? /* @__PURE__ */ jsx33("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx33(BottomSheetBody, { children: /* @__PURE__ */ jsx33("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
2988
3061
  const Icon2 = tab.icon;
2989
- return /* @__PURE__ */ jsx32("li", { children: /* @__PURE__ */ jsxs17(
3062
+ return /* @__PURE__ */ jsx33("li", { children: /* @__PURE__ */ jsxs18(
2990
3063
  "button",
2991
3064
  {
2992
3065
  type: "button",
2993
3066
  onClick: () => setSelectedTabId(tab.id),
2994
3067
  className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
2995
3068
  children: [
2996
- Icon2 ? /* @__PURE__ */ jsx32(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
2997
- /* @__PURE__ */ jsx32("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3069
+ Icon2 ? /* @__PURE__ */ jsx33(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3070
+ /* @__PURE__ */ jsx33("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
2998
3071
  tab.trailing,
2999
- /* @__PURE__ */ jsx32(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3072
+ /* @__PURE__ */ jsx33(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3000
3073
  ]
3001
3074
  }
3002
3075
  ) }, tab.id);
@@ -3007,19 +3080,19 @@ function TabbedBottomSheet({
3007
3080
  }
3008
3081
 
3009
3082
  // src/table.tsx
3010
- import * as React25 from "react";
3011
- import { jsx as jsx33 } from "react/jsx-runtime";
3083
+ import * as React26 from "react";
3084
+ import { jsx as jsx34 } from "react/jsx-runtime";
3012
3085
  var TABLE_SIZES = {
3013
3086
  sm: { head: "px-2", cell: "p-2" },
3014
3087
  md: { head: "px-3", cell: "p-3" }
3015
3088
  };
3016
- var TableSizeContext = React25.createContext("md");
3089
+ var TableSizeContext = React26.createContext("md");
3017
3090
  function useTableSize() {
3018
- return React25.useContext(TableSizeContext);
3091
+ return React26.useContext(TableSizeContext);
3019
3092
  }
3020
- var Table = React25.forwardRef(
3093
+ var Table = React26.forwardRef(
3021
3094
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
3022
- const table = /* @__PURE__ */ jsx33(
3095
+ const table = /* @__PURE__ */ jsx34(
3023
3096
  "table",
3024
3097
  {
3025
3098
  ref,
@@ -3029,7 +3102,7 @@ var Table = React25.forwardRef(
3029
3102
  ...props
3030
3103
  }
3031
3104
  );
3032
- return /* @__PURE__ */ jsx33(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx33(
3105
+ return /* @__PURE__ */ jsx34(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx34(
3033
3106
  "div",
3034
3107
  {
3035
3108
  "data-slot": "table-wrapper",
@@ -3040,7 +3113,7 @@ var Table = React25.forwardRef(
3040
3113
  }
3041
3114
  );
3042
3115
  Table.displayName = "Table";
3043
- var TableHeader = React25.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx33(
3116
+ var TableHeader = React26.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx34(
3044
3117
  "thead",
3045
3118
  {
3046
3119
  ref,
@@ -3054,7 +3127,7 @@ var TableHeader = React25.forwardRef(({ className, sticky = false, ...props }, r
3054
3127
  }
3055
3128
  ));
3056
3129
  TableHeader.displayName = "TableHeader";
3057
- var TableBody = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3130
+ var TableBody = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3058
3131
  "tbody",
3059
3132
  {
3060
3133
  ref,
@@ -3064,7 +3137,7 @@ var TableBody = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3064
3137
  }
3065
3138
  ));
3066
3139
  TableBody.displayName = "TableBody";
3067
- var TableFooter = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3140
+ var TableFooter = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3068
3141
  "tfoot",
3069
3142
  {
3070
3143
  ref,
@@ -3077,7 +3150,7 @@ var TableFooter = React25.forwardRef(({ className, ...props }, ref) => /* @__PUR
3077
3150
  }
3078
3151
  ));
3079
3152
  TableFooter.displayName = "TableFooter";
3080
- var TableRow = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3153
+ var TableRow = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3081
3154
  "tr",
3082
3155
  {
3083
3156
  ref,
@@ -3090,9 +3163,9 @@ var TableRow = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3090
3163
  }
3091
3164
  ));
3092
3165
  TableRow.displayName = "TableRow";
3093
- var TableHead = React25.forwardRef(({ className, ...props }, ref) => {
3166
+ var TableHead = React26.forwardRef(({ className, ...props }, ref) => {
3094
3167
  const size = useTableSize();
3095
- return /* @__PURE__ */ jsx33(
3168
+ return /* @__PURE__ */ jsx34(
3096
3169
  "th",
3097
3170
  {
3098
3171
  ref,
@@ -3107,9 +3180,9 @@ var TableHead = React25.forwardRef(({ className, ...props }, ref) => {
3107
3180
  );
3108
3181
  });
3109
3182
  TableHead.displayName = "TableHead";
3110
- var TableCell = React25.forwardRef(({ className, ...props }, ref) => {
3183
+ var TableCell = React26.forwardRef(({ className, ...props }, ref) => {
3111
3184
  const size = useTableSize();
3112
- return /* @__PURE__ */ jsx33(
3185
+ return /* @__PURE__ */ jsx34(
3113
3186
  "td",
3114
3187
  {
3115
3188
  ref,
@@ -3124,7 +3197,7 @@ var TableCell = React25.forwardRef(({ className, ...props }, ref) => {
3124
3197
  );
3125
3198
  });
3126
3199
  TableCell.displayName = "TableCell";
3127
- var TableCaption = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3200
+ var TableCaption = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3128
3201
  "caption",
3129
3202
  {
3130
3203
  ref,
@@ -3137,11 +3210,11 @@ TableCaption.displayName = "TableCaption";
3137
3210
 
3138
3211
  // src/tabs.tsx
3139
3212
  import * as TabsPrimitive from "@radix-ui/react-tabs";
3140
- import * as React26 from "react";
3141
- import { jsx as jsx34 } from "react/jsx-runtime";
3213
+ import * as React27 from "react";
3214
+ import { jsx as jsx35 } from "react/jsx-runtime";
3142
3215
  var Tabs = TabsPrimitive.Root;
3143
3216
  var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
3144
- var TabsList = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3217
+ var TabsList = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3145
3218
  TabsPrimitive.List,
3146
3219
  {
3147
3220
  ref,
@@ -3154,7 +3227,7 @@ var TabsList = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3154
3227
  }
3155
3228
  ));
3156
3229
  TabsList.displayName = TabsPrimitive.List.displayName;
3157
- var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3230
+ var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3158
3231
  TabsPrimitive.Trigger,
3159
3232
  {
3160
3233
  ref,
@@ -3168,7 +3241,7 @@ var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
3168
3241
  }
3169
3242
  ));
3170
3243
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3171
- var TabsTriggerCore = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3244
+ var TabsTriggerCore = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3172
3245
  TabsPrimitive.Trigger,
3173
3246
  {
3174
3247
  ref,
@@ -3178,7 +3251,7 @@ var TabsTriggerCore = React26.forwardRef(({ className, ...props }, ref) => /* @_
3178
3251
  }
3179
3252
  ));
3180
3253
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
3181
- var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3254
+ var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3182
3255
  TabsPrimitive.Content,
3183
3256
  {
3184
3257
  ref,
@@ -3194,8 +3267,8 @@ var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
3194
3267
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3195
3268
 
3196
3269
  // src/textarea.tsx
3197
- import * as React27 from "react";
3198
- import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
3270
+ import * as React28 from "react";
3271
+ import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
3199
3272
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
3200
3273
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
3201
3274
  function getStretchClasses(className) {
@@ -3208,7 +3281,7 @@ function getStretchClasses(className) {
3208
3281
  var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3209
3282
  var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3210
3283
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3211
- React27.useEffect(() => {
3284
+ React28.useEffect(() => {
3212
3285
  if (!autoGrow || !ref.current) return;
3213
3286
  const textarea = ref.current;
3214
3287
  textarea.style.height = "auto";
@@ -3224,8 +3297,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3224
3297
  }, [value, autoGrow, minHeight, maxHeight, ref]);
3225
3298
  }
3226
3299
  function useMergedTextareaRef(forwarded) {
3227
- const internal = React27.useRef(null);
3228
- const callback = React27.useCallback(
3300
+ const internal = React28.useRef(null);
3301
+ const callback = React28.useCallback(
3229
3302
  (node) => {
3230
3303
  internal.current = node;
3231
3304
  if (typeof forwarded === "function") forwarded(node);
@@ -3242,13 +3315,13 @@ function boxStyle(minHeight, maxHeight) {
3242
3315
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
3243
3316
  };
3244
3317
  }
3245
- var Textarea = React27.forwardRef(
3318
+ var Textarea = React28.forwardRef(
3246
3319
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
3247
3320
  const { ref, callback } = useMergedTextareaRef(forwarded);
3248
3321
  const stretchClasses = getStretchClasses(className);
3249
3322
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
3250
3323
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3251
- const textarea = /* @__PURE__ */ jsx35(
3324
+ const textarea = /* @__PURE__ */ jsx36(
3252
3325
  "textarea",
3253
3326
  {
3254
3327
  ref: callback,
@@ -3264,15 +3337,15 @@ var Textarea = React27.forwardRef(
3264
3337
  }
3265
3338
  );
3266
3339
  if (!needsWrapper) return textarea;
3267
- return /* @__PURE__ */ jsx35("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3340
+ return /* @__PURE__ */ jsx36("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3268
3341
  }
3269
3342
  );
3270
3343
  Textarea.displayName = "Textarea";
3271
- var BasicTextarea = React27.forwardRef(
3344
+ var BasicTextarea = React28.forwardRef(
3272
3345
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
3273
3346
  const { ref, callback } = useMergedTextareaRef(forwarded);
3274
3347
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3275
- return /* @__PURE__ */ jsx35(
3348
+ return /* @__PURE__ */ jsx36(
3276
3349
  "textarea",
3277
3350
  {
3278
3351
  ref: callback,
@@ -3290,7 +3363,7 @@ var BasicTextarea = React27.forwardRef(
3290
3363
  }
3291
3364
  );
3292
3365
  BasicTextarea.displayName = "BasicTextarea";
3293
- var TextareaWithPrefix = React27.forwardRef(
3366
+ var TextareaWithPrefix = React28.forwardRef(
3294
3367
  ({
3295
3368
  prefix,
3296
3369
  className,
@@ -3302,13 +3375,13 @@ var TextareaWithPrefix = React27.forwardRef(
3302
3375
  }, forwarded) => {
3303
3376
  const { ref, callback } = useMergedTextareaRef(forwarded);
3304
3377
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3305
- return /* @__PURE__ */ jsxs18(
3378
+ return /* @__PURE__ */ jsxs19(
3306
3379
  "div",
3307
3380
  {
3308
3381
  className: cn("relative", getStretchClasses(className), wrapperClassName),
3309
3382
  children: [
3310
- prefix ? /* @__PURE__ */ jsx35("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
3311
- /* @__PURE__ */ jsx35(
3383
+ prefix ? /* @__PURE__ */ jsx36("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
3384
+ /* @__PURE__ */ jsx36(
3312
3385
  "textarea",
3313
3386
  {
3314
3387
  ref: callback,
@@ -3387,13 +3460,13 @@ function useScrollFade() {
3387
3460
 
3388
3461
  // src/hover-card.tsx
3389
3462
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3390
- import * as React28 from "react";
3391
- import { jsx as jsx36 } from "react/jsx-runtime";
3463
+ import * as React29 from "react";
3464
+ import { jsx as jsx37 } from "react/jsx-runtime";
3392
3465
  var HoverCard = HoverCardPrimitive.Root;
3393
3466
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
3394
- var HoverCardContent = React28.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
3467
+ var HoverCardContent = React29.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
3395
3468
  const resolved = usePortalContainer(container);
3396
- return /* @__PURE__ */ jsx36(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx36(
3469
+ return /* @__PURE__ */ jsx37(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx37(
3397
3470
  HoverCardPrimitive.Content,
3398
3471
  {
3399
3472
  ref,
@@ -3412,9 +3485,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
3412
3485
 
3413
3486
  // src/radio-group.tsx
3414
3487
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3415
- import * as React29 from "react";
3416
- import { jsx as jsx37 } from "react/jsx-runtime";
3417
- var RadioGroupSizeContext = React29.createContext("md");
3488
+ import * as React30 from "react";
3489
+ import { jsx as jsx38 } from "react/jsx-runtime";
3490
+ var RadioGroupSizeContext = React30.createContext("md");
3418
3491
  var CONTROL_CLASSES = {
3419
3492
  sm: "h-3.5 w-3.5",
3420
3493
  md: "h-4 w-4",
@@ -3425,7 +3498,7 @@ var DOT_CLASSES = {
3425
3498
  md: "h-1.5 w-1.5",
3426
3499
  lg: "h-2 w-2"
3427
3500
  };
3428
- var RadioGroup3 = React29.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx37(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx37(
3501
+ var RadioGroup3 = React30.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx38(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx38(
3429
3502
  RadioGroupPrimitive.Root,
3430
3503
  {
3431
3504
  ref,
@@ -3435,10 +3508,10 @@ var RadioGroup3 = React29.forwardRef(({ className, size = "md", ...props }, ref)
3435
3508
  }
3436
3509
  ) }));
3437
3510
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
3438
- var RadioGroupItem = React29.forwardRef(({ className, size, ...props }, ref) => {
3439
- const groupSize = React29.useContext(RadioGroupSizeContext);
3511
+ var RadioGroupItem = React30.forwardRef(({ className, size, ...props }, ref) => {
3512
+ const groupSize = React30.useContext(RadioGroupSizeContext);
3440
3513
  const resolved = size ?? groupSize;
3441
- return /* @__PURE__ */ jsx37(
3514
+ return /* @__PURE__ */ jsx38(
3442
3515
  RadioGroupPrimitive.Item,
3443
3516
  {
3444
3517
  ref,
@@ -3455,7 +3528,7 @@ var RadioGroupItem = React29.forwardRef(({ className, size, ...props }, ref) =>
3455
3528
  className
3456
3529
  ),
3457
3530
  ...props,
3458
- children: /* @__PURE__ */ jsx37(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx37(
3531
+ children: /* @__PURE__ */ jsx38(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx38(
3459
3532
  "div",
3460
3533
  {
3461
3534
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -3468,7 +3541,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
3468
3541
 
3469
3542
  // src/resizable.tsx
3470
3543
  import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
3471
- import { jsx as jsx38 } from "react/jsx-runtime";
3544
+ import { jsx as jsx39 } from "react/jsx-runtime";
3472
3545
  var HANDLE_SIZES = {
3473
3546
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
3474
3547
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -3482,7 +3555,7 @@ var HANDLE_SIZES = {
3482
3555
  var ResizablePanelGroup = ({
3483
3556
  className,
3484
3557
  ...props
3485
- }) => /* @__PURE__ */ jsx38(
3558
+ }) => /* @__PURE__ */ jsx39(
3486
3559
  Group4,
3487
3560
  {
3488
3561
  "data-slot": "resizable-group",
@@ -3494,10 +3567,10 @@ ResizablePanelGroup.displayName = "ResizablePanelGroup";
3494
3567
  var ResizablePanel = Panel;
3495
3568
  var ResizableHandle = ({
3496
3569
  withHandle,
3497
- size = "sm",
3570
+ size = "xs",
3498
3571
  className,
3499
3572
  ...props
3500
- }) => /* @__PURE__ */ jsx38(
3573
+ }) => /* @__PURE__ */ jsx39(
3501
3574
  Separator5,
3502
3575
  {
3503
3576
  "data-slot": "resizable-handle",
@@ -3517,15 +3590,15 @@ var ResizableHandle = ({
3517
3590
  className
3518
3591
  ),
3519
3592
  ...props,
3520
- children: withHandle ? /* @__PURE__ */ jsx38("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx38(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
3593
+ children: withHandle ? /* @__PURE__ */ jsx39("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx39(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
3521
3594
  }
3522
3595
  );
3523
3596
  ResizableHandle.displayName = "ResizableHandle";
3524
3597
 
3525
3598
  // src/slider.tsx
3526
3599
  import * as SliderPrimitive from "@radix-ui/react-slider";
3527
- import * as React30 from "react";
3528
- import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
3600
+ import * as React31 from "react";
3601
+ import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
3529
3602
  var TRACK_CLASSES = {
3530
3603
  sm: "h-1",
3531
3604
  md: "h-1.5",
@@ -3536,12 +3609,12 @@ var THUMB_CLASSES = {
3536
3609
  md: "h-4 w-4",
3537
3610
  lg: "h-5 w-5"
3538
3611
  };
3539
- var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3612
+ var Slider = React31.forwardRef(({ className, size = "md", ...props }, ref) => {
3540
3613
  const thumbCount = Math.max(
3541
3614
  1,
3542
3615
  (props.value ?? props.defaultValue ?? [0]).length
3543
3616
  );
3544
- return /* @__PURE__ */ jsxs19(
3617
+ return /* @__PURE__ */ jsxs20(
3545
3618
  SliderPrimitive.Root,
3546
3619
  {
3547
3620
  ref,
@@ -3553,7 +3626,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3553
3626
  ),
3554
3627
  ...props,
3555
3628
  children: [
3556
- /* @__PURE__ */ jsx39(
3629
+ /* @__PURE__ */ jsx40(
3557
3630
  SliderPrimitive.Track,
3558
3631
  {
3559
3632
  "data-slot": "slider-track",
@@ -3562,7 +3635,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3562
3635
  TRACK_CLASSES[size],
3563
3636
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
3564
3637
  ),
3565
- children: /* @__PURE__ */ jsx39(
3638
+ children: /* @__PURE__ */ jsx40(
3566
3639
  SliderPrimitive.Range,
3567
3640
  {
3568
3641
  "data-slot": "slider-range",
@@ -3571,7 +3644,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3571
3644
  )
3572
3645
  }
3573
3646
  ),
3574
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx39(
3647
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx40(
3575
3648
  SliderPrimitive.Thumb,
3576
3649
  {
3577
3650
  "data-slot": "slider-thumb",
@@ -3598,8 +3671,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
3598
3671
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
3599
3672
  import * as TogglePrimitive from "@radix-ui/react-toggle";
3600
3673
  import { cva as cva6 } from "class-variance-authority";
3601
- import * as React31 from "react";
3602
- import { jsx as jsx40 } from "react/jsx-runtime";
3674
+ import * as React32 from "react";
3675
+ import { jsx as jsx41 } from "react/jsx-runtime";
3603
3676
  var toggleVariants = cva6(
3604
3677
  "inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
3605
3678
  {
@@ -3620,7 +3693,7 @@ var toggleVariants = cva6(
3620
3693
  }
3621
3694
  }
3622
3695
  );
3623
- var Toggle = React31.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx40(
3696
+ var Toggle = React32.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx41(
3624
3697
  TogglePrimitive.Root,
3625
3698
  {
3626
3699
  ref,
@@ -3630,21 +3703,21 @@ var Toggle = React31.forwardRef(({ className, variant, size, ...props }, ref) =>
3630
3703
  }
3631
3704
  ));
3632
3705
  Toggle.displayName = TogglePrimitive.Root.displayName;
3633
- var ToggleGroupContext = React31.createContext({ size: "default", variant: "default" });
3634
- var ToggleGroup = React31.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx40(
3706
+ var ToggleGroupContext = React32.createContext({ size: "default", variant: "default" });
3707
+ var ToggleGroup = React32.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx41(
3635
3708
  ToggleGroupPrimitive.Root,
3636
3709
  {
3637
3710
  ref,
3638
3711
  "data-slot": "toggle-group",
3639
3712
  className: cn("flex items-center justify-center gap-1", className),
3640
3713
  ...props,
3641
- children: /* @__PURE__ */ jsx40(ToggleGroupContext.Provider, { value: { variant, size }, children })
3714
+ children: /* @__PURE__ */ jsx41(ToggleGroupContext.Provider, { value: { variant, size }, children })
3642
3715
  }
3643
3716
  ));
3644
3717
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
3645
- var ToggleGroupItem = React31.forwardRef(({ className, children, variant, size, ...props }, ref) => {
3646
- const context = React31.useContext(ToggleGroupContext);
3647
- return /* @__PURE__ */ jsx40(
3718
+ var ToggleGroupItem = React32.forwardRef(({ className, children, variant, size, ...props }, ref) => {
3719
+ const context = React32.useContext(ToggleGroupContext);
3720
+ return /* @__PURE__ */ jsx41(
3648
3721
  ToggleGroupPrimitive.Item,
3649
3722
  {
3650
3723
  ref,
@@ -3665,14 +3738,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
3665
3738
 
3666
3739
  // src/tooltip.tsx
3667
3740
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3668
- import * as React32 from "react";
3669
- import { jsx as jsx41 } from "react/jsx-runtime";
3741
+ import * as React33 from "react";
3742
+ import { jsx as jsx42 } from "react/jsx-runtime";
3670
3743
  var TooltipProvider = TooltipPrimitive.Provider;
3671
3744
  var Tooltip = TooltipPrimitive.Root;
3672
3745
  var TooltipTrigger = TooltipPrimitive.Trigger;
3673
- var TooltipContent = React32.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
3746
+ var TooltipContent = React33.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
3674
3747
  const resolved = usePortalContainer(container);
3675
- return /* @__PURE__ */ jsx41(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx41(
3748
+ return /* @__PURE__ */ jsx42(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx42(
3676
3749
  TooltipPrimitive.Content,
3677
3750
  {
3678
3751
  ref,
@@ -3688,6 +3761,10 @@ var TooltipContent = React32.forwardRef(({ className, sideOffset = 4, container,
3688
3761
  });
3689
3762
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
3690
3763
  export {
3764
+ Accordion,
3765
+ AccordionContent,
3766
+ AccordionItem,
3767
+ AccordionTrigger,
3691
3768
  Alert,
3692
3769
  AlertDescription,
3693
3770
  AlertDialog,
@@ -3871,6 +3948,7 @@ export {
3871
3948
  selectTriggerVariants,
3872
3949
  sheetVariants,
3873
3950
  toggleVariants,
3951
+ useAccordionSize,
3874
3952
  useCardSize,
3875
3953
  useDialogContainer,
3876
3954
  useDrawerDirection,