@alexgorbatchev/shadcn 0.0.38 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +35 -1
  2. package/THIRD_PARTY_NOTICES.md +4 -0
  3. package/dist/{chunk-6grcm62s.js → chunk-1hj251b8.js} +1 -1
  4. package/dist/{chunk-f71469fs.js → chunk-4stkzcvt.js} +550 -433
  5. package/dist/{chunk-r9qrb6b6.js → chunk-5bw5h08v.js} +1 -1
  6. package/dist/{chunk-kmvvw1vr.js → chunk-sb00e3gj.js} +1 -1
  7. package/dist/components/DataViewer.d.ts +16 -0
  8. package/dist/components/data-grid/index.js +2 -2
  9. package/dist/components/gantt/index.js +2 -2
  10. package/dist/components/json-render/index.js +3 -3
  11. package/dist/components/virtual-data-grid/index.js +2 -2
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.js +7 -3
  14. package/dist/prototype.js +3665 -0
  15. package/licenses/commander-MIT.txt +22 -0
  16. package/llms/components/data-display/DataViewer.md +90 -0
  17. package/llms/components/forms/NativeSelect.md +8 -0
  18. package/llms/setup.md +35 -1
  19. package/llms.txt +1 -0
  20. package/package.json +9 -3
  21. package/templates/prototype/AGENTS.md +23 -0
  22. package/templates/prototype/gitignore +5 -0
  23. package/templates/prototype/index.html +12 -0
  24. package/templates/prototype/justfile +18 -0
  25. package/templates/prototype/src/components/ScenarioContent.tsx +41 -0
  26. package/templates/prototype/src/components/Workbench.tsx +132 -0
  27. package/templates/prototype/src/main.tsx +12 -0
  28. package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +80 -0
  29. package/templates/prototype/src/prototypes/dashboard/data.ts +5 -0
  30. package/templates/prototype/src/prototypes/dashboard/prototype.ts +9 -0
  31. package/templates/prototype/src/prototypes/projects/components/Projects.tsx +151 -0
  32. package/templates/prototype/src/prototypes/projects/data.ts +5 -0
  33. package/templates/prototype/src/prototypes/projects/prototype.ts +9 -0
  34. package/templates/prototype/src/prototypes/settings/components/Settings.tsx +72 -0
  35. package/templates/prototype/src/prototypes/settings/prototype.ts +9 -0
  36. package/templates/prototype/src/styles.css +7 -0
  37. package/templates/prototype/src/types.ts +9 -0
  38. package/templates/prototype/tsconfig.json +13 -0
  39. package/templates/prototype/vite.config.ts +8 -0
@@ -113,7 +113,7 @@ import {
113
113
  import {
114
114
  NativeSelect2,
115
115
  NativeSelectOption2
116
- } from "./chunk-r9qrb6b6.js";
116
+ } from "./chunk-5bw5h08v.js";
117
117
  import {
118
118
  SidebarProvider2,
119
119
  Sidebar2,
@@ -267,10 +267,127 @@ function PageMessage2({ title, description, children }) {
267
267
  })
268
268
  });
269
269
  }
270
+ // src/components/DataViewer.tsx
271
+ import { Fragment } from "react";
272
+ import { jsx as jsx5, jsxs as jsxs4, Fragment as Fragment2 } from "react/jsx-runtime";
273
+ var ACRONYMS = new Map([
274
+ ["api", "API"],
275
+ ["http", "HTTP"],
276
+ ["https", "HTTPS"],
277
+ ["id", "ID"],
278
+ ["ids", "IDs"],
279
+ ["json", "JSON"],
280
+ ["url", "URL"],
281
+ ["urls", "URLs"],
282
+ ["uuid", "UUID"]
283
+ ]);
284
+ function formatDataLabel2(key) {
285
+ const label = key.replace(/([a-z0-9])([A-Z])/g, "$1 $2").split(/[\s_-]+/).filter(Boolean).map((word) => ACRONYMS.get(word.toLowerCase()) ?? word.toLowerCase()).join(" ");
286
+ return label.charAt(0).toUpperCase() + label.slice(1);
287
+ }
288
+ function isRecord(value) {
289
+ return typeof value === "object" && value !== null && !Array.isArray(value);
290
+ }
291
+ function isNested(value) {
292
+ return Array.isArray(value) || isRecord(value);
293
+ }
294
+ function Placeholder({ children }) {
295
+ return /* @__PURE__ */ jsx5("span", {
296
+ className: "text-muted-foreground italic",
297
+ children
298
+ });
299
+ }
300
+ function DataValue({ value, formatLabel }) {
301
+ if (Array.isArray(value)) {
302
+ if (value.length === 0)
303
+ return /* @__PURE__ */ jsx5(Placeholder, {
304
+ children: "None"
305
+ });
306
+ return value.some(isNested) ? /* @__PURE__ */ jsx5("ol", {
307
+ className: "flex list-decimal flex-col gap-2 pl-5 marker:text-muted-foreground",
308
+ children: value.map((item, index) => /* @__PURE__ */ jsx5("li", {
309
+ className: "min-w-0",
310
+ children: /* @__PURE__ */ jsx5(DataValue, {
311
+ value: item,
312
+ formatLabel
313
+ })
314
+ }, index))
315
+ }) : /* @__PURE__ */ jsx5("ul", {
316
+ className: "flex flex-wrap gap-x-3 gap-y-1",
317
+ children: value.map((item, index) => /* @__PURE__ */ jsx5("li", {
318
+ className: "min-w-0 break-words",
319
+ children: /* @__PURE__ */ jsx5(DataValue, {
320
+ value: item,
321
+ formatLabel
322
+ })
323
+ }, index))
324
+ });
325
+ }
326
+ if (isRecord(value)) {
327
+ const entries = Object.entries(value);
328
+ if (entries.length === 0)
329
+ return /* @__PURE__ */ jsx5(Placeholder, {
330
+ children: "None"
331
+ });
332
+ return /* @__PURE__ */ jsx5("dl", {
333
+ className: "grid grid-cols-[minmax(0,max-content)_minmax(0,1fr)] gap-x-4 gap-y-1",
334
+ children: entries.map(([key, item]) => /* @__PURE__ */ jsxs4(Fragment, {
335
+ children: [
336
+ /* @__PURE__ */ jsx5("dt", {
337
+ className: "min-w-0 break-words text-muted-foreground",
338
+ children: formatLabel(key)
339
+ }),
340
+ /* @__PURE__ */ jsx5("dd", {
341
+ className: cn2("min-w-0 break-words", isRecord(item) && "border-l border-border pl-3"),
342
+ children: /* @__PURE__ */ jsx5(DataValue, {
343
+ value: item,
344
+ formatLabel
345
+ })
346
+ })
347
+ ]
348
+ }, key))
349
+ });
350
+ }
351
+ if (value === null || value === undefined)
352
+ return /* @__PURE__ */ jsx5(Placeholder, {
353
+ children: "None"
354
+ });
355
+ if (typeof value === "boolean")
356
+ return /* @__PURE__ */ jsx5(Fragment2, {
357
+ children: value ? "Yes" : "No"
358
+ });
359
+ if (value === "")
360
+ return /* @__PURE__ */ jsx5(Placeholder, {
361
+ children: "Empty"
362
+ });
363
+ return /* @__PURE__ */ jsx5(Fragment2, {
364
+ children: String(value)
365
+ });
366
+ }
367
+ function DataViewer2({
368
+ value,
369
+ label = "Data",
370
+ formatLabel = formatDataLabel2,
371
+ density,
372
+ className,
373
+ ...props
374
+ }) {
375
+ return /* @__PURE__ */ jsx5("section", {
376
+ "aria-label": label,
377
+ "data-density": density,
378
+ "data-slot": "data-viewer",
379
+ className: cn2("min-w-0 text-sm", className),
380
+ ...props,
381
+ children: /* @__PURE__ */ jsx5(DataValue, {
382
+ value,
383
+ formatLabel
384
+ })
385
+ });
386
+ }
270
387
  // src/components/JsonViewer.tsx
