@caqophony/ui 0.3.1 → 0.5.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,226 +1,45 @@
1
1
  'use client';
2
2
  import {
3
- MarkdownRenderer,
4
- cn
5
- } from "./chunk-4YA6BZDJ.js";
6
-
7
- // src/button.tsx
8
- import { Slot } from "@radix-ui/react-slot";
9
- import { cva } from "class-variance-authority";
10
- import * as React from "react";
11
-
12
- // src/icon.tsx
3
+ MarkdownRenderer
4
+ } from "./chunk-ODRGJV46.js";
13
5
  import {
14
- ArrowLeft,
15
- ArrowRight,
16
- Bell,
17
- Calendar,
18
- Check,
19
- ChevronDown,
20
- ChevronLeft,
21
- ChevronRight,
22
- ChevronUp,
23
- CircleAlert,
24
- CircleCheck,
25
- ClipboardList,
26
- Clock,
27
- Database,
28
- Download,
29
- Ellipsis,
30
- ExternalLink,
31
- Eye,
32
- EyeOff,
33
- FileText,
34
- Filter,
35
- Folder,
36
- Heart,
37
- House,
38
- Inbox,
39
- Info,
40
- LayoutGrid,
41
- Link,
42
- List,
43
- LoaderCircle,
44
- Lock,
45
- LogOut,
46
- Mail,
47
- MapPin,
48
- Menu,
49
- Package,
50
- Pencil,
51
- Phone,
52
- Plus,
53
- RefreshCw,
54
- Rocket,
55
- Search,
56
- Settings,
57
- Star,
58
- Tag,
59
- Trash2,
60
- TriangleAlert,
61
- Upload,
62
- User,
63
- Users,
64
- X
65
- } from "lucide-react";
66
- import { jsx } from "react/jsx-runtime";
67
- var ICONS = {
68
- "arrow-left": ArrowLeft,
69
- "arrow-right": ArrowRight,
70
- bell: Bell,
71
- calendar: Calendar,
72
- check: Check,
73
- "chevron-down": ChevronDown,
74
- "chevron-left": ChevronLeft,
75
- "chevron-right": ChevronRight,
76
- "chevron-up": ChevronUp,
77
- "circle-alert": CircleAlert,
78
- "circle-check": CircleCheck,
79
- "clipboard-list": ClipboardList,
80
- clock: Clock,
81
- database: Database,
82
- download: Download,
83
- ellipsis: Ellipsis,
84
- "external-link": ExternalLink,
85
- eye: Eye,
86
- "eye-off": EyeOff,
87
- "file-text": FileText,
88
- filter: Filter,
89
- folder: Folder,
90
- heart: Heart,
91
- house: House,
92
- inbox: Inbox,
93
- info: Info,
94
- "layout-grid": LayoutGrid,
95
- link: Link,
96
- list: List,
97
- loader: LoaderCircle,
98
- lock: Lock,
99
- "log-out": LogOut,
100
- mail: Mail,
101
- "map-pin": MapPin,
102
- menu: Menu,
103
- package: Package,
104
- pencil: Pencil,
105
- phone: Phone,
106
- plus: Plus,
107
- "refresh-cw": RefreshCw,
108
- rocket: Rocket,
109
- search: Search,
110
- settings: Settings,
111
- star: Star,
112
- tag: Tag,
113
- trash: Trash2,
114
- "triangle-alert": TriangleAlert,
115
- upload: Upload,
116
- user: User,
117
- users: Users,
118
- x: X
119
- };
120
- var ICON_SIZES = {
121
- xs: "size-3",
122
- sm: "size-4",
123
- md: "size-5",
124
- lg: "size-6",
125
- xl: "size-8"
126
- };
127
- function Icon({ name, size, className }) {
128
- const Glyph = ICONS[name];
129
- return /* @__PURE__ */ jsx(Glyph, { className: cn(ICON_SIZES[size], className), "aria-hidden": "true" });
130
- }
131
-
132
- // src/spinner.tsx
133
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
134
- function Spinner(props) {
135
- const { size = "md", className } = props;
136
- const glyph = /* @__PURE__ */ jsx2(Icon, { name: "loader", size, className: "animate-spin" });
137
- if (props.decorative)
138
- return /* @__PURE__ */ jsx2(
139
- "span",
140
- {
141
- "aria-hidden": "true",
142
- className: cn("inline-flex shrink-0 text-current", className),
143
- children: glyph
144
- }
145
- );
146
- return /* @__PURE__ */ jsxs(
147
- "span",
148
- {
149
- role: "status",
150
- className: cn("inline-flex shrink-0 text-current", className),
151
- children: [
152
- glyph,
153
- /* @__PURE__ */ jsx2("span", { className: "sr-only", children: props.label })
154
- ]
155
- }
156
- );
157
- }
158
-
159
- // src/button.tsx
160
- import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
161
- var buttonVariants = cva(
162
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
163
- {
164
- variants: {
165
- variant: {
166
- default: "bg-primary-solid dark:bg-primary-solid text-primary-foreground dark:text-primary-foreground shadow hover:bg-primary-solid/90 dark:hover:bg-primary-solid/90",
167
- destructive: "bg-intent-error-solid dark:bg-intent-error-solid text-intent-error-solid-fg dark:text-intent-error-solid-fg shadow-sm hover:bg-intent-error-solid/90 dark:hover:bg-intent-error-solid/90",
168
- outline: "border border-border dark:border-border bg-background dark:bg-background text-foreground dark:text-foreground shadow-sm hover:bg-muted dark:hover:bg-muted hover:text-foreground dark:hover:text-foreground",
169
- secondary: "bg-muted dark:bg-muted text-muted-foreground dark:text-muted-foreground shadow-sm hover:bg-muted/80 dark:hover:bg-muted/80",
170
- ghost: "hover:bg-muted dark:hover:bg-muted hover:text-foreground dark:hover:text-foreground",
171
- link: "text-primary-text dark:text-primary-text underline-offset-4 hover:underline"
172
- },
173
- size: {
174
- default: "h-10 px-4 py-2",
175
- sm: "h-9 rounded-md px-3",
176
- lg: "h-11 rounded-md px-8",
177
- icon: "size-10"
178
- }
179
- },
180
- defaultVariants: {
181
- variant: "default",
182
- size: "default"
183
- }
184
- }
185
- );
186
- var Button = React.forwardRef(
187
- ({
188
- className,
189
- variant,
190
- size,
191
- asChild = false,
192
- loading = false,
193
- loadingText,
194
- children,
195
- disabled,
196
- ...props
197
- }, ref) => {
198
- const Comp = asChild && !loading ? Slot : "button";
199
- const isDisabled = disabled || loading;
200
- return /* @__PURE__ */ jsx3(
201
- Comp,
202
- {
203
- className: cn(buttonVariants({ variant, size, className })),
204
- ref,
205
- disabled: isDisabled,
206
- "aria-busy": loading,
207
- ...props,
208
- children: loading ? /* @__PURE__ */ jsxs2(Fragment, { children: [
209
- /* @__PURE__ */ jsx3(Spinner, { decorative: true, size: "sm" }),
210
- /* @__PURE__ */ jsx3("span", { children: loadingText || children })
211
- ] }) : children
212
- }
213
- );
214
- }
215
- );
216
- Button.displayName = "Button";
6
+ Button,
7
+ Container,
8
+ NavDrawer,
9
+ NavbarMenu,
10
+ Spinner,
11
+ buttonVariants,
12
+ useModalSurface,
13
+ usePanelRef
14
+ } from "./chunk-I5DQCG6D.js";
15
+ import {
16
+ Alert,
17
+ EMPTY_VALUE_GLYPH,
18
+ EmptyValue,
19
+ INTENT_SUBTLE_STYLES,
20
+ IntentBadge,
21
+ isEmptyValue
22
+ } from "./chunk-44GEHNZP.js";
23
+ import {
24
+ CONTENT_GUTTER,
25
+ ICONS,
26
+ ICON_SIZES,
27
+ Icon,
28
+ SCROLL_HINT_X,
29
+ SCROLL_HINT_Y,
30
+ SCROLL_HINT_Y_MARK,
31
+ ScrollHintXMark
32
+ } from "./chunk-ID7VBGJA.js";
33
+ import {
34
+ cn
35
+ } from "./chunk-DP5WQAPO.js";
217
36
 
218
37
  // src/input.tsx
219
- import * as React2 from "react";
38
+ import * as React from "react";
220
39
 
221
40
  // src/field.ts
