@invana/ui 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var clsx = require('clsx');
4
4
  var tailwindMerge = require('tailwind-merge');
5
- var React24 = require('react');
5
+ var React25 = require('react');
6
6
  var AccordionPrimitive = require('@radix-ui/react-accordion');
7
7
  var lucideReact = require('lucide-react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
@@ -48,7 +48,7 @@ function _interopNamespace(e) {
48
48
  return Object.freeze(n);
49
49
  }
50
50
 
51
- var React24__namespace = /*#__PURE__*/_interopNamespace(React24);
51
+ var React25__namespace = /*#__PURE__*/_interopNamespace(React25);
52
52
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
53
53
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
54
54
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
@@ -72,7 +72,7 @@ function cn(...inputs) {
72
72
  return tailwindMerge.twMerge(clsx.clsx(inputs));
73
73
  }
74
74
  var Accordion = AccordionPrimitive__namespace.Root;
75
- var AccordionItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
75
+ var AccordionItem = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
76
76
  AccordionPrimitive__namespace.Item,
77
77
  {
78
78
  ref,
@@ -81,7 +81,7 @@ var AccordionItem = React24__namespace.forwardRef(({ className, ...props }, ref)
81
81
  }
82
82
  ));
83
83
  AccordionItem.displayName = "AccordionItem";
84
- var AccordionTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
84
+ var AccordionTrigger = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
85
85
  AccordionPrimitive__namespace.Trigger,
86
86
  {
87
87
  ref,
@@ -97,7 +97,7 @@ var AccordionTrigger = React24__namespace.forwardRef(({ className, children, ...
97
97
  }
98
98
  ) }));
99
99
  AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
100
- var AccordionContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
100
+ var AccordionContent = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
101
101
  AccordionPrimitive__namespace.Content,
102
102
  {
103
103
  ref,
@@ -121,7 +121,7 @@ var alertVariants = classVarianceAuthority.cva(
121
121
  }
122
122
  }
123
123
  );
124
- var Alert = React24__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
124
+ var Alert = React25__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
125
125
  "div",
126
126
  {
127
127
  ref,
@@ -131,7 +131,7 @@ var Alert = React24__namespace.forwardRef(({ className, variant, ...props }, ref
131
131
  }
132
132
  ));
133
133
  Alert.displayName = "Alert";
134
- var AlertTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
134
+ var AlertTitle = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
135
135
  "h5",
136
136
  {
137
137
  ref,
@@ -140,7 +140,7 @@ var AlertTitle = React24__namespace.forwardRef(({ className, ...props }, ref) =>
140
140
  }
141
141
  ));
142
142
  AlertTitle.displayName = "AlertTitle";
143
- var AlertDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
143
+ var AlertDescription = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
144
144
  "div",
145
145
  {
146
146
  ref,
@@ -185,7 +185,7 @@ var buttonVariants = classVarianceAuthority.cva(
185
185
  }
186
186
  }
187
187
  );
