@caqophony/ui 0.3.0 → 0.4.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
+ CONTENT_GUTTER,
8
+ Container,
9
+ NavDrawer,
10
+ NavbarMenu,
11
+ Spinner,
12
+ buttonVariants,
13
+ useModalSurface,
14
+ usePanelRef
15
+ } from "./chunk-PKP3ZIRB.js";
16
+ import {
17
+ Alert,
18
+ EMPTY_VALUE_GLYPH,
19
+ EmptyValue,
20
+ INTENT_SUBTLE_STYLES,
21
+ IntentBadge,
22
+ isEmptyValue
23
+ } from "./chunk-Y6LCXEXZ.js";
24
+ import {
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-BAW3RIMF.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,96 +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 { Fragment as Fragment2, jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
866
- function NavDrawer({
867
- label,
868
- side,
869
- defaultOpen,
870
- children
871
- }) {
872
- const [open, setOpen] = React7.useState(defaultOpen);
873
- const id = React7.useId();
874
- React7.useEffect(() => {
875
- if (!open) return;
876
- const onKey = (e) => {
877
- if (e.key === "Escape") setOpen(false);
878
- };
879
- document.addEventListener("keydown", onKey);
880
- return () => document.removeEventListener("keydown", onKey);
881
- }, [open]);
882
- const left = side === "left";
883
- return /* @__PURE__ */ jsxs7(Fragment2, { children: [
884
- /* @__PURE__ */ jsx11(
885
- Button,
886
- {
887
- variant: "ghost",
888
- size: "icon",
889
- "aria-label": label,
890
- "aria-expanded": open,
891
- "aria-controls": open ? id : void 0,
892
- onClick: () => setOpen(!open),
893
- children: /* @__PURE__ */ jsx11(Icon, { name: "menu", size: "sm" })
894
- }
895
- ),
896
- open && /* @__PURE__ */ jsxs7("div", { className: "z-overlay fixed inset-0", children: [
897
- /* @__PURE__ */ jsx11(
898
- "div",
899
- {
900
- "aria-hidden": "true",
901
- className: "absolute inset-0 bg-foreground/40",
902
- onClick: () => setOpen(false)
903
- }
904
- ),
905
- /* @__PURE__ */ jsxs7(
906
- "aside",
907
- {
908
- id,
909
- "aria-label": label,
910
- className: cn(
911
- "absolute inset-y-0 flex w-72 max-w-[calc(100%-3rem)] flex-col overflow-y-auto bg-card shadow-lg",
912
- left ? "left-0 border-r" : "right-0 border-l",
913
- "border-border"
914
- ),
915
- children: [
916
- /* @__PURE__ */ jsx11(
917
- "div",
918
- {
919
- className: cn(
920
- "flex px-2 py-2",
921
- left ? "justify-end" : "justify-start"
922
- ),
923
- children: /* @__PURE__ */ jsx11(
924
- Button,
925
- {
926
- variant: "ghost",
927
- size: "icon",
928
- "aria-label": "Close",
929
- onClick: () => setOpen(false),
930
- children: /* @__PURE__ */ jsx11(Icon, { name: "x", size: "sm" })
931
- }
932
- )
933
- }
934
- ),
935
- children
936
- ]
937
- }
938
- )
939
- ] })
940
- ] });
941
- }
942
-
943
- // src/collapsible-sidebar.tsx
944
- 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";
945
682
  var SidebarContext = createContext(null);
946
683
  function useSidebar() {
947
684
  const context = useContext(SidebarContext);
@@ -956,7 +693,7 @@ var DefaultLink = ({
956
693
  href,
957
694
  className,
958
695
  children
959
- }) => /* @__PURE__ */ jsx12("a", { href: String(href), className, children });
696
+ }) => /* @__PURE__ */ jsx8("a", { href: String(href), className, children });
960
697
  function CollapsibleSidebar({
961
698
  storageKey = "sidebar-collapsed",
962
699
  defaultCollapsed = false,
@@ -973,8 +710,8 @@ function CollapsibleSidebar({
973
710
  navLabel = "Navigation",
974
711
  defaultNavOpen = false
975
712
  }) {
976
- const [isCollapsed, setIsCollapsed] = useState2(defaultCollapsed);
977
- useEffect2(() => {
713
+ const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
714
+ useEffect(() => {
978
715
  const stored = localStorage.getItem(storageKey);
979
716
  if (stored !== null) {
980
717
  setIsCollapsed(stored === "true");
@@ -990,7 +727,7 @@ function CollapsibleSidebar({
990
727
  const renderItem = (item, collapsed) => {
991
728
  const Icon2 = item.icon;
992
729
  const active = isActive?.(item.href) ?? false;
993
- const linkContent = /* @__PURE__ */ jsxs8(
730
+ const linkContent = /* @__PURE__ */ jsxs5(
994
731
  LinkComponent,
995
732
  {
996
733
  href: item.href,
@@ -1000,10 +737,10 @@ function CollapsibleSidebar({
1000
737
  active ? "bg-primary-solid text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
1001
738
  ),
1002
739
  children: [
1003
- /* @__PURE__ */ jsx12(Icon2, { className: cn("size-5 shrink-0", collapsed && "size-5") }),
1004
- !collapsed && /* @__PURE__ */ jsxs8("div", { className: "min-w-0 flex-1 overflow-hidden", children: [
1005
- /* @__PURE__ */ jsx12("div", { className: "truncate text-sm font-medium", children: item.name }),
1006
- 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(
1007
744
  "div",
1008
745
  {
1009
746
  className: cn(
@@ -1020,32 +757,41 @@ function CollapsibleSidebar({
1020
757
  }
1021
758
  );
1022
759
  if (collapsed) {
1023
- return /* @__PURE__ */ jsxs8(Tooltip, { children: [
1024
- /* @__PURE__ */ jsx12(TooltipTrigger, { asChild: true, children: linkContent }),
1025
- /* @__PURE__ */ jsxs8(TooltipContent, { side: "right", className: "flex flex-col", children: [
1026
- /* @__PURE__ */ jsx12("span", { className: "font-medium", children: item.name }),
1027
- 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 })
1028
765
  ] })
1029
766
  ] }, item.href);
1030
767
  }
1031
- return /* @__PURE__ */ jsx12("div", { children: linkContent }, item.href);
768
+ return /* @__PURE__ */ jsx8("div", { children: linkContent }, item.href);
1032
769
  };
1033
- return /* @__PURE__ */ jsx12(SidebarContext.Provider, { value: { isCollapsed, toggle }, children: /* @__PURE__ */ jsxs8(TooltipProvider, { delayDuration: 100, children: [
1034
- /* @__PURE__ */ jsx12(
770
+ return /* @__PURE__ */ jsx8(SidebarContext.Provider, { value: { isCollapsed, toggle }, children: /* @__PURE__ */ jsxs5(TooltipProvider, { delayDuration: 100, children: [
771
+ /* @__PURE__ */ jsx8(
1035
772
  "div",
1036
773
  {
1037
774
  className: cn(
1038
775
  "flex min-h-screen w-14 flex-shrink-0 flex-col items-center border-r border-border bg-card py-2 lg:hidden",
1039
776
  className
1040
777
  ),
1041
- children: /* @__PURE__ */ jsxs8(NavDrawer, { label: navLabel, side: "left", defaultOpen: defaultNavOpen, children: [
1042
- header && /* @__PURE__ */ jsx12("div", { className: "border-b border-border px-4 pb-4", children: header }),
1043
- /* @__PURE__ */ jsx12("div", { className: "flex-1 space-y-1 p-2", children: items.map((item) => renderItem(item, false)) }),
1044
- footer && /* @__PURE__ */ jsx12("div", { className: "mt-auto border-t border-border p-2", children: footer })
1045
- ] })
778
+ children: /* @__PURE__ */ jsxs5(
779
+ NavDrawer,
780
+ {
781
+ label: navLabel,
782
+ side: "left",
783
+ closedFrom: "lg",
784
+ defaultOpen: defaultNavOpen,
785
+ children: [
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 })
789
+ ]
790
+ }
791
+ )
1046
792
  }
1047
793
  ),
1048
- /* @__PURE__ */ jsxs8(
794
+ /* @__PURE__ */ jsxs5(
1049
795
  "nav",
1050
796
  {
1051
797
  className: cn(
@@ -1054,7 +800,7 @@ function CollapsibleSidebar({
1054
800
  ),
1055
801
  style: { width: isCollapsed ? collapsedWidth : expandedWidth },
1056
802
  children: [
1057
- /* @__PURE__ */ jsx12(
803
+ /* @__PURE__ */ jsx8(
1058
804
  "button",
1059
805
  {
1060
806
  onClick: toggle,
@@ -1062,10 +808,10 @@ function CollapsibleSidebar({
1062
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"
1063
809
  ),
1064
810
  "aria-label": isCollapsed ? "Expand sidebar" : "Collapse sidebar",
1065
- 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" })
1066
812
  }
1067
813
  ),
1068
- (header || collapsedHeader) && /* @__PURE__ */ jsx12(
814
+ (header || collapsedHeader) && /* @__PURE__ */ jsx8(
1069
815
  "div",
1070
816
  {
1071
817
  className: cn(
@@ -1075,8 +821,8 @@ function CollapsibleSidebar({
1075
821
  children: isCollapsed ? collapsedHeader || null : header
1076
822
  }
1077
823
  ),
1078
- /* @__PURE__ */ jsx12("div", { className: "flex-1 space-y-1 overflow-y-auto p-2", children: items.map((item) => renderItem(item, isCollapsed)) }),
1079
- (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 })
1080
826
  ]
1081
827
  }
1082
828
  )
@@ -1084,9 +830,9 @@ function CollapsibleSidebar({
1084
830
  }
1085
831
 
1086
832
  // src/accordion.tsx
1087
- import { createContext as createContext2, useContext as useContext2, useState as useState3, useCallback as useCallback2, useId as useId3 } from "react";
1088
- import { ChevronDown as ChevronDown2 } from "lucide-react";
1089
- 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";
1090
836
  var AccordionContext = createContext2(null);
1091
837
  var AccordionItemContext = createContext2(
1092
838
  null
@@ -1115,7 +861,7 @@ function AccordionSingle({
1115
861
  children,
1116
862
  className
1117
863
  }) {
1118
- const [uncontrolledValue, setUncontrolledValue] = useState3(defaultValue);
864
+ const [uncontrolledValue, setUncontrolledValue] = useState2(defaultValue);
1119
865
  const isControlled = controlledValue !== void 0;
1120
866
  const value = isControlled ? controlledValue : uncontrolledValue;
1121
867
  const handleValueChange = useCallback2(
@@ -1128,7 +874,7 @@ function AccordionSingle({
1128
874
  },
1129
875
  [value, collapsible, isControlled, onValueChange]
1130
876
  );
1131
- return /* @__PURE__ */ jsx13(
877
+ return /* @__PURE__ */ jsx9(
1132
878
  AccordionContext.Provider,
1133
879
  {
1134
880
  value: {
@@ -1136,7 +882,7 @@ function AccordionSingle({
1136
882
  value,
1137
883
  onValueChange: handleValueChange
1138
884
  },
1139
- 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 })
1140
886
  }
1141
887
  );
1142
888
  }
@@ -1147,7 +893,7 @@ function AccordionMultiple({
1147
893
  children,
1148
894
  className
1149
895
  }) {
1150
- const [uncontrolledValue, setUncontrolledValue] = useState3(defaultValue);
896
+ const [uncontrolledValue, setUncontrolledValue] = useState2(defaultValue);
1151
897
  const isControlled = controlledValue !== void 0;
1152
898
  const value = isControlled ? controlledValue : uncontrolledValue;
1153
899
  const handleValueChange = useCallback2(
@@ -1160,7 +906,7 @@ function AccordionMultiple({
1160
906
  },
1161
907
  [value, isControlled, onValueChange]
1162
908
  );
1163
- return /* @__PURE__ */ jsx13(
909
+ return /* @__PURE__ */ jsx9(
1164
910
  AccordionContext.Provider,
1165
911
  {
1166
912
  value: {
@@ -1168,15 +914,15 @@ function AccordionMultiple({
1168
914
  value,
1169
915
  onValueChange: handleValueChange
1170
916
  },
1171
- 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 })
1172
918
  }
1173
919
  );
1174
920
  }
1175
921
  function Accordion(props) {
1176
922
  if (props.type === "multiple") {
1177
- return /* @__PURE__ */ jsx13(AccordionMultiple, { ...props });
923
+ return /* @__PURE__ */ jsx9(AccordionMultiple, { ...props });
1178
924
  }
1179
- return /* @__PURE__ */ jsx13(AccordionSingle, { ...props });
925
+ return /* @__PURE__ */ jsx9(AccordionSingle, { ...props });
1180
926
  }
1181
927
  function AccordionItem({
1182
928
  value,
@@ -1186,15 +932,15 @@ function AccordionItem({
1186
932
  testId
1187
933
  }) {
1188
934
  const { value: accordionValue, type } = useAccordion();
1189
- const uniqueId = useId3();
935
+ const uniqueId = useId2();
1190
936
  const triggerId = `accordion-trigger-${uniqueId}`;
1191
937
  const contentId = `accordion-content-${uniqueId}`;
1192
938
  const isOpen = type === "single" ? accordionValue === value : accordionValue.includes(value);
1193
- return /* @__PURE__ */ jsx13(
939
+ return /* @__PURE__ */ jsx9(
1194
940
  AccordionItemContext.Provider,
1195
941
  {
1196
942
  value: { value, isOpen, triggerId, contentId, disabled },
1197
- children: /* @__PURE__ */ jsx13(
943
+ children: /* @__PURE__ */ jsx9(
1198
944
  "div",
1199
945
  {
1200
946
  className: cn(
@@ -1220,7 +966,7 @@ function AccordionTrigger({
1220
966
  }) {
1221
967
  const { onValueChange } = useAccordion();
1222
968
  const { value, isOpen, triggerId, contentId, disabled } = useAccordionItem();
1223
- return /* @__PURE__ */ jsxs9(
969
+ return /* @__PURE__ */ jsxs6(
1224
970
  "button",
1225
971
  {
1226
972
  id: triggerId,
@@ -1239,14 +985,14 @@ function AccordionTrigger({
1239
985
  "data-state": isOpen ? "open" : "closed",
1240
986
  "data-testid": testId,
1241
987
  children: [
1242
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-3", children: [
1243
- icon && /* @__PURE__ */ jsx13("span", { className: "shrink-0", children: icon }),
1244
- /* @__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 })
1245
991
  ] }),
1246
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-2", children: [
992
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-2", children: [
1247
993
  rightContent,
1248
- /* @__PURE__ */ jsx13(
1249
- ChevronDown2,
994
+ /* @__PURE__ */ jsx9(
995
+ ChevronDown,
1250
996
  {
1251
997
  className: cn(
1252
998
  "size-5 shrink-0 text-muted-foreground transition-transform duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
@@ -1266,7 +1012,7 @@ function AccordionContent({
1266
1012
  testId
1267
1013
  }) {
1268
1014
  const { isOpen, contentId, triggerId } = useAccordionItem();
1269
- return /* @__PURE__ */ jsx13(
1015
+ return /* @__PURE__ */ jsx9(
1270
1016
  "div",
1271
1017
  {
1272
1018
  id: contentId,
@@ -1280,7 +1026,7 @@ function AccordionContent({
1280
1026
  "grid transition-all duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
1281
1027
  isOpen ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0"
1282
1028
  ),
1283
- 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 }) })
1284
1030
  }
1285
1031
  );
1286
1032
  }
@@ -1298,10 +1044,10 @@ function SimpleAccordion({
1298
1044
  triggerTestId,
1299
1045
  contentTestId
1300
1046
  }) {
1301
- const [uncontrolledOpen, setUncontrolledOpen] = useState3(defaultOpen);
1047
+ const [uncontrolledOpen, setUncontrolledOpen] = useState2(defaultOpen);
1302
1048
  const isControlled = controlledOpen !== void 0;
1303
1049
  const isOpen = isControlled ? controlledOpen : uncontrolledOpen;
1304
- const uniqueId = useId3();
1050
+ const uniqueId = useId2();
1305
1051
  const triggerId = `simple-accordion-trigger-${uniqueId}`;
1306
1052
  const contentId = `simple-accordion-content-${uniqueId}`;
1307
1053
  const toggle = useCallback2(() => {
@@ -1311,7 +1057,7 @@ function SimpleAccordion({
1311
1057
  }
1312
1058
  onOpenChange?.(newValue);
1313
1059
  }, [isOpen, isControlled, onOpenChange]);
1314
- return /* @__PURE__ */ jsxs9(
1060
+ return /* @__PURE__ */ jsxs6(
1315
1061
  "div",
1316
1062
  {
1317
1063
  className: cn(
@@ -1320,7 +1066,7 @@ function SimpleAccordion({
1320
1066
  ),
1321
1067
  "data-state": isOpen ? "open" : "closed",
1322
1068
  children: [
1323
- /* @__PURE__ */ jsxs9(
1069
+ /* @__PURE__ */ jsxs6(
1324
1070
  "button",
1325
1071
  {
1326
1072
  id: triggerId,
@@ -1338,14 +1084,14 @@ function SimpleAccordion({
1338
1084
  "data-state": isOpen ? "open" : "closed",
1339
1085
  "data-testid": triggerTestId,
1340
1086
  children: [
1341
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-3", children: [
1342
- icon && /* @__PURE__ */ jsx13("span", { className: "shrink-0", children: icon }),
1343
- /* @__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 })
1344
1090
  ] }),
1345
- /* @__PURE__ */ jsxs9("span", { className: "flex items-center gap-2", children: [
1091
+ /* @__PURE__ */ jsxs6("span", { className: "flex items-center gap-2", children: [
1346
1092
  rightContent,
1347
- /* @__PURE__ */ jsx13(
1348
- ChevronDown2,
1093
+ /* @__PURE__ */ jsx9(
1094
+ ChevronDown,
1349
1095
  {
1350
1096
  className: cn(
1351
1097
  "size-5 shrink-0 text-muted-foreground transition-transform duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
@@ -1358,7 +1104,7 @@ function SimpleAccordion({
1358
1104
  ]
1359
1105
  }
1360
1106
  ),
1361
- /* @__PURE__ */ jsx13(
1107
+ /* @__PURE__ */ jsx9(
1362
1108
  "div",
1363
1109
  {
1364
1110
  id: contentId,
@@ -1371,7 +1117,7 @@ function SimpleAccordion({
1371
1117
  "grid transition-all duration-300 [transition-timing-function:cubic-bezier(0.32,0.72,0,1)]",
1372
1118
  isOpen ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0"
1373
1119
  ),
1374
- 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 }) })
1375
1121
  }
1376
1122
  )
1377
1123
  ]
@@ -1380,9 +1126,9 @@ function SimpleAccordion({
1380
1126
  }
1381
1127
 
1382
1128
  // src/confirm-dialog.tsx
1383
- import * as React8 from "react";
1129
+ import * as React6 from "react";
1384
1130
  import { Loader2 } from "lucide-react";
1385
- 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";
1386
1132
  function ConfirmDialog({
1387
1133
  title,
1388
1134
  message,
@@ -1397,25 +1143,19 @@ function ConfirmDialog({
1397
1143
  confirmVariant = "default",
1398
1144
  className
1399
1145
  }) {
1400
- React8.useEffect(() => {
1401
- function handleKeyDown(e) {
1402
- if (e.key === "Escape" && !isLoading) {
1403
- onCancel();
1404
- }
1405
- }
1406
- document.addEventListener("keydown", handleKeyDown);
1407
- return () => document.removeEventListener("keydown", handleKeyDown);
1408
- }, [onCancel, isLoading]);
1409
- return /* @__PURE__ */ jsx14(
1146
+ const panel = React6.useRef(null);
1147
+ useModalSurface(true, panel, isLoading ? void 0 : onCancel);
1148
+ return /* @__PURE__ */ jsx10(
1410
1149
  "div",
1411
1150
  {
1412
- 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",
1413
1153
  role: "dialog",
1414
1154
  "aria-modal": "true",
1415
1155
  "aria-labelledby": "confirm-dialog-title",
1416
1156
  "aria-describedby": "confirm-dialog-description",
1417
1157
  "data-testid": dialogTestId,
1418
- children: /* @__PURE__ */ jsxs10(
1158
+ children: /* @__PURE__ */ jsxs7(
1419
1159
  "div",
1420
1160
  {
1421
1161
  className: cn(
@@ -1424,7 +1164,7 @@ function ConfirmDialog({
1424
1164
  className
1425
1165
  ),
1426
1166
  children: [
1427
- /* @__PURE__ */ jsx14(
1167
+ /* @__PURE__ */ jsx10(
1428
1168
  "h3",
1429
1169
  {
1430
1170
  id: "confirm-dialog-title",
@@ -1432,7 +1172,7 @@ function ConfirmDialog({
1432
1172
  children: title
1433
1173
  }
1434
1174
  ),
1435
- /* @__PURE__ */ jsx14(
1175
+ /* @__PURE__ */ jsx10(
1436
1176
  "p",
1437
1177
  {
1438
1178
  id: "confirm-dialog-description",
@@ -1440,8 +1180,8 @@ function ConfirmDialog({
1440
1180
  children: message
1441
1181
  }
1442
1182
  ),
1443
- /* @__PURE__ */ jsxs10("div", { className: "mt-6 flex justify-end gap-3", children: [
1444
- /* @__PURE__ */ jsx14(
1183
+ /* @__PURE__ */ jsxs7("div", { className: "mt-6 flex justify-end gap-3", children: [
1184
+ /* @__PURE__ */ jsx10(
1445
1185
  Button,
1446
1186
  {
1447
1187
  variant: "ghost",
@@ -1451,15 +1191,15 @@ function ConfirmDialog({
1451
1191
  children: cancelLabel
1452
1192
  }
1453
1193
  ),
1454
- /* @__PURE__ */ jsx14(
1194
+ /* @__PURE__ */ jsx10(
1455
1195
  Button,
1456
1196
  {
1457
1197
  variant: confirmVariant,
1458
1198
  onClick: onConfirm,
1459
1199
  disabled: isLoading,
1460
1200
  "data-testid": confirmTestId,
1461
- children: isLoading ? /* @__PURE__ */ jsxs10(Fragment3, { children: [
1462
- /* @__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" }),
1463
1203
  confirmLabel,
1464
1204
  "..."
1465
1205
  ] }) : confirmLabel
@@ -1474,10 +1214,10 @@ function ConfirmDialog({
1474
1214
  }
1475
1215
 
1476
1216
  // src/dicebear-avatar.tsx
1477
- import * as React9 from "react";
1478
- import { cva as cva3 } from "class-variance-authority";
1479
- import { jsx as jsx15 } from "react/jsx-runtime";
1480
- 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(
1481
1221
  "relative inline-flex shrink-0 overflow-hidden rounded-full bg-muted dark:bg-muted",
1482
1222
  {
1483
1223
  variants: {
@@ -1500,7 +1240,7 @@ function buildDiceBearUrl(seed, style = "adventurer-neutral") {
1500
1240
  const encodedSeed = encodeURIComponent(seed);
1501
1241
  return `${DICEBEAR_BASE_URL}/${style}/svg?seed=${encodedSeed}`;
1502
1242
  }
1503
- var DiceBearAvatar = React9.forwardRef(
1243
+ var DiceBearAvatar = React7.forwardRef(
1504
1244
  ({
1505
1245
  seed,
1506
1246
  avatarStyle = "adventurer-neutral",
@@ -1510,18 +1250,18 @@ var DiceBearAvatar = React9.forwardRef(
1510
1250
  className,
1511
1251
  ...props
1512
1252
  }, ref) => {
1513
- const [hasError, setHasError] = React9.useState(false);
1253
+ const [hasError, setHasError] = React7.useState(false);
1514
1254
  const url = buildDiceBearUrl(seed, avatarStyle);
1515
- React9.useEffect(() => {
1255
+ React7.useEffect(() => {
1516
1256
  setHasError(false);
1517
1257
  }, [seed, avatarStyle]);
1518
- return /* @__PURE__ */ jsx15(
1258
+ return /* @__PURE__ */ jsx11(
1519
1259
  "div",
1520
1260
  {
1521
1261
  ref,
1522
1262
  className: cn(avatarVariants({ size }), className),
1523
1263
  ...props,
1524
- 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(
1525
1265
  "img",
1526
1266
  {
1527
1267
  src: url,
@@ -1537,14 +1277,14 @@ var DiceBearAvatar = React9.forwardRef(
1537
1277
  DiceBearAvatar.displayName = "DiceBearAvatar";
1538
1278
 
1539
1279
  // src/intent-icon.tsx
1540
- import { Check as Check2, AlertTriangle, X as X2, Info as Info2 } from "lucide-react";
1541
- 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";
1542
1282
  var intentConfig = {
1543
1283
  success: {
1544
1284
  outerBg: "bg-[rgba(33,196,93,0.10)] dark:bg-[rgba(33,196,93,0.10)]",
1545
1285
  innerBg: "bg-[rgba(33,196,93,0.20)] dark:bg-[rgba(33,196,93,0.20)]",
1546
1286
  iconColor: "text-[#21c45d] dark:text-[#21c45d]",
1547
- Icon: Check2
1287
+ Icon: Check
1548
1288
  },
1549
1289
  warning: {
1550
1290
  outerBg: "bg-[rgba(245,159,10,0.10)] dark:bg-[rgba(245,159,10,0.10)]",
@@ -1556,13 +1296,13 @@ var intentConfig = {
1556
1296
  outerBg: "bg-[rgba(239,67,67,0.10)] dark:bg-[rgba(239,67,67,0.10)]",
1557
1297
  innerBg: "bg-[rgba(239,67,67,0.20)] dark:bg-[rgba(239,67,67,0.20)]",
1558
1298
  iconColor: "text-[#ef4343] dark:text-[#ef4343]",
1559
- Icon: X2
1299
+ Icon: X
1560
1300
  },
1561
1301
  info: {
1562
1302
  outerBg: "bg-[rgba(60,131,246,0.10)] dark:bg-[rgba(60,131,246,0.10)]",
1563
1303
  innerBg: "bg-[rgba(60,131,246,0.20)] dark:bg-[rgba(60,131,246,0.20)]",
1564
1304
  iconColor: "text-[#3c83f6] dark:text-[#3c83f6]",
1565
- Icon: Info2
1305
+ Icon: Info
1566
1306
  }
1567
1307
  };
1568
1308
  var sizeConfig = {
@@ -1583,18 +1323,18 @@ function IntentIcon({
1583
1323
  }) {
1584
1324
  const { outerBg, innerBg, iconColor, Icon: Icon2 } = intentConfig[intent];
1585
1325
  const { outer, inner, iconSize } = sizeConfig[size];
1586
- return /* @__PURE__ */ jsx16(
1326
+ return /* @__PURE__ */ jsx12(
1587
1327
  "div",
1588
1328
  {
1589
1329
  "data-testid": "intent-icon",
1590
1330
  className: `${outer} ${outerBg} flex items-center justify-center`,
1591
- 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 }) })
1592
1332
  }
1593
1333
  );
1594
1334
  }
1595
1335
 
1596
1336
  // src/section-heading.tsx
1597
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1337
+ import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1598
1338
  var sizeConfig2 = {
1599
1339
  display: {
1600
1340
  className: "text-4xl font-bold leading-10",
@@ -1619,26 +1359,26 @@ function SectionHeading({
1619
1359
  align = "center",
1620
1360
  size = "h1"
1621
1361
  }) {
1622
- const { className: sizeClass, tag: Tag2 } = sizeConfig2[size];
1623
- return /* @__PURE__ */ jsxs11(
1362
+ const { className: sizeClass, tag: Tag } = sizeConfig2[size];
1363
+ return /* @__PURE__ */ jsxs8(
1624
1364
  "div",
1625
1365
  {
1626
1366
  "data-testid": "section-heading",
1627
1367
  className: cn(
1628
- "flex max-w-[480px] flex-col gap-2",
1629
- align === "center" && "items-center text-center",
1368
+ "flex flex-col gap-2",
1369
+ align === "center" && "mx-auto items-center text-center",
1630
1370
  align === "left" && "items-start text-left"
1631
1371
  ),
1632
1372
  children: [
1633
- /* @__PURE__ */ jsx17(Tag2, { className: cn("text-foreground dark:text-foreground", sizeClass), children: title }),
1634
- 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 })
1635
1375
  ]
1636
1376
  }
1637
1377
  );
1638
1378
  }
1639
1379
 
1640
1380
  // src/filter-chip.tsx
1641
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1381
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1642
1382
  function FilterChip({
1643
1383
  label,
1644
1384
  active = false,
@@ -1646,7 +1386,7 @@ function FilterChip({
1646
1386
  size = "md",
1647
1387
  onClick
1648
1388
  }) {
1649
- return /* @__PURE__ */ jsxs12(
1389
+ return /* @__PURE__ */ jsxs9(
1650
1390
  "button",
1651
1391
  {
1652
1392
  type: "button",
@@ -1662,21 +1402,21 @@ function FilterChip({
1662
1402
  // State — inactive
1663
1403
  !active && "border-border bg-background text-muted-foreground dark:border-border dark:bg-background dark:text-muted-foreground",
1664
1404
  // State — active
1665
- 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",
1666
1406
  // Hover
1667
1407
  !active && "hover:bg-muted dark:hover:bg-muted",
1668
- 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)]"
1669
1409
  ),
1670
1410
  children: [
1671
1411
  label,
1672
- count != null && /* @__PURE__ */ jsx18(
1412
+ count != null && /* @__PURE__ */ jsx14(
1673
1413
  "span",
1674
1414
  {
1675
1415
  className: cn(
1676
1416
  "inline-flex items-center justify-center rounded-full px-[5px] text-[11px] font-semibold",
1677
1417
  "h-[18px] min-w-[18px]",
1678
1418
  !active && "bg-muted text-muted-foreground dark:bg-muted dark:text-muted-foreground",
1679
- 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"
1680
1420
  ),
1681
1421
  children: count
1682
1422
  }
@@ -1687,35 +1427,35 @@ function FilterChip({
1687
1427
  }
1688
1428
 
1689
1429
  // src/distribution-chip.tsx
1690
- import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1430
+ import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1691
1431
  function DistributionChip({
1692
1432
  count,
1693
1433
  label,
1694
1434
  dotClass,
1695
1435
  testId
1696
1436
  }) {
1697
- return /* @__PURE__ */ jsxs13(
1437
+ return /* @__PURE__ */ jsxs10(
1698
1438
  "span",
1699
1439
  {
1700
1440
  "data-testid": testId,
1701
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",
1702
1442
  children: [
1703
- /* @__PURE__ */ jsx19("span", { className: `size-2 rounded-full ${dotClass}` }),
1704
- /* @__PURE__ */ jsx19("span", { className: "tabular-nums", children: count }),
1705
- /* @__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 })
1706
1446
  ]
1707
1447
  }
1708
1448
  );
1709
1449
  }
1710
1450
 
1711
1451
  // src/skeleton-bar.tsx
1712
- import { jsx as jsx20 } from "react/jsx-runtime";
1452
+ import { jsx as jsx16 } from "react/jsx-runtime";
1713
1453
  function SkeletonBar({
1714
1454
  width = "full",
1715
1455
  height = 14,
1716
1456
  className = ""
1717
1457
  }) {
1718
- return /* @__PURE__ */ jsx20(
1458
+ return /* @__PURE__ */ jsx16(
1719
1459
  "div",
1720
1460
  {
1721
1461
  "data-testid": "skeleton-bar",
@@ -1733,9 +1473,9 @@ function SkeletonBar({
1733
1473
  }
1734
1474
 
1735
1475
  // src/skeleton-card.tsx
1736
- import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
1476
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1737
1477
  function SkeletonCard({ className = "" }) {
1738
- return /* @__PURE__ */ jsxs14(
1478
+ return /* @__PURE__ */ jsxs11(
1739
1479
  "div",
1740
1480
  {
1741
1481
  "data-testid": "skeleton-card",
@@ -1744,18 +1484,18 @@ function SkeletonCard({ className = "" }) {
1744
1484
  className
1745
1485
  ),
1746
1486
  children: [
1747
- /* @__PURE__ */ jsx21(SkeletonBar, { width: 80, height: 10 }),
1748
- /* @__PURE__ */ jsx21(SkeletonBar, { width: 60, height: 24 }),
1749
- /* @__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 })
1750
1490
  ]
1751
1491
  }
1752
1492
  );
1753
1493
  }
1754
1494
 
1755
1495
  // src/skeleton-row.tsx
1756
- import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
1496
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1757
1497
  function SkeletonRow({ className = "" }) {
1758
- return /* @__PURE__ */ jsxs15(
1498
+ return /* @__PURE__ */ jsxs12(
1759
1499
  "div",
1760
1500
  {
1761
1501
  "data-testid": "skeleton-row",
@@ -1764,10 +1504,10 @@ function SkeletonRow({ className = "" }) {
1764
1504
  className
1765
1505
  ),
1766
1506
  children: [
1767
- /* @__PURE__ */ jsx22("div", { className: "h-9 w-9 flex-shrink-0 animate-pulse rounded-full bg-muted dark:bg-muted" }),
1768
- /* @__PURE__ */ jsxs15("div", { className: "flex flex-1 flex-col gap-1.5", children: [
1769
- /* @__PURE__ */ jsx22(SkeletonBar, { width: 200, height: 12 }),
1770
- /* @__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 })
1771
1511
  ] })
1772
1512
  ]
1773
1513
  }
@@ -1775,10 +1515,10 @@ function SkeletonRow({ className = "" }) {
1775
1515
  }
1776
1516
 
1777
1517
  // src/stacked-list.tsx
1778
- import * as React10 from "react";
1779
- import { jsx as jsx23, jsxs as jsxs16 } from "react/jsx-runtime";
1780
- var StackedList = React10.forwardRef(
1781
- ({ 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(
1782
1522
  "ul",
1783
1523
  {
1784
1524
  ref,
@@ -1790,7 +1530,7 @@ var StackedList = React10.forwardRef(
1790
1530
  )
1791
1531
  );
1792
1532
  StackedList.displayName = "StackedList";
1793
- var StackedListItem = React10.forwardRef(
1533
+ var StackedListItem = React8.forwardRef(
1794
1534
  ({
1795
1535
  className,
1796
1536
  avatar,
@@ -1800,7 +1540,7 @@ var StackedListItem = React10.forwardRef(
1800
1540
  action,
1801
1541
  density = "default",
1802
1542
  ...props
1803
- }, ref) => /* @__PURE__ */ jsxs16(
1543
+ }, ref) => /* @__PURE__ */ jsxs13(
1804
1544
  "li",
1805
1545
  {
1806
1546
  ref,
@@ -1811,9 +1551,9 @@ var StackedListItem = React10.forwardRef(
1811
1551
  ),
1812
1552
  ...props,
1813
1553
  children: [
1814
- avatar && /* @__PURE__ */ jsx23("div", { className: "flex-shrink-0", children: avatar }),
1815
- /* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
1816
- /* @__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(
1817
1557
  "p",
1818
1558
  {
1819
1559
  className: cn(
@@ -1823,7 +1563,7 @@ var StackedListItem = React10.forwardRef(
1823
1563
  children: title
1824
1564
  }
1825
1565
  ),
1826
- description && /* @__PURE__ */ jsx23(
1566
+ description && /* @__PURE__ */ jsx19(
1827
1567
  "p",
1828
1568
  {
1829
1569
  className: cn(
@@ -1834,8 +1574,8 @@ var StackedListItem = React10.forwardRef(
1834
1574
  }
1835
1575
  )
1836
1576
  ] }),
1837
- meta && /* @__PURE__ */ jsx23("span", { className: "flex-shrink-0 text-sm text-muted-foreground", children: meta }),
1838
- 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 })
1839
1579
  ]
1840
1580
  }
1841
1581
  )
@@ -1843,8 +1583,8 @@ var StackedListItem = React10.forwardRef(
1843
1583
  StackedListItem.displayName = "StackedListItem";
1844
1584
 
1845
1585
  // src/grid-list.tsx
1846
- import * as React11 from "react";
1847
- import { jsx as jsx24 } from "react/jsx-runtime";
1586
+ import * as React9 from "react";
1587
+ import { jsx as jsx20 } from "react/jsx-runtime";
1848
1588
  var COLUMN_CLASSES = {
1849
1589
  2: "grid-cols-1 sm:grid-cols-2",
1850
1590
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
@@ -1855,8 +1595,8 @@ var GAP_CLASSES = {
1855
1595
  md: "gap-4",
1856
1596
  lg: "gap-6"
1857
1597
  };
1858
- var GridList = React11.forwardRef(
1859
- ({ className, columns = 3, gap = "md", ...props }, ref) => /* @__PURE__ */ jsx24(
1598
+ var GridList = React9.forwardRef(
1599
+ ({ className, columns = 3, gap = "md", ...props }, ref) => /* @__PURE__ */ jsx20(
1860
1600
  "div",
1861
1601
  {
1862
1602
  ref,
@@ -1871,8 +1611,8 @@ var GridList = React11.forwardRef(
1871
1611
  )
1872
1612
  );
1873
1613
  GridList.displayName = "GridList";
1874
- var GridListItem = React11.forwardRef(
1875
- ({ className, hoverable = false, ...props }, ref) => /* @__PURE__ */ jsx24(
1614
+ var GridListItem = React9.forwardRef(
1615
+ ({ className, hoverable = false, ...props }, ref) => /* @__PURE__ */ jsx20(
1876
1616
  "div",
1877
1617
  {
1878
1618
  ref,
@@ -1888,8 +1628,8 @@ var GridListItem = React11.forwardRef(
1888
1628
  GridListItem.displayName = "GridListItem";
1889
1629
 
1890
1630
  // src/pagination.tsx
1891
- import * as React12 from "react";
1892
- 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";
1893
1633
  function getPageRange(current, total, siblings) {
1894
1634
  const range = [];
1895
1635
  const left = Math.max(2, current - siblings);
@@ -1901,7 +1641,7 @@ function getPageRange(current, total, siblings) {
1901
1641
  if (total > 1) range.push(total);
1902
1642
  return range;
1903
1643
  }
1904
- var PaginationButton = React12.forwardRef(({ className, active, disabled, ...props }, ref) => /* @__PURE__ */ jsx25(
1644
+ var PaginationButton = React10.forwardRef(({ className, active, disabled, ...props }, ref) => /* @__PURE__ */ jsx21(
1905
1645
  "button",
1906
1646
  {
1907
1647
  ref,
@@ -1918,7 +1658,7 @@ var PaginationButton = React12.forwardRef(({ className, active, disabled, ...pro
1918
1658
  }
1919
1659
  ));
1920
1660
  PaginationButton.displayName = "PaginationButton";
1921
- var Pagination = React12.forwardRef(
1661
+ var Pagination = React10.forwardRef(
1922
1662
  ({
1923
1663
  className,
1924
1664
  currentPage,
@@ -1934,7 +1674,7 @@ var Pagination = React12.forwardRef(
1934
1674
  }
1935
1675
  };
1936
1676
  if (variant === "simple") {
1937
- return /* @__PURE__ */ jsxs17(
1677
+ return /* @__PURE__ */ jsxs14(
1938
1678
  "nav",
1939
1679
  {
1940
1680
  ref,
@@ -1942,7 +1682,7 @@ var Pagination = React12.forwardRef(
1942
1682
  className: cn("flex items-center justify-between", className),
1943
1683
  ...props,
1944
1684
  children: [
1945
- /* @__PURE__ */ jsx25(
1685
+ /* @__PURE__ */ jsx21(
1946
1686
  PaginationButton,
1947
1687
  {
1948
1688
  onClick: () => handleChange(currentPage - 1),
@@ -1950,13 +1690,13 @@ var Pagination = React12.forwardRef(
1950
1690
  children: "Previous"
1951
1691
  }
1952
1692
  ),
1953
- /* @__PURE__ */ jsxs17("span", { className: "text-sm text-muted-foreground", children: [
1693
+ /* @__PURE__ */ jsxs14("span", { className: "text-sm text-muted-foreground", children: [
1954
1694
  "Page ",
1955
1695
  currentPage,
1956
1696
  " of ",
1957
1697
  totalPages
1958
1698
  ] }),
1959
- /* @__PURE__ */ jsx25(
1699
+ /* @__PURE__ */ jsx21(
1960
1700
  PaginationButton,
1961
1701
  {
1962
1702
  onClick: () => handleChange(currentPage + 1),
@@ -1969,7 +1709,7 @@ var Pagination = React12.forwardRef(
1969
1709
  );
1970
1710
  }
1971
1711
  const pages = getPageRange(currentPage, totalPages, siblingCount);
1972
- return /* @__PURE__ */ jsxs17(
1712
+ return /* @__PURE__ */ jsxs14(
1973
1713
  "nav",
1974
1714
  {
1975
1715
  ref,
@@ -1981,7 +1721,7 @@ var Pagination = React12.forwardRef(
1981
1721
  ),
1982
1722
  ...props,
1983
1723
  children: [
1984
- /* @__PURE__ */ jsx25(
1724
+ /* @__PURE__ */ jsx21(
1985
1725
  PaginationButton,
1986
1726
  {
1987
1727
  onClick: () => handleChange(currentPage - 1),
@@ -1990,14 +1730,14 @@ var Pagination = React12.forwardRef(
1990
1730
  }
1991
1731
  ),
1992
1732
  pages.map(
1993
- (page, i) => page === "ellipsis" ? /* @__PURE__ */ jsx25(
1733
+ (page, i) => page === "ellipsis" ? /* @__PURE__ */ jsx21(
1994
1734
  "span",
1995
1735
  {
1996
1736
  className: "inline-flex h-9 min-w-9 items-center justify-center text-sm text-muted-foreground",
1997
1737
  children: "..."
1998
1738
  },
1999
1739
  `ellipsis-${i}`
2000
- ) : /* @__PURE__ */ jsx25(
1740
+ ) : /* @__PURE__ */ jsx21(
2001
1741
  PaginationButton,
2002
1742
  {
2003
1743
  active: page === currentPage,
@@ -2007,7 +1747,7 @@ var Pagination = React12.forwardRef(
2007
1747
  page
2008
1748
  )
2009
1749
  ),
2010
- /* @__PURE__ */ jsx25(
1750
+ /* @__PURE__ */ jsx21(
2011
1751
  PaginationButton,
2012
1752
  {
2013
1753
  onClick: () => handleChange(currentPage + 1),
@@ -2023,106 +1763,9 @@ var Pagination = React12.forwardRef(
2023
1763
  Pagination.displayName = "Pagination";
2024
1764
 
2025
1765
  // src/stepper.tsx
2026
- import * as React14 from "react";
2027
-
2028
- // src/scroll-hint-mark.tsx
2029
- import * as React13 from "react";
2030
-
2031
- // src/scroll-hint.ts
2032
- var SCROLL_HINT_X = "";
2033
- 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";
2034
- 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";
2035
- var SCROLL_HINT_Y = "[container-type:scroll-state]";
2036
- 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";
2037
-
2038
- // src/scroll-hint-watch.ts
2039
- function scrollHintXState(box, slotWidth) {
2040
- if (box.scrollWidth - slotWidth <= box.clientWidth + 1) return "none";
2041
- return Math.abs(box.scrollLeft) + box.clientWidth >= box.scrollWidth - 1 ? "end" : "more";
2042
- }
2043
- function scrollHintXSlotWidth(mark, scroller) {
2044
- const own = getComputedStyle(mark);
2045
- if (own.display === "none") return 0;
2046
- const px = (v, what) => {
2047
- if (v === "normal") return 0;
2048
- const n = Number.parseFloat(v);
2049
- if (!Number.isFinite(n)) {
2050
- throw new Error(
2051
- `scrollHintXSlotWidth: ${what} is "${v}", not a length in px`
2052
- );
2053
- }
2054
- return n;
2055
- };
2056
- const gap = mark.previousElementSibling === null ? 0 : px(getComputedStyle(scroller).columnGap, "the scroller's column-gap");
2057
- return mark.getBoundingClientRect().width + px(own.marginLeft, "the mark's margin-left") + px(own.marginRight, "the mark's margin-right") + gap;
2058
- }
2059
- function watchScrollHintX(mark, write) {
2060
- const scroller = mark.parentElement;
2061
- if (scroller === null) {
2062
- throw new Error(
2063
- "watchScrollHintX: the mark has no parent element; it must be the last child of the box that scrolls on x"
2064
- );
2065
- }
2066
- let last;
2067
- const update = () => {
2068
- const state = scrollHintXState(
2069
- scroller,
2070
- scrollHintXSlotWidth(mark, scroller)
2071
- );
2072
- if (state === last) return;
2073
- last = state;
2074
- write(state);
2075
- };
2076
- const resize = new ResizeObserver(update);
2077
- const observeChildren = () => {
2078
- for (const child of Array.from(scroller.children)) resize.observe(child);
2079
- };
2080
- resize.observe(scroller);
2081
- observeChildren();
2082
- const added = new MutationObserver(() => {
2083
- observeChildren();
2084
- update();
2085
- });
2086
- added.observe(scroller, { childList: true });
2087
- scroller.addEventListener("scroll", update, { passive: true });
2088
- update();
2089
- return () => {
2090
- scroller.removeEventListener("scroll", update);
2091
- resize.disconnect();
2092
- added.disconnect();
2093
- };
2094
- }
2095
-
2096
- // src/scroll-hint-mark.tsx
2097
- import { jsx as jsx26 } from "react/jsx-runtime";
2098
- function ScrollHintXMark() {
2099
- const ref = React13.useRef(null);
2100
- React13.useEffect(() => {
2101
- const mark = ref.current;
2102
- if (mark === null) {
2103
- throw new Error(
2104
- "ScrollHintXMark: the effect ran with no mounted mark (ref.current is null)"
2105
- );
2106
- }
2107
- return watchScrollHintX(mark, (state) => {
2108
- mark.dataset.scrollHintState = state;
2109
- });
2110
- }, []);
2111
- return /* @__PURE__ */ jsx26(
2112
- "div",
2113
- {
2114
- ref,
2115
- "aria-hidden": "true",
2116
- "data-scroll-hint": "x",
2117
- className: SCROLL_HINT_X_MARK,
2118
- children: /* @__PURE__ */ jsx26("span", { className: SCROLL_HINT_X_PILL, children: /* @__PURE__ */ jsx26(Icon, { name: "chevron-right", size: "sm" }) })
2119
- }
2120
- );
2121
- }
2122
-
2123
- // src/stepper.tsx
2124
- import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
2125
- 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({
2126
1769
  index: 0,
2127
1770
  activeStep: 0,
2128
1771
  isLast: false,
@@ -2139,7 +1782,7 @@ var LABEL_SIZE = {
2139
1782
  md: "text-sm",
2140
1783
  lg: "text-base"
2141
1784
  };
2142
- var StepperStep = React14.forwardRef(
1785
+ var StepperStep = React11.forwardRef(
2143
1786
  ({
2144
1787
  className,
2145
1788
  label,
@@ -2151,10 +1794,10 @@ var StepperStep = React14.forwardRef(
2151
1794
  href,
2152
1795
  ...props
2153
1796
  }, ref) => {
2154
- const { index, activeStep, isLast, variant, size } = React14.useContext(StepContext);
1797
+ const { index, activeStep, isLast, variant, size } = React11.useContext(StepContext);
2155
1798
  const status = error ? "error" : disabled ? "disabled" : index < activeStep || completed ? "complete" : index === activeStep ? "current" : "upcoming";
2156
1799
  const isCurrent = index === activeStep && !error && !disabled;
2157
- const indicator = /* @__PURE__ */ jsx27(
1800
+ const indicator = /* @__PURE__ */ jsx22(
2158
1801
  "div",
2159
1802
  {
2160
1803
  className: cn(
@@ -2172,7 +1815,7 @@ var StepperStep = React14.forwardRef(
2172
1815
  }
2173
1816
  );
2174
1817
  if (variant === "vertical") {
2175
- return /* @__PURE__ */ jsxs18(
1818
+ return /* @__PURE__ */ jsxs15(
2176
1819
  "div",
2177
1820
  {
2178
1821
  ref,
@@ -2182,9 +1825,9 @@ var StepperStep = React14.forwardRef(
2182
1825
  className: cn("flex gap-3", disabled && "opacity-50", className),
2183
1826
  ...props,
2184
1827
  children: [
2185
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-center", children: [
1828
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-col items-center", children: [
2186
1829
  indicator,
2187
- !isLast && /* @__PURE__ */ jsx27(
1830
+ !isLast && /* @__PURE__ */ jsx22(
2188
1831
  "div",
2189
1832
  {
2190
1833
  className: cn(
@@ -2196,8 +1839,8 @@ var StepperStep = React14.forwardRef(
2196
1839
  }
2197
1840
  )
2198
1841
  ] }),
2199
- /* @__PURE__ */ jsxs18("div", { className: "pb-6", children: [
2200
- /* @__PURE__ */ jsx27(
1842
+ /* @__PURE__ */ jsxs15("div", { className: "pb-6", children: [
1843
+ /* @__PURE__ */ jsx22(
2201
1844
  "p",
2202
1845
  {
2203
1846
  className: cn(
@@ -2208,15 +1851,15 @@ var StepperStep = React14.forwardRef(
2208
1851
  children: label
2209
1852
  }
2210
1853
  ),
2211
- 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 })
2212
1855
  ] })
2213
1856
  ]
2214
1857
  }
2215
1858
  );
2216
1859
  }
2217
- 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: [
2218
1861
  indicator,
2219
- /* @__PURE__ */ jsx27(
1862
+ /* @__PURE__ */ jsx22(
2220
1863
  "span",
2221
1864
  {
2222
1865
  className: cn(
@@ -2228,7 +1871,7 @@ var StepperStep = React14.forwardRef(
2228
1871
  }
2229
1872
  )
2230
1873
  ] });
2231
- return /* @__PURE__ */ jsxs18(
1874
+ return /* @__PURE__ */ jsxs15(
2232
1875
  "div",
2233
1876
  {
2234
1877
  ref,
@@ -2238,7 +1881,7 @@ var StepperStep = React14.forwardRef(
2238
1881
  className: cn("flex items-center", className),
2239
1882
  ...props,
2240
1883
  children: [
2241
- href && !disabled ? /* @__PURE__ */ jsx27(
1884
+ href && !disabled ? /* @__PURE__ */ jsx22(
2242
1885
  "a",
2243
1886
  {
2244
1887
  href,
@@ -2247,7 +1890,7 @@ var StepperStep = React14.forwardRef(
2247
1890
  children: stepContent
2248
1891
  }
2249
1892
  ) : stepContent,
2250
- !isLast && /* @__PURE__ */ jsx27(
1893
+ !isLast && /* @__PURE__ */ jsx22(
2251
1894
  "div",
2252
1895
  {
2253
1896
  className: cn(
@@ -2262,7 +1905,7 @@ var StepperStep = React14.forwardRef(
2262
1905
  }
2263
1906
  );
2264
1907
  StepperStep.displayName = "StepperStep";
2265
- var Stepper = React14.forwardRef(
1908
+ var Stepper = React11.forwardRef(
2266
1909
  ({
2267
1910
  className,
2268
1911
  variant = "horizontal",
@@ -2271,8 +1914,8 @@ var Stepper = React14.forwardRef(
2271
1914
  children,
2272
1915
  ...props
2273
1916
  }, ref) => {
2274
- const steps = React14.Children.toArray(children);
2275
- return /* @__PURE__ */ jsxs18(
1917
+ const steps = React11.Children.toArray(children);
1918
+ return /* @__PURE__ */ jsxs15(
2276
1919
  "div",
2277
1920
  {
2278
1921
  ref,
@@ -2284,7 +1927,7 @@ var Stepper = React14.forwardRef(
2284
1927
  ),
2285
1928
  ...props,
2286
1929
  children: [
2287
- steps.map((child, i) => /* @__PURE__ */ jsx27(
1930
+ steps.map((child, i) => /* @__PURE__ */ jsx22(
2288
1931
  StepContext.Provider,
2289
1932
  {
2290
1933
  value: {
@@ -2298,7 +1941,7 @@ var Stepper = React14.forwardRef(
2298
1941
  },
2299
1942
  i
2300
1943
  )),
2301
- variant === "horizontal" && /* @__PURE__ */ jsx27(ScrollHintXMark, {})
1944
+ variant === "horizontal" && /* @__PURE__ */ jsx22(ScrollHintXMark, {})
2302
1945
  ]
2303
1946
  }
2304
1947
  );
@@ -2307,14 +1950,14 @@ var Stepper = React14.forwardRef(
2307
1950
  Stepper.displayName = "Stepper";
2308
1951
 
2309
1952
  // src/command-palette.tsx
2310
- import * as React15 from "react";
2311
- 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";
2312
1955
  var SIZE_CLASSES = {
2313
1956
  sm: "max-w-sm",
2314
1957
  md: "max-w-lg",
2315
1958
  lg: "max-w-2xl"
2316
1959
  };
2317
- var CommandPalette = React15.forwardRef(
1960
+ var CommandPalette = React12.forwardRef(
2318
1961
  ({
2319
1962
  className,
2320
1963
  open,
@@ -2325,9 +1968,9 @@ var CommandPalette = React15.forwardRef(
2325
1968
  size = "md",
2326
1969
  ...props
2327
1970
  }, ref) => {
2328
- const [query, setQuery] = React15.useState("");
2329
- const [activeIndex, setActiveIndex] = React15.useState(0);
2330
- React15.useEffect(() => {
1971
+ const [query, setQuery] = React12.useState("");
1972
+ const [activeIndex, setActiveIndex] = React12.useState(0);
1973
+ React12.useEffect(() => {
2331
1974
  if (!open) return;
2332
1975
  const handler = (e) => {
2333
1976
  if (e.key === "Escape") onClose?.();
@@ -2347,7 +1990,7 @@ var CommandPalette = React15.forwardRef(
2347
1990
  document.addEventListener("keydown", handler);
2348
1991
  return () => document.removeEventListener("keydown", handler);
2349
1992
  }, [open, onClose, results, activeIndex]);
2350
- React15.useEffect(() => {
1993
+ React12.useEffect(() => {
2351
1994
  setActiveIndex(0);
2352
1995
  }, [query]);
2353
1996
  if (!open) return null;
@@ -2360,15 +2003,15 @@ var CommandPalette = React15.forwardRef(
2360
2003
  },
2361
2004
  {}
2362
2005
  );
2363
- return /* @__PURE__ */ jsxs19(Fragment4, { children: [
2364
- /* @__PURE__ */ jsx28(
2006
+ return /* @__PURE__ */ jsxs16(Fragment2, { children: [
2007
+ /* @__PURE__ */ jsx23(
2365
2008
  "div",
2366
2009
  {
2367
2010
  className: "z-modal fixed inset-0 bg-foreground/60",
2368
2011
  onClick: onClose
2369
2012
  }
2370
2013
  ),
2371
- /* @__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(
2372
2015
  "div",
2373
2016
  {
2374
2017
  ref,
@@ -2379,9 +2022,9 @@ var CommandPalette = React15.forwardRef(
2379
2022
  ),
2380
2023
  ...props,
2381
2024
  children: [
2382
- /* @__PURE__ */ jsxs19("div", { className: "flex items-center border-b border-border px-4", children: [
2383
- /* @__PURE__ */ jsx28("span", { className: "mr-2 text-muted-foreground", children: "\u2318" }),
2384
- /* @__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(
2385
2028
  "input",
2386
2029
  {
2387
2030
  type: "text",
@@ -2395,13 +2038,13 @@ var CommandPalette = React15.forwardRef(
2395
2038
  autoFocus: true
2396
2039
  }
2397
2040
  ),
2398
- /* @__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" })
2399
2042
  ] }),
2400
- /* @__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: [
2401
- /* @__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 }),
2402
2045
  items.map((item) => {
2403
2046
  const idx = results.indexOf(item);
2404
- return /* @__PURE__ */ jsxs19(
2047
+ return /* @__PURE__ */ jsxs16(
2405
2048
  "button",
2406
2049
  {
2407
2050
  type: "button",
@@ -2415,9 +2058,9 @@ var CommandPalette = React15.forwardRef(
2415
2058
  },
2416
2059
  onMouseEnter: () => setActiveIndex(idx),
2417
2060
  children: [
2418
- item.icon && /* @__PURE__ */ jsx28("span", { className: "flex-shrink-0 text-muted-foreground", children: item.icon }),
2419
- /* @__PURE__ */ jsx28("span", { className: "flex-1", children: item.label }),
2420
- 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 })
2421
2064
  ]
2422
2065
  },
2423
2066
  item.id
@@ -2433,9 +2076,9 @@ var CommandPalette = React15.forwardRef(
2433
2076
  CommandPalette.displayName = "CommandPalette";
2434
2077
 
2435
2078
  // src/app-shell.tsx
2436
- import * as React16 from "react";
2437
- import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
2438
- 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(
2439
2082
  ({
2440
2083
  className,
2441
2084
  variant = "stacked",
@@ -2450,7 +2093,7 @@ var AppShell = React16.forwardRef(
2450
2093
  ...props
2451
2094
  }, ref) => {
2452
2095
  if (variant === "stacked") {
2453
- return /* @__PURE__ */ jsxs20(
2096
+ return /* @__PURE__ */ jsxs17(
2454
2097
  "div",
2455
2098
  {
2456
2099
  ref,
@@ -2458,13 +2101,13 @@ var AppShell = React16.forwardRef(
2458
2101
  ...props,
2459
2102
  children: [
2460
2103
  header,
2461
- /* @__PURE__ */ jsx29("main", { className: "flex-1", children })
2104
+ /* @__PURE__ */ jsx24("main", { className: "flex-1", children })
2462
2105
  ]
2463
2106
  }
2464
2107
  );
2465
2108
  }
2466
2109
  if (variant === "multi-column") {
2467
- return /* @__PURE__ */ jsxs20(
2110
+ return /* @__PURE__ */ jsxs17(
2468
2111
  "div",
2469
2112
  {
2470
2113
  ref,
@@ -2474,7 +2117,7 @@ var AppShell = React16.forwardRef(
2474
2117
  ),
2475
2118
  ...props,
2476
2119
  children: [
2477
- sidebar && /* @__PURE__ */ jsx29(
2120
+ sidebar && /* @__PURE__ */ jsx24(
2478
2121
  "aside",
2479
2122
  {
2480
2123
  className: cn(
@@ -2484,11 +2127,11 @@ var AppShell = React16.forwardRef(
2484
2127
  children: sidebar
2485
2128
  }
2486
2129
  ),
2487
- /* @__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: [
2488
2131
  header,
2489
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-1 flex-col lg:flex-row", children: [
2490
- /* @__PURE__ */ jsx29("main", { className: "min-w-0 flex-1 overflow-y-auto", children }),
2491
- 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 })
2492
2135
  ] })
2493
2136
  ] })
2494
2137
  ]
@@ -2496,7 +2139,7 @@ var AppShell = React16.forwardRef(
2496
2139
  );
2497
2140
  }
2498
2141
  const left = sidebarPosition === "left";
2499
- const column = sidebar && /* @__PURE__ */ jsx29(
2142
+ const column = sidebar && /* @__PURE__ */ jsx24(
2500
2143
  "aside",
2501
2144
  {
2502
2145
  className: cn(
@@ -2507,7 +2150,7 @@ var AppShell = React16.forwardRef(
2507
2150
  children: sidebar
2508
2151
  }
2509
2152
  );
2510
- return /* @__PURE__ */ jsxs20(
2153
+ return /* @__PURE__ */ jsxs17(
2511
2154
  "div",
2512
2155
  {
2513
2156
  ref,
@@ -2515,19 +2158,20 @@ var AppShell = React16.forwardRef(
2515
2158
  ...props,
2516
2159
  children: [
2517
2160
  left && column,
2518
- /* @__PURE__ */ jsxs20("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2519
- sidebar && /* @__PURE__ */ jsx29(
2161
+ /* @__PURE__ */ jsxs17("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2162
+ sidebar && /* @__PURE__ */ jsx24(
2520
2163
  "div",
2521
2164
  {
2522
2165
  className: cn(
2523
2166
  "flex items-center border-b border-border bg-card px-2 py-2 md:hidden",
2524
2167
  !left && "justify-end"
2525
2168
  ),
2526
- children: /* @__PURE__ */ jsx29(
2169
+ children: /* @__PURE__ */ jsx24(
2527
2170
  NavDrawer,
2528
2171
  {
2529
2172
  label: navLabel,
2530
2173
  side: left ? "left" : "right",
2174
+ closedFrom: "md",
2531
2175
  defaultOpen: defaultNavOpen,
2532
2176
  children: sidebar
2533
2177
  }
@@ -2535,7 +2179,7 @@ var AppShell = React16.forwardRef(
2535
2179
  }
2536
2180
  ),
2537
2181
  header,
2538
- /* @__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 })
2539
2183
  ] }),
2540
2184
  !left && column
2541
2185
  ]
@@ -2546,8 +2190,8 @@ var AppShell = React16.forwardRef(
2546
2190
  AppShell.displayName = "AppShell";
2547
2191
 
2548
2192
  // src/popover.tsx
2549
- import * as React17 from "react";
2550
- 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";
2551
2195
  var SIDE_CLASSES = {
2552
2196
  top: "bottom-full mb-2",
2553
2197
  bottom: "top-full mt-2",
@@ -2559,7 +2203,7 @@ var ALIGN_CLASSES = {
2559
2203
  center: "left-1/2 -translate-x-1/2",
2560
2204
  end: "right-0"
2561
2205
  };
2562
- var Popover = React17.forwardRef(
2206
+ var Popover = React14.forwardRef(
2563
2207
  ({
2564
2208
  className,
2565
2209
  open,
@@ -2570,10 +2214,10 @@ var Popover = React17.forwardRef(
2570
2214
  children,
2571
2215
  ...props
2572
2216
  }, ref) => {
2573
- const [internalOpen, setInternalOpen] = React17.useState(false);
2217
+ const [internalOpen, setInternalOpen] = React14.useState(false);
2574
2218
  const isOpen = open ?? internalOpen;
2575
2219
  const setOpen = onOpenChange ?? setInternalOpen;
2576
- React17.useEffect(() => {
2220
+ React14.useEffect(() => {
2577
2221
  if (!isOpen) return;
2578
2222
  const handler = (e) => {
2579
2223
  if (e.key === "Escape") setOpen(false);
@@ -2581,23 +2225,23 @@ var Popover = React17.forwardRef(
2581
2225
  document.addEventListener("keydown", handler);
2582
2226
  return () => document.removeEventListener("keydown", handler);
2583
2227
  }, [isOpen, setOpen]);
2584
- return /* @__PURE__ */ jsxs21(
2228
+ return /* @__PURE__ */ jsxs18(
2585
2229
  "div",
2586
2230
  {
2587
2231
  ref,
2588
2232
  className: cn("relative inline-block", className),
2589
2233
  ...props,
2590
2234
  children: [
2591
- /* @__PURE__ */ jsx30("div", { onClick: () => setOpen(!isOpen), children: trigger }),
2592
- isOpen && /* @__PURE__ */ jsxs21(Fragment5, { children: [
2593
- /* @__PURE__ */ jsx30(
2235
+ /* @__PURE__ */ jsx25("div", { onClick: () => setOpen(!isOpen), children: trigger }),
2236
+ isOpen && /* @__PURE__ */ jsxs18(Fragment3, { children: [
2237
+ /* @__PURE__ */ jsx25(
2594
2238
  "div",
2595
2239
  {
2596
2240
  className: "z-popover fixed inset-0",
2597
2241
  onClick: () => setOpen(false)
2598
2242
  }
2599
2243
  ),
2600
- /* @__PURE__ */ jsx30(
2244
+ /* @__PURE__ */ jsx25(
2601
2245
  "div",
2602
2246
  {
2603
2247
  className: cn(
@@ -2615,7 +2259,7 @@ var Popover = React17.forwardRef(
2615
2259
  }
2616
2260
  );
2617
2261
  Popover.displayName = "Popover";
2618
- var HoverCard = React17.forwardRef(
2262
+ var HoverCard = React14.forwardRef(
2619
2263
  ({
2620
2264
  className,
2621
2265
  trigger,
@@ -2625,8 +2269,8 @@ var HoverCard = React17.forwardRef(
2625
2269
  children,
2626
2270
  ...props
2627
2271
  }, ref) => {
2628
- const [open, setOpen] = React17.useState(false);
2629
- const timeoutRef = React17.useRef();
2272
+ const [open, setOpen] = React14.useState(false);
2273
+ const timeoutRef = React14.useRef();
2630
2274
  const handleEnter = () => {
2631
2275
  clearTimeout(timeoutRef.current);
2632
2276
  timeoutRef.current = setTimeout(() => setOpen(true), delay);
@@ -2635,10 +2279,10 @@ var HoverCard = React17.forwardRef(
2635
2279
  clearTimeout(timeoutRef.current);
2636
2280
  timeoutRef.current = setTimeout(() => setOpen(false), 150);
2637
2281
  };
2638
- React17.useEffect(() => {
2282
+ React14.useEffect(() => {
2639
2283
  return () => clearTimeout(timeoutRef.current);
2640
2284
  }, []);
2641
- return /* @__PURE__ */ jsxs21(
2285
+ return /* @__PURE__ */ jsxs18(
2642
2286
  "div",
2643
2287
  {
2644
2288
  ref,
@@ -2648,7 +2292,7 @@ var HoverCard = React17.forwardRef(
2648
2292
  ...props,
2649
2293
  children: [
2650
2294
  trigger,
2651
- open && /* @__PURE__ */ jsx30(
2295
+ open && /* @__PURE__ */ jsx25(
2652
2296
  "div",
2653
2297
  {
2654
2298
  className: cn(
@@ -2669,8 +2313,8 @@ var HoverCard = React17.forwardRef(
2669
2313
  HoverCard.displayName = "HoverCard";
2670
2314
 
2671
2315
  // src/calendar.tsx
2672
- import * as React18 from "react";
2673
- 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";
2674
2318
  function getDaysInMonth(year, month) {
2675
2319
  return new Date(year, month + 1, 0).getDate();
2676
2320
  }
@@ -2708,7 +2352,7 @@ var SIZE_CONFIG = {
2708
2352
  dot: "h-1.5 w-1.5"
2709
2353
  }
2710
2354
  };
2711
- var Calendar2 = React18.forwardRef(
2355
+ var Calendar = React15.forwardRef(
2712
2356
  ({
2713
2357
  className,
2714
2358
  value,
@@ -2724,16 +2368,16 @@ var Calendar2 = React18.forwardRef(
2724
2368
  size = "md",
2725
2369
  ...props
2726
2370
  }, ref) => {
2727
- const today = React18.useMemo(() => {
2371
+ const today = React15.useMemo(() => {
2728
2372
  if (todayProp) return todayProp;
2729
2373
  const now = Date.now();
2730
2374
  const d = new Date(now);
2731
2375
  return new Date(d.getFullYear(), d.getMonth(), d.getDate());
2732
2376
  }, [todayProp]);
2733
2377
  const initialDate = value ?? rangeStart ?? today;
2734
- const [viewYear, setViewYear] = React18.useState(initialDate.getFullYear());
2735
- const [viewMonth, setViewMonth] = React18.useState(initialDate.getMonth());
2736
- 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);
2737
2381
  const daysInMonth = getDaysInMonth(viewYear, viewMonth);
2738
2382
  const startDay = getStartDayOfWeek(viewYear, viewMonth);
2739
2383
  const config = SIZE_CONFIG[size];
@@ -2867,7 +2511,7 @@ var Calendar2 = React18.forwardRef(
2867
2511
  const cells = [];
2868
2512
  for (let i = 0; i < startDay; i++) cells.push(null);
2869
2513
  for (let d = 1; d <= daysInMonth; d++) cells.push(d);
2870
- return /* @__PURE__ */ jsxs22(
2514
+ return /* @__PURE__ */ jsxs19(
2871
2515
  "div",
2872
2516
  {
2873
2517
  ref,
@@ -2882,8 +2526,8 @@ var Calendar2 = React18.forwardRef(
2882
2526
  ),
2883
2527
  ...props,
2884
2528
  children: [
2885
- /* @__PURE__ */ jsxs22("div", { className: "mb-2 flex items-center justify-between", children: [
2886
- /* @__PURE__ */ jsx31(
2529
+ /* @__PURE__ */ jsxs19("div", { className: "mb-2 flex items-center justify-between", children: [
2530
+ /* @__PURE__ */ jsx26(
2887
2531
  "button",
2888
2532
  {
2889
2533
  type: "button",
@@ -2894,7 +2538,7 @@ var Calendar2 = React18.forwardRef(
2894
2538
  children: "\u2039"
2895
2539
  }
2896
2540
  ),
2897
- /* @__PURE__ */ jsx31(
2541
+ /* @__PURE__ */ jsx26(
2898
2542
  "span",
2899
2543
  {
2900
2544
  className: "text-sm font-medium text-foreground",
@@ -2902,7 +2546,7 @@ var Calendar2 = React18.forwardRef(
2902
2546
  children: formatMonth(viewYear, viewMonth)
2903
2547
  }
2904
2548
  ),
2905
- /* @__PURE__ */ jsx31(
2549
+ /* @__PURE__ */ jsx26(
2906
2550
  "button",
2907
2551
  {
2908
2552
  type: "button",
@@ -2914,7 +2558,7 @@ var Calendar2 = React18.forwardRef(
2914
2558
  }
2915
2559
  )
2916
2560
  ] }),
2917
- /* @__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(
2918
2562
  "div",
2919
2563
  {
2920
2564
  role: "columnheader",
@@ -2926,9 +2570,9 @@ var Calendar2 = React18.forwardRef(
2926
2570
  },
2927
2571
  day
2928
2572
  )) }),
2929
- /* @__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) => {
2930
2574
  if (day === null) {
2931
- return /* @__PURE__ */ jsx31("div", { className: config.cell }, `empty-${i}`);
2575
+ return /* @__PURE__ */ jsx26("div", { className: config.cell }, `empty-${i}`);
2932
2576
  }
2933
2577
  const date = new Date(viewYear, viewMonth, day);
2934
2578
  const disabled = isDisabled(day);
@@ -2951,7 +2595,7 @@ var Calendar2 = React18.forwardRef(
2951
2595
  }
2952
2596
  const isToday = isSameDay(date, today);
2953
2597
  const eventDot = hasEvent(day);
2954
- return /* @__PURE__ */ jsxs22(
2598
+ return /* @__PURE__ */ jsxs19(
2955
2599
  "button",
2956
2600
  {
2957
2601
  type: "button",
@@ -2970,7 +2614,7 @@ var Calendar2 = React18.forwardRef(
2970
2614
  ),
2971
2615
  children: [
2972
2616
  day,
2973
- eventDot && /* @__PURE__ */ jsx31(
2617
+ eventDot && /* @__PURE__ */ jsx26(
2974
2618
  "span",
2975
2619
  {
2976
2620
  className: cn(
@@ -2989,8 +2633,8 @@ var Calendar2 = React18.forwardRef(
2989
2633
  );
2990
2634
  }
2991
2635
  );
2992
- Calendar2.displayName = "Calendar";
2993
- var DatePicker = React18.forwardRef(
2636
+ Calendar.displayName = "Calendar";
2637
+ var DatePicker = React15.forwardRef(
2994
2638
  ({
2995
2639
  className,
2996
2640
  variant = "single",
@@ -3009,7 +2653,7 @@ var DatePicker = React18.forwardRef(
3009
2653
  disabled,
3010
2654
  ...props
3011
2655
  }, ref) => {
3012
- const [internalOpen, setInternalOpen] = React18.useState(false);
2656
+ const [internalOpen, setInternalOpen] = React15.useState(false);
3013
2657
  const isOpen = controlledOpen ?? internalOpen;
3014
2658
  const setOpen = onOpenChange ?? setInternalOpen;
3015
2659
  const defaultPlaceholder = variant === "range" ? "Pick a date range" : "Pick a date";
@@ -3033,7 +2677,7 @@ var DatePicker = React18.forwardRef(
3033
2677
  } else if (variant === "range" && rangeStart) {
3034
2678
  displayText = rangeEnd ? `${formatDateForInput(rangeStart)} \u2013 ${formatDateForInput(rangeEnd)}` : formatDateForInput(rangeStart);
3035
2679
  }
3036
- return /* @__PURE__ */ jsxs22(
2680
+ return /* @__PURE__ */ jsxs19(
3037
2681
  "div",
3038
2682
  {
3039
2683
  ref,
@@ -3041,7 +2685,7 @@ var DatePicker = React18.forwardRef(
3041
2685
  onKeyDown: handleKeyDown,
3042
2686
  ...props,
3043
2687
  children: [
3044
- /* @__PURE__ */ jsxs22(
2688
+ /* @__PURE__ */ jsxs19(
3045
2689
  "button",
3046
2690
  {
3047
2691
  type: "button",
@@ -3054,22 +2698,22 @@ var DatePicker = React18.forwardRef(
3054
2698
  displayText ? "text-foreground" : "text-muted-foreground"
3055
2699
  ),
3056
2700
  children: [
3057
- /* @__PURE__ */ jsx31("span", { className: "text-muted-foreground", "aria-hidden": "true", children: "\u{1F4C5}" }),
3058
- /* @__PURE__ */ jsx31("span", { className: "flex-1 text-left", children: displayText ?? placeholder ?? defaultPlaceholder }),
3059
- /* @__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" })
3060
2704
  ]
3061
2705
  }
3062
2706
  ),
3063
- isOpen && /* @__PURE__ */ jsxs22(Fragment6, { children: [
3064
- /* @__PURE__ */ jsx31(
2707
+ isOpen && /* @__PURE__ */ jsxs19(Fragment4, { children: [
2708
+ /* @__PURE__ */ jsx26(
3065
2709
  "div",
3066
2710
  {
3067
2711
  className: "z-popover fixed inset-0",
3068
2712
  onClick: () => setOpen(false)
3069
2713
  }
3070
2714
  ),
3071
- /* @__PURE__ */ jsx31("div", { className: "z-popover absolute left-0 top-full mt-1", children: /* @__PURE__ */ jsx31(
3072
- Calendar2,
2715
+ /* @__PURE__ */ jsx26("div", { className: "z-popover absolute left-0 top-full mt-1", children: /* @__PURE__ */ jsx26(
2716
+ Calendar,
3073
2717
  {
3074
2718
  selectionMode: variant,
3075
2719
  value: variant === "single" ? value : void 0,
@@ -3092,9 +2736,9 @@ var DatePicker = React18.forwardRef(
3092
2736
  DatePicker.displayName = "DatePicker";
3093
2737
 
3094
2738
  // src/navbar.tsx
3095
- import * as React19 from "react";
3096
- import { jsx as jsx32, jsxs as jsxs23 } from "react/jsx-runtime";
3097
- 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(
3098
2742
  ({
3099
2743
  className,
3100
2744
  variant = "simple",
@@ -3105,46 +2749,117 @@ var Navbar = React19.forwardRef(
3105
2749
  secondaryNav,
3106
2750
  children,
3107
2751
  ...props
3108
- }, ref) => /* @__PURE__ */ jsxs23(
3109
- "header",
3110
- {
3111
- ref,
3112
- className: cn(
3113
- "border-b border-border",
3114
- transparent ? "bg-transparent" : "bg-card",
3115
- className
3116
- ),
3117
- ...props,
3118
- children: [
3119
- /* @__PURE__ */ jsxs23("div", { className: "mx-auto flex h-14 max-w-content-xl items-center gap-4 px-4 sm:px-6", children: [
3120
- logo && /* @__PURE__ */ jsx32("div", { className: "flex-shrink-0", children: logo }),
3121
- /* @__PURE__ */ jsxs23(
3122
- "nav",
2752
+ }, ref) => {
2753
+ const hasLinks = React16.Children.toArray(children).length > 0;
2754
+ const hasSearch = variant === "withSearch" && Boolean(search);
2755
+ const folds = Boolean(actions) && (hasLinks || hasSearch);
2756
+ const filled = hasSearch || variant === "centered" && hasLinks;
2757
+ return /* @__PURE__ */ jsxs20(
2758
+ "header",
2759
+ {
2760
+ ref,
2761
+ className: cn(
2762
+ "border-b",
2763
+ transparent ? "border-transparent bg-transparent" : "border-border bg-card",
2764
+ className
2765
+ ),
2766
+ ...props,
2767
+ children: [
2768
+ /* @__PURE__ */ jsxs20(
2769
+ "div",
3123
2770
  {
3124
2771
  className: cn(
3125
- // W0 (#5823): the links scroll on a narrow screen, never push
3126
- // the bar off the page
3127
- "flex min-w-0 items-center gap-4 overflow-x-auto",
3128
- variant === "centered" && "flex-1 [&>:first-child]:ml-auto [&>:nth-last-child(2)]:mr-auto"
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,
2774
+ // nothing here can scroll or fold: the actions take their own row
2775
+ !hasLinks && !folds && "flex-wrap md:flex-nowrap"
3129
2776
  ),
3130
2777
  children: [
3131
- children,
3132
- /* @__PURE__ */ jsx32(ScrollHintXMark, {})
2778
+ logo && /* @__PURE__ */ jsx27(
2779
+ "div",
2780
+ {
2781
+ className: cn(
2782
+ hasLinks && !folds ? "flex-shrink-0" : "min-w-0 md:flex-shrink-0"
2783
+ ),
2784
+ children: logo
2785
+ }
2786
+ ),
2787
+ hasLinks && /* @__PURE__ */ jsxs20(
2788
+ "nav",
2789
+ {
2790
+ className: cn(
2791
+ // W0 (#5823): the links scroll on a narrow screen, never push
2792
+ // the bar off the page
2793
+ folds ? "hidden md:flex" : "flex",
2794
+ "min-w-0 items-center gap-4 overflow-x-auto",
2795
+ variant === "centered" && "flex-1 [&>:first-child]:ml-auto [&>:nth-last-child(2)]:mr-auto"
2796
+ ),
2797
+ children: [
2798
+ children,
2799
+ /* @__PURE__ */ jsx27(ScrollHintXMark, {})
2800
+ ]
2801
+ }
2802
+ ),
2803
+ hasSearch && /* @__PURE__ */ jsx27(
2804
+ "div",
2805
+ {
2806
+ className: cn(
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",
2809
+ folds && "hidden md:block"
2810
+ ),
2811
+ children: search
2812
+ }
2813
+ ),
2814
+ !filled && hasLinks && /* @__PURE__ */ jsx27("div", { className: "flex-1" }),
2815
+ actions && /* @__PURE__ */ jsx27(
2816
+ "div",
2817
+ {
2818
+ className: cn(
2819
+ folds ? "hidden md:flex" : "flex",
2820
+ "ml-auto min-w-0 flex-wrap items-center justify-end gap-2 md:shrink-0 md:flex-nowrap"
2821
+ ),
2822
+ children: actions
2823
+ }
2824
+ ),
2825
+ folds && /* @__PURE__ */ jsx27(
2826
+ NavbarMenu,
2827
+ {
2828
+ search: hasSearch ? search : void 0,
2829
+ links: hasLinks ? children : void 0,
2830
+ actions
2831
+ }
2832
+ )
3133
2833
  ]
3134
2834
  }
3135
2835
  ),
3136
- variant === "withSearch" && search && /* @__PURE__ */ jsx32("div", { className: "min-w-0 flex-1 px-4", children: search }),
3137
- variant !== "centered" && variant !== "withSearch" && /* @__PURE__ */ jsx32("div", { className: "flex-1" }),
3138
- actions && /* @__PURE__ */ jsx32("div", { className: "flex shrink-0 items-center gap-2", children: actions })
3139
- ] }),
3140
- variant === "twoLevel" && secondaryNav && /* @__PURE__ */ jsx32("div", { className: "border-t border-border", children: /* @__PURE__ */ jsx32("div", { className: "mx-auto flex max-w-content-xl items-center gap-4 px-4 py-2 sm:px-6", children: secondaryNav }) })
3141
- ]
3142
- }
3143
- )
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
+ )
2855
+ ]
2856
+ }
2857
+ );
2858
+ }
3144
2859
  );
3145
2860
  Navbar.displayName = "Navbar";
3146
- var NavbarLink = React19.forwardRef(
3147
- ({ className, active, ...props }, ref) => /* @__PURE__ */ jsx32(
2861
+ var NavbarLink = React16.forwardRef(
2862
+ ({ className, active, ...props }, ref) => /* @__PURE__ */ jsx27(
3148
2863
  "a",
3149
2864
  {
3150
2865
  ref,
@@ -3160,25 +2875,10 @@ var NavbarLink = React19.forwardRef(
3160
2875
  NavbarLink.displayName = "NavbarLink";
3161
2876
 
3162
2877
  // src/card-variants.tsx
3163
- import * as React20 from "react";
3164
-
3165
- // src/empty-value.tsx
3166
- import { jsx as jsx33, jsxs as jsxs24 } from "react/jsx-runtime";
3167
- var EMPTY_VALUE_GLYPH = "\u2014";
3168
- function isEmptyValue(value) {
3169
- return value === null || value === void 0 || value === false || typeof value === "string" && value.trim() === "";
3170
- }
3171
- function EmptyValue({ className }) {
3172
- return /* @__PURE__ */ jsxs24("span", { "data-empty-value": true, className: cn("text-muted-foreground", className), children: [
3173
- /* @__PURE__ */ jsx33("span", { "aria-hidden": "true", children: EMPTY_VALUE_GLYPH }),
3174
- /* @__PURE__ */ jsx33("span", { className: "sr-only", children: "Not set" })
3175
- ] });
3176
- }
3177
-
3178
- // src/card-variants.tsx
3179
- import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
3180
- var HorizontalCard = React20.forwardRef(
3181
- ({ className, media, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs25(
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(
3182
2882
  "div",
3183
2883
  {
3184
2884
  ref,
@@ -3189,15 +2889,15 @@ var HorizontalCard = React20.forwardRef(
3189
2889
  ),
3190
2890
  ...props,
3191
2891
  children: [
3192
- media && /* @__PURE__ */ jsx34("div", { className: "flex-shrink-0", children: media }),
3193
- /* @__PURE__ */ jsx34("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 })
3194
2894
  ]
3195
2895
  }
3196
2896
  )
3197
2897
  );
3198
2898
  HorizontalCard.displayName = "HorizontalCard";
3199
- var ImageCard = React20.forwardRef(
3200
- ({ className, imageSrc, imageAlt, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs25(
2899
+ var ImageCard = React17.forwardRef(
2900
+ ({ className, imageSrc, imageAlt, hoverable, children, ...props }, ref) => /* @__PURE__ */ jsxs21(
3201
2901
  "div",
3202
2902
  {
3203
2903
  ref,
@@ -3208,7 +2908,7 @@ var ImageCard = React20.forwardRef(
3208
2908
  ),
3209
2909
  ...props,
3210
2910
  children: [
3211
- imageSrc && /* @__PURE__ */ jsx34("div", { className: "aspect-video w-full bg-muted", children: /* @__PURE__ */ jsx34(
2911
+ imageSrc && /* @__PURE__ */ jsx28("div", { className: "aspect-video w-full bg-muted", children: /* @__PURE__ */ jsx28(
3212
2912
  "img",
3213
2913
  {
3214
2914
  src: imageSrc,
@@ -3216,13 +2916,13 @@ var ImageCard = React20.forwardRef(
3216
2916
  className: "h-full w-full object-cover"
3217
2917
  }
3218
2918
  ) }),
3219
- /* @__PURE__ */ jsx34("div", { className: "p-4", children })
2919
+ /* @__PURE__ */ jsx28("div", { className: "p-4", children })
3220
2920
  ]
3221
2921
  }
3222
2922
  )
3223
2923
  );
3224
2924
  ImageCard.displayName = "ImageCard";
3225
- var StatCardExtended = React20.forwardRef(({ className, label, value, trend, icon, ...props }, ref) => /* @__PURE__ */ jsxs25(
2925
+ var StatCardExtended = React17.forwardRef(({ className, label, value, trend, icon, ...props }, ref) => /* @__PURE__ */ jsxs21(
3226
2926
  "div",
3227
2927
  {
3228
2928
  ref,
@@ -3232,12 +2932,12 @@ var StatCardExtended = React20.forwardRef(({ className, label, value, trend, ico
3232
2932
  ),
3233
2933
  ...props,
3234
2934
  children: [
3235
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center justify-between", children: [
3236
- /* @__PURE__ */ jsx34("span", { className: "text-sm text-muted-foreground", children: label }),
3237
- icon && /* @__PURE__ */ jsx34("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 })
3238
2938
  ] }),
3239
- /* @__PURE__ */ jsx34("p", { className: "mt-2 text-3xl font-bold text-foreground", children: isEmptyValue(value) ? /* @__PURE__ */ jsx34(EmptyValue, {}) : value }),
3240
- trend && /* @__PURE__ */ jsxs25(
2939
+ /* @__PURE__ */ jsx28("p", { className: "mt-2 text-3xl font-bold text-foreground", children: isEmptyValue(value) ? /* @__PURE__ */ jsx28(EmptyValue, {}) : value }),
2940
+ trend && /* @__PURE__ */ jsxs21(
3241
2941
  "p",
3242
2942
  {
3243
2943
  className: cn(
@@ -3257,8 +2957,8 @@ var StatCardExtended = React20.forwardRef(({ className, label, value, trend, ico
3257
2957
  }
3258
2958
  ));
3259
2959
  StatCardExtended.displayName = "StatCardExtended";
3260
- var ActionCard = React20.forwardRef(
3261
- ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs25(
2960
+ var ActionCard = React17.forwardRef(
2961
+ ({ className, title, description, actions, children, ...props }, ref) => /* @__PURE__ */ jsxs21(
3262
2962
  "div",
3263
2963
  {
3264
2964
  ref,
@@ -3268,12 +2968,12 @@ var ActionCard = React20.forwardRef(
3268
2968
  ),
3269
2969
  ...props,
3270
2970
  children: [
3271
- /* @__PURE__ */ jsxs25("div", { className: "p-6", children: [
3272
- /* @__PURE__ */ jsx34("h3", { className: "font-semibold text-foreground", children: title }),
3273
- description && /* @__PURE__ */ jsx34("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 }),
3274
2974
  children
3275
2975
  ] }),
3276
- actions && /* @__PURE__ */ jsx34("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 })
3277
2977
  ]
3278
2978
  }
3279
2979
  )
@@ -3281,9 +2981,8 @@ var ActionCard = React20.forwardRef(
3281
2981
  ActionCard.displayName = "ActionCard";
3282
2982
 
3283
2983
  // src/modal-dialog.tsx
3284
- import * as React21 from "react";
3285
- import { createPortal } from "react-dom";
3286
- import { Fragment as Fragment7, jsx as jsx35, jsxs as jsxs26 } 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";
3287
2986
  var SIZE_CLASSES2 = {
3288
2987
  sm: "max-w-sm",
3289
2988
  md: "max-w-md",
@@ -3291,20 +2990,14 @@ var SIZE_CLASSES2 = {
3291
2990
  xl: "max-w-xl",
3292
2991
  fullscreen: "max-w-full mx-4 my-4 h-[calc(100vh-2rem)]"
3293
2992
  };
3294
- var ModalDialog = React21.forwardRef(
2993
+ var ModalDialog = React18.forwardRef(
3295
2994
  ({ className, open, onClose, size = "md", children, ...props }, ref) => {
3296
- React21.useEffect(() => {
3297
- if (!open) return;
3298
- const handler = (e) => {
3299
- if (e.key === "Escape") onClose?.();
3300
- };
3301
- document.addEventListener("keydown", handler);
3302
- return () => document.removeEventListener("keydown", handler);
3303
- }, [open, onClose]);
2995
+ const [panel, setPanel] = usePanelRef(ref);
2996
+ const place = useModalSurface(Boolean(open), panel, onClose);
3304
2997
  if (!open) return null;
3305
- return createPortal(
3306
- /* @__PURE__ */ jsxs26(Fragment7, { children: [
3307
- /* @__PURE__ */ jsx35(
2998
+ return place(
2999
+ /* @__PURE__ */ jsxs22(Fragment5, { children: [
3000
+ /* @__PURE__ */ jsx29(
3308
3001
  "div",
3309
3002
  {
3310
3003
  className: "z-overlay fixed inset-0 bg-foreground/60 transition-opacity",
@@ -3312,10 +3005,10 @@ var ModalDialog = React21.forwardRef(
3312
3005
  "aria-hidden": "true"
3313
3006
  }
3314
3007
  ),
3315
- /* @__PURE__ */ jsx35("div", { className: "z-modal fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ jsx35(
3008
+ /* @__PURE__ */ jsx29("div", { className: "z-modal fixed inset-0 flex items-center justify-center p-4", children: /* @__PURE__ */ jsx29(
3316
3009
  "div",
3317
3010
  {
3318
- ref,
3011
+ ref: setPanel,
3319
3012
  role: "dialog",
3320
3013
  "aria-modal": "true",
3321
3014
  className: cn(
@@ -3328,13 +3021,12 @@ var ModalDialog = React21.forwardRef(
3328
3021
  children
3329
3022
  }
3330
3023
  ) })
3331
- ] }),
3332
- document.body
3024
+ ] })
3333
3025
  );
3334
3026
  }
3335
3027
  );
3336
3028
  ModalDialog.displayName = "ModalDialog";
3337
- var ModalHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3029
+ var ModalHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
3338
3030
  "div",
3339
3031
  {
3340
3032
  ref,
@@ -3343,9 +3035,9 @@ var ModalHeader = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
3343
3035
  }
3344
3036
  ));
3345
3037
  ModalHeader.displayName = "ModalHeader";
3346
- var ModalBody = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35("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 }));
3347
3039
  ModalBody.displayName = "ModalBody";
3348
- var ModalFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3040
+ var ModalFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
3349
3041
  "div",
3350
3042
  {
3351
3043
  ref,
@@ -3359,9 +3051,8 @@ var ModalFooter = React21.forwardRef(({ className, ...props }, ref) => /* @__PUR
3359
3051
  ModalFooter.displayName = "ModalFooter";
3360
3052
 
3361
3053
  // src/drawer.tsx
3362
- import * as React22 from "react";
3363
- import { createPortal as createPortal2 } from "react-dom";
3364
- import { Fragment as Fragment8, jsx as jsx36, jsxs as jsxs27 } 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";
3365
3056
  var SIZE_CLASSES3 = {
3366
3057
  left: { sm: "w-64", md: "w-80", lg: "w-96" },
3367
3058
  right: { sm: "w-64", md: "w-80", lg: "w-96" },
@@ -3372,7 +3063,7 @@ var POSITION_CLASSES = {
3372
3063
  right: "inset-y-0 right-0",
3373
3064
  bottom: "inset-x-0 bottom-0"
3374
3065
  };
3375
- var Drawer = React22.forwardRef(
3066
+ var Drawer = React19.forwardRef(
3376
3067
  ({
3377
3068
  className,
3378
3069
  open,
@@ -3382,18 +3073,12 @@ var Drawer = React22.forwardRef(
3382
3073
  children,
3383
3074
  ...props
3384
3075
  }, ref) => {
3385
- React22.useEffect(() => {
3386
- if (!open) return;
3387
- const handler = (e) => {
3388
- if (e.key === "Escape") onClose?.();
3389
- };
3390
- document.addEventListener("keydown", handler);
3391
- return () => document.removeEventListener("keydown", handler);
3392
- }, [open, onClose]);
3076
+ const [panel, setPanel] = usePanelRef(ref);
3077
+ const place = useModalSurface(Boolean(open), panel, onClose);
3393
3078
  if (!open) return null;
3394
- return createPortal2(
3395
- /* @__PURE__ */ jsxs27(Fragment8, { children: [
3396
- /* @__PURE__ */ jsx36(
3079
+ return place(
3080
+ /* @__PURE__ */ jsxs23(Fragment6, { children: [
3081
+ /* @__PURE__ */ jsx30(
3397
3082
  "div",
3398
3083
  {
3399
3084
  className: "z-overlay fixed inset-0 bg-foreground/60 transition-opacity",
@@ -3401,10 +3086,10 @@ var Drawer = React22.forwardRef(
3401
3086
  "aria-hidden": "true"
3402
3087
  }
3403
3088
  ),
3404
- /* @__PURE__ */ jsx36(
3089
+ /* @__PURE__ */ jsx30(
3405
3090
  "div",
3406
3091
  {
3407
- ref,
3092
+ ref: setPanel,
3408
3093
  role: "dialog",
3409
3094
  "aria-modal": "true",
3410
3095
  className: cn(
@@ -3420,13 +3105,12 @@ var Drawer = React22.forwardRef(
3420
3105
  children
3421
3106
  }
3422
3107
  )
3423
- ] }),
3424
- document.body
3108
+ ] })
3425
3109
  );
3426
3110
  }
3427
3111
  );
3428
3112
  Drawer.displayName = "Drawer";
3429
- var DrawerHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3113
+ var DrawerHeader = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3430
3114
  "div",
3431
3115
  {
3432
3116
  ref,
@@ -3435,7 +3119,7 @@ var DrawerHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PU
3435
3119
  }
3436
3120
  ));
3437
3121
  DrawerHeader.displayName = "DrawerHeader";
3438
- var DrawerBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3122
+ var DrawerBody = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3439
3123
  "div",
3440
3124
  {
3441
3125
  ref,
@@ -3444,7 +3128,7 @@ var DrawerBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE
3444
3128
  }
3445
3129
  ));
3446
3130
  DrawerBody.displayName = "DrawerBody";
3447
- var DrawerFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3131
+ var DrawerFooter = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
3448
3132
  "div",
3449
3133
  {
3450
3134
  ref,
@@ -3458,10 +3142,10 @@ var DrawerFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PU
3458
3142
  DrawerFooter.displayName = "DrawerFooter";
3459
3143
 
3460
3144
  // src/form-layout.tsx
3461
- import * as React23 from "react";
3462
- import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
3463
- var FormLayout = React23.forwardRef(
3464
- ({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx37(
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(
3465
3149
  "form",
3466
3150
  {
3467
3151
  ref,
@@ -3476,27 +3160,27 @@ var FormLayout = React23.forwardRef(
3476
3160
  )
3477
3161
  );
3478
3162
  FormLayout.displayName = "FormLayout";
3479
- var FormLayoutSection = React23.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs28(
3163
+ var FormLayoutSection = React20.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs24(
3480
3164
  "div",
3481
3165
  {
3482
3166
  ref,
3483
3167
  className: cn("border-b border-border pb-6", className),
3484
3168
  ...props,
3485
3169
  children: [
3486
- (title || description) && /* @__PURE__ */ jsxs28("div", { className: "mb-4", children: [
3487
- title && /* @__PURE__ */ jsx37("h3", { className: "text-base font-semibold text-foreground", children: title }),
3488
- description && /* @__PURE__ */ jsx37("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 })
3489
3173
  ] }),
3490
- /* @__PURE__ */ jsx37("div", { className: "space-y-4", children })
3174
+ /* @__PURE__ */ jsx31("div", { className: "space-y-4", children })
3491
3175
  ]
3492
3176
  }
3493
3177
  ));
3494
3178
  FormLayoutSection.displayName = "FormLayoutSection";
3495
3179
 
3496
3180
  // src/input-group.tsx
3497
- import * as React24 from "react";
3498
- import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
3499
- 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(
3500
3184
  ({
3501
3185
  className,
3502
3186
  addon = "prefix",
@@ -3504,15 +3188,15 @@ var InputGroup = React24.forwardRef(
3504
3188
  suffixContent,
3505
3189
  children,
3506
3190
  ...props
3507
- }, ref) => /* @__PURE__ */ jsxs29(
3191
+ }, ref) => /* @__PURE__ */ jsxs25(
3508
3192
  "div",
3509
3193
  {
3510
3194
  ref,
3511
3195
  className: cn("flex rounded-md shadow-sm", className),
3512
3196
  ...props,
3513
3197
  children: [
3514
- (addon === "prefix" || addon === "both") && addonContent && /* @__PURE__ */ jsx38("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 }),
3515
- /* @__PURE__ */ jsx38(
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(
3516
3200
  "div",
3517
3201
  {
3518
3202
  className: cn(
@@ -3522,7 +3206,7 @@ var InputGroup = React24.forwardRef(
3522
3206
  children
3523
3207
  }
3524
3208
  ),
3525
- (addon === "suffix" || addon === "both") && (suffixContent || addonContent) && /* @__PURE__ */ jsx38("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 })
3526
3210
  ]
3527
3211
  }
3528
3212
  )
@@ -3530,9 +3214,9 @@ var InputGroup = React24.forwardRef(
3530
3214
  InputGroup.displayName = "InputGroup";
3531
3215
 
3532
3216
  // src/radio-group.tsx
3533
- import * as React25 from "react";
3534
- import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
3535
- 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(
3536
3220
  ({
3537
3221
  className,
3538
3222
  options,
@@ -3542,9 +3226,9 @@ var RadioGroup = React25.forwardRef(
3542
3226
  name,
3543
3227
  label,
3544
3228
  ...props
3545
- }, ref) => /* @__PURE__ */ jsxs30("fieldset", { ref, className: cn("space-y-2", className), ...props, children: [
3546
- label && /* @__PURE__ */ jsx39("legend", { className: "mb-2 text-sm font-medium text-foreground", children: label }),
3547
- /* @__PURE__ */ jsx39(
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(
3548
3232
  "div",
3549
3233
  {
3550
3234
  className: cn(
@@ -3555,7 +3239,7 @@ var RadioGroup = React25.forwardRef(
3555
3239
  children: options.map((option) => {
3556
3240
  const isSelected = value === option.value;
3557
3241
  if (variant === "card") {
3558
- return /* @__PURE__ */ jsxs30(
3242
+ return /* @__PURE__ */ jsxs26(
3559
3243
  "label",
3560
3244
  {
3561
3245
  className: cn(
@@ -3563,7 +3247,7 @@ var RadioGroup = React25.forwardRef(
3563
3247
  isSelected ? "border-primary bg-primary/5" : "border-border bg-card hover:bg-muted/50"
3564
3248
  ),
3565
3249
  children: [
3566
- /* @__PURE__ */ jsx39(
3250
+ /* @__PURE__ */ jsx33(
3567
3251
  "input",
3568
3252
  {
3569
3253
  type: "radio",
@@ -3574,16 +3258,16 @@ var RadioGroup = React25.forwardRef(
3574
3258
  className: "mt-0.5 h-4 w-4 accent-primary"
3575
3259
  }
3576
3260
  ),
3577
- /* @__PURE__ */ jsxs30("div", { children: [
3578
- /* @__PURE__ */ jsx39("span", { className: "text-sm font-medium text-foreground", children: option.label }),
3579
- option.description && /* @__PURE__ */ jsx39("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 })
3580
3264
  ] })
3581
3265
  ]
3582
3266
  },
3583
3267
  option.value
3584
3268
  );
3585
3269
  }
3586
- return /* @__PURE__ */ jsxs30(
3270
+ return /* @__PURE__ */ jsxs26(
3587
3271
  "label",
3588
3272
  {
3589
3273
  className: cn(
@@ -3592,7 +3276,7 @@ var RadioGroup = React25.forwardRef(
3592
3276
  variant === "stacked" && isSelected && "border-primary bg-primary/5"
3593
3277
  ),
3594
3278
  children: [
3595
- /* @__PURE__ */ jsx39(
3279
+ /* @__PURE__ */ jsx33(
3596
3280
  "input",
3597
3281
  {
3598
3282
  type: "radio",
@@ -3603,8 +3287,8 @@ var RadioGroup = React25.forwardRef(
3603
3287
  className: "h-4 w-4 accent-primary"
3604
3288
  }
3605
3289
  ),
3606
- /* @__PURE__ */ jsx39("span", { className: "text-sm text-foreground", children: option.label }),
3607
- option.description && variant === "stacked" && /* @__PURE__ */ jsx39("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 })
3608
3292
  ]
3609
3293
  },
3610
3294
  option.value
@@ -3617,9 +3301,9 @@ var RadioGroup = React25.forwardRef(
3617
3301
  RadioGroup.displayName = "RadioGroup";
3618
3302
 
3619
3303
  // src/combobox.tsx
3620
- import * as React26 from "react";
3621
- import { jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
3622
- 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(
3623
3307
  ({
3624
3308
  className,
3625
3309
  options,
@@ -3630,8 +3314,8 @@ var Combobox = React26.forwardRef(
3630
3314
  filterable = true,
3631
3315
  ...props
3632
3316
  }, ref) => {
3633
- const [open, setOpen] = React26.useState(false);
3634
- const [search, setSearch] = React26.useState("");
3317
+ const [open, setOpen] = React23.useState(false);
3318
+ const [search, setSearch] = React23.useState("");
3635
3319
  const selected = multi ? Array.isArray(value) ? value : [] : typeof value === "string" ? value : "";
3636
3320
  const filtered = filterable ? options.filter(
3637
3321
  (o) => o.label.toLowerCase().includes(search.toLowerCase())
@@ -3650,20 +3334,20 @@ var Combobox = React26.forwardRef(
3650
3334
  }
3651
3335
  };
3652
3336
  const displayValue = multi ? null : options.find((o) => o.value === selected)?.label;
3653
- return /* @__PURE__ */ jsxs31("div", { ref, className: cn("relative", className), ...props, children: [
3654
- /* @__PURE__ */ jsxs31(
3337
+ return /* @__PURE__ */ jsxs27("div", { ref, className: cn("relative", className), ...props, children: [
3338
+ /* @__PURE__ */ jsxs27(
3655
3339
  "div",
3656
3340
  {
3657
3341
  className: "flex min-h-9 cursor-pointer items-center gap-1 rounded-md border border-input bg-background px-3 py-1.5",
3658
3342
  onClick: () => setOpen(!open),
3659
3343
  children: [
3660
- multi && Array.isArray(selected) && selected.length > 0 ? /* @__PURE__ */ jsx40("div", { className: "flex flex-wrap gap-1", children: selected.map((v) => /* @__PURE__ */ jsxs31(
3344
+ multi && Array.isArray(selected) && selected.length > 0 ? /* @__PURE__ */ jsx34("div", { className: "flex flex-wrap gap-1", children: selected.map((v) => /* @__PURE__ */ jsxs27(
3661
3345
  "span",
3662
3346
  {
3663
3347
  className: "text-primary-text inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 text-xs font-medium",
3664
3348
  children: [
3665
3349
  options.find((o) => o.value === v)?.label,
3666
- /* @__PURE__ */ jsx40(
3350
+ /* @__PURE__ */ jsx34(
3667
3351
  "button",
3668
3352
  {
3669
3353
  type: "button",
@@ -3678,7 +3362,7 @@ var Combobox = React26.forwardRef(
3678
3362
  ]
3679
3363
  },
3680
3364
  v
3681
- )) }) : /* @__PURE__ */ jsx40(
3365
+ )) }) : /* @__PURE__ */ jsx34(
3682
3366
  "span",
3683
3367
  {
3684
3368
  className: cn(
@@ -3688,12 +3372,12 @@ var Combobox = React26.forwardRef(
3688
3372
  children: displayValue || placeholder
3689
3373
  }
3690
3374
  ),
3691
- /* @__PURE__ */ jsx40("span", { className: "ml-auto text-muted-foreground", children: "\u25BE" })
3375
+ /* @__PURE__ */ jsx34("span", { className: "ml-auto text-muted-foreground", children: "\u25BE" })
3692
3376
  ]
3693
3377
  }
3694
3378
  ),
3695
- open && /* @__PURE__ */ jsxs31("div", { className: "z-dropdown absolute mt-1 w-full rounded-md border border-border bg-card shadow-lg", children: [
3696
- filterable && /* @__PURE__ */ jsx40("div", { className: "border-b border-border p-2", children: /* @__PURE__ */ jsx40(
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(
3697
3381
  "input",
3698
3382
  {
3699
3383
  type: "text",
@@ -3704,9 +3388,9 @@ var Combobox = React26.forwardRef(
3704
3388
  autoFocus: true
3705
3389
  }
3706
3390
  ) }),
3707
- /* @__PURE__ */ jsx40("div", { className: "max-h-60 overflow-y-auto p-1", children: filtered.length === 0 ? /* @__PURE__ */ jsx40("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) => {
3708
3392
  const isSelected = multi ? Array.isArray(selected) && selected.includes(option.value) : selected === option.value;
3709
- return /* @__PURE__ */ jsxs31(
3393
+ return /* @__PURE__ */ jsxs27(
3710
3394
  "button",
3711
3395
  {
3712
3396
  type: "button",
@@ -3716,9 +3400,9 @@ var Combobox = React26.forwardRef(
3716
3400
  ),
3717
3401
  onClick: () => handleSelect(option.value),
3718
3402
  children: [
3719
- multi && /* @__PURE__ */ jsx40("span", { className: "mr-2", children: isSelected ? "\u2611" : "\u2610" }),
3403
+ multi && /* @__PURE__ */ jsx34("span", { className: "mr-2", children: isSelected ? "\u2611" : "\u2610" }),
3720
3404
  option.label,
3721
- !multi && isSelected && /* @__PURE__ */ jsx40("span", { className: "text-primary-text ml-auto", children: "\u2713" })
3405
+ !multi && isSelected && /* @__PURE__ */ jsx34("span", { className: "text-primary-text ml-auto", children: "\u2713" })
3722
3406
  ]
3723
3407
  },
3724
3408
  option.value
@@ -3731,8 +3415,8 @@ var Combobox = React26.forwardRef(
3731
3415
  Combobox.displayName = "Combobox";
3732
3416
 
3733
3417
  // src/notification-banner.tsx
3734
- import * as React27 from "react";
3735
- import { jsx as jsx41, jsxs as jsxs32 } from "react/jsx-runtime";
3418
+ import * as React24 from "react";
3419
+ import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
3736
3420
  var INTENT_STYLES = {
3737
3421
  success: {
3738
3422
  subtle: "bg-intent-success/10 text-intent-success-foreground border-intent-success/20",
@@ -3761,7 +3445,7 @@ var ICON_MAP = {
3761
3445
  error: "circle-alert",
3762
3446
  info: "info"
3763
3447
  };
3764
- var NotificationBanner = React27.forwardRef(
3448
+ var NotificationBanner = React24.forwardRef(
3765
3449
  ({
3766
3450
  className,
3767
3451
  intent = "info",
@@ -3773,13 +3457,13 @@ var NotificationBanner = React27.forwardRef(
3773
3457
  children,
3774
3458
  ...props
3775
3459
  }, ref) => {
3776
- const [dismissed, setDismissed] = React27.useState(false);
3460
+ const [dismissed, setDismissed] = React24.useState(false);
3777
3461
  if (dismissed) return null;
3778
3462
  const handleDismiss = () => {
3779
3463
  setDismissed(true);
3780
3464
  onDismiss?.();
3781
3465
  };
3782
- return /* @__PURE__ */ jsxs32(
3466
+ return /* @__PURE__ */ jsxs28(
3783
3467
  "div",
3784
3468
  {
3785
3469
  ref,
@@ -3791,13 +3475,13 @@ var NotificationBanner = React27.forwardRef(
3791
3475
  ),
3792
3476
  ...props,
3793
3477
  children: [
3794
- /* @__PURE__ */ jsx41("span", { className: "flex-shrink-0 pt-0.5", "aria-hidden": "true", children: /* @__PURE__ */ jsx41(Icon, { name: ICON_MAP[intent], size: "md" }) }),
3795
- /* @__PURE__ */ jsxs32("div", { className: "min-w-0 flex-1", children: [
3796
- title && /* @__PURE__ */ jsx41("p", { className: "font-semibold", children: title }),
3797
- children && /* @__PURE__ */ jsx41("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 })
3798
3482
  ] }),
3799
- action && /* @__PURE__ */ jsx41("div", { className: "flex-shrink-0", children: action }),
3800
- dismissible && /* @__PURE__ */ jsx41(
3483
+ action && /* @__PURE__ */ jsx35("div", { className: "flex-shrink-0", children: action }),
3484
+ dismissible && /* @__PURE__ */ jsx35(
3801
3485
  "button",
3802
3486
  {
3803
3487
  type: "button",
@@ -3815,9 +3499,9 @@ var NotificationBanner = React27.forwardRef(
3815
3499
  NotificationBanner.displayName = "NotificationBanner";
3816
3500
 
3817
3501
  // src/notification-panel.tsx
3818
- import * as React28 from "react";
3819
- import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
3820
- var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMarkAllRead, children, ...props }, ref) => /* @__PURE__ */ jsxs33(
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(
3821
3505
  "div",
3822
3506
  {
3823
3507
  ref,
@@ -3827,12 +3511,12 @@ var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMark
3827
3511
  ),
3828
3512
  ...props,
3829
3513
  children: [
3830
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between border-b border-border px-4 py-3", children: [
3831
- /* @__PURE__ */ jsxs33("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: [
3832
3516
  "Notifications",
3833
- unreadCount > 0 && /* @__PURE__ */ jsx42("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 })
3834
3518
  ] }),
3835
- onMarkAllRead && unreadCount > 0 && /* @__PURE__ */ jsx42(
3519
+ onMarkAllRead && unreadCount > 0 && /* @__PURE__ */ jsx36(
3836
3520
  "button",
3837
3521
  {
3838
3522
  type: "button",
@@ -3842,12 +3526,12 @@ var NotificationPanel = React28.forwardRef(({ className, unreadCount = 0, onMark
3842
3526
  }
3843
3527
  )
3844
3528
  ] }),
3845
- /* @__PURE__ */ jsx42("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 })
3846
3530
  ]
3847
3531
  }
3848
3532
  ));
3849
3533
  NotificationPanel.displayName = "NotificationPanel";
3850
- var NotificationPanelItem = React28.forwardRef(({ className, title, description, time, unread, icon, ...props }, ref) => /* @__PURE__ */ jsxs33(
3534
+ var NotificationPanelItem = React25.forwardRef(({ className, title, description, time, unread, icon, ...props }, ref) => /* @__PURE__ */ jsxs29(
3851
3535
  "div",
3852
3536
  {
3853
3537
  ref,
@@ -3858,9 +3542,9 @@ var NotificationPanelItem = React28.forwardRef(({ className, title, description,
3858
3542
  ),
3859
3543
  ...props,
3860
3544
  children: [
3861
- icon && /* @__PURE__ */ jsx42("div", { className: "flex-shrink-0 pt-0.5", children: icon }),
3862
- /* @__PURE__ */ jsxs33("div", { className: "min-w-0 flex-1", children: [
3863
- /* @__PURE__ */ jsx42(
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(
3864
3548
  "p",
3865
3549
  {
3866
3550
  className: cn(
@@ -3870,22 +3554,22 @@ var NotificationPanelItem = React28.forwardRef(({ className, title, description,
3870
3554
  children: title
3871
3555
  }
3872
3556
  ),
3873
- description && /* @__PURE__ */ jsx42("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description }),
3874
- time && /* @__PURE__ */ jsx42("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 })
3875
3559
  ] }),
3876
- unread && /* @__PURE__ */ jsx42("div", { className: "flex-shrink-0 pt-1.5", children: /* @__PURE__ */ jsx42("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" }) })
3877
3561
  ]
3878
3562
  }
3879
3563
  ));
3880
3564
  NotificationPanelItem.displayName = "NotificationPanelItem";
3881
3565
 
3882
3566
  // src/skeleton-patterns.tsx
3883
- import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
3567
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
3884
3568
  function SkeletonBar2({
3885
3569
  className,
3886
3570
  ...props
3887
3571
  }) {
3888
- return /* @__PURE__ */ jsx43(
3572
+ return /* @__PURE__ */ jsx37(
3889
3573
  "div",
3890
3574
  {
3891
3575
  className: cn("animate-pulse rounded-md bg-muted", className),
@@ -3899,7 +3583,7 @@ function SkeletonTable({
3899
3583
  columns = 4,
3900
3584
  ...props
3901
3585
  }) {
3902
- return /* @__PURE__ */ jsxs34(
3586
+ return /* @__PURE__ */ jsxs30(
3903
3587
  "div",
3904
3588
  {
3905
3589
  className: cn(
@@ -3908,15 +3592,15 @@ function SkeletonTable({
3908
3592
  ),
3909
3593
  ...props,
3910
3594
  children: [
3911
- /* @__PURE__ */ jsx43("div", { className: "flex gap-4 border-b border-border bg-muted/50 px-4 py-3", children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-4 flex-1" }, `h-${i}`)) }),
3912
- Array.from({ length: rows }).map((_, row) => /* @__PURE__ */ jsx43(
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(
3913
3597
  "div",
3914
3598
  {
3915
3599
  className: cn(
3916
3600
  "flex gap-4 px-4 py-3",
3917
3601
  row < rows - 1 && "border-b border-border"
3918
3602
  ),
3919
- children: Array.from({ length: columns }).map((_2, col) => /* @__PURE__ */ jsx43(
3603
+ children: Array.from({ length: columns }).map((_2, col) => /* @__PURE__ */ jsx37(
3920
3604
  SkeletonBar2,
3921
3605
  {
3922
3606
  className: cn("h-4 flex-1", col === 0 && "max-w-[140px]")
@@ -3938,17 +3622,17 @@ function SkeletonCardGrid({
3938
3622
  ...props
3939
3623
  }) {
3940
3624
  const colClass = columns === 2 ? "grid-cols-1 sm:grid-cols-2" : "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3";
3941
- return /* @__PURE__ */ jsx43("div", { className: cn("grid gap-4", colClass, className), ...props, children: Array.from({ length: cards }).map((_, i) => /* @__PURE__ */ jsxs34(
3625
+ return /* @__PURE__ */ jsx37("div", { className: cn("grid gap-4", colClass, className), ...props, children: Array.from({ length: cards }).map((_, i) => /* @__PURE__ */ jsxs30(
3942
3626
  "div",
3943
3627
  {
3944
3628
  className: "space-y-3 rounded-lg border border-border p-4",
3945
3629
  children: [
3946
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-4 w-3/4" }),
3947
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-3 w-full" }),
3948
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-3 w-5/6" }),
3949
- /* @__PURE__ */ jsxs34("div", { className: "flex gap-2 pt-2", children: [
3950
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-6 w-6 rounded-full" }),
3951
- /* @__PURE__ */ jsx43(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" })
3952
3636
  ] })
3953
3637
  ]
3954
3638
  },
@@ -3957,34 +3641,34 @@ function SkeletonCardGrid({
3957
3641
  }
3958
3642
  SkeletonCardGrid.displayName = "SkeletonCardGrid";
3959
3643
  function SkeletonDetail({ className, ...props }) {
3960
- return /* @__PURE__ */ jsxs34("div", { className: cn("space-y-6", className), ...props, children: [
3961
- /* @__PURE__ */ jsxs34("div", { className: "space-y-2", children: [
3962
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-8 w-1/3" }),
3963
- /* @__PURE__ */ jsx43(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" })
3964
3648
  ] }),
3965
- /* @__PURE__ */ jsx43("div", { className: "space-y-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxs34("div", { className: "flex justify-between", children: [
3966
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-4 w-24" }),
3967
- /* @__PURE__ */ jsx43(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" })
3968
3652
  ] }, `dl-${i}`)) }),
3969
- /* @__PURE__ */ jsxs34("div", { className: "space-y-2", children: [
3970
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-4 w-full" }),
3971
- /* @__PURE__ */ jsx43(SkeletonBar2, { className: "h-4 w-full" }),
3972
- /* @__PURE__ */ jsx43(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" })
3973
3657
  ] })
3974
3658
  ] });
3975
3659
  }
3976
3660
  SkeletonDetail.displayName = "SkeletonDetail";
3977
3661
 
3978
3662
  // src/toggle.tsx
3979
- import * as React29 from "react";
3980
- import { jsx as jsx44 } from "react/jsx-runtime";
3663
+ import * as React26 from "react";
3664
+ import { jsx as jsx38 } from "react/jsx-runtime";
3981
3665
  var SIZE_CLASSES4 = {
3982
3666
  sm: "h-8 px-2 text-xs",
3983
3667
  md: "h-9 px-3 text-sm",
3984
3668
  lg: "h-10 px-4 text-base"
3985
3669
  };
3986
- var Toggle = React29.forwardRef(
3987
- ({ className, pressed, variant = "default", size = "md", ...props }, ref) => /* @__PURE__ */ jsx44(
3670
+ var Toggle = React26.forwardRef(
3671
+ ({ className, pressed, variant = "default", size = "md", ...props }, ref) => /* @__PURE__ */ jsx38(
3988
3672
  "button",
3989
3673
  {
3990
3674
  ref,
@@ -4003,7 +3687,7 @@ var Toggle = React29.forwardRef(
4003
3687
  )
4004
3688
  );
4005
3689
  Toggle.displayName = "Toggle";
4006
- var ToggleGroup = React29.forwardRef(
3690
+ var ToggleGroup = React26.forwardRef(
4007
3691
  ({
4008
3692
  className,
4009
3693
  type = "single",
@@ -4030,18 +3714,18 @@ var ToggleGroup = React29.forwardRef(
4030
3714
  );
4031
3715
  }
4032
3716
  };
4033
- return /* @__PURE__ */ jsx44(
3717
+ return /* @__PURE__ */ jsx38(
4034
3718
  "div",
4035
3719
  {
4036
3720
  ref,
4037
3721
  role: "group",
4038
3722
  className: cn("inline-flex items-center gap-1", className),
4039
3723
  ...props,
4040
- children: React29.Children.map(children, (child) => {
4041
- if (!React29.isValidElement(child)) return child;
3724
+ children: React26.Children.map(children, (child) => {
3725
+ if (!React26.isValidElement(child)) return child;
4042
3726
  const childProps = child.props;
4043
3727
  const itemValue = childProps.value ?? "";
4044
- return React29.cloneElement(child, {
3728
+ return React26.cloneElement(child, {
4045
3729
  pressed: isPressed(itemValue),
4046
3730
  variant,
4047
3731
  size,
@@ -4058,8 +3742,8 @@ var ToggleGroup = React29.forwardRef(
4058
3742
  ToggleGroup.displayName = "ToggleGroup";
4059
3743
 
4060
3744
  // src/avatar-group.tsx
4061
- import * as React30 from "react";
4062
- import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
3745
+ import * as React27 from "react";
3746
+ import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
4063
3747
  var SIZE_MAP = {
4064
3748
  xs: { avatar: "h-6 w-6", ring: "ring-1", text: "text-[10px]" },
4065
3749
  sm: { avatar: "h-8 w-8", ring: "ring-2", text: "text-xs" },
@@ -4072,14 +3756,14 @@ var OVERLAP_MAP = {
4072
3756
  md: "-ml-3",
4073
3757
  lg: "-ml-3"
4074
3758
  };
4075
- var AvatarGroup = React30.forwardRef(
3759
+ var AvatarGroup = React27.forwardRef(
4076
3760
  ({ className, max = 5, size = "md", children, ...props }, ref) => {
4077
- const items = React30.Children.toArray(children);
3761
+ const items = React27.Children.toArray(children);
4078
3762
  const visible = items.slice(0, max);
4079
3763
  const overflow = items.length - max;
4080
3764
  const sizeConfig3 = SIZE_MAP[size];
4081
- return /* @__PURE__ */ jsxs35("div", { ref, className: cn("flex items-center", className), ...props, children: [
4082
- visible.map((child, i) => /* @__PURE__ */ jsx45(
3765
+ return /* @__PURE__ */ jsxs31("div", { ref, className: cn("flex items-center", className), ...props, children: [
3766
+ visible.map((child, i) => /* @__PURE__ */ jsx39(
4083
3767
  "div",
4084
3768
  {
4085
3769
  className: cn(
@@ -4091,7 +3775,7 @@ var AvatarGroup = React30.forwardRef(
4091
3775
  },
4092
3776
  i
4093
3777
  )),
4094
- overflow > 0 && /* @__PURE__ */ jsx45(
3778
+ overflow > 0 && /* @__PURE__ */ jsx39(
4095
3779
  "div",
4096
3780
  {
4097
3781
  className: cn(
@@ -4100,7 +3784,7 @@ var AvatarGroup = React30.forwardRef(
4100
3784
  sizeConfig3.ring,
4101
3785
  OVERLAP_MAP[size]
4102
3786
  ),
4103
- children: /* @__PURE__ */ jsxs35(
3787
+ children: /* @__PURE__ */ jsxs31(
4104
3788
  "span",
4105
3789
  {
4106
3790
  className: cn(
@@ -4119,10 +3803,10 @@ var AvatarGroup = React30.forwardRef(
4119
3803
  }
4120
3804
  );
4121
3805
  AvatarGroup.displayName = "AvatarGroup";
4122
- 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) => {
4123
3807
  const sizeConfig3 = SIZE_MAP[size];
4124
3808
  if (!src && fallback) {
4125
- return /* @__PURE__ */ jsx45(
3809
+ return /* @__PURE__ */ jsx39(
4126
3810
  "div",
4127
3811
  {
4128
3812
  className: cn(
@@ -4136,7 +3820,7 @@ var AvatarGroupItem = React30.forwardRef(({ className, fallback, size = "md", al
4136
3820
  }
4137
3821
  );
4138
3822
  }
4139
- return /* @__PURE__ */ jsx45(
3823
+ return /* @__PURE__ */ jsx39(
4140
3824
  "img",
4141
3825
  {
4142
3826
  ref,
@@ -4150,10 +3834,10 @@ var AvatarGroupItem = React30.forwardRef(({ className, fallback, size = "md", al
4150
3834
  AvatarGroupItem.displayName = "AvatarGroupItem";
4151
3835
 
4152
3836
  // src/tab-bar.tsx
4153
- import * as React31 from "react";
4154
- import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
4155
- var TabBar = React31.forwardRef(
4156
- ({ className, variant = "underline", children, ...props }, ref) => /* @__PURE__ */ jsxs36(
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(
4157
3841
  "div",
4158
3842
  {
4159
3843
  ref,
@@ -4173,21 +3857,21 @@ var TabBar = React31.forwardRef(
4173
3857
  "data-variant": variant,
4174
3858
  ...props,
4175
3859
  children: [
4176
- React31.Children.map(children, (child) => {
4177
- if (!React31.isValidElement(child)) return child;
4178
- return React31.cloneElement(
3860
+ React28.Children.map(children, (child) => {
3861
+ if (!React28.isValidElement(child)) return child;
3862
+ return React28.cloneElement(
4179
3863
  child,
4180
3864
  { _variant: variant }
4181
3865
  );
4182
3866
  }),
4183
- /* @__PURE__ */ jsx46(ScrollHintXMark, {})
3867
+ /* @__PURE__ */ jsx40(ScrollHintXMark, {})
4184
3868
  ]
4185
3869
  }
4186
3870
  )
4187
3871
  );
4188
3872
  TabBar.displayName = "TabBar";
4189
- var TabBarItem = React31.forwardRef(
4190
- ({ className, active, disabled, _variant: variant = "underline", ...props }, ref) => /* @__PURE__ */ jsx46(
3873
+ var TabBarItem = React28.forwardRef(
3874
+ ({ className, active, disabled, _variant: variant = "underline", ...props }, ref) => /* @__PURE__ */ jsx40(
4191
3875
  "button",
4192
3876
  {
4193
3877
  ref,
@@ -4223,7 +3907,7 @@ var TabBarItem = React31.forwardRef(
4223
3907
  TabBarItem.displayName = "TabBarItem";
4224
3908
 
4225
3909
  // src/sticky-action-bar.tsx
4226
- import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
3910
+ import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
4227
3911
  function StickyActionBar({
4228
3912
  context,
4229
3913
  actions,
@@ -4231,7 +3915,7 @@ function StickyActionBar({
4231
3915
  className,
4232
3916
  testId = "sticky-action-bar"
4233
3917
  }) {
4234
- return /* @__PURE__ */ jsx47(
3918
+ return /* @__PURE__ */ jsx41(
4235
3919
  "div",
4236
3920
  {
4237
3921
  "data-testid": testId,
@@ -4242,24 +3926,24 @@ function StickyActionBar({
4242
3926
  topClassName,
4243
3927
  className
4244
3928
  ),
4245
- children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
4246
- context != null ? /* @__PURE__ */ jsx47("div", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1.5", children: context }) : /* @__PURE__ */ jsx47("span", {}),
4247
- /* @__PURE__ */ jsx47("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 })
4248
3932
  ] })
4249
3933
  }
4250
3934
  );
4251
3935
  }
4252
3936
 
4253
3937
  // src/button-group.tsx
4254
- import * as React32 from "react";
4255
- import { jsx as jsx48 } from "react/jsx-runtime";
3938
+ import * as React29 from "react";
3939
+ import { jsx as jsx42 } from "react/jsx-runtime";
4256
3940
  var SIZE_CLASSES5 = {
4257
3941
  sm: "h-8 px-3 text-xs",
4258
3942
  md: "h-9 px-4 text-sm",
4259
3943
  lg: "h-10 px-5 text-base"
4260
3944
  };
4261
- var ButtonGroup = React32.forwardRef(
4262
- ({ className, variant = "default", size = "md", children, ...props }, ref) => /* @__PURE__ */ jsx48(
3945
+ var ButtonGroup = React29.forwardRef(
3946
+ ({ className, variant = "default", size = "md", children, ...props }, ref) => /* @__PURE__ */ jsx42(
4263
3947
  "div",
4264
3948
  {
4265
3949
  ref,
@@ -4272,9 +3956,9 @@ var ButtonGroup = React32.forwardRef(
4272
3956
  "data-variant": variant,
4273
3957
  "data-size": size,
4274
3958
  ...props,
4275
- children: React32.Children.map(children, (child) => {
4276
- if (!React32.isValidElement(child)) return child;
4277
- return React32.cloneElement(
3959
+ children: React29.Children.map(children, (child) => {
3960
+ if (!React29.isValidElement(child)) return child;
3961
+ return React29.cloneElement(
4278
3962
  child,
4279
3963
  { _variant: variant, _size: size }
4280
3964
  );
@@ -4283,14 +3967,14 @@ var ButtonGroup = React32.forwardRef(
4283
3967
  )
4284
3968
  );
4285
3969
  ButtonGroup.displayName = "ButtonGroup";
4286
- var ButtonGroupItem = React32.forwardRef(
3970
+ var ButtonGroupItem = React29.forwardRef(
4287
3971
  ({
4288
3972
  className,
4289
3973
  active,
4290
3974
  _variant: variant = "default",
4291
3975
  _size: size = "md",
4292
3976
  ...props
4293
- }, ref) => /* @__PURE__ */ jsx48(
3977
+ }, ref) => /* @__PURE__ */ jsx42(
4294
3978
  "button",
4295
3979
  {
4296
3980
  ref,
@@ -4331,9 +4015,9 @@ var ButtonGroupItem = React32.forwardRef(
4331
4015
  ButtonGroupItem.displayName = "ButtonGroupItem";
4332
4016
 
4333
4017
  // src/data-table.tsx
4334
- import * as React33 from "react";
4335
- import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
4336
- 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(
4337
4021
  ({
4338
4022
  className,
4339
4023
  density = "default",
@@ -4343,8 +4027,8 @@ var DataTable = React33.forwardRef(
4343
4027
  }, ref) => (
4344
4028
  // W1.5 Batch 0 (#5823): a flex row, so the x mark (`ScrollHintXMark`,
4345
4029
  // last child) sits beside the table, not under it
4346
- /* @__PURE__ */ jsxs38("div", { className: "flex w-full overflow-x-auto", children: [
4347
- /* @__PURE__ */ jsx49(
4030
+ /* @__PURE__ */ jsxs34("div", { className: "flex w-full overflow-x-auto", children: [
4031
+ /* @__PURE__ */ jsx43(
4348
4032
  "table",
4349
4033
  {
4350
4034
  ref,
@@ -4358,12 +4042,12 @@ var DataTable = React33.forwardRef(
4358
4042
  ...props
4359
4043
  }
4360
4044
  ),
4361
- /* @__PURE__ */ jsx49(ScrollHintXMark, {})
4045
+ /* @__PURE__ */ jsx43(ScrollHintXMark, {})
4362
4046
  ] })
4363
4047
  )
4364
4048
  );
4365
4049
  DataTable.displayName = "DataTable";
4366
- var TableHeader = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
4050
+ var TableHeader = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4367
4051
  "thead",
4368
4052
  {
4369
4053
  ref,
@@ -4372,7 +4056,7 @@ var TableHeader = React33.forwardRef(({ className, ...props }, ref) => /* @__PUR
4372
4056
  }
4373
4057
  ));
4374
4058
  TableHeader.displayName = "TableHeader";
4375
- var TableBody = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
4059
+ var TableBody = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4376
4060
  "tbody",
4377
4061
  {
4378
4062
  ref,
@@ -4381,8 +4065,8 @@ var TableBody = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4381
4065
  }
4382
4066
  ));
4383
4067
  TableBody.displayName = "TableBody";
4384
- var TableRow = React33.forwardRef(
4385
- ({ className, selected, ...props }, ref) => /* @__PURE__ */ jsx49(
4068
+ var TableRow = React30.forwardRef(
4069
+ ({ className, selected, ...props }, ref) => /* @__PURE__ */ jsx43(
4386
4070
  "tr",
4387
4071
  {
4388
4072
  ref,
@@ -4405,12 +4089,12 @@ var DENSITY_CELL = {
4405
4089
  default: "px-4 py-2",
4406
4090
  relaxed: "px-4 py-3"
4407
4091
  };
4408
- var TableCell = React33.forwardRef(
4092
+ var TableCell = React30.forwardRef(
4409
4093
  ({ className, header, sortDirection, onSort, children, ...props }, ref) => {
4410
- const Tag2 = header ? "th" : "td";
4094
+ const Tag = header ? "th" : "td";
4411
4095
  const sortIndicator = sortDirection === "asc" ? " \u2191" : sortDirection === "desc" ? " \u2193" : "";
4412
- return /* @__PURE__ */ jsxs38(
4413
- Tag2,
4096
+ return /* @__PURE__ */ jsxs34(
4097
+ Tag,
4414
4098
  {
4415
4099
  ref,
4416
4100
  className: cn(
@@ -4424,14 +4108,14 @@ var TableCell = React33.forwardRef(
4424
4108
  ...props,
4425
4109
  children: [
4426
4110
  children,
4427
- header && sortIndicator && /* @__PURE__ */ jsx49("span", { className: "text-primary-text ml-1", children: sortIndicator })
4111
+ header && sortIndicator && /* @__PURE__ */ jsx43("span", { className: "text-primary-text ml-1", children: sortIndicator })
4428
4112
  ]
4429
4113
  }
4430
4114
  );
4431
4115
  }
4432
4116
  );
4433
4117
  TableCell.displayName = "TableCell";
4434
- var TableCaption = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx49(
4118
+ var TableCaption = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4435
4119
  "caption",
4436
4120
  {
4437
4121
  ref,
@@ -4442,15 +4126,15 @@ var TableCaption = React33.forwardRef(({ className, ...props }, ref) => /* @__PU
4442
4126
  TableCaption.displayName = "TableCaption";
4443
4127
 
4444
4128
  // src/stat-group.tsx
4445
- import * as React34 from "react";
4446
- import { jsx as jsx50 } from "react/jsx-runtime";
4129
+ import * as React31 from "react";
4130
+ import { jsx as jsx44 } from "react/jsx-runtime";
4447
4131
  var COL_CLASSES = {
4448
4132
  2: "grid-cols-1 sm:grid-cols-2",
4449
4133
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
4450
4134
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
4451
4135
  };
4452
- var StatGroup = React34.forwardRef(
4453
- ({ className, columns = 3, variant = "card", children, ...props }, ref) => /* @__PURE__ */ jsx50(
4136
+ var StatGroup = React31.forwardRef(
4137
+ ({ className, columns = 3, variant = "card", children, ...props }, ref) => /* @__PURE__ */ jsx44(
4454
4138
  "div",
4455
4139
  {
4456
4140
  ref,
@@ -4468,10 +4152,10 @@ var StatGroup = React34.forwardRef(
4468
4152
  StatGroup.displayName = "StatGroup";
4469
4153
 
4470
4154
  // src/description-list.tsx
4471
- import * as React35 from "react";
4472
- import { jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
4473
- var DescriptionLayoutContext = React35.createContext("stacked");
4474
- var DescriptionList = React35.forwardRef(({ className, layout = "stacked", ...props }, ref) => /* @__PURE__ */ jsx51(DescriptionLayoutContext.Provider, { value: layout, children: /* @__PURE__ */ jsx51(
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(
4475
4159
  "dl",
4476
4160
  {
4477
4161
  ref,
@@ -4485,10 +4169,10 @@ var DescriptionList = React35.forwardRef(({ className, layout = "stacked", ...pr
4485
4169
  }
4486
4170
  ) }));
4487
4171
  DescriptionList.displayName = "DescriptionList";
4488
- var DescriptionItem = React35.forwardRef(
4172
+ var DescriptionItem = React32.forwardRef(
4489
4173
  ({ className, label, value, ...props }, ref) => {
4490
- const layout = React35.useContext(DescriptionLayoutContext);
4491
- return /* @__PURE__ */ jsxs39(
4174
+ const layout = React32.useContext(DescriptionLayoutContext);
4175
+ return /* @__PURE__ */ jsxs35(
4492
4176
  "div",
4493
4177
  {
4494
4178
  ref,
@@ -4500,7 +4184,7 @@ var DescriptionItem = React35.forwardRef(
4500
4184
  ),
4501
4185
  ...props,
4502
4186
  children: [
4503
- /* @__PURE__ */ jsx51(
4187
+ /* @__PURE__ */ jsx45(
4504
4188
  "dt",
4505
4189
  {
4506
4190
  className: cn(
@@ -4510,7 +4194,7 @@ var DescriptionItem = React35.forwardRef(
4510
4194
  children: label
4511
4195
  }
4512
4196
  ),
4513
- /* @__PURE__ */ jsx51(
4197
+ /* @__PURE__ */ jsx45(
4514
4198
  "dd",
4515
4199
  {
4516
4200
  className: cn(
@@ -4518,7 +4202,7 @@ var DescriptionItem = React35.forwardRef(
4518
4202
  layout !== "side-by-side" && "mt-1",
4519
4203
  layout === "side-by-side" && "text-right"
4520
4204
  ),
4521
- children: isEmptyValue(value) ? /* @__PURE__ */ jsx51(EmptyValue, {}) : value
4205
+ children: isEmptyValue(value) ? /* @__PURE__ */ jsx45(EmptyValue, {}) : value
4522
4206
  }
4523
4207
  )
4524
4208
  ]
@@ -4529,10 +4213,10 @@ var DescriptionItem = React35.forwardRef(
4529
4213
  DescriptionItem.displayName = "DescriptionItem";
4530
4214
 
4531
4215
  // src/activity-feed.tsx
4532
- import * as React36 from "react";
4533
- import { jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
4534
- var ActivityFeed = React36.forwardRef(
4535
- ({ className, variant = "simple", ...props }, ref) => /* @__PURE__ */ jsx52(
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(
4536
4220
  "div",
4537
4221
  {
4538
4222
  ref,
@@ -4543,19 +4227,19 @@ var ActivityFeed = React36.forwardRef(
4543
4227
  )
4544
4228
  );
4545
4229
  ActivityFeed.displayName = "ActivityFeed";
4546
- var ActivityFeedItem = React36.forwardRef(
4547
- ({ className, avatar, eventDescription, timestamp, isLast, ...props }, ref) => /* @__PURE__ */ jsxs40(
4230
+ var ActivityFeedItem = React33.forwardRef(
4231
+ ({ className, avatar, eventDescription, timestamp, isLast, ...props }, ref) => /* @__PURE__ */ jsxs36(
4548
4232
  "div",
4549
4233
  {
4550
4234
  ref,
4551
4235
  className: cn("relative flex gap-3 pb-6", className),
4552
4236
  ...props,
4553
4237
  children: [
4554
- !isLast && /* @__PURE__ */ jsx52("div", { className: "absolute left-5 top-10 -ml-px h-full w-0.5 bg-muted" }),
4555
- /* @__PURE__ */ jsx52("div", { className: "relative flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full bg-muted", children: avatar }),
4556
- /* @__PURE__ */ jsxs40("div", { className: "min-w-0 flex-1 pt-1", children: [
4557
- /* @__PURE__ */ jsx52("div", { className: "text-sm text-foreground", children: eventDescription }),
4558
- timestamp && /* @__PURE__ */ jsx52("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 })
4559
4243
  ] })
4560
4244
  ]
4561
4245
  }
@@ -4563,77 +4247,8 @@ var ActivityFeedItem = React36.forwardRef(
4563
4247
  );
4564
4248
  ActivityFeedItem.displayName = "ActivityFeedItem";
4565
4249
 
4566
- // src/alert.tsx
4567
- import * as React37 from "react";
4568
- import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
4569
- var INTENT_SUBTLE_STYLES = {
4570
- success: "bg-intent-success/10 text-intent-success-foreground border-intent-success/20",
4571
- warning: "bg-intent-warning/10 text-intent-warning-foreground border-intent-warning/20",
4572
- error: "bg-intent-error/10 text-intent-error-foreground border-intent-error/20",
4573
- info: "bg-intent-info/10 text-intent-info-foreground border-intent-info/20"
4574
- };
4575
- var SOLID_STYLES = {
4576
- success: "border-transparent bg-intent-success-solid text-intent-success-solid-fg",
4577
- warning: "border-transparent bg-intent-warning-solid text-intent-warning-solid-fg",
4578
- error: "border-transparent bg-intent-error-solid text-intent-error-solid-fg",
4579
- info: "border-transparent bg-intent-info-solid text-intent-info-solid-fg"
4580
- };
4581
- var OUTLINE_STYLES = {
4582
- success: "border-intent-success-border text-intent-success-foreground bg-background",
4583
- warning: "border-intent-warning-border text-intent-warning-foreground bg-background",
4584
- error: "border-intent-error-border text-intent-error-foreground bg-background",
4585
- info: "border-intent-info-border text-intent-info-foreground bg-background"
4586
- };
4587
- var ICON_MAP2 = {
4588
- success: "circle-check",
4589
- warning: "triangle-alert",
4590
- error: "circle-alert",
4591
- info: "info"
4592
- };
4593
- var Alert = React37.forwardRef(
4594
- ({
4595
- className,
4596
- intent = "info",
4597
- variant = "subtle",
4598
- title,
4599
- dismissible,
4600
- onDismiss,
4601
- children,
4602
- ...props
4603
- }, ref) => {
4604
- const styles = variant === "solid" ? SOLID_STYLES[intent] : variant === "outline" ? OUTLINE_STYLES[intent] : INTENT_SUBTLE_STYLES[intent];
4605
- return /* @__PURE__ */ jsxs41(
4606
- "div",
4607
- {
4608
- ref,
4609
- role: "alert",
4610
- className: cn("flex gap-3 rounded-lg border p-4", styles, className),
4611
- ...props,
4612
- children: [
4613
- /* @__PURE__ */ jsx53("span", { className: "flex-shrink-0 pt-0.5", "aria-hidden": "true", children: /* @__PURE__ */ jsx53(Icon, { name: ICON_MAP2[intent], size: "md" }) }),
4614
- /* @__PURE__ */ jsxs41("div", { className: "min-w-0 flex-1", children: [
4615
- title && /* @__PURE__ */ jsx53("p", { className: "font-semibold", children: title }),
4616
- children && /* @__PURE__ */ jsx53("div", { className: cn(title && "mt-1", "text-sm"), children })
4617
- ] }),
4618
- dismissible && /* @__PURE__ */ jsx53(
4619
- "button",
4620
- {
4621
- type: "button",
4622
- onClick: onDismiss,
4623
- className: "flex-shrink-0 hover:opacity-80",
4624
- "aria-label": "Dismiss",
4625
- children: "\u2715"
4626
- }
4627
- )
4628
- ]
4629
- }
4630
- );
4631
- }
4632
- );
4633
- Alert.displayName = "Alert";
4634
-
4635
4250
  // src/empty-state.tsx
4636
- import { jsx as jsx54, jsxs as jsxs42 } from "react/jsx-runtime";
4251
+ import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
4637
4252
  function EmptyState({
4638
4253
  icon: Icon2,
4639
4254
  title,
@@ -4644,7 +4259,7 @@ function EmptyState({
4644
4259
  className
4645
4260
  }) {
4646
4261
  const compact = size === "compact";
4647
- return /* @__PURE__ */ jsxs42(
4262
+ return /* @__PURE__ */ jsxs37(
4648
4263
  "div",
4649
4264
  {
4650
4265
  "data-testid": testId,
@@ -4654,7 +4269,7 @@ function EmptyState({
4654
4269
  className
4655
4270
  ),
4656
4271
  children: [
4657
- Icon2 && /* @__PURE__ */ jsx54(
4272
+ Icon2 && /* @__PURE__ */ jsx47(
4658
4273
  "div",
4659
4274
  {
4660
4275
  "aria-hidden": "true",
@@ -4662,10 +4277,10 @@ function EmptyState({
4662
4277
  "flex items-center justify-center rounded-full bg-primary/10 text-primary",
4663
4278
  compact ? "mb-3 size-12" : "mb-5 size-16"
4664
4279
  ),
4665
- children: /* @__PURE__ */ jsx54(Icon2, { className: compact ? "size-6" : "size-8" })
4280
+ children: /* @__PURE__ */ jsx47(Icon2, { className: compact ? "size-6" : "size-8" })
4666
4281
  }
4667
4282
  ),
4668
- /* @__PURE__ */ jsx54(
4283
+ /* @__PURE__ */ jsx47(
4669
4284
  "h2",
4670
4285
  {
4671
4286
  className: cn(
@@ -4675,7 +4290,7 @@ function EmptyState({
4675
4290
  children: title
4676
4291
  }
4677
4292
  ),
4678
- description && /* @__PURE__ */ jsx54(
4293
+ description && /* @__PURE__ */ jsx47(
4679
4294
  "p",
4680
4295
  {
4681
4296
  className: cn(
@@ -4685,21 +4300,21 @@ function EmptyState({
4685
4300
  children: description
4686
4301
  }
4687
4302
  ),
4688
- action && /* @__PURE__ */ jsx54("div", { className: compact ? "mt-4" : "mt-6", children: action })
4303
+ action && /* @__PURE__ */ jsx47("div", { className: compact ? "mt-4" : "mt-6", children: action })
4689
4304
  ]
4690
4305
  }
4691
4306
  );
4692
4307
  }
4693
4308
 
4694
4309
  // src/action-panel.tsx
4695
- import * as React38 from "react";
4696
- import { Fragment as Fragment9, jsx as jsx55, jsxs as jsxs43 } 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";
4697
4312
  var BORDER_INTENT = {
4698
4313
  default: "border-l-primary",
4699
4314
  warning: "border-l-intent-warning",
4700
4315
  destructive: "border-l-intent-error"
4701
4316
  };
4702
- var ActionPanel = React38.forwardRef(
4317
+ var ActionPanel = React34.forwardRef(
4703
4318
  ({
4704
4319
  className,
4705
4320
  title,
@@ -4708,7 +4323,7 @@ var ActionPanel = React38.forwardRef(
4708
4323
  variant = "simple",
4709
4324
  intent = "default",
4710
4325
  ...props
4711
- }, ref) => /* @__PURE__ */ jsx55(
4326
+ }, ref) => /* @__PURE__ */ jsx48(
4712
4327
  "div",
4713
4328
  {
4714
4329
  ref,
@@ -4719,16 +4334,16 @@ var ActionPanel = React38.forwardRef(
4719
4334
  className
4720
4335
  ),
4721
4336
  ...props,
4722
- children: variant === "split" ? /* @__PURE__ */ jsxs43(Fragment9, { children: [
4723
- /* @__PURE__ */ jsxs43("div", { className: "min-w-0", children: [
4724
- /* @__PURE__ */ jsx55("h3", { className: "font-semibold text-foreground", children: title }),
4725
- description && /* @__PURE__ */ jsx55("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 })
4726
4341
  ] }),
4727
- action && /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: action })
4728
- ] }) : /* @__PURE__ */ jsxs43(Fragment9, { children: [
4729
- /* @__PURE__ */ jsx55("h3", { className: "font-semibold text-foreground", children: title }),
4730
- description && /* @__PURE__ */ jsx55("p", { className: "mt-1 text-sm text-muted-foreground", children: description }),
4731
- action && /* @__PURE__ */ jsx55("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 })
4732
4347
  ] })
4733
4348
  }
4734
4349
  )
@@ -4736,14 +4351,14 @@ var ActionPanel = React38.forwardRef(
4736
4351
  ActionPanel.displayName = "ActionPanel";
4737
4352
 
4738
4353
  // src/divider.tsx
4739
- import * as React39 from "react";
4740
- import { jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime";
4354
+ import * as React35 from "react";
4355
+ import { jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
4741
4356
  var VARIANT_CLASSES = {
4742
4357
  solid: "border-solid",
4743
4358
  dashed: "border-dashed",
4744
4359
  dotted: "border-dotted"
4745
4360
  };
4746
- var Divider = React39.forwardRef(
4361
+ var Divider = React35.forwardRef(
4747
4362
  ({
4748
4363
  className,
4749
4364
  label,
@@ -4753,7 +4368,7 @@ var Divider = React39.forwardRef(
4753
4368
  ...props
4754
4369
  }, ref) => {
4755
4370
  if (orientation === "vertical") {
4756
- return /* @__PURE__ */ jsx56(
4371
+ return /* @__PURE__ */ jsx49(
4757
4372
  "div",
4758
4373
  {
4759
4374
  ref,
@@ -4770,7 +4385,7 @@ var Divider = React39.forwardRef(
4770
4385
  );
4771
4386
  }
4772
4387
  if (!label) {
4773
- return /* @__PURE__ */ jsx56(
4388
+ return /* @__PURE__ */ jsx49(
4774
4389
  "div",
4775
4390
  {
4776
4391
  ref,
@@ -4784,7 +4399,7 @@ var Divider = React39.forwardRef(
4784
4399
  }
4785
4400
  );
4786
4401
  }
4787
- return /* @__PURE__ */ jsxs44(
4402
+ return /* @__PURE__ */ jsxs39(
4788
4403
  "div",
4789
4404
  {
4790
4405
  ref,
@@ -4792,7 +4407,7 @@ var Divider = React39.forwardRef(
4792
4407
  role: "separator",
4793
4408
  ...props,
4794
4409
  children: [
4795
- labelPosition !== "left" && /* @__PURE__ */ jsx56(
4410
+ labelPosition !== "left" && /* @__PURE__ */ jsx49(
4796
4411
  "div",
4797
4412
  {
4798
4413
  className: cn(
@@ -4801,7 +4416,7 @@ var Divider = React39.forwardRef(
4801
4416
  )
4802
4417
  }
4803
4418
  ),
4804
- /* @__PURE__ */ jsx56(
4419
+ /* @__PURE__ */ jsx49(
4805
4420
  "span",
4806
4421
  {
4807
4422
  className: cn(
@@ -4811,7 +4426,7 @@ var Divider = React39.forwardRef(
4811
4426
  children: label
4812
4427
  }
4813
4428
  ),
4814
- labelPosition !== "right" && /* @__PURE__ */ jsx56(
4429
+ labelPosition !== "right" && /* @__PURE__ */ jsx49(
4815
4430
  "div",
4816
4431
  {
4817
4432
  className: cn(
@@ -4827,44 +4442,17 @@ var Divider = React39.forwardRef(
4827
4442
  );
4828
4443
  Divider.displayName = "Divider";
4829
4444
 
4830
- // src/container.tsx
4831
- import * as React40 from "react";
4832
- import { jsx as jsx57 } from "react/jsx-runtime";
4833
- var SIZE_CLASSES6 = {
4834
- sm: "max-w-content-sm",
4835
- md: "max-w-content-md",
4836
- lg: "max-w-content-lg",
4837
- xl: "max-w-content-xl",
4838
- full: "max-w-full"
4839
- };
4840
- var Container = React40.forwardRef(
4841
- ({ className, size = "xl", padded = true, ...props }, ref) => /* @__PURE__ */ jsx57(
4842
- "div",
4843
- {
4844
- ref,
4845
- className: cn(
4846
- "mx-auto w-full",
4847
- SIZE_CLASSES6[size],
4848
- padded && "px-4 sm:px-6 lg:px-8",
4849
- className
4850
- ),
4851
- ...props
4852
- }
4853
- )
4854
- );
4855
- Container.displayName = "Container";
4856
-
4857
4445
  // src/page-content.tsx
4858
- import * as React41 from "react";
4859
- import { jsx as jsx58 } from "react/jsx-runtime";
4446
+ import * as React36 from "react";
4447
+ import { jsx as jsx50 } from "react/jsx-runtime";
4860
4448
  var GAP_CLASSES2 = {
4861
4449
  sm: "space-y-4",
4862
4450
  md: "space-y-6",
4863
4451
  lg: "space-y-8",
4864
4452
  none: ""
4865
4453
  };
4866
- var PageContent = React41.forwardRef(
4867
- ({ className, gap = "md", padded = true, children, ...props }, ref) => /* @__PURE__ */ jsx58(
4454
+ var PageContent = React36.forwardRef(
4455
+ ({ className, gap = "md", padded = true, children, ...props }, ref) => /* @__PURE__ */ jsx50(
4868
4456
  "div",
4869
4457
  {
4870
4458
  ref,
@@ -4877,14 +4465,14 @@ var PageContent = React41.forwardRef(
4877
4465
  PageContent.displayName = "PageContent";
4878
4466
 
4879
4467
  // src/media-object.tsx
4880
- import * as React42 from "react";
4881
- import { jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
4468
+ import * as React37 from "react";
4469
+ import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
4882
4470
  var MEDIA_SIZE = {
4883
4471
  sm: "h-8 w-8",
4884
4472
  md: "h-10 w-10",
4885
4473
  lg: "h-12 w-12"
4886
4474
  };
4887
- var MediaObject = React42.forwardRef(
4475
+ var MediaObject = React37.forwardRef(
4888
4476
  ({
4889
4477
  className,
4890
4478
  media,
@@ -4897,7 +4485,7 @@ var MediaObject = React42.forwardRef(
4897
4485
  ...props
4898
4486
  }, ref) => {
4899
4487
  if (stacked) {
4900
- return /* @__PURE__ */ jsxs45(
4488
+ return /* @__PURE__ */ jsxs40(
4901
4489
  "div",
4902
4490
  {
4903
4491
  ref,
@@ -4907,17 +4495,17 @@ var MediaObject = React42.forwardRef(
4907
4495
  ),
4908
4496
  ...props,
4909
4497
  children: [
4910
- /* @__PURE__ */ jsx59("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
4911
- /* @__PURE__ */ jsxs45("div", { className: "min-w-0", children: [
4912
- title && /* @__PURE__ */ jsx59("p", { className: "font-medium text-foreground", children: title }),
4913
- description && /* @__PURE__ */ jsx59("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 })
4914
4502
  ] }),
4915
- action && /* @__PURE__ */ jsx59("div", { children: action })
4503
+ action && /* @__PURE__ */ jsx51("div", { children: action })
4916
4504
  ]
4917
4505
  }
4918
4506
  );
4919
4507
  }
4920
- return /* @__PURE__ */ jsxs45(
4508
+ return /* @__PURE__ */ jsxs40(
4921
4509
  "div",
4922
4510
  {
4923
4511
  ref,
@@ -4928,12 +4516,12 @@ var MediaObject = React42.forwardRef(
4928
4516
  ),
4929
4517
  ...props,
4930
4518
  children: [
4931
- /* @__PURE__ */ jsx59("div", { className: cn("flex-shrink-0", MEDIA_SIZE[mediaSize]), children: media }),
4932
- /* @__PURE__ */ jsxs45("div", { className: "min-w-0 flex-1", children: [
4933
- title && /* @__PURE__ */ jsx59("p", { className: "font-medium text-foreground", children: title }),
4934
- description && /* @__PURE__ */ jsx59("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 })
4935
4523
  ] }),
4936
- action && /* @__PURE__ */ jsx59("div", { className: "flex-shrink-0", children: action })
4524
+ action && /* @__PURE__ */ jsx51("div", { className: "flex-shrink-0", children: action })
4937
4525
  ]
4938
4526
  }
4939
4527
  );
@@ -4942,16 +4530,16 @@ var MediaObject = React42.forwardRef(
4942
4530
  MediaObject.displayName = "MediaObject";
4943
4531
 
4944
4532
  // src/page-patterns.tsx
4945
- import * as React43 from "react";
4946
- import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
4533
+ import * as React38 from "react";
4534
+ import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
4947
4535
  var GUTTER_WIDTHS = {
4948
4536
  /** A single column of reading or a short list. */
4949
4537
  narrow: "max-w-content-md",
4950
4538
  /** A detail or list page with a side panel. */
4951
4539
  default: "max-w-content-xl"
4952
4540
  };
4953
- var PageGutter = React43.forwardRef(
4954
- ({ className, width = "default", ...props }, ref) => /* @__PURE__ */ jsx60(
4541
+ var PageGutter = React38.forwardRef(
4542
+ ({ className, width = "default", ...props }, ref) => /* @__PURE__ */ jsx52(
4955
4543
  "div",
4956
4544
  {
4957
4545
  ref,
@@ -4965,29 +4553,29 @@ var PageGutter = React43.forwardRef(
4965
4553
  )
4966
4554
  );
4967
4555
  PageGutter.displayName = "PageGutter";
4968
- var PageHeading = React43.forwardRef(
4969
- ({ className, title, description, meta, actions, ...props }, ref) => /* @__PURE__ */ jsxs46(
4556
+ var PageHeading = React38.forwardRef(
4557
+ ({ className, title, description, meta, actions, ...props }, ref) => /* @__PURE__ */ jsxs41(
4970
4558
  "header",
4971
4559
  {
4972
4560
  ref,
4973
4561
  className: cn(
4974
- "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
4562
+ "flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-start sm:justify-between",
4975
4563
  className
4976
4564
  ),
4977
4565
  ...props,
4978
4566
  children: [
4979
- /* @__PURE__ */ jsxs46("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
4980
- /* @__PURE__ */ jsx60("h1", { className: "break-words text-2xl font-semibold tracking-tight text-foreground sm:text-3xl", children: title }),
4981
- description && /* @__PURE__ */ jsx60("p", { className: "break-words text-sm text-muted-foreground sm:text-base", children: description }),
4982
- meta && /* @__PURE__ */ jsx60("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 })
4983
4571
  ] }),
4984
- actions && /* @__PURE__ */ jsx60("div", { className: "flex 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 })
4985
4573
  ]
4986
4574
  }
4987
4575
  )
4988
4576
  );
4989
4577
  PageHeading.displayName = "PageHeading";
4990
- var SectionCard = React43.forwardRef(
4578
+ var SectionCard = React38.forwardRef(
4991
4579
  ({
4992
4580
  className,
4993
4581
  title,
@@ -5000,14 +4588,14 @@ var SectionCard = React43.forwardRef(
5000
4588
  }, ref) => {
5001
4589
  const pad = size === "compact" ? "p-4" : "p-4 sm:p-6";
5002
4590
  const hasHead = Boolean(title || description || actions);
5003
- return /* @__PURE__ */ jsxs46(
4591
+ return /* @__PURE__ */ jsxs41(
5004
4592
  Card,
5005
4593
  {
5006
4594
  ref,
5007
4595
  className: cn("min-w-0 overflow-hidden", className),
5008
4596
  ...props,
5009
4597
  children: [
5010
- hasHead && /* @__PURE__ */ jsxs46(
4598
+ hasHead && /* @__PURE__ */ jsxs41(
5011
4599
  "div",
5012
4600
  {
5013
4601
  className: cn(
@@ -5017,8 +4605,8 @@ var SectionCard = React43.forwardRef(
5017
4605
  flush && children ? "border-b border-border" : ""
5018
4606
  ),
5019
4607
  children: [
5020
- /* @__PURE__ */ jsxs46("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
5021
- title && /* @__PURE__ */ jsx60(
4608
+ /* @__PURE__ */ jsxs41("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
4609
+ title && /* @__PURE__ */ jsx52(
5022
4610
  "h2",
5023
4611
  {
5024
4612
  className: cn(
@@ -5028,36 +4616,36 @@ var SectionCard = React43.forwardRef(
5028
4616
  children: title
5029
4617
  }
5030
4618
  ),
5031
- description && /* @__PURE__ */ jsx60("p", { className: "text-sm text-muted-foreground", children: description })
4619
+ description && /* @__PURE__ */ jsx52("p", { className: "text-sm text-muted-foreground", children: description })
5032
4620
  ] }),
5033
- actions && /* @__PURE__ */ jsx60("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 })
5034
4622
  ]
5035
4623
  }
5036
4624
  ),
5037
- children !== void 0 && children !== null && /* @__PURE__ */ jsx60("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 })
5038
4626
  ]
5039
4627
  }
5040
4628
  );
5041
4629
  }
5042
4630
  );
5043
4631
  SectionCard.displayName = "SectionCard";
5044
- var TabbedCard = React43.forwardRef(
5045
- ({ className, tabs, tabsLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
4632
+ var TabbedCard = React38.forwardRef(
4633
+ ({ className, tabs, tabsLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
5046
4634
  Card,
5047
4635
  {
5048
4636
  ref,
5049
4637
  className: cn("min-w-0 overflow-hidden", className),
5050
4638
  ...props,
5051
4639
  children: [
5052
- /* @__PURE__ */ jsx60("div", { className: "px-4 pt-3 sm:px-6", children: /* @__PURE__ */ jsx60(TabBar, { variant: "underline", "aria-label": tabsLabel, children: tabs }) }),
5053
- /* @__PURE__ */ jsx60("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 })
5054
4642
  ]
5055
4643
  }
5056
4644
  )
5057
4645
  );
5058
4646
  TabbedCard.displayName = "TabbedCard";
5059
- var SidePanelLayout = React43.forwardRef(
5060
- ({ className, aside, asideLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
4647
+ var SidePanelLayout = React38.forwardRef(
4648
+ ({ className, aside, asideLabel, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
5061
4649
  "div",
5062
4650
  {
5063
4651
  ref,
@@ -5067,8 +4655,8 @@ var SidePanelLayout = React43.forwardRef(
5067
4655
  ),
5068
4656
  ...props,
5069
4657
  children: [
5070
- /* @__PURE__ */ jsx60("div", { className: "flex min-w-0 flex-col gap-6 lg:col-span-2", children }),
5071
- /* @__PURE__ */ jsx60(
4658
+ /* @__PURE__ */ jsx52("div", { className: "flex min-w-0 flex-col gap-6 lg:col-span-2", children }),
4659
+ /* @__PURE__ */ jsx52(
5072
4660
  "aside",
5073
4661
  {
5074
4662
  "aria-label": asideLabel,
@@ -5082,46 +4670,18 @@ var SidePanelLayout = React43.forwardRef(
5082
4670
  );
5083
4671
  SidePanelLayout.displayName = "SidePanelLayout";
5084
4672
 
5085
- // src/intent-badge.tsx
5086
- import * as React44 from "react";
5087
- import { jsx as jsx61 } from "react/jsx-runtime";
5088
- var INTENT_CLASSES = {
5089
- neutral: "bg-muted text-muted-foreground border-border",
5090
- // the primary tint is lighter than the intents': `primary-text` on a 10%
5091
- // tint over the page grey drew 4.46:1 (W1 sheet), under AA
5092
- primary: "bg-primary/5 text-primary-text border-primary/30",
5093
- ...INTENT_SUBTLE_STYLES
5094
- };
5095
- var IntentBadge = React44.forwardRef(
5096
- ({ className, intent = "neutral", children, ...props }, ref) => /* @__PURE__ */ jsx61(
5097
- "span",
5098
- {
5099
- ref,
5100
- title: typeof children === "string" ? children : void 0,
5101
- className: cn(
5102
- "inline-flex max-w-full items-center rounded-full border px-2.5 py-0.5 text-xs font-medium",
5103
- INTENT_CLASSES[intent],
5104
- className
5105
- ),
5106
- ...props,
5107
- children: /* @__PURE__ */ jsx61("span", { className: "truncate", children: isEmptyValue(children) ? /* @__PURE__ */ jsx61(EmptyValue, {}) : children })
5108
- }
5109
- )
5110
- );
5111
- IntentBadge.displayName = "IntentBadge";
5112
-
5113
4673
  // src/overflow-menu.tsx
5114
- import * as React45 from "react";
5115
- import { Fragment as Fragment10, jsx as jsx62, jsxs as jsxs47 } 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";
5116
4676
  function OverflowMenu({
5117
4677
  label,
5118
4678
  items,
5119
4679
  defaultOpen = false,
5120
4680
  className
5121
4681
  }) {
5122
- const [open, setOpen] = React45.useState(defaultOpen);
5123
- const menuId = React45.useId();
5124
- React45.useEffect(() => {
4682
+ const [open, setOpen] = React39.useState(defaultOpen);
4683
+ const menuId = React39.useId();
4684
+ React39.useEffect(() => {
5125
4685
  if (!open) return;
5126
4686
  const onKey = (e) => {
5127
4687
  if (e.key === "Escape") setOpen(false);
@@ -5129,8 +4689,8 @@ function OverflowMenu({
5129
4689
  document.addEventListener("keydown", onKey);
5130
4690
  return () => document.removeEventListener("keydown", onKey);
5131
4691
  }, [open]);
5132
- return /* @__PURE__ */ jsxs47("div", { className: cn("relative inline-block", className), children: [
5133
- /* @__PURE__ */ jsx62(
4692
+ return /* @__PURE__ */ jsxs42("div", { className: cn("relative inline-block", className), children: [
4693
+ /* @__PURE__ */ jsx53(
5134
4694
  Button,
5135
4695
  {
5136
4696
  variant: "outline",
@@ -5140,11 +4700,11 @@ function OverflowMenu({
5140
4700
  "aria-expanded": open,
5141
4701
  "aria-controls": open ? menuId : void 0,
5142
4702
  onClick: () => setOpen(!open),
5143
- children: /* @__PURE__ */ jsx62(Icon, { name: "ellipsis", size: "sm" })
4703
+ children: /* @__PURE__ */ jsx53(Icon, { name: "ellipsis", size: "sm" })
5144
4704
  }
5145
4705
  ),
5146
- open && /* @__PURE__ */ jsxs47(Fragment10, { children: [
5147
- /* @__PURE__ */ jsx62(
4706
+ open && /* @__PURE__ */ jsxs42(Fragment8, { children: [
4707
+ /* @__PURE__ */ jsx53(
5148
4708
  "div",
5149
4709
  {
5150
4710
  "aria-hidden": "true",
@@ -5152,14 +4712,14 @@ function OverflowMenu({
5152
4712
  onClick: () => setOpen(false)
5153
4713
  }
5154
4714
  ),
5155
- /* @__PURE__ */ jsx62(
4715
+ /* @__PURE__ */ jsx53(
5156
4716
  "div",
5157
4717
  {
5158
4718
  id: menuId,
5159
4719
  role: "menu",
5160
4720
  "aria-label": label,
5161
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",
5162
- children: items.map((item) => /* @__PURE__ */ jsxs47(
4722
+ children: items.map((item) => /* @__PURE__ */ jsxs42(
5163
4723
  "button",
5164
4724
  {
5165
4725
  type: "button",
@@ -5174,8 +4734,8 @@ function OverflowMenu({
5174
4734
  item.destructive ? "text-intent-error-foreground" : "text-popover-foreground"
5175
4735
  ),
5176
4736
  children: [
5177
- item.icon && /* @__PURE__ */ jsx62(Icon, { name: item.icon, size: "sm" }),
5178
- /* @__PURE__ */ jsx62("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 })
5179
4739
  ]
5180
4740
  },
5181
4741
  item.label
@@ -5187,9 +4747,9 @@ function OverflowMenu({
5187
4747
  }
5188
4748
 
5189
4749
  // src/stage-list.tsx
5190
- import * as React46 from "react";
5191
- import { jsx as jsx63, jsxs as jsxs48 } from "react/jsx-runtime";
5192
- 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(
5193
4753
  ({ stages, outcomes = [], current, ...props }, ref) => {
5194
4754
  const at = stages.findIndex((s) => s.value === current);
5195
4755
  const outcome = outcomes.find((s) => s.value === current);
@@ -5197,7 +4757,7 @@ var StageList = React46.forwardRef(
5197
4757
  throw new Error(
5198
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"})`
5199
4759
  );
5200
- return /* @__PURE__ */ jsxs48(
4760
+ return /* @__PURE__ */ jsxs43(
5201
4761
  Stepper,
5202
4762
  {
5203
4763
  ref,
@@ -5206,7 +4766,7 @@ var StageList = React46.forwardRef(
5206
4766
  activeStep: outcome ? stages.length : at,
5207
4767
  ...props,
5208
4768
  children: [
5209
- stages.map((s) => /* @__PURE__ */ jsx63(
4769
+ stages.map((s) => /* @__PURE__ */ jsx54(
5210
4770
  StepperStep,
5211
4771
  {
5212
4772
  label: s.label,
@@ -5214,7 +4774,7 @@ var StageList = React46.forwardRef(
5214
4774
  },
5215
4775
  s.value
5216
4776
  )),
5217
- outcome && /* @__PURE__ */ jsx63(StepperStep, { label: outcome.label, error: true }, outcome.value)
4777
+ outcome && /* @__PURE__ */ jsx54(StepperStep, { label: outcome.label, error: true }, outcome.value)
5218
4778
  ]
5219
4779
  }
5220
4780
  );
@@ -5223,15 +4783,15 @@ var StageList = React46.forwardRef(
5223
4783
  StageList.displayName = "StageList";
5224
4784
 
5225
4785
  // src/clamped-list.tsx
5226
- import * as React47 from "react";
5227
- import { jsx as jsx64, jsxs as jsxs49 } from "react/jsx-runtime";
4786
+ import * as React41 from "react";
4787
+ import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
5228
4788
  var MAX_HEIGHTS = {
5229
4789
  sm: "max-h-48",
5230
4790
  md: "max-h-72",
5231
4791
  lg: "max-h-96"
5232
4792
  };
5233
- var ClampedList = React47.forwardRef(
5234
- ({ className, label, maxHeight = "md", children, ...props }, ref) => /* @__PURE__ */ jsxs49(
4793
+ var ClampedList = React41.forwardRef(
4794
+ ({ className, label, maxHeight = "md", children, ...props }, ref) => /* @__PURE__ */ jsxs44(
5235
4795
  "div",
5236
4796
  {
5237
4797
  ref,
@@ -5247,13 +4807,13 @@ var ClampedList = React47.forwardRef(
5247
4807
  ...props,
5248
4808
  children: [
5249
4809
  children,
5250
- /* @__PURE__ */ jsx64(
4810
+ /* @__PURE__ */ jsx55(
5251
4811
  "div",
5252
4812
  {
5253
4813
  "aria-hidden": "true",
5254
4814
  "data-scroll-hint": "y",
5255
4815
  className: SCROLL_HINT_Y_MARK,
5256
- children: /* @__PURE__ */ jsx64("span", { className: "flex items-center rounded-full border border-border bg-card px-2 text-muted-foreground shadow-sm", children: /* @__PURE__ */ jsx64(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" }) })
5257
4817
  }
5258
4818
  )
5259
4819
  ]
@@ -5263,10 +4823,10 @@ var ClampedList = React47.forwardRef(
5263
4823
  ClampedList.displayName = "ClampedList";
5264
4824
 
5265
4825
  // src/textarea.tsx
5266
- import * as React48 from "react";
5267
- import { jsx as jsx65, jsxs as jsxs50 } from "react/jsx-runtime";
4826
+ import * as React42 from "react";
4827
+ import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
5268
4828
  var lengthOf = (v) => v === void 0 ? 0 : Array.isArray(v) ? v.join(",").length : String(v).length;
5269
- var Textarea = React48.forwardRef(
4829
+ var Textarea = React42.forwardRef(
5270
4830
  ({
5271
4831
  className,
5272
4832
  error,
@@ -5281,11 +4841,11 @@ var Textarea = React48.forwardRef(
5281
4841
  onChange,
5282
4842
  ...props
5283
4843
  }, ref) => {
5284
- const countId = React48.useId();
5285
- const [typed, setTyped] = React48.useState(() => lengthOf(defaultValue));
4844
+ const countId = React42.useId();
4845
+ const [typed, setTyped] = React42.useState(() => lengthOf(defaultValue));
5286
4846
  const count = value === void 0 ? typed : lengthOf(value);
5287
4847
  const aria = fieldAria(error, errorMessageId);
5288
- const field = /* @__PURE__ */ jsx65(
4848
+ const field = /* @__PURE__ */ jsx56(
5289
4849
  "textarea",
5290
4850
  {
5291
4851
  ref,
@@ -5310,9 +4870,9 @@ var Textarea = React48.forwardRef(
5310
4870
  );
5311
4871
  if (!showCount) return field;
5312
4872
  const atLimit = maxLength !== void 0 && count >= maxLength;
5313
- return /* @__PURE__ */ jsxs50("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: [
5314
4874
  field,
5315
- /* @__PURE__ */ jsx65(
4875
+ /* @__PURE__ */ jsx56(
5316
4876
  "p",
5317
4877
  {
5318
4878
  id: countId,
@@ -5329,8 +4889,8 @@ var Textarea = React48.forwardRef(
5329
4889
  Textarea.displayName = "Textarea";
5330
4890
 
5331
4891
  // src/select.tsx
5332
- import * as React49 from "react";
5333
- import { jsx as jsx66, jsxs as jsxs51 } from "react/jsx-runtime";
4892
+ import * as React43 from "react";
4893
+ import { jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
5334
4894
  var CHEVRON_END = {
5335
4895
  sm: "right-2.5",
5336
4896
  md: "right-3",
@@ -5341,7 +4901,7 @@ var END_PADDING = {
5341
4901
  md: "pr-9",
5342
4902
  lg: "pr-10"
5343
4903
  };
5344
- var Select = React49.forwardRef(
4904
+ var Select = React43.forwardRef(
5345
4905
  ({
5346
4906
  className,
5347
4907
  options,
@@ -5359,8 +4919,8 @@ var Select = React49.forwardRef(
5359
4919
  "Select: pass `options` or `<option>` children, not both"
5360
4920
  );
5361
4921
  const showsPlaceholder = placeholder !== void 0 && value === void 0 && defaultValue === void 0;
5362
- return /* @__PURE__ */ jsxs51("div", { className: "relative w-full min-w-0", children: [
5363
- /* @__PURE__ */ jsxs51(
4922
+ return /* @__PURE__ */ jsxs46("div", { className: "relative w-full min-w-0", children: [
4923
+ /* @__PURE__ */ jsxs46(
5364
4924
  "select",
5365
4925
  {
5366
4926
  ref,
@@ -5377,13 +4937,13 @@ var Select = React49.forwardRef(
5377
4937
  ),
5378
4938
  ...props,
5379
4939
  children: [
5380
- placeholder !== void 0 && /* @__PURE__ */ jsx66("option", { value: "", disabled: true, hidden: true, children: placeholder }),
5381
- options?.map((o) => /* @__PURE__ */ jsx66("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)),
5382
4942
  children
5383
4943
  ]
5384
4944
  }
5385
4945
  ),
5386
- /* @__PURE__ */ jsx66(
4946
+ /* @__PURE__ */ jsx57(
5387
4947
  Icon,
5388
4948
  {
5389
4949
  name: "chevron-down",
@@ -5400,13 +4960,13 @@ var Select = React49.forwardRef(
5400
4960
  Select.displayName = "Select";
5401
4961
 
5402
4962
  // src/checkbox.tsx
5403
- import * as React50 from "react";
5404
- import { jsx as jsx67, jsxs as jsxs52 } from "react/jsx-runtime";
4963
+ import * as React44 from "react";
4964
+ import { jsx as jsx58, jsxs as jsxs47 } from "react/jsx-runtime";
5405
4965
  var BOX = {
5406
4966
  sm: "size-4",
5407
4967
  md: "size-5"
5408
4968
  };
5409
- var Checkbox = React50.forwardRef(
4969
+ var Checkbox = React44.forwardRef(
5410
4970
  ({
5411
4971
  className,
5412
4972
  indeterminate = false,
@@ -5420,23 +4980,23 @@ var Checkbox = React50.forwardRef(
5420
4980
  id,
5421
4981
  ...props
5422
4982
  }, ref) => {
5423
- const autoId = React50.useId();
4983
+ const autoId = React44.useId();
5424
4984
  const inputId = id ?? autoId;
5425
4985
  const descId = `${inputId}-description`;
5426
4986
  const errorId = `${inputId}-error`;
5427
- const inner = React50.useRef(null);
5428
- React50.useImperativeHandle(ref, () => {
4987
+ const inner = React44.useRef(null);
4988
+ React44.useImperativeHandle(ref, () => {
5429
4989
  if (!inner.current) throw new Error("Checkbox: the input is not mounted");
5430
4990
  return inner.current;
5431
4991
  });
5432
- React50.useEffect(() => {
4992
+ React44.useEffect(() => {
5433
4993
  if (inner.current) inner.current.indeterminate = indeterminate;
5434
4994
  }, [indeterminate]);
5435
4995
  const hasError = Boolean(error);
5436
4996
  const message = typeof error === "string" ? error : void 0;
5437
4997
  const describedBy = [description ? descId : void 0, message ? errorId : void 0].filter(Boolean).join(" ") || void 0;
5438
- return /* @__PURE__ */ jsxs52("div", { className: cn("flex items-start gap-2", className), children: [
5439
- /* @__PURE__ */ jsxs52(
4998
+ return /* @__PURE__ */ jsxs47("div", { className: cn("flex items-start gap-2", className), children: [
4999
+ /* @__PURE__ */ jsxs47(
5440
5000
  "span",
5441
5001
  {
5442
5002
  className: cn(
@@ -5444,7 +5004,7 @@ var Checkbox = React50.forwardRef(
5444
5004
  size === "sm" ? "mt-0.5" : "mt-px"
5445
5005
  ),
5446
5006
  children: [
5447
- /* @__PURE__ */ jsx67(
5007
+ /* @__PURE__ */ jsx58(
5448
5008
  "input",
5449
5009
  {
5450
5010
  ref: inner,
@@ -5471,13 +5031,13 @@ var Checkbox = React50.forwardRef(
5471
5031
  ...props
5472
5032
  }
5473
5033
  ),
5474
- indeterminate ? /* @__PURE__ */ jsx67(
5034
+ indeterminate ? /* @__PURE__ */ jsx58(
5475
5035
  "span",
5476
5036
  {
5477
5037
  "aria-hidden": "true",
5478
5038
  className: "pointer-events-none absolute h-0.5 w-1/2 rounded-full bg-primary-foreground"
5479
5039
  }
5480
- ) : /* @__PURE__ */ jsx67(
5040
+ ) : /* @__PURE__ */ jsx58(
5481
5041
  Icon,
5482
5042
  {
5483
5043
  name: "check",
@@ -5488,8 +5048,8 @@ var Checkbox = React50.forwardRef(
5488
5048
  ]
5489
5049
  }
5490
5050
  ),
5491
- (label || description || message) && /* @__PURE__ */ jsxs52("div", { className: "min-w-0 space-y-0.5", children: [
5492
- label && /* @__PURE__ */ jsx67(
5051
+ (label || description || message) && /* @__PURE__ */ jsxs47("div", { className: "min-w-0 space-y-0.5", children: [
5052
+ label && /* @__PURE__ */ jsx58(
5493
5053
  Label,
5494
5054
  {
5495
5055
  htmlFor: inputId,
@@ -5502,14 +5062,14 @@ var Checkbox = React50.forwardRef(
5502
5062
  children: label
5503
5063
  }
5504
5064
  ),
5505
- description && /* @__PURE__ */ jsx67("p", { id: descId, className: "text-xs text-muted-foreground", children: description }),
5506
- message && /* @__PURE__ */ jsx67("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 })
5507
5067
  ] })
5508
5068
  ] });
5509
5069
  }
5510
5070
  );
5511
5071
  Checkbox.displayName = "Checkbox";
5512
- var CheckboxGroup = React50.forwardRef(
5072
+ var CheckboxGroup = React44.forwardRef(
5513
5073
  ({
5514
5074
  className,
5515
5075
  legend,
@@ -5522,8 +5082,8 @@ var CheckboxGroup = React50.forwardRef(
5522
5082
  size = "md",
5523
5083
  ...props
5524
5084
  }, ref) => {
5525
- const errorId = React50.useId();
5526
- return /* @__PURE__ */ jsxs52(
5085
+ const errorId = React44.useId();
5086
+ return /* @__PURE__ */ jsxs47(
5527
5087
  "fieldset",
5528
5088
  {
5529
5089
  ref,
@@ -5532,14 +5092,14 @@ var CheckboxGroup = React50.forwardRef(
5532
5092
  className: cn("min-w-0 space-y-2", className),
5533
5093
  ...props,
5534
5094
  children: [
5535
- /* @__PURE__ */ jsx67("legend", { className: "mb-2 text-sm font-medium text-foreground", children: legend }),
5536
- /* @__PURE__ */ jsx67(
5095
+ /* @__PURE__ */ jsx58("legend", { className: "mb-2 text-sm font-medium text-foreground", children: legend }),
5096
+ /* @__PURE__ */ jsx58(
5537
5097
  "div",
5538
5098
  {
5539
5099
  className: cn(
5540
5100
  orientation === "horizontal" ? "flex flex-wrap gap-x-6 gap-y-2" : "space-y-2"
5541
5101
  ),
5542
- children: options.map((o) => /* @__PURE__ */ jsx67(
5102
+ children: options.map((o) => /* @__PURE__ */ jsx58(
5543
5103
  Checkbox,
5544
5104
  {
5545
5105
  name,
@@ -5559,7 +5119,7 @@ var CheckboxGroup = React50.forwardRef(
5559
5119
  ))
5560
5120
  }
5561
5121
  ),
5562
- error && /* @__PURE__ */ jsx67("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 })
5563
5123
  ]
5564
5124
  }
5565
5125
  );
@@ -5568,15 +5128,15 @@ var CheckboxGroup = React50.forwardRef(
5568
5128
  CheckboxGroup.displayName = "CheckboxGroup";
5569
5129
 
5570
5130
  // src/progress.tsx
5571
- import * as React51 from "react";
5572
- import { jsx as jsx68, jsxs as jsxs53 } from "react/jsx-runtime";
5131
+ import * as React45 from "react";
5132
+ import { jsx as jsx59, jsxs as jsxs48 } from "react/jsx-runtime";
5573
5133
  var FILL = {
5574
5134
  primary: "bg-primary-solid dark:bg-primary",
5575
5135
  success: "bg-intent-success-solid dark:bg-intent-success",
5576
5136
  warning: "bg-intent-warning-solid dark:bg-intent-warning",
5577
5137
  error: "bg-intent-error-solid dark:bg-intent-error"
5578
5138
  };
5579
- var Progress = React51.forwardRef(
5139
+ var Progress = React45.forwardRef(
5580
5140
  ({
5581
5141
  className,
5582
5142
  value,
@@ -5588,11 +5148,11 @@ var Progress = React51.forwardRef(
5588
5148
  }, ref) => {
5589
5149
  if (value !== void 0 && !(value >= 0 && value <= 100))
5590
5150
  throw new Error(`Progress: value must be within 0\u2013100, got ${value}`);
5591
- const labelId = React51.useId();
5151
+ const labelId = React45.useId();
5592
5152
  const shown = Math.round(value ?? 0);
5593
- return /* @__PURE__ */ jsxs53("div", { ref, className: cn("w-full min-w-0 space-y-1.5", className), children: [
5594
- (label || showValue && value !== void 0) && /* @__PURE__ */ jsxs53("div", { className: "flex items-baseline justify-between gap-3 text-sm", children: [
5595
- label && /* @__PURE__ */ jsx68(
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(
5596
5156
  "span",
5597
5157
  {
5598
5158
  id: labelId,
@@ -5600,12 +5160,12 @@ var Progress = React51.forwardRef(
5600
5160
  children: label
5601
5161
  }
5602
5162
  ),
5603
- showValue && value !== void 0 && /* @__PURE__ */ jsxs53("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: [
5604
5164
  shown,
5605
5165
  "%"
5606
5166
  ] })
5607
5167
  ] }),
5608
- /* @__PURE__ */ jsx68(
5168
+ /* @__PURE__ */ jsx59(
5609
5169
  "div",
5610
5170
  {
5611
5171
  role: "progressbar",
@@ -5619,7 +5179,7 @@ var Progress = React51.forwardRef(
5619
5179
  size === "sm" ? "h-1.5" : "h-2.5"
5620
5180
  ),
5621
5181
  ...props,
5622
- children: /* @__PURE__ */ jsx68(
5182
+ children: /* @__PURE__ */ jsx59(
5623
5183
  "div",
5624
5184
  {
5625
5185
  "data-ui-boundary": "",
@@ -5639,10 +5199,10 @@ var Progress = React51.forwardRef(
5639
5199
  Progress.displayName = "Progress";
5640
5200
 
5641
5201
  // src/hooks/use-debounce.ts
5642
- import { useEffect as useEffect12, useState as useState12 } from "react";
5202
+ import { useEffect as useEffect7, useState as useState11 } from "react";
5643
5203
  function useDebounce(value, ms) {
5644
- const [debounced, setDebounced] = useState12(value);
5645
- useEffect12(() => {
5204
+ const [debounced, setDebounced] = useState11(value);
5205
+ useEffect7(() => {
5646
5206
  const handle = setTimeout(() => setDebounced(value), ms);
5647
5207
  return () => clearTimeout(handle);
5648
5208
  }, [value, ms]);
@@ -5664,7 +5224,7 @@ export {
5664
5224
  Button,
5665
5225
  ButtonGroup,
5666
5226
  ButtonGroupItem,
5667
- Calendar2 as Calendar,
5227
+ Calendar,
5668
5228
  Card,
5669
5229
  CardContent,
5670
5230
  CardDescription,