271
- import { jsx as jsx5 } from "react/jsx-runtime";
388
+ import { jsx as jsx6 } from "react/jsx-runtime";
272
389
  function JsonViewer2({ value, label = "JSON", rows = 12 }) {
273
- return /* @__PURE__ */ jsx5(Textarea2, {
390
+ return /* @__PURE__ */ jsx6(Textarea2, {
274
391
  readOnly: true,
275
392
  rows,
276
393
  "aria-label": label,
@@ -280,16 +397,16 @@ function JsonViewer2({ value, label = "JSON", rows = 12 }) {
280
397
  // src/components/AlertDialog.tsx
281
398
  import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";
282
399
  import { useDirection } from "@base-ui/react/direction-provider";
283
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
400
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
284
401
  "use client";
285
402
  function AlertDialog2({ ...props }) {
286
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Root, {
403
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Root, {
287
404
  "data-slot": "alert-dialog",
288
405
  ...props
289
406
  });
290
407
  }
291
408
  function AlertDialogTrigger2({ ...props }) {
292
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Trigger, {
409
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Trigger, {
293
410
  "data-slot": "alert-dialog-trigger",
294
411
  ...props
295
412
  });
@@ -297,12 +414,12 @@ function AlertDialogTrigger2({ ...props }) {
297
414
  function AlertDialogPortal2({ container, ref, children, ...props }) {
298
415
  const resolvedContainer = usePortalContainer2(container);
299
416
  const portal = usePortalNode(ref);
300
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Portal, {
417
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Portal, {
301
418
  "data-slot": "alert-dialog-portal",
302
419
  container: resolvedContainer,
303
420
  ref: portal.ref,
304
421
  ...props,
305
- children: /* @__PURE__ */ jsx6(PortalProvider2, {
422
+ children: /* @__PURE__ */ jsx7(PortalProvider2, {
306
423
  container: portal.node,
307
424
  children
308
425
  })
@@ -310,7 +427,7 @@ function AlertDialogPortal2({ container, ref, children, ...props }) {
310
427
  }
311
428
  function AlertDialogOverlay2({ density, className, ...props }) {
312
429
  const resolvedDensity = useDensity(density);
313
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Backdrop, {
430
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Backdrop, {
314
431
  "data-density": resolvedDensity,
315
432
  "data-slot": "alert-dialog-overlay",
316
433
  className: (state) => cn2("fixed inset-0 isolate bg-backdrop duration-120 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none", typeof className === "function" ? className(state) : className),
@@ -320,10 +437,10 @@ function AlertDialogOverlay2({ density, className, ...props }) {
320
437
  function AlertDialogContent2({ density, className, size = "default", ...props }) {
321
438
  const resolvedDensity = useDensity(density);
322
439
  const direction = useDirection();
323
- return /* @__PURE__ */ jsxs4(AlertDialogPortal2, {
440
+ return /* @__PURE__ */ jsxs5(AlertDialogPortal2, {
324
441
  children: [
325
- /* @__PURE__ */ jsx6(AlertDialogOverlay2, {}),
326
- /* @__PURE__ */ jsx6(AlertDialogPrimitive.Popup, {
442
+ /* @__PURE__ */ jsx7(AlertDialogOverlay2, {}),
443
+ /* @__PURE__ */ jsx7(AlertDialogPrimitive.Popup, {
327
444
  dir: direction,
328
445
  "data-density": resolvedDensity,
329
446
  "data-slot": "alert-dialog-content",
@@ -336,7 +453,7 @@ function AlertDialogContent2({ density, className, size = "default", ...props })
336
453
  });
337
454
  }
338
455
  function AlertDialogHeader2({ density, className, ...props }) {
339
- return /* @__PURE__ */ jsx6("div", {
456
+ return /* @__PURE__ */ jsx7("div", {
340
457
  "data-density": density,
341
458
  "data-slot": "alert-dialog-header",
342
459
  className: cn2("grid grid-rows-[auto_1fr] place-items-center gap-control-gap text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-start sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
@@ -344,7 +461,7 @@ function AlertDialogHeader2({ density, className, ...props }) {
344
461
  });
345
462
  }
346
463
  function AlertDialogFooter2({ density, className, ...props }) {
347
- return /* @__PURE__ */ jsx6("div", {
464
+ return /* @__PURE__ */ jsx7("div", {
348
465
  "data-density": density,
349
466
  "data-slot": "alert-dialog-footer",
350
467
  className: cn2("-mx-panel -mb-panel flex flex-col-reverse gap-2 rounded-b-md border-t bg-muted/50 p-panel group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", className),
@@ -352,7 +469,7 @@ function AlertDialogFooter2({ density, className, ...props }) {
352
469
  });
353
470
  }
354
471
  function AlertDialogMedia2({ density, className, ...props }) {
355
- return /* @__PURE__ */ jsx6("div", {
472
+ return /* @__PURE__ */ jsx7("div", {
356
473
  "data-density": density,
357
474
  "data-slot": "alert-dialog-media",
358
475
  className: cn2("mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-control-xs", className),
@@ -360,7 +477,7 @@ function AlertDialogMedia2({ density, className, ...props }) {
360
477
  });
361
478
  }
362
479
  function AlertDialogTitle2({ density, className, ...props }) {
363
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Title, {
480
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Title, {
364
481
  "data-density": density,
365
482
  "data-slot": "alert-dialog-title",
366
483
  className: (state) => cn2("text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", typeof className === "function" ? className(state) : className),
@@ -368,7 +485,7 @@ function AlertDialogTitle2({ density, className, ...props }) {
368
485
  });
369
486
  }
370
487
  function AlertDialogDescription2({ density, className, ...props }) {
371
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Description, {
488
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Description, {
372
489
  "data-density": density,
373
490
  "data-slot": "alert-dialog-description",
374
491
  className: (state) => cn2("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", typeof className === "function" ? className(state) : className),
@@ -376,7 +493,7 @@ function AlertDialogDescription2({ density, className, ...props }) {
376
493
  });
377
494
  }
378
495
  function AlertDialogAction2({ density, className, ...props }) {
379
- return /* @__PURE__ */ jsx6(Button2, {
496
+ return /* @__PURE__ */ jsx7(Button2, {
380
497
  "data-density": density,
381
498
  "data-slot": "alert-dialog-action",
382
499
  className,
@@ -390,11 +507,11 @@ function AlertDialogCancel2({
390
507
  size = "default",
391
508
  ...props
392
509
  }) {
393
- return /* @__PURE__ */ jsx6(AlertDialogPrimitive.Close, {
510
+ return /* @__PURE__ */ jsx7(AlertDialogPrimitive.Close, {
394
511
  "data-density": density,
395
512
  "data-slot": "alert-dialog-cancel",
396
513
  className,
397
- render: /* @__PURE__ */ jsx6(Button2, {
514
+ render: /* @__PURE__ */ jsx7(Button2, {
398
515
  variant,
399
516
  size
400
517
  }),
@@ -405,11 +522,11 @@ function AlertDialogCancel2({
405
522
  import { Select as SelectPrimitive } from "@base-ui/react/select";
406
523
  import { useDirection as useDirection3 } from "@base-ui/react/direction-provider";
407
524
  import { ChevronDownIcon as ChevronDownIcon2, CheckIcon, ChevronUpIcon as ChevronUpIcon2 } from "lucide-react";
408
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
525
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
409
526
  "use client";
410
527
  var Select2 = SelectPrimitive.Root;
411
528
  function SelectGroup2({ density, className, ...props }) {
412
- return /* @__PURE__ */ jsx7(SelectPrimitive.Group, {
529
+ return /* @__PURE__ */ jsx8(SelectPrimitive.Group, {
413
530
  "data-density": density,
414
531
  "data-slot": "select-group",
415
532
  className: (state) => cn2("scroll-my-1 p-1", typeof className === "function" ? className(state) : className),
@@ -417,7 +534,7 @@ function SelectGroup2({ density, className, ...props }) {
417
534
  });
418
535
  }
419
536
  function SelectValue2({ density, className, ...props }) {
420
- return /* @__PURE__ */ jsx7(SelectPrimitive.Value, {
537
+ return /* @__PURE__ */ jsx8(SelectPrimitive.Value, {
421
538
  "data-density": density,
422
539
  "data-slot": "select-value",
423
540
  className: (state) => cn2("flex flex-1 text-start", typeof className === "function" ? className(state) : className),
@@ -425,7 +542,7 @@ function SelectValue2({ density, className, ...props }) {
425
542
  });
426
543
  }
427
544
  function SelectTrigger2({ density, className, size = "default", children, ...props }) {
428
- return /* @__PURE__ */ jsxs5(SelectPrimitive.Trigger, {
545
+ return /* @__PURE__ */ jsxs6(SelectPrimitive.Trigger, {
429
546
  "data-density": density,
430
547
  "data-slot": "select-trigger",
431
548
  "data-size": size,
@@ -433,8 +550,8 @@ function SelectTrigger2({ density, className, size = "default", children, ...pro
433
550
  ...props,
434
551
  children: [
435
552
  children,
436
- /* @__PURE__ */ jsx7(SelectPrimitive.Icon, {
437
- render: /* @__PURE__ */ jsx7(ChevronDownIcon2, {
553
+ /* @__PURE__ */ jsx8(SelectPrimitive.Icon, {
554
+ render: /* @__PURE__ */ jsx8(ChevronDownIcon2, {
438
555
  className: "pointer-events-none size-4 text-muted-foreground"
439
556
  })
440
557
  })
@@ -456,19 +573,19 @@ function SelectContent2({
456
573
  const direction = useDirection3();
457
574
  const container = usePortalContainer2();
458
575
  const portal = usePortalNode();
459
- return /* @__PURE__ */ jsx7(SelectPrimitive.Portal, {
576
+ return /* @__PURE__ */ jsx8(SelectPrimitive.Portal, {
460
577
  container,
461
578
  ref: portal.ref,
462
- children: /* @__PURE__ */ jsx7(PortalProvider2, {
579
+ children: /* @__PURE__ */ jsx8(PortalProvider2, {
463
580
  container: portal.node,
464
- children: /* @__PURE__ */ jsx7(SelectPrimitive.Positioner, {
581
+ children: /* @__PURE__ */ jsx8(SelectPrimitive.Positioner, {
465
582
  side,
466
583
  sideOffset,
467
584
  align,
468
585
  alignOffset,
469
586
  alignItemWithTrigger,
470
587
  className: "isolate ",
471
- children: /* @__PURE__ */ jsxs5(SelectPrimitive.Popup, {
588
+ children: /* @__PURE__ */ jsxs6(SelectPrimitive.Popup, {
472
589
  dir: direction,
473
590
  "data-density": resolvedDensity,
474
591
  "data-slot": "select-content",
@@ -476,11 +593,11 @@ function SelectContent2({
476
593
  className: (state) => cn2("relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground border border-frame-edge shadow-frame duration-120 data-[align-trigger=true]:animate-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:animate-none", typeof className === "function" ? className(state) : className),
477
594
  ...props,
478
595
  children: [
479
- /* @__PURE__ */ jsx7(SelectScrollUpButton2, {}),
480
- /* @__PURE__ */ jsx7(SelectPrimitive.List, {
596
+ /* @__PURE__ */ jsx8(SelectScrollUpButton2, {}),
597
+ /* @__PURE__ */ jsx8(SelectPrimitive.List, {
481
598
  children
482
599
  }),
483
- /* @__PURE__ */ jsx7(SelectScrollDownButton2, {})
600
+ /* @__PURE__ */ jsx8(SelectScrollDownButton2, {})
484
601
  ]
485
602
  })
486
603
  })
@@ -488,7 +605,7 @@ function SelectContent2({
488
605
  });
489
606
  }
490
607
  function SelectLabel2({ density, className, ...props }) {
491
- return /* @__PURE__ */ jsx7(SelectPrimitive.GroupLabel, {
608
+ return /* @__PURE__ */ jsx8(SelectPrimitive.GroupLabel, {
492
609
  "data-density": density,
493
610
  "data-slot": "select-label",
494
611
  className: (state) => cn2("px-1.5 py-1 text-xs text-muted-foreground", typeof className === "function" ? className(state) : className),
@@ -496,21 +613,21 @@ function SelectLabel2({ density, className, ...props }) {
496
613
  });
497
614
  }
498
615
  function SelectItem2({ density, className, children, ...props }) {
499
- return /* @__PURE__ */ jsxs5(SelectPrimitive.Item, {
616
+ return /* @__PURE__ */ jsxs6(SelectPrimitive.Item, {
500
617
  "data-density": density,
501
618
  "data-slot": "select-item",
502
619
  className: (state) => cn2("relative flex w-full cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", typeof className === "function" ? className(state) : className),
503
620
  ...props,
504
621
  children: [
505
- /* @__PURE__ */ jsx7(SelectPrimitive.ItemText, {
622
+ /* @__PURE__ */ jsx8(SelectPrimitive.ItemText, {
506
623
  className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
507
624
  children
508
625
  }),
509
- /* @__PURE__ */ jsx7(SelectPrimitive.ItemIndicator, {
510
- render: /* @__PURE__ */ jsx7("span", {
626
+ /* @__PURE__ */ jsx8(SelectPrimitive.ItemIndicator, {
627
+ render: /* @__PURE__ */ jsx8("span", {
511
628
  className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
512
629
  }),
513
- children: /* @__PURE__ */ jsx7(CheckIcon, {
630
+ children: /* @__PURE__ */ jsx8(CheckIcon, {
514
631
  className: "pointer-events-none"
515
632
  })
516
633
  })
@@ -518,7 +635,7 @@ function SelectItem2({ density, className, children, ...props }) {
518
635
  });
519
636
  }
520
637
  function SelectSeparator2({ density, className, ...props }) {
521
- return /* @__PURE__ */ jsx7(SelectPrimitive.Separator, {
638
+ return /* @__PURE__ */ jsx8(SelectPrimitive.Separator, {
522
639
  "data-density": density,
523
640
  "data-slot": "select-separator",
524
641
  className: (state) => cn2("pointer-events-none -mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
@@ -526,27 +643,27 @@ function SelectSeparator2({ density, className, ...props }) {
526
643
  });
527
644
  }
528
645
  function SelectScrollUpButton2({ density, className, ...props }) {
529
- return /* @__PURE__ */ jsx7(SelectPrimitive.ScrollUpArrow, {
646
+ return /* @__PURE__ */ jsx8(SelectPrimitive.ScrollUpArrow, {
530
647
  "data-density": density,
531
648
  "data-slot": "select-scroll-up-button",
532
649
  className: (state) => cn2("top-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
533
650
  ...props,
534
- children: /* @__PURE__ */ jsx7(ChevronUpIcon2, {})
651
+ children: /* @__PURE__ */ jsx8(ChevronUpIcon2, {})
535
652
  });
536
653
  }
537
654
  function SelectScrollDownButton2({ density, className, ...props }) {
538
- return /* @__PURE__ */ jsx7(SelectPrimitive.ScrollDownArrow, {
655
+ return /* @__PURE__ */ jsx8(SelectPrimitive.ScrollDownArrow, {
539
656
  "data-density": density,
540
657
  "data-slot": "select-scroll-down-button",
541
658
  className: (state) => cn2("bottom-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
542
659
  ...props,
543
- children: /* @__PURE__ */ jsx7(ChevronDownIcon2, {})
660
+ children: /* @__PURE__ */ jsx8(ChevronDownIcon2, {})
544
661
  });
545
662
  }
546
663
  // src/components/DensityProvider.tsx
547
664
  import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
548
665
  import { useRender as useRender2 } from "@base-ui/react/use-render";
549
- import { jsx as jsx8 } from "react/jsx-runtime";
666
+ import { jsx as jsx9 } from "react/jsx-runtime";
550
667
  function DensityProvider2({
551
668
  density = "comfortable",
552
669
  className,
@@ -559,7 +676,7 @@ function DensityProvider2({
559
676
  render,
560
677
  state: { slot: "density-provider", density }
561
678
  });
562
- return /* @__PURE__ */ jsx8(DensityContext.Provider, {
679
+ return /* @__PURE__ */ jsx9(DensityContext.Provider, {
563
680
  value: density,
564
681
  children: element
565
682
  });
@@ -872,7 +989,7 @@ function ScrollGuard2({ ownerDocument }) {
872
989
  }
873
990
 
874
991
  // src/components/ThemeProvider.tsx
875
- import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
992
+ import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
876
993
  function StoredThemeProvider({
877
994
  children,
878
995
  defaultTheme = "system",
@@ -883,7 +1000,7 @@ function StoredThemeProvider({
883
1000
  defaultValue: defaultTheme,
884
1001
  localStorageKey: storageKey
885
1002
  });
886
- return /* @__PURE__ */ jsx9(ThemePalette, {
1003
+ return /* @__PURE__ */ jsx10(ThemePalette, {
887
1004
  theme: forcedTheme ?? ternaryDarkMode,
888
1005
  resolvedTheme: forcedTheme ?? (isDarkMode ? "dark" : "light"),
889
1006
  setTheme: setTernaryDarkMode,
@@ -901,11 +1018,11 @@ function ThemePalette({
901
1018
  document.documentElement.style.colorScheme = resolvedTheme;
902
1019
  }, [resolvedTheme]);
903
1020
  const value = useMemo(() => ({ theme, resolvedTheme, setTheme }), [theme, resolvedTheme, setTheme]);
904
- return /* @__PURE__ */ jsxs6(ThemeContext.Provider, {
1021
+ return /* @__PURE__ */ jsxs7(ThemeContext.Provider, {
905
1022
  value,
906
1023
  children: [
907
- /* @__PURE__ */ jsx9(ScrollGuard2, {}),
908
- /* @__PURE__ */ jsx9(LayoutGuard2, {}),
1024
+ /* @__PURE__ */ jsx10(ScrollGuard2, {}),
1025
+ /* @__PURE__ */ jsx10(LayoutGuard2, {}),
909
1026
  children
910
1027
  ]
911
1028
  });
@@ -918,7 +1035,7 @@ function ControlledThemeProvider({
918
1035
  const isDark = useMediaQuery("(prefers-color-scheme: dark)");
919
1036
  const { theme, setTheme } = controlledTheme;
920
1037
  const resolvedTheme = forcedTheme ?? (theme === "system" ? isDark ? "dark" : "light" : theme);
921
- return /* @__PURE__ */ jsx9(ThemePalette, {
1038
+ return /* @__PURE__ */ jsx10(ThemePalette, {
922
1039
  theme: forcedTheme ?? theme,
923
1040
  resolvedTheme,
924
1041
  setTheme,
@@ -927,18 +1044,18 @@ function ControlledThemeProvider({
927
1044
  }
928
1045
  function ThemeProvider2(props) {
929
1046
  if (props.controlledTheme)
930
- return /* @__PURE__ */ jsx9(ControlledThemeProvider, {
1047
+ return /* @__PURE__ */ jsx10(ControlledThemeProvider, {
931
1048
  ...props,
932
1049
  controlledTheme: props.controlledTheme
933
1050
  });
934
- return /* @__PURE__ */ jsx9(StoredThemeProvider, {
1051
+ return /* @__PURE__ */ jsx10(StoredThemeProvider, {
935
1052
  ...props
936
1053
  });
937
1054
  }
938
1055
  // src/components/AspectRatio.tsx
939
- import { jsx as jsx10 } from "react/jsx-runtime";
1056
+ import { jsx as jsx11 } from "react/jsx-runtime";
940
1057
  function AspectRatio2({ ratio, className, style, ...props }) {
941
- return /* @__PURE__ */ jsx10("div", {
1058
+ return /* @__PURE__ */ jsx11("div", {
942
1059
  "data-slot": "aspect-ratio",
943
1060
  className: cn2("relative", className),
944
1061
  style: { aspectRatio: ratio, ...style },
@@ -949,9 +1066,9 @@ function AspectRatio2({ ratio, className, style, ...props }) {
949
1066
  import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
950
1067
  import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
951
1068
  import { useRender as useRender3 } from "@base-ui/react/use-render";
952
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
1069
+ import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
953
1070
  function Breadcrumb2({ density, className, ...props }) {
954
- return /* @__PURE__ */ jsx11("nav", {
1071
+ return /* @__PURE__ */ jsx12("nav", {
955
1072
  "aria-label": "breadcrumb",
956
1073
  "data-density": density,
957
1074
  "data-slot": "breadcrumb",
@@ -960,7 +1077,7 @@ function Breadcrumb2({ density, className, ...props }) {
960
1077
  });
961
1078
  }
962
1079
  function BreadcrumbList2({ density, className, ...props }) {
963
- return /* @__PURE__ */ jsx11("ol", {
1080
+ return /* @__PURE__ */ jsx12("ol", {
964
1081
  "data-density": density,
965
1082
  "data-slot": "breadcrumb-list",
966
1083
  className: cn2("flex flex-wrap items-center gap-control-gap text-sm wrap-break-word text-muted-foreground", className),
@@ -968,7 +1085,7 @@ function BreadcrumbList2({ density, className, ...props }) {
968
1085
  });
969
1086
  }
970
1087
  function BreadcrumbItem2({ density, className, ...props }) {
971
- return /* @__PURE__ */ jsx11("li", {
1088
+ return /* @__PURE__ */ jsx12("li", {
972
1089
  "data-density": density,
973
1090
  "data-slot": "breadcrumb-item",
974
1091
  className: cn2("inline-flex items-center gap-1", className),
@@ -989,7 +1106,7 @@ function BreadcrumbLink2({ density, className, render, ...props }) {
989
1106
  });
990
1107
  }
991
1108
  function BreadcrumbPage2({ density, className, ...props }) {
992
- return /* @__PURE__ */ jsx11("span", {
1109
+ return /* @__PURE__ */ jsx12("span", {
993
1110
  "data-density": density,
994
1111
  "data-slot": "breadcrumb-page",
995
1112
  role: "link",
@@ -1000,20 +1117,20 @@ function BreadcrumbPage2({ density, className, ...props }) {
1000
1117
  });
1001
1118
  }
1002
1119
  function BreadcrumbSeparator2({ density, children, className, ...props }) {
1003
- return /* @__PURE__ */ jsx11("li", {
1120
+ return /* @__PURE__ */ jsx12("li", {
1004
1121
  "data-density": density,
1005
1122
  "data-slot": "breadcrumb-separator",
1006
1123
  role: "presentation",
1007
1124
  "aria-hidden": "true",
1008
1125
  className: cn2("[&>svg]:size-3.5", className),
1009
1126
  ...props,
1010
- children: children ?? /* @__PURE__ */ jsx11(ChevronRightIcon, {
1127
+ children: children ?? /* @__PURE__ */ jsx12(ChevronRightIcon, {
1011
1128
  className: "rtl:rotate-180"
1012
1129
  })
1013
1130
  });
1014
1131
  }
1015
1132
  function BreadcrumbEllipsis2({ density, className, ...props }) {
1016
- return /* @__PURE__ */ jsxs7("span", {
1133
+ return /* @__PURE__ */ jsxs8("span", {
1017
1134
  "data-density": density,
1018
1135
  "data-slot": "breadcrumb-ellipsis",
1019
1136
  role: "presentation",
@@ -1021,8 +1138,8 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1021
1138
  className: cn2("flex size-5 items-center justify-center [&>svg]:size-4", className),
1022
1139
  ...props,
1023
1140
  children: [
1024
- /* @__PURE__ */ jsx11(MoreHorizontalIcon, {}),
1025
- /* @__PURE__ */ jsx11("span", {
1141
+ /* @__PURE__ */ jsx12(MoreHorizontalIcon, {}),
1142
+ /* @__PURE__ */ jsx12("span", {
1026
1143
  className: "sr-only",
1027
1144
  children: "More"
1028
1145
  })
@@ -1033,7 +1150,7 @@ function BreadcrumbEllipsis2({ density, className, ...props }) {
1033
1150
  import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
1034
1151
  import { useRender as useRender4 } from "@base-ui/react/use-render";
1035
1152
  import { cva } from "class-variance-authority";
1036
- import { jsx as jsx12 } from "react/jsx-runtime";
1153
+ import { jsx as jsx13 } from "react/jsx-runtime";
1037
1154
  var buttonGroupVariants2 = cva("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-sm [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
1038
1155
  variants: {
1039
1156
  layout: {
@@ -1056,7 +1173,7 @@ function ButtonGroup2({
1056
1173
  layout = "content",
1057
1174
  ...props
1058
1175
  }) {
1059
- return /* @__PURE__ */ jsx12("div", {
1176
+ return /* @__PURE__ */ jsx13("div", {
1060
1177
  role: "group",
1061
1178
  "data-density": density,
1062
1179
  "data-slot": "button-group",
@@ -1084,7 +1201,7 @@ function ButtonGroupSeparator2({
1084
1201
  orientation = "vertical",
1085
1202
  ...props
1086
1203
  }) {
1087
- return /* @__PURE__ */ jsx12(Separator2, {
1204
+ return /* @__PURE__ */ jsx13(Separator2, {
1088
1205
  "data-density": density,
1089
1206
  "data-slot": "button-group-separator",
1090
1207
  orientation,
@@ -1096,9 +1213,9 @@ function ButtonGroupSeparator2({
1096
1213
  import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
1097
1214
  import { useRender as useRender5 } from "@base-ui/react/use-render";
1098
1215
  import { cva as cva2 } from "class-variance-authority";
1099
- import { jsx as jsx13 } from "react/jsx-runtime";
1216
+ import { jsx as jsx14 } from "react/jsx-runtime";
1100
1217
  function ItemGroup2({ density, className, ...props }) {
1101
- return /* @__PURE__ */ jsx13("div", {
1218
+ return /* @__PURE__ */ jsx14("div", {
1102
1219
  role: "list",
1103
1220
  "data-density": density,
1104
1221
  "data-slot": "item-group",
@@ -1107,7 +1224,7 @@ function ItemGroup2({ density, className, ...props }) {
1107
1224
  });
1108
1225
  }
1109
1226
  function ItemSeparator2({ density, className, ...props }) {
1110
- return /* @__PURE__ */ jsx13(Separator2, {
1227
+ return /* @__PURE__ */ jsx14(Separator2, {
1111
1228
  "data-density": density,
1112
1229
  "data-slot": "item-separator",
1113
1230
  orientation: "horizontal",
@@ -1168,7 +1285,7 @@ var itemMediaVariants = cva2("flex shrink-0 items-center justify-center gap-2 gr
1168
1285
  }
1169
1286
  });
1170
1287
  function ItemMedia2({ density, className, variant = "default", ...props }) {
1171
- return /* @__PURE__ */ jsx13("div", {
1288
+ return /* @__PURE__ */ jsx14("div", {
1172
1289
  "data-density": density,
1173
1290
  "data-slot": "item-media",
1174
1291
  "data-variant": variant,
@@ -1177,7 +1294,7 @@ function ItemMedia2({ density, className, variant = "default", ...props }) {
1177
1294
  });
1178
1295
  }
1179
1296
  function ItemContent2({ density, className, ...props }) {
1180
- return /* @__PURE__ */ jsx13("div", {
1297
+ return /* @__PURE__ */ jsx14("div", {
1181
1298
  "data-density": density,
1182
1299
  "data-slot": "item-content",
1183
1300
  className: cn2("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className),
@@ -1185,7 +1302,7 @@ function ItemContent2({ density, className, ...props }) {
1185
1302
  });
1186
1303
  }
1187
1304
  function ItemTitle2({ density, className, ...props }) {
1188
- return /* @__PURE__ */ jsx13("div", {
1305
+ return /* @__PURE__ */ jsx14("div", {
1189
1306
  "data-density": density,
1190
1307
  "data-slot": "item-title",
1191
1308
  className: cn2("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", className),
@@ -1193,7 +1310,7 @@ function ItemTitle2({ density, className, ...props }) {
1193
1310
  });
1194
1311
  }
1195
1312
  function ItemDescription2({ density, className, ...props }) {
1196
- return /* @__PURE__ */ jsx13("p", {
1313
+ return /* @__PURE__ */ jsx14("p", {
1197
1314
  "data-density": density,
1198
1315
  "data-slot": "item-description",
1199
1316
  className: cn2("line-clamp-2 text-start text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
@@ -1201,7 +1318,7 @@ function ItemDescription2({ density, className, ...props }) {
1201
1318
  });
1202
1319
  }
1203
1320
  function ItemActions2({ density, className, ...props }) {
1204
- return /* @__PURE__ */ jsx13("div", {
1321
+ return /* @__PURE__ */ jsx14("div", {
1205
1322
  "data-density": density,
1206
1323
  "data-slot": "item-actions",
1207
1324
  className: cn2("flex items-center gap-2", className),
@@ -1209,7 +1326,7 @@ function ItemActions2({ density, className, ...props }) {
1209
1326
  });
1210
1327
  }
1211
1328
  function ItemHeader2({ density, className, ...props }) {
1212
- return /* @__PURE__ */ jsx13("div", {
1329
+ return /* @__PURE__ */ jsx14("div", {
1213
1330
  "data-density": density,
1214
1331
  "data-slot": "item-header",
1215
1332
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1217,7 +1334,7 @@ function ItemHeader2({ density, className, ...props }) {
1217
1334
  });
1218
1335
  }
1219
1336
  function ItemFooter2({ density, className, ...props }) {
1220
- return /* @__PURE__ */ jsx13("div", {
1337
+ return /* @__PURE__ */ jsx14("div", {
1221
1338
  "data-density": density,
1222
1339
  "data-slot": "item-footer",
1223
1340
  className: cn2("flex basis-full items-center justify-between gap-2", className),
@@ -1226,9 +1343,9 @@ function ItemFooter2({ density, className, ...props }) {
1226
1343
  }
1227
1344
  // src/components/Pagination.tsx
1228
1345
  import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
1229
- import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
1346
+ import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
1230
1347
  function Pagination2({ density, className, ...props }) {
1231
- return /* @__PURE__ */ jsx14("nav", {
1348
+ return /* @__PURE__ */ jsx15("nav", {
1232
1349
  role: "navigation",
1233
1350
  "aria-label": "pagination",
1234
1351
  "data-density": density,
@@ -1238,7 +1355,7 @@ function Pagination2({ density, className, ...props }) {
1238
1355
  });
1239
1356
  }
1240
1357
  function PaginationContent2({ density, className, ...props }) {
1241
- return /* @__PURE__ */ jsx14("ul", {
1358
+ return /* @__PURE__ */ jsx15("ul", {
1242
1359
  "data-density": density,
1243
1360
  "data-slot": "pagination-content",
1244
1361
  className: cn2("flex items-center gap-0.5", className),
@@ -1246,7 +1363,7 @@ function PaginationContent2({ density, className, ...props }) {
1246
1363
  });
1247
1364
  }
1248
1365
  function PaginationItem2({ ...props }) {
1249
- return /* @__PURE__ */ jsx14("li", {
1366
+ return /* @__PURE__ */ jsx15("li", {
1250
1367
  "data-slot": "pagination-item",
1251
1368
  ...props
1252
1369
  });
@@ -1258,7 +1375,7 @@ function PaginationLink2({
1258
1375
  size = "icon",
1259
1376
  ...props
1260
1377
  }) {
1261
- return /* @__PURE__ */ jsx14("a", {
1378
+ return /* @__PURE__ */ jsx15("a", {
1262
1379
  "data-density": density,
1263
1380
  className: cn2(buttonVariants2({ variant: isActive ? "outline" : "ghost", size }), className),
1264
1381
  "aria-current": isActive ? "page" : undefined,
@@ -1273,18 +1390,18 @@ function PaginationPrevious2({
1273
1390
  text = "Previous",
1274
1391
  ...props
1275
1392
  }) {
1276
- return /* @__PURE__ */ jsxs8(PaginationLink2, {
1393
+ return /* @__PURE__ */ jsxs9(PaginationLink2, {
1277
1394
  density,
1278
1395
  "aria-label": "Go to previous page",
1279
1396
  size: "default",
1280
1397
  className: cn2("ps-1.5!", className),
1281
1398
  ...props,
1282
1399
  children: [
1283
- /* @__PURE__ */ jsx14(ChevronLeftIcon, {
1400
+ /* @__PURE__ */ jsx15(ChevronLeftIcon, {
1284
1401
  "data-icon": "inline-start",
1285
1402
  className: "rtl:rotate-180"
1286
1403
  }),
1287
- /* @__PURE__ */ jsx14("span", {
1404
+ /* @__PURE__ */ jsx15("span", {
1288
1405
  className: "hidden sm:block",
1289
1406
  children: text
1290
1407
  })
@@ -1292,18 +1409,18 @@ function PaginationPrevious2({
1292
1409
  });
1293
1410
  }
1294
1411
  function PaginationNext2({ density, className, text = "Next", ...props }) {
1295
- return /* @__PURE__ */ jsxs8(PaginationLink2, {
1412
+ return /* @__PURE__ */ jsxs9(PaginationLink2, {
1296
1413
  density,
1297
1414
  "aria-label": "Go to next page",
1298
1415
  size: "default",
1299
1416
  className: cn2("pe-1.5!", className),
1300
1417
  ...props,
1301
1418
  children: [
1302
- /* @__PURE__ */ jsx14("span", {
1419
+ /* @__PURE__ */ jsx15("span", {
1303
1420
  className: "hidden sm:block",
1304
1421
  children: text
1305
1422
  }),
1306
- /* @__PURE__ */ jsx14(ChevronRightIcon2, {
1423
+ /* @__PURE__ */ jsx15(ChevronRightIcon2, {
1307
1424
  "data-icon": "inline-end",
1308
1425
  className: "rtl:rotate-180"
1309
1426
  })
@@ -1311,15 +1428,15 @@ function PaginationNext2({ density, className, text = "Next", ...props }) {
1311
1428
  });
1312
1429
  }
1313
1430
  function PaginationEllipsis2({ density, className, ...props }) {
1314
- return /* @__PURE__ */ jsxs8("span", {
1431
+ return /* @__PURE__ */ jsxs9("span", {
1315
1432
  "aria-hidden": true,
1316
1433
  "data-density": density,
1317
1434
  "data-slot": "pagination-ellipsis",
1318
1435
  className: cn2("flex size-control items-center justify-center [&_svg:not([class*='size-'])]:size-4", className),
1319
1436
  ...props,
1320
1437
  children: [
1321
- /* @__PURE__ */ jsx14(MoreHorizontalIcon2, {}),
1322
- /* @__PURE__ */ jsx14("span", {
1438
+ /* @__PURE__ */ jsx15(MoreHorizontalIcon2, {}),
1439
+ /* @__PURE__ */ jsx15("span", {
1323
1440
  className: "sr-only",
1324
1441
  children: "More pages"
1325
1442
  })
@@ -1345,7 +1462,7 @@ function useDrawer() {
1345
1462
 
1346
1463
  // src/components/Drawer.tsx
1347
1464
  import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
1348
- import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
1465
+ import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1349
1466
  function Drawer2({
1350
1467
  modal = true,
1351
1468
  showSwipeHandle = false,
@@ -1355,9 +1472,9 @@ function Drawer2({
1355
1472
  }) {
1356
1473
  const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
1357
1474
  const contextValue = useMemo2(() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }), [hasSnapPoints, modal, showSwipeHandle, swipeDirection]);
1358
- return /* @__PURE__ */ jsx15(DrawerContext.Provider, {
1475
+ return /* @__PURE__ */ jsx16(DrawerContext.Provider, {
1359
1476
  value: contextValue,
1360
- children: /* @__PURE__ */ jsx15(DrawerPrimitive.Root, {
1477
+ children: /* @__PURE__ */ jsx16(DrawerPrimitive.Root, {
1361
1478
  "data-slot": "drawer",
1362
1479
  modal,
1363
1480
  snapPoints,
@@ -1367,7 +1484,7 @@ function Drawer2({
1367
1484
  });
1368
1485
  }
1369
1486
  function DrawerTrigger2({ ...props }) {
1370
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Trigger, {
1487
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Trigger, {
1371
1488
  "data-slot": "drawer-trigger",
1372
1489
  ...props
1373
1490
  });
@@ -1375,26 +1492,26 @@ function DrawerTrigger2({ ...props }) {
1375
1492
  function DrawerPortal2({ container, ref, children, ...props }) {
1376
1493
  const resolvedContainer = usePortalContainer2(container);
1377
1494
  const portal = usePortalNode(ref);
1378
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Portal, {
1495
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Portal, {
1379
1496
  "data-slot": "drawer-portal",
1380
1497
  container: resolvedContainer,
1381
1498
  ref: portal.ref,
1382
1499
  ...props,
1383
- children: /* @__PURE__ */ jsx15(PortalProvider2, {
1500
+ children: /* @__PURE__ */ jsx16(PortalProvider2, {
1384
1501
  container: portal.node,
1385
1502
  children
1386
1503
  })
1387
1504
  });
1388
1505
  }
1389
1506
  function DrawerClose2({ ...props }) {
1390
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Close, {
1507
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Close, {
1391
1508
  "data-slot": "drawer-close",
1392
1509
  ...props
1393
1510
  });
1394
1511
  }
1395
1512
  function DrawerOverlay2({ density, className, ...props }) {
1396
1513
  const resolvedDensity = useDensity(density);
1397
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Backdrop, {
1514
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Backdrop, {
1398
1515
  "data-density": resolvedDensity,
1399
1516
  "data-slot": "drawer-overlay",
1400
1517
  className: (state) => cn2("fixed inset-0 min-h-dvh bg-backdrop opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", typeof className === "function" ? className(state) : className),
@@ -1402,7 +1519,7 @@ function DrawerOverlay2({ density, className, ...props }) {
1402
1519
  });
1403
1520
  }
1404
1521
  function DrawerSwipeHandle2({ density, className, ...props }) {
1405
- return /* @__PURE__ */ jsx15("div", {
1522
+ return /* @__PURE__ */ jsx16("div", {
1406
1523
  "data-density": density,
1407
1524
  "data-slot": "drawer-swipe-handle",
1408
1525
  "aria-hidden": "true",
@@ -1415,18 +1532,18 @@ function DrawerContent2({ density, className, children, ...props }) {
1415
1532
  const direction = useDirection2();
1416
1533
  const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
1417
1534
  const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
1418
- return /* @__PURE__ */ jsxs9(DrawerPortal2, {
1535
+ return /* @__PURE__ */ jsxs10(DrawerPortal2, {
1419
1536
  "data-slot": "drawer-portal",
1420
1537
  children: [
1421
- modal === true && /* @__PURE__ */ jsx15(DrawerOverlay2, {
1538
+ modal === true && /* @__PURE__ */ jsx16(DrawerOverlay2, {
1422
1539
  "data-snap-points": hasSnapPoints ? "" : undefined
1423
1540
  }),
1424
- /* @__PURE__ */ jsx15(DrawerPrimitive.Viewport, {
1541
+ /* @__PURE__ */ jsx16(DrawerPrimitive.Viewport, {
1425
1542
  dir: direction,
1426
1543
  "data-slot": "drawer-viewport",
1427
1544
  "data-modal": modal,
1428
1545
  className: "pointer-events-none fixed inset-0 select-none data-[modal=true]:pointer-events-auto",
1429
- children: /* @__PURE__ */ jsxs9(DrawerPrimitive.Popup, {
1546
+ children: /* @__PURE__ */ jsxs10(DrawerPrimitive.Popup, {
1430
1547
  "data-density": resolvedDensity,
1431
1548
  "data-slot": "drawer-popup",
1432
1549
  "data-scroll": "none",
@@ -1435,8 +1552,8 @@ function DrawerContent2({ density, className, children, ...props }) {
1435
1552
  className: (state) => cn2("group/drawer-popup pointer-events-auto fixed m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)] flex-col border border-frame-edge shadow-frame bg-popover text-sm text-popover-foreground transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords] data-[swipe-direction=down]:rounded-t-md data-[swipe-direction=down]:border-t data-[swipe-direction=left]:rounded-r-md data-[swipe-direction=left]:border-r data-[swipe-direction=right]:rounded-l-md data-[swipe-direction=right]:border-l data-[swipe-direction=up]:rounded-b-md data-[swipe-direction=up]:border-b", "data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95", "after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full", "[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]", "[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-shrink:0]", "data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]", "data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)", "data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row", "data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]", "data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]", "data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]", typeof className === "function" ? className(state) : className),
1436
1553
  ...props,
1437
1554
  children: [
1438
- showSwipeHandle && /* @__PURE__ */ jsx15(DrawerSwipeHandle2, {}),
1439
- /* @__PURE__ */ jsx15(DrawerPrimitive.Content, {
1555
+ showSwipeHandle && /* @__PURE__ */ jsx16(DrawerSwipeHandle2, {}),
1556
+ /* @__PURE__ */ jsx16(DrawerPrimitive.Content, {
1440
1557
  "data-slot": "drawer-content",
1441
1558
  "data-scroll": "none",
1442
1559
  className: "flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-out select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none",
@@ -1449,7 +1566,7 @@ function DrawerContent2({ density, className, children, ...props }) {
1449
1566
  });
1450
1567
  }
1451
1568
  function DrawerHeader2({ density, className, ...props }) {
1452
- return /* @__PURE__ */ jsx15("div", {
1569
+ return /* @__PURE__ */ jsx16("div", {
1453
1570
  "data-density": density,
1454
1571
  "data-slot": "drawer-header",
1455
1572
  className: cn2("flex shrink-0 flex-col gap-0.5 p-panel pb-0 group-data-[swipe-axis=y]/drawer-popup:text-center md:gap-0.5 md:text-start md:group-data-[swipe-axis=y]/drawer-popup:text-start", className),
@@ -1457,7 +1574,7 @@ function DrawerHeader2({ density, className, ...props }) {
1457
1574
  });
1458
1575
  }
1459
1576
  function DrawerFooter2({ density, className, ...props }) {
1460
- return /* @__PURE__ */ jsx15("div", {
1577
+ return /* @__PURE__ */ jsx16("div", {
1461
1578
  "data-density": density,
1462
1579
  "data-slot": "drawer-footer",
1463
1580
  className: cn2("mt-auto flex shrink-0 flex-col gap-2 p-panel pt-0", className),
@@ -1465,7 +1582,7 @@ function DrawerFooter2({ density, className, ...props }) {
1465
1582
  });
1466
1583
  }
1467
1584
  function DrawerTitle2({ density, className, ...props }) {
1468
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Title, {
1585
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Title, {
1469
1586
  "data-density": density,
1470
1587
  "data-slot": "drawer-title",
1471
1588
  className: (state) => cn2(" text-base font-medium text-foreground", typeof className === "function" ? className(state) : className),
@@ -1473,7 +1590,7 @@ function DrawerTitle2({ density, className, ...props }) {
1473
1590
  });
1474
1591
  }
1475
1592
  function DrawerDescription2({ density, className, ...props }) {
1476
- return /* @__PURE__ */ jsx15(DrawerPrimitive.Description, {
1593
+ return /* @__PURE__ */ jsx16(DrawerPrimitive.Description, {
1477
1594
  "data-density": density,
1478
1595
  "data-slot": "drawer-description",
1479
1596
  className: (state) => cn2("text-sm text-balance text-muted-foreground", typeof className === "function" ? className(state) : className),
@@ -1484,9 +1601,9 @@ function DrawerDescription2({ density, className, ...props }) {
1484
1601
  import { ChevronRightIcon as ChevronRightIcon3, CheckIcon as CheckIcon2 } from "lucide-react";
1485
1602
  import { useDirection as useDirection4 } from "@base-ui/react/direction-provider";
1486
1603
  import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
1487
- import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1604
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1488
1605
  function ContextMenu2({ ...props }) {
1489
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Root, {
1606
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Root, {
1490
1607
  "data-slot": "context-menu",
1491
1608
  ...props
1492
1609
  });
@@ -1494,19 +1611,19 @@ function ContextMenu2({ ...props }) {
1494
1611
  function ContextMenuPortal2({ container, ref, children, ...props }) {
1495
1612
  const resolvedContainer = usePortalContainer2(container);
1496
1613
  const portal = usePortalNode(ref);
1497
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Portal, {
1614
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Portal, {
1498
1615
  "data-slot": "context-menu-portal",
1499
1616
  container: resolvedContainer,
1500
1617
  ref: portal.ref,
1501
1618
  ...props,
1502
- children: /* @__PURE__ */ jsx16(PortalProvider2, {
1619
+ children: /* @__PURE__ */ jsx17(PortalProvider2, {
1503
1620
  container: portal.node,
1504
1621
  children
1505
1622
  })
1506
1623
  });
1507
1624
  }
1508
1625
  function ContextMenuTrigger2({ density, className, ...props }) {
1509
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Trigger, {
1626
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Trigger, {
1510
1627
  "data-density": density,
1511
1628
  "data-slot": "context-menu-trigger",
1512
1629
  className: (state) => cn2("select-none", typeof className === "function" ? className(state) : className),
@@ -1524,15 +1641,15 @@ function ContextMenuContent2({
1524
1641
  }) {
1525
1642
  const resolvedDensity = useDensity(density);
1526
1643
  const direction = useDirection4();
1527
- return /* @__PURE__ */ jsx16(ContextMenuPortal2, {
1528
- children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.Positioner, {
1644
+ return /* @__PURE__ */ jsx17(ContextMenuPortal2, {
1645
+ children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.Positioner, {
1529
1646
  dir: direction,
1530
1647
  className: "isolate outline-none",
1531
1648
  align,
1532
1649
  alignOffset,
1533
1650
  side,
1534
1651
  sideOffset,
1535
- children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.Popup, {
1652
+ children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.Popup, {
1536
1653
  dir: direction,
1537
1654
  "data-density": resolvedDensity,
1538
1655
  "data-slot": "context-menu-content",
@@ -1543,13 +1660,13 @@ function ContextMenuContent2({
1543
1660
  });
1544
1661
  }
1545
1662
  function ContextMenuGroup2({ ...props }) {
1546
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Group, {
1663
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Group, {
1547
1664
  "data-slot": "context-menu-group",
1548
1665
  ...props
1549
1666
  });
1550
1667
  }
1551
1668
  function ContextMenuLabel2({ density, className, inset, ...props }) {
1552
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.GroupLabel, {
1669
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.GroupLabel, {
1553
1670
  "data-density": density,
1554
1671
  "data-slot": "context-menu-label",
1555
1672
  "data-inset": inset,
@@ -1558,7 +1675,7 @@ function ContextMenuLabel2({ density, className, inset, ...props }) {
1558
1675
  });
1559
1676
  }
1560
1677
  function ContextMenuItem2({ density, className, inset, variant = "default", ...props }) {
1561
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Item, {
1678
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Item, {
1562
1679
  "data-density": density,
1563
1680
  "data-slot": "context-menu-item",
1564
1681
  "data-inset": inset,
@@ -1568,13 +1685,13 @@ function ContextMenuItem2({ density, className, inset, variant = "default", ...p
1568
1685
  });
1569
1686
  }
1570
1687
  function ContextMenuSub2({ ...props }) {
1571
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.SubmenuRoot, {
1688
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.SubmenuRoot, {
1572
1689
  "data-slot": "context-menu-sub",
1573
1690
  ...props
1574
1691
  });
1575
1692
  }
1576
1693
  function ContextMenuSubTrigger2({ density, className, inset, children, ...props }) {
1577
- return /* @__PURE__ */ jsxs10(ContextMenuPrimitive.SubmenuTrigger, {
1694
+ return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.SubmenuTrigger, {
1578
1695
  "data-density": density,
1579
1696
  "data-slot": "context-menu-sub-trigger",
1580
1697
  "data-inset": inset,
@@ -1582,14 +1699,14 @@ function ContextMenuSubTrigger2({ density, className, inset, children, ...props
1582
1699
  ...props,
1583
1700
  children: [
1584
1701
  children,
1585
- /* @__PURE__ */ jsx16(ChevronRightIcon3, {
1702
+ /* @__PURE__ */ jsx17(ChevronRightIcon3, {
1586
1703
  className: "rtl:rotate-180 ms-auto"
1587
1704
  })
1588
1705
  ]
1589
1706
  });
1590
1707
  }
1591
1708
  function ContextMenuSubContent2({ ...props }) {
1592
- return /* @__PURE__ */ jsx16(ContextMenuContent2, {
1709
+ return /* @__PURE__ */ jsx17(ContextMenuContent2, {
1593
1710
  "data-slot": "context-menu-sub-content",
1594
1711
  className: " shadow-frame border border-frame-edge",
1595
1712
  side: "inline-end",
@@ -1604,7 +1721,7 @@ function ContextMenuCheckboxItem2({
1604
1721
  inset,
1605
1722
  ...props
1606
1723
  }) {
1607
- return /* @__PURE__ */ jsxs10(ContextMenuPrimitive.CheckboxItem, {
1724
+ return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.CheckboxItem, {
1608
1725
  "data-density": density,
1609
1726
  "data-slot": "context-menu-checkbox-item",
1610
1727
  "data-inset": inset,
@@ -1612,10 +1729,10 @@ function ContextMenuCheckboxItem2({
1612
1729
  checked,
1613
1730
  ...props,
1614
1731
  children: [
1615
- /* @__PURE__ */ jsx16("span", {
1732
+ /* @__PURE__ */ jsx17("span", {
1616
1733
  className: "pointer-events-none absolute end-2",
1617
- children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.CheckboxItemIndicator, {
1618
- children: /* @__PURE__ */ jsx16(CheckIcon2, {})
1734
+ children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.CheckboxItemIndicator, {
1735
+ children: /* @__PURE__ */ jsx17(CheckIcon2, {})
1619
1736
  })
1620
1737
  }),
1621
1738
  children
@@ -1623,23 +1740,23 @@ function ContextMenuCheckboxItem2({
1623
1740
  });
1624
1741
  }
1625
1742
  function ContextMenuRadioGroup2({ ...props }) {
1626
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.RadioGroup, {
1743
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.RadioGroup, {
1627
1744
  "data-slot": "context-menu-radio-group",
1628
1745
  ...props
1629
1746
  });
1630
1747
  }
1631
1748
  function ContextMenuRadioItem2({ density, className, children, inset, ...props }) {
1632
- return /* @__PURE__ */ jsxs10(ContextMenuPrimitive.RadioItem, {
1749
+ return /* @__PURE__ */ jsxs11(ContextMenuPrimitive.RadioItem, {
1633
1750
  "data-density": density,
1634
1751
  "data-slot": "context-menu-radio-item",
1635
1752
  "data-inset": inset,
1636
1753
  className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
1637
1754
  ...props,
1638
1755
  children: [
1639
- /* @__PURE__ */ jsx16("span", {
1756
+ /* @__PURE__ */ jsx17("span", {
1640
1757
  className: "pointer-events-none absolute end-2",
1641
- children: /* @__PURE__ */ jsx16(ContextMenuPrimitive.RadioItemIndicator, {
1642
- children: /* @__PURE__ */ jsx16(CheckIcon2, {})
1758
+ children: /* @__PURE__ */ jsx17(ContextMenuPrimitive.RadioItemIndicator, {
1759
+ children: /* @__PURE__ */ jsx17(CheckIcon2, {})
1643
1760
  })
1644
1761
  }),
1645
1762
  children
@@ -1647,7 +1764,7 @@ function ContextMenuRadioItem2({ density, className, children, inset, ...props }
1647
1764
  });
1648
1765
  }
1649
1766
  function ContextMenuSeparator2({ density, className, ...props }) {
1650
- return /* @__PURE__ */ jsx16(ContextMenuPrimitive.Separator, {
1767
+ return /* @__PURE__ */ jsx17(ContextMenuPrimitive.Separator, {
1651
1768
  "data-density": density,
1652
1769
  "data-slot": "context-menu-separator",
1653
1770
  className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
@@ -1655,7 +1772,7 @@ function ContextMenuSeparator2({ density, className, ...props }) {
1655
1772
  });
1656
1773
  }
1657
1774
  function ContextMenuShortcut2({ density, className, ...props }) {
1658
- return /* @__PURE__ */ jsx16("span", {
1775
+ return /* @__PURE__ */ jsx17("span", {
1659
1776
  "data-density": density,
1660
1777
  "data-slot": "context-menu-shortcut",
1661
1778
  className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground", className),
@@ -1666,9 +1783,9 @@ function ContextMenuShortcut2({ density, className, ...props }) {
1666
1783
  import { CheckIcon as CheckIcon3 } from "lucide-react";
1667
1784
  import { Menu as MenuPrimitive } from "@base-ui/react/menu";
1668
1785
  import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";
1669
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1786
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1670
1787
  function Menubar2({ density, className, ...props }) {
1671
- return /* @__PURE__ */ jsx17(MenubarPrimitive, {
1788
+ return /* @__PURE__ */ jsx18(MenubarPrimitive, {
1672
1789
  "data-density": density,
1673
1790
  "data-slot": "menubar",
1674
1791
  className: (state) => cn2("flex h-control items-center gap-0.5 rounded-sm border p-px", typeof className === "function" ? className(state) : className),
@@ -1676,25 +1793,25 @@ function Menubar2({ density, className, ...props }) {
1676
1793
  });
1677
1794
  }
1678
1795
  function MenubarMenu2({ ...props }) {
1679
- return /* @__PURE__ */ jsx17(DropdownMenu2, {
1796
+ return /* @__PURE__ */ jsx18(DropdownMenu2, {
1680
1797
  "data-slot": "menubar-menu",
1681
1798
  ...props
1682
1799
  });
1683
1800
  }
1684
1801
  function MenubarGroup2({ ...props }) {
1685
- return /* @__PURE__ */ jsx17(DropdownMenuGroup2, {
1802
+ return /* @__PURE__ */ jsx18(DropdownMenuGroup2, {
1686
1803
  "data-slot": "menubar-group",
1687
1804
  ...props
1688
1805
  });
1689
1806
  }
1690
1807
  function MenubarPortal2({ ...props }) {
1691
- return /* @__PURE__ */ jsx17(DropdownMenuPortal2, {
1808
+ return /* @__PURE__ */ jsx18(DropdownMenuPortal2, {
1692
1809
  "data-slot": "menubar-portal",
1693
1810
  ...props
1694
1811
  });
1695
1812
  }
1696
1813
  function MenubarTrigger2({ density, className, ...props }) {
1697
- return /* @__PURE__ */ jsx17(DropdownMenuTrigger2, {
1814
+ return /* @__PURE__ */ jsx18(DropdownMenuTrigger2, {
1698
1815
  "data-density": density,
1699
1816
  "data-slot": "menubar-trigger",
1700
1817
  className: (state) => cn2("flex h-full items-center rounded-sm px-control-x text-sm leading-none font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", typeof className === "function" ? className(state) : className),
@@ -1709,7 +1826,7 @@ function MenubarContent2({
1709
1826
  sideOffset = 8,
1710
1827
  ...props
1711
1828
  }) {
1712
- return /* @__PURE__ */ jsx17(DropdownMenuContent2, {
1829
+ return /* @__PURE__ */ jsx18(DropdownMenuContent2, {
1713
1830
  density,
1714
1831
  "data-slot": "menubar-content",
1715
1832
  align,
@@ -1720,7 +1837,7 @@ function MenubarContent2({
1720
1837
  });
1721
1838
  }
1722
1839
  function MenubarItem2({ density, className, inset, variant = "default", ...props }) {
1723
- return /* @__PURE__ */ jsx17(DropdownMenuItem2, {
1840
+ return /* @__PURE__ */ jsx18(DropdownMenuItem2, {
1724
1841
  density,
1725
1842
  "data-slot": "menubar-item",
1726
1843
  inset,
@@ -1737,7 +1854,7 @@ function MenubarCheckboxItem2({
1737
1854
  inset,
1738
1855
  ...props
1739
1856
  }) {
1740
- return /* @__PURE__ */ jsxs11(MenuPrimitive.CheckboxItem, {
1857
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.CheckboxItem, {
1741
1858
  "data-density": density,
1742
1859
  "data-slot": "menubar-checkbox-item",
1743
1860
  "data-inset": inset,
@@ -1745,10 +1862,10 @@ function MenubarCheckboxItem2({
1745
1862
  checked,
1746
1863
  ...props,
1747
1864
  children: [
1748
- /* @__PURE__ */ jsx17("span", {
1865
+ /* @__PURE__ */ jsx18("span", {
1749
1866
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1750
- children: /* @__PURE__ */ jsx17(MenuPrimitive.CheckboxItemIndicator, {
1751
- children: /* @__PURE__ */ jsx17(CheckIcon3, {})
1867
+ children: /* @__PURE__ */ jsx18(MenuPrimitive.CheckboxItemIndicator, {
1868
+ children: /* @__PURE__ */ jsx18(CheckIcon3, {})
1752
1869
  })
1753
1870
  }),
1754
1871
  children
@@ -1756,23 +1873,23 @@ function MenubarCheckboxItem2({
1756
1873
  });
1757
1874
  }
1758
1875
  function MenubarRadioGroup2({ ...props }) {
1759
- return /* @__PURE__ */ jsx17(DropdownMenuRadioGroup2, {
1876
+ return /* @__PURE__ */ jsx18(DropdownMenuRadioGroup2, {
1760
1877
  "data-slot": "menubar-radio-group",
1761
1878
  ...props
1762
1879
  });
1763
1880
  }
1764
1881
  function MenubarRadioItem2({ density, className, children, inset, ...props }) {
1765
- return /* @__PURE__ */ jsxs11(MenuPrimitive.RadioItem, {
1882
+ return /* @__PURE__ */ jsxs12(MenuPrimitive.RadioItem, {
1766
1883
  "data-density": density,
1767
1884
  "data-slot": "menubar-radio-item",
1768
1885
  "data-inset": inset,
1769
1886
  className: (state) => cn2("relative flex cursor-default items-center gap-control-gap rounded-md py-1 pe-1.5 ps-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
1770
1887
  ...props,
1771
1888
  children: [
1772
- /* @__PURE__ */ jsx17("span", {
1889
+ /* @__PURE__ */ jsx18("span", {
1773
1890
  className: "pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
1774
- children: /* @__PURE__ */ jsx17(MenuPrimitive.RadioItemIndicator, {
1775
- children: /* @__PURE__ */ jsx17(CheckIcon3, {})
1891
+ children: /* @__PURE__ */ jsx18(MenuPrimitive.RadioItemIndicator, {
1892
+ children: /* @__PURE__ */ jsx18(CheckIcon3, {})
1776
1893
  })
1777
1894
  }),
1778
1895
  children
@@ -1780,7 +1897,7 @@ function MenubarRadioItem2({ density, className, children, inset, ...props }) {
1780
1897
  });
1781
1898
  }
1782
1899
  function MenubarLabel2({ density, className, inset, ...props }) {
1783
- return /* @__PURE__ */ jsx17(DropdownMenuLabel2, {
1900
+ return /* @__PURE__ */ jsx18(DropdownMenuLabel2, {
1784
1901
  density,
1785
1902
  "data-slot": "menubar-label",
1786
1903
  inset,
@@ -1789,7 +1906,7 @@ function MenubarLabel2({ density, className, inset, ...props }) {
1789
1906
  });
1790
1907
  }
1791
1908
  function MenubarSeparator2({ density, className, ...props }) {
1792
- return /* @__PURE__ */ jsx17(DropdownMenuSeparator2, {
1909
+ return /* @__PURE__ */ jsx18(DropdownMenuSeparator2, {
1793
1910
  density,
1794
1911
  "data-slot": "menubar-separator",
1795
1912
  className: (state) => cn2("-mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
@@ -1797,7 +1914,7 @@ function MenubarSeparator2({ density, className, ...props }) {
1797
1914
  });
1798
1915
  }
1799
1916
  function MenubarShortcut2({ density, className, ...props }) {
1800
- return /* @__PURE__ */ jsx17(DropdownMenuShortcut2, {
1917
+ return /* @__PURE__ */ jsx18(DropdownMenuShortcut2, {
1801
1918
  "data-density": density,
1802
1919
  "data-slot": "menubar-shortcut",
1803
1920
  className: cn2("ms-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
@@ -1805,13 +1922,13 @@ function MenubarShortcut2({ density, className, ...props }) {
1805
1922
  });
1806
1923
  }
1807
1924
  function MenubarSub2({ ...props }) {
1808
- return /* @__PURE__ */ jsx17(DropdownMenuSub2, {
1925
+ return /* @__PURE__ */ jsx18(DropdownMenuSub2, {
1809
1926
  "data-slot": "menubar-sub",
1810
1927
  ...props
1811
1928
  });
1812
1929
  }
1813
1930
  function MenubarSubTrigger2({ density, className, inset, ...props }) {
1814
- return /* @__PURE__ */ jsx17(DropdownMenuSubTrigger2, {
1931
+ return /* @__PURE__ */ jsx18(DropdownMenuSubTrigger2, {
1815
1932
  density,
1816
1933
  "data-slot": "menubar-sub-trigger",
1817
1934
  inset,
@@ -1820,7 +1937,7 @@ function MenubarSubTrigger2({ density, className, inset, ...props }) {
1820
1937
  });
1821
1938
  }
1822
1939
  function MenubarSubContent2({ density, className, ...props }) {
1823
- return /* @__PURE__ */ jsx17(DropdownMenuSubContent2, {
1940
+ return /* @__PURE__ */ jsx18(DropdownMenuSubContent2, {
1824
1941
  density,
1825
1942
  "data-slot": "menubar-sub-content",
1826
1943
  className: (state) => cn2(" min-w-32 rounded-sm bg-popover p-1 text-popover-foreground shadow-frame border border-frame-edge border border-frame-edge shadow-frame duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 ", typeof className === "function" ? className(state) : className),
@@ -1831,7 +1948,7 @@ function MenubarSubContent2({ density, className, ...props }) {
1831
1948
  import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
1832
1949
  import { NavigationMenu as NavigationMenuPrimitive } from "@base-ui/react/navigation-menu";
1833
1950
  import { cva as cva3 } from "class-variance-authority";
1834
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1951
+ import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1835
1952
  function NavigationMenu2({
1836
1953
  density,
1837
1954
  align = "start",
@@ -1840,14 +1957,14 @@ function NavigationMenu2({
1840
1957
  ...props
1841
1958
  }) {
1842
1959
  const resolvedDensity = useDensity(density);
1843
- return /* @__PURE__ */ jsxs12(NavigationMenuPrimitive.Root, {
1960
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Root, {
1844
1961
  "data-density": resolvedDensity,
1845
1962
  "data-slot": "navigation-menu",
1846
1963
  className: (state) => cn2("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", typeof className === "function" ? className(state) : className),
1847
1964
  ...props,
1848
1965
  children: [
1849
1966
  children,
1850
- /* @__PURE__ */ jsx18(NavigationMenuPositioner2, {
1967
+ /* @__PURE__ */ jsx19(NavigationMenuPositioner2, {
1851
1968
  density: resolvedDensity,
1852
1969
  align
1853
1970
  })
@@ -1855,7 +1972,7 @@ function NavigationMenu2({
1855
1972
  });
1856
1973
  }
1857
1974
  function NavigationMenuList2({ density, className, ...props }) {
1858
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.List, {
1975
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.List, {
1859
1976
  "data-density": density,
1860
1977
  "data-slot": "navigation-menu-list",
1861
1978
  className: (state) => cn2("group flex flex-1 list-none items-center justify-center gap-0", typeof className === "function" ? className(state) : className),
@@ -1863,7 +1980,7 @@ function NavigationMenuList2({ density, className, ...props }) {
1863
1980
  });
1864
1981
  }
1865
1982
  function NavigationMenuItem2({ density, className, ...props }) {
1866
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Item, {
1983
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Item, {
1867
1984
  "data-density": density,
1868
1985
  "data-slot": "navigation-menu-item",
1869
1986
  className: (state) => cn2("relative", typeof className === "function" ? className(state) : className),
@@ -1872,7 +1989,7 @@ function NavigationMenuItem2({ density, className, ...props }) {
1872
1989
  }
1873
1990
  var navigationMenuTriggerStyle2 = cva3("group/navigation-menu-trigger inline-flex h-control-lg w-max items-center justify-center rounded-sm px-control-x py-1.5 text-sm font-medium transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted");
1874
1991
  function NavigationMenuTrigger2({ density, className, children, ...props }) {
1875
- return /* @__PURE__ */ jsxs12(NavigationMenuPrimitive.Trigger, {
1992
+ return /* @__PURE__ */ jsxs13(NavigationMenuPrimitive.Trigger, {
1876
1993
  "data-density": density,
1877
1994
  "data-slot": "navigation-menu-trigger",
1878
1995
  className: (state) => cn2(navigationMenuTriggerStyle2(), "group", typeof className === "function" ? className(state) : className),
@@ -1880,12 +1997,12 @@ function NavigationMenuTrigger2({ density, className, children, ...props }) {
1880
1997
  children: [
1881
1998
  children,
1882
1999
  " ",
1883
- /* @__PURE__ */ jsx18(NavigationMenuIndicator2, {})
2000
+ /* @__PURE__ */ jsx19(NavigationMenuIndicator2, {})
1884
2001
  ]
1885
2002
  });
1886
2003
  }
1887
2004
  function NavigationMenuContent2({ density, className, ...props }) {
1888
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Content, {
2005
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Content, {
1889
2006
  "data-density": density,
1890
2007
  "data-slot": "navigation-menu-content",
1891
2008
  className: (state) => cn2("data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 ", typeof className === "function" ? className(state) : className),
@@ -1905,12 +2022,12 @@ function NavigationMenuPositioner2({
1905
2022
  const direction = useDirection2();
1906
2023
  const container = usePortalContainer2();
1907
2024
  const portal = usePortalNode();
1908
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Portal, {
2025
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Portal, {
1909
2026
  container,
1910
2027
  ref: portal.ref,
1911
- children: /* @__PURE__ */ jsx18(PortalProvider2, {
2028
+ children: /* @__PURE__ */ jsx19(PortalProvider2, {
1912
2029
  container: portal.node,
1913
- children: /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Positioner, {
2030
+ children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Positioner, {
1914
2031
  dir: direction,
1915
2032
  side,
1916
2033
  sideOffset,
@@ -1918,11 +2035,11 @@ function NavigationMenuPositioner2({
1918
2035
  alignOffset,
1919
2036
  className: (state) => cn2("isolate h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0", typeof className === "function" ? className(state) : className),
1920
2037
  ...props,
1921
- children: /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Popup, {
2038
+ children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Popup, {
1922
2039
  "data-density": resolvedDensity,
1923
2040
  "data-slot": "navigation-menu-popup",
1924
2041
  className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-sm bg-popover text-popover-foreground border border-frame-edge shadow-frame transition-[opacity,transform,width,height,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:opacity-0",
1925
- children: /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Viewport, {
2042
+ children: /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Viewport, {
1926
2043
  className: "relative size-full overflow-hidden"
1927
2044
  })
1928
2045
  })
@@ -1931,7 +2048,7 @@ function NavigationMenuPositioner2({
1931
2048
  });
1932
2049
  }
1933
2050
  function NavigationMenuLink2({ density, className, ...props }) {
1934
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Link, {
2051
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Link, {
1935
2052
  "data-density": density,
1936
2053
  "data-slot": "navigation-menu-link",
1937
2054
  className: (state) => cn2("flex items-center gap-2 rounded-sm p-2 text-sm transition-colors outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
@@ -1944,32 +2061,32 @@ function NavigationMenuIndicator2({
1944
2061
  children,
1945
2062
  ...props
1946
2063
  }) {
1947
- return /* @__PURE__ */ jsx18(NavigationMenuPrimitive.Icon, {
2064
+ return /* @__PURE__ */ jsx19(NavigationMenuPrimitive.Icon, {
1948
2065
  "data-density": density,
1949
2066
  "data-slot": "navigation-menu-indicator",
1950
2067
  className: (state) => cn2("ms-1 inline-flex size-3 shrink-0 items-center justify-center transition-transform duration-120 data-popup-open:rotate-180 [&_svg]:size-full", typeof className === "function" ? className(state) : className),
1951
2068
  ...props,
1952
- children: children ?? /* @__PURE__ */ jsx18(ChevronDownIcon3, {})
2069
+ children: children ?? /* @__PURE__ */ jsx19(ChevronDownIcon3, {})
1953
2070
  });
1954
2071
  }
1955
2072
  // src/components/Toast.tsx
1956
2073
  import { Toast as ToastPrimitive } from "@base-ui/react/toast";
1957
2074
  import { CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, LoaderCircleIcon, XIcon } from "lucide-react";
1958
- import { jsx as jsx19, jsxs as jsxs13, Fragment } from "react/jsx-runtime";
2075
+ import { jsx as jsx20, jsxs as jsxs14, Fragment as Fragment3 } from "react/jsx-runtime";
1959
2076
  function ToastProvider2(props) {
1960
- return /* @__PURE__ */ jsx19(ToastPrimitive.Provider, {
2077
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Provider, {
1961
2078
  ...props
1962
2079
  });
1963
2080
  }
1964
2081
  function ToastPortal2({ container, ref, children, ...props }) {
1965
2082
  const resolvedContainer = usePortalContainer2(container);
1966
2083
  const portal = usePortalNode(ref);
1967
- return /* @__PURE__ */ jsx19(ToastPrimitive.Portal, {
2084
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Portal, {
1968
2085
  "data-slot": "toast-portal",
1969
2086
  container: resolvedContainer,
1970
2087
  ref: portal.ref,
1971
2088
  ...props,
1972
- children: /* @__PURE__ */ jsx19(PortalProvider2, {
2089
+ children: /* @__PURE__ */ jsx20(PortalProvider2, {
1973
2090
  container: portal.node,
1974
2091
  children
1975
2092
  })
@@ -1978,7 +2095,7 @@ function ToastPortal2({ container, ref, children, ...props }) {
1978
2095
  function ToastViewport2({ density, dir, className, ...props }) {
1979
2096
  const resolvedDensity = useDensity(density);
1980
2097
  const inheritedDirection = useDirection2();
1981
- return /* @__PURE__ */ jsx19(ToastPrimitive.Viewport, {
2098
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Viewport, {
1982
2099
  dir: dir ?? inheritedDirection,
1983
2100
  "data-density": resolvedDensity,
1984
2101
  "data-slot": "toast-viewport",
@@ -1987,7 +2104,7 @@ function ToastViewport2({ density, dir, className, ...props }) {
1987
2104
  });
1988
2105
  }
1989
2106
  function Toast2({ density, className, ...props }) {
1990
- return /* @__PURE__ */ jsx19(ToastPrimitive.Root, {
2107
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Root, {
1991
2108
  "data-density": density,
1992
2109
  "data-slot": "toast",
1993
2110
  className: (state) => cn2("group/toast pointer-events-auto absolute right-0 bottom-0 w-full rounded-md border border-frame-edge bg-popover text-popover-foreground shadow-frame outline-none select-none focus-visible:ring-1 focus-visible:ring-ring [--offset-y:calc(var(--toast-offset-y)*-1-var(--toast-index)*var(--spacing-panel))] [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--offset-y)+var(--toast-swipe-movement-y)))] transition-[transform,opacity] duration-120 ease-out data-limited:opacity-0 data-starting-style:opacity-0 data-ending-style:opacity-0 motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -1995,21 +2112,21 @@ function Toast2({ density, className, ...props }) {
1995
2112
  });
1996
2113
  }
1997
2114
  function ToastContent2({ className, ...props }) {
1998
- return /* @__PURE__ */ jsx19(ToastPrimitive.Content, {
2115
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Content, {
1999
2116
  "data-slot": "toast-content",
2000
2117
  className: (state) => cn2("flex items-center gap-control-gap p-panel", typeof className === "function" ? className(state) : className),
2001
2118
  ...props
2002
2119
  });
2003
2120
  }
2004
2121
  function ToastTitle2({ className, ...props }) {
2005
- return /* @__PURE__ */ jsx19(ToastPrimitive.Title, {
2122
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Title, {
2006
2123
  "data-slot": "toast-title",
2007
2124
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
2008
2125
  ...props
2009
2126
  });
2010
2127
  }
2011
2128
  function ToastDescription2({ className, ...props }) {
2012
- return /* @__PURE__ */ jsx19(ToastPrimitive.Description, {
2129
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Description, {
2013
2130
  "data-slot": "toast-description",
2014
2131
  className: (state) => cn2("text-sm text-muted-foreground", typeof className === "function" ? className(state) : className),
2015
2132
  ...props
@@ -2017,13 +2134,13 @@ function ToastDescription2({ className, ...props }) {
2017
2134
  }
2018
2135
  function ToastAction2({
2019
2136
  className,
2020
- render = /* @__PURE__ */ jsx19(Button2, {
2137
+ render = /* @__PURE__ */ jsx20(Button2, {
2021
2138
  variant: "outline",
2022
2139
  size: "sm"
2023
2140
  }),
2024
2141
  ...props
2025
2142
  }) {
2026
- return /* @__PURE__ */ jsx19(ToastPrimitive.Action, {
2143
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Action, {
2027
2144
  "data-slot": "toast-action",
2028
2145
  render,
2029
2146
  className: (state) => cn2("shrink-0", typeof className === "function" ? className(state) : className),
@@ -2033,19 +2150,19 @@ function ToastAction2({
2033
2150
  function ToastClose2({
2034
2151
  className,
2035
2152
  children,
2036
- render = /* @__PURE__ */ jsx19(Button2, {
2153
+ render = /* @__PURE__ */ jsx20(Button2, {
2037
2154
  variant: "ghost",
2038
2155
  size: "icon-sm"
2039
2156
  }),
2040
2157
  ...props
2041
2158
  }) {
2042
- return /* @__PURE__ */ jsx19(ToastPrimitive.Close, {
2159
+ return /* @__PURE__ */ jsx20(ToastPrimitive.Close, {
2043
2160
  "data-slot": "toast-close",
2044
2161
  "aria-label": "Close toast",
2045
2162
  render,
2046
2163
  className: (state) => cn2("relative shrink-0 text-muted-foreground hover:text-foreground", typeof className === "function" ? className(state) : className),
2047
2164
  ...props,
2048
- children: children ?? /* @__PURE__ */ jsx19(XIcon, {
2165
+ children: children ?? /* @__PURE__ */ jsx20(XIcon, {
2049
2166
  "aria-hidden": "true"
2050
2167
  })
2051
2168
  });
@@ -2053,24 +2170,24 @@ function ToastClose2({
2053
2170
  function ToastIcon({ type }) {
2054
2171
  switch (type) {
2055
2172
  case "success":
2056
- return /* @__PURE__ */ jsx19(CircleCheckIcon, {
2173
+ return /* @__PURE__ */ jsx20(CircleCheckIcon, {
2057
2174
  "aria-hidden": "true"
2058
2175
  });
2059
2176
  case "info":
2060
- return /* @__PURE__ */ jsx19(InfoIcon, {
2177
+ return /* @__PURE__ */ jsx20(InfoIcon, {
2061
2178
  "aria-hidden": "true"
2062
2179
  });
2063
2180
  case "warning":
2064
- return /* @__PURE__ */ jsx19(TriangleAlertIcon, {
2181
+ return /* @__PURE__ */ jsx20(TriangleAlertIcon, {
2065
2182
  "aria-hidden": "true"
2066
2183
  });
2067
2184
  case "error":
2068
- return /* @__PURE__ */ jsx19(OctagonXIcon, {
2185
+ return /* @__PURE__ */ jsx20(OctagonXIcon, {
2069
2186
  "aria-hidden": "true",
2070
2187
  className: "text-destructive"
2071
2188
  });
2072
2189
  case "loading":
2073
- return /* @__PURE__ */ jsx19(LoaderCircleIcon, {
2190
+ return /* @__PURE__ */ jsx20(LoaderCircleIcon, {
2074
2191
  "aria-hidden": "true",
2075
2192
  className: "animate-spin motion-reduce:animate-none"
2076
2193
  });
@@ -2080,41 +2197,41 @@ function ToastIcon({ type }) {
2080
2197
  }
2081
2198
  function ToastList() {
2082
2199
  const { toasts } = ToastPrimitive.useToastManager();
2083
- return /* @__PURE__ */ jsx19(Fragment, {
2084
- children: toasts.map((toastItem) => /* @__PURE__ */ jsx19(Toast2, {
2200
+ return /* @__PURE__ */ jsx20(Fragment3, {
2201
+ children: toasts.map((toastItem) => /* @__PURE__ */ jsx20(Toast2, {
2085
2202
  toast: toastItem,
2086
- children: /* @__PURE__ */ jsxs13(ToastContent2, {
2203
+ children: /* @__PURE__ */ jsxs14(ToastContent2, {
2087
2204
  children: [
2088
- /* @__PURE__ */ jsx19("span", {
2205
+ /* @__PURE__ */ jsx20("span", {
2089
2206
  "data-slot": "toast-icon",
2090
2207
  className: "shrink-0 empty:hidden [&_svg]:size-4",
2091
- children: /* @__PURE__ */ jsx19(ToastIcon, {
2208
+ children: /* @__PURE__ */ jsx20(ToastIcon, {
2092
2209
  type: toastItem.type
2093
2210
  })
2094
2211
  }),
2095
- /* @__PURE__ */ jsxs13("div", {
2212
+ /* @__PURE__ */ jsxs14("div", {
2096
2213
  className: "flex min-w-0 flex-1 flex-col gap-1",
2097
2214
  children: [
2098
- /* @__PURE__ */ jsx19(ToastTitle2, {}),
2099
- /* @__PURE__ */ jsx19(ToastDescription2, {})
2215
+ /* @__PURE__ */ jsx20(ToastTitle2, {}),
2216
+ /* @__PURE__ */ jsx20(ToastDescription2, {})
2100
2217
  ]
2101
2218
  }),
2102
- /* @__PURE__ */ jsx19(ToastAction2, {}),
2103
- /* @__PURE__ */ jsx19(ToastClose2, {})
2219
+ /* @__PURE__ */ jsx20(ToastAction2, {}),
2220
+ /* @__PURE__ */ jsx20(ToastClose2, {})
2104
2221
  ]
2105
2222
  })
2106
2223
  }, toastItem.id))
2107
2224
  });
2108
2225
  }
2109
2226
  function ToastToaster2({ children, density, ...props }) {
2110
- return /* @__PURE__ */ jsxs13(ToastProvider2, {
2227
+ return /* @__PURE__ */ jsxs14(ToastProvider2, {
2111
2228
  ...props,
2112
2229
  children: [
2113
2230
  children,
2114
- /* @__PURE__ */ jsx19(ToastPortal2, {
2115
- children: /* @__PURE__ */ jsx19(ToastViewport2, {
2231
+ /* @__PURE__ */ jsx20(ToastPortal2, {
2232
+ children: /* @__PURE__ */ jsx20(ToastViewport2, {
2116
2233
  density,
2117
- children: /* @__PURE__ */ jsx19(ToastList, {})
2234
+ children: /* @__PURE__ */ jsx20(ToastList, {})
2118
2235
  })
2119
2236
  })
2120
2237
  ]
@@ -2130,7 +2247,7 @@ function useToastManager2() {
2130
2247
  import { mergeProps as mergeProps6 } from "@base-ui/react/merge-props";
2131
2248
  import { useRender as useRender6 } from "@base-ui/react/use-render";
2132
2249
  import { cva as cva4 } from "class-variance-authority";
2133
- import { jsx as jsx20 } from "react/jsx-runtime";
2250
+ import { jsx as jsx21 } from "react/jsx-runtime";
2134
2251
  var markerVariants2 = cva4("group/marker relative flex min-h-4 w-full items-center gap-control-gap text-start text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground [&:is(a,button)]:outline-none [&:is(a,button)]:focus-visible:outline-1 [&:is(a,button)]:focus-visible:outline-ring", {
2135
2252
  variants: {
2136
2253
  variant: {
@@ -2149,7 +2266,7 @@ function Marker2({ density, className, variant = "default", render, ...props })
2149
2266
  });
2150
2267
  }
2151
2268
  function MarkerIcon2({ density, className, ...props }) {
2152
- return /* @__PURE__ */ jsx20("span", {
2269
+ return /* @__PURE__ */ jsx21("span", {
2153
2270
  "data-density": density,
2154
2271
  "data-slot": "marker-icon",
2155
2272
  "aria-hidden": "true",
@@ -2158,7 +2275,7 @@ function MarkerIcon2({ density, className, ...props }) {
2158
2275
  });
2159
2276
  }
2160
2277
  function MarkerContent2({ density, className, ...props }) {
2161
- return /* @__PURE__ */ jsx20("span", {
2278
+ return /* @__PURE__ */ jsx21("span", {
2162
2279
  "data-density": density,
2163
2280
  "data-slot": "marker-content",
2164
2281
  className: cn2("min-w-0 wrap-break-word group-data-[variant=separator]/marker:text-center [&>a]:underline [&>a]:underline-offset-3 [&>a:hover]:text-foreground", className),
@@ -2169,9 +2286,9 @@ function MarkerContent2({ density, className, ...props }) {
2169
2286
  import { mergeProps as mergeProps7 } from "@base-ui/react/merge-props";
2170
2287
  import { useRender as useRender7 } from "@base-ui/react/use-render";
2171
2288
  import { cva as cva5 } from "class-variance-authority";
2172
- import { jsx as jsx21 } from "react/jsx-runtime";
2289
+ import { jsx as jsx22 } from "react/jsx-runtime";
2173
2290
  function BubbleGroup2({ density, className, ...props }) {
2174
- return /* @__PURE__ */ jsx21("div", {
2291
+ return /* @__PURE__ */ jsx22("div", {
2175
2292
  "data-density": density,
2176
2293
  "data-slot": "bubble-group",
2177
2294
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2193,7 +2310,7 @@ var bubbleVariants = cva5("group/bubble relative flex w-fit max-w-[80%] min-w-0
2193
2310
  defaultVariants: { variant: "default" }
2194
2311
  });
2195
2312
  function Bubble2({ density, variant = "default", align = "start", className, ...props }) {
2196
- return /* @__PURE__ */ jsx21("div", {
2313
+ return /* @__PURE__ */ jsx22("div", {
2197
2314
  "data-density": density,
2198
2315
  "data-slot": "bubble",
2199
2316
  "data-variant": variant,
@@ -2226,7 +2343,7 @@ function BubbleReactions2({
2226
2343
  className,
2227
2344
  ...props
2228
2345
  }) {
2229
- return /* @__PURE__ */ jsx21("div", {
2346
+ return /* @__PURE__ */ jsx22("div", {
2230
2347
  "data-density": density,
2231
2348
  "data-slot": "bubble-reactions",
2232
2349
  "data-align": align,
@@ -2244,9 +2361,9 @@ import { createContext as createContext2 } from "react";
2244
2361
  var MessageContext = createContext2(null);
2245
2362
 
2246
2363
  // src/components/Message.tsx
2247
- import { jsx as jsx22 } from "react/jsx-runtime";
2364
+ import { jsx as jsx23 } from "react/jsx-runtime";
2248
2365
  function MessageGroup2({ density, className, ...props }) {
2249
- return /* @__PURE__ */ jsx22("div", {
2366
+ return /* @__PURE__ */ jsx23("div", {
2250
2367
  "data-density": density,
2251
2368
  "data-slot": "message-group",
2252
2369
  className: cn2("flex min-w-0 flex-col gap-control-gap", className),
@@ -2257,9 +2374,9 @@ function Message2({ density, className, align = "start", style, ...props }) {
2257
2374
  const [footerOffset, setFooterOffset] = useState(0);
2258
2375
  const context = useMemo3(() => ({ setFooterOffset }), []);
2259
2376
  const messageStyle = { ...style, "--message-footer-offset": `${footerOffset}px` };
2260
- return /* @__PURE__ */ jsx22(MessageContext.Provider, {
2377
+ return /* @__PURE__ */ jsx23(MessageContext.Provider, {
2261
2378
  value: context,
2262
- children: /* @__PURE__ */ jsx22("div", {
2379
+ children: /* @__PURE__ */ jsx23("div", {
2263
2380
  "data-density": density,
2264
2381
  "data-slot": "message",
2265
2382
  "data-align": align,
@@ -2270,7 +2387,7 @@ function Message2({ density, className, align = "start", style, ...props }) {
2270
2387
  });
2271
2388
  }
2272
2389
  function MessageAvatar2({ density, className, ...props }) {
2273
- return /* @__PURE__ */ jsx22("div", {
2390
+ return /* @__PURE__ */ jsx23("div", {
2274
2391
  "data-density": density,
2275
2392
  "data-slot": "message-avatar",
2276
2393
  className: cn2("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-(--message-footer-offset)", className),
@@ -2278,7 +2395,7 @@ function MessageAvatar2({ density, className, ...props }) {
2278
2395
  });
2279
2396
  }
2280
2397
  function MessageContent2({ density, className, ...props }) {
2281
- return /* @__PURE__ */ jsx22("div", {
2398
+ return /* @__PURE__ */ jsx23("div", {
2282
2399
  "data-density": density,
2283
2400
  "data-slot": "message-content",
2284
2401
  className: cn2("flex w-full min-w-0 flex-col gap-control-gap wrap-break-word group-data-[align=end]/message:[&>[data-slot]:not([data-slot=message-header])]:self-end", className),
@@ -2286,7 +2403,7 @@ function MessageContent2({ density, className, ...props }) {
2286
2403
  });
2287
2404
  }
2288
2405
  function MessageHeader2({ density, className, ...props }) {
2289
- return /* @__PURE__ */ jsx22("div", {
2406
+ return /* @__PURE__ */ jsx23("div", {
2290
2407
  "data-density": density,
2291
2408
  "data-slot": "message-header",
2292
2409
  className: cn2("flex max-w-full min-w-0 items-center px-control-x text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
@@ -2328,7 +2445,7 @@ function MessageFooter2({ density, className, ...props }) {
2328
2445
  import { mergeProps as mergeProps8 } from "@base-ui/react/merge-props";
2329
2446
  import { useRender as useRender9 } from "@base-ui/react/use-render";
2330
2447
  import { cva as cva6 } from "class-variance-authority";
2331
- import { jsx as jsx23 } from "react/jsx-runtime";
2448
+ import { jsx as jsx24 } from "react/jsx-runtime";
2332
2449
  var attachmentVariants = cva6("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-md border bg-card text-card-foreground transition-colors motion-reduce:transition-none focus-within:ring-1 focus-within:ring-ring has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive data-[state=idle]:border-dashed", {
2333
2450
  variants: {
2334
2451
  size: {
@@ -2350,7 +2467,7 @@ function Attachment2({
2350
2467
  orientation = "horizontal",
2351
2468
  ...props
2352
2469
  }) {
2353
- return /* @__PURE__ */ jsx23("div", {
2470
+ return /* @__PURE__ */ jsx24("div", {
2354
2471
  "data-slot": "attachment",
2355
2472
  "data-density": density,
2356
2473
  "data-state": state,
@@ -2370,7 +2487,7 @@ var attachmentMediaVariants = cva6("relative flex aspect-square w-10 shrink-0 it
2370
2487
  defaultVariants: { variant: "icon" }
2371
2488
  });
2372
2489
  function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2373
- return /* @__PURE__ */ jsx23("div", {
2490
+ return /* @__PURE__ */ jsx24("div", {
2374
2491
  "data-slot": "attachment-media",
2375
2492
  "data-density": density,
2376
2493
  "data-variant": variant,
@@ -2379,7 +2496,7 @@ function AttachmentMedia2({ density, className, variant = "icon", ...props }) {
2379
2496
  });
2380
2497
  }
2381
2498
  function AttachmentContent2({ density, className, ...props }) {
2382
- return /* @__PURE__ */ jsx23("div", {
2499
+ return /* @__PURE__ */ jsx24("div", {
2383
2500
  "data-slot": "attachment-content",
2384
2501
  "data-density": density,
2385
2502
  className: cn2("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1", className),
@@ -2387,7 +2504,7 @@ function AttachmentContent2({ density, className, ...props }) {
2387
2504
  });
2388
2505
  }
2389
2506
  function AttachmentTitle2({ density, className, ...props }) {
2390
- return /* @__PURE__ */ jsx23("span", {
2507
+ return /* @__PURE__ */ jsx24("span", {
2391
2508
  "data-slot": "attachment-title",
2392
2509
  "data-density": density,
2393
2510
  className: cn2("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer", className),
@@ -2395,7 +2512,7 @@ function AttachmentTitle2({ density, className, ...props }) {
2395
2512
  });
2396
2513
  }
2397
2514
  function AttachmentDescription2({ density, className, ...props }) {
2398
- return /* @__PURE__ */ jsx23("span", {
2515
+ return /* @__PURE__ */ jsx24("span", {
2399
2516
  "data-slot": "attachment-description",
2400
2517
  "data-density": density,
2401
2518
  className: cn2("mt-0.5 block max-w-full min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive", className),
@@ -2403,7 +2520,7 @@ function AttachmentDescription2({ density, className, ...props }) {
2403
2520
  });
2404
2521
  }
2405
2522
  function AttachmentActions2({ density, className, ...props }) {
2406
- return /* @__PURE__ */ jsx23("div", {
2523
+ return /* @__PURE__ */ jsx24("div", {
2407
2524
  "data-slot": "attachment-actions",
2408
2525
  "data-density": density,
2409
2526
  className: cn2("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:gap-1", className),
@@ -2416,7 +2533,7 @@ function AttachmentAction2({
2416
2533
  size = "icon-xs",
2417
2534
  ...props
2418
2535
  }) {
2419
- return /* @__PURE__ */ jsx23(Button2, {
2536
+ return /* @__PURE__ */ jsx24(Button2, {
2420
2537
  "data-slot": "attachment-action",
2421
2538
  variant,
2422
2539
  size,
@@ -2433,7 +2550,7 @@ function AttachmentTrigger2({ density, className, render, type, ...props }) {
2433
2550
  });
2434
2551
  }
2435
2552
  function AttachmentGroup2({ density, className, ...props }) {
2436
- return /* @__PURE__ */ jsx23("div", {
2553
+ return /* @__PURE__ */ jsx24("div", {
2437
2554
  "data-slot": "attachment-group",
2438
2555
  "data-density": density,
2439
2556
  className: cn2("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 no-scrollbar gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start", className),
@@ -2442,7 +2559,7 @@ function AttachmentGroup2({ density, className, ...props }) {
2442
2559
  }
2443
2560
  // src/components/InlineEdit.tsx
2444
2561
  import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
2445
- import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
2562
+ import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
2446
2563
  function InlineEdit2({
2447
2564
  label,
2448
2565
  value,
@@ -2478,14 +2595,14 @@ function InlineEdit2({
2478
2595
  setSaving(false);
2479
2596
  }
2480
2597
  };
2481
- return /* @__PURE__ */ jsxs14("form", {
2598
+ return /* @__PURE__ */ jsxs15("form", {
2482
2599
  className: "flex min-w-0 flex-col gap-1",
2483
2600
  onSubmit: (event) => {
2484
2601
  event.preventDefault();
2485
2602
  save();
2486
2603
  },
2487
2604
  children: [
2488
- /* @__PURE__ */ jsx24(Input2, {
2605
+ /* @__PURE__ */ jsx25(Input2, {
2489
2606
  ref: input,
2490
2607
  density,
2491
2608
  "aria-label": label,
@@ -2513,7 +2630,7 @@ function InlineEdit2({
2513
2630
  }
2514
2631
  }
2515
2632
  }),
2516
- error && /* @__PURE__ */ jsx24("p", {
2633
+ error && /* @__PURE__ */ jsx25("p", {
2517
2634
  role: "alert",
2518
2635
  className: "text-xs text-destructive",
2519
2636
  children: error
@@ -2525,28 +2642,28 @@ function InlineEdit2({
2525
2642
  import { Radio } from "@base-ui/react/radio";
2526
2643
  import { RadioGroup } from "@base-ui/react/radio-group";
2527
2644
  import { StarIcon, CircleOffIcon } from "lucide-react";
2528
- import { jsx as jsx25 } from "react/jsx-runtime";
2645
+ import { jsx as jsx26 } from "react/jsx-runtime";
2529
2646
  function StarRating2({ label, value, disabled, density, onValueChange }) {
2530
- return /* @__PURE__ */ jsx25(RadioGroup, {
2647
+ return /* @__PURE__ */ jsx26(RadioGroup, {
2531
2648
  "aria-label": label,
2532
2649
  value,
2533
2650
  disabled,
2534
2651
  "data-density": density,
2535
2652
  className: "inline-flex w-fit shrink-0 items-center gap-0.5",
2536
2653
  onValueChange,
2537
- children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx25(Radio.Root, {
2654
+ children: [1, 2, 3, 4, 5, 0].map((star) => /* @__PURE__ */ jsx26(Radio.Root, {
2538
2655
  value: star,
2539
2656
  nativeButton: true,
2540
- render: /* @__PURE__ */ jsx25("button", {
2657
+ render: /* @__PURE__ */ jsx26("button", {
2541
2658
  type: "button"
2542
2659
  }),
2543
2660
  "aria-label": star === 0 ? "Unrated" : `${star} ${star === 1 ? "star" : "stars"}`,
2544
2661
  title: star === 0 ? "Clear rating" : `${star} stars`,
2545
2662
  className: "inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-primary focus-visible:ring-1 focus-visible:ring-ring data-disabled:cursor-not-allowed data-disabled:opacity-50",
2546
- children: star === 0 ? /* @__PURE__ */ jsx25(CircleOffIcon, {
2663
+ children: star === 0 ? /* @__PURE__ */ jsx26(CircleOffIcon, {
2547
2664
  "aria-hidden": "true",
2548
2665
  className: "size-3"
2549
- }) : /* @__PURE__ */ jsx25(StarIcon, {
2666
+ }) : /* @__PURE__ */ jsx26(StarIcon, {
2550
2667
  "aria-hidden": "true",
2551
2668
  className: star <= value ? "size-3.5 fill-primary text-primary" : "size-3.5"
2552
2669
  })
@@ -2555,7 +2672,7 @@ function StarRating2({ label, value, disabled, density, onValueChange }) {
2555
2672
  }
2556
2673
  // src/components/ConfirmationDialog.tsx
2557
2674
  import { useState as useState3 } from "react";
2558
- import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
2675
+ import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
2559
2676
  function ConfirmationDialog2({
2560
2677
  open,
2561
2678
  title,
@@ -2566,7 +2683,7 @@ function ConfirmationDialog2({
2566
2683
  }) {
2567
2684
  const [isPending, setPending] = useState3(false);
2568
2685
  const [error, setError] = useState3("");
2569
- return /* @__PURE__ */ jsx26(AlertDialog2, {
2686
+ return /* @__PURE__ */ jsx27(AlertDialog2, {
2570
2687
  open,
2571
2688
  onOpenChange: (next) => {
2572
2689
  if (!isPending) {
@@ -2574,31 +2691,31 @@ function ConfirmationDialog2({
2574
2691
  onOpenChange(next);
2575
2692
  }
2576
2693
  },
2577
- children: /* @__PURE__ */ jsxs15(AlertDialogContent2, {
2694
+ children: /* @__PURE__ */ jsxs16(AlertDialogContent2, {
2578
2695
  children: [
2579
- /* @__PURE__ */ jsxs15(AlertDialogHeader2, {
2696
+ /* @__PURE__ */ jsxs16(AlertDialogHeader2, {
2580
2697
  children: [
2581
- /* @__PURE__ */ jsx26(AlertDialogTitle2, {
2698
+ /* @__PURE__ */ jsx27(AlertDialogTitle2, {
2582
2699
  children: title
2583
2700
  }),
2584
- /* @__PURE__ */ jsx26(AlertDialogDescription2, {
2701
+ /* @__PURE__ */ jsx27(AlertDialogDescription2, {
2585
2702
  children: description
2586
2703
  })
2587
2704
  ]
2588
2705
  }),
2589
- error && /* @__PURE__ */ jsx26(Alert2, {
2706
+ error && /* @__PURE__ */ jsx27(Alert2, {
2590
2707
  variant: "destructive",
2591
- children: /* @__PURE__ */ jsx26(AlertDescription2, {
2708
+ children: /* @__PURE__ */ jsx27(AlertDescription2, {
2592
2709
  children: error
2593
2710
  })
2594
2711
  }),
2595
- /* @__PURE__ */ jsxs15(AlertDialogFooter2, {
2712
+ /* @__PURE__ */ jsxs16(AlertDialogFooter2, {
2596
2713
  children: [
2597
- /* @__PURE__ */ jsx26(AlertDialogCancel2, {
2714
+ /* @__PURE__ */ jsx27(AlertDialogCancel2, {
2598
2715
  disabled: isPending,
2599
2716
  children: "Cancel"
2600
2717
  }),
2601
- /* @__PURE__ */ jsx26(Button2, {
2718
+ /* @__PURE__ */ jsx27(Button2, {
2602
2719
  variant: "destructive",
2603
2720
  disabled: isPending,
2604
2721
  onClick: async () => {
@@ -2642,32 +2759,32 @@ function useObjectURL(file) {
2642
2759
  }
2643
2760
 
2644
2761
  // src/components/ImagePicker.tsx
2645
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
2762
+ import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
2646
2763
  function ImagePicker2({ src, file, label, disabled, onFileChange, onClear }) {
2647
2764
  const input = useRef3(null);
2648
2765
  const preview = useObjectURL(file);
2649
2766
  const image = file === null ? undefined : preview ?? src;
2650
- return /* @__PURE__ */ jsxs16("figure", {
2767
+ return /* @__PURE__ */ jsxs17("figure", {
2651
2768
  className: "flex min-w-0 flex-col items-center gap-3",
2652
2769
  "aria-label": label,
2653
2770
  children: [
2654
- /* @__PURE__ */ jsxs16(Avatar2, {
2771
+ /* @__PURE__ */ jsxs17(Avatar2, {
2655
2772
  size: "preview",
2656
2773
  shape: "square",
2657
2774
  children: [
2658
- /* @__PURE__ */ jsx27(AvatarImage2, {
2775
+ /* @__PURE__ */ jsx28(AvatarImage2, {
2659
2776
  src: image,
2660
2777
  alt: label
2661
2778
  }),
2662
- /* @__PURE__ */ jsx27(AvatarFallback2, {
2663
- children: /* @__PURE__ */ jsx27(ImageIcon, {
2779
+ /* @__PURE__ */ jsx28(AvatarFallback2, {
2780
+ children: /* @__PURE__ */ jsx28(ImageIcon, {
2664
2781
  className: "size-12",
2665
2782
  "aria-hidden": "true"
2666
2783
  })
2667
2784
  })
2668
2785
  ]
2669
2786
  }),
2670
- /* @__PURE__ */ jsx27("input", {
2787
+ /* @__PURE__ */ jsx28("input", {
2671
2788
  ref: input,
2672
2789
  hidden: true,
2673
2790
  type: "file",
@@ -2681,22 +2798,22 @@ function ImagePicker2({ src, file, label, disabled, onFileChange, onClear }) {
2681
2798
  event.currentTarget.value = "";
2682
2799
  }
2683
2800
  }),
2684
- /* @__PURE__ */ jsxs16("div", {
2801
+ /* @__PURE__ */ jsxs17("div", {
2685
2802
  className: "flex flex-wrap justify-center gap-2",
2686
2803
  children: [
2687
- /* @__PURE__ */ jsxs16(Button2, {
2804
+ /* @__PURE__ */ jsxs17(Button2, {
2688
2805
  type: "button",
2689
2806
  variant: "outline",
2690
2807
  disabled,
2691
2808
  onClick: () => input.current?.click(),
2692
2809
  children: [
2693
- /* @__PURE__ */ jsx27(UploadIcon, {
2810
+ /* @__PURE__ */ jsx28(UploadIcon, {
2694
2811
  "data-icon": "inline-start"
2695
2812
  }),
2696
2813
  "Upload image"
2697
2814
  ]
2698
2815
  }),
2699
- /* @__PURE__ */ jsx27(Button2, {
2816
+ /* @__PURE__ */ jsx28(Button2, {
2700
2817
  type: "button",
2701
2818
  variant: "outline",
2702
2819
  disabled: disabled || !image,
@@ -2710,9 +2827,9 @@ function ImagePicker2({ src, file, label, disabled, onFileChange, onClear }) {
2710
2827
  }
2711
2828
  // src/components/Meter.tsx
2712
2829
  import { Meter as MeterPrimitive } from "@base-ui/react/meter";
2713
- import { jsx as jsx28 } from "react/jsx-runtime";
2830
+ import { jsx as jsx29 } from "react/jsx-runtime";
2714
2831
  function Meter2({ density, className, ...props }) {
2715
- return /* @__PURE__ */ jsx28(MeterPrimitive.Root, {
2832
+ return /* @__PURE__ */ jsx29(MeterPrimitive.Root, {
2716
2833
  "data-density": density,
2717
2834
  "data-slot": "meter",
2718
2835
  className: (state) => cn2("flex min-w-0 flex-wrap items-center gap-field-gap", typeof className === "function" ? className(state) : className),
@@ -2720,7 +2837,7 @@ function Meter2({ density, className, ...props }) {
2720
2837
  });
2721
2838
  }
2722
2839
  function MeterLabel2({ density, className, ...props }) {
2723
- return /* @__PURE__ */ jsx28(MeterPrimitive.Label, {
2840
+ return /* @__PURE__ */ jsx29(MeterPrimitive.Label, {
2724
2841
  "data-density": density,
2725
2842
  "data-slot": "meter-label",
2726
2843
  className: (state) => cn2("text-sm font-medium", typeof className === "function" ? className(state) : className),
@@ -2728,7 +2845,7 @@ function MeterLabel2({ density, className, ...props }) {
2728
2845
  });
2729
2846
  }
2730
2847
  function MeterValue2({ density, className, ...props }) {
2731
- return /* @__PURE__ */ jsx28(MeterPrimitive.Value, {
2848
+ return /* @__PURE__ */ jsx29(MeterPrimitive.Value, {
2732
2849
  "data-density": density,
2733
2850
  "data-slot": "meter-value",
2734
2851
  className: (state) => cn2("ms-auto text-sm text-muted-foreground tabular-nums", typeof className === "function" ? className(state) : className),
@@ -2736,7 +2853,7 @@ function MeterValue2({ density, className, ...props }) {
2736
2853
  });
2737
2854
  }
2738
2855
  function MeterTrack2({ density, className, ...props }) {
2739
- return /* @__PURE__ */ jsx28(MeterPrimitive.Track, {
2856
+ return /* @__PURE__ */ jsx29(MeterPrimitive.Track, {
2740
2857
  "data-density": density,
2741
2858
  "data-slot": "meter-track",
2742
2859
  className: (state) => cn2("h-1 w-full overflow-hidden rounded-sm bg-muted", typeof className === "function" ? className(state) : className),
@@ -2748,7 +2865,7 @@ function MeterIndicator2({
2748
2865
  className,
2749
2866
  ...props
2750
2867
  }) {
2751
- return /* @__PURE__ */ jsx28(MeterPrimitive.Indicator, {
2868
+ return /* @__PURE__ */ jsx29(MeterPrimitive.Indicator, {
2752
2869
  "data-density": density,
2753
2870
  "data-slot": "meter-indicator",
2754
2871
  className: (state) => cn2("h-full bg-primary transition-[width] motion-reduce:transition-none", typeof className === "function" ? className(state) : className),
@@ -2758,9 +2875,9 @@ function MeterIndicator2({
2758
2875
  // src/components/Stepper.tsx
2759
2876
  import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
2760
2877
  import { CheckIcon as CheckIcon4 } from "lucide-react";
2761
- import { jsx as jsx29 } from "react/jsx-runtime";
2878
+ import { jsx as jsx30 } from "react/jsx-runtime";
2762
2879
  function Stepper2({ density, className, ...props }) {
2763
- return /* @__PURE__ */ jsx29(TabsPrimitive.Root, {
2880
+ return /* @__PURE__ */ jsx30(TabsPrimitive.Root, {
2764
2881
  "data-density": density,
2765
2882
  "data-slot": "stepper",
2766
2883
  className: (state) => cn2("group/stepper flex min-w-0 flex-col gap-panel data-[orientation=vertical]:flex-row", typeof className === "function" ? className(state) : className),
@@ -2773,7 +2890,7 @@ function StepperList2({
2773
2890
  activateOnFocus = false,
2774
2891
  ...props
2775
2892
  }) {
2776
- return /* @__PURE__ */ jsx29(TabsPrimitive.List, {
2893
+ return /* @__PURE__ */ jsx30(TabsPrimitive.List, {
2777
2894
  "data-density": density,
2778
2895
  "data-slot": "stepper-list",
2779
2896
  activateOnFocus,
@@ -2782,7 +2899,7 @@ function StepperList2({
2782
2899
  });
2783
2900
  }
2784
2901
  function StepperTrigger2({ density, className, ...props }) {
2785
- return /* @__PURE__ */ jsx29(TabsPrimitive.Tab, {
2902
+ return /* @__PURE__ */ jsx30(TabsPrimitive.Tab, {
2786
2903
  "data-density": density,
2787
2904
  "data-slot": "stepper-trigger",
2788
2905
  className: (state) => cn2("group/step flex min-h-control items-center gap-control-gap rounded-sm text-sm text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring data-active:text-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:opacity-50", typeof className === "function" ? className(state) : className),
@@ -2790,17 +2907,17 @@ function StepperTrigger2({ density, className, ...props }) {
2790
2907
  });
2791
2908
  }
2792
2909
  function StepperIndicator2({ completed = false, children, className, ...props }) {
2793
- return /* @__PURE__ */ jsx29("span", {
2910
+ return /* @__PURE__ */ jsx30("span", {
2794
2911
  "aria-hidden": "true",
2795
2912
  "data-slot": "stepper-indicator",
2796
2913
  "data-completed": completed || undefined,
2797
2914
  className: cn2("flex size-control shrink-0 items-center justify-center rounded-sm border border-input bg-secondary text-sm tabular-nums group-data-active/step:border-primary group-data-active/step:bg-primary group-data-active/step:text-primary-foreground data-completed:border-primary data-completed:text-primary [&_svg]:size-3.5", className),
2798
2915
  ...props,
2799
- children: completed ? /* @__PURE__ */ jsx29(CheckIcon4, {}) : children
2916
+ children: completed ? /* @__PURE__ */ jsx30(CheckIcon4, {}) : children
2800
2917
  });
2801
2918
  }
2802
2919
  function StepperContent2({ density, className, ...props }) {
2803
- return /* @__PURE__ */ jsx29(TabsPrimitive.Panel, {
2920
+ return /* @__PURE__ */ jsx30(TabsPrimitive.Panel, {
2804
2921
  "data-density": density,
2805
2922
  "data-slot": "stepper-content",
2806
2923
  className: (state) => cn2("min-w-0 flex-1 outline-none focus-visible:ring-1 focus-visible:ring-ring", typeof className === "function" ? className(state) : className),
@@ -2808,7 +2925,7 @@ function StepperContent2({ density, className, ...props }) {
2808
2925
  });
2809
2926
  }
2810
2927
  // src/components/AppShell.tsx
2811
- import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
2928
+ import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
2812
2929
  function AppShell2({
2813
2930
  navigation,
2814
2931
  brand,
@@ -2821,28 +2938,28 @@ function AppShell2({
2821
2938
  label = "Application",
2822
2939
  density
2823
2940
  }) {
2824
- return /* @__PURE__ */ jsxs17(SidebarProvider2, {
2941
+ return /* @__PURE__ */ jsxs18(SidebarProvider2, {
2825
2942
  density,
2826
2943
  defaultOpen: defaultSidebarOpen,
2827
2944
  className: "relative min-h-0",
2828
2945
  style: { height },
2829
2946
  "data-scroll": "none",
2830
2947
  children: [
2831
- /* @__PURE__ */ jsxs17(Sidebar2, {
2948
+ /* @__PURE__ */ jsxs18(Sidebar2, {
2832
2949
  collapsible: "icon",
2833
2950
  position: "container",
2834
2951
  children: [
2835
- /* @__PURE__ */ jsx30(SidebarHeader2, {
2952
+ /* @__PURE__ */ jsx31(SidebarHeader2, {
2836
2953
  children: brand
2837
2954
  }),
2838
- /* @__PURE__ */ jsx30(SidebarContent2, {
2839
- children: /* @__PURE__ */ jsx30("nav", {
2955
+ /* @__PURE__ */ jsx31(SidebarContent2, {
2956
+ children: /* @__PURE__ */ jsx31("nav", {
2840
2957
  "aria-label": "Primary navigation",
2841
- children: /* @__PURE__ */ jsx30(SidebarGroup2, {
2842
- children: /* @__PURE__ */ jsx30(SidebarMenu2, {
2843
- children: navigation.map((item) => /* @__PURE__ */ jsx30(SidebarMenuItem2, {
2844
- children: /* @__PURE__ */ jsxs17(SidebarMenuButton2, {
2845
- render: /* @__PURE__ */ jsx30("a", {
2958
+ children: /* @__PURE__ */ jsx31(SidebarGroup2, {
2959
+ children: /* @__PURE__ */ jsx31(SidebarMenu2, {
2960
+ children: navigation.map((item) => /* @__PURE__ */ jsx31(SidebarMenuItem2, {
2961
+ children: /* @__PURE__ */ jsxs18(SidebarMenuButton2, {
2962
+ render: /* @__PURE__ */ jsx31("a", {
2846
2963
  href: item.href,
2847
2964
  "aria-current": item.active ? "page" : undefined
2848
2965
  }),
@@ -2850,7 +2967,7 @@ function AppShell2({
2850
2967
  tooltip: item.label,
2851
2968
  children: [
2852
2969
  item.icon,
2853
- /* @__PURE__ */ jsx30("span", {
2970
+ /* @__PURE__ */ jsx31("span", {
2854
2971
  children: item.label
2855
2972
  })
2856
2973
  ]
@@ -2860,36 +2977,36 @@ function AppShell2({
2860
2977
  })
2861
2978
  })
2862
2979
  }),
2863
- sidebarFooter && /* @__PURE__ */ jsx30(SidebarFooter2, {
2980
+ sidebarFooter && /* @__PURE__ */ jsx31(SidebarFooter2, {
2864
2981
  children: sidebarFooter
2865
2982
  })
2866
2983
  ]
2867
2984
  }),
2868
- /* @__PURE__ */ jsxs17(SidebarInset2, {
2985
+ /* @__PURE__ */ jsxs18(SidebarInset2, {
2869
2986
  "aria-label": label,
2870
2987
  className: "min-h-0 min-w-0",
2871
2988
  "data-scroll": "none",
2872
2989
  children: [
2873
- /* @__PURE__ */ jsxs17("header", {
2990
+ /* @__PURE__ */ jsxs18("header", {
2874
2991
  "data-scroll": "none",
2875
2992
  className: "flex shrink-0 items-center gap-control-gap border-b border-border p-panel",
2876
2993
  children: [
2877
- /* @__PURE__ */ jsx30(SidebarTrigger2, {}),
2878
- /* @__PURE__ */ jsx30(Separator2, {
2994
+ /* @__PURE__ */ jsx31(SidebarTrigger2, {}),
2995
+ /* @__PURE__ */ jsx31(Separator2, {
2879
2996
  orientation: "vertical",
2880
2997
  className: "h-control"
2881
2998
  }),
2882
2999
  header
2883
3000
  ]
2884
3001
  }),
2885
- /* @__PURE__ */ jsx30(ScrollArea2, {
3002
+ /* @__PURE__ */ jsx31(ScrollArea2, {
2886
3003
  className: "min-h-0 flex-1",
2887
- children: /* @__PURE__ */ jsx30("div", {
3004
+ children: /* @__PURE__ */ jsx31("div", {
2888
3005
  className: "flex min-w-0 flex-col gap-panel p-panel",
2889
3006
  children
2890
3007
  })
2891
3008
  }),
2892
- footer && /* @__PURE__ */ jsx30("footer", {
3009
+ footer && /* @__PURE__ */ jsx31("footer", {
2893
3010
  className: "shrink-0 border-t border-border p-panel",
2894
3011
  "data-scroll": "none",
2895
3012
  children: footer
@@ -2900,32 +3017,32 @@ function AppShell2({
2900
3017
  });
2901
3018
  }
2902
3019
  // src/components/PageHeader.tsx
2903
- import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
3020
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
2904
3021
  function PageHeader2({ title, description, breadcrumbs, actions, density }) {
2905
- return /* @__PURE__ */ jsxs18("header", {
3022
+ return /* @__PURE__ */ jsxs19("header", {
2906
3023
  "data-density": density,
2907
3024
  "data-slot": "page-header",
2908
3025
  "data-scroll": "none",
2909
3026
  className: "flex min-w-0 flex-col gap-field-gap",
2910
3027
  children: [
2911
3028
  breadcrumbs,
2912
- /* @__PURE__ */ jsxs18("div", {
3029
+ /* @__PURE__ */ jsxs19("div", {
2913
3030
  className: "flex min-w-0 flex-wrap items-start justify-between gap-panel",
2914
3031
  children: [
2915
- /* @__PURE__ */ jsxs18("div", {
3032
+ /* @__PURE__ */ jsxs19("div", {
2916
3033
  className: "min-w-0",
2917
3034
  children: [
2918
- /* @__PURE__ */ jsx31("h1", {
3035
+ /* @__PURE__ */ jsx32("h1", {
2919
3036
  className: "text-xl font-semibold text-foreground",
2920
3037
  children: title
2921
3038
  }),
2922
- description && /* @__PURE__ */ jsx31("div", {
3039
+ description && /* @__PURE__ */ jsx32("div", {
2923
3040
  className: "mt-1 text-sm text-muted-foreground",
2924
3041
  children: description
2925
3042
  })
2926
3043
  ]
2927
3044
  }),
2928
- actions && /* @__PURE__ */ jsx31("div", {
3045
+ actions && /* @__PURE__ */ jsx32("div", {
2929
3046
  className: "flex shrink-0 flex-wrap items-center gap-control-gap",
2930
3047
  children: actions
2931
3048
  })
@@ -2935,7 +3052,7 @@ function PageHeader2({ title, description, breadcrumbs, actions, density }) {
2935
3052
  });
2936
3053
  }
2937
3054
  // src/components/WorkspaceSwitcher.tsx
2938
- import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
3055
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
2939
3056
  function WorkspaceSwitcher2({
2940
3057
  workspaces,
2941
3058
  value,
@@ -2945,7 +3062,7 @@ function WorkspaceSwitcher2({
2945
3062
  label = "Workspace",
2946
3063
  density
2947
3064
  }) {
2948
- return /* @__PURE__ */ jsxs19(Select2, {
3065
+ return /* @__PURE__ */ jsxs20(Select2, {
2949
3066
  items: workspaces,
2950
3067
  value,
2951
3068
  defaultValue: defaultValue ?? workspaces[0]?.value,
@@ -2955,15 +3072,15 @@ function WorkspaceSwitcher2({
2955
3072
  },
2956
3073
  disabled,
2957
3074
  children: [
2958
- /* @__PURE__ */ jsx32(SelectTrigger2, {
3075
+ /* @__PURE__ */ jsx33(SelectTrigger2, {
2959
3076
  "aria-label": label,
2960
3077
  density,
2961
- children: /* @__PURE__ */ jsx32(SelectValue2, {})
3078
+ children: /* @__PURE__ */ jsx33(SelectValue2, {})
2962
3079
  }),
2963
- /* @__PURE__ */ jsx32(SelectContent2, {
3080
+ /* @__PURE__ */ jsx33(SelectContent2, {
2964
3081
  density,
2965
- children: /* @__PURE__ */ jsx32(SelectGroup2, {
2966
- children: workspaces.map((workspace) => /* @__PURE__ */ jsx32(SelectItem2, {
3082
+ children: /* @__PURE__ */ jsx33(SelectGroup2, {
3083
+ children: workspaces.map((workspace) => /* @__PURE__ */ jsx33(SelectItem2, {
2967
3084
  value: workspace.value,
2968
3085
  children: workspace.label
2969
3086
  }, workspace.value))
@@ -2973,52 +3090,52 @@ function WorkspaceSwitcher2({
2973
3090
  });
2974
3091
  }
2975
3092
  // src/components/AccountMenu.tsx
2976
- import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
3093
+ import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
2977
3094
  function AccountMenu2({ name, email, image, onAction, density }) {
2978
- return /* @__PURE__ */ jsxs20(DropdownMenu2, {
3095
+ return /* @__PURE__ */ jsxs21(DropdownMenu2, {
2979
3096
  children: [
2980
- /* @__PURE__ */ jsxs20(DropdownMenuTrigger2, {
2981
- render: /* @__PURE__ */ jsx33(Button2, {
3097
+ /* @__PURE__ */ jsxs21(DropdownMenuTrigger2, {
3098
+ render: /* @__PURE__ */ jsx34(Button2, {
2982
3099
  variant: "ghost",
2983
3100
  density
2984
3101
  }),
2985
3102
  "aria-label": `Account menu for ${name}`,
2986
3103
  children: [
2987
- /* @__PURE__ */ jsxs20(Avatar2, {
3104
+ /* @__PURE__ */ jsxs21(Avatar2, {
2988
3105
  className: "size-control",
2989
3106
  children: [
2990
- /* @__PURE__ */ jsx33(AvatarImage2, {
3107
+ /* @__PURE__ */ jsx34(AvatarImage2, {
2991
3108
  src: image,
2992
3109
  alt: ""
2993
3110
  }),
2994
- /* @__PURE__ */ jsx33(AvatarFallback2, {
3111
+ /* @__PURE__ */ jsx34(AvatarFallback2, {
2995
3112
  children: name.slice(0, 2).toUpperCase()
2996
3113
  })
2997
3114
  ]
2998
3115
  }),
2999
- /* @__PURE__ */ jsx33("span", {
3116
+ /* @__PURE__ */ jsx34("span", {
3000
3117
  children: name
3001
3118
  })
3002
3119
  ]
3003
3120
  }),
3004
- /* @__PURE__ */ jsx33(DropdownMenuContent2, {
3121
+ /* @__PURE__ */ jsx34(DropdownMenuContent2, {
3005
3122
  density,
3006
3123
  align: "end",
3007
- children: /* @__PURE__ */ jsxs20(DropdownMenuGroup2, {
3124
+ children: /* @__PURE__ */ jsxs21(DropdownMenuGroup2, {
3008
3125
  children: [
3009
- /* @__PURE__ */ jsx33(DropdownMenuLabel2, {
3126
+ /* @__PURE__ */ jsx34(DropdownMenuLabel2, {
3010
3127
  children: email ?? name
3011
3128
  }),
3012
- /* @__PURE__ */ jsx33(DropdownMenuItem2, {
3129
+ /* @__PURE__ */ jsx34(DropdownMenuItem2, {
3013
3130
  onClick: () => onAction("profile"),
3014
3131
  children: "Profile"
3015
3132
  }),
3016
- /* @__PURE__ */ jsx33(DropdownMenuItem2, {
3133
+ /* @__PURE__ */ jsx34(DropdownMenuItem2, {
3017
3134
  onClick: () => onAction("settings"),
3018
3135
  children: "Settings"
3019
3136
  }),
3020
- /* @__PURE__ */ jsx33(DropdownMenuSeparator2, {}),
3021
- /* @__PURE__ */ jsx33(DropdownMenuItem2, {
3137
+ /* @__PURE__ */ jsx34(DropdownMenuSeparator2, {}),
3138
+ /* @__PURE__ */ jsx34(DropdownMenuItem2, {
3022
3139
  onClick: () => onAction("sign-out"),
3023
3140
  children: "Sign out"
3024
3141
  })
@@ -3029,7 +3146,7 @@ function AccountMenu2({ name, email, image, onAction, density }) {
3029
3146
  });
3030
3147
  }
3031
3148
  // src/components/StatCard.tsx
3032
- import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
3149
+ import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
3033
3150
  function StatCard2({
3034
3151
  label,
3035
3152
  value,
@@ -3040,40 +3157,40 @@ function StatCard2({
3040
3157
  loading = false,
3041
3158
  density
3042
3159
  }) {
3043
- return /* @__PURE__ */ jsxs21(Card2, {
3160
+ return /* @__PURE__ */ jsxs22(Card2, {
3044
3161
  density,
3045
3162
  "aria-label": label,
3046
3163
  "aria-busy": loading,
3047
3164
  children: [
3048
- /* @__PURE__ */ jsxs21(CardHeader2, {
3165
+ /* @__PURE__ */ jsxs22(CardHeader2, {
3049
3166
  children: [
3050
- /* @__PURE__ */ jsx34(CardTitle2, {
3167
+ /* @__PURE__ */ jsx35(CardTitle2, {
3051
3168
  children: label
3052
3169
  }),
3053
- description && /* @__PURE__ */ jsx34(CardDescription2, {
3170
+ description && /* @__PURE__ */ jsx35(CardDescription2, {
3054
3171
  children: description
3055
3172
  })
3056
3173
  ]
3057
3174
  }),
3058
- /* @__PURE__ */ jsx34(CardContent2, {
3059
- children: /* @__PURE__ */ jsxs21("div", {
3175
+ /* @__PURE__ */ jsx35(CardContent2, {
3176
+ children: /* @__PURE__ */ jsxs22("div", {
3060
3177
  className: "flex flex-wrap items-center justify-between gap-control-gap",
3061
3178
  children: [
3062
- loading ? /* @__PURE__ */ jsx34(Skeleton2, {
3179
+ loading ? /* @__PURE__ */ jsx35(Skeleton2, {
3063
3180
  className: "h-8 w-24",
3064
3181
  "aria-label": `Loading ${label}`
3065
- }) : /* @__PURE__ */ jsx34("div", {
3182
+ }) : /* @__PURE__ */ jsx35("div", {
3066
3183
  className: "text-2xl font-semibold tabular-nums",
3067
3184
  children: value
3068
3185
  }),
3069
- change && /* @__PURE__ */ jsx34(Badge2, {
3186
+ change && /* @__PURE__ */ jsx35(Badge2, {
3070
3187
  variant: changeIntent === "positive" ? "success" : changeIntent === "negative" ? "destructive" : "secondary",
3071
3188
  children: change
3072
3189
  })
3073
3190
  ]
3074
3191
  })
3075
3192
  }),
3076
- children && /* @__PURE__ */ jsx34(CardFooter2, {
3193
+ children && /* @__PURE__ */ jsx35(CardFooter2, {
3077
3194
  children
3078
3195
  })
3079
3196
  ]
@@ -3081,7 +3198,7 @@ function StatCard2({
3081
3198
  }
3082
3199
  // src/components/AuthForm.tsx
3083
3200
  import { useId as useId2, useState as useState5 } from "react";
3084
- import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
3201
+ import { jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
3085
3202
  function AuthForm2({
3086
3203
  mode = "sign-in",
3087
3204
  onSubmit,
@@ -3111,33 +3228,33 @@ function AuthForm2({
3111
3228
  setPending(false);
3112
3229
  }
3113
3230
  }
3114
- return /* @__PURE__ */ jsxs22(Card2, {
3231
+ return /* @__PURE__ */ jsxs23(Card2, {
3115
3232
  density,
3116
3233
  children: [
3117
- /* @__PURE__ */ jsxs22(CardHeader2, {
3234
+ /* @__PURE__ */ jsxs23(CardHeader2, {
3118
3235
  children: [
3119
- /* @__PURE__ */ jsx35(CardTitle2, {
3236
+ /* @__PURE__ */ jsx36(CardTitle2, {
3120
3237
  children: title
3121
3238
  }),
3122
- /* @__PURE__ */ jsx35(CardDescription2, {
3239
+ /* @__PURE__ */ jsx36(CardDescription2, {
3123
3240
  children: mode === "reset-password" ? "Enter your email to request a password reset." : "Enter your details to continue."
3124
3241
  })
3125
3242
  ]
3126
3243
  }),
3127
- /* @__PURE__ */ jsx35(CardContent2, {
3128
- children: /* @__PURE__ */ jsx35("form", {
3244
+ /* @__PURE__ */ jsx36(CardContent2, {
3245
+ children: /* @__PURE__ */ jsx36("form", {
3129
3246
  onSubmit: submit,
3130
3247
  "aria-label": title,
3131
3248
  "aria-busy": pending,
3132
- children: /* @__PURE__ */ jsxs22(FieldGroup2, {
3249
+ children: /* @__PURE__ */ jsxs23(FieldGroup2, {
3133
3250
  children: [
3134
- mode === "sign-up" && /* @__PURE__ */ jsxs22(Field2, {
3251
+ mode === "sign-up" && /* @__PURE__ */ jsxs23(Field2, {
3135
3252
  children: [
3136
- /* @__PURE__ */ jsx35(FieldLabel2, {
3253
+ /* @__PURE__ */ jsx36(FieldLabel2, {
3137
3254
  htmlFor: id + "-name",
3138
3255
  children: "Name"
3139
3256
  }),
3140
- /* @__PURE__ */ jsx35(Input2, {
3257
+ /* @__PURE__ */ jsx36(Input2, {
3141
3258
  id: id + "-name",
3142
3259
  name: "name",
3143
3260
  autoComplete: "name",
@@ -3146,13 +3263,13 @@ function AuthForm2({
3146
3263
  })
3147
3264
  ]
3148
3265
  }),
3149
- /* @__PURE__ */ jsxs22(Field2, {
3266
+ /* @__PURE__ */ jsxs23(Field2, {
3150
3267
  children: [
3151
- /* @__PURE__ */ jsx35(FieldLabel2, {
3268
+ /* @__PURE__ */ jsx36(FieldLabel2, {
3152
3269
  htmlFor: id + "-email",
3153
3270
  children: "Email"
3154
3271
  }),
3155
- /* @__PURE__ */ jsx35(Input2, {
3272
+ /* @__PURE__ */ jsx36(Input2, {
3156
3273
  id: id + "-email",
3157
3274
  name: "email",
3158
3275
  type: "email",
@@ -3162,13 +3279,13 @@ function AuthForm2({
3162
3279
  })
3163
3280
  ]
3164
3281
  }),
3165
- mode !== "reset-password" && /* @__PURE__ */ jsxs22(Field2, {
3282
+ mode !== "reset-password" && /* @__PURE__ */ jsxs23(Field2, {
3166
3283
  children: [
3167
- /* @__PURE__ */ jsx35(FieldLabel2, {
3284
+ /* @__PURE__ */ jsx36(FieldLabel2, {
3168
3285
  htmlFor: id + "-password",
3169
3286
  children: "Password"
3170
3287
  }),
3171
- /* @__PURE__ */ jsx35(Input2, {
3288
+ /* @__PURE__ */ jsx36(Input2, {
3172
3289
  id: id + "-password",
3173
3290
  name: "password",
3174
3291
  type: "password",
@@ -3177,27 +3294,27 @@ function AuthForm2({
3177
3294
  required: true,
3178
3295
  disabled: disabled || pending
3179
3296
  }),
3180
- mode === "sign-up" && /* @__PURE__ */ jsx35(FieldDescription2, {
3297
+ mode === "sign-up" && /* @__PURE__ */ jsx36(FieldDescription2, {
3181
3298
  children: "Use at least eight characters."
3182
3299
  })
3183
3300
  ]
3184
3301
  }),
3185
- error && /* @__PURE__ */ jsxs22(Alert2, {
3302
+ error && /* @__PURE__ */ jsxs23(Alert2, {
3186
3303
  variant: "destructive",
3187
3304
  children: [
3188
- /* @__PURE__ */ jsx35(AlertTitle2, {
3305
+ /* @__PURE__ */ jsx36(AlertTitle2, {
3189
3306
  children: "Request failed"
3190
3307
  }),
3191
- /* @__PURE__ */ jsx35(AlertDescription2, {
3308
+ /* @__PURE__ */ jsx36(AlertDescription2, {
3192
3309
  children: error
3193
3310
  })
3194
3311
  ]
3195
3312
  }),
3196
- /* @__PURE__ */ jsxs22(Button2, {
3313
+ /* @__PURE__ */ jsxs23(Button2, {
3197
3314
  type: "submit",
3198
3315
  disabled: disabled || pending,
3199
3316
  children: [
3200
- pending && /* @__PURE__ */ jsx35(Spinner2, {
3317
+ pending && /* @__PURE__ */ jsx36(Spinner2, {
3201
3318
  "data-icon": "inline-start"
3202
3319
  }),
3203
3320
  mode === "reset-password" ? "Send reset link" : title
@@ -3208,14 +3325,14 @@ function AuthForm2({
3208
3325
  })
3209
3326
  })
3210
3327
  }),
3211
- footer && /* @__PURE__ */ jsx35(CardFooter2, {
3328
+ footer && /* @__PURE__ */ jsx36(CardFooter2, {
3212
3329
  children: footer
3213
3330
  })
3214
3331
  ]
3215
3332
  });
3216
3333
  }
3217
3334
  // src/components/SettingsSection.tsx
3218
- import { jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
3335
+ import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
3219
3336
  function SettingsSection2({
3220
3337
  title,
3221
3338
  description,
@@ -3228,48 +3345,48 @@ function SettingsSection2({
3228
3345
  destructive = false,
3229
3346
  density
3230
3347
  }) {
3231
- return /* @__PURE__ */ jsx36("form", {
3348
+ return /* @__PURE__ */ jsx37("form", {
3232
3349
  "aria-label": title,
3233
3350
  onSubmit,
3234
3351
  "aria-busy": pending,
3235
- children: /* @__PURE__ */ jsxs23(Card2, {
3352
+ children: /* @__PURE__ */ jsxs24(Card2, {
3236
3353
  density,
3237
3354
  children: [
3238
- /* @__PURE__ */ jsxs23(CardHeader2, {
3355
+ /* @__PURE__ */ jsxs24(CardHeader2, {
3239
3356
  children: [
3240
- /* @__PURE__ */ jsx36(CardTitle2, {
3357
+ /* @__PURE__ */ jsx37(CardTitle2, {
3241
3358
  children: title
3242
3359
  }),
3243
- description && /* @__PURE__ */ jsx36(CardDescription2, {
3360
+ description && /* @__PURE__ */ jsx37(CardDescription2, {
3244
3361
  children: description
3245
3362
  })
3246
3363
  ]
3247
3364
  }),
3248
- /* @__PURE__ */ jsx36(CardContent2, {
3249
- children: /* @__PURE__ */ jsxs23("fieldset", {
3365
+ /* @__PURE__ */ jsx37(CardContent2, {
3366
+ children: /* @__PURE__ */ jsxs24("fieldset", {
3250
3367
  disabled: disabled || pending,
3251
3368
  className: "min-w-0 border-0 p-0",
3252
3369
  children: [
3253
- /* @__PURE__ */ jsx36("legend", {
3370
+ /* @__PURE__ */ jsx37("legend", {
3254
3371
  className: "sr-only",
3255
3372
  children: title
3256
3373
  }),
3257
- /* @__PURE__ */ jsx36(FieldGroup2, {
3374
+ /* @__PURE__ */ jsx37(FieldGroup2, {
3258
3375
  children
3259
3376
  })
3260
3377
  ]
3261
3378
  })
3262
3379
  }),
3263
- /* @__PURE__ */ jsxs23(CardFooter2, {
3380
+ /* @__PURE__ */ jsxs24(CardFooter2, {
3264
3381
  className: "flex flex-wrap items-center justify-between gap-control-gap",
3265
3382
  children: [
3266
3383
  footer,
3267
- /* @__PURE__ */ jsxs23(Button2, {
3384
+ /* @__PURE__ */ jsxs24(Button2, {
3268
3385
  type: "submit",
3269
3386
  variant: destructive ? "destructive" : "default",
3270
3387
  disabled: disabled || pending,
3271
3388
  children: [
3272
- pending && /* @__PURE__ */ jsx36(Spinner2, {
3389
+ pending && /* @__PURE__ */ jsx37(Spinner2, {
3273
3390
  "data-icon": "inline-start"
3274
3391
  }),
3275
3392
  saveLabel
@@ -3282,7 +3399,7 @@ function SettingsSection2({
3282
3399
  });
3283
3400
  }
3284
3401
  // src/components/TagInput.tsx
3285
- import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
3402
+ import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
3286
3403
  function TagInput2({
3287
3404
  label,
3288
3405
  options,
@@ -3295,7 +3412,7 @@ function TagInput2({
3295
3412
  density
3296
3413
  }) {
3297
3414
  const anchor = useComboboxAnchor2();
3298
- return /* @__PURE__ */ jsxs24(Combobox2, {
3415
+ return /* @__PURE__ */ jsxs25(Combobox2, {
3299
3416
  items: options,
3300
3417
  multiple: true,
3301
3418
  value,
@@ -3304,33 +3421,33 @@ function TagInput2({
3304
3421
  disabled,
3305
3422
  name,
3306
3423
  children: [
3307
- /* @__PURE__ */ jsxs24(ComboboxChips2, {
3424
+ /* @__PURE__ */ jsxs25(ComboboxChips2, {
3308
3425
  ref: anchor,
3309
3426
  density,
3310
3427
  children: [
3311
- /* @__PURE__ */ jsx37(ComboboxValue2, {
3312
- children: (values) => values.map((item) => /* @__PURE__ */ jsx37(ComboboxChip2, {
3428
+ /* @__PURE__ */ jsx38(ComboboxValue2, {
3429
+ children: (values) => values.map((item) => /* @__PURE__ */ jsx38(ComboboxChip2, {
3313
3430
  removeLabel: `Remove ${item}`,
3314
3431
  children: item
3315
3432
  }, item))
3316
3433
  }),
3317
- /* @__PURE__ */ jsx37(ComboboxChipsInput2, {
3434
+ /* @__PURE__ */ jsx38(ComboboxChipsInput2, {
3318
3435
  "aria-label": label,
3319
3436
  placeholder
3320
3437
  })
3321
3438
  ]
3322
3439
  }),
3323
- /* @__PURE__ */ jsxs24(ComboboxContent2, {
3440
+ /* @__PURE__ */ jsxs25(ComboboxContent2, {
3324
3441
  anchor,
3325
3442
  density,
3326
3443
  children: [
3327
- /* @__PURE__ */ jsx37(ComboboxEmpty2, {
3444
+ /* @__PURE__ */ jsx38(ComboboxEmpty2, {
3328
3445
  children: "No matching tags."
3329
3446
  }),
3330
- /* @__PURE__ */ jsx37(ComboboxList2, {
3331
- children: /* @__PURE__ */ jsx37(ComboboxGroup2, {
3332
- children: /* @__PURE__ */ jsx37(ComboboxCollection2, {
3333
- children: (item) => /* @__PURE__ */ jsx37(ComboboxItem2, {
3447
+ /* @__PURE__ */ jsx38(ComboboxList2, {
3448
+ children: /* @__PURE__ */ jsx38(ComboboxGroup2, {
3449
+ children: /* @__PURE__ */ jsx38(ComboboxCollection2, {
3450
+ children: (item) => /* @__PURE__ */ jsx38(ComboboxItem2, {
3334
3451
  value: item,
3335
3452
  children: item
3336
3453
  }, item)
@@ -3343,7 +3460,7 @@ function TagInput2({
3343
3460
  });
3344
3461
  }
3345
3462
  // src/components/FilterBar.tsx
3346
- import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
3463
+ import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
3347
3464
  function FilterBar2({
3348
3465
  label,
3349
3466
  search,
@@ -3354,38 +3471,38 @@ function FilterBar2({
3354
3471
  disabled,
3355
3472
  density
3356
3473
  }) {
3357
- return /* @__PURE__ */ jsxs25("fieldset", {
3474
+ return /* @__PURE__ */ jsxs26("fieldset", {
3358
3475
  "aria-label": label,
3359
3476
  disabled,
3360
3477
  "data-density": density,
3361
3478
  className: "flex min-w-0 flex-wrap items-center gap-2",
3362
3479
  children: [
3363
- /* @__PURE__ */ jsx38(Input2, {
3480
+ /* @__PURE__ */ jsx39(Input2, {
3364
3481
  "aria-label": `Search ${label}`,
3365
3482
  type: "search",
3366
3483
  value: search,
3367
3484
  onChange: (event) => onSearchChange(event.target.value),
3368
3485
  className: "min-w-40 flex-1"
3369
3486
  }),
3370
- filters.map((filter) => /* @__PURE__ */ jsxs25(NativeSelect2, {
3487
+ filters.map((filter) => /* @__PURE__ */ jsxs26(NativeSelect2, {
3371
3488
  "aria-label": filter.label,
3372
3489
  value: value[filter.id] ?? "",
3373
3490
  onChange: (event) => onValueChange({ ...value, [filter.id]: event.target.value }),
3374
3491
  children: [
3375
- /* @__PURE__ */ jsxs25(NativeSelectOption2, {
3492
+ /* @__PURE__ */ jsxs26(NativeSelectOption2, {
3376
3493
  value: "",
3377
3494
  children: [
3378
3495
  "All ",
3379
3496
  filter.label.toLowerCase()
3380
3497
  ]
3381
3498
  }),
3382
- filter.options.map((option) => /* @__PURE__ */ jsx38(NativeSelectOption2, {
3499
+ filter.options.map((option) => /* @__PURE__ */ jsx39(NativeSelectOption2, {
3383
3500
  value: option.value,
3384
3501
  children: option.label
3385
3502
  }, option.value))
3386
3503
  ]
3387
3504
  }, filter.id)),
3388
- /* @__PURE__ */ jsx38(Button2, {
3505
+ /* @__PURE__ */ jsx39(Button2, {
3389
3506
  type: "button",
3390
3507
  variant: "ghost",
3391
3508
  disabled: !search && !Object.values(value).some(Boolean),
@@ -3399,7 +3516,7 @@ function FilterBar2({
3399
3516
  });
3400
3517
  }
3401
3518
  // src/components/BarList.tsx
3402
- import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
3519
+ import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
3403
3520
  function BarList2({
3404
3521
  label,
3405
3522
  items,
@@ -3408,25 +3525,25 @@ function BarList2({
3408
3525
  density
3409
3526
  }) {
3410
3527
  const max = Math.max(1, ...items.map((item) => item.value));
3411
- return /* @__PURE__ */ jsxs26("section", {
3528
+ return /* @__PURE__ */ jsxs27("section", {
3412
3529
  "aria-label": label,
3413
3530
  "data-density": density,
3414
3531
  children: [
3415
- /* @__PURE__ */ jsx39("ul", {
3532
+ /* @__PURE__ */ jsx40("ul", {
3416
3533
  className: "grid gap-3",
3417
- children: items.map((item) => /* @__PURE__ */ jsx39("li", {
3418
- children: /* @__PURE__ */ jsxs26(Meter2, {
3534
+ children: items.map((item) => /* @__PURE__ */ jsx40("li", {
3535
+ children: /* @__PURE__ */ jsxs27(Meter2, {
3419
3536
  min: 0,
3420
3537
  max,
3421
3538
  value: item.value,
3422
3539
  "aria-label": item.label,
3423
3540
  format: { maximumFractionDigits: 2 },
3424
3541
  children: [
3425
- /* @__PURE__ */ jsxs26("div", {
3542
+ /* @__PURE__ */ jsxs27("div", {
3426
3543
  className: "mb-1 flex items-center justify-between gap-3 text-sm",
3427
3544
  children: [
3428
- /* @__PURE__ */ jsx39(MeterLabel2, {
3429
- children: onItemSelect ? /* @__PURE__ */ jsx39(Button2, {
3545
+ /* @__PURE__ */ jsx40(MeterLabel2, {
3546
+ children: onItemSelect ? /* @__PURE__ */ jsx40(Button2, {
3430
3547
  type: "button",
3431
3548
  variant: "link",
3432
3549
  className: "h-auto p-0",
@@ -3434,19 +3551,19 @@ function BarList2({
3434
3551
  children: item.label
3435
3552
  }) : item.label
3436
3553
  }),
3437
- /* @__PURE__ */ jsx39(MeterValue2, {
3554
+ /* @__PURE__ */ jsx40(MeterValue2, {
3438
3555
  children: () => valueFormatter(item.value)
3439
3556
  })
3440
3557
  ]
3441
3558
  }),
3442
- /* @__PURE__ */ jsx39(MeterTrack2, {
3443
- children: /* @__PURE__ */ jsx39(MeterIndicator2, {})
3559
+ /* @__PURE__ */ jsx40(MeterTrack2, {
3560
+ children: /* @__PURE__ */ jsx40(MeterIndicator2, {})
3444
3561
  })
3445
3562
  ]
3446
3563
  })
3447
3564
  }, item.id))
3448
3565
  }),
3449
- !items.length && /* @__PURE__ */ jsx39("p", {
3566
+ !items.length && /* @__PURE__ */ jsx40("p", {
3450
3567
  role: "status",
3451
3568
  className: "text-sm text-muted-foreground",
3452
3569
  children: "No data available."
@@ -3455,23 +3572,23 @@ function BarList2({
3455
3572
  });
3456
3573
  }
3457
3574
  // src/components/StatusTracker.tsx
3458
- import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
3575
+ import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
3459
3576
  var statusClasses = { success: "bg-success", warning: "bg-warning", error: "bg-destructive", unknown: "bg-muted" };
3460
3577
  function StatusTracker2({ label, items, onItemSelect, density }) {
3461
- return /* @__PURE__ */ jsx40(TooltipProvider2, {
3462
- children: /* @__PURE__ */ jsx40("div", {
3578
+ return /* @__PURE__ */ jsx41(TooltipProvider2, {
3579
+ children: /* @__PURE__ */ jsx41("div", {
3463
3580
  role: "group",
3464
3581
  "aria-label": label,
3465
3582
  "data-density": density,
3466
3583
  className: "flex min-w-0 gap-1",
3467
- children: items.map((item) => /* @__PURE__ */ jsxs27(Tooltip2, {
3584
+ children: items.map((item) => /* @__PURE__ */ jsxs28(Tooltip2, {
3468
3585
  children: [
3469
- /* @__PURE__ */ jsx40(TooltipTrigger2, {
3586
+ /* @__PURE__ */ jsx41(TooltipTrigger2, {
3470
3587
  "aria-label": `${item.label}: ${item.status}`,
3471
3588
  onClick: () => onItemSelect?.(item),
3472
3589
  className: cn2("h-8 min-w-2 flex-1 rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring", statusClasses[item.status])
3473
3590
  }),
3474
- /* @__PURE__ */ jsxs27(TooltipContent2, {
3591
+ /* @__PURE__ */ jsxs28(TooltipContent2, {
3475
3592
  children: [
3476
3593
  item.label,
3477
3594
  ": ",
@@ -3484,7 +3601,7 @@ function StatusTracker2({ label, items, onItemSelect, density }) {
3484
3601
  });
3485
3602
  }
3486
3603
  // src/components/DashboardLayout.tsx
3487
- import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
3604
+ import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
3488
3605
  function DashboardLayout2({
3489
3606
  title,
3490
3607
  description,
@@ -3495,24 +3612,24 @@ function DashboardLayout2({
3495
3612
  footer,
3496
3613
  density
3497
3614
  }) {
3498
- return /* @__PURE__ */ jsxs28("div", {
3615
+ return /* @__PURE__ */ jsxs29("div", {
3499
3616
  "data-density": density,
3500
3617
  "data-scroll": "none",
3501
3618
  className: "grid min-w-0 gap-6",
3502
3619
  children: [
3503
- /* @__PURE__ */ jsx41(PageHeader2, {
3620
+ /* @__PURE__ */ jsx42(PageHeader2, {
3504
3621
  title,
3505
3622
  description,
3506
3623
  actions
3507
3624
  }),
3508
3625
  filters,
3509
- stats.length > 0 && /* @__PURE__ */ jsx41("div", {
3626
+ stats.length > 0 && /* @__PURE__ */ jsx42("div", {
3510
3627
  className: "grid gap-4 sm:grid-cols-2 xl:grid-cols-4",
3511
- children: stats.map(({ id, ...stat }) => /* @__PURE__ */ jsx41(StatCard2, {
3628
+ children: stats.map(({ id, ...stat }) => /* @__PURE__ */ jsx42(StatCard2, {
3512
3629
  ...stat
3513
3630
  }, id))
3514
3631
  }),
3515
- /* @__PURE__ */ jsx41("div", {
3632
+ /* @__PURE__ */ jsx42("div", {
3516
3633
  className: "grid min-w-0 gap-4",
3517
3634
  children
3518
3635
  }),
@@ -3521,18 +3638,18 @@ function DashboardLayout2({
3521
3638
  });
3522
3639
  }
3523
3640
  // src/components/BillingUsage.tsx
3524
- import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
3641
+ import { jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
3525
3642
  function BillingUsage2({ plan, price, period, metrics, onManage, pending, density }) {
3526
- return /* @__PURE__ */ jsxs29(Card2, {
3643
+ return /* @__PURE__ */ jsxs30(Card2, {
3527
3644
  density,
3528
3645
  "aria-label": "Billing and usage",
3529
3646
  children: [
3530
- /* @__PURE__ */ jsxs29(CardHeader2, {
3647
+ /* @__PURE__ */ jsxs30(CardHeader2, {
3531
3648
  children: [
3532
- /* @__PURE__ */ jsx42(CardTitle2, {
3649
+ /* @__PURE__ */ jsx43(CardTitle2, {
3533
3650
  children: plan
3534
3651
  }),
3535
- /* @__PURE__ */ jsxs29(CardDescription2, {
3652
+ /* @__PURE__ */ jsxs30(CardDescription2, {
3536
3653
  children: [
3537
3654
  price,
3538
3655
  " · ",
@@ -3541,32 +3658,32 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
3541
3658
  })
3542
3659
  ]
3543
3660
  }),
3544
- /* @__PURE__ */ jsx42(CardContent2, {
3661
+ /* @__PURE__ */ jsx43(CardContent2, {
3545
3662
  className: "grid gap-4",
3546
- children: metrics.map((metric) => /* @__PURE__ */ jsxs29(Meter2, {
3663
+ children: metrics.map((metric) => /* @__PURE__ */ jsxs30(Meter2, {
3547
3664
  value: metric.used,
3548
3665
  max: metric.limit,
3549
3666
  "aria-label": metric.label,
3550
3667
  children: [
3551
- /* @__PURE__ */ jsxs29("div", {
3668
+ /* @__PURE__ */ jsxs30("div", {
3552
3669
  className: "mb-2 flex items-center justify-between gap-3 text-sm",
3553
3670
  children: [
3554
- /* @__PURE__ */ jsx42(MeterLabel2, {
3671
+ /* @__PURE__ */ jsx43(MeterLabel2, {
3555
3672
  children: metric.label
3556
3673
  }),
3557
- /* @__PURE__ */ jsx42(MeterValue2, {
3674
+ /* @__PURE__ */ jsx43(MeterValue2, {
3558
3675
  children: () => `${metric.used.toLocaleString()} / ${metric.limit.toLocaleString()}${metric.unit ? ` ${metric.unit}` : ""}`
3559
3676
  })
3560
3677
  ]
3561
3678
  }),
3562
- /* @__PURE__ */ jsx42(MeterTrack2, {
3563
- children: /* @__PURE__ */ jsx42(MeterIndicator2, {})
3679
+ /* @__PURE__ */ jsx43(MeterTrack2, {
3680
+ children: /* @__PURE__ */ jsx43(MeterIndicator2, {})
3564
3681
  })
3565
3682
  ]
3566
3683
  }, metric.id))
3567
3684
  }),
3568
- /* @__PURE__ */ jsx42(CardFooter2, {
3569
- children: /* @__PURE__ */ jsx42(Button2, {
3685
+ /* @__PURE__ */ jsx43(CardFooter2, {
3686
+ children: /* @__PURE__ */ jsx43(Button2, {
3570
3687
  type: "button",
3571
3688
  variant: "outline",
3572
3689
  onClick: onManage,
@@ -3577,4 +3694,4 @@ function BillingUsage2({ plan, price, period, metrics, onManage, pending, densit
3577
3694
  ]
3578
3695
  });
3579
3696
  }
3580
- export { ButtonLink2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ContextMenuGroup2, ContextMenuLabel2, ContextMenuItem2, ContextMenuSub2, ContextMenuSubTrigger2, ContextMenuSubContent2, ContextMenuCheckboxItem2, ContextMenuRadioGroup2, ContextMenuRadioItem2, ContextMenuSeparator2, ContextMenuShortcut2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };
3697
+ export { ButtonLink2, Accordion2, AccordionItem2, AccordionTrigger2, AccordionContent2, EmptyState3, PageMessage2, formatDataLabel2, DataViewer2, JsonViewer2, AlertDialog2, AlertDialogTrigger2, AlertDialogPortal2, AlertDialogOverlay2, AlertDialogContent2, AlertDialogHeader2, AlertDialogFooter2, AlertDialogMedia2, AlertDialogTitle2, AlertDialogDescription2, AlertDialogAction2, AlertDialogCancel2, Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, DensityProvider2, collectLayoutViolations2, LayoutGuard2, ScrollGuard2, ThemeProvider2, AspectRatio2, Breadcrumb2, BreadcrumbList2, BreadcrumbItem2, BreadcrumbLink2, BreadcrumbPage2, BreadcrumbSeparator2, BreadcrumbEllipsis2, buttonGroupVariants2, ButtonGroup2, ButtonGroupText2, ButtonGroupSeparator2, ItemGroup2, ItemSeparator2, Item2, ItemMedia2, ItemContent2, ItemTitle2, ItemDescription2, ItemActions2, ItemHeader2, ItemFooter2, Pagination2, PaginationContent2, PaginationItem2, PaginationLink2, PaginationPrevious2, PaginationNext2, PaginationEllipsis2, Drawer2, DrawerTrigger2, DrawerPortal2, DrawerClose2, DrawerOverlay2, DrawerSwipeHandle2, DrawerContent2, DrawerHeader2, DrawerFooter2, DrawerTitle2, DrawerDescription2, ContextMenu2, ContextMenuPortal2, ContextMenuTrigger2, ContextMenuContent2, ContextMenuGroup2, ContextMenuLabel2, ContextMenuItem2, ContextMenuSub2, ContextMenuSubTrigger2, ContextMenuSubContent2, ContextMenuCheckboxItem2, ContextMenuRadioGroup2, ContextMenuRadioItem2, ContextMenuSeparator2, ContextMenuShortcut2, Menubar2, MenubarMenu2, MenubarGroup2, MenubarPortal2, MenubarTrigger2, MenubarContent2, MenubarItem2, MenubarCheckboxItem2, MenubarRadioGroup2, MenubarRadioItem2, MenubarLabel2, MenubarSeparator2, MenubarShortcut2, MenubarSub2, MenubarSubTrigger2, MenubarSubContent2, NavigationMenu2, NavigationMenuList2, NavigationMenuItem2, navigationMenuTriggerStyle2, NavigationMenuTrigger2, NavigationMenuContent2, NavigationMenuPositioner2, NavigationMenuLink2, NavigationMenuIndicator2, ToastProvider2, ToastPortal2, ToastViewport2, Toast2, ToastContent2, ToastTitle2, ToastDescription2, ToastAction2, ToastClose2, ToastToaster2, createToastManager2, useToastManager2, markerVariants2, Marker2, MarkerIcon2, MarkerContent2, BubbleGroup2, Bubble2, BubbleContent2, BubbleReactions2, MessageGroup2, Message2, MessageAvatar2, MessageContent2, MessageHeader2, MessageFooter2, Attachment2, AttachmentMedia2, AttachmentContent2, AttachmentTitle2, AttachmentDescription2, AttachmentActions2, AttachmentAction2, AttachmentTrigger2, AttachmentGroup2, InlineEdit2, StarRating2, ConfirmationDialog2, ImagePicker2, Meter2, MeterLabel2, MeterValue2, MeterTrack2, MeterIndicator2, Stepper2, StepperList2, StepperTrigger2, StepperIndicator2, StepperContent2, AppShell2, PageHeader2, WorkspaceSwitcher2, AccountMenu2, StatCard2, AuthForm2, SettingsSection2, TagInput2, FilterBar2, BarList2, StatusTracker2, DashboardLayout2, BillingUsage2 };