222
- import { cva as cva2 } from "class-variance-authority";
223
- var fieldVariants = cva2(
41
+ import { cva } from "class-variance-authority";
42
+ var fieldVariants = cva(
224
43
  "w-full min-w-0 rounded-md border bg-background text-foreground ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
225
44
  {
226
45
  variants: {
@@ -250,10 +69,10 @@ function fieldAria(error, errorMessageId) {
250
69
  }
251
70
 
252
71
  // src/input.tsx
253
- import { jsx as jsx4 } from "react/jsx-runtime";
254
- var Input = React2.forwardRef(
72
+ import { jsx } from "react/jsx-runtime";
73
+ var Input = React.forwardRef(
255
74
  ({ className, type, error, errorMessageId, size = "md", ...props }, ref) => {
256
- return /* @__PURE__ */ jsx4(
75
+ return /* @__PURE__ */ jsx(
257
76
  "input",
258
77
  {
259
78
  type,
@@ -274,9 +93,9 @@ var Input = React2.forwardRef(
274
93
  Input.displayName = "Input";
275
94
 
276
95
  // src/card.tsx
277
- import * as React3 from "react";
278
- import { jsx as jsx5 } from "react/jsx-runtime";
279
- var Card = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
96
+ import * as React2 from "react";
97
+ import { jsx as jsx2 } from "react/jsx-runtime";
98
+ var Card = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
280
99
  "div",
281
100
  {
282
101
  ref,
@@ -290,7 +109,7 @@ var Card = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
290
109
  }
291
110
  ));
292
111
  Card.displayName = "Card";
293
- var CardHeader = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
112
+ var CardHeader = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
294
113
  "div",
295
114
  {
296
115
  ref,
@@ -299,7 +118,7 @@ var CardHeader = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE_
299
118
  }
300
119
  ));
301
120
  CardHeader.displayName = "CardHeader";
302
- var CardTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
121
+ var CardTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
303
122
  "h3",
304
123
  {
305
124
  ref,
@@ -311,7 +130,7 @@ var CardTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__
311
130
  }
312
131
  ));
313
132
  CardTitle.displayName = "CardTitle";
314
- var CardDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
133
+ var CardDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
315
134
  "p",
316
135
  {
317
136
  ref,
@@ -320,9 +139,9 @@ var CardDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__
320
139
  }
321
140
  ));
322
141
  CardDescription.displayName = "CardDescription";
323
- var CardContent = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5("div", { ref, className: cn("p-6 pt-0", className), ...props }));
142
+ var CardContent = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2("div", { ref, className: cn("p-6 pt-0", className), ...props }));
324
143
  CardContent.displayName = "CardContent";
325
- var CardFooter = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
144
+ var CardFooter = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx2(
326
145
  "div",
327
146
  {
328
147
  ref,
@@ -334,12 +153,12 @@ CardFooter.displayName = "CardFooter";
334
153
 
335
154
  // src/switch.tsx
336
155
  import * as SwitchPrimitives from "@radix-ui/react-switch";
337
- import * as React4 from "react";
338
- import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
339
- var Switch = React4.forwardRef(({ className, label, description, id, ...props }, ref) => {
340
- const generatedId = React4.useId();
156
+ import * as React3 from "react";
157
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
158
+ var Switch = React3.forwardRef(({ className, label, description, id, ...props }, ref) => {
159
+ const generatedId = React3.useId();
341
160
  const switchId = id || generatedId;
342
- const switchElement = /* @__PURE__ */ jsx6(
161
+ const switchElement = /* @__PURE__ */ jsx3(
343
162
  SwitchPrimitives.Root,
344
163
  {
345
164
  className: cn(
@@ -353,7 +172,7 @@ var Switch = React4.forwardRef(({ className, label, description, id, ...props },
353
172
  id: switchId,
354
173
  ref,
355
174
  ...props,
356
- children: /* @__PURE__ */ jsx6(
175
+ children: /* @__PURE__ */ jsx3(
357
176
  SwitchPrimitives.Thumb,
358
177
  {
359
178
  className: cn(
@@ -368,10 +187,10 @@ var Switch = React4.forwardRef(({ className, label, description, id, ...props },
368
187
  if (!label) {
369
188
  return switchElement;
370
189
  }
371
- return /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-3", children: [
190
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
372
191
  switchElement,
373
- /* @__PURE__ */ jsxs3("div", { className: "flex flex-col", children: [
374
- /* @__PURE__ */ jsx6(
192
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
193
+ /* @__PURE__ */ jsx3(
375
194
  "label",
376
195
  {
377
196
  htmlFor: switchId,
@@ -379,26 +198,26 @@ var Switch = React4.forwardRef(({ className, label, description, id, ...props },
379
198
  children: label
380
199
  }
381
200
  ),
382
- description && /* @__PURE__ */ jsx6("span", { className: "text-xs text-muted-foreground dark:text-muted-foreground", children: description })
201
+ description && /* @__PURE__ */ jsx3("span", { className: "text-xs text-muted-foreground dark:text-muted-foreground", children: description })
383
202
  ] })
384
203
  ] });
385
204
  });
386
205
  Switch.displayName = "Switch";
387
206
 
388
207
  // src/tooltip.tsx
389
- import * as React5 from "react";
208
+ import * as React4 from "react";
390
209
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
391
- import { jsx as jsx7 } from "react/jsx-runtime";
210
+ import { jsx as jsx4 } from "react/jsx-runtime";
392
211
  var TooltipProvider = TooltipPrimitive.Provider;
393
212
  var Tooltip = TooltipPrimitive.Root;
394
213
  var TooltipTrigger = TooltipPrimitive.Trigger;
395
- var TooltipContent = React5.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx7(
214
+ var TooltipContent = React4.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx4(
396
215
  TooltipPrimitive.Content,
397
216
  {
398
217
  ref,
399
218
  sideOffset,
400
219
  className: cn(
401
- "z-50 overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
220
+ "z-tooltip overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
402
221
  className
403
222
  ),
404
223
  ...props
@@ -407,9 +226,9 @@ var TooltipContent = React5.forwardRef(({ className, sideOffset = 4, ...props },
407
226
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
408
227
 
409
228
  // src/label.tsx
410
- import * as React6 from "react";
411
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
412
- var Label = React6.forwardRef(
229
+ import * as React5 from "react";
230
+ import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
231
+ var Label = React5.forwardRef(
413
232
  ({
414
233
  className,
415
234
  required = false,
@@ -419,7 +238,7 @@ var Label = React6.forwardRef(
419
238
  size = "md",
420
239
  children,
421
240
  ...props
422
- }, ref) => /* @__PURE__ */ jsxs4(
241
+ }, ref) => /* @__PURE__ */ jsxs2(
423
242
  "label",
424
243
  {
425
244
  ref,
@@ -433,8 +252,8 @@ var Label = React6.forwardRef(
433
252
  ...props,
434
253
  children: [
435
254
  children,
436
- required && /* @__PURE__ */ jsx8("span", { className: "text-intent-error-foreground ml-1", "aria-hidden": "true", children: "*" }),
437
- optional && /* @__PURE__ */ jsx8("span", { className: "ml-1 font-normal text-muted-foreground", children: "(optional)" })
255
+ required && /* @__PURE__ */ jsx5("span", { className: "text-intent-error-foreground ml-1", "aria-hidden": "true", children: "*" }),
256
+ optional && /* @__PURE__ */ jsx5("span", { className: "ml-1 font-normal text-muted-foreground", children: "(optional)" })
438
257
  ]
439
258
  }
440
259
  )
@@ -442,7 +261,7 @@ var Label = React6.forwardRef(
442
261
  Label.displayName = "Label";
443
262
 
444
263
  // src/form-field.tsx
445
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
264
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
446
265
  function FormField({
447
266
  label,
448
267
  name,
@@ -454,7 +273,7 @@ function FormField({
454
273
  className
455
274
  }) {
456
275
  const hasError = Boolean(error);
457
- return /* @__PURE__ */ jsxs5(
276
+ return /* @__PURE__ */ jsxs3(
458
277
  "div",
459
278
  {
460
279
  "aria-disabled": disabled || void 0,
@@ -464,9 +283,9 @@ function FormField({
464
283
  className
465
284
  ),
466
285
  children: [
467
- /* @__PURE__ */ jsx9(Label, { htmlFor: name, required, error: hasError, children: label }),
468
- description && !hasError && /* @__PURE__ */ jsx9("p", { className: "text-xs text-muted-foreground dark:text-muted-foreground", children: description }),
469
- /* @__PURE__ */ jsx9(
286
+ /* @__PURE__ */ jsx6(Label, { htmlFor: name, required, error: hasError, children: label }),
287
+ description && !hasError && /* @__PURE__ */ jsx6("p", { className: "text-xs text-muted-foreground dark:text-muted-foreground", children: description }),
288
+ /* @__PURE__ */ jsx6(
470
289
  "div",
471
290
  {
472
291
  className: cn(
@@ -478,15 +297,15 @@ function FormField({
478
297
  children
479
298
  }
480
299
  ),
481
- hasError && /* @__PURE__ */ jsxs5(
300
+ hasError && /* @__PURE__ */ jsxs3(
482
301
  "p",
483
302
  {
484
303
  className: "text-intent-error-foreground dark:text-intent-error-foreground flex items-center gap-1 text-sm",
485
304
  role: "alert",
486
305
  "aria-live": "polite",
487
306
  children: [
488
- /* @__PURE__ */ jsx9(ErrorIcon, { className: "size-4 shrink-0" }),
489
- /* @__PURE__ */ jsx9("span", { children: error })
307
+ /* @__PURE__ */ jsx6(ErrorIcon, { className: "size-4 shrink-0" }),
308
+ /* @__PURE__ */ jsx6("span", { children: error })
490
309
  ]
491
310
  }
492
311
  )
@@ -495,7 +314,7 @@ function FormField({
495
314
  );
496
315
  }
497
316
  function ErrorIcon({ className }) {
498
- return /* @__PURE__ */ jsx9(
317
+ return /* @__PURE__ */ jsx6(
499
318
  "svg",
500
319
  {
501
320
  className,
@@ -503,7 +322,7 @@ function ErrorIcon({ className }) {
503
322
  viewBox: "0 0 24 24",
504
323
  stroke: "currentColor",
505
324
  strokeWidth: 2,
506
- children: /* @__PURE__ */ jsx9(
325
+ children: /* @__PURE__ */ jsx6(
507
326
  "path",
508
327
  {
509
328
  strokeLinecap: "round",
@@ -515,7 +334,7 @@ function ErrorIcon({ className }) {
515
334
  );
516
335
  }
517
336
  function FormFieldGroup({ children, className }) {
518
- return /* @__PURE__ */ jsx9("div", { className: cn("grid gap-4", "grid-cols-1 sm:grid-cols-2", className), children });
337
+ return /* @__PURE__ */ jsx6("div", { className: cn("grid gap-4", "grid-cols-1 sm:grid-cols-2", className), children });
519
338
  }
520
339
  function FormSection({
521
340
  title,
@@ -523,17 +342,17 @@ function FormSection({
523
342
  children,
524
343
  className
525
344
  }) {
526
- return /* @__PURE__ */ jsxs5("fieldset", { className: cn("space-y-4", className), children: [
527
- (title || description) && /* @__PURE__ */ jsxs5("div", { className: "space-y-1", children: [
528
- title && /* @__PURE__ */ jsx9("legend", { className: "text-base font-medium text-foreground dark:text-foreground", children: title }),
529
- description && /* @__PURE__ */ jsx9("p", { className: "text-sm text-muted-foreground dark:text-muted-foreground", children: description })
345
+ return /* @__PURE__ */ jsxs3("fieldset", { className: cn("space-y-4", className), children: [
346
+ (title || description) && /* @__PURE__ */ jsxs3("div", { className: "space-y-1", children: [
347
+ title && /* @__PURE__ */ jsx6("legend", { className: "text-base font-medium text-foreground dark:text-foreground", children: title }),
348
+ description && /* @__PURE__ */ jsx6("p", { className: "text-sm text-muted-foreground dark:text-muted-foreground", children: description })
530
349
  ] }),
531
- /* @__PURE__ */ jsx9("div", { className: "space-y-4", children })
350
+ /* @__PURE__ */ jsx6("div", { className: "space-y-4", children })
532
351
  ] });
533
352
  }
534
353
  function FormError({ error, className }) {
535
354
  if (!error) return null;
536
- return /* @__PURE__ */ jsx9(
355
+ return /* @__PURE__ */ jsx6(
537
356
  "div",
538
357
  {
539
358
  className: cn(
@@ -542,16 +361,16 @@ function FormError({ error, className }) {
542
361
  className
543
362
  ),
544
363
  role: "alert",
545
- children: /* @__PURE__ */ jsxs5("div", { className: "flex gap-3", children: [
546
- /* @__PURE__ */ jsx9(ErrorIcon, { className: "text-intent-error dark:text-intent-error size-5 shrink-0" }),
547
- /* @__PURE__ */ jsx9("p", { className: "text-intent-error-foreground dark:text-intent-error-foreground text-sm", children: error })
364
+ children: /* @__PURE__ */ jsxs3("div", { className: "flex gap-3", children: [
365
+ /* @__PURE__ */ jsx6(ErrorIcon, { className: "text-intent-error dark:text-intent-error size-5 shrink-0" }),
366
+ /* @__PURE__ */ jsx6("p", { className: "text-intent-error-foreground dark:text-intent-error-foreground text-sm", children: error })
548
367
  ] })
549
368
  }
550
369
  );
551
370
  }
552
371
  function FormSuccess({ message, className }) {
553
372
  if (!message) return null;
554
- return /* @__PURE__ */ jsx9(
373
+ return /* @__PURE__ */ jsx6(
555
374
  "div",
556
375
  {
557
376
  className: cn(
@@ -560,15 +379,15 @@ function FormSuccess({ message, className }) {
560
379
  className
561
380
  ),
562
381
  role: "status",
563
- children: /* @__PURE__ */ jsxs5("div", { className: "flex gap-3", children: [
564
- /* @__PURE__ */ jsx9(SuccessIcon, { className: "text-intent-success dark:text-intent-success size-5 shrink-0" }),
565
- /* @__PURE__ */ jsx9("p", { className: "text-intent-success-foreground dark:text-intent-success-foreground text-sm", children: message })
382
+ children: /* @__PURE__ */ jsxs3("div", { className: "flex gap-3", children: [
383
+ /* @__PURE__ */ jsx6(SuccessIcon, { className: "text-intent-success dark:text-intent-success size-5 shrink-0" }),
384
+ /* @__PURE__ */ jsx6("p", { className: "text-intent-success-foreground dark:text-intent-success-foreground text-sm", children: message })
566
385
  ] })
567
386
  }
568
387
  );
569
388
  }
570
389
  function SuccessIcon({ className }) {
571
- return /* @__PURE__ */ jsx9(
390
+ return /* @__PURE__ */ jsx6(
572
391
  "svg",
573
392
  {
574
393
  className,
@@ -576,7 +395,7 @@ function SuccessIcon({ className }) {
576
395
  viewBox: "0 0 24 24",
577
396
  stroke: "currentColor",
578
397
  strokeWidth: 2,
579
- children: /* @__PURE__ */ jsx9(
398
+ children: /* @__PURE__ */ jsx6(
580
399
  "path",
581
400
  {
582
401
  strokeLinecap: "round",
@@ -589,7 +408,7 @@ function SuccessIcon({ className }) {
589
408
  }
590
409
 
591
410
  // src/global-error-content.tsx
592
- import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
411
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
593
412
  function GlobalErrorContent({
594
413
  error,
595
414
  reset,
@@ -605,7 +424,7 @@ function GlobalErrorContent({
605
424
  window.location.href = "/";
606
425
  }
607
426
  };
608
- return /* @__PURE__ */ jsx10(
427
+ return /* @__PURE__ */ jsx7(
609
428
  "div",
610
429
  {
611
430
  style: {
@@ -619,7 +438,7 @@ function GlobalErrorContent({
619
438
  // gossamer-ignore
620
439
  fontFamily: "system-ui, sans-serif"
621
440
  },
622
- children: /* @__PURE__ */ jsxs6(
441
+ children: /* @__PURE__ */ jsxs4(
623
442
  "div",
624
443
  {
625
444
  style: {
@@ -628,7 +447,7 @@ function GlobalErrorContent({
628
447
  textAlign: "center"
629
448
  },
630
449
  children: [
631
- /* @__PURE__ */ jsx10(
450
+ /* @__PURE__ */ jsx7(
632
451
  "div",
633
452
  {
634
453
  style: {
@@ -642,7 +461,7 @@ function GlobalErrorContent({
642
461
  alignItems: "center",
643
462
  justifyContent: "center"
644
463
  },
645
- children: /* @__PURE__ */ jsxs6(
464
+ children: /* @__PURE__ */ jsxs4(
646
465
  "svg",
647
466
  {
648
467
  width: "32",
@@ -654,15 +473,15 @@ function GlobalErrorContent({
654
473
  strokeLinecap: "round",
655
474
  strokeLinejoin: "round",
656
475
  children: [
657
- /* @__PURE__ */ jsx10("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
658
- /* @__PURE__ */ jsx10("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
659
- /* @__PURE__ */ jsx10("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
476
+ /* @__PURE__ */ jsx7("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
477
+ /* @__PURE__ */ jsx7("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
478
+ /* @__PURE__ */ jsx7("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
660
479
  ]
661
480
  }
662
481
  )
663
482
  }
664
483
  ),
665
- /* @__PURE__ */ jsx10(
484
+ /* @__PURE__ */ jsx7(
666
485
  "h1",
667
486
  {
668
487
  style: {
@@ -675,7 +494,7 @@ function GlobalErrorContent({
675
494
  children: "Critical Application Error"
676
495
  }
677
496
  ),
678
- /* @__PURE__ */ jsxs6(
497
+ /* @__PURE__ */ jsxs4(
679
498
  "p",
680
499
  {
681
500
  style: {
@@ -691,7 +510,7 @@ function GlobalErrorContent({
691
510
  ]
692
511
  }
693
512
  ),
694
- error.digest && /* @__PURE__ */ jsxs6(
513
+ error.digest && /* @__PURE__ */ jsxs4(
695
514
  "div",
696
515
  {
697
516
  style: {
@@ -702,7 +521,7 @@ function GlobalErrorContent({
702
521
  marginBottom: "1.5rem"
703
522
  },
704
523
  children: [
705
- /* @__PURE__ */ jsx10(
524
+ /* @__PURE__ */ jsx7(
706
525
  "p",
707
526
  {
708
527
  style: {
@@ -714,7 +533,7 @@ function GlobalErrorContent({
714
533
  children: "Error Reference"
715
534
  }
716
535
  ),
717
- /* @__PURE__ */ jsx10(
536
+ /* @__PURE__ */ jsx7(
718
537
  "code",
719
538
  {
720
539
  style: {
@@ -729,7 +548,7 @@ function GlobalErrorContent({
729
548
  ]
730
549
  }
731
550
  ),
732
- customActions ?? /* @__PURE__ */ jsxs6(
551
+ customActions ?? /* @__PURE__ */ jsxs4(
733
552
  "div",
734
553
  {
735
554
  style: {
@@ -738,7 +557,7 @@ function GlobalErrorContent({
738
557
  gap: "0.75rem"
739
558
  },
740
559
  children: [
741
- /* @__PURE__ */ jsxs6(
560
+ /* @__PURE__ */ jsxs4(
742
561
  "button",
743
562
  {
744
563
  onClick: handleRetry,
@@ -759,7 +578,7 @@ function GlobalErrorContent({
759
578
  gap: "0.5rem"
760
579
  },
761
580
  children: [
762
- /* @__PURE__ */ jsx10(
581
+ /* @__PURE__ */ jsx7(
763
582
  "svg",
764
583
  {
765
584
  width: "16",
@@ -768,14 +587,14 @@ function GlobalErrorContent({
768
587
  fill: "none",
769
588
  stroke: "currentColor",
770
589
  strokeWidth: "2",
771
- children: /* @__PURE__ */ jsx10("path", { d: "M23 4v6h-6M1 20v-6h6M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15" })
590
+ children: /* @__PURE__ */ jsx7("path", { d: "M23 4v6h-6M1 20v-6h6M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15" })
772
591
  }
773
592
  ),
774
593
  "Try Again"
775
594
  ]
776
595
  }
777
596
  ),
778
- /* @__PURE__ */ jsxs6(
597
+ /* @__PURE__ */ jsxs4(
779
598
  "button",
780
599
  {
781
600
  onClick: handleGoHome,
@@ -797,7 +616,7 @@ function GlobalErrorContent({
797
616
  gap: "0.5rem"
798
617
  },
799
618
  children: [
800
- /* @__PURE__ */ jsxs6(
619
+ /* @__PURE__ */ jsxs4(
801
620
  "svg",
802
621
  {
803
622
  width: "16",
@@ -807,8 +626,8 @@ function GlobalErrorContent({
807
626
  stroke: "currentColor",
808
627
  strokeWidth: "2",
809
628
  children: [
810
- /* @__PURE__ */ jsx10("path", { d: "M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z" }),
811
- /* @__PURE__ */ jsx10("polyline", { points: "9,22 9,12 15,12 15,22" })
629
+ /* @__PURE__ */ jsx7("path", { d: "M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2V9z" }),
630
+ /* @__PURE__ */ jsx7("polyline", { points: "9,22 9,12 15,12 15,22" })
812
631
  ]
813
632
  }
814
633
  ),
@@ -819,7 +638,7 @@ function GlobalErrorContent({
819
638
  ]
820
639
  }
821
640
  ),
822
- /* @__PURE__ */ jsxs6(
641
+ /* @__PURE__ */ jsxs4(
823
642
  "p",
824
643
  {
825
644
  style: {
@@ -831,7 +650,7 @@ function GlobalErrorContent({
831
650
  children: [
832
651
  "If this problem persists, please",
833
652
  " ",
834
- supportEmail ? /* @__PURE__ */ jsx10(
653
+ supportEmail ? /* @__PURE__ */ jsx7(
835
654
  "a",
836
655
  {
837
656
  href: `mailto:${supportEmail}`,
@@ -852,114 +671,14 @@ function GlobalErrorContent({
852
671
 
853
672
  // src/collapsible-sidebar.tsx
854
673
  import {
855
- useState as useState2,
856
- useEffect as useEffect2,
674
+ useState,
675
+ useEffect,
857
676
  useCallback,
858
677
  createContext,
859
678
  useContext
860
679
  } from "react";
861
- import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2 } from "lucide-react";
862
-
863
- // src/nav-drawer.tsx
864
- import * as React7 from "react";
865
- import { createPortal } from "react-dom";
866
- import { Fragment as Fragment2, jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
867
- function NavDrawer({
868
- label,
869
- side,
870
- closedFrom,
871
- defaultOpen,
872
- children
873
- }) {
874
- const [open, setOpen] = React7.useState(defaultOpen);
875
- const id = React7.useId();
876
- React7.useEffect(() => {
877
- if (!open) return;
878
- const onKey = (e) => {
879
- if (e.key === "Escape") setOpen(false);
880
- };
881
- document.addEventListener("keydown", onKey);
882
- return () => document.removeEventListener("keydown", onKey);
883
- }, [open]);
884
- const left = side === "left";
885
- const drawer = open ? /* @__PURE__ */ jsxs7(
886
- "div",
887
- {
888
- className: cn(
889
- "z-overlay fixed inset-0",
890
- closedFrom === "md" ? "md:hidden" : "lg:hidden"
891
- ),
892
- children: [
893
- /* @__PURE__ */ jsx11(
894
- "div",
895
- {
896
- "aria-hidden": "true",
897
- className: "absolute inset-0 bg-foreground/40",
898
- onClick: () => setOpen(false)
899
- }
900
- ),
901
- /* @__PURE__ */ jsxs7(
902
- "aside",
903
- {
904
- id,
905
- "aria-label": label,
906
- onClick: (e) => {
907
- if (e.target instanceof Element && e.target.closest("a")) {
908
- setOpen(false);
909
- }
910
- },
911
- className: cn(
912
- "absolute inset-y-0 flex w-72 max-w-[calc(100%-3rem)] flex-col overflow-y-auto bg-card shadow-lg",
913
- left ? "left-0 border-r" : "right-0 border-l",
914
- "border-border"
915
- ),
916
- children: [
917
- /* @__PURE__ */ jsx11(
918
- "div",
919
- {
920
- className: cn(
921
- "flex px-2 py-2",
922
- left ? "justify-end" : "justify-start"
923
- ),
924
- children: /* @__PURE__ */ jsx11(
925
- Button,
926
- {
927
- variant: "ghost",
928
- size: "icon",
929
- "aria-label": "Close",
930
- onClick: () => setOpen(false),
931
- children: /* @__PURE__ */ jsx11(Icon, { name: "x", size: "sm" })
932
- }
933
- )
934
- }
935
- ),
936
- children
937
- ]
938
- }
939
- )
940
- ]
941
- }
942
- ) : null;
943
- const surface = drawer === null || typeof document === "undefined" ? drawer : createPortal(drawer, document.body);
944
- return /* @__PURE__ */ jsxs7(Fragment2, { children: [
945
- /* @__PURE__ */ jsx11(
946
- Button,
947
- {
948
- variant: "ghost",
949
- size: "icon",
950
- "aria-label": label,
951
- "aria-expanded": open,
952
- "aria-controls": open ? id : void 0,
953
- onClick: () => setOpen(!open),
954
- children: /* @__PURE__ */ jsx11(Icon, { name: "menu", size: "sm" })
955
- }
956
- ),
957
- surface
958
- ] });
959
- }
960
-
961
- // src/collapsible-sidebar.tsx
962
- import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
680
+ import { ChevronLeft, ChevronRight } from "lucide-react";
681
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
963
682
  var SidebarContext = createContext(null);
964
683
  function useSidebar() {
965
684
  const context = useContext(SidebarContext);
@@ -974,7 +693,7 @@ var DefaultLink = ({
974
693
  href,
975
694
  className,
976
695
  children
977
- }) => /* @__PURE__ */ jsx12("a", { href: String(href), className, children });
696
+ }) => /* @__PURE__ */ jsx8("a", { href: String(href), className, children });
978
697
  function CollapsibleSidebar({
979
698
  storageKey = "sidebar-collapsed",
980
699
  defaultCollapsed = false,
@@ -991,8 +710,8 @@ function CollapsibleSidebar({
991
710
  navLabel = "Navigation",
992
711
  defaultNavOpen = false
993
712
  }) {
994
- const [isCollapsed, setIsCollapsed] = useState2(defaultCollapsed);
995
- useEffect2(() => {
713
+ const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
714
+ useEffect(() => {
996
715
  const stored = localStorage.getItem(storageKey);
997
716
  if (stored !== null) {
998
717
  setIsCollapsed(stored === "true");
@@ -1008,7 +727,7 @@ function CollapsibleSidebar({
1008
727
  const renderItem = (item, collapsed) => {
1009
728
  const Icon2 = item.icon;
1010
729
  const active = isActive?.(item.href) ?? false;
1011
- const linkContent = /* @__PURE__ */ jsxs8(
730
+ const linkContent = /* @__PURE__ */ jsxs5(
1012
731
  LinkComponent,
1013
732
  {
1014
733
  href: item.href,
@@ -1018,10 +737,10 @@ function CollapsibleSidebar({
1018
737
  active ? "bg-primary-solid text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
1019
738
  ),
1020
739
  children: [
1021
- /* @__PURE__ */ jsx12(Icon2, { className: cn("size-5 shrink-0", collapsed && "size-5") }),
1022
- !collapsed && /* @__PURE__ */ jsxs8("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
1023
- /* @__PURE__ */ jsx12("div", { className: "truncate text-sm font-medium", children: item.name }),
1024
- item.description && /* @__PURE__ */ jsx12(
740
+ /* @__PURE__ */ jsx8(Icon2, { className: cn("size-5 shrink-0", collapsed && "size-5") }),
741
+ !collapsed && /* @__PURE__ */ jsxs5("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
742
+ /* @__PURE__ */ jsx8("div", { className: "truncate text-sm font-medium", children: item.name }),
743
+ item.description && /* @__PURE__ */ jsx8(
1025
744
  "div",
1026
745
  {
1027
746
  className: cn(
@@ -1038,25 +757,25 @@ function CollapsibleSidebar({
1038
757
  }
1039
758
  );
1040
759
  if (collapsed) {
1041
- return /* @__PURE__ */ jsxs8(Tooltip, { children: [
1042
- /* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: linkContent }),
1043
- /* @__PURE__ */ jsxs8(TooltipContent, { side: "right", className: "flex flex-col", children: [
1044
- /* @__PURE__ */ jsx12("span", { className: "font-medium", children: item.name }),
1045
- item.description && /* @__PURE__ */ jsx12("span", { className: "text-xs text-muted-foreground", children: item.description })
760
+ return /* @__PURE__ */ jsxs5(Tooltip, { children: [
761
+ /* @__PURE__ */ jsx8(TooltipTrigger, { asChild: true, children: linkContent }),
762
+ /* @__PURE__ */ jsxs5(TooltipContent, { side: "right", className: "flex flex-col", children: [
763
+ /* @__PURE__ */ jsx8("span", { className: "font-medium", children: item.name }),
764
+ item.description && /* @__PURE__ */ jsx8("span", { className: "text-xs text-muted-foreground", children: item.description })
1046
765
  ] })
1047
766
  ] }, item.href);
1048
767
  }
1049
- return /* @__PURE__ */ jsx12("div", { children: linkContent }, item.href);
768
+ return /* @__PURE__ */ jsx8("div", { children: linkContent }, item.href);
1050
769
  };
1051
- return /* @__PURE__ */ jsx12(SidebarContext.Provider, { value: { isCollapsed, toggle }, children: /* @__PURE__ */ jsxs8(TooltipProvider, { delayDuration: 100, children: [
1052
- /* @__PURE__ */ jsx12(
770
+ return /* @__PURE__ */ jsx8(SidebarContext.Provider, { value: { isCollapsed, toggle }, children: /* @__PURE__ */ jsxs5(TooltipProvider, { delayDuration: 100, children: [
771
+ /* @__PURE__ */ jsx8(
1053
772
  "div",
1054
773
  {
1055
774
  className: cn(
1056
775
  "flex min-h-screen w-14 flex-shrink-0 flex-col items-center border-r border-border bg-card py-2 lg:hidden",
1057
776
  className
1058
777
  ),
1059
- children: /* @__PURE__ */ jsxs8(
778
+ children: /* @__PURE__ */ jsxs5(
1060
779
  NavDrawer,
1061
780
  {
1062
781
  label: navLabel,
@@ -1064,15 +783,15 @@ function CollapsibleSidebar({
1064
783
  closedFrom: "lg",
1065
784
  defaultOpen: defaultNavOpen,
1066
785
  children: [
1067
- header && /* @__PURE__ */ jsx12("div", { className: "border-b border-border px-4 pb-4", children: header }),
1068
- /* @__PURE__ */ jsx12("div", { className: "flex-1 space-y-1 p-2", children: items.map((item) => renderItem(item, false)) }),
1069
- footer && /* @__PURE__ */ jsx12("div", { className: "mt-auto border-t border-border p-2", children: footer })
786
+ header && /* @__PURE__ */ jsx8("div", { className: "border-b border-border px-4 pb-4", children: header }),
787
+ /* @__PURE__ */ jsx8("div", { className: "flex-1 space-y-1 p-2", children: items.map((item) => renderItem(item, false)) }),
788
+ footer && /* @__PURE__ */ jsx8("div", { className: "mt-auto border-t border-border p-2", children: footer })
1070
789
  ]
1071
790
  }
1072
791
  )
1073
792
  }
1074
793
  ),
1075
- /* @__PURE__ */ jsxs8(
794
+ /* @__PURE__ */ jsxs5(
1076
795
  "nav",
1077
796
  {
1078
797
  className: cn(
@@ -1081,7 +800,7 @@ function CollapsibleSidebar({
1081
800
  ),
1082
801
  style: { width: isCollapsed ? collapsedWidth : expandedWidth },
1083
802
  children: [
1084
- /* @__PURE__ */ jsx12(
803
+ /* @__PURE__ */ jsx8(
1085
804
  "button",
1086
805
  {
1087
806
  onClick: toggle,
@@ -1089,10 +808,10 @@ function CollapsibleSidebar({
1089
808
  "absolute -right-3 top-6 z-10 flex size-6 items-center justify-center rounded-full border border-border bg-card shadow-sm transition-colors hover:bg-muted"
1090
809
  ),
1091
810
  "aria-label": isCollapsed ? "Expand sidebar" : "Collapse sidebar",
1092
- children: isCollapsed ? /* @__PURE__ */ jsx12(ChevronRight2, { className: "size-4" }) : /* @__PURE__ */ jsx12(ChevronLeft2, { className: "size-4" })
811
+ children: isCollapsed ? /* @__PURE__ */ jsx8(ChevronRight, { className: "size-4" }) : /* @__PURE__ */ jsx8(ChevronLeft, { className: "size-4" })
1093
812
  }
1094
813
  ),
1095
- (header || collapsedHeader) && /* @__PURE__ */ jsx12(
814
+ (header || collapsedHeader) && /* @__PURE__ */ jsx8(
1096
815
  "div",
1097
816
  {
1098
817
  className: cn(
@@ -1102,8 +821,8 @@ function CollapsibleSidebar({
1102
821
  children: isCollapsed ? collapsedHeader || null : header
1103
822
  }
1104
823
  ),
1105
- /* @__PURE__ */ jsx12("div", { className: "flex-1 space-y-1 overflow-y-auto p-2", children: items.map((item) => renderItem(item, isCollapsed)) }),
1106
- (footer || collapsedFooter) && /* @__PURE__ */ jsx12("div", { className: "mt-auto border-t border-border p-2", children: isCollapsed ? collapsedFooter || null : footer })
824
+ /* @__PURE__ */ jsx8("div", { className: "flex-1 space-y-1 overflow-y-auto p-2", children: items.map((item) => renderItem(item, isCollapsed)) }),
825
+ (footer || collapsedFooter) && /* @__PURE__ */ jsx8("div", { className: "mt-auto border-t border-border p-2", children: isCollapsed ? collapsedFooter || null : footer })
1107
826
  ]
1108
827
  }
1109
828
  )
@@ -1111,9 +830,9 @@ function CollapsibleSidebar({
1111
830
  }
1112
831
 
1113
832
  // src/accordion.tsx
1114
- import { createContext as createContext2, useContext as useContext2, useState as useState3, useCallback as useCallback2, useId as useId3 } from "react";
1115
- import { ChevronDown as ChevronDown2 } from "lucide-react";
1116
- import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
833
+ import { createContext as createContext2, useContext as useContext2, useState as useState2, useCallback as useCallback2, useId as useId2 } from "react";
834
+ import { ChevronDown } from "lucide-react";
835
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
1117
836
  var AccordionContext = createContext2(null);
1118
837
  var AccordionItemContext = createContext2(
1119
838
  null
@@ -1142,7 +861,7 @@ function AccordionSingle({
1142
861
  children,
1143
862
  className
1144
863
  }) {
1145
- const [uncontrolledValue, setUncontrolledValue] = useState3(defaultValue);
864
+ const [uncontrolledValue, setUncontrolledValue] = useState2(defaultValue);
1146
865
  const isControlled = controlledValue !== void 0;
1147
866
  const value = isControlled ? controlledValue : uncontrolledValue;
1148
867
  const handleValueChange = useCallback2(
@@ -1155,7 +874,7 @@ function AccordionSingle({
1155
874
  },
1156
875
  [value, collapsible, isControlled, onValueChange]
1157
876
  );
1158
- return /* @__PURE__ */ jsx13(
877
+ return /* @__PURE__ */ jsx9(
1159
878
  AccordionContext.Provider,
1160
879
  {
1161
880
  value: {
@@ -1163,7 +882,7 @@ function AccordionSingle({
1163
882
  value,
1164
883
  onValueChange: handleValueChange
1165
884
  },
1166
- children: /* @__PURE__ */ jsx13("div", { className: cn("space-y-2", className), "data-accordion-root": "", children })
885
+ children: /* @__PURE__ */ jsx9("div", { className: cn("space-y-2", className), "data-accordion-root": "", children })
1167
886
  }
1168
887
  );
1169
888
  }
@@ -1174,7 +893,7 @@ function AccordionMultiple({
1174
893
  children,
1175
894
  className
1176
895
  }) {
1177
- const [uncontrolledValue, setUncontrolledValue] = useState3(defaultValue);
896
+ const [uncontrolledValue, setUncontrolledValue] = useState2(defaultValue);
1178
897
  const isControlled = controlledValue !== void 0;
1179
898
  const value = isControlled ? controlledValue : uncontrolledValue;
1180
899
  const handleValueChange = useCallback2(
@@ -1187,7 +906,7 @@ function AccordionMultiple({
1187
906
  },
1188
907
  [value, isControlled, onValueChange]
1189
908
  );
1190
- return /* @__PURE__ */ jsx13(
909
+ return /* @__PURE__ */ jsx9(
1191
910
  AccordionContext.Provider,
1192
911
  {
1193
912
  value: {
@@ -1195,15 +914,15 @@ function AccordionMultiple({
1195
914
  value,
1196
915
  onValueChange: handleValueChange
1197
916
  },
1198
- children: /* @__PURE__ */ jsx13("div", { className: cn("space-y-2", className), "data-accordion-root": "", children })
917
+ children: /* @__PURE__ */ jsx9("div", { className: cn("space-y-2", className), "data-accordion-root": "", children })
1199
918
  }
1200
919
  );
1201
920
  }
1202
921
  function Accordion(props) {
1203
922
  if (props.type === "multiple") {
1204
- return /* @__PURE__ */ jsx13(AccordionMultiple, { ...props });
923
+ return /* @__PURE__ */ jsx9(AccordionMultiple, { ...props });
1205
924
  }
1206
- return /* @__PURE__ */ jsx13(AccordionSingle, { ...props });
925
+ return /* @__PURE__ */ jsx9(AccordionSingle, { ...props });
1207
926
  }
1208
927
  function AccordionItem({
1209
928
  value,
@@ -1213,15 +932,15 @@ function AccordionItem({
1213
932
  testId
1214
933
  }) {
1215
934
  const { value: accordionValue, type } = useAccordion();
1216
- const uniqueId = useId3();
935
+ const uniqueId = useId2();
1217
936
  const triggerId = `accordion-trigger-${uniqueId}`;
1218
937
  const contentId = `accordion-content-${uniqueId}`;
1219
938
  const isOpen = type === "single" ? accordionValue === value : accordionValue.includes(value);
1220
- return /* @__PURE__ */ jsx13(
939
+ return /* @__PURE__ */ jsx9(
1221
940
  AccordionItemContext.Provider,
1222
941
  {
1223
942
  value: { value, isOpen, triggerId, contentId, disabled },
1224
- children: /* @__PURE__ */ jsx13(
943
+ children: /* @__PURE__ */ jsx9(
1225
944
  "div",
1226
945
  {
1227
946
  className: cn(
@@ -1247,7 +966,7 @@ function AccordionTrigger({
1247
966
  }) {
1248
967
  const { onValueChange } = useAccordion();
1249
968
  const { value, isOpen, triggerId, contentId, disabled } = useAccordionItem();
1250
- return /* @__PURE__ */ jsxs9(
969
+ return /* @__PURE__ */ jsxs6(
1251
970
  "button",
1252
971
  {
1253
972
  id: triggerId,
@@ -1266,14 +985,14 @@ function AccordionTrigger({
1266
985
  "data-state": isOpen ? "open" : "closed",
1267
986
  "data-testid": testId,
1268
987
  children: [
1269
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-3", children: [
1270
- icon && /* @__PURE__ */ jsx13("span", { className: "shrink-0", children: icon }),
1271
- /* @__PURE__ */ jsx13("span", { children })
988
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-3", children: [
989
+ icon && /* @__PURE__ */ jsx9("span", { className: "shrink-0", children: icon }),
990
+ /* @__PURE__ */ jsx9("span", { children })
1272
991
  ] }),
1273
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-2", children: [
992
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-2", children: [
1274
993
  rightContent,
1275
- /* @__PURE__ */ jsx13(
1276
- ChevronDown2,
994
+ /* @__PURE__ */ jsx9(
995
+ ChevronDown,
1277
996
  {
1278
997
  className: cn(
1279
998
  "size-5 shrink-0 text-muted-foreground transition-transform duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
@@ -1293,7 +1012,7 @@ function AccordionContent({
1293
1012
  testId
1294
1013
  }) {
1295
1014
  const { isOpen, contentId, triggerId } = useAccordionItem();
1296
- return /* @__PURE__ */ jsx13(
1015
+ return /* @__PURE__ */ jsx9(
1297
1016
  "div",
1298
1017
  {
1299
1018
  id: contentId,
@@ -1307,7 +1026,7 @@ function AccordionContent({
1307
1026
  "grid transition-all duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
1308
1027
  isOpen ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0"
1309
1028
  ),
1310
- children: /* @__PURE__ */ jsx13("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx13("div", { className: cn("px-4 pb-4", className), children }) })
1029
+ children: /* @__PURE__ */ jsx9("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx9("div", { className: cn("px-4 pb-4", className), children }) })
1311
1030
  }
1312
1031
  );
1313
1032
  }
@@ -1325,10 +1044,10 @@ function SimpleAccordion({
1325
1044
  triggerTestId,
1326
1045
  contentTestId
1327
1046
  }) {
1328
- const [uncontrolledOpen, setUncontrolledOpen] = useState3(defaultOpen);
1047
+ const [uncontrolledOpen, setUncontrolledOpen] = useState2(defaultOpen);
1329
1048
  const isControlled = controlledOpen !== void 0;
1330
1049
  const isOpen = isControlled ? controlledOpen : uncontrolledOpen;
1331
- const uniqueId = useId3();
1050
+ const uniqueId = useId2();
1332
1051
  const triggerId = `simple-accordion-trigger-${uniqueId}`;
1333
1052
  const contentId = `simple-accordion-content-${uniqueId}`;
1334
1053
  const toggle = useCallback2(() => {
@@ -1338,7 +1057,7 @@ function SimpleAccordion({
1338
1057
  }
1339
1058
  onOpenChange?.(newValue);
1340
1059
  }, [isOpen, isControlled, onOpenChange]);
1341
- return /* @__PURE__ */ jsxs9(
1060
+ return /* @__PURE__ */ jsxs6(
1342
1061
  "div",
1343
1062
  {
1344
1063
  className: cn(
@@ -1347,7 +1066,7 @@ function SimpleAccordion({
1347
1066
  ),
1348
1067
  "data-state": isOpen ? "open" : "closed",
1349
1068
  children: [
1350
- /* @__PURE__ */ jsxs9(
1069
+ /* @__PURE__ */ jsxs6(
1351
1070
  "button",
1352
1071
  {
1353
1072
  id: triggerId,
@@ -1365,14 +1084,14 @@ function SimpleAccordion({
1365
1084
  "data-state": isOpen ? "open" : "closed",
1366
1085
  "data-testid": triggerTestId,
1367
1086
  children: [
1368
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-3", children: [
1369
- icon && /* @__PURE__ */ jsx13("span", { className: "shrink-0", children: icon }),
1370
- /* @__PURE__ */ jsx13("span", { children: title })
1087
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-3", children: [
1088
+ icon && /* @__PURE__ */ jsx9("span", { className: "shrink-0", children: icon }),
1089
+ /* @__PURE__ */ jsx9("span", { children: title })
1371
1090
  ] }),
1372
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-2", children: [
1091
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-2", children: [
1373
1092
  rightContent,
1374
- /* @__PURE__ */ jsx13(
1375
- ChevronDown2,
1093
+ /* @__PURE__ */ jsx9(
1094
+ ChevronDown,
1376
1095
  {
1377
1096
  className: cn(
1378
1097
  "size-5 shrink-0 text-muted-foreground transition-transform duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
@@ -1385,7 +1104,7 @@ function SimpleAccordion({
1385
1104
  ]
1386
1105
  }
1387
1106
  ),
1388
- /* @__PURE__ */ jsx13(
1107
+ /* @__PURE__ */ jsx9(
1389
1108
  "div",
1390
1109
  {
1391
1110
  id: contentId,
@@ -1398,7 +1117,7 @@ function SimpleAccordion({
1398
1117
  "grid transition-all duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
1399
1118
  isOpen ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0"
1400
1119
  ),
1401
- children: /* @__PURE__ */ jsx13("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx13("div", { className: cn("px-4 pb-4", contentClassName), children }) })
1120
+ children: /* @__PURE__ */ jsx9("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx9("div", { className: cn("px-4 pb-4", contentClassName), children }) })
1402
1121
  }
1403
1122
  )
1404
1123
  ]
@@ -1407,9 +1126,9 @@ function SimpleAccordion({
1407
1126
  }
1408
1127
 
1409
1128
  // src/confirm-dialog.tsx
1410
- import * as React8 from "react";
1129
+ import * as React6 from "react";
1411
1130
  import { Loader2 } from "lucide-react";
1412
- import { Fragment as Fragment3, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1131
+ import { Fragment, jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
1413
1132
  function ConfirmDialog({
1414
1133
  title,
1415
1134
  message,
@@ -1424,25 +1143,19 @@ function ConfirmDialog({
1424
1143
  confirmVariant = "default",
1425
1144
  className
1426
1145
  }) {
1427
- React8.useEffect(() => {
1428
- function handleKeyDown(e) {
1429
- if (e.key === "Escape" && !isLoading) {
1430
- onCancel();
1431
- }
1432
- }
1433
- document.addEventListener("keydown", handleKeyDown);
1434
- return () => document.removeEventListener("keydown", handleKeyDown);
1435
- }, [onCancel, isLoading]);
1436
- return /* @__PURE__ */ jsx14(
1146
+ const panel = React6.useRef(null);
1147
+ useModalSurface(true, panel, isLoading ? void 0 : onCancel);
1148
+ return /* @__PURE__ */ jsx10(
1437
1149
  "div",
1438
1150
  {
1439
- className: "fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm dark:bg-background/80",
1151
+ ref: panel,
1152
+ className: "z-modal fixed inset-0 flex items-center justify-center bg-background/80 backdrop-blur-sm dark:bg-background/80",
1440
1153
  role: "dialog",
1441
1154
  "aria-modal": "true",
1442
1155
  "aria-labelledby": "confirm-dialog-title",
1443
1156
  "aria-describedby": "confirm-dialog-description",
1444
1157
  "data-testid": dialogTestId,
1445
- children: /* @__PURE__ */ jsxs10(
1158
+ children: /* @__PURE__ */ jsxs7(
1446
1159
  "div",
1447
1160
  {
1448
1161
  className: cn(
@@ -1451,7 +1164,7 @@ function ConfirmDialog({
1451
1164
  className
1452
1165
  ),
1453
1166
  children: [
1454
- /* @__PURE__ */ jsx14(
1167
+ /* @__PURE__ */ jsx10(
1455
1168
  "h3",
1456
1169
  {
1457
1170
  id: "confirm-dialog-title",
@@ -1459,7 +1172,7 @@ function ConfirmDialog({
1459
1172
  children: title
1460
1173
  }
1461
1174
  ),
1462
- /* @__PURE__ */ jsx14(
1175
+ /* @__PURE__ */ jsx10(
1463
1176
  "p",
1464
1177
  {
1465
1178
  id: "confirm-dialog-description",
@@ -1467,8 +1180,8 @@ function ConfirmDialog({
1467
1180
  children: message
1468
1181
  }
1469
1182
  ),
1470
- /* @__PURE__ */ jsxs10("div", { className: "mt-6 flex justify-end gap-3", children: [
1471
- /* @__PURE__ */ jsx14(
1183
+ /* @__PURE__ */ jsxs7("div", { className: "mt-6 flex justify-end gap-3", children: [
1184
+ /* @__PURE__ */ jsx10(
1472
1185
  Button,
1473
1186
  {
1474
1187
  variant: "ghost",
@@ -1478,15 +1191,15 @@ function ConfirmDialog({
1478
1191
  children: cancelLabel
1479
1192
  }
1480
1193
  ),
1481
- /* @__PURE__ */ jsx14(
1194
+ /* @__PURE__ */ jsx10(
1482
1195
  Button,
1483
1196
  {
1484
1197
  variant: confirmVariant,
1485
1198
  onClick: onConfirm,
1486
1199
  disabled: isLoading,
1487
1200
  "data-testid": confirmTestId,
1488
- children: isLoading ? /* @__PURE__ */ jsxs10(Fragment3, { children: [
1489
- /* @__PURE__ */ jsx14(Loader2, { className: "mr-2 size-4 animate-spin" }),
1201
+ children: isLoading ? /* @__PURE__ */ jsxs7(Fragment, { children: [
1202
+ /* @__PURE__ */ jsx10(Loader2, { className: "mr-2 size-4 animate-spin" }),
1490
1203
  confirmLabel,
1491
1204
  "..."
1492
1205
  ] }) : confirmLabel
@@ -1501,10 +1214,10 @@ function ConfirmDialog({
1501
1214
  }
1502
1215
 
1503
1216
  // src/dicebear-avatar.tsx
1504
- import * as React9 from "react";
1505
- import { cva as cva3 } from "class-variance-authority";
1506
- import { jsx as jsx15 } from "react/jsx-runtime";
1507
- var avatarVariants = cva3(
1217
+ import * as React7 from "react";
1218
+ import { cva as cva2 } from "class-variance-authority";
1219
+ import { jsx as jsx11 } from "react/jsx-runtime";
1220
+ var avatarVariants = cva2(
1508
1221
  "relative inline-flex shrink-0 overflow-hidden rounded-full bg-muted dark:bg-muted",
1509
1222
  {
1510
1223
  variants: {
@@ -1527,7 +1240,7 @@ function buildDiceBearUrl(seed, style = "adventurer-neutral") {
1527
1240
  const encodedSeed = encodeURIComponent(seed);
1528
1241
  return `${DICEBEAR_BASE_URL}/${style}/svg?seed=${encodedSeed}`;
1529
1242
  }
1530
- var DiceBearAvatar = React9.forwardRef(
1243
+ var DiceBearAvatar = React7.forwardRef(
1531
1244
  ({
1532
1245
  seed,
1533
1246
  avatarStyle = "adventurer-neutral",
@@ -1537,18 +1250,18 @@ var DiceBearAvatar = React9.forwardRef(
1537
1250
  className,
1538
1251
  ...props
1539
1252
  }, ref) => {
1540
- const [hasError, setHasError] = React9.useState(false);
1253
+ const [hasError, setHasError] = React7.useState(false);
1541
1254
  const url = buildDiceBearUrl(seed, avatarStyle);
1542
- React9.useEffect(() => {
1255
+ React7.useEffect(() => {
1543
1256
  setHasError(false);
1544
1257
  }, [seed, avatarStyle]);
1545
- return /* @__PURE__ */ jsx15(
1258
+ return /* @__PURE__ */ jsx11(
1546
1259
  "div",
1547
1260
  {
1548
1261
  ref,
1549
1262
  className: cn(avatarVariants({ size }), className),
1550
1263
  ...props,
1551
- children: hasError ? fallback ? /* @__PURE__ */ jsx15("div", { className: "flex h-full w-full items-center justify-center text-xs font-medium text-muted-foreground dark:text-muted-foreground", children: fallback }) : /* @__PURE__ */ jsx15("div", { className: "text-primary-text dark:text-primary-text flex h-full w-full items-center justify-center bg-primary/10 text-xs font-medium dark:bg-primary/10", children: seed.charAt(0).toUpperCase() }) : /* @__PURE__ */ jsx15(
1264
+ children: hasError ? fallback ? /* @__PURE__ */ jsx11("div", { className: "flex h-full w-full items-center justify-center text-xs font-medium text-muted-foreground dark:text-muted-foreground", children: fallback }) : /* @__PURE__ */ jsx11("div", { className: "text-primary-text dark:text-primary-text flex h-full w-full items-center justify-center bg-primary/10 text-xs font-medium dark:bg-primary/10", children: seed.charAt(0).toUpperCase() }) : /* @__PURE__ */ jsx11(
1552
1265
  "img",
1553
1266
  {
1554
1267
  src: url,
@@ -1564,14 +1277,14 @@ var DiceBearAvatar = React9.forwardRef(
1564
1277
  DiceBearAvatar.displayName = "DiceBearAvatar";
1565
1278
 
1566
1279
  // src/intent-icon.tsx
1567
- import { Check as Check2, AlertTriangle, X as X2, Info as Info2 } from "lucide-react";
1568
- import { jsx as jsx16 } from "react/jsx-runtime";
1280
+ import { Check, AlertTriangle, X, Info } from "lucide-react";
1281
+ import { jsx as jsx12 } from "react/jsx-runtime";
1569
1282
  var intentConfig = {
1570
1283
  success: {
1571
1284
  outerBg: "bg-[rgba(33,196,93,0.10)] dark:bg-[rgba(33,196,93,0.10)]",
1572
1285
  innerBg: "bg-[rgba(33,196,93,0.20)] dark:bg-[rgba(33,196,93,0.20)]",
1573
1286
  iconColor: "text-[#21c45d] dark:text-[#21c45d]",
1574
- Icon: Check2
1287
+ Icon: Check
1575
1288
  },
1576
1289
  warning: {
1577
1290
  outerBg: "bg-[rgba(245,159,10,0.10)] dark:bg-[rgba(245,159,10,0.10)]",
@@ -1583,13 +1296,13 @@ var intentConfig = {
1583
1296
  outerBg: "bg-[rgba(239,67,67,0.10)] dark:bg-[rgba(239,67,67,0.10)]",
1584
1297
  innerBg: "bg-[rgba(239,67,67,0.20)] dark:bg-[rgba(239,67,67,0.20)]",
1585
1298
  iconColor: "text-[#ef4343] dark:text-[#ef4343]",
1586
- Icon: X2
1299
+ Icon: X
1587
1300
  },
1588
1301
  info: {
1589
1302
  outerBg: "bg-[rgba(60,131,246,0.10)] dark:bg-[rgba(60,131,246,0.10)]",
1590
1303
  innerBg: "bg-[rgba(60,131,246,0.20)] dark:bg-[rgba(60,131,246,0.20)]",
1591
1304
  iconColor: "text-[#3c83f6] dark:text-[#3c83f6]",
1592
- Icon: Info2
1305
+ Icon: Info
1593
1306
  }
1594
1307
  };
1595
1308
  var sizeConfig = {
@@ -1610,18 +1323,18 @@ function IntentIcon({
1610
1323
  }) {
1611
1324
  const { outerBg, innerBg, iconColor, Icon: Icon2 } = intentConfig[intent];
1612
1325
  const { outer, inner, iconSize } = sizeConfig[size];
1613
- return /* @__PURE__ */ jsx16(
1326
+ return /* @__PURE__ */ jsx12(
1614
1327
  "div",
1615
1328
  {
1616
1329
  "data-testid": "intent-icon",
1617
1330
  className: `${outer} ${outerBg} flex items-center justify-center`,
1618
- children: /* @__PURE__ */ jsx16("div", { className: `${inner} ${innerBg} flex items-center justify-center`, children: /* @__PURE__ */ jsx16(Icon2, { className: iconColor, size: iconSize }) })
1331
+ children: /* @__PURE__ */ jsx12("div", { className: `${inner} ${innerBg} flex items-center justify-center`, children: /* @__PURE__ */ jsx12(Icon2, { className: iconColor, size: iconSize }) })
1619
1332
  }
1620
1333
  );
1621
1334
  }
1622
1335
 
1623
1336
  // src/section-heading.tsx
1624
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1337
+ import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1625
1338
  var sizeConfig2 = {
1626
1339
  display: {
1627
1340
  className: "text-4xl font-bold leading-10",
@@ -1646,26 +1359,26 @@ function SectionHeading({
1646
1359
  align = "center",
1647
1360
  size = "h1"
1648
1361
  }) {
1649
- const { className: sizeClass, tag: Tag2 } = sizeConfig2[size];
1650
- return /* @__PURE__ */ jsxs11(
1362
+ const { className: sizeClass, tag: Tag } = sizeConfig2[size];
1363
+ return /* @__PURE__ */ jsxs8(
1651
1364
  "div",
1652
1365
  {
1653
1366
  "data-testid": "section-heading",
1654
1367
  className: cn(
1655
- "flex max-w-[480px] flex-col gap-2",
1368
+ "flex flex-col gap-2",
1656
1369
  align === "center" && "mx-auto items-center text-center",
1657
1370
  align === "left" && "items-start text-left"
1658
1371
  ),
1659
1372
  children: [
1660
- /* @__PURE__ */ jsx17(Tag2, { className: cn("text-foreground dark:text-foreground", sizeClass), children: title }),
1661
- description && /* @__PURE__ */ jsx17("p", { className: "text-sm font-normal leading-[21px] text-muted-foreground dark:text-muted-foreground", children: description })
1373
+ /* @__PURE__ */ jsx13(Tag, { className: cn("text-foreground dark:text-foreground", sizeClass), children: title }),
1374
+ description && /* @__PURE__ */ jsx13("p", { className: "max-w-[480px] text-sm font-normal leading-[21px] text-muted-foreground dark:text-muted-foreground", children: description })
1662
1375
  ]
1663
1376
  }
1664
1377
  );
1665
1378
  }
1666
1379
 
1667
1380
  // src/filter-chip.tsx
1668
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1381
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1669
1382
  function FilterChip({
1670
1383
  label,
1671
1384
  active = false,
@@ -1673,7 +1386,7 @@ function FilterChip({
1673
1386
  size = "md",
1674
1387
  onClick
1675
1388
  }) {
1676
- return /* @__PURE__ */ jsxs12(
1389
+ return /* @__PURE__ */ jsxs9(
1677
1390
  "button",
1678
1391
  {
1679
1392
  type: "button",
@@ -1689,21 +1402,21 @@ function FilterChip({
1689
1402
  // State — inactive
1690
1403
  !active && "border-border bg-background text-muted-foreground dark:border-border dark:bg-background dark:text-muted-foreground",
1691
1404
  // State — active
1692
- active && "border-foreground bg-foreground text-background dark:border-foreground dark:bg-foreground dark:text-background",
1405
+ active && "bg-primary-solid dark:bg-primary-solid border-transparent text-primary-foreground dark:border-transparent dark:text-primary-foreground",
1693
1406
  // Hover
1694
1407
  !active && "hover:bg-muted dark:hover:bg-muted",
1695
- active && "hover:bg-foreground/90 dark:hover:bg-foreground/90"
1408
+ active && "hover:bg-[color-mix(in_oklab,hsl(var(--primary-solid))_85%,black)] dark:hover:bg-[color-mix(in_oklab,hsl(var(--primary-solid))_85%,black)]"
1696
1409
  ),
1697
1410
  children: [
1698
1411
  label,
1699
- count != null && /* @__PURE__ */ jsx18(
1412
+ count != null && /* @__PURE__ */ jsx14(
1700
1413
  "span",
1701
1414
  {
1702
1415
  className: cn(
1703
1416
  "inline-flex items-center justify-center rounded-full px-[5px] text-[11px] font-semibold",
1704
1417
  "h-[18px] min-w-[18px]",
1705
1418
  !active && "bg-muted text-muted-foreground dark:bg-muted dark:text-muted-foreground",
1706
- active && "bg-background/30 text-background dark:bg-background/30 dark:text-background"
1419
+ active && "text-primary-solid dark:text-primary-solid bg-primary-foreground dark:bg-primary-foreground"
1707
1420
  ),
1708
1421
  children: count
1709
1422
  }
@@ -1714,35 +1427,35 @@ function FilterChip({
1714
1427
  }
1715
1428
 
1716
1429
  // src/distribution-chip.tsx
1717
- import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1430
+ import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1718
1431
  function DistributionChip({
1719
1432
  count,
1720
1433
  label,
1721
1434
  dotClass,
1722
1435
  testId
1723
1436
  }) {
1724
- return /* @__PURE__ */ jsxs13(
1437
+ return /* @__PURE__ */ jsxs10(
1725
1438
  "span",
1726
1439
  {
1727
1440
  "data-testid": testId,
1728
1441
  className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1 text-sm font-medium text-foreground",
1729
1442
  children: [
1730
- /* @__PURE__ */ jsx19("span", { className: `size-2 rounded-full ${dotClass}` }),
1731
- /* @__PURE__ */ jsx19("span", { className: "tabular-nums", children: count }),
1732
- /* @__PURE__ */ jsx19("span", { className: "text-muted-foreground", children: label })
1443
+ /* @__PURE__ */ jsx15("span", { className: `size-2 rounded-full ${dotClass}` }),
1444
+ /* @__PURE__ */ jsx15("span", { className: "tabular-nums", children: count }),
1445
+ /* @__PURE__ */ jsx15("span", { className: "text-muted-foreground", children: label })
1733
1446
  ]
1734
1447
  }
1735
1448
  );
1736
1449
  }
1737
1450
 
1738
1451
  // src/skeleton-bar.tsx
1739
- import { jsx as jsx20 } from "react/jsx-runtime";
1452
+ import { jsx as jsx16 } from "react/jsx-runtime";
1740
1453
  function SkeletonBar({
1741
1454
  width = "full",
1742
1455
  height = 14,
1743
1456
  className = ""
1744
1457
  }) {
1745
- return /* @__PURE__ */ jsx20(
1458
+ return /* @__PURE__ */ jsx16(
1746
1459
  "div",
1747
1460
  {
1748
1461
  "data-testid": "skeleton-bar",
@@ -1760,9 +1473,9 @@ function SkeletonBar({
1760
1473
  }
1761
1474
 
1762
1475
  // src/skeleton-card.tsx
1763
- import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
1476
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1764
1477
  function SkeletonCard({ className = "" }) {
1765
- return /* @__PURE__ */ jsxs14(
1478
+ return /* @__PURE__ */ jsxs11(
1766
1479
  "div",
1767
1480
  {
1768
1481
  "data-testid": "skeleton-card",
@@ -1771,18 +1484,18 @@ function SkeletonCard({ className = "" }) {
1771
1484
  className
1772
1485
  ),
1773
1486
  children: [
1774
- /* @__PURE__ */ jsx21(SkeletonBar, { width: 80, height: 10 }),
1775
- /* @__PURE__ */ jsx21(SkeletonBar, { width: 60, height: 24 }),
1776
- /* @__PURE__ */ jsx21(SkeletonBar, { width: 100, height: 10 })
1487
+ /* @__PURE__ */ jsx17(SkeletonBar, { width: 80, height: 10 }),
1488
+ /* @__PURE__ */ jsx17(SkeletonBar, { width: 60, height: 24 }),
1489
+ /* @__PURE__ */ jsx17(SkeletonBar, { width: 100, height: 10 })
1777
1490
  ]
1778
1491
  }
1779
1492
  );
1780
1493
  }
1781
1494
 
1782
1495
  // src/skeleton-row.tsx
1783
- import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
1496
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1784
1497
  function SkeletonRow({ className = "" }) {
1785
- return /* @__PURE__ */ jsxs15(
1498
+ return /* @__PURE__ */ jsxs12(
1786
1499
  "div",
1787
1500
  {
1788
1501
  "data-testid": "skeleton-row",
@@ -1791,10 +1504,10 @@ function SkeletonRow({ className = "" }) {
1791
1504
  className
1792
1505
  ),
1793
1506
  children: [
1794
- /* @__PURE__ */ jsx22("div", { className: "h-9 w-9 flex-shrink-0 animate-pulse rounded-full bg-muted dark:bg-muted" }),
1795
- /* @__PURE__ */ jsxs15("div", { className: "flex flex-1 flex-col gap-1.5", children: [
1796
- /* @__PURE__ */ jsx22(SkeletonBar, { width: 200, height: 12 }),
1797
- /* @__PURE__ */ jsx22(SkeletonBar, { width: 140, height: 10 })
1507
+ /* @__PURE__ */ jsx18("div", { className: "h-9 w-9 flex-shrink-0 animate-pulse rounded-full bg-muted dark:bg-muted" }),
1508
+ /* @__PURE__ */ jsxs12("div", { className: "flex flex-1 flex-col gap-1.5", children: [
1509
+ /* @__PURE__ */ jsx18(SkeletonBar, { width: 200, height: 12 }),
1510
+ /* @__PURE__ */ jsx18(SkeletonBar, { width: 140, height: 10 })
1798
1511
  ] })
1799
1512
  ]
1800
1513
  }
@@ -1802,10 +1515,10 @@ function SkeletonRow({ className = "" }) {
1802
1515
  }
1803
1516
 
1804
1517
  // src/stacked-list.tsx
1805
- import * as React10 from "react";
1806
- import { jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
1807
- var StackedList = React10.forwardRef(
1808
- ({ className, divided = true, density = "default", ...props }, ref) => /* @__PURE__ */ jsx23(
1518
+ import * as React8 from "react";
1519
+ import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1520
+ var StackedList = React8.forwardRef(
1521
+ ({ className, divided = true, density = "default", ...props }, ref) => /* @__PURE__ */ jsx19(
1809
1522
  "ul",
1810
1523
  {
1811
1524
  ref,
@@ -1817,7 +1530,7 @@ var StackedList = React10.forwardRef(
1817
1530
  )
1818
1531
  );
1819
1532
  StackedList.displayName = "StackedList";
1820
- var StackedListItem = React10.forwardRef(
1533
+ var StackedListItem = React8.forwardRef(
1821
1534
  ({
1822
1535
  className,
1823
1536
  avatar,
@@ -1827,7 +1540,7 @@ var StackedListItem = React10.forwardRef(
1827
1540
  action,
1828
1541
  density = "default",
1829
1542
  ...props
1830
- }, ref) => /* @__PURE__ */ jsxs16(
1543
+ }, ref) => /* @__PURE__ */ jsxs13(
1831
1544
  "li",
1832
1545
  {
1833
1546
  ref,
@@ -1838,9 +1551,9 @@ var StackedListItem = React10.forwardRef(
1838
1551
  ),
1839
1552
  ...props,
1840
1553
  children: [
1841
- avatar && /* @__PURE__ */ jsx23("div", { className: "flex-shrink-0", children: avatar }),
1842
- /* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
1843
- /* @__PURE__ */ jsx23(
1554
+ avatar && /* @__PURE__ */ jsx19("div", { className: "flex-shrink-0", children: avatar }),
1555
+ /* @__PURE__ */ jsxs13("div", { className: "min-w-0 flex-1", children: [
1556
+ /* @__PURE__ */ jsx19(
1844
1557
  "p",
1845
1558
  {
1846
1559
  className: cn(
@@ -1850,7 +1563,7 @@ var StackedListItem = React10.forwardRef(
1850
1563
  children: title
1851
1564
  }
1852
1565
  ),
1853
- description && /* @__PURE__ */ jsx23(
1566
+ description && /* @__PURE__ */ jsx19(
1854
1567
  "p",
1855
1568
  {
1856
1569
  className: cn(
@@ -1861,8 +1574,8 @@ var StackedListItem = React10.forwardRef(
1861
1574
  }
1862
1575
  )
1863
1576
  ] }),
1864
- meta && /* @__PURE__ */ jsx23("span", { className: "flex-shrink-0 text-sm text-muted-foreground", children: meta }),
1865
- action && /* @__PURE__ */ jsx23("div", { className: "flex-shrink-0", children: action })
1577
+ meta && /* @__PURE__ */ jsx19("span", { className: "flex-shrink-0 text-sm text-muted-foreground", children: meta }),
1578
+ action && /* @__PURE__ */ jsx19("div", { className: "flex-shrink-0", children: action })
1866
1579
  ]
1867
1580
  }
1868
1581
  )
@@ -1870,8 +1583,8 @@ var StackedListItem = React10.forwardRef(
1870
1583
  StackedListItem.displayName = "StackedListItem";
1871
1584
 
1872
1585
  // src/grid-list.tsx
1873
- import * as React11 from "react";
1874
- import { jsx as jsx24 } from "react/jsx-runtime";
1586
+ import * as React9 from "react";
1587
+ import { jsx as jsx20 } from "react/jsx-runtime";
1875
1588
  var COLUMN_CLASSES = {
1876
1589
  2: "grid-cols-1 sm:grid-cols-2",
1877
1590
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
@@ -1882,8 +1595,8 @@ var GAP_CLASSES = {
1882
1595
  md: "gap-4",
1883
1596
  lg: "gap-6"
1884
1597
  };
1885
- var GridList = React11.forwardRef(
1886
- ({ className, columns = 3, gap = "md", ...props }, ref) => /* @__PURE__ */ jsx24(
1598
+ var GridList = React9.forwardRef(
1599
+ ({ className, columns = 3, gap = "md", ...props }, ref) => /* @__PURE__ */ jsx20(
1887
1600
  "div",
1888
1601
  {
1889
1602
  ref,
@@ -1898,8 +1611,8 @@ var GridList = React11.forwardRef(
1898
1611
  )
1899
1612
  );
1900
1613
  GridList.displayName = "GridList";
1901
- var GridListItem = React11.forwardRef(
1902
- ({ className, hoverable = false, ...props }, ref) => /* @__PURE__ */ jsx24(
1614
+ var GridListItem = React9.forwardRef(
1615
+ ({ className, hoverable = false, ...props }, ref) => /* @__PURE__ */ jsx20(
1903
1616
  "div",
1904
1617
  {
1905
1618
  ref,
@@ -1915,8 +1628,8 @@ var GridListItem = React11.forwardRef(
1915
1628
  GridListItem.displayName = "GridListItem";
1916
1629
 
1917
1630
  // src/pagination.tsx
1918
- import * as React12 from "react";
1919
- import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
1631
+ import * as React10 from "react";
1632
+ import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
1920
1633
  function getPageRange(current, total, siblings) {
1921
1634
  const range = [];
1922
1635
  const left = Math.max(2, current - siblings);
@@ -1928,7 +1641,7 @@ function getPageRange(current, total, siblings) {
1928
1641
  if (total > 1) range.push(total);
1929
1642
  return range;
1930
1643
  }
1931
- var PaginationButton = React12.forwardRef(({ className, active, disabled, ...props }, ref) => /* @__PURE__ */ jsx25(
1644
+ var PaginationButton = React10.forwardRef(({ className, active, disabled, ...props }, ref) => /* @__PURE__ */ jsx21(
1932
1645
  "button",
1933
1646
  {
1934
1647
  ref,
@@ -1945,7 +1658,7 @@ var PaginationButton = React12.forwardRef(({ className, active, disabled, ...pro
1945
1658
  }
1946
1659
  ));
1947
1660
  PaginationButton.displayName = "PaginationButton";
1948
- var Pagination = React12.forwardRef(
1661
+ var Pagination = React10.forwardRef(
1949
1662
  ({
1950
1663
  className,
1951
1664
  currentPage,
@@ -1961,7 +1674,7 @@ var Pagination = React12.forwardRef(
1961
1674
  }
1962
1675
  };
1963
1676
  if (variant === "simple") {
1964
- return /* @__PURE__ */ jsxs17(
1677
+ return /* @__PURE__ */ jsxs14(
1965
1678
  "nav",
1966
1679
  {
1967
1680
  ref,
@@ -1969,7 +1682,7 @@ var Pagination = React12.forwardRef(
1969
1682
  className: cn("flex items-center justify-between", className),
1970
1683
  ...props,
1971
1684
  children: [
1972
- /* @__PURE__ */ jsx25(
1685
+ /* @__PURE__ */ jsx21(
1973
1686
  PaginationButton,
1974
1687
  {
1975
1688
  onClick: () => handleChange(currentPage - 1),
@@ -1977,13 +1690,13 @@ var Pagination = React12.forwardRef(
1977
1690
  children: "Previous"
1978
1691
  }
1979
1692
  ),
1980
- /* @__PURE__ */ jsxs17("span", { className: "text-sm text-muted-foreground", children: [
1693
+ /* @__PURE__ */ jsxs14("span", { className: "text-sm text-muted-foreground", children: [
1981
1694
  "Page ",
1982
1695
  currentPage,
1983
1696
  " of ",
1984
1697
  totalPages
1985
1698
  ] }),
1986
- /* @__PURE__ */ jsx25(
1699
+ /* @__PURE__ */ jsx21(
1987
1700
  PaginationButton,
1988
1701
  {
1989
1702
  onClick: () => handleChange(currentPage + 1),
@@ -1996,7 +1709,7 @@ var Pagination = React12.forwardRef(
1996
1709
  );
1997
1710
  }
1998
1711
  const pages = getPageRange(currentPage, totalPages, siblingCount);
1999
- return /* @__PURE__ */ jsxs17(
1712
+ return /* @__PURE__ */ jsxs14(
2000
1713
  "nav",
2001
1714
  {
2002
1715
  ref,
@@ -2008,7 +1721,7 @@ var Pagination = React12.forwardRef(
2008
1721
  ),
2009
1722
  ...props,
2010
1723
  children: [
2011
- /* @__PURE__ */ jsx25(
1724
+ /* @__PURE__ */ jsx21(
2012
1725
  PaginationButton,
2013
1726
  {
2014
1727
  onClick: () => handleChange(currentPage - 1),
@@ -2017,14 +1730,14 @@ var Pagination = React12.forwardRef(
2017
1730
  }
2018
1731
  ),
2019
1732
  pages.map(
2020
- (page, i) => page === "ellipsis" ? /* @__PURE__ */ jsx25(
1733
+ (page, i) => page === "ellipsis" ? /* @__PURE__ */ jsx21(
2021
1734
  "span",
2022
1735
  {
2023
1736
  className: "inline-flex h-9 min-w-9 items-center justify-center text-sm text-muted-foreground",
2024
1737
  children: "..."
2025
1738
  },
2026
1739
  `ellipsis-${i}`
2027
- ) : /* @__PURE__ */ jsx25(
1740
+ ) : /* @__PURE__ */ jsx21(
2028
1741
  PaginationButton,
2029
1742
  {
2030
1743
  active: page === currentPage,
@@ -2034,7 +1747,7 @@ var Pagination = React12.forwardRef(
2034
1747
  page
2035
1748
  )
2036
1749
  ),
2037
- /* @__PURE__ */ jsx25(
1750
+ /* @__PURE__ */ jsx21(
2038
1751
  PaginationButton,
2039
1752
  {
2040
1753
  onClick: () => handleChange(currentPage + 1),
@@ -2050,106 +1763,9 @@ var Pagination = React12.forwardRef(
2050
1763
  Pagination.displayName = "Pagination";
2051
1764
 
2052
1765
  // src/stepper.tsx
2053
- import * as React14 from "react";
2054
-
2055
- // src/scroll-hint-mark.tsx
2056
- import * as React13 from "react";
2057
-
2058
- // src/scroll-hint.ts
2059
- var SCROLL_HINT_X = "";
2060
- var SCROLL_HINT_X_MARK = "pointer-events-none sticky right-0 z-10 ml-2 flex w-6 shrink-0 items-center justify-end self-stretch data-[scroll-hint-state=end]:invisible data-[scroll-hint-state=none]:hidden";
2061
- var SCROLL_HINT_X_PILL = "flex h-full max-h-6 w-6 items-center justify-center rounded-full border border-border bg-card text-muted-foreground shadow-sm";
2062
- var SCROLL_HINT_Y = "[container-type:scroll-state]";
2063
- var SCROLL_HINT_Y_MARK = "pointer-events-none sticky bottom-1 -mt-7 flex h-6 justify-center supports-[container-type:scroll-state]:[@container_not_scroll-state(scrollable:bottom)]:hidden";
2064
-
2065
- // src/scroll-hint-watch.ts
2066
- function scrollHintXState(box, slotWidth) {
2067
- if (box.scrollWidth - slotWidth <= box.clientWidth + 1) return "none";
2068
- return Math.abs(box.scrollLeft) + box.clientWidth >= box.scrollWidth - 1 ? "end" : "more";
2069
- }
2070
- function scrollHintXSlotWidth(mark, scroller) {
2071
- const own = getComputedStyle(mark);
2072
- if (own.display === "none") return 0;
2073
- const px = (v, what) => {
2074
- if (v === "normal") return 0;
2075
- const n = Number.parseFloat(v);
2076
- if (!Number.isFinite(n)) {
2077
- throw new Error(
2078
- `scrollHintXSlotWidth: ${what} is "${v}", not a length in px`
2079
- );
2080
- }
2081
- return n;
2082
- };
2083
- const gap = mark.previousElementSibling === null ? 0 : px(getComputedStyle(scroller).columnGap, "the scroller's column-gap");
2084
- return mark.getBoundingClientRect().width + px(own.marginLeft, "the mark's margin-left") + px(own.marginRight, "the mark's margin-right") + gap;
2085
- }
2086
- function watchScrollHintX(mark, write) {
2087
- const scroller = mark.parentElement;
2088
- if (scroller === null) {
2089
- throw new Error(
2090
- "watchScrollHintX: the mark has no parent element; it must be the last child of the box that scrolls on x"
2091
- );
2092
- }
2093
- let last;
2094
- const update = () => {
2095
- const state = scrollHintXState(
2096
- scroller,
2097
- scrollHintXSlotWidth(mark, scroller)
2098
- );
2099
- if (state === last) return;
2100
- last = state;
2101
- write(state);
2102
- };
2103
- const resize = new ResizeObserver(update);
2104
- const observeChildren = () => {
2105
- for (const child of Array.from(scroller.children)) resize.observe(child);
2106
- };
2107
- resize.observe(scroller);
2108
- observeChildren();
2109
- const added = new MutationObserver(() => {
2110
- observeChildren();
2111
- update();
2112
- });
2113
- added.observe(scroller, { childList: true });
2114
- scroller.addEventListener("scroll", update, { passive: true });
2115
- update();
2116
- return () => {
2117
- scroller.removeEventListener("scroll", update);
2118
- resize.disconnect();
2119
- added.disconnect();
2120
- };
2121
- }
2122
-
2123
- // src/scroll-hint-mark.tsx
2124
- import { jsx as jsx26 } from "react/jsx-runtime";
2125
- function ScrollHintXMark() {
2126
- const ref = React13.useRef(null);
2127
- React13.useEffect(() => {
2128
- const mark = ref.current;
2129
- if (mark === null) {
2130
- throw new Error(
2131
- "ScrollHintXMark: the effect ran with no mounted mark (ref.current is null)"
2132
- );
2133
- }
2134
- return watchScrollHintX(mark, (state) => {
2135
- mark.dataset.scrollHintState = state;
2136
- });
2137
- }, []);
2138
- return /* @__PURE__ */ jsx26(
2139
- "div",
2140
- {
2141
- ref,
2142
- "aria-hidden": "true",
2143
- "data-scroll-hint": "x",
2144
- className: SCROLL_HINT_X_MARK,
2145
- children: /* @__PURE__ */ jsx26("span", { className: SCROLL_HINT_X_PILL, children: /* @__PURE__ */ jsx26(Icon, { name: "chevron-right", size: "sm" }) })
2146
- }
2147
- );
2148
- }
2149
-
2150
- // src/stepper.tsx
2151
- import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
2152
- var StepContext = React14.createContext({
1766
+ import * as React11 from "react";
1767
+ import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
1768
+ var StepContext = React11.createContext({
2153
1769
  index: 0,
2154
1770
  activeStep: 0,
2155
1771
  isLast: false,
@@ -2166,7 +1782,7 @@ var LABEL_SIZE = {
2166
1782
  md: "text-sm",
2167
1783
  lg: "text-base"
2168
1784
  };
2169
- var StepperStep = React14.forwardRef(
1785
+ var StepperStep = React11.forwardRef(
2170
1786
  ({
2171
1787
  className,
2172
1788
  label,
@@ -2178,10 +1794,10 @@ var StepperStep = React14.forwardRef(
2178
1794
  href,
2179
1795
  ...props
2180
1796
  }, ref) => {
2181
- const { index, activeStep, isLast, variant, size } = React14.useContext(StepContext);
1797
+ const { index, activeStep, isLast, variant, size } = React11.useContext(StepContext);
2182
1798
  const status = error ? "error" : disabled ? "disabled" : index < activeStep || completed ? "complete" : index === activeStep ? "current" : "upcoming";
2183
1799
  const isCurrent = index === activeStep && !error && !disabled;
2184
- const indicator = /* @__PURE__ */ jsx27(
1800
+ const indicator = /* @__PURE__ */ jsx22(
2185
1801
  "div",
2186
1802
  {
2187
1803
  className: cn(
@@ -2199,7 +1815,7 @@ var StepperStep = React14.forwardRef(
2199
1815
  }
2200
1816
  );
2201
1817
  if (variant === "vertical") {
2202
- return /* @__PURE__ */ jsxs18(
1818
+ return /* @__PURE__ */ jsxs15(
2203
1819
  "div",
2204
1820
  {
2205
1821
  ref,
@@ -2209,9 +1825,9 @@ var StepperStep = React14.forwardRef(
2209
1825
  className: cn("flex gap-3", disabled && "opacity-50", className),
2210
1826
  ...props,
2211
1827
  children: [
2212
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-center", children: [
1828
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-col items-center", children: [
2213
1829
  indicator,
2214
- !isLast && /* @__PURE__ */ jsx27(
1830
+ !isLast && /* @__PURE__ */ jsx22(
2215
1831
  "div",
2216
1832
  {
2217
1833
  className: cn(
@@ -2223,8 +1839,8 @@ var StepperStep = React14.forwardRef(
2223
1839
  }
2224
1840
  )
2225
1841
  ] }),
2226
- /* @__PURE__ */ jsxs18("div", { className: "pb-6", children: [
2227
- /* @__PURE__ */ jsx27(
1842
+ /* @__PURE__ */ jsxs15("div", { className: "pb-6", children: [
1843
+ /* @__PURE__ */ jsx22(
2228
1844
  "p",
2229
1845
  {
2230
1846
  className: cn(
@@ -2235,15 +1851,15 @@ var StepperStep = React14.forwardRef(
2235
1851
  children: label
2236
1852
  }
2237
1853
  ),
2238
- description && /* @__PURE__ */ jsx27("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
1854
+ description && /* @__PURE__ */ jsx22("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
2239
1855
  ] })
2240
1856
  ]
2241
1857
  }
2242
1858
  );
2243
1859
  }
2244
- const stepContent = /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2", children: [
1860
+ const stepContent = /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
2245
1861
  indicator,
2246
- /* @__PURE__ */ jsx27(
1862
+ /* @__PURE__ */ jsx22(
2247
1863
  "span",
2248
1864
  {
2249
1865
  className: cn(
@@ -2255,7 +1871,7 @@ var StepperStep = React14.forwardRef(
2255
1871
  }
2256
1872
  )
2257
1873
  ] });
2258
- return /* @__PURE__ */ jsxs18(
1874
+ return /* @__PURE__ */ jsxs15(
2259
1875
  "div",
2260
1876
  {
2261
1877
  ref,
@@ -2265,7 +1881,7 @@ var StepperStep = React14.forwardRef(
2265
1881
  className: cn("flex items-center", className),
2266
1882
  ...props,
2267
1883
  children: [
2268
- href && !disabled ? /* @__PURE__ */ jsx27(
1884
+ href && !disabled ? /* @__PURE__ */ jsx22(
2269
1885
  "a",
2270
1886
  {
2271
1887
  href,
@@ -2274,7 +1890,7 @@ var StepperStep = React14.forwardRef(
2274
1890
  children: stepContent
2275
1891
  }
2276
1892
  ) : stepContent,
2277
- !isLast && /* @__PURE__ */ jsx27(
1893
+ !isLast && /* @__PURE__ */ jsx22(
2278
1894
  "div",
2279
1895
  {
2280
1896
  className: cn(
@@ -2289,7 +1905,7 @@ var StepperStep = React14.forwardRef(
2289
1905
  }
2290
1906
  );
2291
1907
  StepperStep.displayName = "StepperStep";
2292
- var Stepper = React14.forwardRef(
1908
+ var Stepper = React11.forwardRef(
2293
1909
  ({
2294
1910
  className,
2295
1911
  variant = "horizontal",
@@ -2298,8 +1914,8 @@ var Stepper = React14.forwardRef(
2298
1914
  children,
2299
1915
  ...props
2300
1916
  }, ref) => {
2301
- const steps = React14.Children.toArray(children);
2302
- return /* @__PURE__ */ jsxs18(
1917
+ const steps = React11.Children.toArray(children);
1918
+ return /* @__PURE__ */ jsxs15(
2303
1919
  "div",
2304
1920
  {
2305
1921
  ref,
@@ -2311,7 +1927,7 @@ var Stepper = React14.forwardRef(
2311
1927
  ),
2312
1928
  ...props,
2313
1929
  children: [
2314
- steps.map((child, i) => /* @__PURE__ */ jsx27(
1930
+ steps.map((child, i) => /* @__PURE__ */ jsx22(
2315
1931
  StepContext.Provider,
2316
1932
  {
2317
1933
  value: {
@@ -2325,7 +1941,7 @@ var Stepper = React14.forwardRef(
2325
1941
  },
2326
1942
  i
2327
1943
  )),
2328
- variant === "horizontal" && /* @__PURE__ */ jsx27(ScrollHintXMark, {})
1944
+ variant === "horizontal" && /* @__PURE__ */ jsx22(ScrollHintXMark, {})
2329
1945
  ]
2330
1946
  }
2331
1947
  );
@@ -2334,14 +1950,14 @@ var Stepper = React14.forwardRef(
2334
1950
  Stepper.displayName = "Stepper";
2335
1951
 
2336
1952
  // src/command-palette.tsx
2337
- import * as React15 from "react";
2338
- import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
1953
+ import * as React12 from "react";
1954
+ import { Fragment as Fragment2, jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
2339
1955
  var SIZE_CLASSES = {
2340
1956
  sm: "max-w-sm",
2341
1957
  md: "max-w-lg",
2342
1958
  lg: "max-w-2xl"
2343
1959
  };
2344
- var CommandPalette = React15.forwardRef(
1960
+ var CommandPalette = React12.forwardRef(
2345
1961
  ({
2346
1962
  className,
2347
1963
  open,
@@ -2352,9 +1968,9 @@ var CommandPalette = React15.forwardRef(
2352
1968
  size = "md",
2353
1969
  ...props
2354
1970
  }, ref) => {
2355
- const [query, setQuery] = React15.useState("");
2356
- const [activeIndex, setActiveIndex] = React15.useState(0);
2357
- React15.useEffect(() => {
1971
+ const [query, setQuery] = React12.useState("");
1972
+ const [activeIndex, setActiveIndex] = React12.useState(0);
1973
+ React12.useEffect(() => {
2358
1974
  if (!open) return;
2359
1975
  const handler = (e) => {
2360
1976
  if (e.key === "Escape") onClose?.();
@@ -2374,7 +1990,7 @@ var CommandPalette = React15.forwardRef(
2374
1990
  document.addEventListener("keydown", handler);
2375
1991
  return () => document.removeEventListener("keydown", handler);
2376
1992
  }, [open, onClose, results, activeIndex]);
2377
- React15.useEffect(() => {
1993
+ React12.useEffect(() => {
2378
1994
  setActiveIndex(0);
2379
1995
  }, [query]);
2380
1996
  if (!open) return null;
@@ -2387,15 +2003,15 @@ var CommandPalette = React15.forwardRef(
2387
2003
  },
2388
2004
  {}
2389
2005
  );
2390
- return /* @__PURE__ */ jsxs19(Fragment4, { children: [
2391
- /* @__PURE__ */ jsx28(
2006
+ return /* @__PURE__ */ jsxs16(Fragment2, { children: [
2007
+ /* @__PURE__ */ jsx23(
2392
2008
  "div",
2393
2009
  {
2394
2010
  className: "z-modal fixed inset-0 bg-foreground/60",
2395
2011
  onClick: onClose
2396
2012
  }
2397
2013
  ),
2398
- /* @__PURE__ */ jsx28("div", { className: "z-modal fixed inset-0 flex items-start justify-center pt-[15vh]", children: /* @__PURE__ */ jsxs19(
2014
+ /* @__PURE__ */ jsx23("div", { className: "z-modal fixed inset-0 flex items-start justify-center pt-[15vh]", children: /* @__PURE__ */ jsxs16(
2399
2015
  "div",
2400
2016
  {
2401
2017
  ref,
@@ -2406,9 +2022,9 @@ var CommandPalette = React15.forwardRef(
2406
2022
  ),
2407
2023
  ...props,
2408
2024
  children: [
2409
- /* @__PURE__ */ jsxs19("div", { className: "flex items-center border-b border-border px-4", children: [
2410
- /* @__PURE__ */ jsx28("span", { className: "mr-2 text-muted-foreground", children: "\u2318" }),
2411
- /* @__PURE__ */ jsx28(
2025
+ /* @__PURE__ */ jsxs16("div", { className: "flex items-center border-b border-border px-4", children: [
2026
+ /* @__PURE__ */ jsx23("span", { className: "mr-2 text-muted-foreground", children: "\u2318" }),
2027
+ /* @__PURE__ */ jsx23(
2412
2028
  "input",
2413
2029
  {
2414
2030
  type: "text",
@@ -2422,13 +2038,13 @@ var CommandPalette = React15.forwardRef(
2422
2038
  autoFocus: true
2423
2039
  }
2424
2040
  ),
2425
- /* @__PURE__ */ jsx28("kbd", { className: "rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground", children: "Esc" })
2041
+ /* @__PURE__ */ jsx23("kbd", { className: "rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground", children: "Esc" })
2426
2042
  ] }),
2427
- /* @__PURE__ */ jsx28("div", { className: "max-h-80 overflow-y-auto p-2", children: Object.entries(grouped).length === 0 ? /* @__PURE__ */ jsx28("p", { className: "py-6 text-center text-sm text-muted-foreground", children: "No results found" }) : Object.entries(grouped).map(([group, items]) => /* @__PURE__ */ jsxs19("div", { children: [
2428
- /* @__PURE__ */ jsx28("p", { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground", children: group }),
2043
+ /* @__PURE__ */ jsx23("div", { className: "max-h-80 overflow-y-auto p-2", children: Object.entries(grouped).length === 0 ? /* @__PURE__ */ jsx23("p", { className: "py-6 text-center text-sm text-muted-foreground", children: "No results found" }) : Object.entries(grouped).map(([group, items]) => /* @__PURE__ */ jsxs16("div", { children: [
2044
+ /* @__PURE__ */ jsx23("p", { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground", children: group }),
2429
2045
  items.map((item) => {
2430
2046
  const idx = results.indexOf(item);
2431
- return /* @__PURE__ */ jsxs19(
2047
+ return /* @__PURE__ */ jsxs16(
2432
2048
  "button",
2433
2049
  {
2434
2050
  type: "button",
@@ -2442,9 +2058,9 @@ var CommandPalette = React15.forwardRef(
2442
2058
  },
2443
2059
  onMouseEnter: () => setActiveIndex(idx),
2444
2060
  children: [
2445
- item.icon && /* @__PURE__ */ jsx28("span", { className: "flex-shrink-0 text-muted-foreground", children: item.icon }),
2446
- /* @__PURE__ */ jsx28("span", { className: "flex-1", children: item.label }),
2447
- item.shortcut && /* @__PURE__ */ jsx28("kbd", { className: "rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground", children: item.shortcut })
2061
+ item.icon && /* @__PURE__ */ jsx23("span", { className: "flex-shrink-0 text-muted-foreground", children: item.icon }),
2062
+ /* @__PURE__ */ jsx23("span", { className: "flex-1", children: item.label }),
2063
+ item.shortcut && /* @__PURE__ */ jsx23("kbd", { className: "rounded border border-border px-1.5 py-0.5 text-xs text-muted-foreground", children: item.shortcut })
2448
2064
  ]
2449
2065
  },
2450
2066
  item.id
@@ -2460,9 +2076,9 @@ var CommandPalette = React15.forwardRef(
2460
2076
  CommandPalette.displayName = "CommandPalette";
2461
2077
 
2462
2078
  // src/app-shell.tsx
2463
- import * as React16 from "react";
2464
- import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
2465
- var AppShell = React16.forwardRef(
2079
+ import * as React13 from "react";
2080
+ import { jsx as jsx24, jsxs as jsxs17 } from "react/jsx-runtime";
2081
+ var AppShell = React13.forwardRef(
2466
2082
  ({
2467
2083
  className,
2468
2084
  variant = "stacked",
@@ -2477,7 +2093,7 @@ var AppShell = React16.forwardRef(
2477
2093
  ...props
2478
2094
  }, ref) => {
2479
2095
  if (variant === "stacked") {
2480
- return /* @__PURE__ */ jsxs20(
2096
+ return /* @__PURE__ */ jsxs17(
2481
2097
  "div",
2482
2098
  {
2483
2099
  ref,
@@ -2485,13 +2101,13 @@ var AppShell = React16.forwardRef(
2485
2101
  ...props,
2486
2102
  children: [
2487
2103
  header,
2488
- /* @__PURE__ */ jsx29("main", { className: "flex-1", children })
2104
+ /* @__PURE__ */ jsx24("main", { className: "flex-1", children })
2489
2105
  ]
2490
2106
  }
2491
2107
  );
2492
2108
  }
2493
2109
  if (variant === "multi-column") {
2494
- return /* @__PURE__ */ jsxs20(
2110
+ return /* @__PURE__ */ jsxs17(
2495
2111
  "div",
2496
2112
  {
2497
2113
  ref,
@@ -2501,7 +2117,7 @@ var AppShell = React16.forwardRef(
2501
2117
  ),
2502
2118
  ...props,
2503
2119
  children: [
2504
- sidebar && /* @__PURE__ */ jsx29(
2120
+ sidebar && /* @__PURE__ */ jsx24(
2505
2121
  "aside",
2506
2122
  {
2507
2123
  className: cn(
@@ -2511,11 +2127,11 @@ var AppShell = React16.forwardRef(
2511
2127
  children: sidebar
2512
2128
  }
2513
2129
  ),
2514
- /* @__PURE__ */ jsxs20("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2130
+ /* @__PURE__ */ jsxs17("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2515
2131
  header,
2516
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-1 flex-col lg:flex-row", children: [
2517
- /* @__PURE__ */ jsx29("main", { className: "min-w-0 flex-1 overflow-y-auto", children }),
2518
- detailPanel && /* @__PURE__ */ jsx29("aside", { className: "flex-shrink-0 border-t border-border bg-card lg:w-80 lg:border-l lg:border-t-0", children: detailPanel })
2132
+ /* @__PURE__ */ jsxs17("div", { className: "flex flex-1 flex-col lg:flex-row", children: [
2133
+ /* @__PURE__ */ jsx24("main", { className: "min-w-0 flex-1 overflow-y-auto", children }),
2134
+ detailPanel && /* @__PURE__ */ jsx24("aside", { className: "flex-shrink-0 border-t border-border bg-card lg:w-80 lg:border-l lg:border-t-0", children: detailPanel })
2519
2135
  ] })
2520
2136
  ] })
2521
2137
  ]
@@ -2523,7 +2139,7 @@ var AppShell = React16.forwardRef(
2523
2139
  );
2524
2140
  }
2525
2141
  const left = sidebarPosition === "left";
2526
- const column = sidebar && /* @__PURE__ */ jsx29(
2142
+ const column = sidebar && /* @__PURE__ */ jsx24(
2527
2143
  "aside",
2528
2144
  {
2529
2145
  className: cn(
@@ -2534,7 +2150,7 @@ var AppShell = React16.forwardRef(
2534
2150
  children: sidebar
2535
2151
  }
2536
2152
  );
2537
- return /* @__PURE__ */ jsxs20(
2153
+ return /* @__PURE__ */ jsxs17(
2538
2154
  "div",
2539
2155
  {
2540
2156
  ref,
@@ -2542,15 +2158,15 @@ var AppShell = React16.forwardRef(
2542
2158
  ...props,
2543
2159
  children: [
2544
2160
  left && column,
2545
- /* @__PURE__ */ jsxs20("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2546
- sidebar && /* @__PURE__ */ jsx29(
2161
+ /* @__PURE__ */ jsxs17("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2162
+ sidebar && /* @__PURE__ */ jsx24(
2547
2163
  "div",
2548
2164
  {
2549
2165
  className: cn(
2550
2166
  "flex items-center border-b border-border bg-card px-2 py-2 md:hidden",
2551
2167
  !left && "justify-end"
2552
2168
  ),
2553
- children: /* @__PURE__ */ jsx29(
2169
+ children: /* @__PURE__ */ jsx24(
2554
2170
  NavDrawer,
2555
2171
  {
2556
2172
  label: navLabel,
@@ -2563,7 +2179,7 @@ var AppShell = React16.forwardRef(
2563
2179
  }
2564
2180
  ),
2565
2181
  header,
2566
- /* @__PURE__ */ jsx29("main", { className: "min-w-0 flex-1 overflow-y-auto", children })
2182
+ /* @__PURE__ */ jsx24("main", { className: "min-w-0 flex-1 overflow-y-auto", children })
2567
2183
  ] }),
2568
2184
  !left && column
2569
2185
  ]
@@ -2574,8 +2190,8 @@ var AppShell = React16.forwardRef(
2574
2190
  AppShell.displayName = "AppShell";
2575
2191
 
2576
2192
  // src/popover.tsx
2577
- import * as React17 from "react";
2578
- import { Fragment as Fragment5, jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
2193
+ import * as React14 from "react";
2194
+ import { Fragment as Fragment3, jsx as jsx25, jsxs as jsxs18 } from "react/jsx-runtime";
2579
2195
  var SIDE_CLASSES = {
2580
2196
  top: "bottom-full mb-2",
2581
2197
  bottom: "top-full mt-2",
@@ -2587,7 +2203,7 @@ var ALIGN_CLASSES = {
2587
2203
  center: "left-1/2 -translate-x-1/2",
2588
2204
  end: "right-0"
2589
2205
  };
2590
- var Popover = React17.forwardRef(
2206
+ var Popover = React14.forwardRef(
2591
2207
  ({
2592
2208
  className,
2593
2209
  open,
@@ -2598,10 +2214,10 @@ var Popover = React17.forwardRef(
2598
2214
  children,
2599
2215
  ...props
2600
2216
  }, ref) => {
2601
- const [internalOpen, setInternalOpen] = React17.useState(false);
2217
+ const [internalOpen, setInternalOpen] = React14.useState(false);
2602
2218
  const isOpen = open ?? internalOpen;
2603
2219
  const setOpen = onOpenChange ?? setInternalOpen;
2604
- React17.useEffect(() => {
2220
+ React14.useEffect(() => {
2605
2221
  if (!isOpen) return;
2606
2222
  const handler = (e) => {
2607
2223
  if (e.key === "Escape") setOpen(false);
@@ -2609,23 +2225,23 @@ var Popover = React17.forwardRef(
2609
2225
  document.addEventListener("keydown", handler);
2610
2226
  return () => document.removeEventListener("keydown", handler);
2611
2227
  }, [isOpen, setOpen]);
2612
- return /* @__PURE__ */ jsxs21(
2228
+ return /* @__PURE__ */ jsxs18(
2613
2229
  "div",
2614
2230
  {
2615
2231
  ref,
2616
2232
  className: cn("relative inline-block", className),
2617
2233
  ...props,
2618
2234
  children: [
2619
- /* @__PURE__ */ jsx30("div", { onClick: () => setOpen(!isOpen), children: trigger }),
2620
- isOpen && /* @__PURE__ */ jsxs21(Fragment5, { children: [
2621
- /* @__PURE__ */ jsx30(
2235
+ /* @__PURE__ */ jsx25("div", { onClick: () => setOpen(!isOpen), children: trigger }),
2236
+ isOpen && /* @__PURE__ */ jsxs18(Fragment3, { children: [
2237
+ /* @__PURE__ */ jsx25(
2622
2238
  "div",
2623
2239
  {
2624
2240
  className: "z-popover fixed inset-0",
2625
2241
  onClick: () => setOpen(false)
2626
2242
  }
2627
2243
  ),
2628
- /* @__PURE__ */ jsx30(
2244
+ /* @__PURE__ */ jsx25(
2629
2245
  "div",
2630
2246
  {
2631
2247
  className: cn(
@@ -2643,7 +2259,7 @@ var Popover = React17.forwardRef(
2643
2259
  }
2644
2260
  );
2645
2261
  Popover.displayName = "Popover";
2646
- var HoverCard = React17.forwardRef(
2262
+ var HoverCard = React14.forwardRef(
2647
2263
  ({
2648
2264
  className,
2649
2265
  trigger,
@@ -2653,8 +2269,8 @@ var HoverCard = React17.forwardRef(
2653
2269
  children,
2654
2270
  ...props
2655
2271
  }, ref) => {
2656
- const [open, setOpen] = React17.useState(false);
2657
- const timeoutRef = React17.useRef();
2272
+ const [open, setOpen] = React14.useState(false);
2273
+ const timeoutRef = React14.useRef();
2658
2274
  const handleEnter = () => {
2659
2275
  clearTimeout(timeoutRef.current);
2660
2276
  timeoutRef.current = setTimeout(() => setOpen(true), delay);
@@ -2663,10 +2279,10 @@ var HoverCard = React17.forwardRef(
2663
2279
  clearTimeout(timeoutRef.current);
2664
2280
  timeoutRef.current = setTimeout(() => setOpen(false), 150);
2665
2281
  };
2666
- React17.useEffect(() => {
2282
+ React14.useEffect(() => {
2667
2283
  return () => clearTimeout(timeoutRef.current);
2668
2284
  }, []);
2669
- return /* @__PURE__ */ jsxs21(
2285
+ return /* @__PURE__ */ jsxs18(
2670
2286
  "div",
2671
2287
  {
2672
2288
  ref,
@@ -2676,7 +2292,7 @@ var HoverCard = React17.forwardRef(
2676
2292
  ...props,
2677
2293
  children: [
2678
2294
  trigger,
2679
- open && /* @__PURE__ */ jsx30(
2295
+ open && /* @__PURE__ */ jsx25(
2680
2296
  "div",
2681
2297
  {
2682
2298
  className: cn(
@@ -2697,8 +2313,8 @@ var HoverCard = React17.forwardRef(
2697
2313
  HoverCard.displayName = "HoverCard";
2698
2314
 
2699
2315
  // src/calendar.tsx
2700
- import * as React18 from "react";
2701
- import { Fragment as Fragment6, jsx as jsx31, jsxs as jsxs22 } from "react/jsx-runtime";
2316
+ import * as React15 from "react";
2317
+ import { Fragment as Fragment4, jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
2702
2318
  function getDaysInMonth(year, month) {
2703
2319
  return new Date(year, month + 1, 0).getDate();
2704
2320
  }
@@ -2736,7 +2352,7 @@ var SIZE_CONFIG = {
2736
2352
  dot: "h-1.5 w-1.5"
2737
2353
  }
2738
2354
  };
2739
- var Calendar2 = React18.forwardRef(
2355
+ var Calendar = React15.forwardRef(
2740
2356
  ({
2741
2357
  className,
2742
2358
  value,
@@ -2752,16 +2368,16 @@ var Calendar2 = React18.forwardRef(
2752
2368
  size = "md",
2753
2369
  ...props
2754
2370
  }, ref) => {
2755
- const today = React18.useMemo(() => {
2371
+ const today = React15.useMemo(() => {
2756
2372
  if (todayProp) return todayProp;
2757
2373
  const now = Date.now();
2758
2374
  const d = new Date(now);
2759
2375
  return new Date(d.getFullYear(), d.getMonth(), d.getDate());
2760
2376
  }, [todayProp]);
2761
2377
  const initialDate = value ?? rangeStart ?? today;
2762
- const [viewYear, setViewYear] = React18.useState(initialDate.getFullYear());
2763
- const [viewMonth, setViewMonth] = React18.useState(initialDate.getMonth());
2764
- const [focusedDay, setFocusedDay] = React18.useState(null);
2378
+ const [viewYear, setViewYear] = React15.useState(initialDate.getFullYear());
2379
+ const [viewMonth, setViewMonth] = React15.useState(initialDate.getMonth());
2380
+ const [focusedDay, setFocusedDay] = React15.useState(null);
2765
2381
  const daysInMonth = getDaysInMonth(viewYear, viewMonth);
2766
2382
  const startDay = getStartDayOfWeek(viewYear, viewMonth);
2767
2383
  const config = SIZE_CONFIG[size];
@@ -2895,7 +2511,7 @@ var Calendar2 = React18.forwardRef(
2895
2511
  const cells = [];
2896
2512
  for (let i = 0; i < startDay; i++) cells.push(null);
2897
2513
  for (let d = 1; d <= daysInMonth; d++) cells.push(d);
2898
- return /* @__PURE__ */ jsxs22(
2514
+ return /* @__PURE__ */ jsxs19(
2899
2515
  "div",
2900
2516
  {
2901
2517
  ref,
@@ -2910,8 +2526,8 @@ var Calendar2 = React18.forwardRef(
2910
2526
  ),
2911
2527
  ...props,
2912
2528
  children: [
2913
- /* @__PURE__ */ jsxs22("div", { className: "mb-2 flex items-center justify-between", children: [
2914
- /* @__PURE__ */ jsx31(
2529
+ /* @__PURE__ */ jsxs19("div", { className: "mb-2 flex items-center justify-between", children: [
2530
+ /* @__PURE__ */ jsx26(
2915
2531
  "button",
2916
2532
  {
2917
2533
  type: "button",
@@ -2922,7 +2538,7 @@ var Calendar2 = React18.forwardRef(
2922
2538
  children: "\u2039"
2923
2539
  }
2924
2540
  ),
2925
- /* @__PURE__ */ jsx31(
2541
+ /* @__PURE__ */ jsx26(
2926
2542
  "span",
2927
2543
  {
2928
2544
  className: "text-sm font-medium text-foreground",
@@ -2930,7 +2546,7 @@ var Calendar2 = React18.forwardRef(
2930
2546
  children: formatMonth(viewYear, viewMonth)
2931
2547
  }
2932
2548
  ),
2933
- /* @__PURE__ */ jsx31(
2549
+ /* @__PURE__ */ jsx26(
2934
2550
  "button",
2935
2551
  {
2936
2552
  type: "button",
@@ -2942,7 +2558,7 @@ var Calendar2 = React18.forwardRef(
2942
2558
  }
2943
2559
  )
2944
2560
  ] }),
2945
- /* @__PURE__ */ jsx31("div", { role: "row", className: cn("grid grid-cols-7", config.gap), children: WEEKDAYS.map((day) => /* @__PURE__ */ jsx31(
2561
+ /* @__PURE__ */ jsx26("div", { role: "row", className: cn("grid grid-cols-7", config.gap), children: WEEKDAYS.map((day) => /* @__PURE__ */ jsx26(
2946
2562
  "div",
2947
2563
  {
2948
2564
  role: "columnheader",
@@ -2954,9 +2570,9 @@ var Calendar2 = React18.forwardRef(
2954
2570
  },
2955
2571
  day
2956
2572
  )) }),
2957
- /* @__PURE__ */ jsx31("div", { className: cn("grid grid-cols-7", config.gap), children: cells.map((day, i) => {
2573
+ /* @__PURE__ */ jsx26("div", { className: cn("grid grid-cols-7", config.gap), children: cells.map((day, i) => {
2958
2574
  if (day === null) {
2959
- return /* @__PURE__ */ jsx31("div", { className: config.cell }, `empty-${i}`);
2575
+ return /* @__PURE__ */ jsx26("div", { className: config.cell }, `empty-${i}`);
2960
2576
  }
2961
2577
  const date = new Date(viewYear, viewMonth, day);
2962
2578
  const disabled = isDisabled(day);
@@ -2979,7 +2595,7 @@ var Calendar2 = React18.forwardRef(
2979
2595
  }
2980
2596
  const isToday = isSameDay(date, today);
2981
2597
  const eventDot = hasEvent(day);
2982
- return /* @__PURE__ */ jsxs22(
2598
+ return /* @__PURE__ */ jsxs19(
2983
2599
  "button",
2984
2600
  {
2985
2601
  type: "button",
@@ -2998,7 +2614,7 @@ var Calendar2 = React18.forwardRef(
2998
2614
  ),
2999
2615
  children: [
3000
2616
  day,
3001
- eventDot && /* @__PURE__ */ jsx31(
2617
+ eventDot && /* @__PURE__ */ jsx26(
3002
2618
  "span",
3003
2619
  {
3004
2620
  className: cn(
@@ -3017,8 +2633,8 @@ var Calendar2 = React18.forwardRef(
3017
2633
  );
3018
2634
  }
3019
2635
  );
3020
- Calendar2.displayName = "Calendar";
3021
- var DatePicker = React18.forwardRef(
2636
+ Calendar.displayName = "Calendar";
2637
+ var DatePicker = React15.forwardRef(
3022
2638
  ({
3023
2639
  className,
3024
2640
  variant = "single",
@@ -3037,7 +2653,7 @@ var DatePicker = React18.forwardRef(
3037
2653
  disabled,
3038
2654
  ...props
3039
2655
  }, ref) => {
3040
- const [internalOpen, setInternalOpen] = React18.useState(false);
2656
+ const [internalOpen, setInternalOpen] = React15.useState(false);
3041
2657
  const isOpen = controlledOpen ?? internalOpen;
3042
2658
  const setOpen = onOpenChange ?? setInternalOpen;
3043
2659
  const defaultPlaceholder = variant === "range" ? "Pick a date range" : "Pick a date";
@@ -3061,7 +2677,7 @@ var DatePicker = React18.forwardRef(
3061
2677
  } else if (variant === "range" && rangeStart) {
3062
2678
  displayText = rangeEnd ? `${formatDateForInput(rangeStart)} \u2013 ${formatDateForInput(rangeEnd)}` : formatDateForInput(rangeStart);
3063
2679
  }
3064
- return /* @__PURE__ */ jsxs22(
2680
+ return /* @__PURE__ */ jsxs19(
3065
2681
  "div",
3066
2682
  {
3067
2683
  ref,
@@ -3069,7 +2685,7 @@ var DatePicker = React18.forwardRef(
3069
2685
  onKeyDown: handleKeyDown,
3070
2686
  ...props,
3071
2687
  children: [
3072
- /* @__PURE__ */ jsxs22(
2688
+ /* @__PURE__ */ jsxs19(
3073
2689
  "button",
3074
2690
  {
3075
2691
  type: "button",
@@ -3082,22 +2698,22 @@ var DatePicker = React18.forwardRef(
3082
2698
  displayText ? "text-foreground" : "text-muted-foreground"
3083
2699
  ),
3084
2700
  children: [
3085
- /* @__PURE__ */ jsx31("span", { className: "text-muted-foreground", "aria-hidden": "true", children: "\u{1F4C5}" }),
3086
- /* @__PURE__ */ jsx31("span", { className: "flex-1 text-left", children: displayText ?? placeholder ?? defaultPlaceholder }),
3087
- /* @__PURE__ */ jsx31("span", { className: "text-muted-foreground", "aria-hidden": "true", children: "\u25BE" })
2701
+ /* @__PURE__ */ jsx26("span", { className: "text-muted-foreground", "aria-hidden": "true", children: "\u{1F4C5}" }),
2702
+ /* @__PURE__ */ jsx26("span", { className: "flex-1 text-left", children: displayText ?? placeholder ?? defaultPlaceholder }),
2703
+ /* @__PURE__ */ jsx26("span", { className: "text-muted-foreground", "aria-hidden": "true", children: "\u25BE" })
3088
2704
  ]
3089
2705
  }
3090
2706
  ),
3091
- isOpen && /* @__PURE__ */ jsxs22(Fragment6, { children: [
3092
- /* @__PURE__ */ jsx31(
2707
+ isOpen && /* @__PURE__ */ jsxs19(Fragment4, { children: [
2708
+ /* @__PURE__ */ jsx26(
3093
2709
  "div",
3094
2710
  {
3095
2711
  className: "z-popover fixed inset-0",
3096
2712
  onClick: () => setOpen(false)
3097
2713
  }
3098
2714
  ),
3099
- /* @__PURE__ */ jsx31("div", { className: "z-popover absolute left-0 top-full mt-1", children: /* @__PURE__ */ jsx31(
3100
- Calendar2,
2715
+ /* @__PURE__ */ jsx26("div", { className: "z-popover absolute left-0 top-full mt-1", children: /* @__PURE__ */ jsx26(
2716
+ Calendar,
3101
2717
  {
3102
2718
  selectionMode: variant,
3103
2719
  value: variant === "single" ? value : void 0,
@@ -3120,35 +2736,9 @@ var DatePicker = React18.forwardRef(
3120
2736
  DatePicker.displayName = "DatePicker";
3121
2737
 
3122
2738
  // src/navbar.tsx
3123
- import * as React19 from "react";
3124
-
3125
- // src/navbar-menu.tsx
3126
- import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
3127
- function NavbarMenu({
3128
- search,
3129
- links,
3130
- actions,
3131
- defaultOpen = false
3132
- }) {
3133
- return /* @__PURE__ */ jsx32("div", { className: "ml-auto md:hidden", children: /* @__PURE__ */ jsxs23(
3134
- NavDrawer,
3135
- {
3136
- label: "Navigation",
3137
- side: "right",
3138
- closedFrom: "md",
3139
- defaultOpen,
3140
- children: [
3141
- search && /* @__PURE__ */ jsx32("div", { className: "px-4 pb-3", children: search }),
3142
- links && /* @__PURE__ */ jsx32("nav", { className: "flex flex-col px-4 pb-3 [&>a]:whitespace-normal [&>a]:py-2.5 [&>a]:text-base", children: links }),
3143
- /* @__PURE__ */ jsx32("div", { className: "flex flex-col gap-2 border-t border-border p-4 [&>*]:w-full", children: actions })
3144
- ]
3145
- }
3146
- ) });
3147
- }
3148
-
3149
- // src/navbar.tsx
3150
- import { jsx as jsx33, jsxs as jsxs24 } from "react/jsx-runtime";
3151
- var Navbar = React19.forwardRef(
2739
+ import * as React16 from "react";
2740
+ import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
2741
+ var Navbar = React16.forwardRef(
3152
2742
  ({
3153
2743
  className,
3154
2744
  variant = "simple",
@@ -3160,31 +2750,32 @@ var Navbar = React19.forwardRef(
3160
2750
  children,
3161
2751
  ...props
3162
2752
  }, ref) => {
3163
- const hasLinks = React19.Children.toArray(children).length > 0;
2753
+ const hasLinks = React16.Children.toArray(children).length > 0;
3164
2754
  const hasSearch = variant === "withSearch" && Boolean(search);
3165
2755
  const folds = Boolean(actions) && (hasLinks || hasSearch);
3166
2756
  const filled = hasSearch || variant === "centered" && hasLinks;
3167
- return /* @__PURE__ */ jsxs24(
2757
+ return /* @__PURE__ */ jsxs20(
3168
2758
  "header",
3169
2759
  {
3170
2760
  ref,
3171
2761
  className: cn(
3172
- "border-b border-border",
3173
- transparent ? "bg-transparent" : "bg-card",
2762
+ "border-b",
2763
+ transparent ? "border-transparent bg-transparent" : "border-border bg-card",
3174
2764
  className
3175
2765
  ),
3176
2766
  ...props,
3177
2767
  children: [
3178
- /* @__PURE__ */ jsxs24(
2768
+ /* @__PURE__ */ jsxs20(
3179
2769
  "div",
3180
2770
  {
3181
2771
  className: cn(
3182
- "mx-auto flex min-h-14 max-w-content-xl items-center gap-x-4 gap-y-2 px-4 py-2 sm:px-6 md:h-14 md:py-0",
2772
+ "mx-auto flex min-h-14 max-w-content-xl items-center gap-x-4 gap-y-2 py-2 md:h-14 md:py-0",
2773
+ CONTENT_GUTTER,
3183
2774
  // nothing here can scroll or fold: the actions take their own row
3184
2775
  !hasLinks && !folds && "flex-wrap md:flex-nowrap"
3185
2776
  ),
3186
2777
  children: [
3187
- logo && /* @__PURE__ */ jsx33(
2778
+ logo && /* @__PURE__ */ jsx27(
3188
2779
  "div",
3189
2780
  {
3190
2781
  className: cn(
@@ -3193,7 +2784,7 @@ var Navbar = React19.forwardRef(
3193
2784
  children: logo
3194
2785
  }
3195
2786
  ),
3196
- hasLinks && /* @__PURE__ */ jsxs24(
2787
+ hasLinks && /* @__PURE__ */ jsxs20(
3197
2788
  "nav",
3198
2789
  {
3199
2790
  className: cn(
@@ -3205,22 +2796,23 @@ var Navbar = React19.forwardRef(
3205
2796
  ),
3206
2797
  children: [
3207
2798
  children,
3208
- /* @__PURE__ */ jsx33(ScrollHintXMark, {})
2799
+ /* @__PURE__ */ jsx27(ScrollHintXMark, {})
3209
2800
  ]
3210
2801
  }
3211
2802
  ),
3212
- hasSearch && /* @__PURE__ */ jsx33(
2803
+ hasSearch && /* @__PURE__ */ jsx27(
3213
2804
  "div",
3214
2805
  {
3215
2806
  className: cn(
3216
- "min-w-0 flex-1 px-4 md:min-w-48",
2807
+ // space from its neighbours, never from the row's own edge
2808
+ "min-w-0 flex-1 px-4 first:pl-0 last:pr-0 md:min-w-48",
3217
2809
  folds && "hidden md:block"
3218
2810
  ),
3219
2811
  children: search
3220
2812
  }
3221
2813
  ),
3222
- !filled && hasLinks && /* @__PURE__ */ jsx33("div", { className: "flex-1" }),
3223
- actions && /* @__PURE__ */ jsx33(
2814
+ !filled && hasLinks && /* @__PURE__ */ jsx27("div", { className: "flex-1" }),
2815
+ actions && /* @__PURE__ */ jsx27(
3224
2816
  "div",
3225
2817
  {
3226
2818
  className: cn(
@@ -3230,7 +2822,7 @@ var Navbar = React19.forwardRef(
3230
2822
  children: actions
3231
2823
  }
3232
2824
  ),
3233
- folds && /* @__PURE__ */ jsx33(
2825
+ folds && /* @__PURE__ */ jsx27(
3234
2826
  NavbarMenu,
3235
2827
  {
3236
2828
  search: hasSearch ? search : void 0,
@@ -3241,18 +2833,33 @@ var Navbar = React19.forwardRef(
3241
2833
  ]
3242
2834
  }
3243
2835
  ),
3244
- variant === "twoLevel" && secondaryNav && /* @__PURE__ */ jsx33("div", { className: "border-t border-border", children: /* @__PURE__ */ jsx33("div", { className: "mx-auto max-w-content-xl px-4 py-2 sm:px-6", children: /* @__PURE__ */ jsxs24("div", { className: "flex min-w-0 items-center gap-4 overflow-x-auto", children: [
3245
- secondaryNav,
3246
- /* @__PURE__ */ jsx33(ScrollHintXMark, {})
3247
- ] }) }) })
2836
+ variant === "twoLevel" && secondaryNav && /* @__PURE__ */ jsx27(
2837
+ "div",
2838
+ {
2839
+ className: cn(
2840
+ "border-t",
2841
+ transparent ? "border-transparent" : "border-border"
2842
+ ),
2843
+ children: /* @__PURE__ */ jsx27(
2844
+ "div",
2845
+ {
2846
+ className: cn("mx-auto max-w-content-xl py-2", CONTENT_GUTTER),
2847
+ children: /* @__PURE__ */ jsxs20("div", { className: "flex min-w-0 items-center gap-4 overflow-x-auto", children: [
2848
+ secondaryNav,
2849
+ /* @__PURE__ */ jsx27(ScrollHintXMark, {})
2850
+ ] })
2851
+ }
2852
+ )
2853
+ }
2854
+ )
3248
2855
  ]
3249
2856
  }
3250
2857
  );
3251
2858
  }
3252
2859
  );
3253
2860
  Navbar.displayName = "Navbar";
3254
- var NavbarLink = React19.forwardRef(
3255
- ({ className, active, ...props }, ref) => /* @__PURE__ */ jsx33(
2861
+ var NavbarLink = React16.forwardRef(
2862
+ ({ className, active, ...props }, ref) => /* @__PURE__ */ jsx27(
3256
2863
  "a",
3257
2864
  {
3258
2865
  ref,
@@ -3268,25 +2875,10 @@ var NavbarLink = React19.forwardRef(
3268
2875
  NavbarLink.displayName = "NavbarLink";
3269
2876
 
3270
2877
  // src/card-variants.tsx
3271
- import * as React20 from "react";
3272
-
3273
- // src/empty-value.tsx
3274
- import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
3275
- var EMPTY_VALUE_GLYPH = "\u2014";
3276
- function isEmptyValue(value) {
3277
- return value === null || value === void 0 || value === false || typeof value === "string" && value.trim() === "";
3278
- }
3279
- function EmptyValue({ className }) {
3280
- return /* @__PURE__ */ jsxs25("span", { "data-empty-value": true, className: cn("text-muted-foreground", className), children: [
3281
- /* @__PURE__ */ jsx34("span", { "aria-hidden": "true", children: EMPTY_VALUE_GLYPH }),
3282
- /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Not set" })
3283
- ] });
3284
- }
3285
-
3286
- // src/card-variants.tsx
3287
- import { jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
3288
- var HorizontalCard = React20.forwardRef(
3289
- ({ className, media, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs26(
2878
+ import * as React17 from "react";
2879
+ import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
2880
+ var HorizontalCard = React17.forwardRef(
2881
+ ({ className, media, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs21(
3290
2882
  "div",
3291
2883
  {
3292
2884
  ref,
@@ -3297,15 +2889,15 @@ var HorizontalCard = React20.forwardRef(
3297
2889
  ),
3298
2890
  ...props,
3299
2891
  children: [
3300
- media && /* @__PURE__ */ jsx35("div", { className: "flex-shrink-0", children: media }),
3301
- /* @__PURE__ */ jsx35("div", { className: "flex-1 p-4", children })
2892
+ media && /* @__PURE__ */ jsx28("div", { className: "flex-shrink-0", children: media }),
2893
+ /* @__PURE__ */ jsx28("div", { className: "flex-1 p-4", children })
3302
2894
  ]
3303
2895
  }
3304
2896
  )
3305
2897
  );
3306
2898
  HorizontalCard.displayName = "HorizontalCard";
3307
- var ImageCard = React20.forwardRef(
3308
- ({ className, imageSrc, imageAlt, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs26(
2899
+ var ImageCard = React17.forwardRef(
2900
+ ({ className, imageSrc, imageAlt, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs21(
3309
2901
  "div",
3310
2902
  {
3311
2903
  ref,
@@ -3316,7 +2908,7 @@ var ImageCard = React20.forwardRef(
3316
2908
  ),
3317
2909
  ...props,
3318
2910
  children: [
3319
- imageSrc && /* @__PURE__ */ jsx35("div", { className: "aspect-video w-full bg-muted", children: /* @__PURE__ */ jsx35(
2911
+ imageSrc && /* @__PURE__ */ jsx28("div", { className: "aspect-video w-full bg-muted", children: /* @__PURE__ */ jsx28(
3320
2912
  "img",
3321
2913
  {
3322
2914
  src: imageSrc,
@@ -3324,13 +2916,13 @@ var ImageCard = React20.forwardRef(
3324
2916
  className: "h-full w-full object-cover"
3325
2917
  }
3326
2918
  ) }),
3327
- /* @__PURE__ */ jsx35("div", { className: "p-4", children })
2919
+ /* @__PURE__ */ jsx28("div", { className: "p-4", children })
3328
2920
  ]
3329
2921
  }
3330
2922
  )
3331
2923
  );
3332
2924
  ImageCard.displayName = "ImageCard";
3333
- var StatCardExtended = React20.forwardRef(({ className, label, value, trend, icon, ...props }, ref) => /* @__PURE__ */ jsxs26(
2925
+ var StatCardExtended = React17.forwardRef(({ className, label, value, trend, icon, ...props }, ref) => /* @__PURE__ */ jsxs21(
3334
2926
  "div",
3335
2927
  {
3336
2928
  ref,
@@ -3340,12 +2932,12 @@ var StatCardExtended = React20.forwardRef(({ className, label, value, trend, ico
3340
2932
  ),
3341
2933
  ...props,
3342
2934
  children: [
3343
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between", children: [
3344
- /* @__PURE__ */ jsx35("span", { className: "text-sm text-muted-foreground", children: label }),
3345
- icon && /* @__PURE__ */ jsx35("div", { className: "text-muted-foreground", children: icon })
2935
+ /* @__PURE__ */ jsxs21("div", { className: "flex items-center justify-between", children: [
2936
+ /* @__PURE__ */ jsx28("span", { className: "text-sm text-muted-foreground", children: label }),
2937
+ icon && /* @__PURE__ */ jsx28("div", { className: "text-muted-foreground", children: icon })
3346
2938
  ] }),
3347
- /* @__PURE__ */ jsx35("p", { className: "mt-2 text-3xl font-bold text-foreground", children: isEmptyValue(value) ? /* @__PURE__ */ jsx35(EmptyValue, {}) : value }),
3348
- trend && /* @__PURE__ */ jsxs26(
2939
+ /* @__PURE__ */ jsx28("p", { className: "mt-2 text-3xl font-bold text-foreground", children: isEmptyValue(value) ? /* @__PURE__ */ jsx28(EmptyValue, {}) : value }),
2940
+ trend && /* @__PURE__ */ jsxs21(
3349
2941
  "p",
3350
2942
  {
3351
2943
  className: cn(
@@ -3365,8 +2957,8 @@ var StatCardExtended = React20.forwardRef(({ className, label, value, trend, ico
3365
2957
  }
3366
2958
  ));
3367
2959
  StatCardExtended.displayName = "StatCardExtended";
3368
- var ActionCard = React20.forwardRef(
3369
- ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs26(
2960
+ var ActionCard = React17.forwardRef(
2961
+ ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs21(
3370
2962
  "div",
3371
2963
  {
3372
2964
  ref,
@@ -3376,12 +2968,12 @@ var ActionCard = React20.forwardRef(
3376
2968
  ),
3377
2969
  ...props,
3378
2970
  children: [
3379
- /* @__PURE__ */ jsxs26("div", { className: "p-6", children: [
3380
- /* @__PURE__ */ jsx35("h3", { className: "font-semibold text-foreground", children: title }),
3381
- description && /* @__PURE__ */ jsx35("p", { className: "mt-1 text-sm text-muted-foreground", children: description }),
2971
+ /* @__PURE__ */ jsxs21("div", { className: "p-6", children: [
2972
+ /* @__PURE__ */ jsx28("h3", { className: "font-semibold text-foreground", children: title }),
2973
+ description && /* @__PURE__ */ jsx28("p", { className: "mt-1 text-sm text-muted-foreground", children: description }),
3382
2974
  children
3383
2975
  ] }),
3384
- actions && /* @__PURE__ */ jsx35("div", { className: "flex items-center gap-2 border-t border-border px-6 py-4", children: actions })
2976
+ actions && /* @__PURE__ */ jsx28("div", { className: "flex items-center gap-2 border-t border-border px-6 py-4", children: actions })
3385
2977
  ]
3386
2978
  }
3387
2979
  )
@@ -3389,9 +2981,8 @@ var ActionCard = React20.forwardRef(
3389
2981
  ActionCard.displayName = "ActionCard";
3390
2982
 
3391
2983
  // src/modal-dialog.tsx
3392
- import * as React21 from "react";
3393
- import { createPortal as createPortal2 } from "react-dom";
3394
- import { Fragment as Fragment7, jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
2984
+ import * as React18 from "react";
2985
+ import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
3395
2986
  var SIZE_CLASSES2 = {
3396
2987
  sm: "max-w-sm",
3397
2988
  md: "max-w-md",
@@ -3399,20 +2990,14 @@ var SIZE_CLASSES2 = {
3399
2990
  xl: "max-w-xl",
3400
2991
  fullscreen: "max-w-full mx-4 my-4 h-[calc(100vh-2rem)]"
3401
2992
  };
3402
- var ModalDialog = React21.forwardRef(
2993
+ var ModalDialog = React18.forwardRef(
3403
2994
  ({ className, open, onClose, size = "md", children, ...props }, ref) => {
3404
- React21.useEffect(() => {
3405
- if (!open) return;
3406
- const handler = (e) => {
3407
- if (e.key === "Escape") onClose?.();
3408
- };
3409
- document.addEventListener("keydown", handler);
3410
- return () => document.removeEventListener("keydown", handler);
3411
- }, [open, onClose]);
2995
+ const [panel, setPanel] = usePanelRef(ref);
2996
+ const place = useModalSurface(Boolean(open), panel, onClose);
3412
2997
  if (!open) return null;
3413
- return createPortal2(
3414
- /* @__PURE__ */ jsxs27(Fragment7, { children: [
3415
- /* @__PURE__ */ jsx36(
2998
+ return place(
2999
+ /* @__PURE__ */ jsxs22(Fragment5, { children: [
3000
+ /* @__PURE__ */ jsx29(
3416
3001
  "div",
3417
3002
  {
3418
3003
  className: "z-overlay fixed inset-0 bg-foreground/60 transition-opacity",
@@ -3420,10 +3005,10 @@ var ModalDialog = React21.forwardRef(
3420
3005
  "aria-hidden": "true"
3421
3006
  }
3422
3007
  ),
3423
- /* @__PURE__ */ jsx36("div", { className: "z-modal fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ jsx36(
3008
+ /* @__PURE__ */ jsx29("div", { className: "z-modal fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ jsx29(
3424
3009
  "div",
3425
3010
  {
3426
- ref,
3011
+ ref: setPanel,
3427
3012
  role: "dialog",
3428
3013
  "aria-modal": "true",
3429
3014
  className: cn(
@@ -3436,13 +3021,12 @@ var ModalDialog = React21.forwardRef(
3436
3021
  children
3437
3022
  }
3438
3023
  ) })
3439
- ] }),
3440
- document.body
3024
+ ] })
3441
3025
  );
3442
3026
  }
3443
3027
  );
3444
3028
  ModalDialog.displayName = "ModalDialog";
3445
- var ModalHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3029
+ var ModalHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
3446
3030
  "div",
3447
3031
  {
3448
3032
  ref,
@@ -3451,9 +3035,9 @@ var ModalHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
3451
3035
  }
3452
3036
  ));
3453
3037
  ModalHeader.displayName = "ModalHeader";
3454
- var ModalBody = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36("div", { ref, className: cn("px-6 py-4", className), ...props }));
3038
+ var ModalBody = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29("div", { ref, className: cn("px-6 py-4", className), ...props }));
3455
3039
  ModalBody.displayName = "ModalBody";
3456
- var ModalFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3040
+ var ModalFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
3457
3041
  "div",
3458
3042
  {
3459
3043
  ref,
@@ -3467,9 +3051,8 @@ var ModalFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
3467
3051
  ModalFooter.displayName = "ModalFooter";
3468
3052
 
3469
3053
  // src/drawer.tsx
3470
- import * as React22 from "react";
3471
- import { createPortal as createPortal3 } from "react-dom";
3472
- import { Fragment as Fragment8, jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
3054
+ import * as React19 from "react";
3055
+ import { Fragment as Fragment6, jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
3473
3056
  var SIZE_CLASSES3 = {
3474
3057
  left: { sm: "w-64", md: "w-80", lg: "w-96" },
3475
3058
  right: { sm: "w-64", md: "w-80", lg: "w-96" },
@@ -3480,7 +3063,7 @@ var POSITION_CLASSES = {
3480
3063
  right: "inset-y-0 right-0",
3481
3064
  bottom: "inset-x-0 bottom-0"
3482
3065
  };
3483
- var Drawer = React22.forwardRef(
3066
+ var Drawer = React19.forwardRef(
3484
3067
  ({
3485
3068
  className,
3486
3069
  open,
@@ -3490,18 +3073,12 @@ var Drawer = React22.forwardRef(
3490
3073
  children,
3491
3074
  ...props
3492
3075
  }, ref) => {
3493
- React22.useEffect(() => {
3494
- if (!open) return;
3495
- const handler = (e) => {
3496
- if (e.key === "Escape") onClose?.();
3497
- };
3498
- document.addEventListener("keydown", handler);
3499
- return () => document.removeEventListener("keydown", handler);
3500
- }, [open, onClose]);
3076
+ const [panel, setPanel] = usePanelRef(ref);
3077
+ const place = useModalSurface(Boolean(open), panel, onClose);
3501
3078
  if (!open) return null;
3502
- return createPortal3(
3503
- /* @__PURE__ */ jsxs28(Fragment8, { children: [
3504
- /* @__PURE__ */ jsx37(
3079
+ return place(
3080
+ /* @__PURE__ */ jsxs23(Fragment6, { children: [
3081
+ /* @__PURE__ */ jsx30(
3505
3082
  "div",
3506
3083
  {
3507
3084
  className: "z-overlay fixed inset-0 bg-foreground/60 transition-opacity",
@@ -3509,10 +3086,10 @@ var Drawer = React22.forwardRef(
3509
3086
  "aria-hidden": "true"
3510
3087
  }
3511
3088
  ),
3512
- /* @__PURE__ */ jsx37(
3089
+ /* @__PURE__ */ jsx30(
3513
3090
  "div",
3514
3091
  {
3515
- ref,
3092
+ ref: setPanel,
3516
3093
  role: "dialog",
3517
3094
  "aria-modal": "true",
3518
3095
  className: cn(
@@ -3528,13 +3105,12 @@ var Drawer = React22.forwardRef(
3528
3105
  children
3529
3106
  }
3530
3107
  )
3531
- ] }),
3532
- document.body
3108
+ ] })
3533
3109
  );
3534
3110
  }
3535
3111
  );
3536
3112
  Drawer.displayName = "Drawer";
3537
- var DrawerHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3113
+ var DrawerHeader = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3538
3114
  "div",
3539
3115
  {
3540
3116
  ref,
@@ -3543,7 +3119,7 @@ var DrawerHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PU
3543
3119
  }
3544
3120
  ));
3545
3121
  DrawerHeader.displayName = "DrawerHeader";
3546
- var DrawerBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3122
+ var DrawerBody = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3547
3123
  "div",
3548
3124
  {
3549
3125
  ref,
@@ -3552,7 +3128,7 @@ var DrawerBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE
3552
3128
  }
3553
3129
  ));
3554
3130
  DrawerBody.displayName = "DrawerBody";
3555
- var DrawerFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3131
+ var DrawerFooter = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3556
3132
  "div",
3557
3133
  {
3558
3134
  ref,
@@ -3566,10 +3142,10 @@ var DrawerFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PU
3566
3142
  DrawerFooter.displayName = "DrawerFooter";
3567
3143
 
3568
3144
  // src/form-layout.tsx
3569
- import * as React23 from "react";
3570
- import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
3571
- var FormLayout = React23.forwardRef(
3572
- ({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx38(
3145
+ import * as React20 from "react";
3146
+ import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
3147
+ var FormLayout = React20.forwardRef(
3148
+ ({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx31(
3573
3149
  "form",
3574
3150
  {
3575
3151
  ref,
@@ -3584,27 +3160,27 @@ var FormLayout = React23.forwardRef(
3584
3160
  )
3585
3161
  );
3586
3162
  FormLayout.displayName = "FormLayout";
3587
- var FormLayoutSection = React23.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs29(
3163
+ var FormLayoutSection = React20.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs24(
3588
3164
  "div",
3589
3165
  {
3590
3166
  ref,
3591
3167
  className: cn("border-b border-border pb-6", className),
3592
3168
  ...props,
3593
3169
  children: [
3594
- (title || description) && /* @__PURE__ */ jsxs29("div", { className: "mb-4", children: [
3595
- title && /* @__PURE__ */ jsx38("h3", { className: "text-base font-semibold text-foreground", children: title }),
3596
- description && /* @__PURE__ */ jsx38("p", { className: "mt-1 text-sm text-muted-foreground", children: description })
3170
+ (title || description) && /* @__PURE__ */ jsxs24("div", { className: "mb-4", children: [
3171
+ title && /* @__PURE__ */ jsx31("h3", { className: "text-base font-semibold text-foreground", children: title }),
3172
+ description && /* @__PURE__ */ jsx31("p", { className: "mt-1 text-sm text-muted-foreground", children: description })
3597
3173
  ] }),
3598
- /* @__PURE__ */ jsx38("div", { className: "space-y-4", children })
3174
+ /* @__PURE__ */ jsx31("div", { className: "space-y-4", children })
3599
3175
  ]
3600
3176
  }
3601
3177
  ));
3602
3178
  FormLayoutSection.displayName = "FormLayoutSection";
3603
3179
 
3604
3180
  // src/input-group.tsx
3605
- import * as React24 from "react";
3606
- import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
3607
- var InputGroup = React24.forwardRef(
3181
+ import * as React21 from "react";
3182
+ import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
3183
+ var InputGroup = React21.forwardRef(
3608
3184
  ({
3609
3185
  className,
3610
3186
  addon = "prefix",
@@ -3612,15 +3188,15 @@ var InputGroup = React24.forwardRef(
3612
3188
  suffixContent,
3613
3189
  children,
3614
3190
  ...props
3615
- }, ref) => /* @__PURE__ */ jsxs30(
3191
+ }, ref) => /* @__PURE__ */ jsxs25(
3616
3192
  "div",
3617
3193
  {
3618
3194
  ref,
3619
3195
  className: cn("flex rounded-md shadow-sm", className),
3620
3196
  ...props,
3621
3197
  children: [
3622
- (addon === "prefix" || addon === "both") && addonContent && /* @__PURE__ */ jsx39("span", { className: "inline-flex items-center rounded-l-md border border-r-0 border-input bg-muted px-3 text-sm text-muted-foreground", children: addonContent }),
3623
- /* @__PURE__ */ jsx39(
3198
+ (addon === "prefix" || addon === "both") && addonContent && /* @__PURE__ */ jsx32("span", { className: "inline-flex items-center rounded-l-md border border-r-0 border-input bg-muted px-3 text-sm text-muted-foreground", children: addonContent }),
3199
+ /* @__PURE__ */ jsx32(
3624
3200
  "div",
3625
3201
  {
3626
3202
  className: cn(
@@ -3630,7 +3206,7 @@ var InputGroup = React24.forwardRef(
3630
3206
  children
3631
3207
  }
3632
3208
  ),
3633
- (addon === "suffix" || addon === "both") && (suffixContent || addonContent) && /* @__PURE__ */ jsx39("span", { className: "inline-flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground", children: suffixContent || addonContent })
3209
+ (addon === "suffix" || addon === "both") && (suffixContent || addonContent) && /* @__PURE__ */ jsx32("span", { className: "inline-flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground", children: suffixContent || addonContent })
3634
3210
  ]
3635
3211
  }
3636
3212
  )
@@ -3638,9 +3214,9 @@ var InputGroup = React24.forwardRef(
3638
3214
  InputGroup.displayName = "InputGroup";
3639
3215
 
3640
3216
  // src/radio-group.tsx
3641
- import * as React25 from "react";
3642
- import { jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
3643
- var RadioGroup = React25.forwardRef(
3217
+ import * as React22 from "react";
3218
+ import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
3219
+ var RadioGroup = React22.forwardRef(
3644
3220
  ({
3645
3221
  className,
3646
3222
  options,
@@ -3650,9 +3226,9 @@ var RadioGroup = React25.forwardRef(
3650
3226
  name,
3651
3227
  label,
3652
3228
  ...props
3653
- }, ref) => /* @__PURE__ */ jsxs31("fieldset", { ref, className: cn("space-y-2", className), ...props, children: [
3654
- label && /* @__PURE__ */ jsx40("legend", { className: "mb-2 text-sm font-medium text-foreground", children: label }),
3655
- /* @__PURE__ */ jsx40(
3229
+ }, ref) => /* @__PURE__ */ jsxs26("fieldset", { ref, className: cn("space-y-2", className), ...props, children: [
3230
+ label && /* @__PURE__ */ jsx33("legend", { className: "mb-2 text-sm font-medium text-foreground", children: label }),
3231
+ /* @__PURE__ */ jsx33(
3656
3232
  "div",
3657
3233
  {
3658
3234
  className: cn(
@@ -3663,7 +3239,7 @@ var RadioGroup = React25.forwardRef(
3663
3239
  children: options.map((option) => {
3664
3240
  const isSelected = value === option.value;
3665
3241
  if (variant === "card") {
3666
- return /* @__PURE__ */ jsxs31(
3242
+ return /* @__PURE__ */ jsxs26(
3667
3243
  "label",
3668
3244
  {
3669
3245
  className: cn(
@@ -3671,7 +3247,7 @@ var RadioGroup = React25.forwardRef(
3671
3247
  isSelected ? "border-primary bg-primary/5" : "border-border bg-card hover:bg-muted/50"
3672
3248
  ),
3673
3249
  children: [
3674
- /* @__PURE__ */ jsx40(
3250
+ /* @__PURE__ */ jsx33(
3675
3251
  "input",
3676
3252
  {
3677
3253
  type: "radio",
@@ -3682,16 +3258,16 @@ var RadioGroup = React25.forwardRef(
3682
3258
  className: "mt-0.5 h-4 w-4 accent-primary"
3683
3259
  }
3684
3260
  ),
3685
- /* @__PURE__ */ jsxs31("div", { children: [
3686
- /* @__PURE__ */ jsx40("span", { className: "text-sm font-medium text-foreground", children: option.label }),
3687
- option.description && /* @__PURE__ */ jsx40("p", { className: "mt-0.5 text-xs text-muted-foreground", children: option.description })
3261
+ /* @__PURE__ */ jsxs26("div", { children: [
3262
+ /* @__PURE__ */ jsx33("span", { className: "text-sm font-medium text-foreground", children: option.label }),
3263
+ option.description && /* @__PURE__ */ jsx33("p", { className: "mt-0.5 text-xs text-muted-foreground", children: option.description })
3688
3264
  ] })
3689
3265
  ]
3690
3266
  },
3691
3267
  option.value
3692
3268
  );
3693
3269
  }
3694
- return /* @__PURE__ */ jsxs31(
3270
+ return /* @__PURE__ */ jsxs26(
3695
3271
  "label",
3696
3272
  {
3697
3273
  className: cn(
@@ -3700,7 +3276,7 @@ var RadioGroup = React25.forwardRef(
3700
3276
  variant === "stacked" && isSelected && "border-primary bg-primary/5"
3701
3277
  ),
3702
3278
  children: [
3703
- /* @__PURE__ */ jsx40(
3279
+ /* @__PURE__ */ jsx33(
3704
3280
  "input",
3705
3281
  {
3706
3282
  type: "radio",
@@ -3711,8 +3287,8 @@ var RadioGroup = React25.forwardRef(
3711
3287
  className: "h-4 w-4 accent-primary"
3712
3288
  }
3713
3289
  ),
3714
- /* @__PURE__ */ jsx40("span", { className: "text-sm text-foreground", children: option.label }),
3715
- option.description && variant === "stacked" && /* @__PURE__ */ jsx40("span", { className: "ml-auto text-xs text-muted-foreground", children: option.description })
3290
+ /* @__PURE__ */ jsx33("span", { className: "text-sm text-foreground", children: option.label }),
3291
+ option.description && variant === "stacked" && /* @__PURE__ */ jsx33("span", { className: "ml-auto text-xs text-muted-foreground", children: option.description })
3716
3292
  ]
3717
3293
  },
3718
3294
  option.value
@@ -3725,9 +3301,9 @@ var RadioGroup = React25.forwardRef(
3725
3301
  RadioGroup.displayName = "RadioGroup";
3726
3302
 
3727
3303
  // src/combobox.tsx
3728
- import * as React26 from "react";
3729
- import { jsx as jsx41, jsxs as jsxs32 } from "react/jsx-runtime";
3730
- var Combobox = React26.forwardRef(
3304
+ import * as React23 from "react";
3305
+ import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
3306
+ var Combobox = React23.forwardRef(
3731
3307
  ({
3732
3308
  className,
3733
3309
  options,
@@ -3738,8 +3314,8 @@ var Combobox = React26.forwardRef(
3738
3314
  filterable = true,
3739
3315
  ...props
3740
3316
  }, ref) => {
3741
- const [open, setOpen] = React26.useState(false);
3742
- const [search, setSearch] = React26.useState("");
3317
+ const [open, setOpen] = React23.useState(false);
3318
+ const [search, setSearch] = React23.useState("");
3743
3319
  const selected = multi ? Array.isArray(value) ? value : [] : typeof value === "string" ? value : "";
3744
3320
  const filtered = filterable ? options.filter(
3745
3321
  (o) => o.label.toLowerCase().includes(search.toLowerCase())
@@ -3758,20 +3334,20 @@ var Combobox = React26.forwardRef(
3758
3334
  }
3759
3335
  };
3760
3336
  const displayValue = multi ? null : options.find((o) => o.value === selected)?.label;
3761
- return /* @__PURE__ */ jsxs32("div", { ref, className: cn("relative", className), ...props, children: [
3762
- /* @__PURE__ */ jsxs32(
3337
+ return /* @__PURE__ */ jsxs27("div", { ref, className: cn("relative", className), ...props, children: [
3338
+ /* @__PURE__ */ jsxs27(
3763
3339
  "div",
3764
3340
  {
3765
3341
  className: "flex min-h-9 cursor-pointer items-center gap-1 rounded-md border border-input bg-background px-3 py-1.5",
3766
3342
  onClick: () => setOpen(!open),
3767
3343
  children: [
3768
- multi && Array.isArray(selected) && selected.length > 0 ? /* @__PURE__ */ jsx41("div", { className: "flex flex-wrap gap-1", children: selected.map((v) => /* @__PURE__ */ jsxs32(
3344
+ multi && Array.isArray(selected) && selected.length > 0 ? /* @__PURE__ */ jsx34("div", { className: "flex flex-wrap gap-1", children: selected.map((v) => /* @__PURE__ */ jsxs27(
3769
3345
  "span",
3770
3346
  {
3771
3347
  className: "text-primary-text inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 text-xs font-medium",
3772
3348
  children: [
3773
3349
  options.find((o) => o.value === v)?.label,
3774
- /* @__PURE__ */ jsx41(
3350
+ /* @__PURE__ */ jsx34(
3775
3351
  "button",
3776
3352
  {
3777
3353
  type: "button",
@@ -3786,7 +3362,7 @@ var Combobox = React26.forwardRef(
3786
3362
  ]
3787
3363
  },
3788
3364
  v
3789
- )) }) : /* @__PURE__ */ jsx41(
3365
+ )) }) : /* @__PURE__ */ jsx34(
3790
3366
  "span",
3791
3367
  {
3792
3368
  className: cn(
@@ -3796,12 +3372,12 @@ var Combobox = React26.forwardRef(
3796
3372
  children: displayValue || placeholder
3797
3373
  }
3798
3374
  ),
3799
- /* @__PURE__ */ jsx41("span", { className: "ml-auto text-muted-foreground", children: "\u25BE" })
3375
+ /* @__PURE__ */ jsx34("span", { className: "ml-auto text-muted-foreground", children: "\u25BE" })
3800
3376
  ]
3801
3377
  }
3802
3378
  ),
3803
- open && /* @__PURE__ */ jsxs32("div", { className: "z-dropdown absolute mt-1 w-full rounded-md border border-border bg-card shadow-lg", children: [
3804
- filterable && /* @__PURE__ */ jsx41("div", { className: "border-b border-border p-2", children: /* @__PURE__ */ jsx41(
3379
+ open && /* @__PURE__ */ jsxs27("div", { className: "z-dropdown absolute mt-1 w-full rounded-md border border-border bg-card shadow-lg", children: [
3380
+ filterable && /* @__PURE__ */ jsx34("div", { className: "border-b border-border p-2", children: /* @__PURE__ */ jsx34(
3805
3381
  "input",
3806
3382
  {
3807
3383
  type: "text",
@@ -3812,9 +3388,9 @@ var Combobox = React26.forwardRef(
3812
3388
  autoFocus: true
3813
3389
  }
3814
3390
  ) }),
3815
- /* @__PURE__ */ jsx41("div", { className: "max-h-60 overflow-y-auto p-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx41("div", { className: "px-3 py-2 text-sm text-muted-foreground", children: "No results" }) : filtered.map((option) => {
3391
+ /* @__PURE__ */ jsx34("div", { className: "max-h-60 overflow-y-auto p-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx34("div", { className: "px-3 py-2 text-sm text-muted-foreground", children: "No results" }) : filtered.map((option) => {
3816
3392
  const isSelected = multi ? Array.isArray(selected) && selected.includes(option.value) : selected === option.value;
3817
- return /* @__PURE__ */ jsxs32(
3393
+ return /* @__PURE__ */ jsxs27(
3818
3394
  "button",
3819
3395
  {
3820
3396
  type: "button",
@@ -3824,9 +3400,9 @@ var Combobox = React26.forwardRef(
3824
3400
  ),
3825
3401
  onClick: () => handleSelect(option.value),
3826
3402
  children: [
3827
- multi && /* @__PURE__ */ jsx41("span", { className: "mr-2", children: isSelected ? "\u2611" : "\u2610" }),
3403
+ multi && /* @__PURE__ */ jsx34("span", { className: "mr-2", children: isSelected ? "\u2611" : "\u2610" }),
3828
3404
  option.label,
3829
- !multi && isSelected && /* @__PURE__ */ jsx41("span", { className: "text-primary-text ml-auto", children: "\u2713" })
3405
+ !multi && isSelected && /* @__PURE__ */ jsx34("span", { className: "text-primary-text ml-auto", children: "\u2713" })
3830
3406
  ]
3831
3407
  },
3832
3408
  option.value
@@ -3839,8 +3415,8 @@ var Combobox = React26.forwardRef(
3839
3415
  Combobox.displayName = "Combobox";
3840
3416
 
3841
3417
  // src/notification-banner.tsx
3842
- import * as React27 from "react";
3843
- import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
3418
+ import * as React24 from "react";
3419
+ import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
3844
3420
  var INTENT_STYLES = {
3845
3421
  success: {
3846
3422
  subtle: "bg-intent-success/10 text-intent-success-foreground border-intent-success/20",
@@ -3869,7 +3445,7 @@ var ICON_MAP = {
3869
3445
  error: "circle-alert",
3870
3446
  info: "info"
3871
3447
  };
3872
- var NotificationBanner = React27.forwardRef(
3448
+ var NotificationBanner = React24.forwardRef(
3873
3449
  ({
3874
3450
  className,
3875
3451
  intent = "info",
@@ -3881,13 +3457,13 @@ var NotificationBanner = React27.forwardRef(
3881
3457
  children,
3882
3458
  ...props
3883
3459
  }, ref) => {
3884
- const [dismissed, setDismissed] = React27.useState(false);
3460
+ const [dismissed, setDismissed] = React24.useState(false);
3885
3461
  if (dismissed) return null;
3886
3462
  const handleDismiss = () => {
3887
3463
  setDismissed(true);
3888
3464
  onDismiss?.();
3889
3465
  };
3890
- return /* @__PURE__ */ jsxs33(
3466
+ return /* @__PURE__ */ jsxs28(
3891
3467
  "div",
3892
3468
  {
3893
3469
  ref,
@@ -3899,13 +3475,13 @@ var NotificationBanner = React27.forwardRef(
3899
3475
  ),
3900
3476
  ...props,
3901
3477
  children: [
3902
- /* @__PURE__ */ jsx42("span", { className: "flex-shrink-0 pt-0.5", "aria-hidden": "true", children: /* @__PURE__ */ jsx42(Icon, { name: ICON_MAP[intent], size: "md" }) }),
3903
- /* @__PURE__ */ jsxs33("div", { className: "min-w-0 flex-1", children: [
3904
- title && /* @__PURE__ */ jsx42("p", { className: "font-semibold", children: title }),
3905
- children && /* @__PURE__ */ jsx42("div", { className: cn(title && "mt-1", "text-sm"), children })
3478
+ /* @__PURE__ */ jsx35("span", { className: "flex-shrink-0 pt-0.5", "aria-hidden": "true", children: /* @__PURE__ */ jsx35(Icon, { name: ICON_MAP[intent], size: "md" }) }),
3479
+ /* @__PURE__ */ jsxs28("div", { className: "min-w-0 flex-1", children: [
3480
+ title && /* @__PURE__ */ jsx35("p", { className: "font-semibold", children: title }),
3481
+ children && /* @__PURE__ */ jsx35("div", { className: cn(title && "mt-1", "text-sm"), children })
3906
3482
  ] }),
3907
- action && /* @__PURE__ */ jsx42("div", { className: "flex-shrink-0", children: action }),
3908
- dismissible && /* @__PURE__ */ jsx42(
3483
+ action && /* @__PURE__ */ jsx35("div", { className: "flex-shrink-0", children: action }),
3484
+ dismissible && /* @__PURE__ */ jsx35(
3909
3485
  "button",
3910
3486
  {
3911
3487
  type: "button",
@@ -3923,9 +3499,9 @@ var NotificationBanner = React27.forwardRef(
3923
3499
  NotificationBanner.displayName = "NotificationBanner";
3924
3500
 
3925
3501
  // src/notification-panel.tsx
3926
- import * as React28 from "react";
3927
- import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
3928
- var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMarkAllRead, children, ...props }, ref) => /* @__PURE__ */ jsxs34(
3502
+ import * as React25 from "react";
3503
+ import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
3504
+ var NotificationPanel = React25.forwardRef(({ className, unreadCount = 0, onMarkAllRead, children, ...props }, ref) => /* @__PURE__ */ jsxs29(
3929
3505
  "div",
3930
3506
  {
3931
3507
  ref,
@@ -3935,12 +3511,12 @@ var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMark
3935
3511
  ),
3936
3512
  ...props,
3937
3513
  children: [
3938
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between border-b border-border px-4 py-3", children: [
3939
- /* @__PURE__ */ jsxs34("h3", { className: "text-sm font-semibold text-foreground", children: [
3514
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between border-b border-border px-4 py-3", children: [
3515
+ /* @__PURE__ */ jsxs29("h3", { className: "text-sm font-semibold text-foreground", children: [
3940
3516
  "Notifications",
3941
- unreadCount > 0 && /* @__PURE__ */ jsx43("span", { className: "bg-primary-solid ml-2 inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-xs text-primary-foreground", children: unreadCount })
3517
+ unreadCount > 0 && /* @__PURE__ */ jsx36("span", { className: "bg-primary-solid ml-2 inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-xs text-primary-foreground", children: unreadCount })
3942
3518
  ] }),
3943
- onMarkAllRead && unreadCount > 0 && /* @__PURE__ */ jsx43(
3519
+ onMarkAllRead && unreadCount > 0 && /* @__PURE__ */ jsx36(
3944
3520
  "button",
3945
3521
  {
3946
3522
  type: "button",
@@ -3950,12 +3526,12 @@ var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMark
3950
3526
  }
3951
3527
  )
3952
3528
  ] }),
3953
- /* @__PURE__ */ jsx43("div", { className: "max-h-80 divide-y divide-border overflow-y-auto", children })
3529
+ /* @__PURE__ */ jsx36("div", { className: "max-h-80 divide-y divide-border overflow-y-auto", children })
3954
3530
  ]
3955
3531
  }
3956
3532
  ));
3957
3533
  NotificationPanel.displayName = "NotificationPanel";
3958
- var NotificationPanelItem = React28.forwardRef(({ className, title, description, time, unread, icon, ...props }, ref) => /* @__PURE__ */ jsxs34(
3534
+ var NotificationPanelItem = React25.forwardRef(({ className, title, description, time, unread, icon, ...props }, ref) => /* @__PURE__ */ jsxs29(
3959
3535
  "div",
3960
3536
  {
3961
3537
  ref,
@@ -3966,9 +3542,9 @@ var NotificationPanelItem = React28.forwardRef(({ className, title, description,
3966
3542
  ),
3967
3543
  ...props,
3968
3544
  children: [
3969
- icon && /* @__PURE__ */ jsx43("div", { className: "flex-shrink-0 pt-0.5", children: icon }),
3970
- /* @__PURE__ */ jsxs34("div", { className: "min-w-0 flex-1", children: [
3971
- /* @__PURE__ */ jsx43(
3545
+ icon && /* @__PURE__ */ jsx36("div", { className: "flex-shrink-0 pt-0.5", children: icon }),
3546
+ /* @__PURE__ */ jsxs29("div", { className: "min-w-0 flex-1", children: [
3547
+ /* @__PURE__ */ jsx36(
3972
3548
  "p",
3973
3549
  {
3974
3550
  className: cn(
@@ -3978,22 +3554,22 @@ var NotificationPanelItem = React28.forwardRef(({ className, title, description,
3978
3554
  children: title
3979
3555
  }
3980
3556
  ),
3981
- description && /* @__PURE__ */ jsx43("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description }),
3982
- time && /* @__PURE__ */ jsx43("p", { className: "mt-1 text-xs text-muted-foreground", children: time })
3557
+ description && /* @__PURE__ */ jsx36("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description }),
3558
+ time && /* @__PURE__ */ jsx36("p", { className: "mt-1 text-xs text-muted-foreground", children: time })
3983
3559
  ] }),
3984
- unread && /* @__PURE__ */ jsx43("div", { className: "flex-shrink-0 pt-1.5", children: /* @__PURE__ */ jsx43("div", { className: "h-2 w-2 rounded-full bg-primary" }) })
3560
+ unread && /* @__PURE__ */ jsx36("div", { className: "flex-shrink-0 pt-1.5", children: /* @__PURE__ */ jsx36("div", { className: "h-2 w-2 rounded-full bg-primary" }) })
3985
3561
  ]
3986
3562
  }
3987
3563
  ));
3988
3564
  NotificationPanelItem.displayName = "NotificationPanelItem";
3989
3565
 
3990
3566
  // src/skeleton-patterns.tsx
3991
- import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
3567
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
3992
3568
  function SkeletonBar2({
3993
3569
  className,
3994
3570
  ...props
3995
3571
  }) {
3996
- return /* @__PURE__ */ jsx44(
3572
+ return /* @__PURE__ */ jsx37(
3997
3573
  "div",
3998
3574
  {
3999
3575
  className: cn("animate-pulse rounded-md bg-muted", className),
@@ -4007,7 +3583,7 @@ function SkeletonTable({
4007
3583
  columns = 4,
4008
3584
  ...props
4009
3585
  }) {
4010
- return /* @__PURE__ */ jsxs35(
3586
+ return /* @__PURE__ */ jsxs30(
4011
3587
  "div",
4012
3588
  {
4013
3589
  className: cn(
@@ -4016,15 +3592,15 @@ function SkeletonTable({
4016
3592
  ),
4017
3593
  ...props,
4018
3594
  children: [
4019
- /* @__PURE__ */ jsx44("div", { className: "flex gap-4 border-b border-border bg-muted/50 px-4 py-3", children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 flex-1" }, `h-${i}`)) }),
4020
- Array.from({ length: rows }).map((_, row) => /* @__PURE__ */ jsx44(
3595
+ /* @__PURE__ */ jsx37("div", { className: "flex gap-4 border-b border-border bg-muted/50 px-4 py-3", children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 flex-1" }, `h-${i}`)) }),
3596
+ Array.from({ length: rows }).map((_, row) => /* @__PURE__ */ jsx37(
4021
3597
  "div",
4022
3598
  {
4023
3599
  className: cn(
4024
3600
  "flex gap-4 px-4 py-3",
4025
3601
  row < rows - 1 && "border-b border-border"
4026
3602
  ),
4027
- children: Array.from({ length: columns }).map((_2, col) => /* @__PURE__ */ jsx44(
3603
+ children: Array.from({ length: columns }).map((_2, col) => /* @__PURE__ */ jsx37(
4028
3604
  SkeletonBar2,
4029
3605
  {
4030
3606
  className: cn("h-4 flex-1", col === 0 && "max-w-[140px]")
@@ -4046,17 +3622,17 @@ function SkeletonCardGrid({
4046
3622
  ...props
4047
3623
  }) {
4048
3624
  const colClass = columns === 2 ? "grid-cols-1 sm:grid-cols-2" : "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";
4049
- return /* @__PURE__ */ jsx44("div", { className: cn("grid gap-4", colClass, className), ...props, children: Array.from({ length: cards }).map((_, i) => /* @__PURE__ */ jsxs35(
3625
+ return /* @__PURE__ */ jsx37("div", { className: cn("grid gap-4", colClass, className), ...props, children: Array.from({ length: cards }).map((_, i) => /* @__PURE__ */ jsxs30(
4050
3626
  "div",
4051
3627
  {
4052
3628
  className: "space-y-3 rounded-lg border border-border p-4",
4053
3629
  children: [
4054
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-3/4" }),
4055
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-3 w-full" }),
4056
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-3 w-5/6" }),
4057
- /* @__PURE__ */ jsxs35("div", { className: "flex gap-2 pt-2", children: [
4058
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-6 w-6 rounded-full" }),
4059
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-20" })
3630
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-3/4" }),
3631
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-3 w-full" }),
3632
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-3 w-5/6" }),
3633
+ /* @__PURE__ */ jsxs30("div", { className: "flex gap-2 pt-2", children: [
3634
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-6 w-6 rounded-full" }),
3635
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-20" })
4060
3636
  ] })
4061
3637
  ]
4062
3638
  },
@@ -4065,34 +3641,34 @@ function SkeletonCardGrid({
4065
3641
  }
4066
3642
  SkeletonCardGrid.displayName = "SkeletonCardGrid";
4067
3643
  function SkeletonDetail({ className, ...props }) {
4068
- return /* @__PURE__ */ jsxs35("div", { className: cn("space-y-6", className), ...props, children: [
4069
- /* @__PURE__ */ jsxs35("div", { className: "space-y-2", children: [
4070
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-8 w-1/3" }),
4071
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-2/3" })
3644
+ return /* @__PURE__ */ jsxs30("div", { className: cn("space-y-6", className), ...props, children: [
3645
+ /* @__PURE__ */ jsxs30("div", { className: "space-y-2", children: [
3646
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-8 w-1/3" }),
3647
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-2/3" })
4072
3648
  ] }),
4073
- /* @__PURE__ */ jsx44("div", { className: "space-y-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxs35("div", { className: "flex justify-between", children: [
4074
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-24" }),
4075
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-40" })
3649
+ /* @__PURE__ */ jsx37("div", { className: "space-y-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxs30("div", { className: "flex justify-between", children: [
3650
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-24" }),
3651
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-40" })
4076
3652
  ] }, `dl-${i}`)) }),
4077
- /* @__PURE__ */ jsxs35("div", { className: "space-y-2", children: [
4078
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-full" }),
4079
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-full" }),
4080
- /* @__PURE__ */ jsx44(SkeletonBar2, { className: "h-4 w-3/4" })
3653
+ /* @__PURE__ */ jsxs30("div", { className: "space-y-2", children: [
3654
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-full" }),
3655
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-full" }),
3656
+ /* @__PURE__ */ jsx37(SkeletonBar2, { className: "h-4 w-3/4" })
4081
3657
  ] })
4082
3658
  ] });
4083
3659
  }
4084
3660
  SkeletonDetail.displayName = "SkeletonDetail";
4085
3661
 
4086
3662
  // src/toggle.tsx
4087
- import * as React29 from "react";
4088
- import { jsx as jsx45 } from "react/jsx-runtime";
3663
+ import * as React26 from "react";
3664
+ import { jsx as jsx38 } from "react/jsx-runtime";
4089
3665
  var SIZE_CLASSES4 = {
4090
3666
  sm: "h-8 px-2 text-xs",
4091
3667
  md: "h-9 px-3 text-sm",
4092
3668
  lg: "h-10 px-4 text-base"
4093
3669
  };
4094
- var Toggle = React29.forwardRef(
4095
- ({ className, pressed, variant = "default", size = "md", ...props }, ref) => /* @__PURE__ */ jsx45(
3670
+ var Toggle = React26.forwardRef(
3671
+ ({ className, pressed, variant = "default", size = "md", ...props }, ref) => /* @__PURE__ */ jsx38(
4096
3672
  "button",
4097
3673
  {
4098
3674
  ref,
@@ -4111,7 +3687,7 @@ var Toggle = React29.forwardRef(
4111
3687
  )
4112
3688
  );
4113
3689
  Toggle.displayName = "Toggle";
4114
- var ToggleGroup = React29.forwardRef(
3690
+ var ToggleGroup = React26.forwardRef(
4115
3691
  ({
4116
3692
  className,
4117
3693
  type = "single",
@@ -4138,18 +3714,18 @@ var ToggleGroup = React29.forwardRef(
4138
3714
  );
4139
3715
  }
4140
3716
  };
4141
- return /* @__PURE__ */ jsx45(
3717
+ return /* @__PURE__ */ jsx38(
4142
3718
  "div",
4143
3719
  {
4144
3720
  ref,
4145
3721
  role: "group",
4146
3722
  className: cn("inline-flex items-center gap-1", className),
4147
3723
  ...props,
4148
- children: React29.Children.map(children, (child) => {
4149
- if (!React29.isValidElement(child)) return child;
3724
+ children: React26.Children.map(children, (child) => {
3725
+ if (!React26.isValidElement(child)) return child;
4150
3726
  const childProps = child.props;
4151
3727
  const itemValue = childProps.value ?? "";
4152
- return React29.cloneElement(child, {
3728
+ return React26.cloneElement(child, {
4153
3729
  pressed: isPressed(itemValue),
4154
3730
  variant,
4155
3731
  size,
@@ -4166,8 +3742,8 @@ var ToggleGroup = React29.forwardRef(
4166
3742
  ToggleGroup.displayName = "ToggleGroup";
4167
3743
 
4168
3744
  // src/avatar-group.tsx
4169
- import * as React30 from "react";
4170
- import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
3745
+ import * as React27 from "react";
3746
+ import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
4171
3747
  var SIZE_MAP = {
4172
3748
  xs: { avatar: "h-6 w-6", ring: "ring-1", text: "text-[10px]" },
4173
3749
  sm: { avatar: "h-8 w-8", ring: "ring-2", text: "text-xs" },
@@ -4180,14 +3756,14 @@ var OVERLAP_MAP = {
4180
3756
  md: "-ml-3",
4181
3757
  lg: "-ml-3"
4182
3758
  };
4183
- var AvatarGroup = React30.forwardRef(
3759
+ var AvatarGroup = React27.forwardRef(
4184
3760
  ({ className, max = 5, size = "md", children, ...props }, ref) => {
4185
- const items = React30.Children.toArray(children);
3761
+ const items = React27.Children.toArray(children);
4186
3762
  const visible = items.slice(0, max);
4187
3763
  const overflow = items.length - max;
4188
3764
  const sizeConfig3 = SIZE_MAP[size];
4189
- return /* @__PURE__ */ jsxs36("div", { ref, className: cn("flex items-center", className), ...props, children: [
4190
- visible.map((child, i) => /* @__PURE__ */ jsx46(
3765
+ return /* @__PURE__ */ jsxs31("div", { ref, className: cn("flex items-center", className), ...props, children: [
3766
+ visible.map((child, i) => /* @__PURE__ */ jsx39(
4191
3767
  "div",
4192
3768
  {
4193
3769
  className: cn(
@@ -4199,7 +3775,7 @@ var AvatarGroup = React30.forwardRef(
4199
3775
  },
4200
3776
  i
4201
3777
  )),
4202
- overflow > 0 && /* @__PURE__ */ jsx46(
3778
+ overflow > 0 && /* @__PURE__ */ jsx39(
4203
3779
  "div",
4204
3780
  {
4205
3781
  className: cn(
@@ -4208,7 +3784,7 @@ var AvatarGroup = React30.forwardRef(
4208
3784
  sizeConfig3.ring,
4209
3785
  OVERLAP_MAP[size]
4210
3786
  ),
4211
- children: /* @__PURE__ */ jsxs36(
3787
+ children: /* @__PURE__ */ jsxs31(
4212
3788
  "span",
4213
3789
  {
4214
3790
  className: cn(
@@ -4227,10 +3803,10 @@ var AvatarGroup = React30.forwardRef(
4227
3803
  }
4228
3804
  );
4229
3805
  AvatarGroup.displayName = "AvatarGroup";
4230
- var AvatarGroupItem = React30.forwardRef(({ className, fallback, size = "md", alt, src, ...props }, ref) => {
3806
+ var AvatarGroupItem = React27.forwardRef(({ className, fallback, size = "md", alt, src, ...props }, ref) => {
4231
3807
  const sizeConfig3 = SIZE_MAP[size];
4232
3808
  if (!src && fallback) {
4233
- return /* @__PURE__ */ jsx46(
3809
+ return /* @__PURE__ */ jsx39(
4234
3810
  "div",
4235
3811
  {
4236
3812
  className: cn(
@@ -4244,7 +3820,7 @@ var AvatarGroupItem = React30.forwardRef(({ className, fallback, size = "md", al
4244
3820
  }
4245
3821
  );
4246
3822
  }
4247
- return /* @__PURE__ */ jsx46(
3823
+ return /* @__PURE__ */ jsx39(
4248
3824
  "img",
4249
3825
  {
4250
3826
  ref,
@@ -4258,10 +3834,10 @@ var AvatarGroupItem = React30.forwardRef(({ className, fallback, size = "md", al
4258
3834
  AvatarGroupItem.displayName = "AvatarGroupItem";
4259
3835
 
4260
3836
  // src/tab-bar.tsx
4261
- import * as React31 from "react";
4262
- import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
4263
- var TabBar = React31.forwardRef(
4264
- ({ className, variant = "underline", children, ...props }, ref) => /* @__PURE__ */ jsxs37(
3837
+ import * as React28 from "react";
3838
+ import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
3839
+ var TabBar = React28.forwardRef(
3840
+ ({ className, variant = "underline", children, ...props }, ref) => /* @__PURE__ */ jsxs32(
4265
3841
  "div",
4266
3842
  {
4267
3843
  ref,
@@ -4281,21 +3857,21 @@ var TabBar = React31.forwardRef(
4281
3857
  "data-variant": variant,
4282
3858
  ...props,
4283
3859
  children: [
4284
- React31.Children.map(children, (child) => {
4285
- if (!React31.isValidElement(child)) return child;
4286
- return React31.cloneElement(
3860
+ React28.Children.map(children, (child) => {
3861
+ if (!React28.isValidElement(child)) return child;
3862
+ return React28.cloneElement(
4287
3863
  child,
4288
3864
  { _variant: variant }
4289
3865
  );
4290
3866
  }),
4291
- /* @__PURE__ */ jsx47(ScrollHintXMark, {})
3867
+ /* @__PURE__ */ jsx40(ScrollHintXMark, {})
4292
3868
  ]
4293
3869
  }
4294
3870
  )
4295
3871
  );
4296
3872
  TabBar.displayName = "TabBar";
4297
- var TabBarItem = React31.forwardRef(
4298
- ({ className, active, disabled, _variant: variant = "underline", ...props }, ref) => /* @__PURE__ */ jsx47(
3873
+ var TabBarItem = React28.forwardRef(
3874
+ ({ className, active, disabled, _variant: variant = "underline", ...props }, ref) => /* @__PURE__ */ jsx40(
4299
3875
  "button",
4300
3876
  {
4301
3877
  ref,
@@ -4331,7 +3907,7 @@ var TabBarItem = React31.forwardRef(
4331
3907
  TabBarItem.displayName = "TabBarItem";
4332
3908
 
4333
3909
  // src/sticky-action-bar.tsx
4334
- import { jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
3910
+ import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
4335
3911
  function StickyActionBar({
4336
3912
  context,
4337
3913
  actions,
@@ -4339,7 +3915,7 @@ function StickyActionBar({
4339
3915
  className,
4340
3916
  testId = "sticky-action-bar"
4341
3917
  }) {
4342
- return /* @__PURE__ */ jsx48(
3918
+ return /* @__PURE__ */ jsx41(
4343
3919
  "div",
4344
3920
  {
4345
3921
  "data-testid": testId,
@@ -4350,24 +3926,24 @@ function StickyActionBar({
4350
3926
  topClassName,
4351
3927
  className
4352
3928
  ),
4353
- children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
4354
- context != null ? /* @__PURE__ */ jsx48("div", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1.5", children: context }) : /* @__PURE__ */ jsx48("span", {}),
4355
- /* @__PURE__ */ jsx48("div", { className: "flex shrink-0 items-center gap-2", children: actions })
3929
+ children: /* @__PURE__ */ jsxs33("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
3930
+ context != null ? /* @__PURE__ */ jsx41("div", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1.5", children: context }) : /* @__PURE__ */ jsx41("span", {}),
3931
+ /* @__PURE__ */ jsx41("div", { className: "flex shrink-0 items-center gap-2", children: actions })
4356
3932
  ] })
4357
3933
  }
4358
3934
  );
4359
3935
  }
4360
3936
 
4361
3937
  // src/button-group.tsx
4362
- import * as React32 from "react";
4363
- import { jsx as jsx49 } from "react/jsx-runtime";
3938
+ import * as React29 from "react";
3939
+ import { jsx as jsx42 } from "react/jsx-runtime";
4364
3940
  var SIZE_CLASSES5 = {
4365
3941
  sm: "h-8 px-3 text-xs",
4366
3942
  md: "h-9 px-4 text-sm",
4367
3943
  lg: "h-10 px-5 text-base"
4368
3944
  };
4369
- var ButtonGroup = React32.forwardRef(
4370
- ({ className, variant = "default", size = "md", children, ...props }, ref) => /* @__PURE__ */ jsx49(
3945
+ var ButtonGroup = React29.forwardRef(
3946
+ ({ className, variant = "default", size = "md", children, ...props }, ref) => /* @__PURE__ */ jsx42(
4371
3947
  "div",
4372
3948
  {
4373
3949
  ref,
@@ -4380,9 +3956,9 @@ var ButtonGroup = React32.forwardRef(
4380
3956
  "data-variant": variant,
4381
3957
  "data-size": size,
4382
3958
  ...props,
4383
- children: React32.Children.map(children, (child) => {
4384
- if (!React32.isValidElement(child)) return child;
4385
- return React32.cloneElement(
3959
+ children: React29.Children.map(children, (child) => {
3960
+ if (!React29.isValidElement(child)) return child;
3961
+ return React29.cloneElement(
4386
3962
  child,
4387
3963
  { _variant: variant, _size: size }
4388
3964
  );
@@ -4391,14 +3967,14 @@ var ButtonGroup = React32.forwardRef(
4391
3967
  )
4392
3968
  );
4393
3969
  ButtonGroup.displayName = "ButtonGroup";
4394
- var ButtonGroupItem = React32.forwardRef(
3970
+ var ButtonGroupItem = React29.forwardRef(
4395
3971
  ({
4396
3972
  className,
4397
3973
  active,
4398
3974
  _variant: variant = "default",
4399
3975
  _size: size = "md",
4400
3976
  ...props
4401
- }, ref) => /* @__PURE__ */ jsx49(
3977
+ }, ref) => /* @__PURE__ */ jsx42(
4402
3978
  "button",
4403
3979
  {
4404
3980
  ref,
@@ -4439,9 +4015,9 @@ var ButtonGroupItem = React32.forwardRef(
4439
4015
  ButtonGroupItem.displayName = "ButtonGroupItem";
4440
4016
 
4441
4017
  // src/data-table.tsx
4442
- import * as React33 from "react";
4443
- import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
4444
- var DataTable = React33.forwardRef(
4018
+ import * as React30 from "react";
4019
+ import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
4020
+ var DataTable = React30.forwardRef(
4445
4021
  ({
4446
4022
  className,
4447
4023
  density = "default",
@@ -4451,8 +4027,8 @@ var DataTable = React33.forwardRef(
4451
4027
  }, ref) => (
4452
4028
  // W1.5 Batch 0 (#5823): a flex row, so the x mark (`ScrollHintXMark`,
4453
4029
  // last child) sits beside the table, not under it
4454
- /* @__PURE__ */ jsxs39("div", { className: "flex w-full overflow-x-auto", children: [
4455
- /* @__PURE__ */ jsx50(
4030
+ /* @__PURE__ */ jsxs34("div", { className: "flex w-full overflow-x-auto", children: [
4031
+ /* @__PURE__ */ jsx43(
4456
4032
  "table",
4457
4033
  {
4458
4034
  ref,
@@ -4466,12 +4042,12 @@ var DataTable = React33.forwardRef(
4466
4042
  ...props
4467
4043
  }
4468
4044
  ),
4469
- /* @__PURE__ */ jsx50(ScrollHintXMark, {})
4045
+ /* @__PURE__ */ jsx43(ScrollHintXMark, {})
4470
4046
  ] })
4471
4047
  )
4472
4048
  );
4473
4049
  DataTable.displayName = "DataTable";
4474
- var TableHeader = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
4050
+ var TableHeader = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4475
4051
  "thead",
4476
4052
  {
4477
4053
  ref,
@@ -4480,7 +4056,7 @@ var TableHeader = React33.forwardRef(({ className, ...props }, ref) => /* @__PUR
4480
4056
  }
4481
4057
  ));
4482
4058
  TableHeader.displayName = "TableHeader";
4483
- var TableBody = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
4059
+ var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4484
4060
  "tbody",
4485
4061
  {
4486
4062
  ref,
@@ -4489,8 +4065,8 @@ var TableBody = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4489
4065
  }
4490
4066
  ));
4491
4067
  TableBody.displayName = "TableBody";
4492
- var TableRow = React33.forwardRef(
4493
- ({ className, selected, ...props }, ref) => /* @__PURE__ */ jsx50(
4068
+ var TableRow = React30.forwardRef(
4069
+ ({ className, selected, ...props }, ref) => /* @__PURE__ */ jsx43(
4494
4070
  "tr",
4495
4071
  {
4496
4072
  ref,
@@ -4513,12 +4089,12 @@ var DENSITY_CELL = {
4513
4089
  default: "px-4 py-2",
4514
4090
  relaxed: "px-4 py-3"
4515
4091
  };
4516
- var TableCell = React33.forwardRef(
4092
+ var TableCell = React30.forwardRef(
4517
4093
  ({ className, header, sortDirection, onSort, children, ...props }, ref) => {
4518
- const Tag2 = header ? "th" : "td";
4094
+ const Tag = header ? "th" : "td";
4519
4095
  const sortIndicator = sortDirection === "asc" ? " \u2191" : sortDirection === "desc" ? " \u2193" : "";
4520
- return /* @__PURE__ */ jsxs39(
4521
- Tag2,
4096
+ return /* @__PURE__ */ jsxs34(
4097
+ Tag,
4522
4098
  {
4523
4099
  ref,
4524
4100
  className: cn(
@@ -4532,14 +4108,14 @@ var TableCell = React33.forwardRef(
4532
4108
  ...props,
4533
4109
  children: [
4534
4110
  children,
4535
- header && sortIndicator && /* @__PURE__ */ jsx50("span", { className: "text-primary-text ml-1", children: sortIndicator })
4111
+ header && sortIndicator && /* @__PURE__ */ jsx43("span", { className: "text-primary-text ml-1", children: sortIndicator })
4536
4112
  ]
4537
4113
  }
4538
4114
  );
4539
4115
  }
4540
4116
  );
4541
4117
  TableCell.displayName = "TableCell";
4542
- var TableCaption = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
4118
+ var TableCaption = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4543
4119
  "caption",
4544
4120
  {
4545
4121
  ref,
@@ -4550,15 +4126,15 @@ var TableCaption = React33.forwardRef(({ className, ...props }, ref) => /* @__PU
4550
4126
  TableCaption.displayName = "TableCaption";
4551
4127
 
4552
4128
  // src/stat-group.tsx
4553
- import * as React34 from "react";
4554
- import { jsx as jsx51 } from "react/jsx-runtime";
4129
+ import * as React31 from "react";
4130
+ import { jsx as jsx44 } from "react/jsx-runtime";
4555
4131
  var COL_CLASSES = {
4556
4132
  2: "grid-cols-1 sm:grid-cols-2",
4557
4133
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
4558
4134
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
4559
4135
  };
4560
- var StatGroup = React34.forwardRef(
4561
- ({ className, columns = 3, variant = "card", children, ...props }, ref) => /* @__PURE__ */ jsx51(
4136
+ var StatGroup = React31.forwardRef(
4137
+ ({ className, columns = 3, variant = "card", children, ...props }, ref) => /* @__PURE__ */ jsx44(
4562
4138
  "div",
4563
4139
  {
4564
4140
  ref,
@@ -4576,10 +4152,10 @@ var StatGroup = React34.forwardRef(
4576
4152
  StatGroup.displayName = "StatGroup";
4577
4153
 
4578
4154
  // src/description-list.tsx
4579
- import * as React35 from "react";
4580
- import { jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
4581
- var DescriptionLayoutContext = React35.createContext("stacked");
4582
- var DescriptionList = React35.forwardRef(({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx52(DescriptionLayoutContext.Provider, { value: layout, children: /* @__PURE__ */ jsx52(
4155
+ import * as React32 from "react";
4156
+ import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
4157
+ var DescriptionLayoutContext = React32.createContext("stacked");
4158
+ var DescriptionList = React32.forwardRef(({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx45(DescriptionLayoutContext.Provider, { value: layout, children: /* @__PURE__ */ jsx45(
4583
4159
  "dl",
4584
4160
  {
4585
4161
  ref,
@@ -4593,10 +4169,10 @@ var DescriptionList = React35.forwardRef(({ className, layout = "stacked", ...pr
4593
4169
  }
4594
4170
  ) }));
4595
4171
  DescriptionList.displayName = "DescriptionList";
4596
- var DescriptionItem = React35.forwardRef(
4172
+ var DescriptionItem = React32.forwardRef(
4597
4173
  ({ className, label, value, ...props }, ref) => {
4598
- const layout = React35.useContext(DescriptionLayoutContext);
4599
- return /* @__PURE__ */ jsxs40(
4174
+ const layout = React32.useContext(DescriptionLayoutContext);
4175
+ return /* @__PURE__ */ jsxs35(
4600
4176
  "div",
4601
4177
  {
4602
4178
  ref,
@@ -4608,7 +4184,7 @@ var DescriptionItem = React35.forwardRef(
4608
4184
  ),
4609
4185
  ...props,
4610
4186
  children: [
4611
- /* @__PURE__ */ jsx52(
4187
+ /* @__PURE__ */ jsx45(
4612
4188
  "dt",
4613
4189
  {
4614
4190
  className: cn(
@@ -4618,7 +4194,7 @@ var DescriptionItem = React35.forwardRef(
4618
4194
  children: label
4619
4195
  }
4620
4196
  ),
4621
- /* @__PURE__ */ jsx52(
4197
+ /* @__PURE__ */ jsx45(
4622
4198
  "dd",
4623
4199
  {
4624
4200
  className: cn(
@@ -4626,7 +4202,7 @@ var DescriptionItem = React35.forwardRef(
4626
4202
  layout !== "side-by-side" && "mt-1",
4627
4203
  layout === "side-by-side" && "text-right"
4628
4204
  ),
4629
- children: isEmptyValue(value) ? /* @__PURE__ */ jsx52(EmptyValue, {}) : value
4205
+ children: isEmptyValue(value) ? /* @__PURE__ */ jsx45(EmptyValue, {}) : value
4630
4206
  }
4631
4207
  )
4632
4208
  ]
@@ -4637,10 +4213,10 @@ var DescriptionItem = React35.forwardRef(
4637
4213
  DescriptionItem.displayName = "DescriptionItem";
4638
4214
 
4639
4215
  // src/activity-feed.tsx
4640
- import * as React36 from "react";
4641
- import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
4642
- var ActivityFeed = React36.forwardRef(
4643
- ({ className, variant = "simple", ...props }, ref) => /* @__PURE__ */ jsx53(
4216
+ import * as React33 from "react";
4217
+ import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
4218
+ var ActivityFeed = React33.forwardRef(
4219
+ ({ className, variant = "simple", ...props }, ref) => /* @__PURE__ */ jsx46(
4644
4220
  "div",
4645
4221
  {
4646
4222
  ref,
@@ -4651,19 +4227,19 @@ var ActivityFeed = React36.forwardRef(
4651
4227
  )
4652
4228
  );
4653
4229
  ActivityFeed.displayName = "ActivityFeed";
4654
- var ActivityFeedItem = React36.forwardRef(
4655
- ({ className, avatar, eventDescription, timestamp, isLast, ...props }, ref) => /* @__PURE__ */ jsxs41(
4230
+ var ActivityFeedItem = React33.forwardRef(
4231
+ ({ className, avatar, eventDescription, timestamp, isLast, ...props }, ref) => /* @__PURE__ */ jsxs36(
4656
4232
  "div",
4657
4233
  {
4658
4234
  ref,
4659
4235
  className: cn("relative flex gap-3 pb-6", className),
4660
4236
  ...props,
4661
4237
  children: [
4662
- !isLast && /* @__PURE__ */ jsx53("div", { className: "absolute left-5 top-10 -ml-px h-full w-0.5 bg-muted" }),
4663
- /* @__PURE__ */ jsx53("div", { className: "relative flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-muted", children: avatar }),
4664
- /* @__PURE__ */ jsxs41("div", { className: "min-w-0 flex-1 pt-1", children: [
4665
- /* @__PURE__ */ jsx53("div", { className: "text-sm text-foreground", children: eventDescription }),
4666
- timestamp && /* @__PURE__ */ jsx53("p", { className: "mt-0.5 text-xs text-muted-foreground", children: timestamp })
4238
+ !isLast && /* @__PURE__ */ jsx46("div", { className: "absolute left-5 top-10 -ml-px h-full w-0.5 bg-muted" }),
4239
+ /* @__PURE__ */ jsx46("div", { className: "relative flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-muted", children: avatar }),
4240
+ /* @__PURE__ */ jsxs36("div", { className: "min-w-0 flex-1 pt-1", children: [
4241
+ /* @__PURE__ */ jsx46("div", { className: "text-sm text-foreground", children: eventDescription }),
4242
+ timestamp && /* @__PURE__ */ jsx46("p", { className: "mt-0.5 text-xs text-muted-foreground", children: timestamp })
4667
4243
  ] })
4668
4244
  ]
4669
4245
  }
@@ -4671,77 +4247,8 @@ var ActivityFeedItem = React36.forwardRef(
4671
4247
  );
4672
4248
  ActivityFeedItem.displayName = "ActivityFeedItem";
4673
4249
 
4674
- // src/alert.tsx
4675
- import * as React37 from "react";
4676
- import { jsx as jsx54, jsxs as jsxs42 } from "react/jsx-runtime";
4677
- var INTENT_SUBTLE_STYLES = {
4678
- success: "bg-intent-success/10 text-intent-success-foreground border-intent-success/20",
4679
- warning: "bg-intent-warning/10 text-intent-warning-foreground border-intent-warning/20",
4680
- error: "bg-intent-error/10 text-intent-error-foreground border-intent-error/20",
4681
- info: "bg-intent-info/10 text-intent-info-foreground border-intent-info/20"
4682
- };
4683
- var SOLID_STYLES = {
4684
- success: "border-transparent bg-intent-success-solid text-intent-success-solid-fg",
4685
- warning: "border-transparent bg-intent-warning-solid text-intent-warning-solid-fg",
4686
- error: "border-transparent bg-intent-error-solid text-intent-error-solid-fg",
4687
- info: "border-transparent bg-intent-info-solid text-intent-info-solid-fg"
4688
- };
4689
- var OUTLINE_STYLES = {
4690
- success: "border-intent-success-border text-intent-success-foreground bg-background",
4691
- warning: "border-intent-warning-border text-intent-warning-foreground bg-background",
4692
- error: "border-intent-error-border text-intent-error-foreground bg-background",
4693
- info: "border-intent-info-border text-intent-info-foreground bg-background"
4694
- };
4695
- var ICON_MAP2 = {
4696
- success: "circle-check",
4697
- warning: "triangle-alert",
4698
- error: "circle-alert",
4699
- info: "info"
4700
- };
4701
- var Alert = React37.forwardRef(
4702
- ({
4703
- className,
4704
- intent = "info",
4705
- variant = "subtle",
4706
- title,
4707
- dismissible,
4708
- onDismiss,
4709
- children,
4710
- ...props
4711
- }, ref) => {
4712
- const styles = variant === "solid" ? SOLID_STYLES[intent] : variant === "outline" ? OUTLINE_STYLES[intent] : INTENT_SUBTLE_STYLES[intent];
4713
- return /* @__PURE__ */ jsxs42(
4714
- "div",
4715
- {
4716
- ref,
4717
- role: "alert",
4718
- className: cn("flex gap-3 rounded-lg border p-4", styles, className),
4719
- ...props,
4720
- children: [
4721
- /* @__PURE__ */ jsx54("span", { className: "flex-shrink-0 pt-0.5", "aria-hidden": "true", children: /* @__PURE__ */ jsx54(Icon, { name: ICON_MAP2[intent], size: "md" }) }),
4722
- /* @__PURE__ */ jsxs42("div", { className: "min-w-0 flex-1", children: [
4723
- title && /* @__PURE__ */ jsx54("p", { className: "font-semibold", children: title }),
4724
- children && /* @__PURE__ */ jsx54("div", { className: cn(title && "mt-1", "text-sm"), children })
4725
- ] }),
4726
- dismissible && /* @__PURE__ */ jsx54(
4727
- "button",
4728
- {
4729
- type: "button",
4730
- onClick: onDismiss,
4731
- className: "flex-shrink-0 hover:opacity-80",
4732
- "aria-label": "Dismiss",
4733
- children: "\u2715"
4734
- }
4735
- )
4736
- ]
4737
- }
4738
- );
4739
- }
4740
- );
4741
- Alert.displayName = "Alert";
4742
-
4743
4250
  // src/empty-state.tsx
4744
- import { jsx as jsx55, jsxs as jsxs43 } from "react/jsx-runtime";
4251
+ import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
4745
4252
  function EmptyState({
4746
4253
  icon: Icon2,
4747
4254
  title,
@@ -4752,7 +4259,7 @@ function EmptyState({
4752
4259
  className
4753
4260
  }) {
4754
4261
  const compact = size === "compact";
4755
- return /* @__PURE__ */ jsxs43(
4262
+ return /* @__PURE__ */ jsxs37(
4756
4263
  "div",
4757
4264
  {
4758
4265
  "data-testid": testId,
@@ -4762,7 +4269,7 @@ function EmptyState({
4762
4269
  className
4763
4270
  ),
4764
4271
  children: [
4765
- Icon2 && /* @__PURE__ */ jsx55(
4272
+ Icon2 && /* @__PURE__ */ jsx47(
4766
4273
  "div",
4767
4274
  {
4768
4275
  "aria-hidden": "true",
@@ -4770,10 +4277,10 @@ function EmptyState({
4770
4277
  "flex items-center justify-center rounded-full bg-primary/10 text-primary",
4771
4278
  compact ? "mb-3 size-12" : "mb-5 size-16"
4772
4279
  ),
4773
- children: /* @__PURE__ */ jsx55(Icon2, { className: compact ? "size-6" : "size-8" })
4280
+ children: /* @__PURE__ */ jsx47(Icon2, { className: compact ? "size-6" : "size-8" })
4774
4281
  }
4775
4282
  ),
4776
- /* @__PURE__ */ jsx55(
4283
+ /* @__PURE__ */ jsx47(
4777
4284
  "h2",
4778
4285
  {
4779
4286
  className: cn(
@@ -4783,7 +4290,7 @@ function EmptyState({
4783
4290
  children: title
4784
4291
  }
4785
4292
  ),
4786
- description && /* @__PURE__ */ jsx55(
4293
+ description && /* @__PURE__ */ jsx47(
4787
4294
  "p",
4788
4295
  {
4789
4296
  className: cn(
@@ -4793,21 +4300,21 @@ function EmptyState({
4793
4300
  children: description
4794
4301
  }
4795
4302
  ),
4796
- action && /* @__PURE__ */ jsx55("div", { className: compact ? "mt-4" : "mt-6", children: action })
4303
+ action && /* @__PURE__ */ jsx47("div", { className: compact ? "mt-4" : "mt-6", children: action })
4797
4304
  ]
4798
4305
  }
4799
4306
  );
4800
4307
  }
4801
4308
 
4802
4309
  // src/action-panel.tsx
4803
- import * as React38 from "react";
4804
- import { Fragment as Fragment9, jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime";
4310
+ import * as React34 from "react";
4311
+ import { Fragment as Fragment7, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
4805
4312
  var BORDER_INTENT = {
4806
4313
  default: "border-l-primary",
4807
4314
  warning: "border-l-intent-warning",
4808
4315
  destructive: "border-l-intent-error"
4809
4316
  };
4810
- var ActionPanel = React38.forwardRef(
4317
+ var ActionPanel = React34.forwardRef(
4811
4318
  ({
4812
4319
  className,
4813
4320
  title,
@@ -4816,7 +4323,7 @@ var ActionPanel = React38.forwardRef(
4816
4323
  variant = "simple",
4817
4324
  intent = "default",
4818
4325
  ...props
4819
- }, ref) => /* @__PURE__ */ jsx56(
4326
+ }, ref) => /* @__PURE__ */ jsx48(
4820
4327
  "div",
4821
4328
  {
4822
4329
  ref,
@@ -4827,16 +4334,16 @@ var ActionPanel = React38.forwardRef(
4827
4334
  className
4828
4335
  ),
4829
4336
  ...props,
4830
- children: variant === "split" ? /* @__PURE__ */ jsxs44(Fragment9, { children: [
4831
- /* @__PURE__ */ jsxs44("div", { className: "min-w-0", children: [
4832
- /* @__PURE__ */ jsx56("h3", { className: "font-semibold text-foreground", children: title }),
4833
- description && /* @__PURE__ */ jsx56("p", { className: "mt-1 text-sm text-muted-foreground", children: description })
4337
+ children: variant === "split" ? /* @__PURE__ */ jsxs38(Fragment7, { children: [
4338
+ /* @__PURE__ */ jsxs38("div", { className: "min-w-0", children: [
4339
+ /* @__PURE__ */ jsx48("h3", { className: "font-semibold text-foreground", children: title }),
4340
+ description && /* @__PURE__ */ jsx48("p", { className: "mt-1 text-sm text-muted-foreground", children: description })
4834
4341
  ] }),
4835
- action && /* @__PURE__ */ jsx56("div", { className: "flex-shrink-0", children: action })
4836
- ] }) : /* @__PURE__ */ jsxs44(Fragment9, { children: [
4837
- /* @__PURE__ */ jsx56("h3", { className: "font-semibold text-foreground", children: title }),
4838
- description && /* @__PURE__ */ jsx56("p", { className: "mt-1 text-sm text-muted-foreground", children: description }),
4839
- action && /* @__PURE__ */ jsx56("div", { className: "mt-4", children: action })
4342
+ action && /* @__PURE__ */ jsx48("div", { className: "flex-shrink-0", children: action })
4343
+ ] }) : /* @__PURE__ */ jsxs38(Fragment7, { children: [
4344
+ /* @__PURE__ */ jsx48("h3", { className: "font-semibold text-foreground", children: title }),
4345
+ description && /* @__PURE__ */ jsx48("p", { className: "mt-1 text-sm text-muted-foreground", children: description }),
4346
+ action && /* @__PURE__ */ jsx48("div", { className: "mt-4", children: action })
4840
4347
  ] })
4841
4348
  }
4842
4349
  )
@@ -4844,14 +4351,14 @@ var ActionPanel = React38.forwardRef(
4844
4351
  ActionPanel.displayName = "ActionPanel";
4845
4352
 
4846
4353
  // src/divider.tsx
4847
- import * as React39 from "react";
4848
- import { jsx as jsx57, jsxs as jsxs45 } from "react/jsx-runtime";
4354
+ import * as React35 from "react";
4355
+ import { jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
4849
4356
  var VARIANT_CLASSES = {
4850
4357
  solid: "border-solid",
4851
4358
  dashed: "border-dashed",
4852
4359
  dotted: "border-dotted"
4853
4360
  };
4854
- var Divider = React39.forwardRef(
4361
+ var Divider = React35.forwardRef(
4855
4362
  ({
4856
4363
  className,
4857
4364
  label,
@@ -4861,7 +4368,7 @@ var Divider = React39.forwardRef(
4861
4368
  ...props
4862
4369
  }, ref) => {
4863
4370
  if (orientation === "vertical") {
4864
- return /* @__PURE__ */ jsx57(
4371
+ return /* @__PURE__ */ jsx49(
4865
4372
  "div",
4866
4373
  {
4867
4374
  ref,
@@ -4878,7 +4385,7 @@ var Divider = React39.forwardRef(
4878
4385
  );
4879
4386
  }
4880
4387
  if (!label) {
4881
- return /* @__PURE__ */ jsx57(
4388
+ return /* @__PURE__ */ jsx49(
4882
4389
  "div",
4883
4390
  {
4884
4391
  ref,
@@ -4892,7 +4399,7 @@ var Divider = React39.forwardRef(
4892
4399
  }
4893
4400
  );
4894
4401
  }
4895
- return /* @__PURE__ */ jsxs45(
4402
+ return /* @__PURE__ */ jsxs39(
4896
4403
  "div",
4897
4404
  {
4898
4405
  ref,
@@ -4900,7 +4407,7 @@ var Divider = React39.forwardRef(
4900
4407
  role: "separator",
4901
4408
  ...props,
4902
4409
  children: [
4903
- labelPosition !== "left" && /* @__PURE__ */ jsx57(
4410
+ labelPosition !== "left" && /* @__PURE__ */ jsx49(
4904
4411
  "div",
4905
4412
  {
4906
4413
  className: cn(
@@ -4909,7 +4416,7 @@ var Divider = React39.forwardRef(
4909
4416
  )
4910
4417
  }
4911
4418
  ),
4912
- /* @__PURE__ */ jsx57(
4419
+ /* @__PURE__ */ jsx49(
4913
4420
  "span",
4914
4421
  {
4915
4422
  className: cn(
@@ -4919,7 +4426,7 @@ var Divider = React39.forwardRef(
4919
4426
  children: label
4920
4427
  }
4921
4428
  ),
4922
- labelPosition !== "right" && /* @__PURE__ */ jsx57(
4429
+ labelPosition !== "right" && /* @__PURE__ */ jsx49(
4923
4430
  "div",
4924
4431
  {
4925
4432
  className: cn(
@@ -4935,44 +4442,17 @@ var Divider = React39.forwardRef(
4935
4442
  );
4936
4443
  Divider.displayName = "Divider";
4937
4444
 
4938
- // src/container.tsx
4939
- import * as React40 from "react";
4940
- import { jsx as jsx58 } from "react/jsx-runtime";
4941
- var SIZE_CLASSES6 = {
4942
- sm: "max-w-content-sm",
4943
- md: "max-w-content-md",
4944
- lg: "max-w-content-lg",
4945
- xl: "max-w-content-xl",
4946
- full: "max-w-full"
4947
- };
4948
- var Container = React40.forwardRef(
4949
- ({ className, size = "xl", padded = true, ...props }, ref) => /* @__PURE__ */ jsx58(
4950
- "div",
4951
- {
4952
- ref,
4953
- className: cn(
4954
- "mx-auto w-full",
4955
- SIZE_CLASSES6[size],
4956
- padded && "px-4 sm:px-6 lg:px-8",
4957
- className
4958
- ),
4959
- ...props
4960
- }
4961
- )
4962
- );
4963
- Container.displayName = "Container";
4964
-
4965
4445
  // src/page-content.tsx
4966
- import * as React41 from "react";
4967
- import { jsx as jsx59 } from "react/jsx-runtime";
4446
+ import * as React36 from "react";
4447
+ import { jsx as jsx50 } from "react/jsx-runtime";
4968
4448
  var GAP_CLASSES2 = {
4969
4449
  sm: "space-y-4",
4970
4450
  md: "space-y-6",
4971
4451
  lg: "space-y-8",
4972
4452
  none: ""
4973
4453
  };
4974
- var PageContent = React41.forwardRef(
4975
- ({ className, gap = "md", padded = true, children, ...props }, ref) => /* @__PURE__ */ jsx59(
4454
+ var PageContent = React36.forwardRef(
4455
+ ({ className, gap = "md", padded = true, children, ...props }, ref) => /* @__PURE__ */ jsx50(
4976
4456
  "div",
4977
4457
  {
4978
4458
  ref,
@@ -4985,14 +4465,14 @@ var PageContent = React41.forwardRef(
4985
4465
  PageContent.displayName = "PageContent";
4986
4466
 
4987
4467
  // src/media-object.tsx
4988
- import * as React42 from "react";
4989
- import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
4468
+ import * as React37 from "react";
4469
+ import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
4990
4470
  var MEDIA_SIZE = {
4991
4471
  sm: "h-8 w-8",
4992
4472
  md: "h-10 w-10",
4993
4473
  lg: "h-12 w-12"
4994
4474
  };
4995
- var MediaObject = React42.forwardRef(
4475
+ var MediaObject = React37.forwardRef(
4996
4476
  ({
4997
4477
  className,
4998
4478
  media,
@@ -5005,7 +4485,7 @@ var MediaObject = React42.forwardRef(
5005
4485
  ...props
5006
4486
  }, ref) => {
5007
4487
  if (stacked) {
5008
- return /* @__PURE__ */ jsxs46(
4488
+ return /* @__PURE__ */ jsxs40(
5009
4489
  "div",
5010
4490
  {
5011
4491
  ref,
@@ -5015,17 +4495,17 @@ var MediaObject = React42.forwardRef(
5015
4495
  ),
5016
4496
  ...props,
5017
4497
  children: [
5018
- /* @__PURE__ */ jsx60("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
5019
- /* @__PURE__ */ jsxs46("div", { className: "min-w-0", children: [
5020
- title && /* @__PURE__ */ jsx60("p", { className: "font-medium text-foreground", children: title }),
5021
- description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground", children: description })
4498
+ /* @__PURE__ */ jsx51("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
4499
+ /* @__PURE__ */ jsxs40("div", { className: "min-w-0", children: [
4500
+ title && /* @__PURE__ */ jsx51("p", { className: "font-medium text-foreground", children: title }),
4501
+ description && /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
5022
4502
  ] }),
5023
- action && /* @__PURE__ */ jsx60("div", { children: action })
4503
+ action && /* @__PURE__ */ jsx51("div", { children: action })
5024
4504
  ]
5025
4505
  }
5026
4506
  );
5027
4507
  }
5028
- return /* @__PURE__ */ jsxs46(
4508
+ return /* @__PURE__ */ jsxs40(
5029
4509
  "div",
5030
4510
  {
5031
4511
  ref,
@@ -5036,12 +4516,12 @@ var MediaObject = React42.forwardRef(
5036
4516
  ),
5037
4517
  ...props,
5038
4518
  children: [
5039
- /* @__PURE__ */ jsx60("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
5040
- /* @__PURE__ */ jsxs46("div", { className: "min-w-0 flex-1", children: [
5041
- title && /* @__PURE__ */ jsx60("p", { className: "font-medium text-foreground", children: title }),
5042
- description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground", children: description })
4519
+ /* @__PURE__ */ jsx51("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
4520
+ /* @__PURE__ */ jsxs40("div", { className: "min-w-0 flex-1", children: [
4521
+ title && /* @__PURE__ */ jsx51("p", { className: "font-medium text-foreground", children: title }),
4522
+ description && /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
5043
4523
  ] }),
5044
- action && /* @__PURE__ */ jsx60("div", { className: "flex-shrink-0", children: action })
4524
+ action && /* @__PURE__ */ jsx51("div", { className: "flex-shrink-0", children: action })
5045
4525
  ]
5046
4526
  }
5047
4527
  );
@@ -5050,16 +4530,16 @@ var MediaObject = React42.forwardRef(
5050
4530
  MediaObject.displayName = "MediaObject";
5051
4531
 
5052
4532
  // src/page-patterns.tsx
5053
- import * as React43 from "react";
5054
- import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
4533
+ import * as React38 from "react";
4534
+ import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
5055
4535
  var GUTTER_WIDTHS = {
5056
4536
  /** A single column of reading or a short list. */
5057
4537
  narrow: "max-w-content-md",
5058
4538
  /** A detail or list page with a side panel. */
5059
4539
  default: "max-w-content-xl"
5060
4540
  };
5061
- var PageGutter = React43.forwardRef(
5062
- ({ className, width = "default", ...props }, ref) => /* @__PURE__ */ jsx61(
4541
+ var PageGutter = React38.forwardRef(
4542
+ ({ className, width = "default", ...props }, ref) => /* @__PURE__ */ jsx52(
5063
4543
  "div",
5064
4544
  {
5065
4545
  ref,
@@ -5073,8 +4553,8 @@ var PageGutter = React43.forwardRef(
5073
4553
  )
5074
4554
  );
5075
4555
  PageGutter.displayName = "PageGutter";
5076
- var PageHeading = React43.forwardRef(
5077
- ({ className, title, description, meta, actions, ...props }, ref) => /* @__PURE__ */ jsxs47(
4556
+ var PageHeading = React38.forwardRef(
4557
+ ({ className, title, description, meta, actions, ...props }, ref) => /* @__PURE__ */ jsxs41(
5078
4558
  "header",
5079
4559
  {
5080
4560
  ref,
@@ -5084,18 +4564,18 @@ var PageHeading = React43.forwardRef(
5084
4564
  ),
5085
4565
  ...props,
5086
4566
  children: [
5087
- /* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 flex-col gap-1 sm:basis-80", children: [
5088
- /* @__PURE__ */ jsx61("h1", { className: "break-words text-2xl font-semibold tracking-tight text-foreground sm:text-3xl", children: title }),
5089
- description && /* @__PURE__ */ jsx61("p", { className: "break-words text-sm text-muted-foreground sm:text-base", children: description }),
5090
- meta && /* @__PURE__ */ jsx61("div", { className: "mt-2 flex flex-wrap gap-2", children: meta })
4567
+ /* @__PURE__ */ jsxs41("div", { className: "flex min-w-0 flex-1 flex-col gap-1 sm:basis-80", children: [
4568
+ /* @__PURE__ */ jsx52("h1", { className: "break-words text-2xl font-semibold tracking-tight text-foreground sm:text-3xl", children: title }),
4569
+ description && /* @__PURE__ */ jsx52("p", { className: "break-words text-sm text-muted-foreground sm:text-base", children: description }),
4570
+ meta && /* @__PURE__ */ jsx52("div", { className: "mt-2 flex flex-wrap gap-2", children: meta })
5091
4571
  ] }),
5092
- actions && /* @__PURE__ */ jsx61("div", { className: "flex max-w-full shrink-0 flex-wrap items-center gap-2", children: actions })
4572
+ actions && /* @__PURE__ */ jsx52("div", { className: "flex max-w-full shrink-0 flex-wrap items-center gap-2", children: actions })
5093
4573
  ]
5094
4574
  }
5095
4575
  )
5096
4576
  );
5097
4577
  PageHeading.displayName = "PageHeading";
5098
- var SectionCard = React43.forwardRef(
4578
+ var SectionCard = React38.forwardRef(
5099
4579
  ({
5100
4580
  className,
5101
4581
  title,
@@ -5108,14 +4588,14 @@ var SectionCard = React43.forwardRef(
5108
4588
  }, ref) => {
5109
4589
  const pad = size === "compact" ? "p-4" : "p-4 sm:p-6";
5110
4590
  const hasHead = Boolean(title || description || actions);
5111
- return /* @__PURE__ */ jsxs47(
4591
+ return /* @__PURE__ */ jsxs41(
5112
4592
  Card,
5113
4593
  {
5114
4594
  ref,
5115
4595
  className: cn("min-w-0 overflow-hidden", className),
5116
4596
  ...props,
5117
4597
  children: [
5118
- hasHead && /* @__PURE__ */ jsxs47(
4598
+ hasHead && /* @__PURE__ */ jsxs41(
5119
4599
  "div",
5120
4600
  {
5121
4601
  className: cn(
@@ -5125,8 +4605,8 @@ var SectionCard = React43.forwardRef(
5125
4605
  flush && children ? "border-b border-border" : ""
5126
4606
  ),
5127
4607
  children: [
5128
- /* @__PURE__ */ jsxs47("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
5129
- title && /* @__PURE__ */ jsx61(
4608
+ /* @__PURE__ */ jsxs41("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
4609
+ title && /* @__PURE__ */ jsx52(
5130
4610
  "h2",
5131
4611
  {
5132
4612
  className: cn(
@@ -5136,36 +4616,36 @@ var SectionCard = React43.forwardRef(
5136
4616
  children: title
5137
4617
  }
5138
4618
  ),
5139
- description && /* @__PURE__ */ jsx61("p", { className: "text-sm text-muted-foreground", children: description })
4619
+ description && /* @__PURE__ */ jsx52("p", { className: "text-sm text-muted-foreground", children: description })
5140
4620
  ] }),
5141
- actions && /* @__PURE__ */ jsx61("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: actions })
4621
+ actions && /* @__PURE__ */ jsx52("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: actions })
5142
4622
  ]
5143
4623
  }
5144
4624
  ),
5145
- children !== void 0 && children !== null && /* @__PURE__ */ jsx61("div", { className: cn("min-w-0", !flush && pad), children })
4625
+ children !== void 0 && children !== null && /* @__PURE__ */ jsx52("div", { className: cn("min-w-0", !flush && pad), children })
5146
4626
  ]
5147
4627
  }
5148
4628
  );
5149
4629
  }
5150
4630
  );
5151
4631
  SectionCard.displayName = "SectionCard";
5152
- var TabbedCard = React43.forwardRef(
5153
- ({ className, tabs, tabsLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs47(
4632
+ var TabbedCard = React38.forwardRef(
4633
+ ({ className, tabs, tabsLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
5154
4634
  Card,
5155
4635
  {
5156
4636
  ref,
5157
4637
  className: cn("min-w-0 overflow-hidden", className),
5158
4638
  ...props,
5159
4639
  children: [
5160
- /* @__PURE__ */ jsx61("div", { className: "px-4 pt-3 sm:px-6", children: /* @__PURE__ */ jsx61(TabBar, { variant: "underline", "aria-label": tabsLabel, children: tabs }) }),
5161
- /* @__PURE__ */ jsx61("div", { className: "min-w-0 p-4 sm:p-6", children })
4640
+ /* @__PURE__ */ jsx52("div", { className: "px-4 pt-3 sm:px-6", children: /* @__PURE__ */ jsx52(TabBar, { variant: "underline", "aria-label": tabsLabel, children: tabs }) }),
4641
+ /* @__PURE__ */ jsx52("div", { className: "min-w-0 p-4 sm:p-6", children })
5162
4642
  ]
5163
4643
  }
5164
4644
  )
5165
4645
  );
5166
4646
  TabbedCard.displayName = "TabbedCard";
5167
- var SidePanelLayout = React43.forwardRef(
5168
- ({ className, aside, asideLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs47(
4647
+ var SidePanelLayout = React38.forwardRef(
4648
+ ({ className, aside, asideLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
5169
4649
  "div",
5170
4650
  {
5171
4651
  ref,
@@ -5175,8 +4655,8 @@ var SidePanelLayout = React43.forwardRef(
5175
4655
  ),
5176
4656
  ...props,
5177
4657
  children: [
5178
- /* @__PURE__ */ jsx61("div", { className: "flex min-w-0 flex-col gap-6 lg:col-span-2", children }),
5179
- /* @__PURE__ */ jsx61(
4658
+ /* @__PURE__ */ jsx52("div", { className: "flex min-w-0 flex-col gap-6 lg:col-span-2", children }),
4659
+ /* @__PURE__ */ jsx52(
5180
4660
  "aside",
5181
4661
  {
5182
4662
  "aria-label": asideLabel,
@@ -5190,46 +4670,18 @@ var SidePanelLayout = React43.forwardRef(
5190
4670
  );
5191
4671
  SidePanelLayout.displayName = "SidePanelLayout";
5192
4672
 
5193
- // src/intent-badge.tsx
5194
- import * as React44 from "react";
5195
- import { jsx as jsx62 } from "react/jsx-runtime";
5196
- var INTENT_CLASSES = {
5197
- neutral: "bg-muted text-muted-foreground border-border",
5198
- // the primary tint is lighter than the intents': `primary-text` on a 10%
5199
- // tint over the page grey drew 4.46:1 (W1 sheet), under AA
5200
- primary: "bg-primary/5 text-primary-text border-primary/30",
5201
- ...INTENT_SUBTLE_STYLES
5202
- };
5203
- var IntentBadge = React44.forwardRef(
5204
- ({ className, intent = "neutral", children, ...props }, ref) => /* @__PURE__ */ jsx62(
5205
- "span",
5206
- {
5207
- ref,
5208
- title: typeof children === "string" ? children : void 0,
5209
- className: cn(
5210
- "inline-flex max-w-full items-center rounded-full border px-2.5 py-0.5 text-xs font-medium",
5211
- INTENT_CLASSES[intent],
5212
- className
5213
- ),
5214
- ...props,
5215
- children: /* @__PURE__ */ jsx62("span", { className: "truncate", children: isEmptyValue(children) ? /* @__PURE__ */ jsx62(EmptyValue, {}) : children })
5216
- }
5217
- )
5218
- );
5219
- IntentBadge.displayName = "IntentBadge";
5220
-
5221
4673
  // src/overflow-menu.tsx
5222
- import * as React45 from "react";
5223
- import { Fragment as Fragment10, jsx as jsx63, jsxs as jsxs48 } from "react/jsx-runtime";
4674
+ import * as React39 from "react";
4675
+ import { Fragment as Fragment8, jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
5224
4676
  function OverflowMenu({
5225
4677
  label,
5226
4678
  items,
5227
4679
  defaultOpen = false,
5228
4680
  className
5229
4681
  }) {
5230
- const [open, setOpen] = React45.useState(defaultOpen);
5231
- const menuId = React45.useId();
5232
- React45.useEffect(() => {
4682
+ const [open, setOpen] = React39.useState(defaultOpen);
4683
+ const menuId = React39.useId();
4684
+ React39.useEffect(() => {
5233
4685
  if (!open) return;
5234
4686
  const onKey = (e) => {
5235
4687
  if (e.key === "Escape") setOpen(false);
@@ -5237,8 +4689,8 @@ function OverflowMenu({
5237
4689
  document.addEventListener("keydown", onKey);
5238
4690
  return () => document.removeEventListener("keydown", onKey);
5239
4691
  }, [open]);
5240
- return /* @__PURE__ */ jsxs48("div", { className: cn("relative inline-block", className), children: [
5241
- /* @__PURE__ */ jsx63(
4692
+ return /* @__PURE__ */ jsxs42("div", { className: cn("relative inline-block", className), children: [
4693
+ /* @__PURE__ */ jsx53(
5242
4694
  Button,
5243
4695
  {
5244
4696
  variant: "outline",
@@ -5248,11 +4700,11 @@ function OverflowMenu({
5248
4700
  "aria-expanded": open,
5249
4701
  "aria-controls": open ? menuId : void 0,
5250
4702
  onClick: () => setOpen(!open),
5251
- children: /* @__PURE__ */ jsx63(Icon, { name: "ellipsis", size: "sm" })
4703
+ children: /* @__PURE__ */ jsx53(Icon, { name: "ellipsis", size: "sm" })
5252
4704
  }
5253
4705
  ),
5254
- open && /* @__PURE__ */ jsxs48(Fragment10, { children: [
5255
- /* @__PURE__ */ jsx63(
4706
+ open && /* @__PURE__ */ jsxs42(Fragment8, { children: [
4707
+ /* @__PURE__ */ jsx53(
5256
4708
  "div",
5257
4709
  {
5258
4710
  "aria-hidden": "true",
@@ -5260,14 +4712,14 @@ function OverflowMenu({
5260
4712
  onClick: () => setOpen(false)
5261
4713
  }
5262
4714
  ),
5263
- /* @__PURE__ */ jsx63(
4715
+ /* @__PURE__ */ jsx53(
5264
4716
  "div",
5265
4717
  {
5266
4718
  id: menuId,
5267
4719
  role: "menu",
5268
4720
  "aria-label": label,
5269
4721
  className: "z-dropdown absolute right-0 top-full mt-2 flex w-56 max-w-[calc(100vw-2rem)] flex-col rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-lg",
5270
- children: items.map((item) => /* @__PURE__ */ jsxs48(
4722
+ children: items.map((item) => /* @__PURE__ */ jsxs42(
5271
4723
  "button",
5272
4724
  {
5273
4725
  type: "button",
@@ -5282,8 +4734,8 @@ function OverflowMenu({
5282
4734
  item.destructive ? "text-intent-error-foreground" : "text-popover-foreground"
5283
4735
  ),
5284
4736
  children: [
5285
- item.icon && /* @__PURE__ */ jsx63(Icon, { name: item.icon, size: "sm" }),
5286
- /* @__PURE__ */ jsx63("span", { className: "min-w-0 truncate", children: item.label })
4737
+ item.icon && /* @__PURE__ */ jsx53(Icon, { name: item.icon, size: "sm" }),
4738
+ /* @__PURE__ */ jsx53("span", { className: "min-w-0 truncate", children: item.label })
5287
4739
  ]
5288
4740
  },
5289
4741
  item.label
@@ -5295,9 +4747,9 @@ function OverflowMenu({
5295
4747
  }
5296
4748
 
5297
4749
  // src/stage-list.tsx
5298
- import * as React46 from "react";
5299
- import { jsx as jsx64, jsxs as jsxs49 } from "react/jsx-runtime";
5300
- var StageList = React46.forwardRef(
4750
+ import * as React40 from "react";
4751
+ import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
4752
+ var StageList = React40.forwardRef(
5301
4753
  ({ stages, outcomes = [], current, ...props }, ref) => {
5302
4754
  const at = stages.findIndex((s) => s.value === current);
5303
4755
  const outcome = outcomes.find((s) => s.value === current);
@@ -5305,7 +4757,7 @@ var StageList = React46.forwardRef(
5305
4757
  throw new Error(
5306
4758
  `StageList: current "${current}" is not one of the stages (${stages.map((s) => s.value).join(", ")}) or outcomes (${outcomes.map((s) => s.value).join(", ") || "none"})`
5307
4759
  );
5308
- return /* @__PURE__ */ jsxs49(
4760
+ return /* @__PURE__ */ jsxs43(
5309
4761
  Stepper,
5310
4762
  {
5311
4763
  ref,
@@ -5314,7 +4766,7 @@ var StageList = React46.forwardRef(
5314
4766
  activeStep: outcome ? stages.length : at,
5315
4767
  ...props,
5316
4768
  children: [
5317
- stages.map((s) => /* @__PURE__ */ jsx64(
4769
+ stages.map((s) => /* @__PURE__ */ jsx54(
5318
4770
  StepperStep,
5319
4771
  {
5320
4772
  label: s.label,
@@ -5322,7 +4774,7 @@ var StageList = React46.forwardRef(
5322
4774
  },
5323
4775
  s.value
5324
4776
  )),
5325
- outcome && /* @__PURE__ */ jsx64(StepperStep, { label: outcome.label, error: true }, outcome.value)
4777
+ outcome && /* @__PURE__ */ jsx54(StepperStep, { label: outcome.label, error: true }, outcome.value)
5326
4778
  ]
5327
4779
  }
5328
4780
  );
@@ -5331,15 +4783,15 @@ var StageList = React46.forwardRef(
5331
4783
  StageList.displayName = "StageList";
5332
4784
 
5333
4785
  // src/clamped-list.tsx
5334
- import * as React47 from "react";
5335
- import { jsx as jsx65, jsxs as jsxs50 } from "react/jsx-runtime";
4786
+ import * as React41 from "react";
4787
+ import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
5336
4788
  var MAX_HEIGHTS = {
5337
4789
  sm: "max-h-48",
5338
4790
  md: "max-h-72",
5339
4791
  lg: "max-h-96"
5340
4792
  };
5341
- var ClampedList = React47.forwardRef(
5342
- ({ className, label, maxHeight = "md", children, ...props }, ref) => /* @__PURE__ */ jsxs50(
4793
+ var ClampedList = React41.forwardRef(
4794
+ ({ className, label, maxHeight = "md", children, ...props }, ref) => /* @__PURE__ */ jsxs44(
5343
4795
  "div",
5344
4796
  {
5345
4797
  ref,
@@ -5355,13 +4807,13 @@ var ClampedList = React47.forwardRef(
5355
4807
  ...props,
5356
4808
  children: [
5357
4809
  children,
5358
- /* @__PURE__ */ jsx65(
4810
+ /* @__PURE__ */ jsx55(
5359
4811
  "div",
5360
4812
  {
5361
4813
  "aria-hidden": "true",
5362
4814
  "data-scroll-hint": "y",
5363
4815
  className: SCROLL_HINT_Y_MARK,
5364
- children: /* @__PURE__ */ jsx65("span", { className: "flex items-center rounded-full border border-border bg-card px-2 text-muted-foreground shadow-sm", children: /* @__PURE__ */ jsx65(Icon, { name: "chevron-down", size: "sm" }) })
4816
+ children: /* @__PURE__ */ jsx55("span", { className: "flex items-center rounded-full border border-border bg-card px-2 text-muted-foreground shadow-sm", children: /* @__PURE__ */ jsx55(Icon, { name: "chevron-down", size: "sm" }) })
5365
4817
  }
5366
4818
  )
5367
4819
  ]
@@ -5371,10 +4823,10 @@ var ClampedList = React47.forwardRef(
5371
4823
  ClampedList.displayName = "ClampedList";
5372
4824
 
5373
4825
  // src/textarea.tsx
5374
- import * as React48 from "react";
5375
- import { jsx as jsx66, jsxs as jsxs51 } from "react/jsx-runtime";
4826
+ import * as React42 from "react";
4827
+ import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
5376
4828
  var lengthOf = (v) => v === void 0 ? 0 : Array.isArray(v) ? v.join(",").length : String(v).length;
5377
- var Textarea = React48.forwardRef(
4829
+ var Textarea = React42.forwardRef(
5378
4830
  ({
5379
4831
  className,
5380
4832
  error,
@@ -5389,11 +4841,11 @@ var Textarea = React48.forwardRef(
5389
4841
  onChange,
5390
4842
  ...props
5391
4843
  }, ref) => {
5392
- const countId = React48.useId();
5393
- const [typed, setTyped] = React48.useState(() => lengthOf(defaultValue));
4844
+ const countId = React42.useId();
4845
+ const [typed, setTyped] = React42.useState(() => lengthOf(defaultValue));
5394
4846
  const count = value === void 0 ? typed : lengthOf(value);
5395
4847
  const aria = fieldAria(error, errorMessageId);
5396
- const field = /* @__PURE__ */ jsx66(
4848
+ const field = /* @__PURE__ */ jsx56(
5397
4849
  "textarea",
5398
4850
  {
5399
4851
  ref,
@@ -5418,9 +4870,9 @@ var Textarea = React48.forwardRef(
5418
4870
  );
5419
4871
  if (!showCount) return field;
5420
4872
  const atLimit = maxLength !== void 0 && count >= maxLength;
5421
- return /* @__PURE__ */ jsxs51("div", { className: "w-full min-w-0 space-y-1", children: [
4873
+ return /* @__PURE__ */ jsxs45("div", { className: "w-full min-w-0 space-y-1", children: [
5422
4874
  field,
5423
- /* @__PURE__ */ jsx66(
4875
+ /* @__PURE__ */ jsx56(
5424
4876
  "p",
5425
4877
  {
5426
4878
  id: countId,
@@ -5437,8 +4889,8 @@ var Textarea = React48.forwardRef(
5437
4889
  Textarea.displayName = "Textarea";
5438
4890
 
5439
4891
  // src/select.tsx
5440
- import * as React49 from "react";
5441
- import { jsx as jsx67, jsxs as jsxs52 } from "react/jsx-runtime";
4892
+ import * as React43 from "react";
4893
+ import { jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
5442
4894
  var CHEVRON_END = {
5443
4895
  sm: "right-2.5",
5444
4896
  md: "right-3",
@@ -5449,7 +4901,7 @@ var END_PADDING = {
5449
4901
  md: "pr-9",
5450
4902
  lg: "pr-10"
5451
4903
  };
5452
- var Select = React49.forwardRef(
4904
+ var Select = React43.forwardRef(
5453
4905
  ({
5454
4906
  className,
5455
4907
  options,
@@ -5467,8 +4919,8 @@ var Select = React49.forwardRef(
5467
4919
  "Select: pass `options` or `<option>` children, not both"
5468
4920
  );
5469
4921
  const showsPlaceholder = placeholder !== void 0 && value === void 0 && defaultValue === void 0;
5470
- return /* @__PURE__ */ jsxs52("div", { className: "relative w-full min-w-0", children: [
5471
- /* @__PURE__ */ jsxs52(
4922
+ return /* @__PURE__ */ jsxs46("div", { className: "relative w-full min-w-0", children: [
4923
+ /* @__PURE__ */ jsxs46(
5472
4924
  "select",
5473
4925
  {
5474
4926
  ref,
@@ -5485,13 +4937,13 @@ var Select = React49.forwardRef(
5485
4937
  ),
5486
4938
  ...props,
5487
4939
  children: [
5488
- placeholder !== void 0 && /* @__PURE__ */ jsx67("option", { value: "", disabled: true, hidden: true, children: placeholder }),
5489
- options?.map((o) => /* @__PURE__ */ jsx67("option", { value: o.value, disabled: o.disabled, children: o.label }, o.value)),
4940
+ placeholder !== void 0 && /* @__PURE__ */ jsx57("option", { value: "", disabled: true, hidden: true, children: placeholder }),
4941
+ options?.map((o) => /* @__PURE__ */ jsx57("option", { value: o.value, disabled: o.disabled, children: o.label }, o.value)),
5490
4942
  children
5491
4943
  ]
5492
4944
  }
5493
4945
  ),
5494
- /* @__PURE__ */ jsx67(
4946
+ /* @__PURE__ */ jsx57(
5495
4947
  Icon,
5496
4948
  {
5497
4949
  name: "chevron-down",
@@ -5508,13 +4960,13 @@ var Select = React49.forwardRef(
5508
4960
  Select.displayName = "Select";
5509
4961
 
5510
4962
  // src/checkbox.tsx
5511
- import * as React50 from "react";
5512
- import { jsx as jsx68, jsxs as jsxs53 } from "react/jsx-runtime";
4963
+ import * as React44 from "react";
4964
+ import { jsx as jsx58, jsxs as jsxs47 } from "react/jsx-runtime";
5513
4965
  var BOX = {
5514
4966
  sm: "size-4",
5515
4967
  md: "size-5"
5516
4968
  };
5517
- var Checkbox = React50.forwardRef(
4969
+ var Checkbox = React44.forwardRef(
5518
4970
  ({
5519
4971
  className,
5520
4972
  indeterminate = false,
@@ -5528,23 +4980,23 @@ var Checkbox = React50.forwardRef(
5528
4980
  id,
5529
4981
  ...props
5530
4982
  }, ref) => {
5531
- const autoId = React50.useId();
4983
+ const autoId = React44.useId();
5532
4984
  const inputId = id ?? autoId;
5533
4985
  const descId = `${inputId}-description`;
5534
4986
  const errorId = `${inputId}-error`;
5535
- const inner = React50.useRef(null);
5536
- React50.useImperativeHandle(ref, () => {
4987
+ const inner = React44.useRef(null);
4988
+ React44.useImperativeHandle(ref, () => {
5537
4989
  if (!inner.current) throw new Error("Checkbox: the input is not mounted");
5538
4990
  return inner.current;
5539
4991
  });
5540
- React50.useEffect(() => {
4992
+ React44.useEffect(() => {
5541
4993
  if (inner.current) inner.current.indeterminate = indeterminate;
5542
4994
  }, [indeterminate]);
5543
4995
  const hasError = Boolean(error);
5544
4996
  const message = typeof error === "string" ? error : void 0;
5545
4997
  const describedBy = [description ? descId : void 0, message ? errorId : void 0].filter(Boolean).join(" ") || void 0;
5546
- return /* @__PURE__ */ jsxs53("div", { className: cn("flex items-start gap-2", className), children: [
5547
- /* @__PURE__ */ jsxs53(
4998
+ return /* @__PURE__ */ jsxs47("div", { className: cn("flex items-start gap-2", className), children: [
4999
+ /* @__PURE__ */ jsxs47(
5548
5000
  "span",
5549
5001
  {
5550
5002
  className: cn(
@@ -5552,7 +5004,7 @@ var Checkbox = React50.forwardRef(
5552
5004
  size === "sm" ? "mt-0.5" : "mt-px"
5553
5005
  ),
5554
5006
  children: [
5555
- /* @__PURE__ */ jsx68(
5007
+ /* @__PURE__ */ jsx58(
5556
5008
  "input",
5557
5009
  {
5558
5010
  ref: inner,
@@ -5579,13 +5031,13 @@ var Checkbox = React50.forwardRef(
5579
5031
  ...props
5580
5032
  }
5581
5033
  ),
5582
- indeterminate ? /* @__PURE__ */ jsx68(
5034
+ indeterminate ? /* @__PURE__ */ jsx58(
5583
5035
  "span",
5584
5036
  {
5585
5037
  "aria-hidden": "true",
5586
5038
  className: "pointer-events-none absolute h-0.5 w-1/2 rounded-full bg-primary-foreground"
5587
5039
  }
5588
- ) : /* @__PURE__ */ jsx68(
5040
+ ) : /* @__PURE__ */ jsx58(
5589
5041
  Icon,
5590
5042
  {
5591
5043
  name: "check",
@@ -5596,8 +5048,8 @@ var Checkbox = React50.forwardRef(
5596
5048
  ]
5597
5049
  }
5598
5050
  ),
5599
- (label || description || message) && /* @__PURE__ */ jsxs53("div", { className: "min-w-0 space-y-0.5", children: [
5600
- label && /* @__PURE__ */ jsx68(
5051
+ (label || description || message) && /* @__PURE__ */ jsxs47("div", { className: "min-w-0 space-y-0.5", children: [
5052
+ label && /* @__PURE__ */ jsx58(
5601
5053
  Label,
5602
5054
  {
5603
5055
  htmlFor: inputId,
@@ -5610,14 +5062,14 @@ var Checkbox = React50.forwardRef(
5610
5062
  children: label
5611
5063
  }
5612
5064
  ),
5613
- description && /* @__PURE__ */ jsx68("p", { id: descId, className: "text-xs text-muted-foreground", children: description }),
5614
- message && /* @__PURE__ */ jsx68("p", { id: errorId, className: "text-intent-error-foreground text-xs", children: message })
5065
+ description && /* @__PURE__ */ jsx58("p", { id: descId, className: "text-xs text-muted-foreground", children: description }),
5066
+ message && /* @__PURE__ */ jsx58("p", { id: errorId, className: "text-intent-error-foreground text-xs", children: message })
5615
5067
  ] })
5616
5068
  ] });
5617
5069
  }
5618
5070
  );
5619
5071
  Checkbox.displayName = "Checkbox";
5620
- var CheckboxGroup = React50.forwardRef(
5072
+ var CheckboxGroup = React44.forwardRef(
5621
5073
  ({
5622
5074
  className,
5623
5075
  legend,
@@ -5630,8 +5082,8 @@ var CheckboxGroup = React50.forwardRef(
5630
5082
  size = "md",
5631
5083
  ...props
5632
5084
  }, ref) => {
5633
- const errorId = React50.useId();
5634
- return /* @__PURE__ */ jsxs53(
5085
+ const errorId = React44.useId();
5086
+ return /* @__PURE__ */ jsxs47(
5635
5087
  "fieldset",
5636
5088
  {
5637
5089
  ref,
@@ -5640,14 +5092,14 @@ var CheckboxGroup = React50.forwardRef(
5640
5092
  className: cn("min-w-0 space-y-2", className),
5641
5093
  ...props,
5642
5094
  children: [
5643
- /* @__PURE__ */ jsx68("legend", { className: "mb-2 text-sm font-medium text-foreground", children: legend }),
5644
- /* @__PURE__ */ jsx68(
5095
+ /* @__PURE__ */ jsx58("legend", { className: "mb-2 text-sm font-medium text-foreground", children: legend }),
5096
+ /* @__PURE__ */ jsx58(
5645
5097
  "div",
5646
5098
  {
5647
5099
  className: cn(
5648
5100
  orientation === "horizontal" ? "flex flex-wrap gap-x-6 gap-y-2" : "space-y-2"
5649
5101
  ),
5650
- children: options.map((o) => /* @__PURE__ */ jsx68(
5102
+ children: options.map((o) => /* @__PURE__ */ jsx58(
5651
5103
  Checkbox,
5652
5104
  {
5653
5105
  name,
@@ -5667,7 +5119,7 @@ var CheckboxGroup = React50.forwardRef(
5667
5119
  ))
5668
5120
  }
5669
5121
  ),
5670
- error && /* @__PURE__ */ jsx68("p", { id: errorId, className: "text-intent-error-foreground text-sm", children: error })
5122
+ error && /* @__PURE__ */ jsx58("p", { id: errorId, className: "text-intent-error-foreground text-sm", children: error })
5671
5123
  ]
5672
5124
  }
5673
5125
  );
@@ -5676,15 +5128,15 @@ var CheckboxGroup = React50.forwardRef(
5676
5128
  CheckboxGroup.displayName = "CheckboxGroup";
5677
5129
 
5678
5130
  // src/progress.tsx
5679
- import * as React51 from "react";
5680
- import { jsx as jsx69, jsxs as jsxs54 } from "react/jsx-runtime";
5131
+ import * as React45 from "react";
5132
+ import { jsx as jsx59, jsxs as jsxs48 } from "react/jsx-runtime";
5681
5133
  var FILL = {
5682
5134
  primary: "bg-primary-solid dark:bg-primary",
5683
5135
  success: "bg-intent-success-solid dark:bg-intent-success",
5684
5136
  warning: "bg-intent-warning-solid dark:bg-intent-warning",
5685
5137
  error: "bg-intent-error-solid dark:bg-intent-error"
5686
5138
  };
5687
- var Progress = React51.forwardRef(
5139
+ var Progress = React45.forwardRef(
5688
5140
  ({
5689
5141
  className,
5690
5142
  value,
@@ -5696,11 +5148,11 @@ var Progress = React51.forwardRef(
5696
5148
  }, ref) => {
5697
5149
  if (value !== void 0 && !(value >= 0 && value <= 100))
5698
5150
  throw new Error(`Progress: value must be within 0\u2013100, got ${value}`);
5699
- const labelId = React51.useId();
5151
+ const labelId = React45.useId();
5700
5152
  const shown = Math.round(value ?? 0);
5701
- return /* @__PURE__ */ jsxs54("div", { ref, className: cn("w-full min-w-0 space-y-1.5", className), children: [
5702
- (label || showValue && value !== void 0) && /* @__PURE__ */ jsxs54("div", { className: "flex items-baseline justify-between gap-3 text-sm", children: [
5703
- label && /* @__PURE__ */ jsx69(
5153
+ return /* @__PURE__ */ jsxs48("div", { ref, className: cn("w-full min-w-0 space-y-1.5", className), children: [
5154
+ (label || showValue && value !== void 0) && /* @__PURE__ */ jsxs48("div", { className: "flex items-baseline justify-between gap-3 text-sm", children: [
5155
+ label && /* @__PURE__ */ jsx59(
5704
5156
  "span",
5705
5157
  {
5706
5158
  id: labelId,
@@ -5708,12 +5160,12 @@ var Progress = React51.forwardRef(
5708
5160
  children: label
5709
5161
  }
5710
5162
  ),
5711
- showValue && value !== void 0 && /* @__PURE__ */ jsxs54("span", { className: "ml-auto shrink-0 tabular-nums text-muted-foreground", children: [
5163
+ showValue && value !== void 0 && /* @__PURE__ */ jsxs48("span", { className: "ml-auto shrink-0 tabular-nums text-muted-foreground", children: [
5712
5164
  shown,
5713
5165
  "%"
5714
5166
  ] })
5715
5167
  ] }),
5716
- /* @__PURE__ */ jsx69(
5168
+ /* @__PURE__ */ jsx59(
5717
5169
  "div",
5718
5170
  {
5719
5171
  role: "progressbar",
@@ -5727,7 +5179,7 @@ var Progress = React51.forwardRef(
5727
5179
  size === "sm" ? "h-1.5" : "h-2.5"
5728
5180
  ),
5729
5181
  ...props,
5730
- children: /* @__PURE__ */ jsx69(
5182
+ children: /* @__PURE__ */ jsx59(
5731
5183
  "div",
5732
5184
  {
5733
5185
  "data-ui-boundary": "",
@@ -5747,10 +5199,10 @@ var Progress = React51.forwardRef(
5747
5199
  Progress.displayName = "Progress";
5748
5200
 
5749
5201
  // src/hooks/use-debounce.ts
5750
- import { useEffect as useEffect12, useState as useState12 } from "react";
5202
+ import { useEffect as useEffect7, useState as useState11 } from "react";
5751
5203
  function useDebounce(value, ms) {
5752
- const [debounced, setDebounced] = useState12(value);
5753
- useEffect12(() => {
5204
+ const [debounced, setDebounced] = useState11(value);
5205
+ useEffect7(() => {
5754
5206
  const handle = setTimeout(() => setDebounced(value), ms);
5755
5207
  return () => clearTimeout(handle);
5756
5208
  }, [value, ms]);
@@ -5772,7 +5224,7 @@ export {
5772
5224
  Button,
5773
5225
  ButtonGroup,
5774
5226
  ButtonGroupItem,
5775
- Calendar2 as Calendar,
5227
+ Calendar,
5776
5228
  Card,
5777
5229
  CardContent,
5778
5230
  CardDescription,