@ai-matrx/design-system 0.7.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  }
@@ -980,22 +1053,36 @@ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
980
1053
 
981
1054
  // src/collapsible.tsx
982
1055
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
1056
+ import * as React11 from "react";
1057
+ import { jsx as jsx14 } from "react/jsx-runtime";
983
1058
  var Collapsible = CollapsiblePrimitive.Root;
984
1059
  var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
985
- var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
1060
+ var CollapsibleContent2 = React11.forwardRef(({ className, animated = true, ...props }, ref) => /* @__PURE__ */ jsx14(
1061
+ CollapsiblePrimitive.CollapsibleContent,
1062
+ {
1063
+ ref,
1064
+ "data-slot": "collapsible-content",
1065
+ className: cn(
1066
+ animated && "matrx-collapsible-content overflow-hidden",
1067
+ className
1068
+ ),
1069
+ ...props
1070
+ }
1071
+ ));
1072
+ CollapsibleContent2.displayName = "CollapsibleContent";
986
1073
 
987
1074
  // src/command.tsx
988
1075
  import * as DialogPrimitive from "@radix-ui/react-dialog";
989
1076
  import { Command as CommandPrimitive } from "cmdk";
990
- import * as React11 from "react";
1077
+ import * as React13 from "react";
991
1078
 
992
1079
  // src/use-is-mobile.ts
993
- import * as React10 from "react";
1080
+ import * as React12 from "react";
994
1081
  var MOBILE_BREAKPOINT = 768;