188
- var Button = React24__namespace.forwardRef(
188
+ var Button = React25__namespace.forwardRef(
189
189
  ({ className, variant, size, asChild = false, ...props }, ref) => {
190
190
  const Comp = asChild ? reactSlot.Slot : "button";
191
191
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -202,7 +202,7 @@ Button.displayName = "Button";
202
202
  var AlertDialog = AlertDialogPrimitive__namespace.Root;
203
203
  var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
204
204
  var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
205
- var AlertDialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
205
+ var AlertDialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
206
206
  AlertDialogPrimitive__namespace.Overlay,
207
207
  {
208
208
  className: cn(
@@ -214,7 +214,7 @@ var AlertDialogOverlay = React24__namespace.forwardRef(({ className, ...props },
214
214
  }
215
215
  ));
216
216
  AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
217
- var AlertDialogContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
217
+ var AlertDialogContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
218
218
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
219
219
  /* @__PURE__ */ jsxRuntime.jsx(
220
220
  AlertDialogPrimitive__namespace.Content,
@@ -257,7 +257,7 @@ var AlertDialogFooter = ({
257
257
  }
258
258
  );
259
259
  AlertDialogFooter.displayName = "AlertDialogFooter";
260
- var AlertDialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
260
+ var AlertDialogTitle = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
261
261
  AlertDialogPrimitive__namespace.Title,
262
262
  {
263
263
  ref,
@@ -266,7 +266,7 @@ var AlertDialogTitle = React24__namespace.forwardRef(({ className, ...props }, r
266
266
  }
267
267
  ));
268
268
  AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
269
- var AlertDialogDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
269
+ var AlertDialogDescription = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
270
270
  AlertDialogPrimitive__namespace.Description,
271
271
  {
272
272
  ref,
@@ -275,7 +275,7 @@ var AlertDialogDescription = React24__namespace.forwardRef(({ className, ...prop
275
275
  }
276
276
  ));
277
277
  AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
278
- var AlertDialogAction = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
278
+ var AlertDialogAction = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
279
279
  AlertDialogPrimitive__namespace.Action,
280
280
  {
281
281
  ref,
@@ -284,7 +284,7 @@ var AlertDialogAction = React24__namespace.forwardRef(({ className, ...props },
284
284
  }
285
285
  ));
286
286
  AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
287
- var AlertDialogCancel = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
287
+ var AlertDialogCancel = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
288
288
  AlertDialogPrimitive__namespace.Cancel,
289
289
  {
290
290
  ref,
@@ -297,7 +297,7 @@ var AlertDialogCancel = React24__namespace.forwardRef(({ className, ...props },
297
297
  }
298
298
  ));
299
299
  AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
300
- var Avatar = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
300
+ var Avatar = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
301
301
  AvatarPrimitive__namespace.Root,
302
302
  {
303
303
  ref,
@@ -310,7 +310,7 @@ var Avatar = React24__namespace.forwardRef(({ className, ...props }, ref) => /*
310
310
  }
311
311
  ));
312
312
  Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
313
- var AvatarImage = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
313
+ var AvatarImage = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
314
314
  AvatarPrimitive__namespace.Image,
315
315
  {
316
316
  ref,
@@ -319,7 +319,7 @@ var AvatarImage = React24__namespace.forwardRef(({ className, ...props }, ref) =
319
319
  }
320
320
  ));
321
321
  AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
322
- var AvatarFallback = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
322
+ var AvatarFallback = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
323
323
  AvatarPrimitive__namespace.Fallback,
324
324
  {
325
325
  ref,
@@ -378,9 +378,9 @@ function Badge({ className, variant, tone, size, ...props }) {
378
378
  }
379
379
  );
380
380
  }
381
- var Breadcrumb = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
381
+ var Breadcrumb = React25__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
382
382
  Breadcrumb.displayName = "Breadcrumb";
383
- var BreadcrumbList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
383
+ var BreadcrumbList = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
384
384
  "ol",
385
385
  {
386
386
  ref,
@@ -392,7 +392,7 @@ var BreadcrumbList = React24__namespace.forwardRef(({ className, ...props }, ref
392
392
  }
393
393
  ));
394
394
  BreadcrumbList.displayName = "BreadcrumbList";
395
- var BreadcrumbItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
395
+ var BreadcrumbItem = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
396
396
  "li",
397
397
  {
398
398
  ref,
@@ -401,7 +401,7 @@ var BreadcrumbItem = React24__namespace.forwardRef(({ className, ...props }, ref
401
401
  }
402
402
  ));
403
403
  BreadcrumbItem.displayName = "BreadcrumbItem";
404
- var BreadcrumbLink = React24__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
404
+ var BreadcrumbLink = React25__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
405
405
  const Comp = asChild ? reactSlot.Slot : "a";
406
406
  return /* @__PURE__ */ jsxRuntime.jsx(
407
407
  Comp,
@@ -413,7 +413,7 @@ var BreadcrumbLink = React24__namespace.forwardRef(({ asChild, className, ...pro
413
413
  );
414
414
  });
415
415
  BreadcrumbLink.displayName = "BreadcrumbLink";
416
- var BreadcrumbPage = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
416
+ var BreadcrumbPage = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
417
417
  "span",
418
418
  {
419
419
  ref,
@@ -457,7 +457,7 @@ var BreadcrumbEllipsis = ({
457
457
  }
458
458
  );
459
459
  BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
460
- var Separator = React24__namespace.forwardRef(
460
+ var Separator = React25__namespace.forwardRef(
461
461
  ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
462
462
  SeparatorPrimitive__namespace.Root,
463
463
  {
@@ -539,7 +539,7 @@ function ButtonGroupSeparator({
539
539
  }
540
540
  );
541
541
  }
542
- var Card = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
542
+ var Card = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
543
543
  "div",
544
544
  {
545
545
  ref,
@@ -551,7 +551,7 @@ var Card = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @_
551
551
  }
552
552
  ));
553
553
  Card.displayName = "Card";
554
- var CardHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
554
+ var CardHeader = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
555
555
  "div",
556
556
  {
557
557
  ref,
@@ -560,7 +560,7 @@ var CardHeader = React24__namespace.forwardRef(({ className, ...props }, ref) =>
560
560
  }
561
561
  ));
562
562
  CardHeader.displayName = "CardHeader";
563
- var CardTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
563
+ var CardTitle = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
564
564
  "div",
565
565
  {
566
566
  ref,
@@ -569,7 +569,7 @@ var CardTitle = React24__namespace.forwardRef(({ className, ...props }, ref) =>
569
569
  }
570
570
  ));
571
571
  CardTitle.displayName = "CardTitle";
572
- var CardDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
572
+ var CardDescription = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
573
573
  "div",
574
574
  {
575
575
  ref,
@@ -578,9 +578,9 @@ var CardDescription = React24__namespace.forwardRef(({ className, ...props }, re
578
578
  }
579
579
  ));
580
580
  CardDescription.displayName = "CardDescription";
581
- var CardContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-3 flex-1 overflow-y-auto", className), ...props }));
581
+ var CardContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-3 flex-1 overflow-y-auto", className), ...props }));
582
582
  CardContent.displayName = "CardContent";
583
- var CardFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
583
+ var CardFooter = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
584
584
  "div",
585
585
  {
586
586
  ref,
@@ -589,7 +589,7 @@ var CardFooter = React24__namespace.forwardRef(({ className, ...props }, ref) =>
589
589
  }
590
590
  ));
591
591
  CardFooter.displayName = "CardFooter";
592
- var CardWithHeader = React24__namespace.forwardRef(
592
+ var CardWithHeader = React25__namespace.forwardRef(
593
593
  ({ className, title, description, headerClassName, contentClassName, footerClassName, footer, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Card, { ref, className, ...props, children: [
594
594
  /* @__PURE__ */ jsxRuntime.jsxs(CardHeader, { className: `${headerClassName} rounded-t-md`, children: [
595
595
  typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: title }) : title,
@@ -600,15 +600,15 @@ var CardWithHeader = React24__namespace.forwardRef(
600
600
  ] })
601
601
  );
602
602
  CardWithHeader.displayName = "CardWithHeader";
603
- var CarouselContext = React24__namespace.createContext(null);
603
+ var CarouselContext = React25__namespace.createContext(null);
604
604
  function useCarousel() {
605
- const context = React24__namespace.useContext(CarouselContext);
605
+ const context = React25__namespace.useContext(CarouselContext);
606
606
  if (!context) {
607
607
  throw new Error("useCarousel must be used within a <Carousel />");
608
608
  }
609
609
  return context;
610
610
  }
611
- var Carousel = React24__namespace.forwardRef(
611
+ var Carousel = React25__namespace.forwardRef(
612
612
  ({
613
613
  orientation = "horizontal",
614
614
  opts,
@@ -625,22 +625,22 @@ var Carousel = React24__namespace.forwardRef(
625
625
  },
626
626
  plugins
627
627
  );
628
- const [canScrollPrev, setCanScrollPrev] = React24__namespace.useState(false);
629
- const [canScrollNext, setCanScrollNext] = React24__namespace.useState(false);
630
- const onSelect = React24__namespace.useCallback((api2) => {
628
+ const [canScrollPrev, setCanScrollPrev] = React25__namespace.useState(false);
629
+ const [canScrollNext, setCanScrollNext] = React25__namespace.useState(false);
630
+ const onSelect = React25__namespace.useCallback((api2) => {
631
631
  if (!api2) {
632
632
  return;
633
633
  }
634
634
  setCanScrollPrev(api2.canScrollPrev());
635
635
  setCanScrollNext(api2.canScrollNext());
636
636
  }, []);
637
- const scrollPrev = React24__namespace.useCallback(() => {
637
+ const scrollPrev = React25__namespace.useCallback(() => {
638
638
  api?.scrollPrev();
639
639
  }, [api]);
640
- const scrollNext = React24__namespace.useCallback(() => {
640
+ const scrollNext = React25__namespace.useCallback(() => {
641
641
  api?.scrollNext();
642
642
  }, [api]);
643
- const handleKeyDown = React24__namespace.useCallback(
643
+ const handleKeyDown = React25__namespace.useCallback(
644
644
  (event) => {
645
645
  if (event.key === "ArrowLeft") {
646
646
  event.preventDefault();
@@ -652,13 +652,13 @@ var Carousel = React24__namespace.forwardRef(
652
652
  },
653
653
  [scrollPrev, scrollNext]
654
654
  );
655
- React24__namespace.useEffect(() => {
655
+ React25__namespace.useEffect(() => {
656
656
  if (!api || !setApi) {
657
657
  return;
658
658
  }
659
659
  setApi(api);
660
660
  }, [api, setApi]);
661
- React24__namespace.useEffect(() => {
661
+ React25__namespace.useEffect(() => {
662
662
  if (!api) {
663
663
  return;
664
664
  }
@@ -699,7 +699,7 @@ var Carousel = React24__namespace.forwardRef(
699
699
  }
700
700
  );
701
701
  Carousel.displayName = "Carousel";
702
- var CarouselContent = React24__namespace.forwardRef(({ className, ...props }, ref) => {
702
+ var CarouselContent = React25__namespace.forwardRef(({ className, ...props }, ref) => {
703
703
  const { carouselRef, orientation } = useCarousel();
704
704
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
705
705
  "div",
@@ -715,7 +715,7 @@ var CarouselContent = React24__namespace.forwardRef(({ className, ...props }, re
715
715
  ) });
716
716
  });
717
717
  CarouselContent.displayName = "CarouselContent";
718
- var CarouselItem = React24__namespace.forwardRef(({ className, ...props }, ref) => {
718
+ var CarouselItem = React25__namespace.forwardRef(({ className, ...props }, ref) => {
719
719
  const { orientation } = useCarousel();
720
720
  return /* @__PURE__ */ jsxRuntime.jsx(
721
721
  "div",
@@ -733,7 +733,7 @@ var CarouselItem = React24__namespace.forwardRef(({ className, ...props }, ref)
733
733
  );
734
734
  });
735
735
  CarouselItem.displayName = "CarouselItem";
736
- var CarouselPrevious = React24__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
736
+ var CarouselPrevious = React25__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
737
737
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
738
738
  return /* @__PURE__ */ jsxRuntime.jsxs(
739
739
  Button,
@@ -757,7 +757,7 @@ var CarouselPrevious = React24__namespace.forwardRef(({ className, variant = "ou
757
757
  );
758
758
  });
759
759
  CarouselPrevious.displayName = "CarouselPrevious";
760
- var CarouselNext = React24__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
760
+ var CarouselNext = React25__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
761
761
  const { orientation, scrollNext, canScrollNext } = useCarousel();
762
762
  return /* @__PURE__ */ jsxRuntime.jsxs(
763
763
  Button,
@@ -785,7 +785,7 @@ var Dialog = DialogPrimitive__namespace.Root;
785
785
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
786
786
  var DialogPortal = DialogPrimitive__namespace.Portal;
787
787
  var DialogClose = DialogPrimitive__namespace.Close;
788
- var DialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
788
+ var DialogOverlay = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
789
789
  DialogPrimitive__namespace.Overlay,
790
790
  {
791
791
  ref,
@@ -797,7 +797,7 @@ var DialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref)
797
797
  }
798
798
  ));
799
799
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
800
- var DialogContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
800
+ var DialogContent = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
801
801
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
802
802
  /* @__PURE__ */ jsxRuntime.jsxs(
803
803
  DialogPrimitive__namespace.Content,
@@ -847,7 +847,7 @@ var DialogFooter = ({
847
847
  }
848
848
  );
849
849
  DialogFooter.displayName = "DialogFooter";
850
- var DialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
850
+ var DialogTitle = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
851
851
  DialogPrimitive__namespace.Title,
852
852
  {
853
853
  ref,
@@ -859,7 +859,7 @@ var DialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) =
859
859
  }
860
860
  ));
861
861
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
862
- var DialogDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
862
+ var DialogDescription = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
863
863
  DialogPrimitive__namespace.Description,
864
864
  {
865
865
  ref,
@@ -868,7 +868,7 @@ var DialogDescription = React24__namespace.forwardRef(({ className, ...props },
868
868
  }
869
869
  ));
870
870
  DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
871
- var Command = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
871
+ var Command = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
872
872
  cmdk.Command,
873
873
  {
874
874
  ref,
@@ -883,7 +883,7 @@ Command.displayName = cmdk.Command.displayName;
883
883
  var CommandDialog = ({ children, ...props }) => {
884
884
  return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
885
885
  };
886
- var CommandInput = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
886
+ var CommandInput = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
887
887
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
888
888
  /* @__PURE__ */ jsxRuntime.jsx(
889
889
  cmdk.Command.Input,
@@ -898,7 +898,7 @@ var CommandInput = React24__namespace.forwardRef(({ className, ...props }, ref)
898
898
  )
899
899
  ] }));
900
900
  CommandInput.displayName = cmdk.Command.Input.displayName;
901
- var CommandList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
901
+ var CommandList = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
902
902
  cmdk.Command.List,
903
903
  {
904
904
  ref,
@@ -907,7 +907,7 @@ var CommandList = React24__namespace.forwardRef(({ className, ...props }, ref) =
907
907
  }
908
908
  ));
909
909
  CommandList.displayName = cmdk.Command.List.displayName;
910
- var CommandEmpty = React24__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
910
+ var CommandEmpty = React25__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
911
911
  cmdk.Command.Empty,
912
912
  {
913
913
  ref,
@@ -916,7 +916,7 @@ var CommandEmpty = React24__namespace.forwardRef((props, ref) => /* @__PURE__ */
916
916
  }
917
917
  ));
918
918
  CommandEmpty.displayName = cmdk.Command.Empty.displayName;
919
- var CommandGroup = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
919
+ var CommandGroup = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
920
920
  cmdk.Command.Group,
921
921
  {
922
922
  ref,
@@ -928,7 +928,7 @@ var CommandGroup = React24__namespace.forwardRef(({ className, ...props }, ref)
928
928
  }
929
929
  ));
930
930
  CommandGroup.displayName = cmdk.Command.Group.displayName;
931
- var CommandSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
931
+ var CommandSeparator = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
932
932
  cmdk.Command.Separator,
933
933
  {
934
934
  ref,
@@ -937,7 +937,7 @@ var CommandSeparator = React24__namespace.forwardRef(({ className, ...props }, r
937
937
  }
938
938
  ));
939
939
  CommandSeparator.displayName = cmdk.Command.Separator.displayName;
940
- var CommandItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
940
+ var CommandItem = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
941
941
  cmdk.Command.Item,
942
942
  {
943
943
  ref,
@@ -971,7 +971,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
971
971
  var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
972
972
  var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
973
973
  var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
974
- var DropdownMenuSubTrigger = React24__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
974
+ var DropdownMenuSubTrigger = React25__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
975
975
  DropdownMenuPrimitive__namespace.SubTrigger,
976
976
  {
977
977
  ref,
@@ -988,7 +988,7 @@ var DropdownMenuSubTrigger = React24__namespace.forwardRef(({ className, inset,
988
988
  }
989
989
  ));
990
990
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
991
- var DropdownMenuSubContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
991
+ var DropdownMenuSubContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
992
992
  DropdownMenuPrimitive__namespace.SubContent,
993
993
  {
994
994
  ref,
@@ -1000,7 +1000,7 @@ var DropdownMenuSubContent = React24__namespace.forwardRef(({ className, ...prop
1000
1000
  }
1001
1001
  ));
1002
1002
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
1003
- var DropdownMenuContent = React24__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1003
+ var DropdownMenuContent = React25__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1004
1004
  DropdownMenuPrimitive__namespace.Content,
1005
1005
  {
1006
1006
  ref,
@@ -1014,7 +1014,7 @@ var DropdownMenuContent = React24__namespace.forwardRef(({ className, sideOffset
1014
1014
  }
1015
1015
  ) }));
1016
1016
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1017
- var DropdownMenuItem = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1017
+ var DropdownMenuItem = React25__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1018
1018
  DropdownMenuPrimitive__namespace.Item,
1019
1019
  {
1020
1020
  ref,
@@ -1027,7 +1027,7 @@ var DropdownMenuItem = React24__namespace.forwardRef(({ className, inset, ...pro
1027
1027
  }
1028
1028
  ));
1029
1029
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
1030
- var DropdownMenuCheckboxItem = React24__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1030
+ var DropdownMenuCheckboxItem = React25__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1031
1031
  DropdownMenuPrimitive__namespace.CheckboxItem,
1032
1032
  {
1033
1033
  ref,
@@ -1044,7 +1044,7 @@ var DropdownMenuCheckboxItem = React24__namespace.forwardRef(({ className, child
1044
1044
  }
1045
1045
  ));
1046
1046
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
1047
- var DropdownMenuRadioItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1047
+ var DropdownMenuRadioItem = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1048
1048
  DropdownMenuPrimitive__namespace.RadioItem,
1049
1049
  {
1050
1050
  ref,
@@ -1060,7 +1060,7 @@ var DropdownMenuRadioItem = React24__namespace.forwardRef(({ className, children
1060
1060
  }
1061
1061
  ));
1062
1062
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
1063
- var DropdownMenuLabel = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1063
+ var DropdownMenuLabel = React25__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1064
1064
  DropdownMenuPrimitive__namespace.Label,
1065
1065
  {
1066
1066
  ref,
@@ -1073,7 +1073,7 @@ var DropdownMenuLabel = React24__namespace.forwardRef(({ className, inset, ...pr
1073
1073
  }
1074
1074
  ));
1075
1075
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
1076
- var DropdownMenuSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1076
+ var DropdownMenuSeparator = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1077
1077
  DropdownMenuPrimitive__namespace.Separator,
1078
1078
  {
1079
1079
  ref,
@@ -1097,7 +1097,7 @@ var DropdownMenuShortcut = ({
1097
1097
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1098
1098
  var HoverCard = HoverCardPrimitive__namespace.Root;
1099
1099
  var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
1100
- var HoverCardContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1100
+ var HoverCardContent = React25__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1101
1101
  HoverCardPrimitive__namespace.Content,
1102
1102
  {
1103
1103
  ref,
@@ -1340,7 +1340,7 @@ var linkVariants = classVarianceAuthority.cva(
1340
1340
  defaultVariants: { variant: "default" }
1341
1341
  }
1342
1342
  );
1343
- var Link = React24__namespace.forwardRef(
1343
+ var Link = React25__namespace.forwardRef(
1344
1344
  ({ className, variant, external, target, rel, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1345
1345
  "a",
1346
1346
  {
@@ -1378,7 +1378,7 @@ function MenubarSub({
1378
1378
  }) {
1379
1379
  return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
1380
1380
  }
1381
- var Menubar = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1381
+ var Menubar = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1382
1382
  MenubarPrimitive__namespace.Root,
1383
1383
  {
1384
1384
  ref,
@@ -1390,7 +1390,7 @@ var Menubar = React24__namespace.forwardRef(({ className, ...props }, ref) => /*
1390
1390
  }
1391
1391
  ));
1392
1392
  Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
1393
- var MenubarTrigger = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1393
+ var MenubarTrigger = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1394
1394
  MenubarPrimitive__namespace.Trigger,
1395
1395
  {
1396
1396
  ref,
@@ -1402,7 +1402,7 @@ var MenubarTrigger = React24__namespace.forwardRef(({ className, ...props }, ref
1402
1402
  }
1403
1403
  ));
1404
1404
  MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
1405
- var MenubarSubTrigger = React24__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1405
+ var MenubarSubTrigger = React25__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1406
1406
  MenubarPrimitive__namespace.SubTrigger,
1407
1407
  {
1408
1408
  ref,
@@ -1419,7 +1419,7 @@ var MenubarSubTrigger = React24__namespace.forwardRef(({ className, inset, child
1419
1419
  }
1420
1420
  ));
1421
1421
  MenubarSubTrigger.displayName = MenubarPrimitive__namespace.SubTrigger.displayName;
1422
- var MenubarSubContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1422
+ var MenubarSubContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1423
1423
  MenubarPrimitive__namespace.SubContent,
1424
1424
  {
1425
1425
  ref,
@@ -1431,7 +1431,7 @@ var MenubarSubContent = React24__namespace.forwardRef(({ className, ...props },
1431
1431
  }
1432
1432
  ));
1433
1433
  MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
1434
- var MenubarContent = React24__namespace.forwardRef(
1434
+ var MenubarContent = React25__namespace.forwardRef(
1435
1435
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1436
1436
  MenubarPrimitive__namespace.Content,
1437
1437
  {
@@ -1448,7 +1448,7 @@ var MenubarContent = React24__namespace.forwardRef(
1448
1448
  ) })
1449
1449
  );
1450
1450
  MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
1451
- var MenubarItem = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1451
+ var MenubarItem = React25__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1452
1452
  MenubarPrimitive__namespace.Item,
1453
1453
  {
1454
1454
  ref,
@@ -1461,7 +1461,7 @@ var MenubarItem = React24__namespace.forwardRef(({ className, inset, ...props },
1461
1461
  }
1462
1462
  ));
1463
1463
  MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
1464
- var MenubarCheckboxItem = React24__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1464
+ var MenubarCheckboxItem = React25__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1465
1465
  MenubarPrimitive__namespace.CheckboxItem,
1466
1466
  {
1467
1467
  ref,
@@ -1478,7 +1478,7 @@ var MenubarCheckboxItem = React24__namespace.forwardRef(({ className, children,
1478
1478
  }
1479
1479
  ));
1480
1480
  MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
1481
- var MenubarRadioItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1481
+ var MenubarRadioItem = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1482
1482
  MenubarPrimitive__namespace.RadioItem,
1483
1483
  {
1484
1484
  ref,
@@ -1494,7 +1494,7 @@ var MenubarRadioItem = React24__namespace.forwardRef(({ className, children, ...
1494
1494
  }
1495
1495
  ));
1496
1496
  MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
1497
- var MenubarLabel = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1497
+ var MenubarLabel = React25__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1498
1498
  MenubarPrimitive__namespace.Label,
1499
1499
  {
1500
1500
  ref,
@@ -1507,7 +1507,7 @@ var MenubarLabel = React24__namespace.forwardRef(({ className, inset, ...props }
1507
1507
  }
1508
1508
  ));
1509
1509
  MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
1510
- var MenubarSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1510
+ var MenubarSeparator = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1511
1511
  MenubarPrimitive__namespace.Separator,
1512
1512
  {
1513
1513
  ref,
@@ -1532,7 +1532,7 @@ var MenubarShortcut = ({
1532
1532
  );
1533
1533
  };
1534
1534
  MenubarShortcut.displayname = "MenubarShortcut";
1535
- var NavigationMenu = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1535
+ var NavigationMenu = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1536
1536
  NavigationMenuPrimitive__namespace.Root,
1537
1537
  {
1538
1538
  ref,
@@ -1548,7 +1548,7 @@ var NavigationMenu = React24__namespace.forwardRef(({ className, children, ...pr
1548
1548
  }
1549
1549
  ));
1550
1550
  NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
1551
- var NavigationMenuList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1551
+ var NavigationMenuList = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1552
1552
  NavigationMenuPrimitive__namespace.List,
1553
1553
  {
1554
1554
  ref,
@@ -1564,7 +1564,7 @@ var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
1564
1564
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
1565
1565
  "group inline-flex h-10 w-max items-center justify-center rounded-control bg-background px-4 py-2 font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
1566
1566
  );
1567
- var NavigationMenuTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1567
+ var NavigationMenuTrigger = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1568
1568
  NavigationMenuPrimitive__namespace.Trigger,
1569
1569
  {
1570
1570
  ref,
@@ -1584,7 +1584,7 @@ var NavigationMenuTrigger = React24__namespace.forwardRef(({ className, children
1584
1584
  }
1585
1585
  ));
1586
1586
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
1587
- var NavigationMenuContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1587
+ var NavigationMenuContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1588
1588
  NavigationMenuPrimitive__namespace.Content,
1589
1589
  {
1590
1590
  ref,
@@ -1597,7 +1597,7 @@ var NavigationMenuContent = React24__namespace.forwardRef(({ className, ...props
1597
1597
  ));
1598
1598
  NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
1599
1599
  var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
1600
- var NavigationMenuViewport = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
1600
+ var NavigationMenuViewport = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
1601
1601
  NavigationMenuPrimitive__namespace.Viewport,
1602
1602
  {
1603
1603
  className: cn(
@@ -1609,7 +1609,7 @@ var NavigationMenuViewport = React24__namespace.forwardRef(({ className, ...prop
1609
1609
  }
1610
1610
  ) }));
1611
1611
  NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
1612
- var NavigationMenuIndicator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1612
+ var NavigationMenuIndicator = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1613
1613
  NavigationMenuPrimitive__namespace.Indicator,
1614
1614
  {
1615
1615
  ref,
@@ -1632,7 +1632,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
1632
1632
  }
1633
1633
  );
1634
1634
  Pagination.displayName = "Pagination";
1635
- var PaginationContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1635
+ var PaginationContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1636
1636
  "ul",
1637
1637
  {
1638
1638
  ref,
@@ -1641,7 +1641,7 @@ var PaginationContent = React24__namespace.forwardRef(({ className, ...props },
1641
1641
  }
1642
1642
  ));
1643
1643
  PaginationContent.displayName = "PaginationContent";
1644
- var PaginationItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
1644
+ var PaginationItem = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
1645
1645
  PaginationItem.displayName = "PaginationItem";
1646
1646
  var PaginationLink = ({
1647
1647
  className,
@@ -1715,7 +1715,7 @@ var PaginationEllipsis = ({
1715
1715
  PaginationEllipsis.displayName = "PaginationEllipsis";
1716
1716
  var Popover = PopoverPrimitive__namespace.Root;
1717
1717
  var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
1718
- var PopoverContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1718
+ var PopoverContent = React25__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1719
1719
  PopoverPrimitive__namespace.Content,
1720
1720
  {
1721
1721
  ref,
@@ -1729,7 +1729,7 @@ var PopoverContent = React24__namespace.forwardRef(({ className, align = "center
1729
1729
  }
1730
1730
  ) }));
1731
1731
  PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
1732
- var Progress = React24__namespace.forwardRef(({ className, value, size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1732
+ var Progress = React25__namespace.forwardRef(({ className, value, size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1733
1733
  ProgressPrimitive__namespace.Root,
1734
1734
  {
1735
1735
  ref,
@@ -1773,7 +1773,7 @@ var ResizableHandle = ({
1773
1773
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 h-6 w-[3px] rounded-full bg-muted-foreground/40" })
1774
1774
  }
1775
1775
  );
1776
- var ScrollArea = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1776
+ var ScrollArea = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1777
1777
  ScrollAreaPrimitive__namespace.Root,
1778
1778
  {
1779
1779
  ref,
@@ -1787,7 +1787,7 @@ var ScrollArea = React24__namespace.forwardRef(({ className, children, ...props
1787
1787
  }
1788
1788
  ));
1789
1789
  ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
1790
- var ScrollBar = React24__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1790
+ var ScrollBar = React25__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1791
1791
  ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
1792
1792
  {
1793
1793
  ref,
@@ -1803,11 +1803,90 @@ var ScrollBar = React24__namespace.forwardRef(({ className, orientation = "verti
1803
1803
  }
1804
1804
  ));
1805
1805
  ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displayName;
1806
+ var SegmentedControl = React25__namespace.forwardRef(
1807
+ ({
1808
+ options,
1809
+ value,
1810
+ defaultValue,
1811
+ onValueChange,
1812
+ size = "xs",
1813
+ stretch,
1814
+ className,
1815
+ ...props
1816
+ }, ref) => {
1817
+ const [internal, setInternal] = React25__namespace.useState(
1818
+ defaultValue ?? options[0]?.value
1819
+ );
1820
+ const active = value ?? internal;
1821
+ const refs = React25__namespace.useRef([]);
1822
+ const select = (next) => {
1823
+ if (value == null) setInternal(next);
1824
+ onValueChange?.(next);
1825
+ };
1826
+ const onKeyDown = (event, index) => {
1827
+ const forward = event.key === "ArrowRight" || event.key === "ArrowDown";
1828
+ const back = event.key === "ArrowLeft" || event.key === "ArrowUp";
1829
+ if (!forward && !back) return;
1830
+ event.preventDefault();
1831
+ const step = forward ? 1 : -1;
1832
+ for (let i = 1; i <= options.length; i += 1) {
1833
+ const next = options[(index + step * i + options.length * i) % options.length];
1834
+ if (next && !next.disabled) {
1835
+ select(next.value);
1836
+ refs.current[options.indexOf(next)]?.focus();
1837
+ return;
1838
+ }
1839
+ }
1840
+ };
1841
+ return /* @__PURE__ */ jsxRuntime.jsx(
1842
+ "div",
1843
+ {
1844
+ ref,
1845
+ role: "radiogroup",
1846
+ className: cn(
1847
+ "inline-flex overflow-hidden rounded-control border border-border",
1848
+ stretch && "flex w-full",
1849
+ className
1850
+ ),
1851
+ ...props,
1852
+ children: options.map((option, index) => {
1853
+ const on = option.value === active;
1854
+ return /* @__PURE__ */ jsxRuntime.jsx(
1855
+ "button",
1856
+ {
1857
+ ref: (node) => {
1858
+ refs.current[index] = node;
1859
+ },
1860
+ type: "button",
1861
+ role: "radio",
1862
+ "aria-checked": on,
1863
+ disabled: option.disabled,
1864
+ tabIndex: on ? 0 : -1,
1865
+ onClick: () => select(option.value),
1866
+ onKeyDown: (event) => onKeyDown(event, index),
1867
+ className: cn(
1868
+ "min-w-0 truncate px-2 text-center whitespace-nowrap",
1869
+ "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring",
1870
+ size === "xs" ? "h-[22px] text-sm" : "h-[26px]",
1871
+ stretch && "flex-1",
1872
+ on ? "bg-primary/12 font-medium text-primary" : "text-muted-foreground hover:bg-accent hover:text-foreground",
1873
+ option.disabled && "pointer-events-none opacity-50"
1874
+ ),
1875
+ children: option.label
1876
+ },
1877
+ option.value
1878
+ );
1879
+ })
1880
+ }
1881
+ );
1882
+ }
1883
+ );
1884
+ SegmentedControl.displayName = "SegmentedControl";
1806
1885
  var Sheet = DialogPrimitive__namespace.Root;
1807
1886
  var SheetTrigger = DialogPrimitive__namespace.Trigger;
1808
1887
  var SheetClose = DialogPrimitive__namespace.Close;
1809
1888
  var SheetPortal = DialogPrimitive__namespace.Portal;
1810
- var SheetOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1889
+ var SheetOverlay = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1811
1890
  DialogPrimitive__namespace.Overlay,
1812
1891
  {
1813
1892
  className: cn(
@@ -1835,7 +1914,7 @@ var sheetVariants = classVarianceAuthority.cva(
1835
1914
  }
1836
1915
  }
1837
1916
  );
1838
- var SheetContent = React24__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
1917
+ var SheetContent = React25__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
1839
1918
  /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
1840
1919
  /* @__PURE__ */ jsxRuntime.jsxs(
1841
1920
  DialogPrimitive__namespace.Content,
@@ -1882,7 +1961,7 @@ var SheetFooter = ({
1882
1961
  }
1883
1962
  );
1884
1963
  SheetFooter.displayName = "SheetFooter";
1885
- var SheetTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1964
+ var SheetTitle = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1886
1965
  DialogPrimitive__namespace.Title,
1887
1966
  {
1888
1967
  ref,
@@ -1891,7 +1970,7 @@ var SheetTitle = React24__namespace.forwardRef(({ className, ...props }, ref) =>
1891
1970
  }
1892
1971
  ));
1893
1972
  SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
1894
- var SheetDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1973
+ var SheetDescription = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1895
1974
  DialogPrimitive__namespace.Description,
1896
1975
  {
1897
1976
  ref,
@@ -1902,8 +1981,8 @@ var SheetDescription = React24__namespace.forwardRef(({ className, ...props }, r
1902
1981
  SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
1903
1982
  var MOBILE_BREAKPOINT = 768;
1904
1983
  function useIsMobile() {
1905
- const [isMobile, setIsMobile] = React24__namespace.useState(void 0);
1906
- React24__namespace.useEffect(() => {
1984
+ const [isMobile, setIsMobile] = React25__namespace.useState(void 0);
1985
+ React25__namespace.useEffect(() => {
1907
1986
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
1908
1987
  const onChange = () => {
1909
1988
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1929,7 +2008,7 @@ function Skeleton({
1929
2008
  var TooltipProvider = TooltipPrimitive__namespace.Provider;
1930
2009
  var Tooltip = TooltipPrimitive__namespace.Root;
1931
2010
  var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
1932
- var TooltipContent = React24__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2011
+ var TooltipContent = React25__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1933
2012
  TooltipPrimitive__namespace.Content,
1934
2013
  {
1935
2014
  ref,
@@ -1948,15 +2027,15 @@ var SIDEBAR_WIDTH = "16rem";
1948
2027
  var SIDEBAR_WIDTH_MOBILE = "18rem";
1949
2028
  var SIDEBAR_WIDTH_ICON = "3rem";
1950
2029
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
1951
- var SidebarContext = React24__namespace.createContext(null);
2030
+ var SidebarContext = React25__namespace.createContext(null);
1952
2031
  function useSidebar() {
1953
- const context = React24__namespace.useContext(SidebarContext);
2032
+ const context = React25__namespace.useContext(SidebarContext);
1954
2033
  if (!context) {
1955
2034
  throw new Error("useSidebar must be used within a SidebarProvider.");
1956
2035
  }
1957
2036
  return context;
1958
2037
  }
1959
- var SidebarProvider = React24__namespace.forwardRef(
2038
+ var SidebarProvider = React25__namespace.forwardRef(
1960
2039
  ({
1961
2040
  defaultOpen = true,
1962
2041
  open: openProp,
@@ -1967,10 +2046,10 @@ var SidebarProvider = React24__namespace.forwardRef(
1967
2046
  ...props
1968
2047
  }, ref) => {
1969
2048
  const isMobile = useIsMobile();
1970
- const [openMobile, setOpenMobile] = React24__namespace.useState(false);
1971
- const [_open, _setOpen] = React24__namespace.useState(defaultOpen);
2049
+ const [openMobile, setOpenMobile] = React25__namespace.useState(false);
2050
+ const [_open, _setOpen] = React25__namespace.useState(defaultOpen);
1972
2051
  const open = openProp ?? _open;
1973
- const setOpen = React24__namespace.useCallback(
2052
+ const setOpen = React25__namespace.useCallback(
1974
2053
  (value) => {
1975
2054
  const openState = typeof value === "function" ? value(open) : value;
1976
2055
  if (setOpenProp) {
@@ -1982,10 +2061,10 @@ var SidebarProvider = React24__namespace.forwardRef(
1982
2061
  },
1983
2062
  [setOpenProp, open]
1984
2063
  );
1985
- const toggleSidebar = React24__namespace.useCallback(() => {
2064
+ const toggleSidebar = React25__namespace.useCallback(() => {
1986
2065
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
1987
2066
  }, [isMobile, setOpen, setOpenMobile]);
1988
- React24__namespace.useEffect(() => {
2067
+ React25__namespace.useEffect(() => {
1989
2068
  const handleKeyDown = (event) => {
1990
2069
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
1991
2070
  event.preventDefault();
@@ -1996,7 +2075,7 @@ var SidebarProvider = React24__namespace.forwardRef(
1996
2075
  return () => window.removeEventListener("keydown", handleKeyDown);
1997
2076
  }, [toggleSidebar]);
1998
2077
  const state = open ? "expanded" : "collapsed";
1999
- const contextValue = React24__namespace.useMemo(
2078
+ const contextValue = React25__namespace.useMemo(
2000
2079
  () => ({
2001
2080
  state,
2002
2081
  open,
@@ -2028,7 +2107,7 @@ var SidebarProvider = React24__namespace.forwardRef(
2028
2107
  }
2029
2108
  );
2030
2109
  SidebarProvider.displayName = "SidebarProvider";
2031
- var Sidebar = React24__namespace.forwardRef(
2110
+ var Sidebar = React25__namespace.forwardRef(
2032
2111
  ({
2033
2112
  side = "left",
2034
2113
  variant = "sidebar",
@@ -2121,7 +2200,7 @@ var Sidebar = React24__namespace.forwardRef(
2121
2200
  }
2122
2201
  );
2123
2202
  Sidebar.displayName = "Sidebar";
2124
- var SidebarTrigger = React24__namespace.forwardRef(({ className, onClick, ...props }, ref) => {
2203
+ var SidebarTrigger = React25__namespace.forwardRef(({ className, onClick, ...props }, ref) => {
2125
2204
  const { toggleSidebar } = useSidebar();
2126
2205
  return /* @__PURE__ */ jsxRuntime.jsxs(
2127
2206
  Button,
@@ -2144,7 +2223,7 @@ var SidebarTrigger = React24__namespace.forwardRef(({ className, onClick, ...pro
2144
2223
  );
2145
2224
  });
2146
2225
  SidebarTrigger.displayName = "SidebarTrigger";
2147
- var SidebarRail = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2226
+ var SidebarRail = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2148
2227
  const { toggleSidebar } = useSidebar();
2149
2228
  return /* @__PURE__ */ jsxRuntime.jsx(
2150
2229
  "button",
@@ -2169,7 +2248,7 @@ var SidebarRail = React24__namespace.forwardRef(({ className, ...props }, ref) =
2169
2248
  );
2170
2249
  });
2171
2250
  SidebarRail.displayName = "SidebarRail";
2172
- var SidebarInset = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2251
+ var SidebarInset = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2173
2252
  return /* @__PURE__ */ jsxRuntime.jsx(
2174
2253
  "main",
2175
2254
  {
@@ -2184,7 +2263,7 @@ var SidebarInset = React24__namespace.forwardRef(({ className, ...props }, ref)
2184
2263
  );
2185
2264
  });
2186
2265
  SidebarInset.displayName = "SidebarInset";
2187
- var SidebarInput = React24__namespace.forwardRef(({ className, type, ...props }, ref) => {
2266
+ var SidebarInput = React25__namespace.forwardRef(({ className, type, ...props }, ref) => {
2188
2267
  return /* @__PURE__ */ jsxRuntime.jsx(
2189
2268
  "input",
2190
2269
  {
@@ -2202,7 +2281,7 @@ var SidebarInput = React24__namespace.forwardRef(({ className, type, ...props },
2202
2281
  );
2203
2282
  });
2204
2283
  SidebarInput.displayName = "SidebarInput";
2205
- var SidebarHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2284
+ var SidebarHeader = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2206
2285
  return /* @__PURE__ */ jsxRuntime.jsx(
2207
2286
  "div",
2208
2287
  {
@@ -2214,7 +2293,7 @@ var SidebarHeader = React24__namespace.forwardRef(({ className, ...props }, ref)
2214
2293
  );
2215
2294
  });
2216
2295
  SidebarHeader.displayName = "SidebarHeader";
2217
- var SidebarFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2296
+ var SidebarFooter = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2218
2297
  return /* @__PURE__ */ jsxRuntime.jsx(
2219
2298
  "div",
2220
2299
  {
@@ -2226,7 +2305,7 @@ var SidebarFooter = React24__namespace.forwardRef(({ className, ...props }, ref)
2226
2305
  );
2227
2306
  });
2228
2307
  SidebarFooter.displayName = "SidebarFooter";
2229
- var SidebarSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2308
+ var SidebarSeparator = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2230
2309
  return /* @__PURE__ */ jsxRuntime.jsx(
2231
2310
  Separator,
2232
2311
  {
@@ -2238,7 +2317,7 @@ var SidebarSeparator = React24__namespace.forwardRef(({ className, ...props }, r
2238
2317
  );
2239
2318
  });
2240
2319
  SidebarSeparator.displayName = "SidebarSeparator";
2241
- var SidebarContent = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2320
+ var SidebarContent = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2242
2321
  return /* @__PURE__ */ jsxRuntime.jsx(
2243
2322
  "div",
2244
2323
  {
@@ -2253,7 +2332,7 @@ var SidebarContent = React24__namespace.forwardRef(({ className, ...props }, ref
2253
2332
  );
2254
2333
  });
2255
2334
  SidebarContent.displayName = "SidebarContent";
2256
- var SidebarGroup = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2335
+ var SidebarGroup = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2257
2336
  return /* @__PURE__ */ jsxRuntime.jsx(
2258
2337
  "div",
2259
2338
  {
@@ -2265,7 +2344,7 @@ var SidebarGroup = React24__namespace.forwardRef(({ className, ...props }, ref)
2265
2344
  );
2266
2345
  });
2267
2346
  SidebarGroup.displayName = "SidebarGroup";
2268
- var SidebarGroupLabel = React24__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2347
+ var SidebarGroupLabel = React25__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2269
2348
  const Comp = asChild ? reactSlot.Slot : "div";
2270
2349
  return /* @__PURE__ */ jsxRuntime.jsx(
2271
2350
  Comp,
@@ -2282,7 +2361,7 @@ var SidebarGroupLabel = React24__namespace.forwardRef(({ className, asChild = fa
2282
2361
  );
2283
2362
  });
2284
2363
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
2285
- var SidebarGroupAction = React24__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2364
+ var SidebarGroupAction = React25__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2286
2365
  const Comp = asChild ? reactSlot.Slot : "button";
2287
2366
  return /* @__PURE__ */ jsxRuntime.jsx(
2288
2367
  Comp,
@@ -2301,7 +2380,7 @@ var SidebarGroupAction = React24__namespace.forwardRef(({ className, asChild = f
2301
2380
  );
2302
2381
  });
2303
2382
  SidebarGroupAction.displayName = "SidebarGroupAction";
2304
- var SidebarGroupContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2383
+ var SidebarGroupContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2305
2384
  "div",
2306
2385
  {
2307
2386
  ref,
@@ -2311,7 +2390,7 @@ var SidebarGroupContent = React24__namespace.forwardRef(({ className, ...props }
2311
2390
  }
2312
2391
  ));
2313
2392
  SidebarGroupContent.displayName = "SidebarGroupContent";
2314
- var SidebarMenu = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2393
+ var SidebarMenu = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2315
2394
  "ul",
2316
2395
  {
2317
2396
  ref,
@@ -2321,7 +2400,7 @@ var SidebarMenu = React24__namespace.forwardRef(({ className, ...props }, ref) =
2321
2400
  }
2322
2401
  ));
2323
2402
  SidebarMenu.displayName = "SidebarMenu";
2324
- var SidebarMenuItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2403
+ var SidebarMenuItem = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2325
2404
  "li",
2326
2405
  {
2327
2406
  ref,
@@ -2351,7 +2430,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
2351
2430
  }
2352
2431
  }
2353
2432
  );
2354
- var SidebarMenuButton = React24__namespace.forwardRef(
2433
+ var SidebarMenuButton = React25__namespace.forwardRef(
2355
2434
  ({
2356
2435
  asChild = false,
2357
2436
  isActive = false,
@@ -2397,7 +2476,7 @@ var SidebarMenuButton = React24__namespace.forwardRef(
2397
2476
  }
2398
2477
  );
2399
2478
  SidebarMenuButton.displayName = "SidebarMenuButton";
2400
- var SidebarMenuAction = React24__namespace.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
2479
+ var SidebarMenuAction = React25__namespace.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
2401
2480
  const Comp = asChild ? reactSlot.Slot : "button";
2402
2481
  return /* @__PURE__ */ jsxRuntime.jsx(
2403
2482
  Comp,
@@ -2420,7 +2499,7 @@ var SidebarMenuAction = React24__namespace.forwardRef(({ className, asChild = fa
2420
2499
  );
2421
2500
  });
2422
2501
  SidebarMenuAction.displayName = "SidebarMenuAction";
2423
- var SidebarMenuBadge = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2502
+ var SidebarMenuBadge = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2424
2503
  "div",
2425
2504
  {
2426
2505
  ref,
@@ -2438,8 +2517,8 @@ var SidebarMenuBadge = React24__namespace.forwardRef(({ className, ...props }, r
2438
2517
  }
2439
2518
  ));
2440
2519
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
2441
- var SidebarMenuSkeleton = React24__namespace.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2442
- const width = React24__namespace.useMemo(() => {
2520
+ var SidebarMenuSkeleton = React25__namespace.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2521
+ const width = React25__namespace.useMemo(() => {
2443
2522
  return `${Math.floor(Math.random() * 40) + 50}%`;
2444
2523
  }, []);
2445
2524
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2472,7 +2551,7 @@ var SidebarMenuSkeleton = React24__namespace.forwardRef(({ className, showIcon =
2472
2551
  );
2473
2552
  });
2474
2553
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
2475
- var SidebarMenuSub = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2554
+ var SidebarMenuSub = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2476
2555
  "ul",
2477
2556
  {
2478
2557
  ref,
@@ -2486,9 +2565,9 @@ var SidebarMenuSub = React24__namespace.forwardRef(({ className, ...props }, ref
2486
2565
  }
2487
2566
  ));
2488
2567
  SidebarMenuSub.displayName = "SidebarMenuSub";
2489
- var SidebarMenuSubItem = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...props }));
2568
+ var SidebarMenuSubItem = React25__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...props }));
2490
2569
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
2491
- var SidebarMenuSubButton = React24__namespace.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
2570
+ var SidebarMenuSubButton = React25__namespace.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
2492
2571
  const Comp = asChild ? reactSlot.Slot : "a";
2493
2572
  return /* @__PURE__ */ jsxRuntime.jsx(
2494
2573
  Comp,
@@ -2590,7 +2669,7 @@ var statusDotVariants = classVarianceAuthority.cva("inline-block shrink-0 rounde
2590
2669
  size: "sm"
2591
2670
  }
2592
2671
  });
2593
- var StatusDot = React24__namespace.forwardRef(
2672
+ var StatusDot = React25__namespace.forwardRef(
2594
2673
  ({ className, tone, size, label, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2595
2674
  "span",
2596
2675
  {
@@ -2604,7 +2683,7 @@ var StatusDot = React24__namespace.forwardRef(
2604
2683
  )
2605
2684
  );
2606
2685
  StatusDot.displayName = "StatusDot";
2607
- var Table = React24__namespace.forwardRef(({ className, density = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2686
+ var Table = React25__namespace.forwardRef(({ className, density = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2608
2687
  "div",
2609
2688
  {
2610
2689
  "data-density": density,
@@ -2620,9 +2699,9 @@ var Table = React24__namespace.forwardRef(({ className, density = "default", ...
2620
2699
  }
2621
2700
  ));
2622
2701
  Table.displayName = "Table";
2623
- var TableHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2702
+ var TableHeader = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2624
2703
  TableHeader.displayName = "TableHeader";
2625
- var TableBody = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2704
+ var TableBody = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2626
2705
  "tbody",
2627
2706
  {
2628
2707
  ref,
@@ -2631,7 +2710,7 @@ var TableBody = React24__namespace.forwardRef(({ className, ...props }, ref) =>
2631
2710
  }
2632
2711
  ));
2633
2712
  TableBody.displayName = "TableBody";
2634
- var TableFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2713
+ var TableFooter = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2635
2714
  "tfoot",
2636
2715
  {
2637
2716
  ref,
@@ -2643,7 +2722,7 @@ var TableFooter = React24__namespace.forwardRef(({ className, ...props }, ref) =
2643
2722
  }
2644
2723
  ));
2645
2724
  TableFooter.displayName = "TableFooter";
2646
- var TableRow = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2725
+ var TableRow = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2647
2726
  "tr",
2648
2727
  {
2649
2728
  ref,
@@ -2655,7 +2734,7 @@ var TableRow = React24__namespace.forwardRef(({ className, ...props }, ref) => /
2655
2734
  }
2656
2735
  ));
2657
2736
  TableRow.displayName = "TableRow";
2658
- var TableHead = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2737
+ var TableHead = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2659
2738
  "th",
2660
2739
  {
2661
2740
  ref,
@@ -2672,7 +2751,7 @@ var TableHead = React24__namespace.forwardRef(({ className, ...props }, ref) =>
2672
2751
  }
2673
2752
  ));
2674
2753
  TableHead.displayName = "TableHead";
2675
- var TableCell = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2754
+ var TableCell = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2676
2755
  "td",
2677
2756
  {
2678
2757
  ref,
@@ -2685,7 +2764,7 @@ var TableCell = React24__namespace.forwardRef(({ className, ...props }, ref) =>
2685
2764
  }
2686
2765
  ));
2687
2766
  TableCell.displayName = "TableCell";
2688
- var TableCaption = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2767
+ var TableCaption = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2689
2768
  "caption",
2690
2769
  {
2691
2770
  ref,
@@ -2694,11 +2773,11 @@ var TableCaption = React24__namespace.forwardRef(({ className, ...props }, ref)
2694
2773
  }
2695
2774
  ));
2696
2775
  TableCaption.displayName = "TableCaption";
2697
- var TabsSizeContext = React24__namespace.createContext("default");
2698
- var Tabs = React24__namespace.forwardRef(({ size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props }) }));
2776
+ var TabsSizeContext = React25__namespace.createContext("default");
2777
+ var Tabs = React25__namespace.forwardRef(({ size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props }) }));
2699
2778
  Tabs.displayName = TabsPrimitive__namespace.Root.displayName;
2700
- var TabsList = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2701
- const size = React24__namespace.useContext(TabsSizeContext);
2779
+ var TabsList = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2780
+ const size = React25__namespace.useContext(TabsSizeContext);
2702
2781
  return /* @__PURE__ */ jsxRuntime.jsx(
2703
2782
  TabsPrimitive__namespace.List,
2704
2783
  {
@@ -2713,8 +2792,8 @@ var TabsList = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2713
2792
  );
2714
2793
  });
2715
2794
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
2716
- var TabsTrigger = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2717
- const size = React24__namespace.useContext(TabsSizeContext);
2795
+ var TabsTrigger = React25__namespace.forwardRef(({ className, ...props }, ref) => {
2796
+ const size = React25__namespace.useContext(TabsSizeContext);
2718
2797
  return /* @__PURE__ */ jsxRuntime.jsx(
2719
2798
  TabsPrimitive__namespace.Trigger,
2720
2799
  {
@@ -2729,7 +2808,7 @@ var TabsTrigger = React24__namespace.forwardRef(({ className, ...props }, ref) =
2729
2808
  );
2730
2809
  });
2731
2810
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
2732
- var TabsContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2811
+ var TabsContent = React25__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2733
2812
  TabsPrimitive__namespace.Content,
2734
2813
  {
2735
2814
  ref,
@@ -2761,7 +2840,7 @@ var toggleVariants = classVarianceAuthority.cva(
2761
2840
  }
2762
2841
  }
2763
2842
  );
2764
- var Toggle = React24__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2843
+ var Toggle = React25__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2765
2844
  TogglePrimitive__namespace.Root,
2766
2845
  {
2767
2846
  ref,
@@ -2770,11 +2849,11 @@ var Toggle = React24__namespace.forwardRef(({ className, variant, size, ...props
2770
2849
  }
2771
2850
  ));
2772
2851
  Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
2773
- var ToggleGroupContext = React24__namespace.createContext({
2852
+ var ToggleGroupContext = React25__namespace.createContext({
2774
2853
  size: "default",
2775
2854
  variant: "default"
2776
2855
  });
2777
- var ToggleGroup = React24__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2856
+ var ToggleGroup = React25__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2778
2857
  ToggleGroupPrimitive__namespace.Root,
2779
2858
  {
2780
2859
  ref,
@@ -2784,8 +2863,8 @@ var ToggleGroup = React24__namespace.forwardRef(({ className, variant, size, chi
2784
2863
  }
2785
2864
  ));
2786
2865
  ToggleGroup.displayName = ToggleGroupPrimitive__namespace.Root.displayName;
2787
- var ToggleGroupItem = React24__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2788
- const context = React24__namespace.useContext(ToggleGroupContext);
2866
+ var ToggleGroupItem = React25__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2867
+ const context = React25__namespace.useContext(ToggleGroupContext);
2789
2868
  return /* @__PURE__ */ jsxRuntime.jsx(
2790
2869
  ToggleGroupPrimitive__namespace.Item,
2791
2870
  {
@@ -2803,6 +2882,26 @@ var ToggleGroupItem = React24__namespace.forwardRef(({ className, children, vari
2803
2882
  );
2804
2883
  });
2805
2884
  ToggleGroupItem.displayName = ToggleGroupPrimitive__namespace.Item.displayName;
2885
+ var WORD = {
2886
+ unrecorded: "nothing recorded",
2887
+ purged: "purged",
2888
+ "declared-none": "none declared"
2889
+ };
2890
+ var AbsenceNote = React25__namespace.forwardRef(
2891
+ ({ reason, label, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2892
+ "div",
2893
+ {
2894
+ ref,
2895
+ className: cn("flex flex-col gap-1 px-2.5 py-2", className),
2896
+ ...props,
2897
+ children: [
2898
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs tracking-wide text-muted-foreground", children: label ?? WORD[reason] }),
2899
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm leading-relaxed text-muted-foreground", children })
2900
+ ]
2901
+ }
2902
+ )
2903
+ );
2904
+ AbsenceNote.displayName = "AbsenceNote";
2806
2905
  var TONE = {
2807
2906
  allowed: "text-foreground",
2808
2907
  denied: "text-destructive",
@@ -2814,7 +2913,7 @@ function split(address) {
2814
2913
  if (cut < 0) return { head: "", tail: address };
2815
2914
  return { head: address.slice(0, cut + 1), tail: address.slice(cut + 1) };
2816
2915
  }
2817
- var AddressChip = React24__namespace.forwardRef(
2916
+ var AddressChip = React25__namespace.forwardRef(
2818
2917
  ({ address, tone = "allowed", onOpen, className, ...props }, ref) => {
2819
2918
  const { head, tail } = split(address);
2820
2919
  const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2881,7 +2980,7 @@ var agentChipVariants = classVarianceAuthority.cva(
2881
2980
  defaultVariants: { kind: "agent", inactive: false }
2882
2981
  }
2883
2982
  );
2884
- var AgentChip = React24__namespace.forwardRef(
2983
+ var AgentChip = React25__namespace.forwardRef(
2885
2984
  ({ icon, name, kind, inactive, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2886
2985
  "span",
2887
2986
  {
@@ -2908,7 +3007,7 @@ var stateVariants = classVarianceAuthority.cva("inline-flex shrink-0 items-cente
2908
3007
  },
2909
3008
  defaultVariants: { tone: "active" }
2910
3009
  });
2911
- var AppStatusBar = React24__namespace.forwardRef(
3010
+ var AppStatusBar = React25__namespace.forwardRef(
2912
3011
  ({ state, tone, end, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2913
3012
  "div",
2914
3013
  {
@@ -2936,7 +3035,94 @@ var AppStatusBar = React24__namespace.forwardRef(
2936
3035
  )
2937
3036
  );
2938
3037
  AppStatusBar.displayName = "AppStatusBar";
2939
- var BarChartH = React24__namespace.forwardRef(
3038
+ var ArtifactTable = React25__namespace.forwardRef(({ files, onOpen, onDownload, renderActions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(Table, { density: "compact", children: [
3039
+ /* @__PURE__ */ jsxRuntime.jsx(TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(TableRow, { children: [
3040
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { children: "file" }),
3041
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[7rem]", children: "kind" }),
3042
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[5rem]", children: "size" }),
3043
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[7rem]", children: "digest" }),
3044
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[5.5rem]", children: "written" }),
3045
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[9.5rem]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "actions" }) })
3046
+ ] }) }),
3047
+ /* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: files.map((file, index) => /* @__PURE__ */ jsxRuntime.jsxs(TableRow, { children: [
3048
+ /* @__PURE__ */ jsxRuntime.jsx(
3049
+ TableCell,
3050
+ {
3051
+ className: cn(
3052
+ "font-mono",
3053
+ file.gone && "text-muted-foreground line-through"
3054
+ ),
3055
+ children: file.name
3056
+ }
3057
+ ),
3058
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { children: file.kind }),
3059
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "tabular-nums", children: file.size }),
3060
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "font-mono text-muted-foreground", children: file.digest }),
3061
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "font-mono tabular-nums", children: file.written }),
3062
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { children: renderActions ? renderActions(file, index) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex gap-1", children: [
3063
+ /* @__PURE__ */ jsxRuntime.jsx(
3064
+ Button,
3065
+ {
3066
+ type: "button",
3067
+ variant: "outline",
3068
+ size: "xs",
3069
+ disabled: file.gone || !onOpen,
3070
+ onClick: () => onOpen?.(file, index),
3071
+ children: "Open"
3072
+ }
3073
+ ),
3074
+ /* @__PURE__ */ jsxRuntime.jsx(
3075
+ Button,
3076
+ {
3077
+ type: "button",
3078
+ variant: "outline",
3079
+ size: "xs",
3080
+ disabled: file.gone || !onDownload,
3081
+ onClick: () => onDownload?.(file, index),
3082
+ children: "Download"
3083
+ }
3084
+ )
3085
+ ] }) })
3086
+ ] }, index)) })
3087
+ ] }) }));
3088
+ ArtifactTable.displayName = "ArtifactTable";
3089
+ var TONE2 = {
3090
+ muted: "text-muted-foreground",
3091
+ info: "text-info",
3092
+ success: "text-success",
3093
+ warning: "text-warning",
3094
+ destructive: "text-destructive"
3095
+ };
3096
+ var AttemptClock = React25__namespace.forwardRef(
3097
+ ({ rows, summary, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
3098
+ /* @__PURE__ */ jsxRuntime.jsxs(Table, { density: "compact", children: [
3099
+ /* @__PURE__ */ jsxRuntime.jsx(TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(TableRow, { children: [
3100
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[7rem]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "what" }) }),
3101
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[6rem]", children: "started" }),
3102
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "w-[5.5rem]", children: "took" }),
3103
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { children: "what happened" })
3104
+ ] }) }),
3105
+ /* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: rows.map((row, index) => {
3106
+ const tone = row.tone ? TONE2[row.tone] : void 0;
3107
+ return /* @__PURE__ */ jsxRuntime.jsxs(TableRow, { children: [
3108
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: cn(tone, row.struck && "line-through"), children: row.label }),
3109
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "font-mono tabular-nums text-muted-foreground", children: row.started }),
3110
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: cn("font-mono tabular-nums", tone), children: row.took }),
3111
+ /* @__PURE__ */ jsxRuntime.jsx(
3112
+ TableCell,
3113
+ {
3114
+ className: cn(row.struck && ["line-through", tone]),
3115
+ children: row.what
3116
+ }
3117
+ )
3118
+ ] }, index);
3119
+ }) })
3120
+ ] }),
3121
+ summary != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border border-t px-2.5 py-1.5 text-sm text-muted-foreground", children: summary }) : null
3122
+ ] })
3123
+ );
3124
+ AttemptClock.displayName = "AttemptClock";
3125
+ var BarChartH = React25__namespace.forwardRef(
2940
3126
  ({
2941
3127
  data,
2942
3128
  max,
@@ -2977,7 +3163,7 @@ var BarChartH = React24__namespace.forwardRef(
2977
3163
  }
2978
3164
  );
2979
3165
  BarChartH.displayName = "BarChartH";
2980
- var BarChartV = React24__namespace.forwardRef(
3166
+ var BarChartV = React25__namespace.forwardRef(
2981
3167
  ({
2982
3168
  data,
2983
3169
  max,
@@ -3042,7 +3228,7 @@ var BarChartV = React24__namespace.forwardRef(
3042
3228
  );
3043
3229
  BarChartV.displayName = "BarChartV";
3044
3230
  var UNPAINTED = "bg-muted-foreground";
3045
- var BoundChip = React24__namespace.forwardRef(
3231
+ var BoundChip = React25__namespace.forwardRef(
3046
3232
  ({ bound, swatchOnly, label, swatch, palette, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3047
3233
  "span",
3048
3234
  {
@@ -3073,7 +3259,7 @@ function ButtonWithTooltip(props) {
3073
3259
  /* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { children: props.tooltip })
3074
3260
  ] }) });
3075
3261
  }
3076
- var CannotAnswerCard = React24__namespace.forwardRef(({ label = "cannot answer", remedy, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3262
+ var CannotAnswerCard = React25__namespace.forwardRef(({ label = "cannot answer", remedy, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3077
3263
  "div",
3078
3264
  {
3079
3265
  ref,
@@ -3097,7 +3283,7 @@ var PURPOSE = {
3097
3283
  judge: "scores an output \u2014 often local",
3098
3284
  embed: "text in, vector out"
3099
3285
  };
3100
- var CastTable = React24__namespace.forwardRef(
3286
+ var CastTable = React25__namespace.forwardRef(
3101
3287
  ({ cast = {}, resolved, readOnly, className, ...props }, ref) => {
3102
3288
  const byRole = new Map((resolved ?? []).map((r) => [r.role, r]));
3103
3289
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("min-w-0", className), ...props, children: [
@@ -3146,20 +3332,20 @@ function ChatSession({
3146
3332
  className,
3147
3333
  bodyClassName
3148
3334
  }) {
3149
- const rootRef = React24__namespace.useRef(null);
3150
- const contentRef = React24__namespace.useRef(null);
3151
- const pinnedRef = React24__namespace.useRef(true);
3152
- const getViewport = React24__namespace.useCallback(
3335
+ const rootRef = React25__namespace.useRef(null);
3336
+ const contentRef = React25__namespace.useRef(null);
3337
+ const pinnedRef = React25__namespace.useRef(true);
3338
+ const getViewport = React25__namespace.useCallback(
3153
3339
  () => rootRef.current?.querySelector(
3154
3340
  "[data-radix-scroll-area-viewport]"
3155
3341
  ) ?? null,
3156
3342
  []
3157
3343
  );
3158
- const scrollToBottom = React24__namespace.useCallback(() => {
3344
+ const scrollToBottom = React25__namespace.useCallback(() => {
3159
3345
  const viewport = getViewport();
3160
3346
  if (viewport) viewport.scrollTop = viewport.scrollHeight;
3161
3347
  }, [getViewport]);
3162
- React24__namespace.useEffect(() => {
3348
+ React25__namespace.useEffect(() => {
3163
3349
  const viewport = getViewport();
3164
3350
  if (!viewport) return;
3165
3351
  const handleScroll = () => {
@@ -3169,7 +3355,7 @@ function ChatSession({
3169
3355
  viewport.addEventListener("scroll", handleScroll, { passive: true });
3170
3356
  return () => viewport.removeEventListener("scroll", handleScroll);
3171
3357
  }, [getViewport, followThreshold]);
3172
- React24__namespace.useEffect(() => {
3358
+ React25__namespace.useEffect(() => {
3173
3359
  const content = contentRef.current;
3174
3360
  if (!content || typeof ResizeObserver === "undefined") return;
3175
3361
  const observer = new ResizeObserver(() => {
@@ -3178,11 +3364,11 @@ function ChatSession({
3178
3364
  observer.observe(content);
3179
3365
  return () => observer.disconnect();
3180
3366
  }, [scrollToBottom]);
3181
- React24__namespace.useEffect(() => {
3367
+ React25__namespace.useEffect(() => {
3182
3368
  pinnedRef.current = true;
3183
3369
  scrollToBottom();
3184
3370
  }, [autoScrollKey, scrollToBottom]);
3185
- const isEmpty = React24__namespace.Children.count(children) === 0;
3371
+ const isEmpty = React25__namespace.Children.count(children) === 0;
3186
3372
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col h-full min-h-0", className), children: [
3187
3373
  /* @__PURE__ */ jsxRuntime.jsx(
3188
3374
  ScrollArea,
@@ -3275,12 +3461,12 @@ function useOverflowItems({
3275
3461
  pinnedIndex,
3276
3462
  reserve = 32
3277
3463
  }) {
3278
- const containerEl = React24__namespace.useRef(null);
3279
- const itemEls = React24__namespace.useRef([]);
3280
- const widths = React24__namespace.useRef([]);
3281
- const itemRefs = React24__namespace.useRef([]);
3282
- const [hidden, setHidden] = React24__namespace.useState(NONE);
3283
- const fit = React24__namespace.useCallback(() => {
3464
+ const containerEl = React25__namespace.useRef(null);
3465
+ const itemEls = React25__namespace.useRef([]);
3466
+ const widths = React25__namespace.useRef([]);
3467
+ const itemRefs = React25__namespace.useRef([]);
3468
+ const [hidden, setHidden] = React25__namespace.useState(NONE);
3469
+ const fit = React25__namespace.useCallback(() => {
3284
3470
  const el = containerEl.current;
3285
3471
  if (!el || !enabled) {
3286
3472
  setHidden((prev) => prev === NONE ? prev : NONE);
@@ -3309,12 +3495,12 @@ function useOverflowItems({
3309
3495
  }
3310
3496
  setHidden((prev) => same(prev, next) ? prev : next);
3311
3497
  }, [count, enabled, pinnedIndex, reserve]);
3312
- React24__namespace.useLayoutEffect(() => {
3498
+ React25__namespace.useLayoutEffect(() => {
3313
3499
  widths.current = [];
3314
3500
  itemEls.current.length = count;
3315
3501
  setHidden((prev) => prev === NONE ? prev : NONE);
3316
3502
  }, [count]);
3317
- React24__namespace.useLayoutEffect(() => {
3503
+ React25__namespace.useLayoutEffect(() => {
3318
3504
  fit();
3319
3505
  if (!enabled || typeof ResizeObserver === "undefined") return;
3320
3506
  const observer = new ResizeObserver(() => fit());
@@ -3322,10 +3508,10 @@ function useOverflowItems({
3322
3508
  for (const item of itemEls.current) if (item) observer.observe(item);
3323
3509
  return () => observer.disconnect();
3324
3510
  }, [fit, enabled, hidden]);
3325
- const containerRef = React24__namespace.useCallback((el) => {
3511
+ const containerRef = React25__namespace.useCallback((el) => {
3326
3512
  containerEl.current = el;
3327
3513
  }, []);
3328
- const itemRef = React24__namespace.useCallback((index) => {
3514
+ const itemRef = React25__namespace.useCallback((index) => {
3329
3515
  let fn = itemRefs.current[index];
3330
3516
  if (!fn) {
3331
3517
  fn = (el) => {
@@ -3335,7 +3521,7 @@ function useOverflowItems({
3335
3521
  }
3336
3522
  return fn;
3337
3523
  }, []);
3338
- const isHidden = React24__namespace.useCallback(
3524
+ const isHidden = React25__namespace.useCallback(
3339
3525
  (index) => hidden.includes(index),
3340
3526
  [hidden]
3341
3527
  );
@@ -3388,15 +3574,15 @@ var NavItems = ({
3388
3574
  const isVertical = orientation === "vertical";
3389
3575
  const isTabs = selectionMode === "tabs";
3390
3576
  const V = VARIANT[variant];
3391
- const [internalActive, setInternalActive] = React24__namespace.default.useState(
3577
+ const [internalActive, setInternalActive] = React25__namespace.default.useState(
3392
3578
  null
3393
3579
  );
3394
3580
  const isControlled = activeKey !== void 0;
3395
3581
  const currentKey = isControlled ? activeKey : internalActive;
3396
3582
  const activeIndex = items.findIndex((item) => keyOf(item) === currentKey);
3397
- const nodes = React24__namespace.default.useRef({});
3398
- const pendingFocus = React24__namespace.default.useRef(null);
3399
- React24__namespace.default.useEffect(() => {
3583
+ const nodes = React25__namespace.default.useRef({});
3584
+ const pendingFocus = React25__namespace.default.useRef(null);
3585
+ React25__namespace.default.useEffect(() => {
3400
3586
  const key = pendingFocus.current;
3401
3587
  if (!key) return;
3402
3588
  const node = nodes.current[key];
@@ -3409,7 +3595,7 @@ var NavItems = ({
3409
3595
  enabled: overflow && !isVertical,
3410
3596
  pinnedIndex: activeIndex >= 0 ? activeIndex : void 0
3411
3597
  });
3412
- const select = React24__namespace.default.useCallback(
3598
+ const select = React25__namespace.default.useCallback(
3413
3599
  (item) => {
3414
3600
  if (item.disabled) return;
3415
3601
  const key = keyOf(item);
@@ -3557,7 +3743,7 @@ var NavItems = ({
3557
3743
  /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: hasMenu && !asCaret ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: control }) : control }),
3558
3744
  /* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { side: item.tooltipSide || tooltipSide, children: item.tooltip || item.name })
3559
3745
  ] });
3560
- return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.default.Fragment, { children: [
3746
+ return /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.default.Fragment, { children: [
3561
3747
  hasMenu ? /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
3562
3748
  withTooltip,
3563
3749
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3647,7 +3833,7 @@ function renderMenuRows(menuItems) {
3647
3833
  const gutter = menuItems?.some((m) => m.icon);
3648
3834
  return menuItems?.map((menuItem) => {
3649
3835
  const MenuIcon = menuItem.icon;
3650
- return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.default.Fragment, { children: [
3836
+ return /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.default.Fragment, { children: [
3651
3837
  menuItem.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
3652
3838
  /* @__PURE__ */ jsxRuntime.jsxs(
3653
3839
  DropdownMenuItem,
@@ -3966,7 +4152,7 @@ function ChatSessionDisclosure({
3966
4152
  className,
3967
4153
  contentClassName
3968
4154
  }) {
3969
- const [uncontrolledOpen, setUncontrolledOpen] = React24__namespace.useState(defaultOpen);
4155
+ const [uncontrolledOpen, setUncontrolledOpen] = React25__namespace.useState(defaultOpen);
3970
4156
  const isOpen = open ?? uncontrolledOpen;
3971
4157
  const toggle = () => {
3972
4158
  const next = !isOpen;
@@ -4118,9 +4304,9 @@ function ChatSessionContextChip({
4118
4304
  }
4119
4305
  );
4120
4306
  }
4121
- var CitationList = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children }));
4307
+ var CitationList = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children }));
4122
4308
  CitationList.displayName = "CitationList";
4123
- var CitationRow = React24__namespace.forwardRef(
4309
+ var CitationRow = React25__namespace.forwardRef(
4124
4310
  ({ kind, source, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4125
4311
  "li",
4126
4312
  {
@@ -4136,7 +4322,7 @@ var CitationRow = React24__namespace.forwardRef(
4136
4322
  )
4137
4323
  );
4138
4324
  CitationRow.displayName = "CitationRow";
4139
- var ClampedText = React24__namespace.forwardRef(
4325
+ var ClampedText = React25__namespace.forwardRef(
4140
4326
  ({
4141
4327
  lines = 3,
4142
4328
  moreLabel = "Show more",
@@ -4145,10 +4331,10 @@ var ClampedText = React24__namespace.forwardRef(
4145
4331
  children,
4146
4332
  ...props
4147
4333
  }, ref) => {
4148
- const [expanded, setExpanded] = React24__namespace.useState(false);
4149
- const [clipped, setClipped] = React24__namespace.useState(false);
4150
- const bodyRef = React24__namespace.useRef(null);
4151
- React24__namespace.useLayoutEffect(() => {
4334
+ const [expanded, setExpanded] = React25__namespace.useState(false);
4335
+ const [clipped, setClipped] = React25__namespace.useState(false);
4336
+ const bodyRef = React25__namespace.useRef(null);
4337
+ React25__namespace.useLayoutEffect(() => {
4152
4338
  const el = bodyRef.current;
4153
4339
  if (!el || expanded) return;
4154
4340
  const measure = () => setClipped(el.scrollHeight - el.clientHeight > 1);
@@ -4186,7 +4372,7 @@ var ClampedText = React24__namespace.forwardRef(
4186
4372
  }
4187
4373
  );
4188
4374
  ClampedText.displayName = "ClampedText";
4189
- var ClarifyCard = React24__namespace.forwardRef(
4375
+ var ClarifyCard = React25__namespace.forwardRef(
4190
4376
  ({
4191
4377
  step,
4192
4378
  waiting,
@@ -4199,7 +4385,7 @@ var ClarifyCard = React24__namespace.forwardRef(
4199
4385
  className,
4200
4386
  ...props
4201
4387
  }, ref) => {
4202
- const name = React24__namespace.useId();
4388
+ const name = React25__namespace.useId();
4203
4389
  return /* @__PURE__ */ jsxRuntime.jsxs(
4204
4390
  "div",
4205
4391
  {
@@ -4267,7 +4453,7 @@ var ClarifyCard = React24__namespace.forwardRef(
4267
4453
  }
4268
4454
  );
4269
4455
  ClarifyCard.displayName = "ClarifyCard";
4270
- var ContextBar = React24__namespace.forwardRef(
4456
+ var ContextBar = React25__namespace.forwardRef(
4271
4457
  ({ counters, hint, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4272
4458
  "div",
4273
4459
  {
@@ -4286,7 +4472,7 @@ var ContextBar = React24__namespace.forwardRef(
4286
4472
  )
4287
4473
  );
4288
4474
  ContextBar.displayName = "ContextBar";
4289
- var DiagnosisCard = React24__namespace.forwardRef(({ code, attempted, target, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4475
+ var DiagnosisCard = React25__namespace.forwardRef(({ code, attempted, target, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4290
4476
  "div",
4291
4477
  {
4292
4478
  ref,
@@ -4314,11 +4500,11 @@ var OP_CLASS = {
4314
4500
  remove: "text-destructive",
4315
4501
  change: "text-warning"
4316
4502
  };
4317
- var DiffList = React24__namespace.forwardRef(
4503
+ var DiffList = React25__namespace.forwardRef(
4318
4504
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children })
4319
4505
  );
4320
4506
  DiffList.displayName = "DiffList";
4321
- var DiffRow = React24__namespace.forwardRef(
4507
+ var DiffRow = React25__namespace.forwardRef(
4322
4508
  ({ op = "add", kind, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4323
4509
  "li",
4324
4510
  {
@@ -4334,7 +4520,7 @@ var DiffRow = React24__namespace.forwardRef(
4334
4520
  )
4335
4521
  );
4336
4522
  DiffRow.displayName = "DiffRow";
4337
- var DivergingBar = React24__namespace.forwardRef(
4523
+ var DivergingBar = React25__namespace.forwardRef(
4338
4524
  ({
4339
4525
  data,
4340
4526
  max,
@@ -4392,7 +4578,7 @@ var DivergingBar = React24__namespace.forwardRef(
4392
4578
  }
4393
4579
  );
4394
4580
  DivergingBar.displayName = "DivergingBar";
4395
- var EgressList = React24__namespace.forwardRef(
4581
+ var EgressList = React25__namespace.forwardRef(
4396
4582
  ({ to, classes = [], cut = [], className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4397
4583
  "div",
4398
4584
  {
@@ -4430,7 +4616,7 @@ var EgressList = React24__namespace.forwardRef(
4430
4616
  )
4431
4617
  );
4432
4618
  EgressList.displayName = "EgressList";
4433
- var EmissionHeader = React24__namespace.forwardRef(({ kind, template, citation, note, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4619
+ var EmissionHeader = React25__namespace.forwardRef(({ kind, template, citation, note, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4434
4620
  "div",
4435
4621
  {
4436
4622
  ref,
@@ -4450,7 +4636,7 @@ var EmissionHeader = React24__namespace.forwardRef(({ kind, template, citation,
4450
4636
  }
4451
4637
  ));
4452
4638
  EmissionHeader.displayName = "EmissionHeader";
4453
- var EmissionCard = React24__namespace.forwardRef(
4639
+ var EmissionCard = React25__namespace.forwardRef(
4454
4640
  ({
4455
4641
  kind,
4456
4642
  template,
@@ -4485,7 +4671,7 @@ var EmissionCard = React24__namespace.forwardRef(
4485
4671
  )
4486
4672
  );
4487
4673
  EmissionCard.displayName = "EmissionCard";
4488
- var CitationMarker = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4674
+ var CitationMarker = React25__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4489
4675
  "sup",
4490
4676
  {
4491
4677
  ref,
@@ -4495,7 +4681,7 @@ var CitationMarker = React24__namespace.forwardRef(({ className, children, ...pr
4495
4681
  }
4496
4682
  ));
4497
4683
  CitationMarker.displayName = "CitationMarker";
4498
- var EmptyState = React24__namespace.forwardRef(
4684
+ var EmptyState = React25__namespace.forwardRef(
4499
4685
  ({ icon, title, description, actions, locks, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4500
4686
  "div",
4501
4687
  {
@@ -4516,7 +4702,7 @@ var EmptyState = React24__namespace.forwardRef(
4516
4702
  )
4517
4703
  );
4518
4704
  EmptyState.displayName = "EmptyState";
4519
- var EmptyStateLock = React24__namespace.forwardRef(({ icon, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4705
+ var EmptyStateLock = React25__namespace.forwardRef(({ icon, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4520
4706
  "span",
4521
4707
  {
4522
4708
  ref,
@@ -4532,7 +4718,7 @@ var EmptyStateLock = React24__namespace.forwardRef(({ icon, className, children,
4532
4718
  }
4533
4719
  ));
4534
4720
  EmptyStateLock.displayName = "EmptyStateLock";
4535
- var ErrorBoundary = class extends React24.Component {
4721
+ var ErrorBoundary = class extends React25.Component {
4536
4722
  constructor(props) {
4537
4723
  super(props);
4538
4724
  this.state = { hasError: false };
@@ -4553,7 +4739,74 @@ var ErrorBoundary = class extends React24.Component {
4553
4739
  return this.props.children;
4554
4740
  }
4555
4741
  };
4556
- var Eyebrow = React24__namespace.forwardRef(
4742
+ function Bubble({
4743
+ who,
4744
+ rail,
4745
+ children,
4746
+ note
4747
+ }) {
4748
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-1 border-l-2 px-2.5 py-2", rail), children: [
4749
+ who != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs font-semibold", children: who }) : null,
4750
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "leading-relaxed", children }),
4751
+ note != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: note }) : null
4752
+ ] });
4753
+ }
4754
+ var ExchangeRecord = React25__namespace.forwardRef(
4755
+ ({
4756
+ asker,
4757
+ question,
4758
+ why,
4759
+ options,
4760
+ answerer,
4761
+ answer,
4762
+ answerNote,
4763
+ className,
4764
+ ...props
4765
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
4766
+ /* @__PURE__ */ jsxRuntime.jsx(Bubble, { who: asker, rail: "border-l-warning bg-warning/5", note: why, children: question }),
4767
+ options?.length ? /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col", children: options.map((option, index) => /* @__PURE__ */ jsxRuntime.jsxs(
4768
+ "li",
4769
+ {
4770
+ className: "flex items-center gap-2 border-border/55 border-t px-2.5 py-1",
4771
+ children: [
4772
+ /* @__PURE__ */ jsxRuntime.jsx(
4773
+ "span",
4774
+ {
4775
+ "aria-hidden": true,
4776
+ className: cn(
4777
+ "size-2.5 shrink-0 rounded-full border-[1.5px]",
4778
+ option.chosen ? "border-primary bg-primary" : "border-border bg-transparent"
4779
+ )
4780
+ }
4781
+ ),
4782
+ /* @__PURE__ */ jsxRuntime.jsx(
4783
+ "span",
4784
+ {
4785
+ className: cn(
4786
+ "min-w-0 flex-1 truncate font-mono text-sm",
4787
+ option.chosen ? "text-foreground" : "text-muted-foreground"
4788
+ ),
4789
+ children: option.label
4790
+ }
4791
+ ),
4792
+ option.chosen ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-primary", children: "chosen" }) : null
4793
+ ]
4794
+ },
4795
+ index
4796
+ )) }) : null,
4797
+ answer != null ? /* @__PURE__ */ jsxRuntime.jsx(
4798
+ Bubble,
4799
+ {
4800
+ who: answerer,
4801
+ rail: "border-l-primary bg-primary/5 border-t border-t-border/55",
4802
+ note: answerNote,
4803
+ children: answer
4804
+ }
4805
+ ) : null
4806
+ ] })
4807
+ );
4808
+ ExchangeRecord.displayName = "ExchangeRecord";
4809
+ var Eyebrow = React25__namespace.forwardRef(
4557
4810
  ({ aside, tone = "muted", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4558
4811
  "div",
4559
4812
  {
@@ -4574,7 +4827,7 @@ var Eyebrow = React24__namespace.forwardRef(
4574
4827
  )
4575
4828
  );
4576
4829
  Eyebrow.displayName = "Eyebrow";
4577
- var FilterBar = React24__namespace.forwardRef(
4830
+ var FilterBar = React25__namespace.forwardRef(
4578
4831
  ({ summary, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4579
4832
  "div",
4580
4833
  {
@@ -4593,33 +4846,55 @@ var FilterBar = React24__namespace.forwardRef(
4593
4846
  )
4594
4847
  );
4595
4848
  FilterBar.displayName = "FilterBar";
4596
- var FilterChip = React24__namespace.forwardRef(
4597
- ({ label, value, active, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4598
- Button,
4599
- {
4600
- ref,
4601
- type: "button",
4602
- variant: "outline",
4603
- size: "xs",
4604
- "data-active": active || void 0,
4605
- className: cn(
4606
- "h-[22px] gap-1 px-1.5 font-normal",
4607
- active && "border-primary/40 text-primary",
4608
- className
4609
- ),
4610
- ...props,
4611
- children: [
4612
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(value != null && "text-muted-foreground"), children: label }),
4613
- value != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: value }) : null,
4614
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "text-muted-foreground", children: "\u25BE" })
4615
- ]
4616
- }
4617
- )
4849
+ var FilterChip = React25__namespace.forwardRef(
4850
+ ({ label, value, active, onRemove, removeLabel, className, ...props }, ref) => {
4851
+ const chip = /* @__PURE__ */ jsxRuntime.jsxs(
4852
+ Button,
4853
+ {
4854
+ ref,
4855
+ type: "button",
4856
+ variant: "outline",
4857
+ size: "xs",
4858
+ "data-active": active || void 0,
4859
+ className: cn(
4860
+ "h-[22px] gap-1 px-1.5 font-normal",
4861
+ active && "border-primary/40 text-primary",
4862
+ onRemove && "rounded-r-none border-r-0",
4863
+ className
4864
+ ),
4865
+ ...props,
4866
+ children: [
4867
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(value != null && "text-muted-foreground"), children: label }),
4868
+ value != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: value }) : null,
4869
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "text-muted-foreground", children: "\u25BE" })
4870
+ ]
4871
+ }
4872
+ );
4873
+ if (!onRemove) return chip;
4874
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex min-w-0 items-center", children: [
4875
+ chip,
4876
+ /* @__PURE__ */ jsxRuntime.jsx(
4877
+ Button,
4878
+ {
4879
+ type: "button",
4880
+ variant: "outline",
4881
+ size: "xs",
4882
+ onClick: onRemove,
4883
+ "aria-label": removeLabel ?? `Clear ${typeof label === "string" ? label : "filter"}`,
4884
+ className: cn(
4885
+ "h-[22px] rounded-l-none px-1 font-normal text-muted-foreground hover:text-foreground",
4886
+ active && "border-primary/40"
4887
+ ),
4888
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: "\xD7" })
4889
+ }
4890
+ )
4891
+ ] });
4892
+ }
4618
4893
  );
4619
4894
  FilterChip.displayName = "FilterChip";
4620
- var HeatStrip = React24__namespace.forwardRef(
4895
+ var HeatStrip = React25__namespace.forwardRef(
4621
4896
  ({ cells, states, ticks, cellSize = 14, className, ...props }, ref) => {
4622
- const byKey = React24__namespace.useMemo(
4897
+ const byKey = React25__namespace.useMemo(
4623
4898
  () => new Map(states.map((s) => [s.key, s])),
4624
4899
  [states]
4625
4900
  );
@@ -4671,6 +4946,23 @@ var HeatStrip = React24__namespace.forwardRef(
4671
4946
  }
4672
4947
  );
4673
4948
  HeatStrip.displayName = "HeatStrip";
4949
+ var KindChip = React25__namespace.forwardRef(
4950
+ ({ kind, dim, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4951
+ "span",
4952
+ {
4953
+ ref,
4954
+ className: cn(
4955
+ "inline-flex h-[17px] shrink-0 items-center rounded-control px-1.5",
4956
+ "bg-muted font-mono text-xs tracking-wide text-muted-foreground",
4957
+ dim && "opacity-60",
4958
+ className
4959
+ ),
4960
+ ...props,
4961
+ children: kind
4962
+ }
4963
+ )
4964
+ );
4965
+ KindChip.displayName = "KindChip";
4674
4966
  var layerLabel = (layer) => layer.replace(/_/g, " ");
4675
4967
  var UNPAINTED2 = {
4676
4968
  swatch: "bg-muted-foreground",
@@ -4683,7 +4975,7 @@ var UNPAINTED2 = {
4683
4975
  text: "text-foreground"
4684
4976
  };
4685
4977
  var layerPaint = (palette, layer) => ({ ...UNPAINTED2, ...palette?.[layer] });
4686
- var LayerChip = React24__namespace.forwardRef(
4978
+ var LayerChip = React25__namespace.forwardRef(
4687
4979
  ({ layer, count, label, dim, swatch, palette, className, ...props }, ref) => {
4688
4980
  const paint = layerPaint(palette, layer);
4689
4981
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4720,9 +5012,9 @@ var LayerChip = React24__namespace.forwardRef(
4720
5012
  }
4721
5013
  );
4722
5014
  LayerChip.displayName = "LayerChip";
4723
- var LayerSection = React24__namespace.forwardRef(
5015
+ var LayerSection = React25__namespace.forwardRef(
4724
5016
  ({ layer, summary, count, dim, palette, className, children, ...props }, ref) => {
4725
- const empty = React24__namespace.Children.count(children) === 0;
5017
+ const empty = React25__namespace.Children.count(children) === 0;
4726
5018
  return /* @__PURE__ */ jsxRuntime.jsxs(
4727
5019
  "section",
4728
5020
  {
@@ -4762,7 +5054,7 @@ var formatElapsed = (ms) => {
4762
5054
  const m = Math.floor(ms / 6e4);
4763
5055
  return `${m}m ${Math.round(ms % 6e4 / 1e3)}s`;
4764
5056
  };
4765
- var LayerStrip = React24__namespace.forwardRef(
5057
+ var LayerStrip = React25__namespace.forwardRef(
4766
5058
  ({
4767
5059
  bands,
4768
5060
  items,
@@ -4788,7 +5080,7 @@ var LayerStrip = React24__namespace.forwardRef(
4788
5080
  className,
4789
5081
  ...props
4790
5082
  }, ref) => {
4791
- const [ownCollapsed, setOwnCollapsed] = React24__namespace.useState(
5083
+ const [ownCollapsed, setOwnCollapsed] = React25__namespace.useState(
4792
5084
  defaultCollapsed ?? []
4793
5085
  );
4794
5086
  const shut = collapsed ?? ownCollapsed;
@@ -4900,6 +5192,13 @@ var LayerStrip = React24__namespace.forwardRef(
4900
5192
  /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "what it does" }),
4901
5193
  /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 font-mono", children: item.note })
4902
5194
  ] }) : null,
5195
+ item.forecast ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5196
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "usually" }),
5197
+ /* @__PURE__ */ jsxRuntime.jsxs("dd", { className: "min-w-0 tabular-nums", children: [
5198
+ scale === "elapsed" ? formatElapsed(item.forecast.p50) : item.forecast.p50,
5199
+ item.forecast.note ? ` \xB7 ${item.forecast.note}` : ""
5200
+ ] })
5201
+ ] }) : null,
4903
5202
  item.ruleMatched ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4904
5203
  /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "refused by" }),
4905
5204
  /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 break-all font-mono text-destructive", children: item.ruleMatched })
@@ -4967,27 +5266,42 @@ var LayerStrip = React24__namespace.forwardRef(
4967
5266
  children: item.label
4968
5267
  }
4969
5268
  ),
4970
- compact ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.note ?? (state === "declared" ? null : stateLabel(state)) })
5269
+ compact ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.note ?? (item.forecast ? `p50 ${scale === "elapsed" ? formatElapsed(item.forecast.p50) : item.forecast.p50}${item.forecast.note ? ` \xB7 ${item.forecast.note}` : ""}` : state === "declared" ? null : stateLabel(state)) })
4971
5270
  ] })
4972
5271
  ]
4973
5272
  },
4974
5273
  item.id
4975
5274
  );
4976
- if (!hoverDetail) return drawn;
4977
- return /* @__PURE__ */ jsxRuntime.jsxs(HoverCard, { openDelay: 140, closeDelay: 80, children: [
4978
- /* @__PURE__ */ jsxRuntime.jsx(HoverCardTrigger, { asChild: true, children: drawn }),
4979
- /* @__PURE__ */ jsxRuntime.jsx(
4980
- HoverCardContent,
4981
- {
4982
- align: "start",
4983
- side: "top",
4984
- className: "w-auto max-w-80 p-3",
4985
- children: detail(item)
4986
- }
4987
- )
4988
- ] }, item.id);
5275
+ const forecastMark = item.forecast ? /* @__PURE__ */ jsxRuntime.jsx(
5276
+ "span",
5277
+ {
5278
+ "aria-hidden": true,
5279
+ style: { left: `${pct(item.start + item.forecast.p50)}%` },
5280
+ className: "-translate-y-1/2 pointer-events-none absolute top-1/2 h-5 border-muted-foreground/70 border-l border-dashed"
5281
+ },
5282
+ `${item.id}-p50`
5283
+ ) : null;
5284
+ const withMark = (node) => forecastMark ? /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.Fragment, { children: [
5285
+ forecastMark,
5286
+ node
5287
+ ] }, item.id) : node;
5288
+ if (!hoverDetail) return withMark(drawn);
5289
+ return withMark(
5290
+ /* @__PURE__ */ jsxRuntime.jsxs(HoverCard, { openDelay: 140, closeDelay: 80, children: [
5291
+ /* @__PURE__ */ jsxRuntime.jsx(HoverCardTrigger, { asChild: true, children: drawn }),
5292
+ /* @__PURE__ */ jsxRuntime.jsx(
5293
+ HoverCardContent,
5294
+ {
5295
+ align: "start",
5296
+ side: "top",
5297
+ className: "w-auto max-w-80 p-3",
5298
+ children: detail(item)
5299
+ }
5300
+ )
5301
+ ] }, item.id)
5302
+ );
4989
5303
  };
4990
- const bracketLanes = React24__namespace.useMemo(() => {
5304
+ const bracketLanes = React25__namespace.useMemo(() => {
4991
5305
  const lanes = [];
4992
5306
  const ordered = [...brackets ?? []].sort(
4993
5307
  (a, b) => b.end - b.start - (a.end - a.start)
@@ -5003,7 +5317,7 @@ var LayerStrip = React24__namespace.forwardRef(
5003
5317
  }
5004
5318
  return lanes;
5005
5319
  }, [brackets]);
5006
- const seamLines = React24__namespace.useMemo(() => {
5320
+ const seamLines = React25__namespace.useMemo(() => {
5007
5321
  const placed = (seams ?? []).filter((seam) => seam.at != null);
5008
5322
  const loose = (seams ?? []).filter((seam) => seam.at == null);
5009
5323
  return [...placed.length ? [placed] : [], ...loose.map((s2) => [s2])];
@@ -5035,7 +5349,7 @@ var LayerStrip = React24__namespace.forwardRef(
5035
5349
  style: { left: `${pct(seam.at)}%` },
5036
5350
  className: cn(
5037
5351
  "absolute inset-y-0 border-l",
5038
- seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/60"
5352
+ seam.conditional || seam.noEstimate ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/60"
5039
5353
  )
5040
5354
  },
5041
5355
  seam.id
@@ -5142,7 +5456,7 @@ var LayerStrip = React24__namespace.forwardRef(
5142
5456
  // pass is already paid for.
5143
5457
  "absolute inset-y-1.5 flex items-center bg-card px-1.5 text-muted-foreground",
5144
5458
  after ? "border-r-2 text-right" : "border-l-2",
5145
- seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/70"
5459
+ seam.conditional || seam.noEstimate ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/70"
5146
5460
  ),
5147
5461
  children: named
5148
5462
  },
@@ -5159,7 +5473,7 @@ var LayerStrip = React24__namespace.forwardRef(
5159
5473
  const foldable = collapsible && parts.length > 0;
5160
5474
  const isShut = foldable && shut.includes(band.layer);
5161
5475
  const onLine = isShut ? allOf(band.layer) : own;
5162
- return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
5476
+ return /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.Fragment, { children: [
5163
5477
  row(
5164
5478
  band.layer,
5165
5479
  label(
@@ -5314,6 +5628,26 @@ function Swatch({ kind = "dot", color }) {
5314
5628
  );
5315
5629
  if (kind === "line")
5316
5630
  return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, style, className: "h-0.5 w-4 shrink-0 bg-current" });
5631
+ if (kind === "stripe")
5632
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, style, className: "h-3 w-[3px] shrink-0 bg-current" });
5633
+ if (kind === "bracket")
5634
+ return /* @__PURE__ */ jsxRuntime.jsx(
5635
+ "span",
5636
+ {
5637
+ "aria-hidden": true,
5638
+ style,
5639
+ className: "h-3 w-3.5 shrink-0 border-l-2 border-current bg-current/10"
5640
+ }
5641
+ );
5642
+ if (kind === "rule")
5643
+ return /* @__PURE__ */ jsxRuntime.jsx(
5644
+ "span",
5645
+ {
5646
+ "aria-hidden": true,
5647
+ style,
5648
+ className: "relative h-3 w-4 shrink-0 before:absolute before:inset-x-0 before:top-1.5 before:border-t-2 before:border-current after:absolute after:left-0.5 after:top-[3px] after:size-1.5 after:bg-current"
5649
+ }
5650
+ );
5317
5651
  if (kind === "dashed")
5318
5652
  return /* @__PURE__ */ jsxRuntime.jsx(
5319
5653
  "span",
@@ -5339,7 +5673,7 @@ function Swatch({ kind = "dot", color }) {
5339
5673
  }
5340
5674
  );
5341
5675
  }
5342
- var Legend = React24__namespace.forwardRef(
5676
+ var Legend = React25__namespace.forwardRef(
5343
5677
  ({ orientation = "row", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5344
5678
  "div",
5345
5679
  {
@@ -5356,7 +5690,7 @@ var Legend = React24__namespace.forwardRef(
5356
5690
  )
5357
5691
  );
5358
5692
  Legend.displayName = "Legend";
5359
- var LegendItem = React24__namespace.forwardRef(
5693
+ var LegendItem = React25__namespace.forwardRef(
5360
5694
  ({ kind, color, label, count, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5361
5695
  "div",
5362
5696
  {
@@ -5373,7 +5707,7 @@ var LegendItem = React24__namespace.forwardRef(
5373
5707
  )
5374
5708
  );
5375
5709
  LegendItem.displayName = "LegendItem";
5376
- var LensChip = React24__namespace.forwardRef(
5710
+ var LensChip = React25__namespace.forwardRef(
5377
5711
  ({ lens, onPick, className, ...props }, ref) => {
5378
5712
  const label = lens?.name ?? "Everything";
5379
5713
  const unset = lens == null;
@@ -5435,7 +5769,7 @@ function describe(n, palette) {
5435
5769
  ] });
5436
5770
  }
5437
5771
  }
5438
- var LensRow = React24__namespace.forwardRef(
5772
+ var LensRow = React25__namespace.forwardRef(
5439
5773
  ({ name, narrows = [], usage, selected, onSelect, palette, className, ...props }, ref) => {
5440
5774
  const interactive = Boolean(onSelect);
5441
5775
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -5471,7 +5805,7 @@ var LensRow = React24__namespace.forwardRef(
5471
5805
  usage.lastUsed ? ` \xB7 last ${usage.lastUsed}` : ""
5472
5806
  ] }) : null
5473
5807
  ] }),
5474
- narrows.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-sm text-muted-foreground", children: narrows.map((n, i) => /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
5808
+ narrows.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-sm text-muted-foreground", children: narrows.map((n, i) => /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.Fragment, { children: [
5475
5809
  i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "opacity-40", children: "\xB7" }) : null,
5476
5810
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center", children: describe(n, palette) })
5477
5811
  ] }, `${n.kind}-${i}`)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground/70", children: "narrows nothing \u2014 the whole model, inside the guardrails" })
@@ -5481,7 +5815,31 @@ var LensRow = React24__namespace.forwardRef(
5481
5815
  }
5482
5816
  );
5483
5817
  LensRow.displayName = "LensRow";
5484
- var MatchPreview = React24__namespace.forwardRef(
5818
+ var TONE3 = {
5819
+ muted: "border-muted-foreground/50 text-muted-foreground",
5820
+ info: "border-info/60 text-info",
5821
+ success: "border-success/60 text-success",
5822
+ warning: "border-warning/60 text-warning",
5823
+ destructive: "border-destructive/60 text-destructive"
5824
+ };
5825
+ var MarkChip = React25__namespace.forwardRef(
5826
+ ({ tone = "warning", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5827
+ "span",
5828
+ {
5829
+ ref,
5830
+ className: cn(
5831
+ "inline-flex shrink-0 items-center rounded-control border px-1 py-px",
5832
+ "font-mono text-xs whitespace-nowrap",
5833
+ TONE3[tone],
5834
+ className
5835
+ ),
5836
+ ...props,
5837
+ children
5838
+ }
5839
+ )
5840
+ );
5841
+ MarkChip.displayName = "MarkChip";
5842
+ var MatchPreview = React25__namespace.forwardRef(
5485
5843
  ({ pattern, matches = [], loading, limit = 8, className, ...props }, ref) => {
5486
5844
  const hits = matches.filter((m) => m.matched);
5487
5845
  const misses = matches.filter((m) => !m.matched);
@@ -5590,14 +5948,14 @@ var MenuItem = ({
5590
5948
  )
5591
5949
  ] });
5592
5950
  };
5593
- var TONE2 = {
5951
+ var TONE4 = {
5594
5952
  running: "text-info",
5595
5953
  success: "text-success",
5596
5954
  warning: "text-warning",
5597
5955
  error: "text-destructive",
5598
5956
  info: "text-info"
5599
5957
  };
5600
- var MetricTile = React24__namespace.forwardRef(
5958
+ var MetricTile = React25__namespace.forwardRef(
5601
5959
  ({ label, value, caption, tone, meter, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5602
5960
  "div",
5603
5961
  {
@@ -5617,7 +5975,7 @@ var MetricTile = React24__namespace.forwardRef(
5617
5975
  // `1,880` and `2 / 5` in adjacent tiles sit at different widths, and
5618
5976
  // a strip of six stops reading as one row of numbers.
5619
5977
  "font-mono text-lg font-semibold leading-tight",
5620
- tone ? TONE2[tone] ?? "text-foreground" : void 0
5978
+ tone ? TONE4[tone] ?? "text-foreground" : void 0
5621
5979
  ),
5622
5980
  children: value
5623
5981
  }
@@ -5636,7 +5994,7 @@ var MetricTile = React24__namespace.forwardRef(
5636
5994
  children: /* @__PURE__ */ jsxRuntime.jsx(
5637
5995
  "div",
5638
5996
  {
5639
- className: cn("h-full", tone ? TONE2[tone] ?? "text-foreground" : "text-primary", "bg-current"),
5997
+ className: cn("h-full", tone ? TONE4[tone] ?? "text-foreground" : "text-primary", "bg-current"),
5640
5998
  style: { width: `${Math.min(Math.max(meter, 0), 1) * 100}%` }
5641
5999
  }
5642
6000
  )
@@ -5649,7 +6007,7 @@ var MetricTile = React24__namespace.forwardRef(
5649
6007
  )
5650
6008
  );
5651
6009
  MetricTile.displayName = "MetricTile";
5652
- var MetricGrid = React24__namespace.forwardRef(
6010
+ var MetricGrid = React25__namespace.forwardRef(
5653
6011
  ({ minTileWidth = 120, gap = 6, className, style, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5654
6012
  "div",
5655
6013
  {
@@ -5708,7 +6066,7 @@ var NestedMenu = (props) => {
5708
6066
  }
5709
6067
  );
5710
6068
  };
5711
- var PanelBox = React24__namespace.forwardRef(
6069
+ var PanelBox = React25__namespace.forwardRef(
5712
6070
  ({ title, aside, flush, className, headerClassName, bodyClassName, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5713
6071
  Card,
5714
6072
  {
@@ -5799,13 +6157,13 @@ function PanelStack({
5799
6157
  headerClassName,
5800
6158
  bodyClassName
5801
6159
  }) {
5802
- const groupRef = React24__namespace.useRef(null);
5803
- const refs = React24__namespace.useRef({});
5804
- const [collapsed, setCollapsed] = React24__namespace.useState(
6160
+ const groupRef = React25__namespace.useRef(null);
6161
+ const refs = React25__namespace.useRef({});
6162
+ const [collapsed, setCollapsed] = React25__namespace.useState(
5805
6163
  () => Object.fromEntries(sections.map((s) => [s.id, !!s.defaultCollapsed]))
5806
6164
  );
5807
- const didInit = React24__namespace.useRef(false);
5808
- React24__namespace.useLayoutEffect(() => {
6165
+ const didInit = React25__namespace.useRef(false);
6166
+ React25__namespace.useLayoutEffect(() => {
5809
6167
  if (didInit.current) return;
5810
6168
  didInit.current = true;
5811
6169
  const targets = sections.filter((s) => s.defaultCollapsed);
@@ -5837,18 +6195,18 @@ function PanelStack({
5837
6195
  for (const s of targets) refs.current[s.id]?.collapse();
5838
6196
  group.setLayout(next);
5839
6197
  }, []);
5840
- const notify = React24__namespace.useRef(onCollapsedChange);
5841
- React24__namespace.useEffect(() => {
6198
+ const notify = React25__namespace.useRef(onCollapsedChange);
6199
+ React25__namespace.useEffect(() => {
5842
6200
  notify.current = onCollapsedChange;
5843
6201
  }, [onCollapsedChange]);
5844
- const collapsedRef = React24__namespace.useRef(collapsed);
6202
+ const collapsedRef = React25__namespace.useRef(collapsed);
5845
6203
  collapsedRef.current = collapsed;
5846
- const collapsePanel = React24__namespace.useCallback((id) => {
6204
+ const collapsePanel = React25__namespace.useCallback((id) => {
5847
6205
  const ref = refs.current[id];
5848
6206
  if (!ref || ref.isCollapsed()) return;
5849
6207
  ref.collapse();
5850
6208
  }, []);
5851
- const expandPanel = React24__namespace.useCallback((id) => {
6209
+ const expandPanel = React25__namespace.useCallback((id) => {
5852
6210
  const ref = refs.current[id];
5853
6211
  if (!ref || !ref.isCollapsed()) return;
5854
6212
  ref.expand();
@@ -5866,7 +6224,7 @@ function PanelStack({
5866
6224
  [donorId]: donorPct - share
5867
6225
  });
5868
6226
  }, []);
5869
- const toggle = React24__namespace.useCallback(
6227
+ const toggle = React25__namespace.useCallback(
5870
6228
  (id) => {
5871
6229
  const ref = refs.current[id];
5872
6230
  if (!ref) return;
@@ -5875,7 +6233,7 @@ function PanelStack({
5875
6233
  },
5876
6234
  [expandPanel, collapsePanel]
5877
6235
  );
5878
- React24__namespace.useImperativeHandle(
6236
+ React25__namespace.useImperativeHandle(
5879
6237
  stackRef,
5880
6238
  () => ({
5881
6239
  expand: expandPanel,
@@ -5899,7 +6257,7 @@ function PanelStack({
5899
6257
  const Icon = section.icon;
5900
6258
  const isCollapsed = collapsed[section.id];
5901
6259
  const flush = index > 0 && (isCollapsed || collapsed[sections[index - 1].id]);
5902
- return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
6260
+ return /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.Fragment, { children: [
5903
6261
  index > 0 && /* @__PURE__ */ jsxRuntime.jsx(
5904
6262
  ResizableHandle,
5905
6263
  {
@@ -5995,7 +6353,52 @@ function PanelStack({
5995
6353
  ) })
5996
6354
  );
5997
6355
  }
5998
- var PropertyList = React24__namespace.forwardRef(
6356
+ var TONE5 = {
6357
+ success: "text-success",
6358
+ muted: "text-muted-foreground",
6359
+ warning: "text-warning",
6360
+ destructive: "text-destructive"
6361
+ };
6362
+ var DEFAULT_TONE = {
6363
+ touched: "success",
6364
+ refused: "destructive",
6365
+ denied: "destructive"
6366
+ };
6367
+ var ADDRESS_TONE = {
6368
+ touched: "allowed",
6369
+ refused: "refused",
6370
+ denied: "denied",
6371
+ "never touched": "untouched",
6372
+ miss: "untouched"
6373
+ };
6374
+ var ParticipantRow = React25__namespace.forwardRef(({ address, verdict, note, tone, addressTone, className, ...props }, ref) => {
6375
+ const resolved = tone ?? DEFAULT_TONE[verdict] ?? "muted";
6376
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6377
+ "div",
6378
+ {
6379
+ ref,
6380
+ className: cn(
6381
+ "flex min-w-0 items-baseline gap-2 border-border/55 border-t py-1 first:border-t-0",
6382
+ className
6383
+ ),
6384
+ ...props,
6385
+ children: [
6386
+ /* @__PURE__ */ jsxRuntime.jsx(
6387
+ AddressChip,
6388
+ {
6389
+ address,
6390
+ tone: addressTone ?? ADDRESS_TONE[verdict] ?? "allowed",
6391
+ className: "min-w-0 flex-1"
6392
+ }
6393
+ ),
6394
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("shrink-0 text-sm", TONE5[resolved]), children: verdict }),
6395
+ note != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[18rem] shrink-0 truncate text-sm text-muted-foreground", children: note }) : null
6396
+ ]
6397
+ }
6398
+ );
6399
+ });
6400
+ ParticipantRow.displayName = "ParticipantRow";
6401
+ var PropertyList = React25__namespace.forwardRef(
5999
6402
  ({ labelWidth = 78, className, style, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6000
6403
  "dl",
6001
6404
  {
@@ -6011,7 +6414,7 @@ var PropertyList = React24__namespace.forwardRef(
6011
6414
  )
6012
6415
  );
6013
6416
  PropertyList.displayName = "PropertyList";
6014
- var PropertyRow = React24__namespace.forwardRef(
6417
+ var PropertyRow = React25__namespace.forwardRef(
6015
6418
  ({ label, mono, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6016
6419
  "div",
6017
6420
  {
@@ -6026,7 +6429,7 @@ var PropertyRow = React24__namespace.forwardRef(
6026
6429
  )
6027
6430
  );
6028
6431
  PropertyRow.displayName = "PropertyRow";
6029
- var ProposalCard = React24__namespace.forwardRef(
6432
+ var ProposalCard = React25__namespace.forwardRef(
6030
6433
  ({
6031
6434
  title,
6032
6435
  source,
@@ -6058,7 +6461,7 @@ var ProposalCard = React24__namespace.forwardRef(
6058
6461
  ] })
6059
6462
  );
6060
6463
  ProposalCard.displayName = "ProposalCard";
6061
- var DotRating = React24__namespace.forwardRef(
6464
+ var DotRating = React25__namespace.forwardRef(
6062
6465
  ({ value, max = 3, onChange, readOnly, label, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
6063
6466
  "div",
6064
6467
  {
@@ -6103,7 +6506,7 @@ var DotRating = React24__namespace.forwardRef(
6103
6506
  )
6104
6507
  );
6105
6508
  DotRating.displayName = "DotRating";
6106
- var RatingControl = React24__namespace.forwardRef(
6509
+ var RatingControl = React25__namespace.forwardRef(
6107
6510
  ({
6108
6511
  verdict,
6109
6512
  onVerdictChange,
@@ -6160,7 +6563,7 @@ var RatingControl = React24__namespace.forwardRef(
6160
6563
  )
6161
6564
  );
6162
6565
  RatingControl.displayName = "RatingControl";
6163
- var RecordHeader = React24__namespace.forwardRef(
6566
+ var RecordHeader = React25__namespace.forwardRef(
6164
6567
  ({ tone, crumbs, chips, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6165
6568
  "div",
6166
6569
  {
@@ -6174,7 +6577,7 @@ var RecordHeader = React24__namespace.forwardRef(
6174
6577
  tone ? /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { tone, size: "lg" }) : null,
6175
6578
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-1.5", children: crumbs.map((crumb, i) => {
6176
6579
  const last = i === crumbs.length - 1;
6177
- return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
6580
+ return /* @__PURE__ */ jsxRuntime.jsxs(React25__namespace.Fragment, { children: [
6178
6581
  i > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
6179
6582
  lucideReact.ChevronRight,
6180
6583
  {
@@ -6186,8 +6589,13 @@ var RecordHeader = React24__namespace.forwardRef(
6186
6589
  "span",
6187
6590
  {
6188
6591
  className: cn(
6189
- "min-w-0 truncate font-mono",
6190
- last ? "text-base font-semibold text-foreground" : "text-muted-foreground"
6592
+ "truncate font-mono",
6593
+ // The **last** crumb gives way first. It is the record's own
6594
+ // name and the longest of them, and the reader is already on
6595
+ // it; the parents are what say *which dashboard this is*, and
6596
+ // at four characters `runs` truncated to `ru…` leaves the one
6597
+ // question a crumb trail exists to answer unanswered.
6598
+ last ? "min-w-[6ch] shrink-[999] text-base font-semibold text-foreground" : "min-w-[3ch] text-muted-foreground"
6191
6599
  ),
6192
6600
  children: crumb
6193
6601
  }
@@ -6201,7 +6609,55 @@ var RecordHeader = React24__namespace.forwardRef(
6201
6609
  )
6202
6610
  );
6203
6611
  RecordHeader.displayName = "RecordHeader";
6204
- var RepairNote = React24__namespace.forwardRef(
6612
+ var RecordPager = React25__namespace.forwardRef(
6613
+ ({
6614
+ position,
6615
+ onPrevious,
6616
+ onNext,
6617
+ previousLabel = "Previous",
6618
+ nextLabel = "Next",
6619
+ className,
6620
+ ...props
6621
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6622
+ "div",
6623
+ {
6624
+ ref,
6625
+ className: cn("flex items-center gap-1.5", className),
6626
+ ...props,
6627
+ children: [
6628
+ position != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: position }) : null,
6629
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center", children: [
6630
+ /* @__PURE__ */ jsxRuntime.jsx(
6631
+ Button,
6632
+ {
6633
+ type: "button",
6634
+ variant: "ghost",
6635
+ size: "icon-xs",
6636
+ "aria-label": previousLabel,
6637
+ disabled: !onPrevious,
6638
+ onClick: onPrevious,
6639
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { "aria-hidden": true })
6640
+ }
6641
+ ),
6642
+ /* @__PURE__ */ jsxRuntime.jsx(
6643
+ Button,
6644
+ {
6645
+ type: "button",
6646
+ variant: "ghost",
6647
+ size: "icon-xs",
6648
+ "aria-label": nextLabel,
6649
+ disabled: !onNext,
6650
+ onClick: onNext,
6651
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { "aria-hidden": true })
6652
+ }
6653
+ )
6654
+ ] })
6655
+ ]
6656
+ }
6657
+ )
6658
+ );
6659
+ RecordPager.displayName = "RecordPager";
6660
+ var RepairNote = React25__namespace.forwardRef(
6205
6661
  ({ from, to, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6206
6662
  "div",
6207
6663
  {
@@ -6220,7 +6676,7 @@ var RepairNote = React24__namespace.forwardRef(
6220
6676
  )
6221
6677
  );
6222
6678
  RepairNote.displayName = "RepairNote";
6223
- var RetryNote = React24__namespace.forwardRef(
6679
+ var RetryNote = React25__namespace.forwardRef(
6224
6680
  ({ attempt, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6225
6681
  "div",
6226
6682
  {
@@ -6387,7 +6843,7 @@ function describeSlice(select, declared) {
6387
6843
  }
6388
6844
  return out;
6389
6845
  }
6390
- var SliceSummary = React24__namespace.forwardRef(
6846
+ var SliceSummary = React25__namespace.forwardRef(
6391
6847
  ({ select, declaredAxes, modelLabel, variant = "line", className, ...props }, ref) => {
6392
6848
  const lines = select ? describeSlice(select, declaredAxes) : [];
6393
6849
  if (!lines.length) {
@@ -6434,7 +6890,7 @@ var SliceSummary = React24__namespace.forwardRef(
6434
6890
  }
6435
6891
  );
6436
6892
  SliceSummary.displayName = "SliceSummary";
6437
- var RuleRow = React24__namespace.forwardRef(
6893
+ var RuleRow = React25__namespace.forwardRef(
6438
6894
  ({ match, allow, properties, select, egress, readOnly, className, ...props }, ref) => {
6439
6895
  const excluded = properties?.exclude ?? [];
6440
6896
  const sends = egress?.may_send ?? [];
@@ -6492,6 +6948,111 @@ var RuleRow = React24__namespace.forwardRef(
6492
6948
  }
6493
6949
  );
6494
6950
  RuleRow.displayName = "RuleRow";
6951
+ var TONE6 = {
6952
+ queued: "queued",
6953
+ running: "running",
6954
+ succeeded: "success",
6955
+ failed: "error",
6956
+ cancelled: "muted",
6957
+ cannot_answer: "warning",
6958
+ awaiting_approval: "warning",
6959
+ skipped: "muted",
6960
+ held: "muted",
6961
+ purged: "muted"
6962
+ };
6963
+ var TEXT = {
6964
+ running: "text-info",
6965
+ success: "text-success",
6966
+ warning: "text-warning",
6967
+ error: "text-destructive",
6968
+ info: "text-info",
6969
+ queued: "text-muted-foreground",
6970
+ muted: "text-muted-foreground"
6971
+ };
6972
+ var RunStatusText = React25__namespace.forwardRef(({ status, tone, dot, label, className, ...props }, ref) => {
6973
+ const resolved = tone ?? TONE6[status] ?? "muted";
6974
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6975
+ "span",
6976
+ {
6977
+ ref,
6978
+ className: cn(
6979
+ "inline-flex min-w-0 items-center gap-1.5",
6980
+ TEXT[resolved],
6981
+ className
6982
+ ),
6983
+ ...props,
6984
+ children: [
6985
+ dot ? /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { tone: resolved }) : null,
6986
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: label ?? status })
6987
+ ]
6988
+ }
6989
+ );
6990
+ });
6991
+ RunStatusText.displayName = "RunStatusText";
6992
+ var RunRow = React25__namespace.forwardRef(
6993
+ ({
6994
+ status,
6995
+ tone,
6996
+ kind,
6997
+ address,
6998
+ title,
6999
+ meta,
7000
+ aside,
7001
+ depth = 0,
7002
+ selected,
7003
+ onSelect,
7004
+ className,
7005
+ ...props
7006
+ }, ref) => {
7007
+ const Row = onSelect ? "button" : "div";
7008
+ return /* @__PURE__ */ jsxRuntime.jsx(
7009
+ "div",
7010
+ {
7011
+ ref,
7012
+ className: cn(
7013
+ "border-b border-border/55",
7014
+ selected && "bg-accent shadow-[inset_2px_0_0_var(--color-primary)]",
7015
+ className
7016
+ ),
7017
+ ...props,
7018
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
7019
+ Row,
7020
+ {
7021
+ type: onSelect ? "button" : void 0,
7022
+ onClick: onSelect,
7023
+ "aria-current": onSelect && selected ? "true" : void 0,
7024
+ style: { paddingLeft: 12 + depth * 18 },
7025
+ className: cn(
7026
+ "flex w-full items-start gap-2 py-1.5 pr-3 text-left",
7027
+ onSelect && "cursor-pointer hover:bg-accent/60 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring"
7028
+ ),
7029
+ children: [
7030
+ /* @__PURE__ */ jsxRuntime.jsx(
7031
+ StatusDot,
7032
+ {
7033
+ tone: tone ?? TONE6[status] ?? "muted",
7034
+ size: "md",
7035
+ className: "mt-1.5",
7036
+ label: typeof status === "string" ? status : void 0
7037
+ }
7038
+ ),
7039
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-1 flex-col", children: [
7040
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
7041
+ kind ? /* @__PURE__ */ jsxRuntime.jsx(KindChip, { kind }) : null,
7042
+ address != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono", children: address }) : null,
7043
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: title })
7044
+ ] }),
7045
+ meta != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm text-muted-foreground", children: meta }) : null
7046
+ ] }),
7047
+ aside != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 pt-0.5 text-sm text-muted-foreground", children: aside }) : null
7048
+ ]
7049
+ }
7050
+ )
7051
+ }
7052
+ );
7053
+ }
7054
+ );
7055
+ RunRow.displayName = "RunRow";
6495
7056
  var SearchInput = ({
6496
7057
  value,
6497
7058
  onChange,
@@ -6518,7 +7079,7 @@ var SearchInput = ({
6518
7079
  }
6519
7080
  );
6520
7081
  };
6521
- var SectionHeader = React24__namespace.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7082
+ var SectionHeader = React25__namespace.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6522
7083
  "div",
6523
7084
  {
6524
7085
  ref,
@@ -6537,7 +7098,7 @@ var SectionHeader = React24__namespace.forwardRef(({ icon, title, count, actions
6537
7098
  }
6538
7099
  ));
6539
7100
  SectionHeader.displayName = "SectionHeader";
6540
- var Sparkline = React24__namespace.forwardRef(
7101
+ var Sparkline = React25__namespace.forwardRef(
6541
7102
  ({
6542
7103
  values,
6543
7104
  width = 72,
@@ -6624,7 +7185,7 @@ function TabbedPanel({
6624
7185
  footerClassName,
6625
7186
  footerContent
6626
7187
  }) {
6627
- const [internalTab, setInternalTab] = React24__namespace.default.useState(defaultTab || tabs[0]?.value);
7188
+ const [internalTab, setInternalTab] = React25__namespace.default.useState(defaultTab || tabs[0]?.value);
6628
7189
  const currentTab = activeTab !== void 0 ? activeTab : internalTab;
6629
7190
  const handleTabChange = (value) => {
6630
7191
  if (activeTab === void 0) {
@@ -6632,9 +7193,9 @@ function TabbedPanel({
6632
7193
  }
6633
7194
  onTabChange?.(value);
6634
7195
  };
6635
- const uid = React24__namespace.default.useId();
7196
+ const uid = React25__namespace.default.useId();
6636
7197
  const panelId = (value) => `${uid}-panel-${value}`;
6637
- const items = React24__namespace.default.useMemo(
7198
+ const items = React25__namespace.default.useMemo(
6638
7199
  () => tabs.map((tab) => ({
6639
7200
  key: tab.value,
6640
7201
  name: tab.name ?? (typeof tab.label === "string" ? tab.label : tab.value),
@@ -6720,7 +7281,7 @@ var STATUS_LABEL = {
6720
7281
  };
6721
7282
  function renderResult(result) {
6722
7283
  if (result == null) return null;
6723
- if (React24__namespace.isValidElement(result)) return result;
7284
+ if (React25__namespace.isValidElement(result)) return result;
6724
7285
  if (typeof result !== "object") {
6725
7286
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-sm", children: String(result) });
6726
7287
  }
@@ -6735,7 +7296,7 @@ function renderResult(result) {
6735
7296
  ] }, k))
6736
7297
  ] });
6737
7298
  }
6738
- var TaskGanttDetailCard = React24__namespace.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
7299
+ var TaskGanttDetailCard = React25__namespace.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
6739
7300
  const status = task.status ?? "succeeded";
6740
7301
  const ms = task.durationMs ?? elapsedMs;
6741
7302
  const duration = task.duration ?? (ms != null ? formatDuration(ms) : "\u2014");
@@ -6801,7 +7362,7 @@ function place(seg, origin) {
6801
7362
  }
6802
7363
  return { start, duration: duration != null && duration > 0 ? duration : 0 };
6803
7364
  }
6804
- var TaskGantt = React24__namespace.forwardRef(
7365
+ var TaskGantt = React25__namespace.forwardRef(
6805
7366
  ({
6806
7367
  tasks,
6807
7368
  origin,
@@ -6823,7 +7384,7 @@ var TaskGantt = React24__namespace.forwardRef(
6823
7384
  }, ref) => {
6824
7385
  const barHeight = density === "compact" ? 11 : 13;
6825
7386
  const durationWidth = 40;
6826
- const rows = React24__namespace.useMemo(() => {
7387
+ const rows = React25__namespace.useMemo(() => {
6827
7388
  const stamps = [];
6828
7389
  for (const t of [...tasks, ...tasks.flatMap((t2) => t2.attempts ?? [])]) {
6829
7390
  if (t.startedAt != null) stamps.push(toMs(t.startedAt));
@@ -6984,7 +7545,7 @@ var TaskGantt = React24__namespace.forwardRef(
6984
7545
  }
6985
7546
  );
6986
7547
  TaskGantt.displayName = "TaskGantt";
6987
- var TaskNode = React24__namespace.forwardRef(
7548
+ var TaskNode = React25__namespace.forwardRef(
6988
7549
  ({
6989
7550
  taskKey,
6990
7551
  bound,
@@ -6994,6 +7555,7 @@ var TaskNode = React24__namespace.forwardRef(
6994
7555
  tags,
6995
7556
  meta,
6996
7557
  selected,
7558
+ readOnly,
6997
7559
  gate,
6998
7560
  dim,
6999
7561
  ghost,
@@ -7033,7 +7595,7 @@ var TaskNode = React24__namespace.forwardRef(
7033
7595
  ),
7034
7596
  ...props,
7035
7597
  children: [
7036
- selected ? ["-left-1 -top-1", "-right-1 -top-1", "-bottom-1 -left-1", "-bottom-1 -right-1"].map(
7598
+ selected && !readOnly ? ["-left-1 -top-1", "-right-1 -top-1", "-bottom-1 -left-1", "-bottom-1 -right-1"].map(
7037
7599
  (pos) => /* @__PURE__ */ jsxRuntime.jsx(
7038
7600
  "span",
7039
7601
  {
@@ -7077,7 +7639,7 @@ var TaskNode = React24__namespace.forwardRef(
7077
7639
  }
7078
7640
  );
7079
7641
  TaskNode.displayName = "TaskNode";
7080
- var TemplatePicker = React24__namespace.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7642
+ var TemplatePicker = React25__namespace.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7081
7643
  "div",
7082
7644
  {
7083
7645
  ref,
@@ -7128,7 +7690,7 @@ var MARKER = {
7128
7690
  output: "\u2192",
7129
7691
  comment: "#"
7130
7692
  };
7131
- var Terminal = React24__namespace.forwardRef(
7693
+ var Terminal = React25__namespace.forwardRef(
7132
7694
  ({ cursor, columnTemplate = "150px minmax(0,1fr) auto auto", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7133
7695
  "div",
7134
7696
  {
@@ -7153,7 +7715,7 @@ var Terminal = React24__namespace.forwardRef(
7153
7715
  )
7154
7716
  );
7155
7717
  Terminal.displayName = "Terminal";
7156
- var TerminalLine = React24__namespace.forwardRef(
7718
+ var TerminalLine = React25__namespace.forwardRef(
7157
7719
  ({ kind = "output", level, levelColumn = 1, columns, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7158
7720
  "div",
7159
7721
  {
@@ -7195,10 +7757,10 @@ var TerminalLine = React24__namespace.forwardRef(
7195
7757
  )
7196
7758
  );
7197
7759
  TerminalLine.displayName = "TerminalLine";
7198
- var TimelineVariantContext = React24__namespace.createContext("columns");
7760
+ var TimelineVariantContext = React25__namespace.createContext("columns");
7199
7761
  var RAIL_MARKER_OFFSET = "h-[0.692rem]";
7200
7762
  var RAIL_FOOTER_TAIL = "h-[1.067rem]";
7201
- var TimelineList = React24__namespace.forwardRef(({ className, variant = "columns", children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TimelineVariantContext.Provider, { value: variant, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { ref, className: cn("flex flex-col", className), ...props, children }) }));
7763
+ var TimelineList = React25__namespace.forwardRef(({ className, variant = "columns", children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TimelineVariantContext.Provider, { value: variant, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { ref, className: cn("flex flex-col", className), ...props, children }) }));
7202
7764
  TimelineList.displayName = "TimelineList";
7203
7765
  function RailGutter({ marker }) {
7204
7766
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-2.5 shrink-0 flex-col items-center", children: [
@@ -7222,8 +7784,8 @@ function RailGutter({ marker }) {
7222
7784
  )
7223
7785
  ] });
7224
7786
  }
7225
- var TimelineEntry = React24__namespace.forwardRef(({ when, title, marker, className, children, ...props }, ref) => {
7226
- const variant = React24__namespace.useContext(TimelineVariantContext);
7787
+ var TimelineEntry = React25__namespace.forwardRef(({ when, title, marker, className, children, ...props }, ref) => {
7788
+ const variant = React25__namespace.useContext(TimelineVariantContext);
7227
7789
  if (variant === "rail") {
7228
7790
  return /* @__PURE__ */ jsxRuntime.jsxs(
7229
7791
  "li",
@@ -7262,8 +7824,8 @@ var TimelineEntry = React24__namespace.forwardRef(({ when, title, marker, classN
7262
7824
  );
7263
7825
  });
7264
7826
  TimelineEntry.displayName = "TimelineEntry";
7265
- var TimelineFooter = React24__namespace.forwardRef(({ className, children, ...props }, ref) => {
7266
- const variant = React24__namespace.useContext(TimelineVariantContext);
7827
+ var TimelineFooter = React25__namespace.forwardRef(({ className, children, ...props }, ref) => {
7828
+ const variant = React25__namespace.useContext(TimelineVariantContext);
7267
7829
  if (variant === "rail") {
7268
7830
  return /* @__PURE__ */ jsxRuntime.jsxs(
7269
7831
  "li",
@@ -7300,6 +7862,66 @@ var Toolbar = () => {
7300
7862
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Source" })
7301
7863
  ] });
7302
7864
  };
7865
+ var TouchStrip = React25__namespace.forwardRef(
7866
+ ({ items, palette, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
7867
+ "div",
7868
+ {
7869
+ ref,
7870
+ role: "list",
7871
+ className: cn("flex flex-wrap gap-2", className),
7872
+ ...props,
7873
+ children: items.map((item) => {
7874
+ const paint = layerPaint(palette, item.layer);
7875
+ return /* @__PURE__ */ jsxRuntime.jsxs(
7876
+ "div",
7877
+ {
7878
+ role: "listitem",
7879
+ className: cn(
7880
+ "flex min-w-0 flex-1 flex-col gap-px rounded-control border border-border bg-card px-2 py-1",
7881
+ item.dim && "opacity-55"
7882
+ ),
7883
+ children: [
7884
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
7885
+ /* @__PURE__ */ jsxRuntime.jsx(
7886
+ "span",
7887
+ {
7888
+ "aria-hidden": true,
7889
+ className: cn(
7890
+ "size-1.5 shrink-0 rounded-full",
7891
+ item.dim ? "bg-muted-foreground" : paint.swatch
7892
+ )
7893
+ }
7894
+ ),
7895
+ /* @__PURE__ */ jsxRuntime.jsx(
7896
+ "span",
7897
+ {
7898
+ className: cn(
7899
+ "min-w-0 truncate",
7900
+ item.dim && "text-muted-foreground"
7901
+ ),
7902
+ children: item.label ?? layerLabel(item.layer)
7903
+ }
7904
+ )
7905
+ ] }),
7906
+ item.note != null ? /* @__PURE__ */ jsxRuntime.jsx(
7907
+ "span",
7908
+ {
7909
+ className: cn(
7910
+ "truncate font-mono text-xs text-muted-foreground",
7911
+ item.refused && "line-through"
7912
+ ),
7913
+ children: item.note
7914
+ }
7915
+ ) : null
7916
+ ]
7917
+ },
7918
+ String(item.layer)
7919
+ );
7920
+ })
7921
+ }
7922
+ )
7923
+ );
7924
+ TouchStrip.displayName = "TouchStrip";
7303
7925
  function useTour(options) {
7304
7926
  const {
7305
7927
  steps,
@@ -7309,11 +7931,11 @@ function useTour(options) {
7309
7931
  onComplete,
7310
7932
  onExit
7311
7933
  } = options;
7312
- const [current, setCurrent] = React24__namespace.useState(initialStep);
7934
+ const [current, setCurrent] = React25__namespace.useState(initialStep);
7313
7935
  const total = steps.length;
7314
7936
  const lastIndex = Math.max(total - 1, 0);
7315
7937
  const clamped = Math.min(Math.max(current, 0), lastIndex);
7316
- const goTo = React24__namespace.useCallback(
7938
+ const goTo = React25__namespace.useCallback(
7317
7939
  (index) => {
7318
7940
  setCurrent((prev2) => {
7319
7941
  const next2 = Math.min(Math.max(index, 0), lastIndex);
@@ -7323,7 +7945,7 @@ function useTour(options) {
7323
7945
  },
7324
7946
  [lastIndex, onStepChange]
7325
7947
  );
7326
- const next = React24__namespace.useCallback(() => {
7948
+ const next = React25__namespace.useCallback(() => {
7327
7949
  setCurrent((prev2) => {
7328
7950
  if (prev2 >= lastIndex) {
7329
7951
  if (loop && total > 0) {
@@ -7337,7 +7959,7 @@ function useTour(options) {
7337
7959
  return prev2 + 1;
7338
7960
  });
7339
7961
  }, [lastIndex, total, loop, onComplete, onStepChange]);
7340
- const prev = React24__namespace.useCallback(() => {
7962
+ const prev = React25__namespace.useCallback(() => {
7341
7963
  setCurrent((p) => {
7342
7964
  if (p <= 0) {
7343
7965
  if (loop && total > 0) {
@@ -7350,10 +7972,10 @@ function useTour(options) {
7350
7972
  return p - 1;
7351
7973
  });
7352
7974
  }, [lastIndex, total, loop, onStepChange]);
7353
- const exit = React24__namespace.useCallback(() => {
7975
+ const exit = React25__namespace.useCallback(() => {
7354
7976
  onExit?.();
7355
7977
  }, [onExit]);
7356
- return React24__namespace.useMemo(
7978
+ return React25__namespace.useMemo(
7357
7979
  () => ({
7358
7980
  step: steps[clamped],
7359
7981
  current: clamped,
@@ -7515,8 +8137,222 @@ function Tour({
7515
8137
  }
7516
8138
  ) });
7517
8139
  }
8140
+ var TraceList = React25__namespace.forwardRef(
8141
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
8142
+ "div",
8143
+ {
8144
+ ref,
8145
+ role: "list",
8146
+ className: cn("flex flex-col [&>*:first-child]:border-t-0", className),
8147
+ ...props,
8148
+ children
8149
+ }
8150
+ )
8151
+ );
8152
+ TraceList.displayName = "TraceList";
8153
+ var TraceStep = React25__namespace.forwardRef(
8154
+ ({
8155
+ seq,
8156
+ name,
8157
+ description,
8158
+ layer,
8159
+ role,
8160
+ duration,
8161
+ note,
8162
+ mark,
8163
+ palette,
8164
+ depth = 0,
8165
+ dim,
8166
+ struck,
8167
+ selected,
8168
+ onSelect,
8169
+ className,
8170
+ ...props
8171
+ }, ref) => {
8172
+ const paint = layer ? layerPaint(palette, layer) : void 0;
8173
+ const Row = onSelect ? "button" : "div";
8174
+ return /* @__PURE__ */ jsxRuntime.jsxs(
8175
+ "div",
8176
+ {
8177
+ ref,
8178
+ role: "listitem",
8179
+ className: cn(
8180
+ "flex min-h-[46px] items-stretch border-t border-border/55",
8181
+ selected && "bg-accent shadow-[inset_2px_0_0_var(--color-primary)]",
8182
+ dim && "opacity-50",
8183
+ className
8184
+ ),
8185
+ ...props,
8186
+ children: [
8187
+ /* @__PURE__ */ jsxRuntime.jsx(
8188
+ "span",
8189
+ {
8190
+ "aria-hidden": true,
8191
+ className: cn(
8192
+ "w-[3px] shrink-0",
8193
+ struck ? "bg-destructive" : paint?.swatch ?? "bg-muted-foreground"
8194
+ )
8195
+ }
8196
+ ),
8197
+ /* @__PURE__ */ jsxRuntime.jsxs(
8198
+ Row,
8199
+ {
8200
+ type: onSelect ? "button" : void 0,
8201
+ onClick: onSelect,
8202
+ className: cn(
8203
+ "flex min-w-0 flex-1 items-center gap-2 pr-3 text-left",
8204
+ onSelect && "cursor-pointer hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring"
8205
+ ),
8206
+ children: [
8207
+ /* @__PURE__ */ jsxRuntime.jsx(
8208
+ "span",
8209
+ {
8210
+ style: { width: 26 + depth * 18 },
8211
+ className: "shrink-0 text-right font-mono text-xs text-muted-foreground",
8212
+ children: seq
8213
+ }
8214
+ ),
8215
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-1 flex-col gap-px py-1.5 pl-2", children: [
8216
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-1.5", children: [
8217
+ /* @__PURE__ */ jsxRuntime.jsx(
8218
+ "span",
8219
+ {
8220
+ className: cn(
8221
+ "min-w-0 truncate font-mono font-semibold",
8222
+ struck && "text-destructive line-through"
8223
+ ),
8224
+ children: name
8225
+ }
8226
+ ),
8227
+ mark
8228
+ ] }),
8229
+ description != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm text-muted-foreground", children: description }) : null
8230
+ ] }),
8231
+ layer != null ? (
8232
+ // The layer is never the part that gives way: it is one of six short
8233
+ // words and it is what the row is *about*. The role is the longer,
8234
+ // subordinate string, so it truncates first.
8235
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-[10.5rem] shrink-0 items-center justify-end gap-1.5", children: [
8236
+ /* @__PURE__ */ jsxRuntime.jsx(
8237
+ "span",
8238
+ {
8239
+ "aria-hidden": true,
8240
+ className: cn(
8241
+ "size-1.5 shrink-0 rounded-full",
8242
+ dim ? "bg-muted-foreground" : paint?.swatch
8243
+ )
8244
+ }
8245
+ ),
8246
+ /* @__PURE__ */ jsxRuntime.jsx(
8247
+ "span",
8248
+ {
8249
+ className: cn(
8250
+ "shrink-0 text-sm whitespace-nowrap",
8251
+ dim && "text-muted-foreground"
8252
+ ),
8253
+ children: layerLabel(layer)
8254
+ }
8255
+ ),
8256
+ role != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate font-mono text-xs text-muted-foreground", children: role }) : null
8257
+ ] })
8258
+ ) : null,
8259
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-[6rem] shrink-0 flex-col items-end", children: [
8260
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-sm", children: duration }),
8261
+ note != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: note }) : null
8262
+ ] })
8263
+ ]
8264
+ }
8265
+ )
8266
+ ]
8267
+ }
8268
+ );
8269
+ }
8270
+ );
8271
+ TraceStep.displayName = "TraceStep";
8272
+ var LOOP_TONE = {
8273
+ warning: { box: "border-l-warning bg-warning/5", label: "text-warning" },
8274
+ info: { box: "border-l-info bg-info/5", label: "text-info" },
8275
+ muted: { box: "border-l-muted-foreground bg-muted/40", label: "text-muted-foreground" }
8276
+ };
8277
+ var TraceLoop = React25__namespace.forwardRef(
8278
+ ({ label, summary, tone = "warning", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
8279
+ "div",
8280
+ {
8281
+ ref,
8282
+ role: "group",
8283
+ "aria-label": typeof label === "string" ? label : void 0,
8284
+ className: cn("border-l-2", LOOP_TONE[tone].box, className),
8285
+ ...props,
8286
+ children: [
8287
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-[25px] items-center gap-2 border-t border-border/55 px-3", children: [
8288
+ /* @__PURE__ */ jsxRuntime.jsx(
8289
+ "span",
8290
+ {
8291
+ className: cn(
8292
+ "truncate font-mono text-xs font-semibold",
8293
+ LOOP_TONE[tone].label
8294
+ ),
8295
+ children: label
8296
+ }
8297
+ ),
8298
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
8299
+ summary != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: summary }) : null
8300
+ ] }),
8301
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "[&>*:first-child]:border-t-0", children })
8302
+ ]
8303
+ }
8304
+ )
8305
+ );
8306
+ TraceLoop.displayName = "TraceLoop";
8307
+ var GATE_TONE = {
8308
+ destructive: "border-destructive text-destructive",
8309
+ warning: "border-warning text-warning",
8310
+ muted: "border-muted-foreground text-muted-foreground"
8311
+ };
8312
+ var TraceGate = React25__namespace.forwardRef(
8313
+ ({ label, note, tone = "destructive", edge = "before", className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
8314
+ "div",
8315
+ {
8316
+ ref,
8317
+ role: "separator",
8318
+ "aria-label": typeof label === "string" ? label : void 0,
8319
+ className: cn("relative flex h-[38px] items-center", className),
8320
+ ...props,
8321
+ children: [
8322
+ /* @__PURE__ */ jsxRuntime.jsx(
8323
+ "span",
8324
+ {
8325
+ "aria-hidden": true,
8326
+ className: cn(
8327
+ "absolute inset-x-0 border-t-2",
8328
+ GATE_TONE[tone],
8329
+ edge === "before" ? "top-[18px]" : "bottom-[18px]"
8330
+ )
8331
+ }
8332
+ ),
8333
+ /* @__PURE__ */ jsxRuntime.jsxs(
8334
+ "span",
8335
+ {
8336
+ className: cn(
8337
+ "relative ml-8 flex items-center gap-2 rounded-control border bg-card px-2 py-0.5",
8338
+ GATE_TONE[tone]
8339
+ ),
8340
+ children: [
8341
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-mono text-xs font-semibold whitespace-nowrap", children: [
8342
+ "\u25C8 ",
8343
+ label
8344
+ ] }),
8345
+ note != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-xs text-muted-foreground", children: note }) : null
8346
+ ]
8347
+ }
8348
+ )
8349
+ ]
8350
+ }
8351
+ )
8352
+ );
8353
+ TraceGate.displayName = "TraceGate";
7518
8354
  var TreeView = ({ searchable = false, ...props }) => {
7519
- const [searchQuery, setSearchQuery] = React24__namespace.useState("");
8355
+ const [searchQuery, setSearchQuery] = React25__namespace.useState("");
7520
8356
  const filterItems = (items, query) => {
7521
8357
  if (!query) return items;
7522
8358
  return items.map((item) => ({
@@ -7539,7 +8375,7 @@ var TreeView = ({ searchable = false, ...props }) => {
7539
8375
  );
7540
8376
  };
7541
8377
  var TreeItem = ({ item }) => {
7542
- const [isExpanded, setIsExpanded] = React24__namespace.useState(item.isExpanded || true);
8378
+ const [isExpanded, setIsExpanded] = React25__namespace.useState(item.isExpanded || true);
7543
8379
  const hasChildren = item.children && item.children.length > 0;
7544
8380
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
7545
8381
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -7608,7 +8444,7 @@ function UnderDevelopment({
7608
8444
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-4 px-3 py-1 bg-yellow-100 text-yellow-800", children: "Coming Soon" })
7609
8445
  ] });
7610
8446
  }
7611
- var TypographyH1 = React24__namespace.forwardRef(
8447
+ var TypographyH1 = React25__namespace.forwardRef(
7612
8448
  ({ className, ...props }, ref) => {
7613
8449
  return /* @__PURE__ */ jsxRuntime.jsx(
7614
8450
  "h1",
@@ -7624,7 +8460,7 @@ var TypographyH1 = React24__namespace.forwardRef(
7624
8460
  }
7625
8461
  );
7626
8462
  TypographyH1.displayName = "TypographyH1";
7627
- var TypographyH2 = React24__namespace.forwardRef(
8463
+ var TypographyH2 = React25__namespace.forwardRef(
7628
8464
  ({ className, ...props }, ref) => {
7629
8465
  return /* @__PURE__ */ jsxRuntime.jsx(
7630
8466
  "h2",
@@ -7640,7 +8476,7 @@ var TypographyH2 = React24__namespace.forwardRef(
7640
8476
  }
7641
8477
  );
7642
8478
  TypographyH2.displayName = "TypographyH2";
7643
- var TypographyH3 = React24__namespace.forwardRef(
8479
+ var TypographyH3 = React25__namespace.forwardRef(
7644
8480
  ({ className, ...props }, ref) => {
7645
8481
  return /* @__PURE__ */ jsxRuntime.jsx(
7646
8482
  "h3",
@@ -7656,7 +8492,7 @@ var TypographyH3 = React24__namespace.forwardRef(
7656
8492
  }
7657
8493
  );
7658
8494
  TypographyH3.displayName = "TypographyH3";
7659
- var TypographyH4 = React24__namespace.forwardRef(
8495
+ var TypographyH4 = React25__namespace.forwardRef(
7660
8496
  ({ className, ...props }, ref) => {
7661
8497
  return /* @__PURE__ */ jsxRuntime.jsx(
7662
8498
  "h4",
@@ -7672,7 +8508,7 @@ var TypographyH4 = React24__namespace.forwardRef(
7672
8508
  }
7673
8509
  );
7674
8510
  TypographyH4.displayName = "TypographyH4";
7675
- var TypographyH5 = React24__namespace.forwardRef(
8511
+ var TypographyH5 = React25__namespace.forwardRef(
7676
8512
  ({ className, ...props }, ref) => {
7677
8513
  return /* @__PURE__ */ jsxRuntime.jsx(
7678
8514
  "h5",
@@ -7688,7 +8524,7 @@ var TypographyH5 = React24__namespace.forwardRef(
7688
8524
  }
7689
8525
  );
7690
8526
  TypographyH5.displayName = "TypographyH5";
7691
- var TypographyH6 = React24__namespace.forwardRef(
8527
+ var TypographyH6 = React25__namespace.forwardRef(
7692
8528
  ({ className, ...props }, ref) => {
7693
8529
  return /* @__PURE__ */ jsxRuntime.jsx(
7694
8530
  "h6",
@@ -7704,7 +8540,7 @@ var TypographyH6 = React24__namespace.forwardRef(
7704
8540
  }
7705
8541
  );
7706
8542
  TypographyH6.displayName = "TypographyH6";
7707
- var TypographyP = React24__namespace.forwardRef(
8543
+ var TypographyP = React25__namespace.forwardRef(
7708
8544
  ({ className, ...props }, ref) => {
7709
8545
  return /* @__PURE__ */ jsxRuntime.jsx(
7710
8546
  "p",
@@ -7720,7 +8556,7 @@ var TypographyP = React24__namespace.forwardRef(
7720
8556
  }
7721
8557
  );
7722
8558
  TypographyP.displayName = "TypographyP";
7723
- var TypographyBlockquote = React24__namespace.forwardRef(
8559
+ var TypographyBlockquote = React25__namespace.forwardRef(
7724
8560
  ({ className, ...props }, ref) => {
7725
8561
  return /* @__PURE__ */ jsxRuntime.jsx(
7726
8562
  "blockquote",
@@ -7736,7 +8572,7 @@ var TypographyBlockquote = React24__namespace.forwardRef(
7736
8572
  }
7737
8573
  );
7738
8574
  TypographyBlockquote.displayName = "TypographyBlockquote";
7739
- var TypographyInlineCode = React24__namespace.forwardRef(
8575
+ var TypographyInlineCode = React25__namespace.forwardRef(
7740
8576
  ({ className, ...props }, ref) => {
7741
8577
  return /* @__PURE__ */ jsxRuntime.jsx(
7742
8578
  "code",
@@ -7752,7 +8588,7 @@ var TypographyInlineCode = React24__namespace.forwardRef(
7752
8588
  }
7753
8589
  );
7754
8590
  TypographyInlineCode.displayName = "TypographyInlineCode";
7755
- var TypographyLead = React24__namespace.forwardRef(
8591
+ var TypographyLead = React25__namespace.forwardRef(
7756
8592
  ({ className, ...props }, ref) => {
7757
8593
  return /* @__PURE__ */ jsxRuntime.jsx(
7758
8594
  "p",
@@ -7768,7 +8604,7 @@ var TypographyLead = React24__namespace.forwardRef(
7768
8604
  }
7769
8605
  );
7770
8606
  TypographyLead.displayName = "TypographyLead";
7771
- var TypographyLarge = React24__namespace.forwardRef(
8607
+ var TypographyLarge = React25__namespace.forwardRef(
7772
8608
  ({ className, ...props }, ref) => {
7773
8609
  return /* @__PURE__ */ jsxRuntime.jsx(
7774
8610
  "div",
@@ -7784,7 +8620,7 @@ var TypographyLarge = React24__namespace.forwardRef(
7784
8620
  }
7785
8621
  );
7786
8622
  TypographyLarge.displayName = "TypographyLarge";
7787
- var TypographySmall = React24__namespace.forwardRef(
8623
+ var TypographySmall = React25__namespace.forwardRef(
7788
8624
  ({ className, ...props }, ref) => {
7789
8625
  return /* @__PURE__ */ jsxRuntime.jsx(
7790
8626
  "small",
@@ -7800,7 +8636,7 @@ var TypographySmall = React24__namespace.forwardRef(
7800
8636
  }
7801
8637
  );
7802
8638
  TypographySmall.displayName = "TypographySmall";
7803
- var TypographyMuted = React24__namespace.forwardRef(
8639
+ var TypographyMuted = React25__namespace.forwardRef(
7804
8640
  ({ className, ...props }, ref) => {
7805
8641
  return /* @__PURE__ */ jsxRuntime.jsx(
7806
8642
  "p",
@@ -7816,7 +8652,7 @@ var TypographyMuted = React24__namespace.forwardRef(
7816
8652
  }
7817
8653
  );
7818
8654
  TypographyMuted.displayName = "TypographyMuted";
7819
- var TypographyList = React24__namespace.forwardRef(
8655
+ var TypographyList = React25__namespace.forwardRef(
7820
8656
  ({ className, ...props }, ref) => {
7821
8657
  return /* @__PURE__ */ jsxRuntime.jsx(
7822
8658
  "ul",
@@ -7832,7 +8668,7 @@ var TypographyList = React24__namespace.forwardRef(
7832
8668
  }
7833
8669
  );
7834
8670
  TypographyList.displayName = "TypographyList";
7835
- var TypographyPre = React24__namespace.forwardRef(
8671
+ var TypographyPre = React25__namespace.forwardRef(
7836
8672
  ({ className, ...props }, ref) => {
7837
8673
  return /* @__PURE__ */ jsxRuntime.jsx(
7838
8674
  "pre",
@@ -7868,6 +8704,7 @@ var Typography = {
7868
8704
  Pre: TypographyPre
7869
8705
  };
7870
8706
 
8707
+ exports.AbsenceNote = AbsenceNote;
7871
8708
  exports.Accordion = Accordion;
7872
8709
  exports.AccordionContent = AccordionContent;
7873
8710
  exports.AccordionItem = AccordionItem;
@@ -7889,6 +8726,8 @@ exports.AlertDialogTitle = AlertDialogTitle;
7889
8726
  exports.AlertDialogTrigger = AlertDialogTrigger;
7890
8727
  exports.AlertTitle = AlertTitle;
7891
8728
  exports.AppStatusBar = AppStatusBar;
8729
+ exports.ArtifactTable = ArtifactTable;
8730
+ exports.AttemptClock = AttemptClock;
7892
8731
  exports.Avatar = Avatar;
7893
8732
  exports.AvatarFallback = AvatarFallback;
7894
8733
  exports.AvatarImage = AvatarImage;
@@ -7987,6 +8826,7 @@ exports.EmissionHeader = EmissionHeader;
7987
8826
  exports.EmptyState = EmptyState;
7988
8827
  exports.EmptyStateLock = EmptyStateLock;
7989
8828
  exports.ErrorBoundary = ErrorBoundary;
8829
+ exports.ExchangeRecord = ExchangeRecord;
7990
8830
  exports.Eyebrow = Eyebrow;
7991
8831
  exports.FilterBar = FilterBar;
7992
8832
  exports.FilterChip = FilterChip;
@@ -8006,6 +8846,7 @@ exports.ItemSeparator = ItemSeparator;
8006
8846
  exports.ItemTitle = ItemTitle;
8007
8847
  exports.Kbd = Kbd;
8008
8848
  exports.KbdGroup = KbdGroup;
8849
+ exports.KindChip = KindChip;
8009
8850
  exports.LayerChip = LayerChip;
8010
8851
  exports.LayerSection = LayerSection;
8011
8852
  exports.LayerStrip = LayerStrip;
@@ -8014,6 +8855,7 @@ exports.LegendItem = LegendItem;
8014
8855
  exports.LensChip = LensChip;
8015
8856
  exports.LensRow = LensRow;
8016
8857
  exports.Link = Link;
8858
+ exports.MarkChip = MarkChip;
8017
8859
  exports.MatchPreview = MatchPreview;
8018
8860
  exports.MenuItem = MenuItem;
8019
8861
  exports.Menubar = Menubar;
@@ -8059,6 +8901,7 @@ exports.PaginationPrevious = PaginationPrevious;
8059
8901
  exports.PanelBox = PanelBox;
8060
8902
  exports.PanelContent = PanelContent;
8061
8903
  exports.PanelStack = PanelStack;
8904
+ exports.ParticipantRow = ParticipantRow;
8062
8905
  exports.Popover = Popover;
8063
8906
  exports.PopoverContent = PopoverContent;
8064
8907
  exports.PopoverTrigger = PopoverTrigger;
@@ -8068,6 +8911,7 @@ exports.PropertyRow = PropertyRow;
8068
8911
  exports.ProposalCard = ProposalCard;
8069
8912
  exports.RatingControl = RatingControl;
8070
8913
  exports.RecordHeader = RecordHeader;
8914
+ exports.RecordPager = RecordPager;
8071
8915
  exports.RepairNote = RepairNote;
8072
8916
  exports.ResizableHandle = ResizableHandle;
8073
8917
  exports.ResizablePanel = ResizablePanel;
@@ -8075,10 +8919,13 @@ exports.ResizablePanelGroup = ResizablePanelGroup;
8075
8919
  exports.RetryNote = RetryNote;
8076
8920
  exports.RichSelect = RichSelect;
8077
8921
  exports.RuleRow = RuleRow;
8922
+ exports.RunRow = RunRow;
8923
+ exports.RunStatusText = RunStatusText;
8078
8924
  exports.ScrollArea = ScrollArea;
8079
8925
  exports.ScrollBar = ScrollBar;
8080
8926
  exports.SearchInput = SearchInput;
8081
8927
  exports.SectionHeader = SectionHeader;
8928
+ exports.SegmentedControl = SegmentedControl;
8082
8929
  exports.Separator = Separator;
8083
8930
  exports.Sheet = Sheet;
8084
8931
  exports.SheetClose = SheetClose;
@@ -8149,7 +8996,12 @@ exports.Tooltip = Tooltip;
8149
8996
  exports.TooltipContent = TooltipContent;
8150
8997
  exports.TooltipProvider = TooltipProvider;
8151
8998
  exports.TooltipTrigger = TooltipTrigger;
8999
+ exports.TouchStrip = TouchStrip;
8152
9000
  exports.Tour = Tour;
9001
+ exports.TraceGate = TraceGate;
9002
+ exports.TraceList = TraceList;
9003
+ exports.TraceLoop = TraceLoop;
9004
+ exports.TraceStep = TraceStep;
8153
9005
  exports.TreeItem = TreeItem;
8154
9006
  exports.TreeView = TreeView;
8155
9007
  exports.Typography = Typography;
@@ -8181,6 +9033,7 @@ exports.layerLabel = layerLabel;
8181
9033
  exports.layerPaint = layerPaint;
8182
9034
  exports.linkVariants = linkVariants;
8183
9035
  exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
9036
+ exports.runStatusTones = TONE6;
8184
9037
  exports.splitAddress = split;
8185
9038
  exports.statusDotVariants = statusDotVariants;
8186
9039
  exports.toggleVariants = toggleVariants;