995
1082
  function useIsMobile() {
996
- const [isMobile, setIsMobile] = React10.useState(false);
997
- const [hasMounted, setHasMounted] = React10.useState(false);
998
- React10.useEffect(() => {
1083
+ const [isMobile, setIsMobile] = React12.useState(false);
1084
+ const [hasMounted, setHasMounted] = React12.useState(false);
1085
+ React12.useEffect(() => {
999
1086
  setHasMounted(true);
1000
1087
  const onChange = () => {
1001
1088
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1015,8 +1102,8 @@ function useIsMobile() {
1015
1102
  }
1016
1103
 
1017
1104
  // 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(
1105
+ import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
1106
+ var Command = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1020
1107
  CommandPrimitive,
1021
1108
  {
1022
1109
  ref,
@@ -1031,18 +1118,18 @@ Command.displayName = CommandPrimitive.displayName;
1031
1118
  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
1119
  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
1120
  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) => {
1121
+ var CommandDialogContent = React13.forwardRef(({ className, children, container, ...props }, ref) => {
1035
1122
  const isMobile = useIsMobile();
1036
1123
  const isModal = useRadixDialogModal();
1037
1124
  const portalContainer = usePortalContainer(container);
1038
- return /* @__PURE__ */ jsxs5(DialogPrimitive.Portal, { container: portalContainer, children: [
1039
- isModal ? /* @__PURE__ */ jsx13(
1125
+ return /* @__PURE__ */ jsxs6(DialogPrimitive.Portal, { container: portalContainer, children: [
1126
+ isModal ? /* @__PURE__ */ jsx15(
1040
1127
  DialogPrimitive.Overlay,
1041
1128
  {
1042
1129
  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
1130
  }
1044
1131
  ) : null,
1045
- /* @__PURE__ */ jsxs5(
1132
+ /* @__PURE__ */ jsxs6(
1046
1133
  DialogPrimitive.Content,
1047
1134
  {
1048
1135
  ref,
@@ -1057,9 +1144,9 @@ var CommandDialogContent = React11.forwardRef(({ className, children, container,
1057
1144
  ...props,
1058
1145
  children: [
1059
1146
  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" })
1147
+ /* @__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: [
1148
+ /* @__PURE__ */ jsx15(XIcon, { className: "h-4 w-4" }),
1149
+ /* @__PURE__ */ jsx15("span", { className: "sr-only", children: "Close" })
1063
1150
  ] })
1064
1151
  ]
1065
1152
  }
@@ -1073,21 +1160,21 @@ var CommandDialog = ({
1073
1160
  ...props
1074
1161
  }) => {
1075
1162
  const modal = props.modal ?? true;
1076
- return /* @__PURE__ */ jsx13(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx13(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs5(
1163
+ return /* @__PURE__ */ jsx15(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx15(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs6(
1077
1164
  CommandDialogContent,
1078
1165
  {
1079
1166
  className: "overflow-hidden p-0",
1080
1167
  ...container !== void 0 ? { container } : {},
1081
1168
  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 })
1169
+ /* @__PURE__ */ jsx15(DialogPrimitive.Title, { className: "sr-only" }),
1170
+ /* @__PURE__ */ jsx15(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
1171
  ]
1085
1172
  }
1086
1173
  ) }) });
1087
1174
  };
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(
1175
+ var CommandInput = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1176
+ /* @__PURE__ */ jsx15(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1177
+ /* @__PURE__ */ jsx15(
1091
1178
  CommandPrimitive.Input,
1092
1179
  {
1093
1180
  ref,
@@ -1100,7 +1187,7 @@ var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
1100
1187
  )
1101
1188
  ] }));
1102
1189
  CommandInput.displayName = CommandPrimitive.Input.displayName;
1103
- var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1190
+ var CommandList = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1104
1191
  CommandPrimitive.List,
1105
1192
  {
1106
1193
  ref,
@@ -1109,7 +1196,7 @@ var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
1109
1196
  }
1110
1197
  ));
1111
1198
  CommandList.displayName = CommandPrimitive.List.displayName;
1112
- var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(
1199
+ var CommandEmpty = React13.forwardRef((props, ref) => /* @__PURE__ */ jsx15(
1113
1200
  CommandPrimitive.Empty,
1114
1201
  {
1115
1202
  ref,
@@ -1118,7 +1205,7 @@ var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(
1118
1205
  }
1119
1206
  ));
1120
1207
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1121
- var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1208
+ var CommandGroup = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1122
1209
  CommandPrimitive.Group,
1123
1210
  {
1124
1211
  ref,
@@ -1130,7 +1217,7 @@ var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
1130
1217
  }
1131
1218
  ));
1132
1219
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
1133
- var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1220
+ var CommandSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1134
1221
  CommandPrimitive.Separator,
1135
1222
  {
1136
1223
  ref,
@@ -1139,7 +1226,7 @@ var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @
1139
1226
  }
1140
1227
  ));
1141
1228
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1142
- var CommandItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
1229
+ var CommandItem = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
1143
1230
  CommandPrimitive.Item,
1144
1231
  {
1145
1232
  ref,
@@ -1155,7 +1242,7 @@ var CommandShortcut = ({
1155
1242
  className,
1156
1243
  ...props
1157
1244
  }) => {
1158
- return /* @__PURE__ */ jsx13(
1245
+ return /* @__PURE__ */ jsx15(
1159
1246
  "span",
1160
1247
  {
1161
1248
  className: cn(
@@ -1170,8 +1257,8 @@ CommandShortcut.displayName = "CommandShortcut";
1170
1257
 
1171
1258
  // src/context-menu.tsx
1172
1259
  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";
1260
+ import * as React14 from "react";
1261
+ import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1175
1262
  var ContextMenu = ContextMenuPrimitive.Root;
1176
1263
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
1177
1264
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -1182,7 +1269,7 @@ var SURFACE_CLASS = "z-50 min-w-[8rem] max-h-[var(--radix-context-menu-content-a
1182
1269
  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
1270
  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
1271
  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(
1272
+ var ContextMenuSubTrigger = React14.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1186
1273
  ContextMenuPrimitive.SubTrigger,
1187
1274
  {
1188
1275
  ref,
@@ -1195,12 +1282,12 @@ var ContextMenuSubTrigger = React12.forwardRef(({ className, inset, children, ..
1195
1282
  ...props,
1196
1283
  children: [
1197
1284
  children,
1198
- /* @__PURE__ */ jsx14(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1285
+ /* @__PURE__ */ jsx16(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1199
1286
  ]
1200
1287
  }
1201
1288
  ));
1202
1289
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
1203
- var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1290
+ var ContextMenuSubContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1204
1291
  ContextMenuPrimitive.SubContent,
1205
1292
  {
1206
1293
  ref,
@@ -1210,9 +1297,9 @@ var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) =>
1210
1297
  }
1211
1298
  ));
1212
1299
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
1213
- var ContextMenuContent = React12.forwardRef(({ className, container, ...props }, ref) => {
1300
+ var ContextMenuContent = React14.forwardRef(({ className, container, ...props }, ref) => {
1214
1301
  const portalContainer = usePortalContainer(container);
1215
- return /* @__PURE__ */ jsx14(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx14(
1302
+ return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx16(
1216
1303
  ContextMenuPrimitive.Content,
1217
1304
  {
1218
1305
  ref,
@@ -1223,7 +1310,7 @@ var ContextMenuContent = React12.forwardRef(({ className, container, ...props },
1223
1310
  ) });
1224
1311
  });
1225
1312
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
1226
- var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
1313
+ var ContextMenuItem = React14.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
1227
1314
  ContextMenuPrimitive.Item,
1228
1315
  {
1229
1316
  ref,
@@ -1238,7 +1325,7 @@ var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) =
1238
1325
  }
1239
1326
  ));
1240
1327
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
1241
- var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1328
+ var ContextMenuCheckboxItem = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1242
1329
  ContextMenuPrimitive.CheckboxItem,
1243
1330
  {
1244
1331
  ref,
@@ -1246,13 +1333,13 @@ var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, ...prop
1246
1333
  className: cn(INDICATOR_ITEM_CLASS, className),
1247
1334
  ...props,
1248
1335
  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" }) }) }),
1336
+ /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(CheckIcon, { className: "h-4 w-4" }) }) }),
1250
1337
  children
1251
1338
  ]
1252
1339
  }
1253
1340
  ));
1254
1341
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
1255
- var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1342
+ var ContextMenuRadioItem = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
1256
1343
  ContextMenuPrimitive.RadioItem,
1257
1344
  {
1258
1345
  ref,
@@ -1260,13 +1347,13 @@ var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }
1260
1347
  className: cn(INDICATOR_ITEM_CLASS, className),
1261
1348
  ...props,
1262
1349
  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" }) }) }),
1350
+ /* @__PURE__ */ jsx16("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1264
1351
  children
1265
1352
  ]
1266
1353
  }
1267
1354
  ));
1268
1355
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
1269
- var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
1356
+ var ContextMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx16(
1270
1357
  ContextMenuPrimitive.Label,
1271
1358
  {
1272
1359
  ref,
@@ -1280,7 +1367,7 @@ var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref)
1280
1367
  }
1281
1368
  ));
1282
1369
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
1283
- var ContextMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
1370
+ var ContextMenuSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1284
1371
  ContextMenuPrimitive.Separator,
1285
1372
  {
1286
1373
  ref,
@@ -1293,7 +1380,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
1293
1380
  var ContextMenuShortcut = ({
1294
1381
  className,
1295
1382
  ...props
1296
- }) => /* @__PURE__ */ jsx14(
1383
+ }) => /* @__PURE__ */ jsx16(
1297
1384
  "span",
1298
1385
  {
1299
1386
  "data-slot": "context-menu-shortcut",
@@ -1311,15 +1398,15 @@ import {
1311
1398
 
1312
1399
  // src/popover.tsx
1313
1400
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1314
- import * as React13 from "react";
1315
- import { jsx as jsx15 } from "react/jsx-runtime";
1401
+ import * as React15 from "react";
1402
+ import { jsx as jsx17 } from "react/jsx-runtime";
1316
1403
  var Popover = PopoverPrimitive.Root;
1317
1404
  var PopoverTrigger = PopoverPrimitive.Trigger;
1318
1405
  var PopoverAnchor = PopoverPrimitive.Anchor;
1319
- var PopoverContent = React13.forwardRef(
1406
+ var PopoverContent = React15.forwardRef(
1320
1407
  ({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
1321
1408
  const portalContainer = usePortalContainer(container);
1322
- return /* @__PURE__ */ jsx15(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx15(
1409
+ return /* @__PURE__ */ jsx17(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx17(
1323
1410
  PopoverPrimitive.Content,
1324
1411
  {
1325
1412
  ref,
@@ -1343,7 +1430,7 @@ var PopoverContent = React13.forwardRef(
1343
1430
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1344
1431
 
1345
1432
  // src/creatable-picker.tsx
1346
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1433
+ import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1347
1434
  function article(noun) {
1348
1435
  return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
1349
1436
  }
@@ -1418,8 +1505,8 @@ function CreatablePicker({
1418
1505
  setBusy(false);
1419
1506
  }
1420
1507
  };
1421
- return /* @__PURE__ */ jsxs7(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1422
- /* @__PURE__ */ jsx16(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs7(
1508
+ return /* @__PURE__ */ jsxs8(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
1509
+ /* @__PURE__ */ jsx18(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs8(
1423
1510
  "button",
1424
1511
  {
1425
1512
  type: "button",
@@ -1433,12 +1520,12 @@ function CreatablePicker({
1433
1520
  triggerClassName
1434
1521
  ),
1435
1522
  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" })
1523
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx18("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
1524
+ /* @__PURE__ */ jsx18(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
1438
1525
  ]
1439
1526
  }
1440
1527
  ) }),
1441
- /* @__PURE__ */ jsx16(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs7(
1528
+ /* @__PURE__ */ jsx18(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs8(
1442
1529
  Command,
1443
1530
  {
1444
1531
  filter: (itemValue, search, keywords) => {
@@ -1446,7 +1533,7 @@ function CreatablePicker({
1446
1533
  return haystack.includes(search.toLowerCase()) ? 1 : 0;
1447
1534
  },
1448
1535
  children: [
1449
- /* @__PURE__ */ jsx16(
1536
+ /* @__PURE__ */ jsx18(
1450
1537
  CommandInput,
1451
1538
  {
1452
1539
  ref: inputRef,
@@ -1458,13 +1545,13 @@ function CreatablePicker({
1458
1545
  placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
1459
1546
  }
1460
1547
  ),
1461
- /* @__PURE__ */ jsxs7(CommandList, { children: [
1462
- /* @__PURE__ */ jsx16(CommandEmpty, { children: emptyLabel }),
1463
- groups.map((group) => /* @__PURE__ */ jsx16(
1548
+ /* @__PURE__ */ jsxs8(CommandList, { children: [
1549
+ /* @__PURE__ */ jsx18(CommandEmpty, { children: emptyLabel }),
1550
+ groups.map((group) => /* @__PURE__ */ jsx18(
1464
1551
  CommandGroup,
1465
1552
  {
1466
1553
  ...group.heading === void 0 ? {} : { heading: group.heading },
1467
- children: group.options.map((option) => /* @__PURE__ */ jsxs7(
1554
+ children: group.options.map((option) => /* @__PURE__ */ jsxs8(
1468
1555
  CommandItem,
1469
1556
  {
1470
1557
  value: option.label,
@@ -1475,7 +1562,7 @@ function CreatablePicker({
1475
1562
  },
1476
1563
  className: "gap-2 text-xs",
1477
1564
  children: [
1478
- /* @__PURE__ */ jsx16(
1565
+ /* @__PURE__ */ jsx18(
1479
1566
  LucideCheckIcon,
1480
1567
  {
1481
1568
  className: cn(
@@ -1484,8 +1571,8 @@ function CreatablePicker({
1484
1571
  )
1485
1572
  }
1486
1573
  ),
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
1574
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
1575
+ option.hint ? /* @__PURE__ */ jsx18("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
1489
1576
  ]
1490
1577
  },
1491
1578
  option.value
@@ -1494,9 +1581,9 @@ function CreatablePicker({
1494
1581
  group.heading ?? "__ungrouped__"
1495
1582
  ))
1496
1583
  ] }),
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(
1584
+ canCreate ? /* @__PURE__ */ jsxs8("div", { className: "space-y-1 border-t border-border p-1", children: [
1585
+ createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx18("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
1586
+ /* @__PURE__ */ jsxs8(
1500
1587
  "button",
1501
1588
  {
1502
1589
  type: "button",
@@ -1504,22 +1591,22 @@ function CreatablePicker({
1504
1591
  onClick: () => void create(typed),
1505
1592
  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
1593
  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` })
1594
+ busy ? /* @__PURE__ */ jsx18(Loader2Icon, { className: "size-3.5 shrink-0 animate-spin" }) : /* @__PURE__ */ jsx18(PlusIcon, { className: "size-3.5 shrink-0" }),
1595
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
1509
1596
  ]
1510
1597
  }
1511
1598
  ),
1512
- needsName ? /* @__PURE__ */ jsxs7("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1599
+ needsName ? /* @__PURE__ */ jsxs8("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
1513
1600
  "Type the name of the ",
1514
1601
  noun,
1515
1602
  " you want to add \u2014 then this creates it."
1516
1603
  ] }) : null
1517
1604
  ] }) : null,
1518
- footerActions?.length || manageAction ? /* @__PURE__ */ jsxs7("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1605
+ footerActions?.length || manageAction ? /* @__PURE__ */ jsxs8("div", { className: "space-y-0.5 border-t border-border p-1", children: [
1519
1606
  footerActions?.map((action) => {
1520
1607
  const Icon2 = action.icon;
1521
- return /* @__PURE__ */ jsxs7("div", { children: [
1522
- /* @__PURE__ */ jsxs7(
1608
+ return /* @__PURE__ */ jsxs8("div", { children: [
1609
+ /* @__PURE__ */ jsxs8(
1523
1610
  "button",
1524
1611
  {
1525
1612
  type: "button",
@@ -1529,15 +1616,15 @@ function CreatablePicker({
1529
1616
  },
1530
1617
  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
1618
  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 })
1619
+ Icon2 ? /* @__PURE__ */ jsx18(Icon2, { className: "size-3.5 shrink-0" }) : null,
1620
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 truncate", children: action.label })
1534
1621
  ]
1535
1622
  }
1536
1623
  ),
1537
- action.note ? /* @__PURE__ */ jsx16("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1624
+ action.note ? /* @__PURE__ */ jsx18("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
1538
1625
  ] }, action.label);
1539
1626
  }),
1540
- manageAction ? /* @__PURE__ */ jsxs7(
1627
+ manageAction ? /* @__PURE__ */ jsxs8(
1541
1628
  "a",
1542
1629
  {
1543
1630
  href: manageAction.href,
@@ -1546,18 +1633,18 @@ function CreatablePicker({
1546
1633
  onClick: close,
1547
1634
  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
1635
  children: [
1549
- /* @__PURE__ */ jsx16(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1550
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: manageAction.label })
1636
+ /* @__PURE__ */ jsx18(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
1637
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 truncate", children: manageAction.label })
1551
1638
  ]
1552
1639
  }
1553
1640
  ) : null
1554
1641
  ] }) : 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 })
1642
+ lockedNote ? /* @__PURE__ */ jsxs8("div", { className: "space-y-1 border-t border-border p-2", children: [
1643
+ /* @__PURE__ */ jsxs8("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
1644
+ /* @__PURE__ */ jsx18(LockIcon, { className: "mt-px size-3 shrink-0" }),
1645
+ /* @__PURE__ */ jsx18("span", { children: lockedNote })
1559
1646
  ] }),
1560
- lockedAction ? /* @__PURE__ */ jsxs7(
1647
+ lockedAction ? /* @__PURE__ */ jsxs8(
1561
1648
  "button",
1562
1649
  {
1563
1650
  type: "button",
@@ -1567,8 +1654,8 @@ function CreatablePicker({
1567
1654
  },
1568
1655
  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
1656
  children: [
1570
- /* @__PURE__ */ jsx16(PlusIcon, { className: "size-3.5 shrink-0" }),
1571
- /* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: lockedAction.label })
1657
+ /* @__PURE__ */ jsx18(PlusIcon, { className: "size-3.5 shrink-0" }),
1658
+ /* @__PURE__ */ jsx18("span", { className: "min-w-0 truncate", children: lockedAction.label })
1572
1659
  ]
1573
1660
  }
1574
1661
  ) : null
@@ -1583,14 +1670,14 @@ function CreatablePicker({
1583
1670
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
1584
1671
  import * as VisuallyHidden2 from "@radix-ui/react-visually-hidden";
1585
1672
  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";
1673
+ import * as React16 from "react";
1674
+ import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1588
1675
  var Dialog = ({
1589
1676
  children,
1590
1677
  ...props
1591
1678
  }) => {
1592
1679
  const modal = props.modal ?? true;
1593
- return /* @__PURE__ */ jsx17(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx17(DialogPrimitive2.Root, { ...props, modal, children }) });
1680
+ return /* @__PURE__ */ jsx19(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx19(DialogPrimitive2.Root, { ...props, modal, children }) });
1594
1681
  };
1595
1682
  Dialog.displayName = "Dialog";
1596
1683
  var DialogTrigger = DialogPrimitive2.Trigger;
@@ -1600,12 +1687,12 @@ var DialogPortal = ({
1600
1687
  ...props
1601
1688
  }) => {
1602
1689
  const resolved = usePortalContainer(container);
1603
- return /* @__PURE__ */ jsx17(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1690
+ return /* @__PURE__ */ jsx19(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
1604
1691
  };
1605
1692
  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(
1693
+ var DialogContainerContext = React16.createContext(null);
1694
+ var useDialogContainer = () => React16.useContext(DialogContainerContext);
1695
+ var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1609
1696
  DialogPrimitive2.Overlay,
1610
1697
  {
1611
1698
  ref,
@@ -1620,9 +1707,9 @@ var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__P
1620
1707
  }
1621
1708
  ));
1622
1709
  DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
1623
- var DialogContentPrimitive = React14.forwardRef((props, ref) => {
1710
+ var DialogContentPrimitive = React16.forwardRef((props, ref) => {
1624
1711
  const isModal = useRadixDialogModal();
1625
- return /* @__PURE__ */ jsx17(
1712
+ return /* @__PURE__ */ jsx19(
1626
1713
  DialogPrimitive2.Content,
1627
1714
  {
1628
1715
  ...props,
@@ -1635,7 +1722,7 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
1635
1722
  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
1723
  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
1724
  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(
1725
+ var DialogContent = React16.forwardRef(
1639
1726
  ({
1640
1727
  className,
1641
1728
  children,
@@ -1648,10 +1735,10 @@ var DialogContent = React14.forwardRef(
1648
1735
  const isModal = useRadixDialogModal();
1649
1736
  const injectedContainer = usePortalContainer(container);
1650
1737
  const asSheet = mobileSheet && isMobile;
1651
- const [containerEl, setContainerEl] = React14.useState(
1738
+ const [containerEl, setContainerEl] = React16.useState(
1652
1739
  null
1653
1740
  );
1654
- const mergedRef = React14.useCallback(
1741
+ const mergedRef = React16.useCallback(
1655
1742
  (node) => {
1656
1743
  setContainerEl(node);
1657
1744
  if (typeof ref === "function") ref(node);
@@ -1662,9 +1749,9 @@ var DialogContent = React14.forwardRef(
1662
1749
  );
1663
1750
  const hasTitle = treeContainsComponent3(children, DialogTitle) || treeContainsComponent3(children, DialogPrimitive2.Title);
1664
1751
  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(
1752
+ return /* @__PURE__ */ jsxs9(DialogPortal, { container, children: [
1753
+ isModal ? /* @__PURE__ */ jsx19(DialogOverlay, {}) : null,
1754
+ /* @__PURE__ */ jsxs9(
1668
1755
  DialogContentPrimitive,
1669
1756
  {
1670
1757
  ref: mergedRef,
@@ -1682,23 +1769,23 @@ var DialogContent = React14.forwardRef(
1682
1769
  ...hasDescription ? {} : { "aria-describedby": void 0 },
1683
1770
  ...props,
1684
1771
  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(
1772
+ hasTitle ? null : /* @__PURE__ */ jsx19(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx19(DialogPrimitive2.Title, { children: "Dialog" }) }),
1773
+ /* @__PURE__ */ jsx19(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx19(
1687
1774
  PortalContainerProvider,
1688
1775
  {
1689
1776
  container: containerEl ?? injectedContainer ?? null,
1690
1777
  children
1691
1778
  }
1692
1779
  ) }),
1693
- showCloseButton ? /* @__PURE__ */ jsxs8(
1780
+ showCloseButton ? /* @__PURE__ */ jsxs9(
1694
1781
  DialogPrimitive2.Close,
1695
1782
  {
1696
1783
  "data-slot": "dialog-close",
1697
1784
  "aria-label": "Close",
1698
1785
  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
1786
  children: [
1700
- /* @__PURE__ */ jsx17(XIcon, { className: "h-4 w-4" }),
1701
- /* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
1787
+ /* @__PURE__ */ jsx19(XIcon, { className: "h-4 w-4" }),
1788
+ /* @__PURE__ */ jsx19("span", { className: "sr-only", children: "Close" })
1702
1789
  ]
1703
1790
  }
1704
1791
  ) : null
@@ -1712,7 +1799,7 @@ DialogContent.displayName = DialogPrimitive2.Content.displayName;
1712
1799
  var DialogHeader = ({
1713
1800
  className,
1714
1801
  ...props
1715
- }) => /* @__PURE__ */ jsx17(
1802
+ }) => /* @__PURE__ */ jsx19(
1716
1803
  "div",
1717
1804
  {
1718
1805
  "data-slot": "dialog-header",
@@ -1729,7 +1816,7 @@ DialogHeader.displayName = "DialogHeader";
1729
1816
  var DialogFooter = ({
1730
1817
  className,
1731
1818
  ...props
1732
- }) => /* @__PURE__ */ jsx17(
1819
+ }) => /* @__PURE__ */ jsx19(
1733
1820
  "div",
1734
1821
  {
1735
1822
  "data-slot": "dialog-footer",
@@ -1743,7 +1830,7 @@ var DialogFooter = ({
1743
1830
  }
1744
1831
  );
1745
1832
  DialogFooter.displayName = "DialogFooter";
1746
- var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1833
+ var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1747
1834
  DialogPrimitive2.Title,
1748
1835
  {
1749
1836
  ref,
@@ -1753,7 +1840,7 @@ var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PUR
1753
1840
  }
1754
1841
  ));
1755
1842
  DialogTitle.displayName = DialogPrimitive2.Title.displayName;
1756
- var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
1843
+ var DialogDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1757
1844
  DialogPrimitive2.Description,
1758
1845
  {
1759
1846
  ref,
@@ -1766,8 +1853,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
1766
1853
 
1767
1854
  // src/dropdown-menu.tsx
1768
1855
  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";
1856
+ import * as React17 from "react";
1857
+ import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
1771
1858
  var DropdownMenu = DropdownMenuPrimitive.Root;
1772
1859
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1773
1860
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -1778,7 +1865,7 @@ var MENU_SURFACE_CLASS = "z-[10001] min-w-[8rem] max-h-[var(--radix-dropdown-men
1778
1865
  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
1866
  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
1867
  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(
1868
+ var DropdownMenuSubTrigger = React17.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1782
1869
  DropdownMenuPrimitive.SubTrigger,
1783
1870
  {
1784
1871
  ref,
@@ -1791,12 +1878,12 @@ var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, .
1791
1878
  ...props,
1792
1879
  children: [
1793
1880
  children,
1794
- /* @__PURE__ */ jsx18(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1881
+ /* @__PURE__ */ jsx20(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
1795
1882
  ]
1796
1883
  }
1797
1884
  ));
1798
1885
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1799
- var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1886
+ var DropdownMenuSubContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
1800
1887
  DropdownMenuPrimitive.SubContent,
1801
1888
  {
1802
1889
  ref,
@@ -1806,9 +1893,9 @@ var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) =
1806
1893
  }
1807
1894
  ));
1808
1895
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1809
- var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
1896
+ var DropdownMenuContent = React17.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
1810
1897
  const portalContainer = usePortalContainer(container);
1811
- return /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx18(
1898
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx20(
1812
1899
  DropdownMenuPrimitive.Content,
1813
1900
  {
1814
1901
  ref,
@@ -1825,7 +1912,7 @@ var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, conta
1825
1912
  ) });
1826
1913
  });
1827
1914
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1828
- var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1915
+ var DropdownMenuItem = React17.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx20(
1829
1916
  DropdownMenuPrimitive.Item,
1830
1917
  {
1831
1918
  ref,
@@ -1835,7 +1922,7 @@ var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref)
1835
1922
  }
1836
1923
  ));
1837
1924
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1838
- var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1925
+ var DropdownMenuCheckboxItem = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1839
1926
  DropdownMenuPrimitive.CheckboxItem,
1840
1927
  {
1841
1928
  ref,
@@ -1843,13 +1930,13 @@ var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...pro
1843
1930
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
1844
1931
  ...props,
1845
1932
  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" }) }) }),
1933
+ /* @__PURE__ */ jsx20("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx20(CheckIcon, { className: "h-4 w-4" }) }) }),
1847
1934
  children
1848
1935
  ]
1849
1936
  }
1850
1937
  ));
1851
1938
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1852
- var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1939
+ var DropdownMenuRadioItem = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1853
1940
  DropdownMenuPrimitive.RadioItem,
1854
1941
  {
1855
1942
  ref,
@@ -1857,13 +1944,13 @@ var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props
1857
1944
  className: cn(MENU_INDICATOR_ITEM_CLASS, className),
1858
1945
  ...props,
1859
1946
  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" }) }) }),
1947
+ /* @__PURE__ */ jsx20("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx20(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
1861
1948
  children
1862
1949
  ]
1863
1950
  }
1864
1951
  ));
1865
1952
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1866
- var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
1953
+ var DropdownMenuLabel = React17.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx20(
1867
1954
  DropdownMenuPrimitive.Label,
1868
1955
  {
1869
1956
  ref,
@@ -1873,7 +1960,7 @@ var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref)
1873
1960
  }
1874
1961
  ));
1875
1962
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1876
- var DropdownMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1963
+ var DropdownMenuSeparator = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
1877
1964
  DropdownMenuPrimitive.Separator,
1878
1965
  {
1879
1966
  ref,
@@ -1886,7 +1973,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1886
1973
  var DropdownMenuShortcut = ({
1887
1974
  className,
1888
1975
  ...props
1889
- }) => /* @__PURE__ */ jsx18(
1976
+ }) => /* @__PURE__ */ jsx20(
1890
1977
  "span",
1891
1978
  {
1892
1979
  "data-slot": "dropdown-menu-shortcut",
@@ -1898,7 +1985,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1898
1985
 
1899
1986
  // src/editable-label.tsx
1900
1987
  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";
1988
+ import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
1902
1989
  function EditableLabel({
1903
1990
  value,
1904
1991
  onCommit,
@@ -2005,8 +2092,8 @@ function EditableLabel({
2005
2092
  setEditing
2006
2093
  ]);
2007
2094
  if (editing) {
2008
- return /* @__PURE__ */ jsxs10("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2009
- /* @__PURE__ */ jsx19(
2095
+ return /* @__PURE__ */ jsxs11("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
2096
+ /* @__PURE__ */ jsx21(
2010
2097
  "input",
2011
2098
  {
2012
2099
  ref: inputRef,
@@ -2046,12 +2133,12 @@ function EditableLabel({
2046
2133
  )
2047
2134
  }
2048
2135
  ),
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 })
2136
+ busy && /* @__PURE__ */ jsx21(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 animate-spin text-muted-foreground" }),
2137
+ error && /* @__PURE__ */ jsx21("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
2051
2138
  ] });
2052
2139
  }
2053
2140
  if (controlled) return null;
2054
- return /* @__PURE__ */ jsx19(
2141
+ return /* @__PURE__ */ jsx21(
2055
2142
  "button",
2056
2143
  {
2057
2144
  type: "button",
@@ -2085,8 +2172,8 @@ function EditableLabel({
2085
2172
  }
2086
2173
 
2087
2174
  // src/input.tsx
2088
- import * as React16 from "react";
2089
- import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
2175
+ import * as React18 from "react";
2176
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2090
2177
  var getVariantStyles = (variant = "default") => {
2091
2178
  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
2179
  file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
@@ -2114,9 +2201,9 @@ var getVariantStyles = (variant = "default") => {
2114
2201
  return baseStyles;
2115
2202
  }
2116
2203
  };
2117
- var Input = React16.forwardRef(
2204
+ var Input = React18.forwardRef(
2118
2205
  ({ className, type, variant = "default", ...props }, ref) => {
2119
- return /* @__PURE__ */ jsx20(
2206
+ return /* @__PURE__ */ jsx22(
2120
2207
  "input",
2121
2208
  {
2122
2209
  type,
@@ -2128,7 +2215,7 @@ var Input = React16.forwardRef(
2128
2215
  }
2129
2216
  );
2130
2217
  Input.displayName = "Input";
2131
- var EnterInput = React16.forwardRef(
2218
+ var EnterInput = React18.forwardRef(
2132
2219
  ({ onEnter, ...props }, ref) => {
2133
2220
  const handleKeyDown = (e) => {
2134
2221
  if (e.key === "Enter" && onEnter) {
@@ -2136,7 +2223,7 @@ var EnterInput = React16.forwardRef(
2136
2223
  onEnter();
2137
2224
  }
2138
2225
  };
2139
- return /* @__PURE__ */ jsx20(
2226
+ return /* @__PURE__ */ jsx22(
2140
2227
  Input,
2141
2228
  {
2142
2229
  ...props,
@@ -2152,11 +2239,11 @@ var EnterInput = React16.forwardRef(
2152
2239
  }
2153
2240
  );
2154
2241
  EnterInput.displayName = "EnterInput";
2155
- var BasicInput = React16.forwardRef(
2242
+ var BasicInput = React18.forwardRef(
2156
2243
  // `variant` is accepted (prop-compatible with Input) but intentionally
2157
2244
  // unused — and destructured so it never leaks onto the DOM element.
2158
2245
  ({ className, type, variant: _variant = "default", ...props }, ref) => {
2159
- return /* @__PURE__ */ jsx20(
2246
+ return /* @__PURE__ */ jsx22(
2160
2247
  "input",
2161
2248
  {
2162
2249
  type,
@@ -2171,10 +2258,10 @@ var BasicInput = React16.forwardRef(
2171
2258
  }
2172
2259
  );
2173
2260
  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(
2261
+ var InputWithPrefix = React18.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
2262
+ return /* @__PURE__ */ jsxs12("div", { className: cn("relative", wrapperClassName), children: [
2263
+ prefix && /* @__PURE__ */ jsx22("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
2264
+ /* @__PURE__ */ jsx22(
2178
2265
  Input,
2179
2266
  {
2180
2267
  ref,
@@ -2188,9 +2275,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
2188
2275
 
2189
2276
  // src/label.tsx
2190
2277
  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(
2278
+ import * as React19 from "react";
2279
+ import { jsx as jsx23 } from "react/jsx-runtime";
2280
+ var Label3 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
2194
2281
  LabelPrimitive.Root,
2195
2282
  {
2196
2283
  ref,
@@ -2205,7 +2292,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
2205
2292
 
2206
2293
  // src/overflow-toolbar.tsx
2207
2294
  import { useLayoutEffect, useMemo, useRef as useRef3, useState as useState5 } from "react";
2208
- import { Fragment, jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2295
+ import { Fragment, jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
2209
2296
  var GAP_PX = 6;
2210
2297
  var TONE = {
2211
2298
  default: "border border-border bg-background hover:bg-accent text-foreground",
@@ -2227,16 +2314,16 @@ function ToolbarButton({
2227
2314
  action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
2228
2315
  TONE[tone]
2229
2316
  );
2230
- const inner = /* @__PURE__ */ jsxs12(Fragment, { children: [
2231
- /* @__PURE__ */ jsx22(
2317
+ const inner = /* @__PURE__ */ jsxs13(Fragment, { children: [
2318
+ /* @__PURE__ */ jsx24(
2232
2319
  Icon2,
2233
2320
  {
2234
2321
  className: cn("w-3.5 h-3.5 shrink-0", action.running && "animate-spin")
2235
2322
  }
2236
2323
  ),
2237
- showLabel && /* @__PURE__ */ jsx22("span", { children: text })
2324
+ showLabel && /* @__PURE__ */ jsx24("span", { children: text })
2238
2325
  ] });
2239
- const control = action.href && !action.disabled ? /* @__PURE__ */ jsx22(
2326
+ const control = action.href && !action.disabled ? /* @__PURE__ */ jsx24(
2240
2327
  "a",
2241
2328
  {
2242
2329
  href: action.href,
@@ -2246,7 +2333,7 @@ function ToolbarButton({
2246
2333
  "aria-label": action.label,
2247
2334
  children: inner
2248
2335
  }
2249
- ) : /* @__PURE__ */ jsx22(
2336
+ ) : /* @__PURE__ */ jsx24(
2250
2337
  "button",
2251
2338
  {
2252
2339
  type: "button",
@@ -2258,12 +2345,12 @@ function ToolbarButton({
2258
2345
  }
2259
2346
  );
2260
2347
  if (enableTooltip && action.hideLabel && renderTooltip) {
2261
- return /* @__PURE__ */ jsx22(Fragment, { children: renderTooltip(control, action.label) });
2348
+ return /* @__PURE__ */ jsx24(Fragment, { children: renderTooltip(control, action.label) });
2262
2349
  }
2263
2350
  return control;
2264
2351
  }
2265
2352
  function OverflowTrigger({ ariaLabel }) {
2266
- return /* @__PURE__ */ jsx22(
2353
+ return /* @__PURE__ */ jsx24(
2267
2354
  "button",
2268
2355
  {
2269
2356
  type: "button",
@@ -2274,7 +2361,7 @@ function OverflowTrigger({ ariaLabel }) {
2274
2361
  "inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
2275
2362
  "border border-border bg-background hover:bg-accent text-foreground"
2276
2363
  ),
2277
- children: /* @__PURE__ */ jsx22(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2364
+ children: /* @__PURE__ */ jsx24(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
2278
2365
  }
2279
2366
  );
2280
2367
  }
@@ -2334,22 +2421,22 @@ function OverflowToolbar({
2334
2421
  }, [signature, leading != null]);
2335
2422
  const shown = visibleActions.slice(0, visibleCount);
2336
2423
  const hidden = visibleActions.slice(visibleCount);
2337
- return /* @__PURE__ */ jsxs12("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2338
- /* @__PURE__ */ jsxs12(
2424
+ return /* @__PURE__ */ jsxs13("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
2425
+ /* @__PURE__ */ jsxs13(
2339
2426
  "div",
2340
2427
  {
2341
2428
  ref: ghostRef,
2342
2429
  "aria-hidden": true,
2343
2430
  className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
2344
2431
  children: [
2345
- visibleActions.map((a) => /* @__PURE__ */ jsx22(ToolbarButton, { action: a }, a.id)),
2346
- /* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2432
+ visibleActions.map((a) => /* @__PURE__ */ jsx24(ToolbarButton, { action: a }, a.id)),
2433
+ /* @__PURE__ */ jsx24(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2347
2434
  ]
2348
2435
  }
2349
2436
  ),
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(
2437
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center justify-end gap-1.5", children: [
2438
+ leading != null && /* @__PURE__ */ jsx24("span", { ref: leadingRef, className: "shrink-0", children: leading }),
2439
+ shown.map((a) => /* @__PURE__ */ jsx24(
2353
2440
  ToolbarButton,
2354
2441
  {
2355
2442
  action: a,
@@ -2360,7 +2447,7 @@ function OverflowToolbar({
2360
2447
  )),
2361
2448
  hidden.length > 0 && renderOverflowMenu({
2362
2449
  actions: hidden,
2363
- trigger: /* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2450
+ trigger: /* @__PURE__ */ jsx24(OverflowTrigger, { ariaLabel: overflowAriaLabel })
2364
2451
  })
2365
2452
  ] })
2366
2453
  ] });
@@ -2368,20 +2455,20 @@ function OverflowToolbar({
2368
2455
 
2369
2456
  // src/progress.tsx
2370
2457
  import * as ProgressPrimitive from "@radix-ui/react-progress";
2371
- import * as React19 from "react";
2372
- import { jsx as jsx23 } from "react/jsx-runtime";
2458
+ import * as React21 from "react";
2459
+ import { jsx as jsx25 } from "react/jsx-runtime";
2373
2460
  var PROGRESS_TONES = {
2374
2461
  default: "bg-primary",
2375
2462
  success: "bg-success",
2376
2463
  warning: "bg-warning",
2377
2464
  destructive: "bg-destructive"
2378
2465
  };
2379
- var Progress = React19.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2466
+ var Progress = React21.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
2380
2467
  const { value, max } = props;
2381
2468
  const ceiling = max ?? 100;
2382
2469
  const isIndeterminate = value === null || value === void 0;
2383
2470
  const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
2384
- return /* @__PURE__ */ jsx23(
2471
+ return /* @__PURE__ */ jsx25(
2385
2472
  ProgressPrimitive.Root,
2386
2473
  {
2387
2474
  ref,
@@ -2391,7 +2478,7 @@ var Progress = React19.forwardRef(({ className, tone = "default", indicatorClass
2391
2478
  className
2392
2479
  ),
2393
2480
  ...props,
2394
- children: /* @__PURE__ */ jsx23(
2481
+ children: /* @__PURE__ */ jsx25(
2395
2482
  ProgressPrimitive.Indicator,
2396
2483
  {
2397
2484
  "data-slot": "progress-indicator",
@@ -2411,9 +2498,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
2411
2498
 
2412
2499
  // src/scroll-area.tsx
2413
2500
  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(
2501
+ import * as React22 from "react";
2502
+ import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
2503
+ var ScrollArea = React22.forwardRef(
2417
2504
  ({
2418
2505
  className,
2419
2506
  children,
@@ -2422,7 +2509,7 @@ var ScrollArea = React20.forwardRef(
2422
2509
  scrollBarClassName,
2423
2510
  orientation = "vertical",
2424
2511
  ...props
2425
- }, ref) => /* @__PURE__ */ jsxs13(
2512
+ }, ref) => /* @__PURE__ */ jsxs14(
2426
2513
  ScrollAreaPrimitive.Root,
2427
2514
  {
2428
2515
  ref,
@@ -2430,7 +2517,7 @@ var ScrollArea = React20.forwardRef(
2430
2517
  className: cn("relative overflow-hidden", className),
2431
2518
  ...props,
2432
2519
  children: [
2433
- /* @__PURE__ */ jsx24(
2520
+ /* @__PURE__ */ jsx26(
2434
2521
  ScrollAreaPrimitive.Viewport,
2435
2522
  {
2436
2523
  ref: viewportRef,
@@ -2439,14 +2526,14 @@ var ScrollArea = React20.forwardRef(
2439
2526
  children
2440
2527
  }
2441
2528
  ),
2442
- /* @__PURE__ */ jsx24(ScrollBar, { orientation, className: scrollBarClassName }),
2443
- /* @__PURE__ */ jsx24(ScrollAreaPrimitive.Corner, {})
2529
+ /* @__PURE__ */ jsx26(ScrollBar, { orientation, className: scrollBarClassName }),
2530
+ /* @__PURE__ */ jsx26(ScrollAreaPrimitive.Corner, {})
2444
2531
  ]
2445
2532
  }
2446
2533
  )
2447
2534
  );
2448
2535
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
2449
- var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx24(
2536
+ var ScrollBar = React22.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx26(
2450
2537
  ScrollAreaPrimitive.ScrollAreaScrollbar,
2451
2538
  {
2452
2539
  ref,
@@ -2459,7 +2546,7 @@ var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...pr
2459
2546
  className
2460
2547
  ),
2461
2548
  ...props,
2462
- children: /* @__PURE__ */ jsx24(
2549
+ children: /* @__PURE__ */ jsx26(
2463
2550
  ScrollAreaPrimitive.ScrollAreaThumb,
2464
2551
  {
2465
2552
  "data-slot": "scroll-area-thumb",
@@ -2471,7 +2558,7 @@ var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...pr
2471
2558
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2472
2559
 
2473
2560
  // src/score-ring.tsx
2474
- import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2561
+ import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
2475
2562
  var DEFAULT_SCORE_THRESHOLDS = {
2476
2563
  good: 75,
2477
2564
  warning: 50
@@ -2502,7 +2589,7 @@ function ScoreRing({
2502
2589
  const circumference = 2 * Math.PI * radius;
2503
2590
  const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
2504
2591
  const dashOffset = circumference * (1 - boundedPct / 100);
2505
- return /* @__PURE__ */ jsxs14(
2592
+ return /* @__PURE__ */ jsxs15(
2506
2593
  "div",
2507
2594
  {
2508
2595
  className: cn(
@@ -2513,8 +2600,8 @@ function ScoreRing({
2513
2600
  role: "img",
2514
2601
  "aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
2515
2602
  children: [
2516
- /* @__PURE__ */ jsxs14("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2517
- /* @__PURE__ */ jsx25(
2603
+ /* @__PURE__ */ jsxs15("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
2604
+ /* @__PURE__ */ jsx27(
2518
2605
  "circle",
2519
2606
  {
2520
2607
  cx: "50",
@@ -2525,7 +2612,7 @@ function ScoreRing({
2525
2612
  fill: "none"
2526
2613
  }
2527
2614
  ),
2528
- pct !== null ? /* @__PURE__ */ jsx25(
2615
+ pct !== null ? /* @__PURE__ */ jsx27(
2529
2616
  "circle",
2530
2617
  {
2531
2618
  cx: "50",
@@ -2544,8 +2631,8 @@ function ScoreRing({
2544
2631
  }
2545
2632
  ) : null
2546
2633
  ] }),
2547
- /* @__PURE__ */ jsxs14("div", { className: "absolute flex flex-col items-center justify-center", children: [
2548
- /* @__PURE__ */ jsx25(
2634
+ /* @__PURE__ */ jsxs15("div", { className: "absolute flex flex-col items-center justify-center", children: [
2635
+ /* @__PURE__ */ jsx27(
2549
2636
  "span",
2550
2637
  {
2551
2638
  className: cn(
@@ -2555,7 +2642,7 @@ function ScoreRing({
2555
2642
  children: pct === null ? "\u2014" : `${pct}${suffix}`
2556
2643
  }
2557
2644
  ),
2558
- label ? /* @__PURE__ */ jsx25("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2645
+ label ? /* @__PURE__ */ jsx27("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
2559
2646
  ] })
2560
2647
  ]
2561
2648
  }
@@ -2563,7 +2650,7 @@ function ScoreRing({
2563
2650
  }
2564
2651
 
2565
2652
  // src/segmented-control.tsx
2566
- import { jsx as jsx26 } from "react/jsx-runtime";
2653
+ import { jsx as jsx28 } from "react/jsx-runtime";
2567
2654
  function SegmentedControl({
2568
2655
  value,
2569
2656
  onValueChange,
@@ -2578,7 +2665,7 @@ function SegmentedControl({
2578
2665
  md: "h-9 text-sm",
2579
2666
  lg: "h-10 text-base"
2580
2667
  };
2581
- return /* @__PURE__ */ jsx26(
2668
+ return /* @__PURE__ */ jsx28(
2582
2669
  "div",
2583
2670
  {
2584
2671
  className: cn(
@@ -2589,7 +2676,7 @@ function SegmentedControl({
2589
2676
  role: "tablist",
2590
2677
  children: data.map((option) => {
2591
2678
  const isActive = value === option.value;
2592
- return /* @__PURE__ */ jsx26(
2679
+ return /* @__PURE__ */ jsx28(
2593
2680
  "button",
2594
2681
  {
2595
2682
  type: "button",
@@ -2616,8 +2703,8 @@ function SegmentedControl({
2616
2703
  // src/select.tsx
2617
2704
  import * as SelectPrimitive from "@radix-ui/react-select";
2618
2705
  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";
2706
+ import * as React23 from "react";
2707
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
2621
2708
  var Select = SelectPrimitive.Root;
2622
2709
  var SelectGroup = SelectPrimitive.Group;
2623
2710
  var SelectValue = SelectPrimitive.Value;
@@ -2636,7 +2723,7 @@ var selectTriggerVariants = cva4(
2636
2723
  }
2637
2724
  }
2638
2725
  );
2639
- var SelectTrigger = React21.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs15(
2726
+ var SelectTrigger = React23.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs16(
2640
2727
  SelectPrimitive.Trigger,
2641
2728
  {
2642
2729
  ref,
@@ -2644,12 +2731,12 @@ var SelectTrigger = React21.forwardRef(({ className, children, hideArrow = false
2644
2731
  ...props,
2645
2732
  children: [
2646
2733
  children,
2647
- !hideArrow && /* @__PURE__ */ jsx27(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
2734
+ !hideArrow && /* @__PURE__ */ jsx29(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx29(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
2648
2735
  ]
2649
2736
  }
2650
2737
  ));
2651
2738
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
2652
- var SelectScrollUpButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2739
+ var SelectScrollUpButton = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2653
2740
  SelectPrimitive.ScrollUpButton,
2654
2741
  {
2655
2742
  ref,
@@ -2658,11 +2745,11 @@ var SelectScrollUpButton = React21.forwardRef(({ className, ...props }, ref) =>
2658
2745
  className
2659
2746
  ),
2660
2747
  ...props,
2661
- children: /* @__PURE__ */ jsx27(RadixChevronUpIcon, {})
2748
+ children: /* @__PURE__ */ jsx29(RadixChevronUpIcon, {})
2662
2749
  }
2663
2750
  ));
2664
2751
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2665
- var SelectScrollDownButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2752
+ var SelectScrollDownButton = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2666
2753
  SelectPrimitive.ScrollDownButton,
2667
2754
  {
2668
2755
  ref,
@@ -2671,13 +2758,13 @@ var SelectScrollDownButton = React21.forwardRef(({ className, ...props }, ref) =
2671
2758
  className
2672
2759
  ),
2673
2760
  ...props,
2674
- children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, {})
2761
+ children: /* @__PURE__ */ jsx29(RadixChevronDownIcon, {})
2675
2762
  }
2676
2763
  ));
2677
2764
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2678
- var SelectContent = React21.forwardRef(({ className, children, position = "popper", container, ...props }, ref) => {
2765
+ var SelectContent = React23.forwardRef(({ className, children, position = "popper", container, ...props }, ref) => {
2679
2766
  const portalContainer = usePortalContainer(container);
2680
- return /* @__PURE__ */ jsx27(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs15(
2767
+ return /* @__PURE__ */ jsx29(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs16(
2681
2768
  SelectPrimitive.Content,
2682
2769
  {
2683
2770
  ref,
@@ -2689,8 +2776,8 @@ var SelectContent = React21.forwardRef(({ className, children, position = "poppe
2689
2776
  position,
2690
2777
  ...props,
2691
2778
  children: [
2692
- /* @__PURE__ */ jsx27(SelectScrollUpButton, {}),
2693
- /* @__PURE__ */ jsx27(
2779
+ /* @__PURE__ */ jsx29(SelectScrollUpButton, {}),
2780
+ /* @__PURE__ */ jsx29(
2694
2781
  SelectPrimitive.Viewport,
2695
2782
  {
2696
2783
  className: cn(
@@ -2700,13 +2787,13 @@ var SelectContent = React21.forwardRef(({ className, children, position = "poppe
2700
2787
  children
2701
2788
  }
2702
2789
  ),
2703
- /* @__PURE__ */ jsx27(SelectScrollDownButton, {})
2790
+ /* @__PURE__ */ jsx29(SelectScrollDownButton, {})
2704
2791
  ]
2705
2792
  }
2706
2793
  ) });
2707
2794
  });
2708
2795
  SelectContent.displayName = SelectPrimitive.Content.displayName;
2709
- var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2796
+ var SelectLabel = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2710
2797
  SelectPrimitive.Label,
2711
2798
  {
2712
2799
  ref,
@@ -2715,7 +2802,7 @@ var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
2715
2802
  }
2716
2803
  ));
2717
2804
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
2718
- var SelectItem = React21.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs15(
2805
+ var SelectItem = React23.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs16(
2719
2806
  SelectPrimitive.Item,
2720
2807
  {
2721
2808
  ref,
@@ -2726,14 +2813,14 @@ var SelectItem = React21.forwardRef(({ className, children, description, ...prop
2726
2813
  ),
2727
2814
  ...props,
2728
2815
  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
2816
+ /* @__PURE__ */ jsx29("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CheckIcon, { className: "h-4 w-4" }) }) }),
2817
+ /* @__PURE__ */ jsx29(SelectPrimitive.ItemText, { children }),
2818
+ description ? /* @__PURE__ */ jsx29("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
2732
2819
  ]
2733
2820
  }
2734
2821
  ));
2735
2822
  SelectItem.displayName = SelectPrimitive.Item.displayName;
2736
- var SelectSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2823
+ var SelectSeparator = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2737
2824
  SelectPrimitive.Separator,
2738
2825
  {
2739
2826
  ref,
@@ -2745,9 +2832,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2745
2832
 
2746
2833
  // src/separator.tsx
2747
2834
  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(
2835
+ import * as React24 from "react";
2836
+ import { jsx as jsx30 } from "react/jsx-runtime";
2837
+ var Separator4 = React24.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx30(
2751
2838
  SeparatorPrimitive.Root,
2752
2839
  {
2753
2840
  ref,
@@ -2767,11 +2854,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
2767
2854
  import * as SheetPrimitive from "@radix-ui/react-dialog";
2768
2855
  import { treeContainsComponent as treeContainsComponent4 } from "@ai-matrx/kit/react-tree";
2769
2856
  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) => {
2857
+ import * as React25 from "react";
2858
+ import { jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
2859
+ var SheetContentBase = React25.forwardRef(({ ...props }, ref) => {
2773
2860
  const isModal = useRadixDialogModal();
2774
- return /* @__PURE__ */ jsx29(
2861
+ return /* @__PURE__ */ jsx31(
2775
2862
  SheetPrimitive.Content,
2776
2863
  {
2777
2864
  ...props,
@@ -2781,15 +2868,15 @@ var SheetContentBase = React23.forwardRef(({ ...props }, ref) => {
2781
2868
  );
2782
2869
  });
2783
2870
  SheetContentBase.displayName = "SheetContentBase";
2784
- var Sheet = React23.forwardRef(({ children, ...props }, _ref) => {
2871
+ var Sheet = React25.forwardRef(({ children, ...props }, _ref) => {
2785
2872
  const modal = props.modal ?? true;
2786
- return /* @__PURE__ */ jsx29(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx29(SheetPrimitive.Root, { ...props, modal, children }) });
2873
+ return /* @__PURE__ */ jsx31(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx31(SheetPrimitive.Root, { ...props, modal, children }) });
2787
2874
  });
2788
2875
  Sheet.displayName = "Sheet";
2789
2876
  var SheetTrigger = SheetPrimitive.Trigger;
2790
2877
  var SheetClose = SheetPrimitive.Close;
2791
2878
  var SheetPortal = SheetPrimitive.Portal;
2792
- var SheetOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2879
+ var SheetOverlay = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
2793
2880
  SheetPrimitive.Overlay,
2794
2881
  {
2795
2882
  className: cn(
@@ -2818,7 +2905,7 @@ var sheetVariants = cva5(
2818
2905
  }
2819
2906
  }
2820
2907
  );
2821
- var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2908
+ var SheetDescription = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
2822
2909
  SheetPrimitive.Description,
2823
2910
  {
2824
2911
  ref,
@@ -2827,7 +2914,7 @@ var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @
2827
2914
  }
2828
2915
  ));
2829
2916
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
2830
- var SheetContent = React23.forwardRef(
2917
+ var SheetContent = React25.forwardRef(
2831
2918
  ({
2832
2919
  side = "right",
2833
2920
  className,
@@ -2838,9 +2925,9 @@ var SheetContent = React23.forwardRef(
2838
2925
  ...props
2839
2926
  }, ref) => {
2840
2927
  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(
2928
+ return /* @__PURE__ */ jsxs17(SheetPortal, { children: [
2929
+ !hideOverlay && /* @__PURE__ */ jsx31(SheetOverlay, { className: overlayClassName }),
2930
+ /* @__PURE__ */ jsxs17(
2844
2931
  SheetContentBase,
2845
2932
  {
2846
2933
  ref,
@@ -2848,9 +2935,9 @@ var SheetContent = React23.forwardRef(
2848
2935
  ...hasDescription ? {} : { "aria-describedby": void 0 },
2849
2936
  ...props,
2850
2937
  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" })
2938
+ !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: [
2939
+ /* @__PURE__ */ jsx31(Cross2Icon, { className: "h-4 w-4" }),
2940
+ /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "Close" })
2854
2941
  ] }),
2855
2942
  children
2856
2943
  ]
@@ -2863,7 +2950,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
2863
2950
  var SheetHeader = ({
2864
2951
  className,
2865
2952
  ...props
2866
- }) => /* @__PURE__ */ jsx29(
2953
+ }) => /* @__PURE__ */ jsx31(
2867
2954
  "div",
2868
2955
  {
2869
2956
  className: cn(
@@ -2877,7 +2964,7 @@ SheetHeader.displayName = "SheetHeader";
2877
2964
  var SheetFooter = ({
2878
2965
  className,
2879
2966
  ...props
2880
- }) => /* @__PURE__ */ jsx29(
2967
+ }) => /* @__PURE__ */ jsx31(
2881
2968
  "div",
2882
2969
  {
2883
2970
  className: cn(
@@ -2888,7 +2975,7 @@ var SheetFooter = ({
2888
2975
  }
2889
2976
  );
2890
2977
  SheetFooter.displayName = "SheetFooter";
2891
- var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2978
+ var SheetTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(
2892
2979
  SheetPrimitive.Title,
2893
2980
  {
2894
2981
  ref,
@@ -2899,12 +2986,12 @@ var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
2899
2986
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
2900
2987
 
2901
2988
  // src/skeleton.tsx
2902
- import { jsx as jsx30 } from "react/jsx-runtime";
2989
+ import { jsx as jsx32 } from "react/jsx-runtime";
2903
2990
  function Skeleton({
2904
2991
  className,
2905
2992
  ...props
2906
2993
  }) {
2907
- return /* @__PURE__ */ jsx30(
2994
+ return /* @__PURE__ */ jsx32(
2908
2995
  "div",
2909
2996
  {
2910
2997
  className: cn("animate-pulse rounded-md bg-primary/10", className),
@@ -2915,8 +3002,8 @@ function Skeleton({
2915
3002
 
2916
3003
  // src/switch.tsx
2917
3004
  import * as SwitchPrimitives from "@radix-ui/react-switch";
2918
- import * as React24 from "react";
2919
- import { jsx as jsx31 } from "react/jsx-runtime";
3005
+ import * as React26 from "react";
3006
+ import { jsx as jsx33 } from "react/jsx-runtime";
2920
3007
  var SWITCH_SIZES = {
2921
3008
  sm: {
2922
3009
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -2927,7 +3014,7 @@ var SWITCH_SIZES = {
2927
3014
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
2928
3015
  }
2929
3016
  };
2930
- var Switch = React24.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx31(
3017
+ var Switch = React26.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx33(
2931
3018
  SwitchPrimitives.Root,
2932
3019
  {
2933
3020
  ref,
@@ -2938,7 +3025,7 @@ var Switch = React24.forwardRef(({ className, size = "md", ...props }, ref) => /
2938
3025
  className
2939
3026
  ),
2940
3027
  ...props,
2941
- children: /* @__PURE__ */ jsx31(
3028
+ children: /* @__PURE__ */ jsx33(
2942
3029
  SwitchPrimitives.Thumb,
2943
3030
  {
2944
3031
  "data-slot": "switch-thumb",
@@ -2954,7 +3041,7 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
2954
3041
 
2955
3042
  // src/tabbed-bottom-sheet.tsx
2956
3043
  import { useState as useState6 } from "react";
2957
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
3044
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
2958
3045
  function TabbedBottomSheet({
2959
3046
  open,
2960
3047
  onOpenChange,
@@ -2968,15 +3055,15 @@ function TabbedBottomSheet({
2968
3055
  if (open) setSelectedTabId(null);
2969
3056
  }
2970
3057
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
2971
- return /* @__PURE__ */ jsx32(
3058
+ return /* @__PURE__ */ jsx34(
2972
3059
  BottomSheet,
2973
3060
  {
2974
3061
  open,
2975
3062
  onOpenChange,
2976
3063
  title,
2977
3064
  size: "full",
2978
- children: /* @__PURE__ */ jsxs17("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
2979
- /* @__PURE__ */ jsx32(
3065
+ children: /* @__PURE__ */ jsxs18("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3066
+ /* @__PURE__ */ jsx34(
2980
3067
  BottomSheetHeader,
2981
3068
  {
2982
3069
  title: selectedTab ? selectedTab.label : title,
@@ -2984,19 +3071,19 @@ function TabbedBottomSheet({
2984
3071
  onBack: () => setSelectedTabId(null)
2985
3072
  }
2986
3073
  ),
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) => {
3074
+ selectedTab ? /* @__PURE__ */ jsx34("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx34(BottomSheetBody, { children: /* @__PURE__ */ jsx34("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
2988
3075
  const Icon2 = tab.icon;
2989
- return /* @__PURE__ */ jsx32("li", { children: /* @__PURE__ */ jsxs17(
3076
+ return /* @__PURE__ */ jsx34("li", { children: /* @__PURE__ */ jsxs18(
2990
3077
  "button",
2991
3078
  {
2992
3079
  type: "button",
2993
3080
  onClick: () => setSelectedTabId(tab.id),
2994
3081
  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
3082
  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 }),
3083
+ Icon2 ? /* @__PURE__ */ jsx34(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3084
+ /* @__PURE__ */ jsx34("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
2998
3085
  tab.trailing,
2999
- /* @__PURE__ */ jsx32(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3086
+ /* @__PURE__ */ jsx34(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3000
3087
  ]
3001
3088
  }
3002
3089
  ) }, tab.id);
@@ -3007,19 +3094,19 @@ function TabbedBottomSheet({
3007
3094
  }
3008
3095
 
3009
3096
  // src/table.tsx
3010
- import * as React25 from "react";
3011
- import { jsx as jsx33 } from "react/jsx-runtime";
3097
+ import * as React27 from "react";
3098
+ import { jsx as jsx35 } from "react/jsx-runtime";
3012
3099
  var TABLE_SIZES = {
3013
3100
  sm: { head: "px-2", cell: "p-2" },
3014
3101
  md: { head: "px-3", cell: "p-3" }
3015
3102
  };
3016
- var TableSizeContext = React25.createContext("md");
3103
+ var TableSizeContext = React27.createContext("md");
3017
3104
  function useTableSize() {
3018
- return React25.useContext(TableSizeContext);
3105
+ return React27.useContext(TableSizeContext);
3019
3106
  }
3020
- var Table = React25.forwardRef(
3107
+ var Table = React27.forwardRef(
3021
3108
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
3022
- const table = /* @__PURE__ */ jsx33(
3109
+ const table = /* @__PURE__ */ jsx35(
3023
3110
  "table",
3024
3111
  {
3025
3112
  ref,
@@ -3029,7 +3116,7 @@ var Table = React25.forwardRef(
3029
3116
  ...props
3030
3117
  }
3031
3118
  );
3032
- return /* @__PURE__ */ jsx33(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx33(
3119
+ return /* @__PURE__ */ jsx35(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx35(
3033
3120
  "div",
3034
3121
  {
3035
3122
  "data-slot": "table-wrapper",
@@ -3040,7 +3127,7 @@ var Table = React25.forwardRef(
3040
3127
  }
3041
3128
  );
3042
3129
  Table.displayName = "Table";
3043
- var TableHeader = React25.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx33(
3130
+ var TableHeader = React27.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx35(
3044
3131
  "thead",
3045
3132
  {
3046
3133
  ref,
@@ -3054,7 +3141,7 @@ var TableHeader = React25.forwardRef(({ className, sticky = false, ...props }, r
3054
3141
  }
3055
3142
  ));
3056
3143
  TableHeader.displayName = "TableHeader";
3057
- var TableBody = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3144
+ var TableBody = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3058
3145
  "tbody",
3059
3146
  {
3060
3147
  ref,
@@ -3064,7 +3151,7 @@ var TableBody = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3064
3151
  }
3065
3152
  ));
3066
3153
  TableBody.displayName = "TableBody";
3067
- var TableFooter = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3154
+ var TableFooter = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3068
3155
  "tfoot",
3069
3156
  {
3070
3157
  ref,
@@ -3077,7 +3164,7 @@ var TableFooter = React25.forwardRef(({ className, ...props }, ref) => /* @__PUR
3077
3164
  }
3078
3165
  ));
3079
3166
  TableFooter.displayName = "TableFooter";
3080
- var TableRow = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3167
+ var TableRow = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3081
3168
  "tr",
3082
3169
  {
3083
3170
  ref,
@@ -3090,9 +3177,9 @@ var TableRow = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3090
3177
  }
3091
3178
  ));
3092
3179
  TableRow.displayName = "TableRow";
3093
- var TableHead = React25.forwardRef(({ className, ...props }, ref) => {
3180
+ var TableHead = React27.forwardRef(({ className, ...props }, ref) => {
3094
3181
  const size = useTableSize();
3095
- return /* @__PURE__ */ jsx33(
3182
+ return /* @__PURE__ */ jsx35(
3096
3183
  "th",
3097
3184
  {
3098
3185
  ref,
@@ -3107,9 +3194,9 @@ var TableHead = React25.forwardRef(({ className, ...props }, ref) => {
3107
3194
  );
3108
3195
  });
3109
3196
  TableHead.displayName = "TableHead";
3110
- var TableCell = React25.forwardRef(({ className, ...props }, ref) => {
3197
+ var TableCell = React27.forwardRef(({ className, ...props }, ref) => {
3111
3198
  const size = useTableSize();
3112
- return /* @__PURE__ */ jsx33(
3199
+ return /* @__PURE__ */ jsx35(
3113
3200
  "td",
3114
3201
  {
3115
3202
  ref,
@@ -3124,7 +3211,7 @@ var TableCell = React25.forwardRef(({ className, ...props }, ref) => {
3124
3211
  );
3125
3212
  });
3126
3213
  TableCell.displayName = "TableCell";
3127
- var TableCaption = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3214
+ var TableCaption = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3128
3215
  "caption",
3129
3216
  {
3130
3217
  ref,
@@ -3137,11 +3224,11 @@ TableCaption.displayName = "TableCaption";
3137
3224
 
3138
3225
  // src/tabs.tsx
3139
3226
  import * as TabsPrimitive from "@radix-ui/react-tabs";
3140
- import * as React26 from "react";
3141
- import { jsx as jsx34 } from "react/jsx-runtime";
3227
+ import * as React28 from "react";
3228
+ import { jsx as jsx36 } from "react/jsx-runtime";
3142
3229
  var Tabs = TabsPrimitive.Root;
3143
3230
  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(
3231
+ var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3145
3232
  TabsPrimitive.List,
3146
3233
  {
3147
3234
  ref,
@@ -3154,7 +3241,7 @@ var TabsList = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3154
3241
  }
3155
3242
  ));
3156
3243
  TabsList.displayName = TabsPrimitive.List.displayName;
3157
- var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3244
+ var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3158
3245
  TabsPrimitive.Trigger,
3159
3246
  {
3160
3247
  ref,
@@ -3168,7 +3255,7 @@ var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
3168
3255
  }
3169
3256
  ));
3170
3257
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3171
- var TabsTriggerCore = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3258
+ var TabsTriggerCore = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3172
3259
  TabsPrimitive.Trigger,
3173
3260
  {
3174
3261
  ref,
@@ -3178,7 +3265,7 @@ var TabsTriggerCore = React26.forwardRef(({ className, ...props }, ref) => /* @_
3178
3265
  }
3179
3266
  ));
3180
3267
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
3181
- var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3268
+ var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3182
3269
  TabsPrimitive.Content,
3183
3270
  {
3184
3271
  ref,
@@ -3194,8 +3281,8 @@ var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
3194
3281
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3195
3282
 
3196
3283
  // src/textarea.tsx
3197
- import * as React27 from "react";
3198
- import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
3284
+ import * as React29 from "react";
3285
+ import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
3199
3286
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
3200
3287
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
3201
3288
  function getStretchClasses(className) {
@@ -3208,7 +3295,7 @@ function getStretchClasses(className) {
3208
3295
  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
3296
  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
3297
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3211
- React27.useEffect(() => {
3298
+ React29.useEffect(() => {
3212
3299
  if (!autoGrow || !ref.current) return;
3213
3300
  const textarea = ref.current;
3214
3301
  textarea.style.height = "auto";
@@ -3224,8 +3311,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3224
3311
  }, [value, autoGrow, minHeight, maxHeight, ref]);
3225
3312
  }
3226
3313
  function useMergedTextareaRef(forwarded) {
3227
- const internal = React27.useRef(null);
3228
- const callback = React27.useCallback(
3314
+ const internal = React29.useRef(null);
3315
+ const callback = React29.useCallback(
3229
3316
  (node) => {
3230
3317
  internal.current = node;
3231
3318
  if (typeof forwarded === "function") forwarded(node);
@@ -3242,13 +3329,13 @@ function boxStyle(minHeight, maxHeight) {
3242
3329
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
3243
3330
  };
3244
3331
  }
3245
- var Textarea = React27.forwardRef(
3332
+ var Textarea = React29.forwardRef(
3246
3333
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
3247
3334
  const { ref, callback } = useMergedTextareaRef(forwarded);
3248
3335
  const stretchClasses = getStretchClasses(className);
3249
3336
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
3250
3337
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3251
- const textarea = /* @__PURE__ */ jsx35(
3338
+ const textarea = /* @__PURE__ */ jsx37(
3252
3339
  "textarea",
3253
3340
  {
3254
3341
  ref: callback,
@@ -3264,15 +3351,15 @@ var Textarea = React27.forwardRef(
3264
3351
  }
3265
3352
  );
3266
3353
  if (!needsWrapper) return textarea;
3267
- return /* @__PURE__ */ jsx35("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3354
+ return /* @__PURE__ */ jsx37("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3268
3355
  }
3269
3356
  );
3270
3357
  Textarea.displayName = "Textarea";
3271
- var BasicTextarea = React27.forwardRef(
3358
+ var BasicTextarea = React29.forwardRef(
3272
3359
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
3273
3360
  const { ref, callback } = useMergedTextareaRef(forwarded);
3274
3361
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3275
- return /* @__PURE__ */ jsx35(
3362
+ return /* @__PURE__ */ jsx37(
3276
3363
  "textarea",
3277
3364
  {
3278
3365
  ref: callback,
@@ -3290,7 +3377,7 @@ var BasicTextarea = React27.forwardRef(
3290
3377
  }
3291
3378
  );
3292
3379
  BasicTextarea.displayName = "BasicTextarea";
3293
- var TextareaWithPrefix = React27.forwardRef(
3380
+ var TextareaWithPrefix = React29.forwardRef(
3294
3381
  ({
3295
3382
  prefix,
3296
3383
  className,
@@ -3302,13 +3389,13 @@ var TextareaWithPrefix = React27.forwardRef(
3302
3389
  }, forwarded) => {
3303
3390
  const { ref, callback } = useMergedTextareaRef(forwarded);
3304
3391
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3305
- return /* @__PURE__ */ jsxs18(
3392
+ return /* @__PURE__ */ jsxs19(
3306
3393
  "div",
3307
3394
  {
3308
3395
  className: cn("relative", getStretchClasses(className), wrapperClassName),
3309
3396
  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(
3397
+ prefix ? /* @__PURE__ */ jsx37("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
3398
+ /* @__PURE__ */ jsx37(
3312
3399
  "textarea",
3313
3400
  {
3314
3401
  ref: callback,
@@ -3387,13 +3474,13 @@ function useScrollFade() {
3387
3474
 
3388
3475
  // src/hover-card.tsx
3389
3476
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3390
- import * as React28 from "react";
3391
- import { jsx as jsx36 } from "react/jsx-runtime";
3477
+ import * as React30 from "react";
3478
+ import { jsx as jsx38 } from "react/jsx-runtime";
3392
3479
  var HoverCard = HoverCardPrimitive.Root;
3393
3480
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
3394
- var HoverCardContent = React28.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
3481
+ var HoverCardContent = React30.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
3395
3482
  const resolved = usePortalContainer(container);
3396
- return /* @__PURE__ */ jsx36(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx36(
3483
+ return /* @__PURE__ */ jsx38(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx38(
3397
3484
  HoverCardPrimitive.Content,
3398
3485
  {
3399
3486
  ref,
@@ -3412,9 +3499,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
3412
3499
 
3413
3500
  // src/radio-group.tsx
3414
3501
  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");
3502
+ import * as React31 from "react";
3503
+ import { jsx as jsx39 } from "react/jsx-runtime";
3504
+ var RadioGroupSizeContext = React31.createContext("md");
3418
3505
  var CONTROL_CLASSES = {
3419
3506
  sm: "h-3.5 w-3.5",
3420
3507
  md: "h-4 w-4",
@@ -3425,7 +3512,7 @@ var DOT_CLASSES = {
3425
3512
  md: "h-1.5 w-1.5",
3426
3513
  lg: "h-2 w-2"
3427
3514
  };
3428
- var RadioGroup3 = React29.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx37(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx37(
3515
+ var RadioGroup3 = React31.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx39(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx39(
3429
3516
  RadioGroupPrimitive.Root,
3430
3517
  {
3431
3518
  ref,
@@ -3435,10 +3522,10 @@ var RadioGroup3 = React29.forwardRef(({ className, size = "md", ...props }, ref)
3435
3522
  }
3436
3523
  ) }));
3437
3524
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
3438
- var RadioGroupItem = React29.forwardRef(({ className, size, ...props }, ref) => {
3439
- const groupSize = React29.useContext(RadioGroupSizeContext);
3525
+ var RadioGroupItem = React31.forwardRef(({ className, size, ...props }, ref) => {
3526
+ const groupSize = React31.useContext(RadioGroupSizeContext);
3440
3527
  const resolved = size ?? groupSize;
3441
- return /* @__PURE__ */ jsx37(
3528
+ return /* @__PURE__ */ jsx39(
3442
3529
  RadioGroupPrimitive.Item,
3443
3530
  {
3444
3531
  ref,
@@ -3455,7 +3542,7 @@ var RadioGroupItem = React29.forwardRef(({ className, size, ...props }, ref) =>
3455
3542
  className
3456
3543
  ),
3457
3544
  ...props,
3458
- children: /* @__PURE__ */ jsx37(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx37(
3545
+ children: /* @__PURE__ */ jsx39(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx39(
3459
3546
  "div",
3460
3547
  {
3461
3548
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -3468,7 +3555,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
3468
3555
 
3469
3556
  // src/resizable.tsx
3470
3557
  import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
3471
- import { jsx as jsx38 } from "react/jsx-runtime";
3558
+ import { jsx as jsx40 } from "react/jsx-runtime";
3472
3559
  var HANDLE_SIZES = {
3473
3560
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
3474
3561
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -3482,7 +3569,7 @@ var HANDLE_SIZES = {
3482
3569
  var ResizablePanelGroup = ({
3483
3570
  className,
3484
3571
  ...props
3485
- }) => /* @__PURE__ */ jsx38(
3572
+ }) => /* @__PURE__ */ jsx40(
3486
3573
  Group4,
3487
3574
  {
3488
3575
  "data-slot": "resizable-group",
@@ -3497,7 +3584,7 @@ var ResizableHandle = ({
3497
3584
  size = "xs",
3498
3585
  className,
3499
3586
  ...props
3500
- }) => /* @__PURE__ */ jsx38(
3587
+ }) => /* @__PURE__ */ jsx40(
3501
3588
  Separator5,
3502
3589
  {
3503
3590
  "data-slot": "resizable-handle",
@@ -3517,15 +3604,15 @@ var ResizableHandle = ({
3517
3604
  className
3518
3605
  ),
3519
3606
  ...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
3607
+ children: withHandle ? /* @__PURE__ */ jsx40("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__ */ jsx40(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
3521
3608
  }
3522
3609
  );
3523
3610
  ResizableHandle.displayName = "ResizableHandle";
3524
3611
 
3525
3612
  // src/slider.tsx
3526
3613
  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";
3614
+ import * as React32 from "react";
3615
+ import { jsx as jsx41, jsxs as jsxs20 } from "react/jsx-runtime";
3529
3616
  var TRACK_CLASSES = {
3530
3617
  sm: "h-1",
3531
3618
  md: "h-1.5",
@@ -3536,12 +3623,12 @@ var THUMB_CLASSES = {
3536
3623
  md: "h-4 w-4",
3537
3624
  lg: "h-5 w-5"
3538
3625
  };
3539
- var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3626
+ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
3540
3627
  const thumbCount = Math.max(
3541
3628
  1,
3542
3629
  (props.value ?? props.defaultValue ?? [0]).length
3543
3630
  );
3544
- return /* @__PURE__ */ jsxs19(
3631
+ return /* @__PURE__ */ jsxs20(
3545
3632
  SliderPrimitive.Root,
3546
3633
  {
3547
3634
  ref,
@@ -3553,7 +3640,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3553
3640
  ),
3554
3641
  ...props,
3555
3642
  children: [
3556
- /* @__PURE__ */ jsx39(
3643
+ /* @__PURE__ */ jsx41(
3557
3644
  SliderPrimitive.Track,
3558
3645
  {
3559
3646
  "data-slot": "slider-track",
@@ -3562,7 +3649,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3562
3649
  TRACK_CLASSES[size],
3563
3650
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
3564
3651
  ),
3565
- children: /* @__PURE__ */ jsx39(
3652
+ children: /* @__PURE__ */ jsx41(
3566
3653
  SliderPrimitive.Range,
3567
3654
  {
3568
3655
  "data-slot": "slider-range",
@@ -3571,7 +3658,7 @@ var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
3571
3658
  )
3572
3659
  }
3573
3660
  ),
3574
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx39(
3661
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx41(
3575
3662
  SliderPrimitive.Thumb,
3576
3663
  {
3577
3664
  "data-slot": "slider-thumb",
@@ -3598,8 +3685,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
3598
3685
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
3599
3686
  import * as TogglePrimitive from "@radix-ui/react-toggle";
3600
3687
  import { cva as cva6 } from "class-variance-authority";
3601
- import * as React31 from "react";
3602
- import { jsx as jsx40 } from "react/jsx-runtime";
3688
+ import * as React33 from "react";
3689
+ import { jsx as jsx42 } from "react/jsx-runtime";
3603
3690
  var toggleVariants = cva6(
3604
3691
  "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
3692
  {
@@ -3620,7 +3707,7 @@ var toggleVariants = cva6(
3620
3707
  }
3621
3708
  }
3622
3709
  );
3623
- var Toggle = React31.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx40(
3710
+ var Toggle = React33.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx42(
3624
3711
  TogglePrimitive.Root,
3625
3712
  {
3626
3713
  ref,
@@ -3630,21 +3717,21 @@ var Toggle = React31.forwardRef(({ className, variant, size, ...props }, ref) =>
3630
3717
  }
3631
3718
  ));
3632
3719
  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(
3720
+ var ToggleGroupContext = React33.createContext({ size: "default", variant: "default" });
3721
+ var ToggleGroup = React33.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx42(
3635
3722
  ToggleGroupPrimitive.Root,
3636
3723
  {
3637
3724
  ref,
3638
3725
  "data-slot": "toggle-group",
3639
3726
  className: cn("flex items-center justify-center gap-1", className),
3640
3727
  ...props,
3641
- children: /* @__PURE__ */ jsx40(ToggleGroupContext.Provider, { value: { variant, size }, children })
3728
+ children: /* @__PURE__ */ jsx42(ToggleGroupContext.Provider, { value: { variant, size }, children })
3642
3729
  }
3643
3730
  ));
3644
3731
  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(
3732
+ var ToggleGroupItem = React33.forwardRef(({ className, children, variant, size, ...props }, ref) => {
3733
+ const context = React33.useContext(ToggleGroupContext);
3734
+ return /* @__PURE__ */ jsx42(
3648
3735
  ToggleGroupPrimitive.Item,
3649
3736
  {
3650
3737
  ref,
@@ -3665,14 +3752,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
3665
3752
 
3666
3753
  // src/tooltip.tsx
3667
3754
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3668
- import * as React32 from "react";
3669
- import { jsx as jsx41 } from "react/jsx-runtime";
3755
+ import * as React34 from "react";
3756
+ import { jsx as jsx43 } from "react/jsx-runtime";
3670
3757
  var TooltipProvider = TooltipPrimitive.Provider;
3671
3758
  var Tooltip = TooltipPrimitive.Root;
3672
3759
  var TooltipTrigger = TooltipPrimitive.Trigger;
3673
- var TooltipContent = React32.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
3760
+ var TooltipContent = React34.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
3674
3761
  const resolved = usePortalContainer(container);
3675
- return /* @__PURE__ */ jsx41(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx41(
3762
+ return /* @__PURE__ */ jsx43(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx43(
3676
3763
  TooltipPrimitive.Content,
3677
3764
  {
3678
3765
  ref,
@@ -3688,6 +3775,10 @@ var TooltipContent = React32.forwardRef(({ className, sideOffset = 4, container,
3688
3775
  });
3689
3776
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
3690
3777
  export {
3778
+ Accordion,
3779
+ AccordionContent,
3780
+ AccordionItem,
3781
+ AccordionTrigger,
3691
3782
  Alert,
3692
3783
  AlertDescription,
3693
3784
  AlertDialog,
@@ -3871,6 +3962,7 @@ export {
3871
3962
  selectTriggerVariants,
3872
3963
  sheetVariants,
3873
3964
  toggleVariants,
3965
+ useAccordionSize,
3874
3966
  useCardSize,
3875
3967
  useDialogContainer,
3876
3968
  useDrawerDirection,