@invana/ui 0.0.29 → 0.0.30

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 React23 = require('react');
5
+ var React24 = 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 React23__namespace = /*#__PURE__*/_interopNamespace(React23);
51
+ var React24__namespace = /*#__PURE__*/_interopNamespace(React24);
52
52
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
53
53
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
54
54
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
@@ -68,18 +68,11 @@ var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespace(TogglePrimitive)
68
68
  var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroupPrimitive);
69
69
 
70
70
  // src/lib/utils.ts
71
- var twMerge = tailwindMerge.extendTailwindMerge({
72
- extend: {
73
- classGroups: {
74
- "font-size": [{ text: ["meta"] }]
75
- }
76
- }
77
- });
78
71
  function cn(...inputs) {
79
- return twMerge(clsx.clsx(inputs));
72
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
80
73
  }
81
74
  var Accordion = AccordionPrimitive__namespace.Root;
82
- var AccordionItem = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
75
+ var AccordionItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
83
76
  AccordionPrimitive__namespace.Item,
84
77
  {
85
78
  ref,
@@ -88,7 +81,7 @@ var AccordionItem = React23__namespace.forwardRef(({ className, ...props }, ref)
88
81
  }
89
82
  ));
90
83
  AccordionItem.displayName = "AccordionItem";
91
- var AccordionTrigger = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
84
+ var AccordionTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
92
85
  AccordionPrimitive__namespace.Trigger,
93
86
  {
94
87
  ref,
@@ -104,7 +97,7 @@ var AccordionTrigger = React23__namespace.forwardRef(({ className, children, ...
104
97
  }
105
98
  ) }));
106
99
  AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
107
- var AccordionContent = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
100
+ var AccordionContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
108
101
  AccordionPrimitive__namespace.Content,
109
102
  {
110
103
  ref,
@@ -128,7 +121,7 @@ var alertVariants = classVarianceAuthority.cva(
128
121
  }
129
122
  }
130
123
  );
131
- var Alert = React23__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
124
+ var Alert = React24__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
132
125
  "div",
133
126
  {
134
127
  ref,
@@ -138,7 +131,7 @@ var Alert = React23__namespace.forwardRef(({ className, variant, ...props }, ref
138
131
  }
139
132
  ));
140
133
  Alert.displayName = "Alert";
141
- var AlertTitle = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
134
+ var AlertTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
142
135
  "h5",
143
136
  {
144
137
  ref,
@@ -147,7 +140,7 @@ var AlertTitle = React23__namespace.forwardRef(({ className, ...props }, ref) =>
147
140
  }
148
141
  ));
149
142
  AlertTitle.displayName = "AlertTitle";
150
- var AlertDescription = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
143
+ var AlertDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
151
144
  "div",
152
145
  {
153
146
  ref,
@@ -177,7 +170,7 @@ var buttonVariants = classVarianceAuthority.cva(
177
170
  * size-5, which at h-6 leaves no padding at all.
178
171
  */
179
172
  size: {
180
- xs: "h-6 rounded-control px-2 text-meta gap-1 [&_svg]:size-4",
173
+ xs: "h-6 rounded-control px-2 text-sm gap-1 [&_svg]:size-4",
181
174
  default: "h-9 px-4 py-2",
182
175
  sm: "h-8 rounded-control px-3 py-2",
183
176
  lg: "h-12 rounded-control px-8 py-3",
@@ -192,7 +185,7 @@ var buttonVariants = classVarianceAuthority.cva(
192
185
  }
193
186
  }
194
187
  );
195
- var Button = React23__namespace.forwardRef(
188
+ var Button = React24__namespace.forwardRef(
196
189
  ({ className, variant, size, asChild = false, ...props }, ref) => {
197
190
  const Comp = asChild ? reactSlot.Slot : "button";
198
191
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -209,7 +202,7 @@ Button.displayName = "Button";
209
202
  var AlertDialog = AlertDialogPrimitive__namespace.Root;
210
203
  var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
211
204
  var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
212
- var AlertDialogOverlay = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
205
+ var AlertDialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
213
206
  AlertDialogPrimitive__namespace.Overlay,
214
207
  {
215
208
  className: cn(
@@ -221,7 +214,7 @@ var AlertDialogOverlay = React23__namespace.forwardRef(({ className, ...props },
221
214
  }
222
215
  ));
223
216
  AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
224
- var AlertDialogContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
217
+ var AlertDialogContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
225
218
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
226
219
  /* @__PURE__ */ jsxRuntime.jsx(
227
220
  AlertDialogPrimitive__namespace.Content,
@@ -264,7 +257,7 @@ var AlertDialogFooter = ({
264
257
  }
265
258
  );
266
259
  AlertDialogFooter.displayName = "AlertDialogFooter";
267
- var AlertDialogTitle = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
260
+ var AlertDialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
268
261
  AlertDialogPrimitive__namespace.Title,
269
262
  {
270
263
  ref,
@@ -273,7 +266,7 @@ var AlertDialogTitle = React23__namespace.forwardRef(({ className, ...props }, r
273
266
  }
274
267
  ));
275
268
  AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
276
- var AlertDialogDescription = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
269
+ var AlertDialogDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
277
270
  AlertDialogPrimitive__namespace.Description,
278
271
  {
279
272
  ref,
@@ -282,7 +275,7 @@ var AlertDialogDescription = React23__namespace.forwardRef(({ className, ...prop
282
275
  }
283
276
  ));
284
277
  AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
285
- var AlertDialogAction = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
278
+ var AlertDialogAction = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
286
279
  AlertDialogPrimitive__namespace.Action,
287
280
  {
288
281
  ref,
@@ -291,7 +284,7 @@ var AlertDialogAction = React23__namespace.forwardRef(({ className, ...props },
291
284
  }
292
285
  ));
293
286
  AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
294
- var AlertDialogCancel = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
287
+ var AlertDialogCancel = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
295
288
  AlertDialogPrimitive__namespace.Cancel,
296
289
  {
297
290
  ref,
@@ -304,7 +297,7 @@ var AlertDialogCancel = React23__namespace.forwardRef(({ className, ...props },
304
297
  }
305
298
  ));
306
299
  AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
307
- var Avatar = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
300
+ var Avatar = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
308
301
  AvatarPrimitive__namespace.Root,
309
302
  {
310
303
  ref,
@@ -317,7 +310,7 @@ var Avatar = React23__namespace.forwardRef(({ className, ...props }, ref) => /*
317
310
  }
318
311
  ));
319
312
  Avatar.displayName = AvatarPrimitive__namespace.Root.displayName;
320
- var AvatarImage = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
313
+ var AvatarImage = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
321
314
  AvatarPrimitive__namespace.Image,
322
315
  {
323
316
  ref,
@@ -326,7 +319,7 @@ var AvatarImage = React23__namespace.forwardRef(({ className, ...props }, ref) =
326
319
  }
327
320
  ));
328
321
  AvatarImage.displayName = AvatarPrimitive__namespace.Image.displayName;
329
- var AvatarFallback = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
322
+ var AvatarFallback = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
330
323
  AvatarPrimitive__namespace.Fallback,
331
324
  {
332
325
  ref,
@@ -358,15 +351,15 @@ var badgeVariants = classVarianceAuthority.cva(
358
351
  },
359
352
  size: {
360
353
  /** 18px — inline in a title, or a count against a label. */
361
- xs: "h-[18px] px-1.5 text-meta",
354
+ xs: "h-[18px] px-1.5 text-sm",
362
355
  /** 22px — the row chip: a status beside an entity name. */
363
- sm: "h-[22px] px-2 text-meta",
356
+ sm: "h-[22px] px-2 text-sm",
364
357
  /**
365
358
  * Unchanged from before `size` existed: no explicit height, so it sizes
366
359
  * from its text. Every badge already written keeps rendering exactly as
367
360
  * it did — the two tiers above are additions, not a re-baseline.
368
361
  */
369
- default: "px-2.5 py-0.5 text-meta"
362
+ default: "px-2.5 py-0.5 text-sm"
370
363
  }
371
364
  },
372
365
  defaultVariants: {
@@ -385,9 +378,9 @@ function Badge({ className, variant, tone, size, ...props }) {
385
378
  }
386
379
  );
387
380
  }
388
- var Breadcrumb = React23__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
381
+ var Breadcrumb = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
389
382
  Breadcrumb.displayName = "Breadcrumb";
390
- var BreadcrumbList = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
383
+ var BreadcrumbList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
391
384
  "ol",
392
385
  {
393
386
  ref,
@@ -399,7 +392,7 @@ var BreadcrumbList = React23__namespace.forwardRef(({ className, ...props }, ref
399
392
  }
400
393
  ));
401
394
  BreadcrumbList.displayName = "BreadcrumbList";
402
- var BreadcrumbItem = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
395
+ var BreadcrumbItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
403
396
  "li",
404
397
  {
405
398
  ref,
@@ -408,7 +401,7 @@ var BreadcrumbItem = React23__namespace.forwardRef(({ className, ...props }, ref
408
401
  }
409
402
  ));
410
403
  BreadcrumbItem.displayName = "BreadcrumbItem";
411
- var BreadcrumbLink = React23__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
404
+ var BreadcrumbLink = React24__namespace.forwardRef(({ asChild, className, ...props }, ref) => {
412
405
  const Comp = asChild ? reactSlot.Slot : "a";
413
406
  return /* @__PURE__ */ jsxRuntime.jsx(
414
407
  Comp,
@@ -420,7 +413,7 @@ var BreadcrumbLink = React23__namespace.forwardRef(({ asChild, className, ...pro
420
413
  );
421
414
  });
422
415
  BreadcrumbLink.displayName = "BreadcrumbLink";
423
- var BreadcrumbPage = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
416
+ var BreadcrumbPage = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
424
417
  "span",
425
418
  {
426
419
  ref,
@@ -464,7 +457,7 @@ var BreadcrumbEllipsis = ({
464
457
  }
465
458
  );
466
459
  BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
467
- var Separator = React23__namespace.forwardRef(
460
+ var Separator = React24__namespace.forwardRef(
468
461
  ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
469
462
  SeparatorPrimitive__namespace.Root,
470
463
  {
@@ -546,7 +539,7 @@ function ButtonGroupSeparator({
546
539
  }
547
540
  );
548
541
  }
549
- var Card = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
542
+ var Card = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
550
543
  "div",
551
544
  {
552
545
  ref,
@@ -558,7 +551,7 @@ var Card = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @_
558
551
  }
559
552
  ));
560
553
  Card.displayName = "Card";
561
- var CardHeader = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
554
+ var CardHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
562
555
  "div",
563
556
  {
564
557
  ref,
@@ -567,7 +560,7 @@ var CardHeader = React23__namespace.forwardRef(({ className, ...props }, ref) =>
567
560
  }
568
561
  ));
569
562
  CardHeader.displayName = "CardHeader";
570
- var CardTitle = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
563
+ var CardTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
571
564
  "div",
572
565
  {
573
566
  ref,
@@ -576,7 +569,7 @@ var CardTitle = React23__namespace.forwardRef(({ className, ...props }, ref) =>
576
569
  }
577
570
  ));
578
571
  CardTitle.displayName = "CardTitle";
579
- var CardDescription = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
572
+ var CardDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
580
573
  "div",
581
574
  {
582
575
  ref,
@@ -585,9 +578,9 @@ var CardDescription = React23__namespace.forwardRef(({ className, ...props }, re
585
578
  }
586
579
  ));
587
580
  CardDescription.displayName = "CardDescription";
588
- var CardContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-3 flex-1 overflow-y-auto", className), ...props }));
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 }));
589
582
  CardContent.displayName = "CardContent";
590
- var CardFooter = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
583
+ var CardFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
591
584
  "div",
592
585
  {
593
586
  ref,
@@ -596,7 +589,7 @@ var CardFooter = React23__namespace.forwardRef(({ className, ...props }, ref) =>
596
589
  }
597
590
  ));
598
591
  CardFooter.displayName = "CardFooter";
599
- var CardWithHeader = React23__namespace.forwardRef(
592
+ var CardWithHeader = React24__namespace.forwardRef(
600
593
  ({ className, title, description, headerClassName, contentClassName, footerClassName, footer, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Card, { ref, className, ...props, children: [
601
594
  /* @__PURE__ */ jsxRuntime.jsxs(CardHeader, { className: `${headerClassName} rounded-t-md`, children: [
602
595
  typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: title }) : title,
@@ -607,15 +600,15 @@ var CardWithHeader = React23__namespace.forwardRef(
607
600
  ] })
608
601
  );
609
602
  CardWithHeader.displayName = "CardWithHeader";
610
- var CarouselContext = React23__namespace.createContext(null);
603
+ var CarouselContext = React24__namespace.createContext(null);
611
604
  function useCarousel() {
612
- const context = React23__namespace.useContext(CarouselContext);
605
+ const context = React24__namespace.useContext(CarouselContext);
613
606
  if (!context) {
614
607
  throw new Error("useCarousel must be used within a <Carousel />");
615
608
  }
616
609
  return context;
617
610
  }
618
- var Carousel = React23__namespace.forwardRef(
611
+ var Carousel = React24__namespace.forwardRef(
619
612
  ({
620
613
  orientation = "horizontal",
621
614
  opts,
@@ -632,22 +625,22 @@ var Carousel = React23__namespace.forwardRef(
632
625
  },
633
626
  plugins
634
627
  );
635
- const [canScrollPrev, setCanScrollPrev] = React23__namespace.useState(false);
636
- const [canScrollNext, setCanScrollNext] = React23__namespace.useState(false);
637
- const onSelect = React23__namespace.useCallback((api2) => {
628
+ const [canScrollPrev, setCanScrollPrev] = React24__namespace.useState(false);
629
+ const [canScrollNext, setCanScrollNext] = React24__namespace.useState(false);
630
+ const onSelect = React24__namespace.useCallback((api2) => {
638
631
  if (!api2) {
639
632
  return;
640
633
  }
641
634
  setCanScrollPrev(api2.canScrollPrev());
642
635
  setCanScrollNext(api2.canScrollNext());
643
636
  }, []);
644
- const scrollPrev = React23__namespace.useCallback(() => {
637
+ const scrollPrev = React24__namespace.useCallback(() => {
645
638
  api?.scrollPrev();
646
639
  }, [api]);
647
- const scrollNext = React23__namespace.useCallback(() => {
640
+ const scrollNext = React24__namespace.useCallback(() => {
648
641
  api?.scrollNext();
649
642
  }, [api]);
650
- const handleKeyDown = React23__namespace.useCallback(
643
+ const handleKeyDown = React24__namespace.useCallback(
651
644
  (event) => {
652
645
  if (event.key === "ArrowLeft") {
653
646
  event.preventDefault();
@@ -659,13 +652,13 @@ var Carousel = React23__namespace.forwardRef(
659
652
  },
660
653
  [scrollPrev, scrollNext]
661
654
  );
662
- React23__namespace.useEffect(() => {
655
+ React24__namespace.useEffect(() => {
663
656
  if (!api || !setApi) {
664
657
  return;
665
658
  }
666
659
  setApi(api);
667
660
  }, [api, setApi]);
668
- React23__namespace.useEffect(() => {
661
+ React24__namespace.useEffect(() => {
669
662
  if (!api) {
670
663
  return;
671
664
  }
@@ -706,7 +699,7 @@ var Carousel = React23__namespace.forwardRef(
706
699
  }
707
700
  );
708
701
  Carousel.displayName = "Carousel";
709
- var CarouselContent = React23__namespace.forwardRef(({ className, ...props }, ref) => {
702
+ var CarouselContent = React24__namespace.forwardRef(({ className, ...props }, ref) => {
710
703
  const { carouselRef, orientation } = useCarousel();
711
704
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
712
705
  "div",
@@ -722,7 +715,7 @@ var CarouselContent = React23__namespace.forwardRef(({ className, ...props }, re
722
715
  ) });
723
716
  });
724
717
  CarouselContent.displayName = "CarouselContent";
725
- var CarouselItem = React23__namespace.forwardRef(({ className, ...props }, ref) => {
718
+ var CarouselItem = React24__namespace.forwardRef(({ className, ...props }, ref) => {
726
719
  const { orientation } = useCarousel();
727
720
  return /* @__PURE__ */ jsxRuntime.jsx(
728
721
  "div",
@@ -740,7 +733,7 @@ var CarouselItem = React23__namespace.forwardRef(({ className, ...props }, ref)
740
733
  );
741
734
  });
742
735
  CarouselItem.displayName = "CarouselItem";
743
- var CarouselPrevious = React23__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
736
+ var CarouselPrevious = React24__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
744
737
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
745
738
  return /* @__PURE__ */ jsxRuntime.jsxs(
746
739
  Button,
@@ -764,7 +757,7 @@ var CarouselPrevious = React23__namespace.forwardRef(({ className, variant = "ou
764
757
  );
765
758
  });
766
759
  CarouselPrevious.displayName = "CarouselPrevious";
767
- var CarouselNext = React23__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
760
+ var CarouselNext = React24__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
768
761
  const { orientation, scrollNext, canScrollNext } = useCarousel();
769
762
  return /* @__PURE__ */ jsxRuntime.jsxs(
770
763
  Button,
@@ -792,7 +785,7 @@ var Dialog = DialogPrimitive__namespace.Root;
792
785
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
793
786
  var DialogPortal = DialogPrimitive__namespace.Portal;
794
787
  var DialogClose = DialogPrimitive__namespace.Close;
795
- var DialogOverlay = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
788
+ var DialogOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
796
789
  DialogPrimitive__namespace.Overlay,
797
790
  {
798
791
  ref,
@@ -804,7 +797,7 @@ var DialogOverlay = React23__namespace.forwardRef(({ className, ...props }, ref)
804
797
  }
805
798
  ));
806
799
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
807
- var DialogContent = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
800
+ var DialogContent = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
808
801
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
809
802
  /* @__PURE__ */ jsxRuntime.jsxs(
810
803
  DialogPrimitive__namespace.Content,
@@ -854,7 +847,7 @@ var DialogFooter = ({
854
847
  }
855
848
  );
856
849
  DialogFooter.displayName = "DialogFooter";
857
- var DialogTitle = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
850
+ var DialogTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
858
851
  DialogPrimitive__namespace.Title,
859
852
  {
860
853
  ref,
@@ -866,7 +859,7 @@ var DialogTitle = React23__namespace.forwardRef(({ className, ...props }, ref) =
866
859
  }
867
860
  ));
868
861
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
869
- var DialogDescription = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
862
+ var DialogDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
870
863
  DialogPrimitive__namespace.Description,
871
864
  {
872
865
  ref,
@@ -875,7 +868,7 @@ var DialogDescription = React23__namespace.forwardRef(({ className, ...props },
875
868
  }
876
869
  ));
877
870
  DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
878
- var Command = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
871
+ var Command = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
879
872
  cmdk.Command,
880
873
  {
881
874
  ref,
@@ -890,7 +883,7 @@ Command.displayName = cmdk.Command.displayName;
890
883
  var CommandDialog = ({ children, ...props }) => {
891
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 }) }) });
892
885
  };
893
- var CommandInput = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
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: [
894
887
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
895
888
  /* @__PURE__ */ jsxRuntime.jsx(
896
889
  cmdk.Command.Input,
@@ -905,7 +898,7 @@ var CommandInput = React23__namespace.forwardRef(({ className, ...props }, ref)
905
898
  )
906
899
  ] }));
907
900
  CommandInput.displayName = cmdk.Command.Input.displayName;
908
- var CommandList = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
901
+ var CommandList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
909
902
  cmdk.Command.List,
910
903
  {
911
904
  ref,
@@ -914,7 +907,7 @@ var CommandList = React23__namespace.forwardRef(({ className, ...props }, ref) =
914
907
  }
915
908
  ));
916
909
  CommandList.displayName = cmdk.Command.List.displayName;
917
- var CommandEmpty = React23__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
910
+ var CommandEmpty = React24__namespace.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
918
911
  cmdk.Command.Empty,
919
912
  {
920
913
  ref,
@@ -923,19 +916,19 @@ var CommandEmpty = React23__namespace.forwardRef((props, ref) => /* @__PURE__ */
923
916
  }
924
917
  ));
925
918
  CommandEmpty.displayName = cmdk.Command.Empty.displayName;
926
- var CommandGroup = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
919
+ var CommandGroup = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
927
920
  cmdk.Command.Group,
928
921
  {
929
922
  ref,
930
923
  className: cn(
931
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-meta [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
924
+ "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-sm [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
932
925
  className
933
926
  ),
934
927
  ...props
935
928
  }
936
929
  ));
937
930
  CommandGroup.displayName = cmdk.Command.Group.displayName;
938
- var CommandSeparator = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
931
+ var CommandSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
939
932
  cmdk.Command.Separator,
940
933
  {
941
934
  ref,
@@ -944,7 +937,7 @@ var CommandSeparator = React23__namespace.forwardRef(({ className, ...props }, r
944
937
  }
945
938
  ));
946
939
  CommandSeparator.displayName = cmdk.Command.Separator.displayName;
947
- var CommandItem = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
940
+ var CommandItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
948
941
  cmdk.Command.Item,
949
942
  {
950
943
  ref,
@@ -964,7 +957,7 @@ var CommandShortcut = ({
964
957
  "span",
965
958
  {
966
959
  className: cn(
967
- "ml-auto text-meta tracking-widest text-muted-foreground",
960
+ "ml-auto text-sm tracking-widest text-muted-foreground",
968
961
  className
969
962
  ),
970
963
  ...props
@@ -978,7 +971,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
978
971
  var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
979
972
  var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
980
973
  var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
981
- var DropdownMenuSubTrigger = React23__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
974
+ var DropdownMenuSubTrigger = React24__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
982
975
  DropdownMenuPrimitive__namespace.SubTrigger,
983
976
  {
984
977
  ref,
@@ -995,7 +988,7 @@ var DropdownMenuSubTrigger = React23__namespace.forwardRef(({ className, inset,
995
988
  }
996
989
  ));
997
990
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
998
- var DropdownMenuSubContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
991
+ var DropdownMenuSubContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
999
992
  DropdownMenuPrimitive__namespace.SubContent,
1000
993
  {
1001
994
  ref,
@@ -1007,7 +1000,7 @@ var DropdownMenuSubContent = React23__namespace.forwardRef(({ className, ...prop
1007
1000
  }
1008
1001
  ));
1009
1002
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
1010
- var DropdownMenuContent = React23__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1003
+ var DropdownMenuContent = React24__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1011
1004
  DropdownMenuPrimitive__namespace.Content,
1012
1005
  {
1013
1006
  ref,
@@ -1021,7 +1014,7 @@ var DropdownMenuContent = React23__namespace.forwardRef(({ className, sideOffset
1021
1014
  }
1022
1015
  ) }));
1023
1016
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1024
- var DropdownMenuItem = React23__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1017
+ var DropdownMenuItem = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1025
1018
  DropdownMenuPrimitive__namespace.Item,
1026
1019
  {
1027
1020
  ref,
@@ -1034,7 +1027,7 @@ var DropdownMenuItem = React23__namespace.forwardRef(({ className, inset, ...pro
1034
1027
  }
1035
1028
  ));
1036
1029
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
1037
- var DropdownMenuCheckboxItem = React23__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1030
+ var DropdownMenuCheckboxItem = React24__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1038
1031
  DropdownMenuPrimitive__namespace.CheckboxItem,
1039
1032
  {
1040
1033
  ref,
@@ -1051,7 +1044,7 @@ var DropdownMenuCheckboxItem = React23__namespace.forwardRef(({ className, child
1051
1044
  }
1052
1045
  ));
1053
1046
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
1054
- var DropdownMenuRadioItem = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1047
+ var DropdownMenuRadioItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1055
1048
  DropdownMenuPrimitive__namespace.RadioItem,
1056
1049
  {
1057
1050
  ref,
@@ -1067,7 +1060,7 @@ var DropdownMenuRadioItem = React23__namespace.forwardRef(({ className, children
1067
1060
  }
1068
1061
  ));
1069
1062
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
1070
- var DropdownMenuLabel = React23__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1063
+ var DropdownMenuLabel = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1071
1064
  DropdownMenuPrimitive__namespace.Label,
1072
1065
  {
1073
1066
  ref,
@@ -1080,7 +1073,7 @@ var DropdownMenuLabel = React23__namespace.forwardRef(({ className, inset, ...pr
1080
1073
  }
1081
1074
  ));
1082
1075
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
1083
- var DropdownMenuSeparator = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1076
+ var DropdownMenuSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1084
1077
  DropdownMenuPrimitive__namespace.Separator,
1085
1078
  {
1086
1079
  ref,
@@ -1096,7 +1089,7 @@ var DropdownMenuShortcut = ({
1096
1089
  return /* @__PURE__ */ jsxRuntime.jsx(
1097
1090
  "span",
1098
1091
  {
1099
- className: cn("ml-auto text-meta tracking-widest opacity-60", className),
1092
+ className: cn("ml-auto text-sm tracking-widest opacity-60", className),
1100
1093
  ...props
1101
1094
  }
1102
1095
  );
@@ -1104,7 +1097,7 @@ var DropdownMenuShortcut = ({
1104
1097
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1105
1098
  var HoverCard = HoverCardPrimitive__namespace.Root;
1106
1099
  var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
1107
- var HoverCardContent = React23__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1100
+ var HoverCardContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1108
1101
  HoverCardPrimitive__namespace.Content,
1109
1102
  {
1110
1103
  ref,
@@ -1265,7 +1258,7 @@ function ItemDescription({ className, ...props }) {
1265
1258
  className: cn(
1266
1259
  "text-muted-foreground line-clamp-2 text-balance font-normal leading-normal",
1267
1260
  // A dense row's subtitle is one line of meta, not a wrapped paragraph.
1268
- "group-data-[size=xs]/item:line-clamp-1 group-data-[size=xs]/item:text-meta",
1261
+ "group-data-[size=xs]/item:line-clamp-1 group-data-[size=xs]/item:text-sm",
1269
1262
  "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
1270
1263
  className
1271
1264
  ),
@@ -1315,7 +1308,7 @@ function Kbd({ className, ...props }) {
1315
1308
  {
1316
1309
  "data-slot": "kbd",
1317
1310
  className: cn(
1318
- "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-control px-1 font-sans text-meta font-medium",
1311
+ "bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-control px-1 font-sans text-sm font-medium",
1319
1312
  "[&_svg:not([class*='size-'])]:size-3",
1320
1313
  "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
1321
1314
  className
@@ -1334,6 +1327,32 @@ function KbdGroup({ className, ...props }) {
1334
1327
  }
1335
1328
  );
1336
1329
  }
1330
+ var linkVariants = classVarianceAuthority.cva(
1331
+ "underline-offset-4 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-[2px]",
1332
+ {
1333
+ variants: {
1334
+ variant: {
1335
+ default: "text-primary hover:underline",
1336
+ underlined: "text-primary underline",
1337
+ quiet: "text-muted-foreground hover:text-foreground hover:underline"
1338
+ }
1339
+ },
1340
+ defaultVariants: { variant: "default" }
1341
+ }
1342
+ );
1343
+ var Link = React24__namespace.forwardRef(
1344
+ ({ className, variant, external, target, rel, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1345
+ "a",
1346
+ {
1347
+ ref,
1348
+ className: cn(linkVariants({ variant }), className),
1349
+ target: external ? "_blank" : target,
1350
+ rel: external ? "noreferrer noopener" : rel,
1351
+ ...props
1352
+ }
1353
+ )
1354
+ );
1355
+ Link.displayName = "Link";
1337
1356
  function MenubarMenu({
1338
1357
  ...props
1339
1358
  }) {
@@ -1359,7 +1378,7 @@ function MenubarSub({
1359
1378
  }) {
1360
1379
  return /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Sub, { "data-slot": "menubar-sub", ...props });
1361
1380
  }
1362
- var Menubar = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1381
+ var Menubar = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1363
1382
  MenubarPrimitive__namespace.Root,
1364
1383
  {
1365
1384
  ref,
@@ -1371,7 +1390,7 @@ var Menubar = React23__namespace.forwardRef(({ className, ...props }, ref) => /*
1371
1390
  }
1372
1391
  ));
1373
1392
  Menubar.displayName = MenubarPrimitive__namespace.Root.displayName;
1374
- var MenubarTrigger = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1393
+ var MenubarTrigger = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1375
1394
  MenubarPrimitive__namespace.Trigger,
1376
1395
  {
1377
1396
  ref,
@@ -1383,7 +1402,7 @@ var MenubarTrigger = React23__namespace.forwardRef(({ className, ...props }, ref
1383
1402
  }
1384
1403
  ));
1385
1404
  MenubarTrigger.displayName = MenubarPrimitive__namespace.Trigger.displayName;
1386
- var MenubarSubTrigger = React23__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1405
+ var MenubarSubTrigger = React24__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1387
1406
  MenubarPrimitive__namespace.SubTrigger,
1388
1407
  {
1389
1408
  ref,
@@ -1400,7 +1419,7 @@ var MenubarSubTrigger = React23__namespace.forwardRef(({ className, inset, child
1400
1419
  }
1401
1420
  ));
1402
1421
  MenubarSubTrigger.displayName = MenubarPrimitive__namespace.SubTrigger.displayName;
1403
- var MenubarSubContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1422
+ var MenubarSubContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1404
1423
  MenubarPrimitive__namespace.SubContent,
1405
1424
  {
1406
1425
  ref,
@@ -1412,7 +1431,7 @@ var MenubarSubContent = React23__namespace.forwardRef(({ className, ...props },
1412
1431
  }
1413
1432
  ));
1414
1433
  MenubarSubContent.displayName = MenubarPrimitive__namespace.SubContent.displayName;
1415
- var MenubarContent = React23__namespace.forwardRef(
1434
+ var MenubarContent = React24__namespace.forwardRef(
1416
1435
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(MenubarPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1417
1436
  MenubarPrimitive__namespace.Content,
1418
1437
  {
@@ -1429,7 +1448,7 @@ var MenubarContent = React23__namespace.forwardRef(
1429
1448
  ) })
1430
1449
  );
1431
1450
  MenubarContent.displayName = MenubarPrimitive__namespace.Content.displayName;
1432
- var MenubarItem = React23__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1451
+ var MenubarItem = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1433
1452
  MenubarPrimitive__namespace.Item,
1434
1453
  {
1435
1454
  ref,
@@ -1442,7 +1461,7 @@ var MenubarItem = React23__namespace.forwardRef(({ className, inset, ...props },
1442
1461
  }
1443
1462
  ));
1444
1463
  MenubarItem.displayName = MenubarPrimitive__namespace.Item.displayName;
1445
- var MenubarCheckboxItem = React23__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1464
+ var MenubarCheckboxItem = React24__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1446
1465
  MenubarPrimitive__namespace.CheckboxItem,
1447
1466
  {
1448
1467
  ref,
@@ -1459,7 +1478,7 @@ var MenubarCheckboxItem = React23__namespace.forwardRef(({ className, children,
1459
1478
  }
1460
1479
  ));
1461
1480
  MenubarCheckboxItem.displayName = MenubarPrimitive__namespace.CheckboxItem.displayName;
1462
- var MenubarRadioItem = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1481
+ var MenubarRadioItem = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1463
1482
  MenubarPrimitive__namespace.RadioItem,
1464
1483
  {
1465
1484
  ref,
@@ -1475,7 +1494,7 @@ var MenubarRadioItem = React23__namespace.forwardRef(({ className, children, ...
1475
1494
  }
1476
1495
  ));
1477
1496
  MenubarRadioItem.displayName = MenubarPrimitive__namespace.RadioItem.displayName;
1478
- var MenubarLabel = React23__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1497
+ var MenubarLabel = React24__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1479
1498
  MenubarPrimitive__namespace.Label,
1480
1499
  {
1481
1500
  ref,
@@ -1488,7 +1507,7 @@ var MenubarLabel = React23__namespace.forwardRef(({ className, inset, ...props }
1488
1507
  }
1489
1508
  ));
1490
1509
  MenubarLabel.displayName = MenubarPrimitive__namespace.Label.displayName;
1491
- var MenubarSeparator = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1510
+ var MenubarSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1492
1511
  MenubarPrimitive__namespace.Separator,
1493
1512
  {
1494
1513
  ref,
@@ -1505,7 +1524,7 @@ var MenubarShortcut = ({
1505
1524
  "span",
1506
1525
  {
1507
1526
  className: cn(
1508
- "ml-auto text-meta tracking-widest text-muted-foreground",
1527
+ "ml-auto text-sm tracking-widest text-muted-foreground",
1509
1528
  className
1510
1529
  ),
1511
1530
  ...props
@@ -1513,7 +1532,7 @@ var MenubarShortcut = ({
1513
1532
  );
1514
1533
  };
1515
1534
  MenubarShortcut.displayname = "MenubarShortcut";
1516
- var NavigationMenu = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1535
+ var NavigationMenu = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1517
1536
  NavigationMenuPrimitive__namespace.Root,
1518
1537
  {
1519
1538
  ref,
@@ -1529,7 +1548,7 @@ var NavigationMenu = React23__namespace.forwardRef(({ className, children, ...pr
1529
1548
  }
1530
1549
  ));
1531
1550
  NavigationMenu.displayName = NavigationMenuPrimitive__namespace.Root.displayName;
1532
- var NavigationMenuList = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1551
+ var NavigationMenuList = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1533
1552
  NavigationMenuPrimitive__namespace.List,
1534
1553
  {
1535
1554
  ref,
@@ -1545,7 +1564,7 @@ var NavigationMenuItem = NavigationMenuPrimitive__namespace.Item;
1545
1564
  var navigationMenuTriggerStyle = classVarianceAuthority.cva(
1546
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"
1547
1566
  );
1548
- var NavigationMenuTrigger = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1567
+ var NavigationMenuTrigger = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1549
1568
  NavigationMenuPrimitive__namespace.Trigger,
1550
1569
  {
1551
1570
  ref,
@@ -1565,7 +1584,7 @@ var NavigationMenuTrigger = React23__namespace.forwardRef(({ className, children
1565
1584
  }
1566
1585
  ));
1567
1586
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive__namespace.Trigger.displayName;
1568
- var NavigationMenuContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1587
+ var NavigationMenuContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1569
1588
  NavigationMenuPrimitive__namespace.Content,
1570
1589
  {
1571
1590
  ref,
@@ -1578,7 +1597,7 @@ var NavigationMenuContent = React23__namespace.forwardRef(({ className, ...props
1578
1597
  ));
1579
1598
  NavigationMenuContent.displayName = NavigationMenuPrimitive__namespace.Content.displayName;
1580
1599
  var NavigationMenuLink = NavigationMenuPrimitive__namespace.Link;
1581
- var NavigationMenuViewport = React23__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 = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
1582
1601
  NavigationMenuPrimitive__namespace.Viewport,
1583
1602
  {
1584
1603
  className: cn(
@@ -1590,7 +1609,7 @@ var NavigationMenuViewport = React23__namespace.forwardRef(({ className, ...prop
1590
1609
  }
1591
1610
  ) }));
1592
1611
  NavigationMenuViewport.displayName = NavigationMenuPrimitive__namespace.Viewport.displayName;
1593
- var NavigationMenuIndicator = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1612
+ var NavigationMenuIndicator = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1594
1613
  NavigationMenuPrimitive__namespace.Indicator,
1595
1614
  {
1596
1615
  ref,
@@ -1613,7 +1632,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
1613
1632
  }
1614
1633
  );
1615
1634
  Pagination.displayName = "Pagination";
1616
- var PaginationContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1635
+ var PaginationContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1617
1636
  "ul",
1618
1637
  {
1619
1638
  ref,
@@ -1622,7 +1641,7 @@ var PaginationContent = React23__namespace.forwardRef(({ className, ...props },
1622
1641
  }
1623
1642
  ));
1624
1643
  PaginationContent.displayName = "PaginationContent";
1625
- var PaginationItem = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
1644
+ var PaginationItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, className: cn("", className), ...props }));
1626
1645
  PaginationItem.displayName = "PaginationItem";
1627
1646
  var PaginationLink = ({
1628
1647
  className,
@@ -1696,7 +1715,7 @@ var PaginationEllipsis = ({
1696
1715
  PaginationEllipsis.displayName = "PaginationEllipsis";
1697
1716
  var Popover = PopoverPrimitive__namespace.Root;
1698
1717
  var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
1699
- var PopoverContent = React23__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1718
+ var PopoverContent = React24__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1700
1719
  PopoverPrimitive__namespace.Content,
1701
1720
  {
1702
1721
  ref,
@@ -1710,7 +1729,7 @@ var PopoverContent = React23__namespace.forwardRef(({ className, align = "center
1710
1729
  }
1711
1730
  ) }));
1712
1731
  PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
1713
- var Progress = React23__namespace.forwardRef(({ className, value, size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1732
+ var Progress = React24__namespace.forwardRef(({ className, value, size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1714
1733
  ProgressPrimitive__namespace.Root,
1715
1734
  {
1716
1735
  ref,
@@ -1754,7 +1773,7 @@ var ResizableHandle = ({
1754
1773
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 h-6 w-[3px] rounded-full bg-muted-foreground/40" })
1755
1774
  }
1756
1775
  );
1757
- var ScrollArea = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1776
+ var ScrollArea = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1758
1777
  ScrollAreaPrimitive__namespace.Root,
1759
1778
  {
1760
1779
  ref,
@@ -1768,7 +1787,7 @@ var ScrollArea = React23__namespace.forwardRef(({ className, children, ...props
1768
1787
  }
1769
1788
  ));
1770
1789
  ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
1771
- var ScrollBar = React23__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1790
+ var ScrollBar = React24__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1772
1791
  ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
1773
1792
  {
1774
1793
  ref,
@@ -1788,7 +1807,7 @@ var Sheet = DialogPrimitive__namespace.Root;
1788
1807
  var SheetTrigger = DialogPrimitive__namespace.Trigger;
1789
1808
  var SheetClose = DialogPrimitive__namespace.Close;
1790
1809
  var SheetPortal = DialogPrimitive__namespace.Portal;
1791
- var SheetOverlay = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1810
+ var SheetOverlay = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1792
1811
  DialogPrimitive__namespace.Overlay,
1793
1812
  {
1794
1813
  className: cn(
@@ -1816,7 +1835,7 @@ var sheetVariants = classVarianceAuthority.cva(
1816
1835
  }
1817
1836
  }
1818
1837
  );
1819
- var SheetContent = React23__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
1838
+ var SheetContent = React24__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
1820
1839
  /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
1821
1840
  /* @__PURE__ */ jsxRuntime.jsxs(
1822
1841
  DialogPrimitive__namespace.Content,
@@ -1863,7 +1882,7 @@ var SheetFooter = ({
1863
1882
  }
1864
1883
  );
1865
1884
  SheetFooter.displayName = "SheetFooter";
1866
- var SheetTitle = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1885
+ var SheetTitle = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1867
1886
  DialogPrimitive__namespace.Title,
1868
1887
  {
1869
1888
  ref,
@@ -1872,7 +1891,7 @@ var SheetTitle = React23__namespace.forwardRef(({ className, ...props }, ref) =>
1872
1891
  }
1873
1892
  ));
1874
1893
  SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
1875
- var SheetDescription = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1894
+ var SheetDescription = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1876
1895
  DialogPrimitive__namespace.Description,
1877
1896
  {
1878
1897
  ref,
@@ -1883,8 +1902,8 @@ var SheetDescription = React23__namespace.forwardRef(({ className, ...props }, r
1883
1902
  SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
1884
1903
  var MOBILE_BREAKPOINT = 768;
1885
1904
  function useIsMobile() {
1886
- const [isMobile, setIsMobile] = React23__namespace.useState(void 0);
1887
- React23__namespace.useEffect(() => {
1905
+ const [isMobile, setIsMobile] = React24__namespace.useState(void 0);
1906
+ React24__namespace.useEffect(() => {
1888
1907
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
1889
1908
  const onChange = () => {
1890
1909
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -1910,7 +1929,7 @@ function Skeleton({
1910
1929
  var TooltipProvider = TooltipPrimitive__namespace.Provider;
1911
1930
  var Tooltip = TooltipPrimitive__namespace.Root;
1912
1931
  var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
1913
- var TooltipContent = React23__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1932
+ var TooltipContent = React24__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1914
1933
  TooltipPrimitive__namespace.Content,
1915
1934
  {
1916
1935
  ref,
@@ -1929,15 +1948,15 @@ var SIDEBAR_WIDTH = "16rem";
1929
1948
  var SIDEBAR_WIDTH_MOBILE = "18rem";
1930
1949
  var SIDEBAR_WIDTH_ICON = "3rem";
1931
1950
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
1932
- var SidebarContext = React23__namespace.createContext(null);
1951
+ var SidebarContext = React24__namespace.createContext(null);
1933
1952
  function useSidebar() {
1934
- const context = React23__namespace.useContext(SidebarContext);
1953
+ const context = React24__namespace.useContext(SidebarContext);
1935
1954
  if (!context) {
1936
1955
  throw new Error("useSidebar must be used within a SidebarProvider.");
1937
1956
  }
1938
1957
  return context;
1939
1958
  }
1940
- var SidebarProvider = React23__namespace.forwardRef(
1959
+ var SidebarProvider = React24__namespace.forwardRef(
1941
1960
  ({
1942
1961
  defaultOpen = true,
1943
1962
  open: openProp,
@@ -1948,10 +1967,10 @@ var SidebarProvider = React23__namespace.forwardRef(
1948
1967
  ...props
1949
1968
  }, ref) => {
1950
1969
  const isMobile = useIsMobile();
1951
- const [openMobile, setOpenMobile] = React23__namespace.useState(false);
1952
- const [_open, _setOpen] = React23__namespace.useState(defaultOpen);
1970
+ const [openMobile, setOpenMobile] = React24__namespace.useState(false);
1971
+ const [_open, _setOpen] = React24__namespace.useState(defaultOpen);
1953
1972
  const open = openProp ?? _open;
1954
- const setOpen = React23__namespace.useCallback(
1973
+ const setOpen = React24__namespace.useCallback(
1955
1974
  (value) => {
1956
1975
  const openState = typeof value === "function" ? value(open) : value;
1957
1976
  if (setOpenProp) {
@@ -1963,10 +1982,10 @@ var SidebarProvider = React23__namespace.forwardRef(
1963
1982
  },
1964
1983
  [setOpenProp, open]
1965
1984
  );
1966
- const toggleSidebar = React23__namespace.useCallback(() => {
1985
+ const toggleSidebar = React24__namespace.useCallback(() => {
1967
1986
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
1968
1987
  }, [isMobile, setOpen, setOpenMobile]);
1969
- React23__namespace.useEffect(() => {
1988
+ React24__namespace.useEffect(() => {
1970
1989
  const handleKeyDown = (event) => {
1971
1990
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
1972
1991
  event.preventDefault();
@@ -1977,7 +1996,7 @@ var SidebarProvider = React23__namespace.forwardRef(
1977
1996
  return () => window.removeEventListener("keydown", handleKeyDown);
1978
1997
  }, [toggleSidebar]);
1979
1998
  const state = open ? "expanded" : "collapsed";
1980
- const contextValue = React23__namespace.useMemo(
1999
+ const contextValue = React24__namespace.useMemo(
1981
2000
  () => ({
1982
2001
  state,
1983
2002
  open,
@@ -2009,7 +2028,7 @@ var SidebarProvider = React23__namespace.forwardRef(
2009
2028
  }
2010
2029
  );
2011
2030
  SidebarProvider.displayName = "SidebarProvider";
2012
- var Sidebar = React23__namespace.forwardRef(
2031
+ var Sidebar = React24__namespace.forwardRef(
2013
2032
  ({
2014
2033
  side = "left",
2015
2034
  variant = "sidebar",
@@ -2102,7 +2121,7 @@ var Sidebar = React23__namespace.forwardRef(
2102
2121
  }
2103
2122
  );
2104
2123
  Sidebar.displayName = "Sidebar";
2105
- var SidebarTrigger = React23__namespace.forwardRef(({ className, onClick, ...props }, ref) => {
2124
+ var SidebarTrigger = React24__namespace.forwardRef(({ className, onClick, ...props }, ref) => {
2106
2125
  const { toggleSidebar } = useSidebar();
2107
2126
  return /* @__PURE__ */ jsxRuntime.jsxs(
2108
2127
  Button,
@@ -2125,7 +2144,7 @@ var SidebarTrigger = React23__namespace.forwardRef(({ className, onClick, ...pro
2125
2144
  );
2126
2145
  });
2127
2146
  SidebarTrigger.displayName = "SidebarTrigger";
2128
- var SidebarRail = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2147
+ var SidebarRail = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2129
2148
  const { toggleSidebar } = useSidebar();
2130
2149
  return /* @__PURE__ */ jsxRuntime.jsx(
2131
2150
  "button",
@@ -2150,7 +2169,7 @@ var SidebarRail = React23__namespace.forwardRef(({ className, ...props }, ref) =
2150
2169
  );
2151
2170
  });
2152
2171
  SidebarRail.displayName = "SidebarRail";
2153
- var SidebarInset = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2172
+ var SidebarInset = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2154
2173
  return /* @__PURE__ */ jsxRuntime.jsx(
2155
2174
  "main",
2156
2175
  {
@@ -2165,7 +2184,7 @@ var SidebarInset = React23__namespace.forwardRef(({ className, ...props }, ref)
2165
2184
  );
2166
2185
  });
2167
2186
  SidebarInset.displayName = "SidebarInset";
2168
- var SidebarInput = React23__namespace.forwardRef(({ className, type, ...props }, ref) => {
2187
+ var SidebarInput = React24__namespace.forwardRef(({ className, type, ...props }, ref) => {
2169
2188
  return /* @__PURE__ */ jsxRuntime.jsx(
2170
2189
  "input",
2171
2190
  {
@@ -2183,7 +2202,7 @@ var SidebarInput = React23__namespace.forwardRef(({ className, type, ...props },
2183
2202
  );
2184
2203
  });
2185
2204
  SidebarInput.displayName = "SidebarInput";
2186
- var SidebarHeader = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2205
+ var SidebarHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2187
2206
  return /* @__PURE__ */ jsxRuntime.jsx(
2188
2207
  "div",
2189
2208
  {
@@ -2195,7 +2214,7 @@ var SidebarHeader = React23__namespace.forwardRef(({ className, ...props }, ref)
2195
2214
  );
2196
2215
  });
2197
2216
  SidebarHeader.displayName = "SidebarHeader";
2198
- var SidebarFooter = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2217
+ var SidebarFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2199
2218
  return /* @__PURE__ */ jsxRuntime.jsx(
2200
2219
  "div",
2201
2220
  {
@@ -2207,7 +2226,7 @@ var SidebarFooter = React23__namespace.forwardRef(({ className, ...props }, ref)
2207
2226
  );
2208
2227
  });
2209
2228
  SidebarFooter.displayName = "SidebarFooter";
2210
- var SidebarSeparator = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2229
+ var SidebarSeparator = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2211
2230
  return /* @__PURE__ */ jsxRuntime.jsx(
2212
2231
  Separator,
2213
2232
  {
@@ -2219,7 +2238,7 @@ var SidebarSeparator = React23__namespace.forwardRef(({ className, ...props }, r
2219
2238
  );
2220
2239
  });
2221
2240
  SidebarSeparator.displayName = "SidebarSeparator";
2222
- var SidebarContent = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2241
+ var SidebarContent = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2223
2242
  return /* @__PURE__ */ jsxRuntime.jsx(
2224
2243
  "div",
2225
2244
  {
@@ -2234,7 +2253,7 @@ var SidebarContent = React23__namespace.forwardRef(({ className, ...props }, ref
2234
2253
  );
2235
2254
  });
2236
2255
  SidebarContent.displayName = "SidebarContent";
2237
- var SidebarGroup = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2256
+ var SidebarGroup = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2238
2257
  return /* @__PURE__ */ jsxRuntime.jsx(
2239
2258
  "div",
2240
2259
  {
@@ -2246,7 +2265,7 @@ var SidebarGroup = React23__namespace.forwardRef(({ className, ...props }, ref)
2246
2265
  );
2247
2266
  });
2248
2267
  SidebarGroup.displayName = "SidebarGroup";
2249
- var SidebarGroupLabel = React23__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2268
+ var SidebarGroupLabel = React24__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2250
2269
  const Comp = asChild ? reactSlot.Slot : "div";
2251
2270
  return /* @__PURE__ */ jsxRuntime.jsx(
2252
2271
  Comp,
@@ -2254,7 +2273,7 @@ var SidebarGroupLabel = React23__namespace.forwardRef(({ className, asChild = fa
2254
2273
  ref,
2255
2274
  "data-sidebar": "group-label",
2256
2275
  className: cn(
2257
- "flex h-8 shrink-0 items-center rounded-md px-2 text-meta font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2276
+ "flex h-8 shrink-0 items-center rounded-md px-2 text-sm font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2258
2277
  "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
2259
2278
  className
2260
2279
  ),
@@ -2263,7 +2282,7 @@ var SidebarGroupLabel = React23__namespace.forwardRef(({ className, asChild = fa
2263
2282
  );
2264
2283
  });
2265
2284
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
2266
- var SidebarGroupAction = React23__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2285
+ var SidebarGroupAction = React24__namespace.forwardRef(({ className, asChild = false, ...props }, ref) => {
2267
2286
  const Comp = asChild ? reactSlot.Slot : "button";
2268
2287
  return /* @__PURE__ */ jsxRuntime.jsx(
2269
2288
  Comp,
@@ -2282,7 +2301,7 @@ var SidebarGroupAction = React23__namespace.forwardRef(({ className, asChild = f
2282
2301
  );
2283
2302
  });
2284
2303
  SidebarGroupAction.displayName = "SidebarGroupAction";
2285
- var SidebarGroupContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2304
+ var SidebarGroupContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2286
2305
  "div",
2287
2306
  {
2288
2307
  ref,
@@ -2292,7 +2311,7 @@ var SidebarGroupContent = React23__namespace.forwardRef(({ className, ...props }
2292
2311
  }
2293
2312
  ));
2294
2313
  SidebarGroupContent.displayName = "SidebarGroupContent";
2295
- var SidebarMenu = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2314
+ var SidebarMenu = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2296
2315
  "ul",
2297
2316
  {
2298
2317
  ref,
@@ -2302,7 +2321,7 @@ var SidebarMenu = React23__namespace.forwardRef(({ className, ...props }, ref) =
2302
2321
  }
2303
2322
  ));
2304
2323
  SidebarMenu.displayName = "SidebarMenu";
2305
- var SidebarMenuItem = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2324
+ var SidebarMenuItem = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2306
2325
  "li",
2307
2326
  {
2308
2327
  ref,
@@ -2332,7 +2351,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
2332
2351
  }
2333
2352
  }
2334
2353
  );
2335
- var SidebarMenuButton = React23__namespace.forwardRef(
2354
+ var SidebarMenuButton = React24__namespace.forwardRef(
2336
2355
  ({
2337
2356
  asChild = false,
2338
2357
  isActive = false,
@@ -2378,7 +2397,7 @@ var SidebarMenuButton = React23__namespace.forwardRef(
2378
2397
  }
2379
2398
  );
2380
2399
  SidebarMenuButton.displayName = "SidebarMenuButton";
2381
- var SidebarMenuAction = React23__namespace.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
2400
+ var SidebarMenuAction = React24__namespace.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
2382
2401
  const Comp = asChild ? reactSlot.Slot : "button";
2383
2402
  return /* @__PURE__ */ jsxRuntime.jsx(
2384
2403
  Comp,
@@ -2401,13 +2420,13 @@ var SidebarMenuAction = React23__namespace.forwardRef(({ className, asChild = fa
2401
2420
  );
2402
2421
  });
2403
2422
  SidebarMenuAction.displayName = "SidebarMenuAction";
2404
- var SidebarMenuBadge = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2423
+ var SidebarMenuBadge = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2405
2424
  "div",
2406
2425
  {
2407
2426
  ref,
2408
2427
  "data-sidebar": "menu-badge",
2409
2428
  className: cn(
2410
- "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-meta font-medium tabular-nums text-sidebar-foreground",
2429
+ "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-sm font-medium tabular-nums text-sidebar-foreground",
2411
2430
  "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
2412
2431
  "peer-data-[size=sm]/menu-button:top-1",
2413
2432
  "peer-data-[size=default]/menu-button:top-1.5",
@@ -2419,8 +2438,8 @@ var SidebarMenuBadge = React23__namespace.forwardRef(({ className, ...props }, r
2419
2438
  }
2420
2439
  ));
2421
2440
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
2422
- var SidebarMenuSkeleton = React23__namespace.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2423
- const width = React23__namespace.useMemo(() => {
2441
+ var SidebarMenuSkeleton = React24__namespace.forwardRef(({ className, showIcon = false, ...props }, ref) => {
2442
+ const width = React24__namespace.useMemo(() => {
2424
2443
  return `${Math.floor(Math.random() * 40) + 50}%`;
2425
2444
  }, []);
2426
2445
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2453,7 +2472,7 @@ var SidebarMenuSkeleton = React23__namespace.forwardRef(({ className, showIcon =
2453
2472
  );
2454
2473
  });
2455
2474
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
2456
- var SidebarMenuSub = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2475
+ var SidebarMenuSub = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2457
2476
  "ul",
2458
2477
  {
2459
2478
  ref,
@@ -2467,9 +2486,9 @@ var SidebarMenuSub = React23__namespace.forwardRef(({ className, ...props }, ref
2467
2486
  }
2468
2487
  ));
2469
2488
  SidebarMenuSub.displayName = "SidebarMenuSub";
2470
- var SidebarMenuSubItem = React23__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...props }));
2489
+ var SidebarMenuSubItem = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...props }));
2471
2490
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
2472
- var SidebarMenuSubButton = React23__namespace.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
2491
+ var SidebarMenuSubButton = React24__namespace.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
2473
2492
  const Comp = asChild ? reactSlot.Slot : "a";
2474
2493
  return /* @__PURE__ */ jsxRuntime.jsx(
2475
2494
  Comp,
@@ -2571,7 +2590,7 @@ var statusDotVariants = classVarianceAuthority.cva("inline-block shrink-0 rounde
2571
2590
  size: "sm"
2572
2591
  }
2573
2592
  });
2574
- var StatusDot = React23__namespace.forwardRef(
2593
+ var StatusDot = React24__namespace.forwardRef(
2575
2594
  ({ className, tone, size, label, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2576
2595
  "span",
2577
2596
  {
@@ -2585,7 +2604,7 @@ var StatusDot = React23__namespace.forwardRef(
2585
2604
  )
2586
2605
  );
2587
2606
  StatusDot.displayName = "StatusDot";
2588
- var Table = React23__namespace.forwardRef(({ className, density = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2607
+ var Table = React24__namespace.forwardRef(({ className, density = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2589
2608
  "div",
2590
2609
  {
2591
2610
  "data-density": density,
@@ -2601,9 +2620,9 @@ var Table = React23__namespace.forwardRef(({ className, density = "default", ...
2601
2620
  }
2602
2621
  ));
2603
2622
  Table.displayName = "Table";
2604
- var TableHeader = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2623
+ var TableHeader = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2605
2624
  TableHeader.displayName = "TableHeader";
2606
- var TableBody = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2625
+ var TableBody = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2607
2626
  "tbody",
2608
2627
  {
2609
2628
  ref,
@@ -2612,7 +2631,7 @@ var TableBody = React23__namespace.forwardRef(({ className, ...props }, ref) =>
2612
2631
  }
2613
2632
  ));
2614
2633
  TableBody.displayName = "TableBody";
2615
- var TableFooter = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2634
+ var TableFooter = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2616
2635
  "tfoot",
2617
2636
  {
2618
2637
  ref,
@@ -2624,7 +2643,7 @@ var TableFooter = React23__namespace.forwardRef(({ className, ...props }, ref) =
2624
2643
  }
2625
2644
  ));
2626
2645
  TableFooter.displayName = "TableFooter";
2627
- var TableRow = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2646
+ var TableRow = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2628
2647
  "tr",
2629
2648
  {
2630
2649
  ref,
@@ -2636,7 +2655,7 @@ var TableRow = React23__namespace.forwardRef(({ className, ...props }, ref) => /
2636
2655
  }
2637
2656
  ));
2638
2657
  TableRow.displayName = "TableRow";
2639
- var TableHead = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2658
+ var TableHead = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2640
2659
  "th",
2641
2660
  {
2642
2661
  ref,
@@ -2646,14 +2665,14 @@ var TableHead = React23__namespace.forwardRef(({ className, ...props }, ref) =>
2646
2665
  // every cell follows from there. One prop on the table rather than a
2647
2666
  // size on <TableHead> and <TableCell> individually — four places to
2648
2667
  // forget, and a table with two densities in it is always a mistake.
2649
- "group-data-[density=compact]/table:h-[26px] group-data-[density=compact]/table:text-meta",
2668
+ "group-data-[density=compact]/table:h-[26px] group-data-[density=compact]/table:text-sm",
2650
2669
  className
2651
2670
  ),
2652
2671
  ...props
2653
2672
  }
2654
2673
  ));
2655
2674
  TableHead.displayName = "TableHead";
2656
- var TableCell = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2675
+ var TableCell = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2657
2676
  "td",
2658
2677
  {
2659
2678
  ref,
@@ -2666,7 +2685,7 @@ var TableCell = React23__namespace.forwardRef(({ className, ...props }, ref) =>
2666
2685
  }
2667
2686
  ));
2668
2687
  TableCell.displayName = "TableCell";
2669
- var TableCaption = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2688
+ var TableCaption = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2670
2689
  "caption",
2671
2690
  {
2672
2691
  ref,
@@ -2675,11 +2694,11 @@ var TableCaption = React23__namespace.forwardRef(({ className, ...props }, ref)
2675
2694
  }
2676
2695
  ));
2677
2696
  TableCaption.displayName = "TableCaption";
2678
- var TabsSizeContext = React23__namespace.createContext("default");
2679
- var Tabs = React23__namespace.forwardRef(({ size = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props }) }));
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 }) }));
2680
2699
  Tabs.displayName = TabsPrimitive__namespace.Root.displayName;
2681
- var TabsList = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2682
- const size = React23__namespace.useContext(TabsSizeContext);
2700
+ var TabsList = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2701
+ const size = React24__namespace.useContext(TabsSizeContext);
2683
2702
  return /* @__PURE__ */ jsxRuntime.jsx(
2684
2703
  TabsPrimitive__namespace.List,
2685
2704
  {
@@ -2694,14 +2713,14 @@ var TabsList = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2694
2713
  );
2695
2714
  });
2696
2715
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
2697
- var TabsTrigger = React23__namespace.forwardRef(({ className, ...props }, ref) => {
2698
- const size = React23__namespace.useContext(TabsSizeContext);
2716
+ var TabsTrigger = React24__namespace.forwardRef(({ className, ...props }, ref) => {
2717
+ const size = React24__namespace.useContext(TabsSizeContext);
2699
2718
  return /* @__PURE__ */ jsxRuntime.jsx(
2700
2719
  TabsPrimitive__namespace.Trigger,
2701
2720
  {
2702
2721
  ref,
2703
2722
  className: cn(
2704
- size === "sm" ? "h-[26px] px-2 text-meta" : "px-3 py-1",
2723
+ size === "sm" ? "h-[26px] px-2 text-sm" : "px-3 py-1",
2705
2724
  "inline-flex items-center justify-center whitespace-nowrap rounded-control font-medium ring-offset-background transition-colors text-muted-foreground hover:text-foreground hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-primary/15 data-[state=active]:text-primary data-[state=active]:ring-1 data-[state=active]:ring-primary/25 data-[state=active]:shadow-sm",
2706
2725
  className
2707
2726
  ),
@@ -2710,7 +2729,7 @@ var TabsTrigger = React23__namespace.forwardRef(({ className, ...props }, ref) =
2710
2729
  );
2711
2730
  });
2712
2731
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
2713
- var TabsContent = React23__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2732
+ var TabsContent = React24__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2714
2733
  TabsPrimitive__namespace.Content,
2715
2734
  {
2716
2735
  ref,
@@ -2742,7 +2761,7 @@ var toggleVariants = classVarianceAuthority.cva(
2742
2761
  }
2743
2762
  }
2744
2763
  );
2745
- var Toggle = React23__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2764
+ var Toggle = React24__namespace.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2746
2765
  TogglePrimitive__namespace.Root,
2747
2766
  {
2748
2767
  ref,
@@ -2751,11 +2770,11 @@ var Toggle = React23__namespace.forwardRef(({ className, variant, size, ...props
2751
2770
  }
2752
2771
  ));
2753
2772
  Toggle.displayName = TogglePrimitive__namespace.Root.displayName;
2754
- var ToggleGroupContext = React23__namespace.createContext({
2773
+ var ToggleGroupContext = React24__namespace.createContext({
2755
2774
  size: "default",
2756
2775
  variant: "default"
2757
2776
  });
2758
- var ToggleGroup = React23__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2777
+ var ToggleGroup = React24__namespace.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2759
2778
  ToggleGroupPrimitive__namespace.Root,
2760
2779
  {
2761
2780
  ref,
@@ -2765,8 +2784,8 @@ var ToggleGroup = React23__namespace.forwardRef(({ className, variant, size, chi
2765
2784
  }
2766
2785
  ));
2767
2786
  ToggleGroup.displayName = ToggleGroupPrimitive__namespace.Root.displayName;
2768
- var ToggleGroupItem = React23__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2769
- const context = React23__namespace.useContext(ToggleGroupContext);
2787
+ var ToggleGroupItem = React24__namespace.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2788
+ const context = React24__namespace.useContext(ToggleGroupContext);
2770
2789
  return /* @__PURE__ */ jsxRuntime.jsx(
2771
2790
  ToggleGroupPrimitive__namespace.Item,
2772
2791
  {
@@ -2795,7 +2814,7 @@ function split(address) {
2795
2814
  if (cut < 0) return { head: "", tail: address };
2796
2815
  return { head: address.slice(0, cut + 1), tail: address.slice(cut + 1) };
2797
2816
  }
2798
- var AddressChip = React23__namespace.forwardRef(
2817
+ var AddressChip = React24__namespace.forwardRef(
2799
2818
  ({ address, tone = "allowed", onOpen, className, ...props }, ref) => {
2800
2819
  const { head, tail } = split(address);
2801
2820
  const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -2817,8 +2836,8 @@ var AddressChip = React23__namespace.forwardRef(
2817
2836
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 shrink truncate", children: tail })
2818
2837
  ] });
2819
2838
  const shell = cn(
2820
- "inline-flex min-w-0 max-w-full items-baseline font-mono text-meta",
2821
- TONE[tone],
2839
+ "inline-flex min-w-0 max-w-full items-baseline font-mono text-sm",
2840
+ TONE[tone] ?? "text-foreground",
2822
2841
  className
2823
2842
  );
2824
2843
  if (onOpen) {
@@ -2841,7 +2860,7 @@ var AddressChip = React23__namespace.forwardRef(
2841
2860
  );
2842
2861
  AddressChip.displayName = "AddressChip";
2843
2862
  var agentChipVariants = classVarianceAuthority.cva(
2844
- "inline-flex max-w-full shrink-0 items-center gap-1 rounded-control border px-1.5 text-meta [&_svg]:size-3 [&_svg]:shrink-0",
2863
+ "inline-flex max-w-full shrink-0 items-center gap-1 rounded-control border px-1.5 text-sm [&_svg]:size-3 [&_svg]:shrink-0",
2845
2864
  {
2846
2865
  variants: {
2847
2866
  /**
@@ -2862,7 +2881,7 @@ var agentChipVariants = classVarianceAuthority.cva(
2862
2881
  defaultVariants: { kind: "agent", inactive: false }
2863
2882
  }
2864
2883
  );
2865
- var AgentChip = React23__namespace.forwardRef(
2884
+ var AgentChip = React24__namespace.forwardRef(
2866
2885
  ({ icon, name, kind, inactive, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2867
2886
  "span",
2868
2887
  {
@@ -2889,13 +2908,13 @@ var stateVariants = classVarianceAuthority.cva("inline-flex shrink-0 items-cente
2889
2908
  },
2890
2909
  defaultVariants: { tone: "active" }
2891
2910
  });
2892
- var AppStatusBar = React23__namespace.forwardRef(
2911
+ var AppStatusBar = React24__namespace.forwardRef(
2893
2912
  ({ state, tone, end, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2894
2913
  "div",
2895
2914
  {
2896
2915
  ref,
2897
2916
  className: cn(
2898
- "flex h-[25px] shrink-0 items-center gap-2 border-t border-border px-2 text-meta text-muted-foreground",
2917
+ "flex h-[25px] shrink-0 items-center gap-2 border-t border-border px-2 text-sm text-muted-foreground",
2899
2918
  className
2900
2919
  ),
2901
2920
  ...props,
@@ -2917,7 +2936,7 @@ var AppStatusBar = React23__namespace.forwardRef(
2917
2936
  )
2918
2937
  );
2919
2938
  AppStatusBar.displayName = "AppStatusBar";
2920
- var BarChartH = React23__namespace.forwardRef(
2939
+ var BarChartH = React24__namespace.forwardRef(
2921
2940
  ({
2922
2941
  data,
2923
2942
  max,
@@ -2929,12 +2948,12 @@ var BarChartH = React23__namespace.forwardRef(
2929
2948
  }, ref) => {
2930
2949
  const ceiling = max ?? (Math.max(...data.map((d) => d.value), 0) || 1);
2931
2950
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
2932
- caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: caption }) : null,
2951
+ caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
2933
2952
  data.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-4 items-center gap-2", children: [
2934
2953
  /* @__PURE__ */ jsxRuntime.jsx(
2935
2954
  "span",
2936
2955
  {
2937
- className: "shrink-0 truncate text-meta text-muted-foreground",
2956
+ className: "shrink-0 truncate text-sm text-muted-foreground",
2938
2957
  style: { width: labelWidth },
2939
2958
  children: d.label
2940
2959
  }
@@ -2951,14 +2970,14 @@ var BarChartH = React23__namespace.forwardRef(
2951
2970
  }
2952
2971
  }
2953
2972
  ),
2954
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-meta tabular-nums", children: d.display ?? d.value })
2973
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm tabular-nums", children: d.display ?? d.value })
2955
2974
  ] })
2956
2975
  ] }, i))
2957
2976
  ] });
2958
2977
  }
2959
2978
  );
2960
2979
  BarChartH.displayName = "BarChartH";
2961
- var BarChartV = React23__namespace.forwardRef(
2980
+ var BarChartV = React24__namespace.forwardRef(
2962
2981
  ({
2963
2982
  data,
2964
2983
  max,
@@ -2976,7 +2995,7 @@ var BarChartV = React23__namespace.forwardRef(
2976
2995
  const emphasis = highlightIndex ?? data.length - 1;
2977
2996
  const labelled = (i) => labelMode === "all" || labelMode === "last" && i === emphasis;
2978
2997
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
2979
- caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: caption }) : null,
2998
+ caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
2980
2999
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative mt-2", style: { height }, children: [
2981
3000
  gridlines.map((g) => /* @__PURE__ */ jsxRuntime.jsxs(
2982
3001
  "div",
@@ -2986,7 +3005,7 @@ var BarChartV = React23__namespace.forwardRef(
2986
3005
  style: { bottom: `${g / ceiling * 100}%` },
2987
3006
  children: [
2988
3007
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "h-px flex-1 bg-border" }),
2989
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pl-1 text-meta tabular-nums text-muted-foreground", children: g })
3008
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pl-1 text-sm tabular-nums text-muted-foreground", children: g })
2990
3009
  ]
2991
3010
  },
2992
3011
  g
@@ -2996,7 +3015,7 @@ var BarChartV = React23__namespace.forwardRef(
2996
3015
  {
2997
3016
  className: "flex h-full min-w-0 flex-1 flex-col items-center justify-end gap-1",
2998
3017
  children: [
2999
- labelled(i) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta tabular-nums", children: d.display ?? d.value }) : null,
3018
+ labelled(i) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm tabular-nums", children: d.display ?? d.value }) : null,
3000
3019
  /* @__PURE__ */ jsxRuntime.jsx(
3001
3020
  "span",
3002
3021
  {
@@ -3015,38 +3034,34 @@ var BarChartV = React23__namespace.forwardRef(
3015
3034
  )) })
3016
3035
  ] }),
3017
3036
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-between gap-2", children: data.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col items-center", children: [
3018
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-meta text-muted-foreground", children: d.label }),
3019
- d.sublabel != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-meta text-muted-foreground/70", children: d.sublabel }) : null
3037
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm text-muted-foreground", children: d.label }),
3038
+ d.sublabel != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm text-muted-foreground/70", children: d.sublabel }) : null
3020
3039
  ] }, i)) })
3021
3040
  ] });
3022
3041
  }
3023
3042
  );
3024
3043
  BarChartV.displayName = "BarChartV";
3025
- var SWATCH = {
3026
- none: "bg-muted-foreground",
3027
- network: "bg-warning",
3028
- graph_read: "bg-success",
3029
- graph_write: "bg-data-2",
3030
- schema_write: "bg-data-4",
3031
- ingest: "bg-info",
3032
- llm: "bg-data-7",
3033
- plan_write: "bg-data-5",
3034
- work_write: "bg-destructive"
3035
- };
3036
- var BoundChip = React23__namespace.forwardRef(
3037
- ({ bound, swatchOnly, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3044
+ var UNPAINTED = "bg-muted-foreground";
3045
+ var BoundChip = React24__namespace.forwardRef(
3046
+ ({ bound, swatchOnly, label, swatch, palette, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3038
3047
  "span",
3039
3048
  {
3040
3049
  ref,
3041
3050
  className: cn(
3042
- "inline-flex max-w-full shrink-0 items-center gap-1.5 font-mono text-meta text-muted-foreground",
3051
+ "inline-flex max-w-full shrink-0 items-center gap-1.5 font-mono text-sm text-muted-foreground",
3043
3052
  className
3044
3053
  ),
3045
3054
  "aria-label": swatchOnly ? `bound: ${bound}` : void 0,
3046
3055
  ...props,
3047
3056
  children: [
3048
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: cn("size-1.5 shrink-0", SWATCH[bound]) }),
3049
- swatchOnly ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: bound })
3057
+ /* @__PURE__ */ jsxRuntime.jsx(
3058
+ "span",
3059
+ {
3060
+ "aria-hidden": true,
3061
+ className: cn("size-1.5 shrink-0", swatch ?? palette?.[bound] ?? UNPAINTED)
3062
+ }
3063
+ ),
3064
+ swatchOnly ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: label ?? bound })
3050
3065
  ]
3051
3066
  }
3052
3067
  )
@@ -3058,7 +3073,7 @@ function ButtonWithTooltip(props) {
3058
3073
  /* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { children: props.tooltip })
3059
3074
  ] }) });
3060
3075
  }
3061
- var CannotAnswerCard = React23__namespace.forwardRef(({ label = "cannot answer", remedy, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3076
+ var CannotAnswerCard = React24__namespace.forwardRef(({ label = "cannot answer", remedy, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
3062
3077
  "div",
3063
3078
  {
3064
3079
  ref,
@@ -3068,9 +3083,9 @@ var CannotAnswerCard = React23__namespace.forwardRef(({ label = "cannot answer",
3068
3083
  ),
3069
3084
  ...props,
3070
3085
  children: [
3071
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta font-medium text-muted-foreground", children: label }),
3086
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-muted-foreground", children: label }),
3072
3087
  /* @__PURE__ */ jsxRuntime.jsx("span", { children }),
3073
- remedy != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: remedy }) : null
3088
+ remedy != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: remedy }) : null
3074
3089
  ]
3075
3090
  }
3076
3091
  ));
@@ -3082,7 +3097,7 @@ var PURPOSE = {
3082
3097
  judge: "scores an output \u2014 often local",
3083
3098
  embed: "text in, vector out"
3084
3099
  };
3085
- var CastTable = React23__namespace.forwardRef(
3100
+ var CastTable = React24__namespace.forwardRef(
3086
3101
  ({ cast = {}, resolved, readOnly, className, ...props }, ref) => {
3087
3102
  const byRole = new Map((resolved ?? []).map((r) => [r.role, r]));
3088
3103
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("min-w-0", className), ...props, children: [
@@ -3097,15 +3112,15 @@ var CastTable = React23__namespace.forwardRef(
3097
3112
  const address = hit ? hit.address : cast[role] ?? null;
3098
3113
  const denied = hit ? !hit.allowed : false;
3099
3114
  return /* @__PURE__ */ jsxRuntime.jsxs(TableRow, { "data-role": role, children: [
3100
- /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "font-mono text-meta text-muted-foreground", children: role }),
3115
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "font-mono text-sm text-muted-foreground", children: role }),
3101
3116
  /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "min-w-0", children: address ? /* @__PURE__ */ jsxRuntime.jsx(
3102
3117
  AddressChip,
3103
3118
  {
3104
3119
  address,
3105
3120
  tone: denied ? "denied" : "allowed"
3106
3121
  }
3107
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground/70", children: "nothing casts it" }) }),
3108
- /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "text-meta text-muted-foreground", children: denied ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-destructive", children: [
3122
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground/70", children: "nothing casts it" }) }),
3123
+ /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "text-sm text-muted-foreground", children: denied ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-destructive", children: [
3109
3124
  "denied by ",
3110
3125
  hit?.ruleMatched ?? "this world"
3111
3126
  ] }) : hit?.source ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: hit.source !== "shipped" ? `set on the ${hit.source}` : address ? "shipped default" : (
@@ -3117,7 +3132,7 @@ var CastTable = React23__namespace.forwardRef(
3117
3132
  ] }, role);
3118
3133
  }) })
3119
3134
  ] }),
3120
- readOnly ? null : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-2 pt-1 text-meta text-muted-foreground/70", children: "A cast picks within the rules \u2014 it never widens them." })
3135
+ readOnly ? null : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-2 pt-1 text-sm text-muted-foreground/70", children: "A cast picks within the rules \u2014 it never widens them." })
3121
3136
  ] });
3122
3137
  }
3123
3138
  );
@@ -3131,20 +3146,20 @@ function ChatSession({
3131
3146
  className,
3132
3147
  bodyClassName
3133
3148
  }) {
3134
- const rootRef = React23__namespace.useRef(null);
3135
- const contentRef = React23__namespace.useRef(null);
3136
- const pinnedRef = React23__namespace.useRef(true);
3137
- const getViewport = React23__namespace.useCallback(
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(
3138
3153
  () => rootRef.current?.querySelector(
3139
3154
  "[data-radix-scroll-area-viewport]"
3140
3155
  ) ?? null,
3141
3156
  []
3142
3157
  );
3143
- const scrollToBottom = React23__namespace.useCallback(() => {
3158
+ const scrollToBottom = React24__namespace.useCallback(() => {
3144
3159
  const viewport = getViewport();
3145
3160
  if (viewport) viewport.scrollTop = viewport.scrollHeight;
3146
3161
  }, [getViewport]);
3147
- React23__namespace.useEffect(() => {
3162
+ React24__namespace.useEffect(() => {
3148
3163
  const viewport = getViewport();
3149
3164
  if (!viewport) return;
3150
3165
  const handleScroll = () => {
@@ -3154,7 +3169,7 @@ function ChatSession({
3154
3169
  viewport.addEventListener("scroll", handleScroll, { passive: true });
3155
3170
  return () => viewport.removeEventListener("scroll", handleScroll);
3156
3171
  }, [getViewport, followThreshold]);
3157
- React23__namespace.useEffect(() => {
3172
+ React24__namespace.useEffect(() => {
3158
3173
  const content = contentRef.current;
3159
3174
  if (!content || typeof ResizeObserver === "undefined") return;
3160
3175
  const observer = new ResizeObserver(() => {
@@ -3163,11 +3178,11 @@ function ChatSession({
3163
3178
  observer.observe(content);
3164
3179
  return () => observer.disconnect();
3165
3180
  }, [scrollToBottom]);
3166
- React23__namespace.useEffect(() => {
3181
+ React24__namespace.useEffect(() => {
3167
3182
  pinnedRef.current = true;
3168
3183
  scrollToBottom();
3169
3184
  }, [autoScrollKey, scrollToBottom]);
3170
- const isEmpty = React23__namespace.Children.count(children) === 0;
3185
+ const isEmpty = React24__namespace.Children.count(children) === 0;
3171
3186
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col h-full min-h-0", className), children: [
3172
3187
  /* @__PURE__ */ jsxRuntime.jsx(
3173
3188
  ScrollArea,
@@ -3260,12 +3275,12 @@ function useOverflowItems({
3260
3275
  pinnedIndex,
3261
3276
  reserve = 32
3262
3277
  }) {
3263
- const containerEl = React23__namespace.useRef(null);
3264
- const itemEls = React23__namespace.useRef([]);
3265
- const widths = React23__namespace.useRef([]);
3266
- const itemRefs = React23__namespace.useRef([]);
3267
- const [hidden, setHidden] = React23__namespace.useState(NONE);
3268
- const fit = React23__namespace.useCallback(() => {
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(() => {
3269
3284
  const el = containerEl.current;
3270
3285
  if (!el || !enabled) {
3271
3286
  setHidden((prev) => prev === NONE ? prev : NONE);
@@ -3294,12 +3309,12 @@ function useOverflowItems({
3294
3309
  }
3295
3310
  setHidden((prev) => same(prev, next) ? prev : next);
3296
3311
  }, [count, enabled, pinnedIndex, reserve]);
3297
- React23__namespace.useLayoutEffect(() => {
3312
+ React24__namespace.useLayoutEffect(() => {
3298
3313
  widths.current = [];
3299
3314
  itemEls.current.length = count;
3300
3315
  setHidden((prev) => prev === NONE ? prev : NONE);
3301
3316
  }, [count]);
3302
- React23__namespace.useLayoutEffect(() => {
3317
+ React24__namespace.useLayoutEffect(() => {
3303
3318
  fit();
3304
3319
  if (!enabled || typeof ResizeObserver === "undefined") return;
3305
3320
  const observer = new ResizeObserver(() => fit());
@@ -3307,10 +3322,10 @@ function useOverflowItems({
3307
3322
  for (const item of itemEls.current) if (item) observer.observe(item);
3308
3323
  return () => observer.disconnect();
3309
3324
  }, [fit, enabled, hidden]);
3310
- const containerRef = React23__namespace.useCallback((el) => {
3325
+ const containerRef = React24__namespace.useCallback((el) => {
3311
3326
  containerEl.current = el;
3312
3327
  }, []);
3313
- const itemRef = React23__namespace.useCallback((index) => {
3328
+ const itemRef = React24__namespace.useCallback((index) => {
3314
3329
  let fn = itemRefs.current[index];
3315
3330
  if (!fn) {
3316
3331
  fn = (el) => {
@@ -3320,7 +3335,7 @@ function useOverflowItems({
3320
3335
  }
3321
3336
  return fn;
3322
3337
  }, []);
3323
- const isHidden = React23__namespace.useCallback(
3338
+ const isHidden = React24__namespace.useCallback(
3324
3339
  (index) => hidden.includes(index),
3325
3340
  [hidden]
3326
3341
  );
@@ -3373,15 +3388,15 @@ var NavItems = ({
3373
3388
  const isVertical = orientation === "vertical";
3374
3389
  const isTabs = selectionMode === "tabs";
3375
3390
  const V = VARIANT[variant];
3376
- const [internalActive, setInternalActive] = React23__namespace.default.useState(
3391
+ const [internalActive, setInternalActive] = React24__namespace.default.useState(
3377
3392
  null
3378
3393
  );
3379
3394
  const isControlled = activeKey !== void 0;
3380
3395
  const currentKey = isControlled ? activeKey : internalActive;
3381
3396
  const activeIndex = items.findIndex((item) => keyOf(item) === currentKey);
3382
- const nodes = React23__namespace.default.useRef({});
3383
- const pendingFocus = React23__namespace.default.useRef(null);
3384
- React23__namespace.default.useEffect(() => {
3397
+ const nodes = React24__namespace.default.useRef({});
3398
+ const pendingFocus = React24__namespace.default.useRef(null);
3399
+ React24__namespace.default.useEffect(() => {
3385
3400
  const key = pendingFocus.current;
3386
3401
  if (!key) return;
3387
3402
  const node = nodes.current[key];
@@ -3394,7 +3409,7 @@ var NavItems = ({
3394
3409
  enabled: overflow && !isVertical,
3395
3410
  pinnedIndex: activeIndex >= 0 ? activeIndex : void 0
3396
3411
  });
3397
- const select = React23__namespace.default.useCallback(
3412
+ const select = React24__namespace.default.useCallback(
3398
3413
  (item) => {
3399
3414
  if (item.disabled) return;
3400
3415
  const key = keyOf(item);
@@ -3464,6 +3479,7 @@ var NavItems = ({
3464
3479
  }
3465
3480
  );
3466
3481
  const label = item.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: item.labelClassName, children: item.label });
3482
+ const a11y = label ? {} : { "aria-label": item.name };
3467
3483
  const badge = item.badge != null && /* @__PURE__ */ jsxRuntime.jsx(
3468
3484
  "span",
3469
3485
  {
@@ -3503,6 +3519,7 @@ var NavItems = ({
3503
3519
  {
3504
3520
  ref: setNode,
3505
3521
  ...tabProps,
3522
+ ...a11y,
3506
3523
  style: item.style,
3507
3524
  onClick: () => select(item),
3508
3525
  className: itemClass,
@@ -3513,6 +3530,7 @@ var NavItems = ({
3513
3530
  {
3514
3531
  ref: setNode,
3515
3532
  href: item.href,
3533
+ ...a11y,
3516
3534
  style: item.style,
3517
3535
  onClick: () => select(item),
3518
3536
  className: itemClass,
@@ -3525,6 +3543,7 @@ var NavItems = ({
3525
3543
  type: "button",
3526
3544
  disabled: item.disabled,
3527
3545
  ...tabProps,
3546
+ ...a11y,
3528
3547
  style: item.style,
3529
3548
  onClick: () => {
3530
3549
  if (hasMenu) item.onClick?.();
@@ -3538,7 +3557,7 @@ var NavItems = ({
3538
3557
  /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: hasMenu && !asCaret ? /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: control }) : control }),
3539
3558
  /* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { side: item.tooltipSide || tooltipSide, children: item.tooltip || item.name })
3540
3559
  ] });
3541
- return /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.default.Fragment, { children: [
3560
+ return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.default.Fragment, { children: [
3542
3561
  hasMenu ? /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
3543
3562
  withTooltip,
3544
3563
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -3628,7 +3647,7 @@ function renderMenuRows(menuItems) {
3628
3647
  const gutter = menuItems?.some((m) => m.icon);
3629
3648
  return menuItems?.map((menuItem) => {
3630
3649
  const MenuIcon = menuItem.icon;
3631
- return /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.default.Fragment, { children: [
3650
+ return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.default.Fragment, { children: [
3632
3651
  menuItem.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
3633
3652
  /* @__PURE__ */ jsxRuntime.jsxs(
3634
3653
  DropdownMenuItem,
@@ -3947,7 +3966,7 @@ function ChatSessionDisclosure({
3947
3966
  className,
3948
3967
  contentClassName
3949
3968
  }) {
3950
- const [uncontrolledOpen, setUncontrolledOpen] = React23__namespace.useState(defaultOpen);
3969
+ const [uncontrolledOpen, setUncontrolledOpen] = React24__namespace.useState(defaultOpen);
3951
3970
  const isOpen = open ?? uncontrolledOpen;
3952
3971
  const toggle = () => {
3953
3972
  const next = !isOpen;
@@ -4078,7 +4097,7 @@ function ChatSessionContextChip({
4078
4097
  "div",
4079
4098
  {
4080
4099
  className: cn(
4081
- "flex min-h-[26px] items-center gap-1.5 border border-border bg-muted/40 px-1.5 text-meta",
4100
+ "flex min-h-[26px] items-center gap-1.5 border border-border bg-muted/40 px-1.5 text-sm",
4082
4101
  className
4083
4102
  ),
4084
4103
  ...props,
@@ -4099,9 +4118,9 @@ function ChatSessionContextChip({
4099
4118
  }
4100
4119
  );
4101
4120
  }
4102
- var CitationList = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children }));
4121
+ var CitationList = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children }));
4103
4122
  CitationList.displayName = "CitationList";
4104
- var CitationRow = React23__namespace.forwardRef(
4123
+ var CitationRow = React24__namespace.forwardRef(
4105
4124
  ({ kind, source, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4106
4125
  "li",
4107
4126
  {
@@ -4109,15 +4128,15 @@ var CitationRow = React23__namespace.forwardRef(
4109
4128
  className: cn("flex min-h-[26px] items-center gap-2 py-0.5", className),
4110
4129
  ...props,
4111
4130
  children: [
4112
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 border border-border px-1 text-meta text-muted-foreground", children: kind }),
4131
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 border border-border px-1 text-sm text-muted-foreground", children: kind }),
4113
4132
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", children }),
4114
- source != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-meta text-muted-foreground", children: source }) : null
4133
+ source != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: source }) : null
4115
4134
  ]
4116
4135
  }
4117
4136
  )
4118
4137
  );
4119
4138
  CitationRow.displayName = "CitationRow";
4120
- var ClampedText = React23__namespace.forwardRef(
4139
+ var ClampedText = React24__namespace.forwardRef(
4121
4140
  ({
4122
4141
  lines = 3,
4123
4142
  moreLabel = "Show more",
@@ -4126,10 +4145,10 @@ var ClampedText = React23__namespace.forwardRef(
4126
4145
  children,
4127
4146
  ...props
4128
4147
  }, ref) => {
4129
- const [expanded, setExpanded] = React23__namespace.useState(false);
4130
- const [clipped, setClipped] = React23__namespace.useState(false);
4131
- const bodyRef = React23__namespace.useRef(null);
4132
- React23__namespace.useLayoutEffect(() => {
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(() => {
4133
4152
  const el = bodyRef.current;
4134
4153
  if (!el || expanded) return;
4135
4154
  const measure = () => setClipped(el.scrollHeight - el.clientHeight > 1);
@@ -4167,7 +4186,7 @@ var ClampedText = React23__namespace.forwardRef(
4167
4186
  }
4168
4187
  );
4169
4188
  ClampedText.displayName = "ClampedText";
4170
- var ClarifyCard = React23__namespace.forwardRef(
4189
+ var ClarifyCard = React24__namespace.forwardRef(
4171
4190
  ({
4172
4191
  step,
4173
4192
  waiting,
@@ -4180,7 +4199,7 @@ var ClarifyCard = React23__namespace.forwardRef(
4180
4199
  className,
4181
4200
  ...props
4182
4201
  }, ref) => {
4183
- const name = React23__namespace.useId();
4202
+ const name = React24__namespace.useId();
4184
4203
  return /* @__PURE__ */ jsxRuntime.jsxs(
4185
4204
  "div",
4186
4205
  {
@@ -4188,7 +4207,7 @@ var ClarifyCard = React23__namespace.forwardRef(
4188
4207
  className: cn("flex flex-col overflow-hidden border border-border bg-card", className),
4189
4208
  ...props,
4190
4209
  children: [
4191
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-meta", children: [
4210
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-sm", children: [
4192
4211
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-medium", children: "question" }),
4193
4212
  step != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-muted-foreground", children: step }) : null,
4194
4213
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
@@ -4231,7 +4250,7 @@ var ClarifyCard = React23__namespace.forwardRef(
4231
4250
  }
4232
4251
  ),
4233
4252
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children: o.label }),
4234
- o.detail != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono text-meta text-muted-foreground", children: o.detail }) : null
4253
+ o.detail != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono text-sm text-muted-foreground", children: o.detail }) : null
4235
4254
  ]
4236
4255
  },
4237
4256
  o.value
@@ -4239,7 +4258,7 @@ var ClarifyCard = React23__namespace.forwardRef(
4239
4258
  }) }),
4240
4259
  actions || footnote != null ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
4241
4260
  actions,
4242
- footnote != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-meta text-muted-foreground", children: footnote }) : null
4261
+ footnote != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm text-muted-foreground", children: footnote }) : null
4243
4262
  ] }) : null
4244
4263
  ] })
4245
4264
  ]
@@ -4248,13 +4267,13 @@ var ClarifyCard = React23__namespace.forwardRef(
4248
4267
  }
4249
4268
  );
4250
4269
  ClarifyCard.displayName = "ClarifyCard";
4251
- var ContextBar = React23__namespace.forwardRef(
4270
+ var ContextBar = React24__namespace.forwardRef(
4252
4271
  ({ counters, hint, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4253
4272
  "div",
4254
4273
  {
4255
4274
  ref,
4256
4275
  className: cn(
4257
- "flex h-7 shrink-0 items-center gap-3 border-t border-border px-2 text-meta",
4276
+ "flex h-7 shrink-0 items-center gap-3 border-t border-border px-2 text-sm",
4258
4277
  className
4259
4278
  ),
4260
4279
  ...props,
@@ -4267,22 +4286,22 @@ var ContextBar = React23__namespace.forwardRef(
4267
4286
  )
4268
4287
  );
4269
4288
  ContextBar.displayName = "ContextBar";
4270
- var DiagnosisCard = React23__namespace.forwardRef(({ code, attempted, target, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4289
+ var DiagnosisCard = React24__namespace.forwardRef(({ code, attempted, target, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4271
4290
  "div",
4272
4291
  {
4273
4292
  ref,
4274
4293
  className: cn("flex flex-col gap-2 border border-destructive/40 bg-card p-2", className),
4275
4294
  ...props,
4276
4295
  children: [
4277
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-meta", children: [
4296
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
4278
4297
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-medium text-destructive", children: "diagnosis" }),
4279
4298
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-mono text-muted-foreground", children: code })
4280
4299
  ] }),
4281
4300
  children != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { children }) : null,
4282
4301
  attempted != null || target != null ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 border border-border bg-muted/40 p-1.5", children: [
4283
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: "what was tried" }),
4284
- attempted != null ? /* @__PURE__ */ jsxRuntime.jsx("code", { className: "whitespace-pre-wrap break-all font-mono text-meta", children: attempted }) : null,
4285
- target != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: target }) : null
4302
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "what was tried" }),
4303
+ attempted != null ? /* @__PURE__ */ jsxRuntime.jsx("code", { className: "whitespace-pre-wrap break-all font-mono text-sm", children: attempted }) : null,
4304
+ target != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: target }) : null
4286
4305
  ] }) : null,
4287
4306
  actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1.5", children: actions }) : null
4288
4307
  ]
@@ -4295,19 +4314,19 @@ var OP_CLASS = {
4295
4314
  remove: "text-destructive",
4296
4315
  change: "text-warning"
4297
4316
  };
4298
- var DiffList = React23__namespace.forwardRef(
4317
+ var DiffList = React24__namespace.forwardRef(
4299
4318
  ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children })
4300
4319
  );
4301
4320
  DiffList.displayName = "DiffList";
4302
- var DiffRow = React23__namespace.forwardRef(
4321
+ var DiffRow = React24__namespace.forwardRef(
4303
4322
  ({ op = "add", kind, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4304
4323
  "li",
4305
4324
  {
4306
4325
  ref,
4307
- className: cn("flex items-baseline gap-2 py-0.5 text-meta", className),
4326
+ className: cn("flex items-baseline gap-2 py-0.5 text-sm", className),
4308
4327
  ...props,
4309
4328
  children: [
4310
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("w-3 shrink-0 text-center font-mono", OP_CLASS[op]), children: OP_SIGN[op] }),
4329
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("w-3 shrink-0 text-center font-mono", OP_CLASS[op] ?? "text-muted-foreground"), children: OP_SIGN[op] }),
4311
4330
  kind != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-muted-foreground", children: kind }) : null,
4312
4331
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1", children })
4313
4332
  ]
@@ -4315,7 +4334,7 @@ var DiffRow = React23__namespace.forwardRef(
4315
4334
  )
4316
4335
  );
4317
4336
  DiffRow.displayName = "DiffRow";
4318
- var DivergingBar = React23__namespace.forwardRef(
4337
+ var DivergingBar = React24__namespace.forwardRef(
4319
4338
  ({
4320
4339
  data,
4321
4340
  max,
@@ -4328,7 +4347,7 @@ var DivergingBar = React23__namespace.forwardRef(
4328
4347
  }, ref) => {
4329
4348
  const ceiling = max ?? (Math.max(...data.map((d) => Math.abs(d.value)), 0) || 1);
4330
4349
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
4331
- caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: caption }) : null,
4350
+ caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
4332
4351
  data.map((d, i) => {
4333
4352
  const positive = d.value >= 0;
4334
4353
  const width = `${Math.abs(d.value) / ceiling * 50}%`;
@@ -4336,7 +4355,7 @@ var DivergingBar = React23__namespace.forwardRef(
4336
4355
  /* @__PURE__ */ jsxRuntime.jsx(
4337
4356
  "span",
4338
4357
  {
4339
- className: "shrink-0 truncate text-meta text-muted-foreground",
4358
+ className: "shrink-0 truncate text-sm text-muted-foreground",
4340
4359
  style: { width: labelWidth },
4341
4360
  children: d.label
4342
4361
  }
@@ -4366,14 +4385,14 @@ var DivergingBar = React23__namespace.forwardRef(
4366
4385
  }
4367
4386
  ) : null })
4368
4387
  ] }),
4369
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-8 shrink-0 text-right text-meta tabular-nums", children: d.display ?? (d.value > 0 ? `+${d.value}` : d.value) })
4388
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-8 shrink-0 text-right text-sm tabular-nums", children: d.display ?? (d.value > 0 ? `+${d.value}` : d.value) })
4370
4389
  ] }, i);
4371
4390
  })
4372
4391
  ] });
4373
4392
  }
4374
4393
  );
4375
4394
  DivergingBar.displayName = "DivergingBar";
4376
- var EgressList = React23__namespace.forwardRef(
4395
+ var EgressList = React24__namespace.forwardRef(
4377
4396
  ({ to, classes = [], cut = [], className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4378
4397
  "div",
4379
4398
  {
@@ -4383,7 +4402,7 @@ var EgressList = React23__namespace.forwardRef(
4383
4402
  children: [
4384
4403
  /* @__PURE__ */ jsxRuntime.jsx(AddressChip, { address: to }),
4385
4404
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col gap-0.5 pl-3", children: [
4386
- classes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-destructive", children: "nothing may be sent" }) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-meta text-muted-foreground", children: [
4405
+ classes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-destructive", children: "nothing may be sent" }) : /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-sm text-muted-foreground", children: [
4387
4406
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: "may send" }),
4388
4407
  classes.map((c) => /* @__PURE__ */ jsxRuntime.jsx(
4389
4408
  "span",
@@ -4394,7 +4413,7 @@ var EgressList = React23__namespace.forwardRef(
4394
4413
  c
4395
4414
  ))
4396
4415
  ] }),
4397
- cut.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-meta text-muted-foreground", children: [
4416
+ cut.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-sm text-muted-foreground", children: [
4398
4417
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: "cut" }),
4399
4418
  cut.map((c) => /* @__PURE__ */ jsxRuntime.jsx(
4400
4419
  "span",
@@ -4411,12 +4430,12 @@ var EgressList = React23__namespace.forwardRef(
4411
4430
  )
4412
4431
  );
4413
4432
  EgressList.displayName = "EgressList";
4414
- var EmissionHeader = React23__namespace.forwardRef(({ kind, template, citation, note, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4433
+ var EmissionHeader = React24__namespace.forwardRef(({ kind, template, citation, note, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4415
4434
  "div",
4416
4435
  {
4417
4436
  ref,
4418
4437
  className: cn(
4419
- "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-meta",
4438
+ "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-sm",
4420
4439
  className
4421
4440
  ),
4422
4441
  ...props,
@@ -4431,7 +4450,7 @@ var EmissionHeader = React23__namespace.forwardRef(({ kind, template, citation,
4431
4450
  }
4432
4451
  ));
4433
4452
  EmissionHeader.displayName = "EmissionHeader";
4434
- var EmissionCard = React23__namespace.forwardRef(
4453
+ var EmissionCard = React24__namespace.forwardRef(
4435
4454
  ({
4436
4455
  kind,
4437
4456
  template,
@@ -4466,7 +4485,7 @@ var EmissionCard = React23__namespace.forwardRef(
4466
4485
  )
4467
4486
  );
4468
4487
  EmissionCard.displayName = "EmissionCard";
4469
- var CitationMarker = React23__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4488
+ var CitationMarker = React24__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4470
4489
  "sup",
4471
4490
  {
4472
4491
  ref,
@@ -4476,7 +4495,7 @@ var CitationMarker = React23__namespace.forwardRef(({ className, children, ...pr
4476
4495
  }
4477
4496
  ));
4478
4497
  CitationMarker.displayName = "CitationMarker";
4479
- var EmptyState = React23__namespace.forwardRef(
4498
+ var EmptyState = React24__namespace.forwardRef(
4480
4499
  ({ icon, title, description, actions, locks, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4481
4500
  "div",
4482
4501
  {
@@ -4497,12 +4516,12 @@ var EmptyState = React23__namespace.forwardRef(
4497
4516
  )
4498
4517
  );
4499
4518
  EmptyState.displayName = "EmptyState";
4500
- var EmptyStateLock = React23__namespace.forwardRef(({ icon, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4519
+ var EmptyStateLock = React24__namespace.forwardRef(({ icon, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4501
4520
  "span",
4502
4521
  {
4503
4522
  ref,
4504
4523
  className: cn(
4505
- "inline-flex h-6 items-center gap-1.5 border border-dashed border-border px-2 text-meta text-muted-foreground [&_svg]:size-3",
4524
+ "inline-flex h-6 items-center gap-1.5 border border-dashed border-border px-2 text-sm text-muted-foreground [&_svg]:size-3",
4506
4525
  className
4507
4526
  ),
4508
4527
  ...props,
@@ -4513,7 +4532,7 @@ var EmptyStateLock = React23__namespace.forwardRef(({ icon, className, children,
4513
4532
  }
4514
4533
  ));
4515
4534
  EmptyStateLock.displayName = "EmptyStateLock";
4516
- var ErrorBoundary = class extends React23.Component {
4535
+ var ErrorBoundary = class extends React24.Component {
4517
4536
  constructor(props) {
4518
4537
  super(props);
4519
4538
  this.state = { hasError: false };
@@ -4534,13 +4553,13 @@ var ErrorBoundary = class extends React23.Component {
4534
4553
  return this.props.children;
4535
4554
  }
4536
4555
  };
4537
- var Eyebrow = React23__namespace.forwardRef(
4556
+ var Eyebrow = React24__namespace.forwardRef(
4538
4557
  ({ aside, tone = "muted", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4539
4558
  "div",
4540
4559
  {
4541
4560
  ref,
4542
4561
  className: cn(
4543
- "flex items-baseline gap-2 text-meta font-semibold uppercase tracking-wide",
4562
+ "flex items-baseline gap-2 text-sm font-semibold uppercase tracking-wide",
4544
4563
  tone === "muted" && "text-muted-foreground",
4545
4564
  tone === "foreground" && "text-foreground",
4546
4565
  tone === "accent" && "text-primary",
@@ -4555,7 +4574,7 @@ var Eyebrow = React23__namespace.forwardRef(
4555
4574
  )
4556
4575
  );
4557
4576
  Eyebrow.displayName = "Eyebrow";
4558
- var FilterBar = React23__namespace.forwardRef(
4577
+ var FilterBar = React24__namespace.forwardRef(
4559
4578
  ({ summary, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4560
4579
  "div",
4561
4580
  {
@@ -4568,13 +4587,13 @@ var FilterBar = React23__namespace.forwardRef(
4568
4587
  children: [
4569
4588
  children,
4570
4589
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
4571
- summary != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-meta text-muted-foreground", children: summary }) : null
4590
+ summary != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: summary }) : null
4572
4591
  ]
4573
4592
  }
4574
4593
  )
4575
4594
  );
4576
4595
  FilterBar.displayName = "FilterBar";
4577
- var FilterChip = React23__namespace.forwardRef(
4596
+ var FilterChip = React24__namespace.forwardRef(
4578
4597
  ({ label, value, active, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4579
4598
  Button,
4580
4599
  {
@@ -4598,9 +4617,9 @@ var FilterChip = React23__namespace.forwardRef(
4598
4617
  )
4599
4618
  );
4600
4619
  FilterChip.displayName = "FilterChip";
4601
- var HeatStrip = React23__namespace.forwardRef(
4620
+ var HeatStrip = React24__namespace.forwardRef(
4602
4621
  ({ cells, states, ticks, cellSize = 14, className, ...props }, ref) => {
4603
- const byKey = React23__namespace.useMemo(
4622
+ const byKey = React24__namespace.useMemo(
4604
4623
  () => new Map(states.map((s) => [s.key, s])),
4605
4624
  [states]
4606
4625
  );
@@ -4627,14 +4646,14 @@ var HeatStrip = React23__namespace.forwardRef(
4627
4646
  return /* @__PURE__ */ jsxRuntime.jsx(
4628
4647
  "span",
4629
4648
  {
4630
- className: "shrink-0 text-meta tabular-nums text-muted-foreground",
4649
+ className: "shrink-0 text-sm tabular-nums text-muted-foreground",
4631
4650
  style: { width: cellSize },
4632
4651
  children: tick ? tick.label : ""
4633
4652
  },
4634
4653
  i
4635
4654
  );
4636
4655
  }) }) : null,
4637
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-meta", children: states.map((s) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5", children: [
4656
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: states.map((s) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5", children: [
4638
4657
  /* @__PURE__ */ jsxRuntime.jsx(
4639
4658
  "span",
4640
4659
  {
@@ -4652,54 +4671,58 @@ var HeatStrip = React23__namespace.forwardRef(
4652
4671
  }
4653
4672
  );
4654
4673
  HeatStrip.displayName = "HeatStrip";
4655
- var LABEL = {
4656
- graph_data: "graph data",
4657
- llm: "llm",
4658
- third_party: "third party",
4659
- cache: "cache",
4660
- human: "human",
4661
- agent: "agent"
4662
- };
4663
- var SWATCH2 = {
4664
- graph_data: "bg-data-1",
4665
- llm: "bg-data-7",
4666
- third_party: "bg-data-8",
4667
- cache: "bg-data-3",
4668
- human: "bg-data-6",
4669
- agent: "bg-muted-foreground"
4674
+ var layerLabel = (layer) => layer.replace(/_/g, " ");
4675
+ var UNPAINTED2 = {
4676
+ swatch: "bg-muted-foreground",
4677
+ // Edge only, no ground: a bar's identity is its rail and its address, and a
4678
+ // wash under every bar turns a track into a stack of coloured blocks. A
4679
+ // consumer that wants the ground says so in its own `tint`.
4680
+ tint: "border-border",
4681
+ // Unpainted type is ordinary type. A muted address would say *subordinate*,
4682
+ // which is not what "nobody gave this layer a colour" means.
4683
+ text: "text-foreground"
4670
4684
  };
4671
- var LayerChip = React23__namespace.forwardRef(
4672
- ({ layer, count, dim, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4673
- "span",
4674
- {
4675
- ref,
4676
- className: cn(
4677
- "inline-flex max-w-full shrink-0 items-center gap-1.5 font-mono text-meta",
4678
- dim ? "text-muted-foreground/70" : "text-muted-foreground",
4679
- className
4680
- ),
4681
- ...props,
4682
- children: [
4683
- /* @__PURE__ */ jsxRuntime.jsx(
4684
- "span",
4685
- {
4686
- "aria-hidden": true,
4687
- className: cn(
4688
- "size-1.5 shrink-0",
4689
- dim ? "bg-muted-foreground/50" : SWATCH2[layer]
4690
- )
4691
- }
4685
+ var layerPaint = (palette, layer) => ({ ...UNPAINTED2, ...palette?.[layer] });
4686
+ var LayerChip = React24__namespace.forwardRef(
4687
+ ({ layer, count, label, dim, swatch, palette, className, ...props }, ref) => {
4688
+ const paint = layerPaint(palette, layer);
4689
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4690
+ "span",
4691
+ {
4692
+ ref,
4693
+ className: cn(
4694
+ // A layer is a **name**, not an address. `graph data` has a space in
4695
+ // it — it is already prose — so it takes the body face at the root
4696
+ // size, and mono is reserved for the thing that really is an address
4697
+ // (`model/Orders@v2` on the row below it). Small muted bold mono made
4698
+ // a row heading look like a technical footnote.
4699
+ "inline-flex max-w-full shrink-0 items-center gap-1.5",
4700
+ dim ? "text-muted-foreground/70" : "text-foreground",
4701
+ className
4692
4702
  ),
4693
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: LABEL[layer] }),
4694
- count != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 tabular-nums opacity-70", children: count }) : null
4695
- ]
4696
- }
4697
- )
4703
+ ...props,
4704
+ children: [
4705
+ /* @__PURE__ */ jsxRuntime.jsx(
4706
+ "span",
4707
+ {
4708
+ "aria-hidden": true,
4709
+ className: cn(
4710
+ "size-1.5 shrink-0",
4711
+ dim ? "bg-muted-foreground/50" : swatch ?? paint.swatch
4712
+ )
4713
+ }
4714
+ ),
4715
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: label ?? layerLabel(layer) }),
4716
+ count != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm tabular-nums text-muted-foreground", children: count }) : null
4717
+ ]
4718
+ }
4719
+ );
4720
+ }
4698
4721
  );
4699
4722
  LayerChip.displayName = "LayerChip";
4700
- var LayerSection = React23__namespace.forwardRef(
4701
- ({ layer, summary, count, dim, className, children, ...props }, ref) => {
4702
- const empty = React23__namespace.Children.count(children) === 0;
4723
+ var LayerSection = React24__namespace.forwardRef(
4724
+ ({ layer, summary, count, dim, palette, className, children, ...props }, ref) => {
4725
+ const empty = React24__namespace.Children.count(children) === 0;
4703
4726
  return /* @__PURE__ */ jsxRuntime.jsxs(
4704
4727
  "section",
4705
4728
  {
@@ -4708,125 +4731,562 @@ var LayerSection = React23__namespace.forwardRef(
4708
4731
  ...props,
4709
4732
  children: [
4710
4733
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-baseline gap-2 border-b border-border pb-1", children: [
4711
- /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer, count, dim }),
4712
- summary != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto min-w-0 shrink truncate text-meta text-muted-foreground", children: summary }) : null
4734
+ /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer, count, dim, palette }),
4735
+ summary != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto min-w-0 shrink truncate text-sm text-muted-foreground", children: summary }) : null
4713
4736
  ] }),
4714
- empty ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-1 py-1 text-meta text-muted-foreground/70", children: "no rules in this layer" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex min-w-0 flex-col", dim && "opacity-60"), children })
4737
+ empty ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-1 py-1 text-sm text-muted-foreground/70", children: "no rules in this layer" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex min-w-0 flex-col", dim && "opacity-60"), children })
4715
4738
  ]
4716
4739
  }
4717
4740
  );
4718
4741
  }
4719
4742
  );
4720
4743
  LayerSection.displayName = "LayerSection";
4721
- var MARK = {
4722
- out: "bg-primary",
4723
- in: "bg-data-1",
4724
- refused: "bg-destructive",
4725
- skipped: "bg-muted-foreground/30"
4726
- };
4727
- var MARK_LABEL = {
4744
+ var STATE_LABEL = {
4745
+ declared: "declared",
4728
4746
  out: "sent",
4729
4747
  in: "read",
4730
4748
  refused: "refused",
4731
4749
  skipped: "skipped"
4732
4750
  };
4733
- var LayerStrip = React23__namespace.forwardRef(
4751
+ var STATE_BAR = {
4752
+ declared: "border-dashed",
4753
+ out: "",
4754
+ in: "",
4755
+ refused: "border-destructive bg-background",
4756
+ skipped: "border-dashed opacity-60"
4757
+ };
4758
+ var stateLabel = (state) => STATE_LABEL[state] ?? state;
4759
+ var formatElapsed = (ms) => {
4760
+ if (ms < 1e3) return `${Math.round(ms)}ms`;
4761
+ if (ms < 6e4) return `${(ms / 1e3).toFixed(ms < 1e4 ? 1 : 0)}s`;
4762
+ const m = Math.floor(ms / 6e4);
4763
+ return `${m}m ${Math.round(ms % 6e4 / 1e3)}s`;
4764
+ };
4765
+ var LayerStrip = React24__namespace.forwardRef(
4734
4766
  ({
4735
4767
  bands,
4736
- steps,
4737
- onSelectStep,
4738
- selectedStep,
4768
+ items,
4769
+ scale = "seq",
4770
+ domain,
4771
+ ticks,
4772
+ formatTick,
4773
+ brackets,
4774
+ seams,
4775
+ onSelectItem,
4776
+ selectedItem,
4777
+ hoverDetail = true,
4778
+ itemDetail,
4779
+ defaultCollapsed,
4780
+ collapsed,
4781
+ onCollapsedChange,
4782
+ collapsible = true,
4739
4783
  frozenLabels = true,
4784
+ labelWidth = 15.5,
4785
+ minTrackWidth = 26,
4786
+ minSlotWidth = 6,
4787
+ palette,
4740
4788
  className,
4741
4789
  ...props
4742
4790
  }, ref) => {
4743
- const byBand = (layer) => steps.map((step) => ({
4744
- step,
4745
- touch: step.touches.find((t) => t.layer === layer)
4746
- }));
4747
- return /* @__PURE__ */ jsxRuntime.jsx(
4791
+ const [ownCollapsed, setOwnCollapsed] = React24__namespace.useState(
4792
+ defaultCollapsed ?? []
4793
+ );
4794
+ const shut = collapsed ?? ownCollapsed;
4795
+ const setShut = (next) => {
4796
+ if (collapsed == null) setOwnCollapsed(next);
4797
+ onCollapsedChange?.(next);
4798
+ };
4799
+ const withParts = bands.filter((b) => (b.parts?.length ?? 0) > 0);
4800
+ const allShut = withParts.length > 0 && withParts.every((b) => shut.includes(b.layer));
4801
+ const ends = items.map((i) => i.end ?? i.start + (scale === "seq" ? 1 : 0));
4802
+ const starts = items.map((i) => i.start);
4803
+ const d0 = domain?.[0] ?? (starts.length ? Math.min(...starts) : 0);
4804
+ const d1 = domain?.[1] ?? (ends.length ? Math.max(...ends) : d0 + 1);
4805
+ const span = d1 - d0 || 1;
4806
+ const pct = (value) => (value - d0) / span * 100;
4807
+ const axisTicks = ticks ?? (scale === "seq" ? Array.from({ length: Math.ceil(span) }, (_, n) => d0 + n) : Array.from({ length: 5 }, (_, n) => d0 + span / 4 * n));
4808
+ const tickLabel = formatTick ?? ((value) => scale === "seq" ? `${Math.round(value)}` : formatElapsed(value - d0));
4809
+ const label = (content, extra, indent, dim) => /* @__PURE__ */ jsxRuntime.jsx(
4748
4810
  "div",
4749
4811
  {
4750
- ref,
4812
+ style: { width: `${labelWidth}rem` },
4751
4813
  className: cn(
4752
- "min-w-0 overflow-x-auto rounded-control border border-border",
4753
- className
4814
+ "flex shrink-0 items-center gap-2 border-border border-r px-2.5 py-1.5",
4815
+ // A frozen label is normally opaque, or the bars it is parked over
4816
+ // would scroll through it. A dim row has no bars — that is what dim
4817
+ // means — so it can go transparent and let the row's own muted ground
4818
+ // run the full width. Without this the label column paints `bg-card`
4819
+ // straight over the tint and only the empty track reads as unspent,
4820
+ // which is the half a reader is least likely to look at.
4821
+ dim ? "bg-transparent" : "bg-card",
4822
+ indent && "pl-5",
4823
+ frozenLabels && "sticky left-0 z-10",
4824
+ extra
4754
4825
  ),
4755
- ...props,
4756
- children: /* @__PURE__ */ jsxRuntime.jsxs(
4757
- "div",
4758
- {
4759
- className: "grid min-w-max",
4760
- style: {
4761
- gridTemplateColumns: `9rem repeat(${steps.length}, minmax(2.5rem, 1fr))`
4762
- },
4763
- children: [
4826
+ children: content
4827
+ }
4828
+ );
4829
+ const trackFloor = Math.max(minTrackWidth, axisTicks.length * minSlotWidth);
4830
+ const row = (key, head, track, dim) => /* @__PURE__ */ jsxRuntime.jsxs(
4831
+ "div",
4832
+ {
4833
+ className: cn(
4834
+ "flex min-h-12 border-border border-b last:border-b-0",
4835
+ // Muting the text alone said *this row is quiet*; the row has to say
4836
+ // *nothing spends this layer*, which is a band, not a weight.
4837
+ dim && "bg-muted/60"
4838
+ ),
4839
+ children: [
4840
+ head,
4841
+ /* @__PURE__ */ jsxRuntime.jsx(
4842
+ "div",
4843
+ {
4844
+ style: { minWidth: `${trackFloor}rem` },
4845
+ className: "relative min-w-0 flex-1",
4846
+ children: track
4847
+ }
4848
+ )
4849
+ ]
4850
+ },
4851
+ key
4852
+ );
4853
+ const partOf = (item) => item.part ? bands.find((b) => b.layer === item.layer)?.parts?.find((p) => p.id === item.part) : void 0;
4854
+ const spanLabel = (item) => {
4855
+ const end = item.end ?? item.start + (scale === "seq" ? 1 : 0);
4856
+ if (scale === "seq") {
4857
+ return end - item.start <= 1 ? `step ${item.start}` : `steps ${item.start}\u2013${end - 1}`;
4858
+ }
4859
+ return `${formatElapsed(item.start - d0)} \u2192 ${formatElapsed(
4860
+ end - d0
4861
+ )} \xB7 ${formatElapsed(end - item.start)}`;
4862
+ };
4863
+ const detail = (item) => {
4864
+ if (itemDetail) return itemDetail(item);
4865
+ const state = item.state ?? "declared";
4866
+ const part = partOf(item);
4867
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1.5", children: [
4868
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-2", children: [
4869
+ /* @__PURE__ */ jsxRuntime.jsx(
4870
+ "span",
4871
+ {
4872
+ className: cn(
4873
+ "min-w-0 flex-1 truncate font-mono text-base",
4874
+ state === "refused" && "text-destructive line-through"
4875
+ ),
4876
+ children: item.label
4877
+ }
4878
+ ),
4879
+ /* @__PURE__ */ jsxRuntime.jsx(
4880
+ "span",
4881
+ {
4882
+ className: cn(
4883
+ "shrink-0 text-sm",
4884
+ state === "refused" ? "text-destructive" : "text-muted-foreground"
4885
+ ),
4886
+ children: stateLabel(state)
4887
+ }
4888
+ )
4889
+ ] }),
4890
+ /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "grid grid-cols-[auto_1fr] gap-x-2 gap-y-1 text-sm", children: [
4891
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "layer" }),
4892
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0", children: /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer: item.layer, palette }) }),
4893
+ part ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4894
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "participant" }),
4895
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 break-all font-mono", children: part.label })
4896
+ ] }) : null,
4897
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "when" }),
4898
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 tabular-nums", children: spanLabel(item) }),
4899
+ item.note ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4900
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "what it does" }),
4901
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 font-mono", children: item.note })
4902
+ ] }) : null,
4903
+ item.ruleMatched ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4904
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: "refused by" }),
4905
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 break-all font-mono text-destructive", children: item.ruleMatched })
4906
+ ] }) : null
4907
+ ] })
4908
+ ] });
4909
+ };
4910
+ const bar = (item, compact = false) => {
4911
+ const state = item.state ?? "declared";
4912
+ const end = item.end ?? item.start + (scale === "seq" ? 1 : 0);
4913
+ const min = compact ? "0.75rem" : "4.5rem";
4914
+ const Tag = onSelectItem ? "button" : "div";
4915
+ const drawn = /* @__PURE__ */ jsxRuntime.jsxs(
4916
+ Tag,
4917
+ {
4918
+ ...onSelectItem ? { type: "button", onClick: () => onSelectItem(item.id) } : {},
4919
+ title: hoverDetail ? void 0 : [item.label, stateLabel(state), item.note, item.ruleMatched].filter(Boolean).join(" \xB7 "),
4920
+ style: (
4921
+ // A bar is at least readable-wide, and one near the end grows
4922
+ // inwards rather than off the track: anchor whichever edge is
4923
+ // nearer its own end of the axis, so the moment it names stays
4924
+ // true where the reader is looking.
4925
+ pct(item.start) > 50 ? {
4926
+ right: `${100 - pct(end)}%`,
4927
+ width: `max(${min}, calc(${pct(end) - pct(item.start)}% - 3px))`
4928
+ } : {
4929
+ left: `${pct(item.start)}%`,
4930
+ width: `max(${min}, calc(${pct(end) - pct(item.start)}% - 3px))`
4931
+ }
4932
+ ),
4933
+ className: cn(
4934
+ "-translate-y-1/2 absolute top-1/2 flex min-w-0 items-stretch overflow-hidden rounded-xs border py-0.5 text-left",
4935
+ compact ? "gap-1 pr-1" : "gap-1.5 pr-1.5",
4936
+ // Chosen, not merged. `twMerge` would resolve the kit's own tints
4937
+ // against `border-destructive` correctly, but the tint is a
4938
+ // consumer's string now: a project that paints a layer with its own
4939
+ // utility class (`layer-llm`, a plugin's output) hands `cn` two
4940
+ // classes it cannot see a conflict between, and stylesheet order
4941
+ // would decide whether a refusal reads as refused.
4942
+ state === "refused" ? null : layerPaint(palette, item.layer).tint,
4943
+ STATE_BAR[state] ?? "",
4944
+ onSelectItem && "cursor-pointer hover:bg-accent",
4945
+ selectedItem === item.id && "ring-1 ring-ring",
4946
+ "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
4947
+ ),
4948
+ children: [
4949
+ /* @__PURE__ */ jsxRuntime.jsx(
4950
+ "span",
4951
+ {
4952
+ "aria-hidden": true,
4953
+ className: cn(
4954
+ "w-1 shrink-0",
4955
+ layerPaint(palette, item.layer).swatch
4956
+ )
4957
+ }
4958
+ ),
4959
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-col justify-center", children: [
4764
4960
  /* @__PURE__ */ jsxRuntime.jsx(
4765
- "div",
4961
+ "span",
4766
4962
  {
4767
4963
  className: cn(
4768
- "border-b border-border bg-background px-2 py-1",
4769
- frozenLabels && "sticky left-0 z-20"
4964
+ "truncate font-mono text-sm",
4965
+ state === "refused" && "text-destructive line-through"
4770
4966
  ),
4771
- children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: "layer" })
4967
+ children: item.label
4772
4968
  }
4773
4969
  ),
4774
- steps.map((step) => /* @__PURE__ */ jsxRuntime.jsx(
4775
- "button",
4970
+ compact ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.note ?? (state === "declared" ? null : stateLabel(state)) })
4971
+ ] })
4972
+ ]
4973
+ },
4974
+ item.id
4975
+ );
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);
4989
+ };
4990
+ const bracketLanes = React24__namespace.useMemo(() => {
4991
+ const lanes = [];
4992
+ const ordered = [...brackets ?? []].sort(
4993
+ (a, b) => b.end - b.start - (a.end - a.start)
4994
+ );
4995
+ for (const bracket of ordered) {
4996
+ const lane = lanes.find(
4997
+ (existing) => existing.every(
4998
+ (other) => bracket.end <= other.start || bracket.start >= other.end
4999
+ )
5000
+ );
5001
+ if (lane) lane.push(bracket);
5002
+ else lanes.push([bracket]);
5003
+ }
5004
+ return lanes;
5005
+ }, [brackets]);
5006
+ const seamLines = React24__namespace.useMemo(() => {
5007
+ const placed = (seams ?? []).filter((seam) => seam.at != null);
5008
+ const loose = (seams ?? []).filter((seam) => seam.at == null);
5009
+ return [...placed.length ? [placed] : [], ...loose.map((s2) => [s2])];
5010
+ }, [seams]);
5011
+ const itemsOf = (layer, part) => items.filter(
5012
+ (i) => i.layer === layer && (part ? i.part === part : !i.part)
5013
+ );
5014
+ const allOf = (layer) => items.filter((i) => i.layer === layer);
5015
+ return /* @__PURE__ */ jsxRuntime.jsx(
5016
+ "div",
5017
+ {
5018
+ ref,
5019
+ className: cn(
5020
+ "min-w-0 overflow-x-auto rounded-control border border-border bg-card",
5021
+ className
5022
+ ),
5023
+ ...props,
5024
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative min-w-max", children: [
5025
+ seams?.length ? /* @__PURE__ */ jsxRuntime.jsx(
5026
+ "div",
5027
+ {
5028
+ "aria-hidden": true,
5029
+ style: { left: `${labelWidth}rem` },
5030
+ className: "pointer-events-none absolute inset-y-0 right-0",
5031
+ children: seams.map(
5032
+ (seam) => seam.at == null ? null : /* @__PURE__ */ jsxRuntime.jsx(
5033
+ "span",
5034
+ {
5035
+ style: { left: `${pct(seam.at)}%` },
5036
+ className: cn(
5037
+ "absolute inset-y-0 border-l",
5038
+ seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/60"
5039
+ )
5040
+ },
5041
+ seam.id
5042
+ )
5043
+ )
5044
+ }
5045
+ ) : null,
5046
+ row(
5047
+ "axis",
5048
+ label(
5049
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5050
+ collapsible && withParts.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
5051
+ "button",
5052
+ {
5053
+ type: "button",
5054
+ onClick: () => setShut(allShut ? [] : withParts.map((b) => b.layer)),
5055
+ className: "-ml-1 flex items-center gap-0.5 rounded-xs px-1 text-sm text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
5056
+ children: [
5057
+ allShut ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { "aria-hidden": true, className: "size-3 shrink-0" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { "aria-hidden": true, className: "size-3 shrink-0" }),
5058
+ allShut ? "expand all" : "collapse all"
5059
+ ]
5060
+ }
5061
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "layer" }),
5062
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-sm text-muted-foreground/70", children: scale === "seq" ? "step" : "elapsed" })
5063
+ ] }),
5064
+ "min-h-0 py-1"
5065
+ ),
5066
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: axisTicks.map((value) => {
5067
+ const atEnd = pct(value) > 99;
5068
+ return /* @__PURE__ */ jsxRuntime.jsx(
5069
+ "span",
4776
5070
  {
4777
- type: "button",
4778
- onClick: () => onSelectStep?.(step.id),
4779
- title: step.seq != null ? `${step.label} \xB7 seq ${step.seq}` : step.label,
5071
+ style: atEnd ? { right: 0 } : { left: `${pct(value)}%` },
4780
5072
  className: cn(
4781
- "border-b border-l border-border px-1 py-1 text-meta",
4782
- "truncate text-muted-foreground",
4783
- onSelectStep && "cursor-pointer hover:bg-accent",
4784
- selectedStep === step.id && "bg-accent text-foreground",
4785
- "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
5073
+ "absolute inset-y-0 text-sm text-muted-foreground",
5074
+ atEnd ? "border-border/60 border-r pr-1" : "border-border/60 border-l pl-1"
4786
5075
  ),
4787
- children: step.label
5076
+ children: tickLabel(value)
4788
5077
  },
4789
- step.id
4790
- )),
4791
- bands.map((band) => /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.Fragment, { children: [
4792
- /* @__PURE__ */ jsxRuntime.jsx(
4793
- "div",
4794
- {
4795
- className: cn(
4796
- "flex items-center border-b border-border bg-background px-2 py-1",
4797
- frozenLabels && "sticky left-0 z-10"
4798
- ),
4799
- children: band.label ?? /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer: band.layer })
4800
- }
4801
- ),
4802
- byBand(band.layer).map(({ step, touch }) => /* @__PURE__ */ jsxRuntime.jsx(
4803
- "div",
5078
+ value
5079
+ );
5080
+ }) })
5081
+ ),
5082
+ bracketLanes.map(
5083
+ (lane, laneIndex) => row(
5084
+ `brackets-${laneIndex}`,
5085
+ label(
5086
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: laneIndex === 0 ? "its bound" : "" }),
5087
+ "min-h-0 py-1"
5088
+ ),
5089
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 py-1", children: lane.map((bracket) => /* @__PURE__ */ jsxRuntime.jsx(
5090
+ "span",
5091
+ {
5092
+ style: {
5093
+ left: `${pct(bracket.start)}%`,
5094
+ width: `${pct(bracket.end) - pct(bracket.start)}%`
5095
+ },
5096
+ className: "absolute inset-y-1 flex items-center justify-center truncate rounded-xs border border-border border-dashed px-1 text-sm text-muted-foreground",
5097
+ children: bracket.label
5098
+ },
5099
+ bracket.id
5100
+ )) })
5101
+ )
5102
+ ),
5103
+ seamLines.map(
5104
+ (line, lineIndex) => row(
5105
+ `seams-${lineIndex}`,
5106
+ label(
5107
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: lineIndex === 0 ? "its gates" : "" })
5108
+ ),
5109
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: line.map((seam) => {
5110
+ const named = /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-col justify-center", children: [
5111
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm", children: seam.label }),
5112
+ seam.note ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-muted-foreground", children: seam.note }) : null
5113
+ ] });
5114
+ if (seam.at == null)
5115
+ return /* @__PURE__ */ jsxRuntime.jsx(
5116
+ "span",
5117
+ {
5118
+ className: "absolute inset-x-0 inset-y-1.5 flex items-center justify-center rounded-xs border border-dotted border-muted-foreground/45 px-1.5 text-muted-foreground",
5119
+ children: named
5120
+ },
5121
+ seam.id
5122
+ );
5123
+ const after = seam.edge === "after";
5124
+ const neighbours = line.map((other) => other.at).filter((value) => value != null);
5125
+ const bound = after ? pct(seam.at) - Math.max(
5126
+ ...neighbours.filter((v) => v < (seam.at ?? 0)).map(pct),
5127
+ 0
5128
+ ) : Math.min(
5129
+ ...neighbours.filter((v) => v > (seam.at ?? 0)).map(pct),
5130
+ 100
5131
+ ) - pct(seam.at);
5132
+ return /* @__PURE__ */ jsxRuntime.jsx(
5133
+ "span",
4804
5134
  {
4805
- title: touch ? `${step.label} \xB7 ${MARK_LABEL[touch.direction]}${touch.address ? ` \xB7 ${touch.address}` : ""}${touch.ruleMatched ? ` \xB7 ${touch.ruleMatched}` : ""}` : void 0,
5135
+ style: {
5136
+ maxWidth: `${Math.max(bound, 12)}%`,
5137
+ ...after ? { right: `${100 - pct(seam.at)}%` } : { left: `${pct(seam.at)}%` }
5138
+ },
4806
5139
  className: cn(
4807
- "flex items-center justify-center border-b border-l border-border px-1 py-1",
4808
- selectedStep === step.id && "bg-accent"
5140
+ // The label hangs off the side the cost falls on:
5141
+ // before the line, nothing is spent; after it, the
5142
+ // pass is already paid for.
5143
+ "absolute inset-y-1.5 flex items-center bg-card px-1.5 text-muted-foreground",
5144
+ after ? "border-r-2 text-right" : "border-l-2",
5145
+ seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/70"
4809
5146
  ),
4810
- children: touch ? /* @__PURE__ */ jsxRuntime.jsx(
5147
+ children: named
5148
+ },
5149
+ seam.id
5150
+ );
5151
+ }) })
5152
+ )
5153
+ ),
5154
+ bands.map((band) => {
5155
+ const own = itemsOf(band.layer);
5156
+ const parts = band.parts ?? [];
5157
+ const dim = allOf(band.layer).length === 0;
5158
+ const spine = band.spine ?? false;
5159
+ const foldable = collapsible && parts.length > 0;
5160
+ const isShut = foldable && shut.includes(band.layer);
5161
+ const onLine = isShut ? allOf(band.layer) : own;
5162
+ return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
5163
+ row(
5164
+ band.layer,
5165
+ label(
5166
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5167
+ foldable ? /* @__PURE__ */ jsxRuntime.jsxs(
5168
+ "button",
5169
+ {
5170
+ type: "button",
5171
+ "aria-expanded": !isShut,
5172
+ "aria-label": `${isShut ? "Show" : "Hide"} the ${parts.length} participants under ${band.layer}`,
5173
+ onClick: () => setShut(
5174
+ isShut ? shut.filter((l) => l !== band.layer) : [...shut, band.layer]
5175
+ ),
5176
+ className: "-ml-1 flex shrink-0 items-center gap-1 rounded-xs px-1 hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
5177
+ children: [
5178
+ isShut ? /* @__PURE__ */ jsxRuntime.jsx(
5179
+ lucideReact.ChevronRight,
5180
+ {
5181
+ "aria-hidden": true,
5182
+ className: "size-3 shrink-0 text-muted-foreground"
5183
+ }
5184
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
5185
+ lucideReact.ChevronDown,
5186
+ {
5187
+ "aria-hidden": true,
5188
+ className: "size-3 shrink-0 text-muted-foreground"
5189
+ }
5190
+ ),
5191
+ band.label ?? /* @__PURE__ */ jsxRuntime.jsx(
5192
+ LayerChip,
5193
+ {
5194
+ layer: band.layer,
5195
+ dim,
5196
+ palette
5197
+ }
5198
+ )
5199
+ ]
5200
+ }
5201
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 pl-4", children: band.label ?? /* @__PURE__ */ jsxRuntime.jsx(
5202
+ LayerChip,
5203
+ {
5204
+ layer: band.layer,
5205
+ dim,
5206
+ palette
5207
+ }
5208
+ ) }),
5209
+ band.note ? /* @__PURE__ */ jsxRuntime.jsx(
4811
5210
  "span",
4812
5211
  {
4813
- "aria-label": MARK_LABEL[touch.direction],
5212
+ title: band.note,
4814
5213
  className: cn(
4815
- "h-1.5 w-full max-w-6 rounded-full",
4816
- MARK[touch.direction],
4817
- // Struck in place: the mark stays so the cell is not
4818
- // mistaken for a step that never reached here.
4819
- touch.direction === "refused" && "relative after:absolute after:inset-x-0 after:top-1/2 after:h-px after:-translate-y-1/2 after:bg-destructive-foreground/70"
4820
- )
5214
+ "ml-auto min-w-0 truncate text-sm",
5215
+ dim ? "text-muted-foreground/70" : "text-muted-foreground"
5216
+ ),
5217
+ children: band.note
4821
5218
  }
4822
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "text-muted-foreground/25", children: "\xB7" })
4823
- },
4824
- `${band.layer}-${step.id}`
4825
- ))
4826
- ] }, band.layer))
4827
- ]
4828
- }
4829
- )
5219
+ ) : null
5220
+ ] }),
5221
+ void 0,
5222
+ false,
5223
+ dim
5224
+ ),
5225
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5226
+ spine ? /* @__PURE__ */ jsxRuntime.jsx(
5227
+ "span",
5228
+ {
5229
+ "aria-hidden": true,
5230
+ className: "-translate-y-1/2 absolute inset-x-0 top-1/2 border-border border-t"
5231
+ }
5232
+ ) : null,
5233
+ onLine.map((item) => bar(item, isShut))
5234
+ ] }),
5235
+ dim
5236
+ ),
5237
+ (isShut ? [] : parts).map((part) => {
5238
+ const spent = itemsOf(band.layer, part.id);
5239
+ const unspent = spent.length === 0;
5240
+ return row(
5241
+ `${band.layer}-${part.id}`,
5242
+ label(
5243
+ /* @__PURE__ */ jsxRuntime.jsxs(
5244
+ "span",
5245
+ {
5246
+ className: "flex min-w-0 flex-col",
5247
+ title: part.label,
5248
+ children: [
5249
+ /* @__PURE__ */ jsxRuntime.jsx(
5250
+ "span",
5251
+ {
5252
+ className: cn(
5253
+ "truncate font-mono text-sm",
5254
+ // The address wears its layer, so the row and the
5255
+ // band's dot are visibly one thing. Unspent
5256
+ // overrides it: *this was never reached* outranks
5257
+ // *this is graph data*.
5258
+ unspent ? "text-muted-foreground/70" : layerPaint(palette, band.layer).text
5259
+ ),
5260
+ children: part.label
5261
+ }
5262
+ ),
5263
+ part.note ? /* @__PURE__ */ jsxRuntime.jsx(
5264
+ "span",
5265
+ {
5266
+ className: cn(
5267
+ // What the participant owes sits a rung under the
5268
+ // address that owes it. At the same size the two
5269
+ // lines read as one wrapped label.
5270
+ "truncate text-xs",
5271
+ unspent ? "text-muted-foreground/70" : "text-muted-foreground"
5272
+ ),
5273
+ children: part.note
5274
+ }
5275
+ ) : null
5276
+ ]
5277
+ }
5278
+ ),
5279
+ void 0,
5280
+ true,
5281
+ unspent
5282
+ ),
5283
+ spent.map((item) => bar(item)),
5284
+ unspent
5285
+ );
5286
+ })
5287
+ ] }, band.layer);
5288
+ })
5289
+ ] })
4830
5290
  }
4831
5291
  );
4832
5292
  }
@@ -4879,14 +5339,14 @@ function Swatch({ kind = "dot", color }) {
4879
5339
  }
4880
5340
  );
4881
5341
  }
4882
- var Legend = React23__namespace.forwardRef(
5342
+ var Legend = React24__namespace.forwardRef(
4883
5343
  ({ orientation = "row", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4884
5344
  "div",
4885
5345
  {
4886
5346
  ref,
4887
5347
  role: "list",
4888
5348
  className: cn(
4889
- "flex gap-x-3 gap-y-1 text-meta",
5349
+ "flex gap-x-3 gap-y-1 text-sm",
4890
5350
  orientation === "row" ? "flex-wrap items-center" : "flex-col",
4891
5351
  className
4892
5352
  ),
@@ -4896,7 +5356,7 @@ var Legend = React23__namespace.forwardRef(
4896
5356
  )
4897
5357
  );
4898
5358
  Legend.displayName = "Legend";
4899
- var LegendItem = React23__namespace.forwardRef(
5359
+ var LegendItem = React24__namespace.forwardRef(
4900
5360
  ({ kind, color, label, count, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
4901
5361
  "div",
4902
5362
  {
@@ -4913,7 +5373,7 @@ var LegendItem = React23__namespace.forwardRef(
4913
5373
  )
4914
5374
  );
4915
5375
  LegendItem.displayName = "LegendItem";
4916
- var LensChip = React23__namespace.forwardRef(
5376
+ var LensChip = React24__namespace.forwardRef(
4917
5377
  ({ lens, onPick, className, ...props }, ref) => {
4918
5378
  const label = lens?.name ?? "Everything";
4919
5379
  const unset = lens == null;
@@ -4932,7 +5392,7 @@ var LensChip = React23__namespace.forwardRef(
4932
5392
  ] });
4933
5393
  const shell = cn(
4934
5394
  "inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-control",
4935
- "border border-border px-1.5 py-0.5 text-meta",
5395
+ "border border-border px-1.5 py-0.5 text-sm",
4936
5396
  unset ? "text-muted-foreground" : "text-foreground",
4937
5397
  className
4938
5398
  );
@@ -4956,7 +5416,7 @@ var LensChip = React23__namespace.forwardRef(
4956
5416
  }
4957
5417
  );
4958
5418
  LensChip.displayName = "LensChip";
4959
- function describe(n) {
5419
+ function describe(n, palette) {
4960
5420
  switch (n.kind) {
4961
5421
  case "allow":
4962
5422
  return `${n.count} allow`;
@@ -4971,12 +5431,12 @@ function describe(n) {
4971
5431
  case "closes":
4972
5432
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1", children: [
4973
5433
  "closes",
4974
- n.layers.map((layer) => /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer }, layer))
5434
+ n.layers.map((layer) => /* @__PURE__ */ jsxRuntime.jsx(LayerChip, { layer, palette }, layer))
4975
5435
  ] });
4976
5436
  }
4977
5437
  }
4978
- var LensRow = React23__namespace.forwardRef(
4979
- ({ name, narrows = [], usage, selected, onSelect, className, ...props }, ref) => {
5438
+ var LensRow = React24__namespace.forwardRef(
5439
+ ({ name, narrows = [], usage, selected, onSelect, palette, className, ...props }, ref) => {
4980
5440
  const interactive = Boolean(onSelect);
4981
5441
  return /* @__PURE__ */ jsxRuntime.jsxs(
4982
5442
  "div",
@@ -5002,8 +5462,8 @@ var LensRow = React23__namespace.forwardRef(
5002
5462
  ...props,
5003
5463
  children: [
5004
5464
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-baseline gap-2", children: [
5005
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-sm font-medium text-foreground", children: name }),
5006
- usage ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto shrink-0 text-meta text-muted-foreground", children: [
5465
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-base font-medium text-foreground", children: name }),
5466
+ usage ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto shrink-0 text-sm text-muted-foreground", children: [
5007
5467
  "used in ",
5008
5468
  usage.runs,
5009
5469
  " run",
@@ -5011,17 +5471,17 @@ var LensRow = React23__namespace.forwardRef(
5011
5471
  usage.lastUsed ? ` \xB7 last ${usage.lastUsed}` : ""
5012
5472
  ] }) : null
5013
5473
  ] }),
5014
- narrows.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-meta text-muted-foreground", children: narrows.map((n, i) => /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.Fragment, { children: [
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: [
5015
5475
  i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "opacity-40", children: "\xB7" }) : null,
5016
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center", children: describe(n) })
5017
- ] }, `${n.kind}-${i}`)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground/70", children: "narrows nothing \u2014 the whole model, inside the guardrails" })
5476
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center", children: describe(n, palette) })
5477
+ ] }, `${n.kind}-${i}`)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground/70", children: "narrows nothing \u2014 the whole model, inside the guardrails" })
5018
5478
  ]
5019
5479
  }
5020
5480
  );
5021
5481
  }
5022
5482
  );
5023
5483
  LensRow.displayName = "LensRow";
5024
- var MatchPreview = React23__namespace.forwardRef(
5484
+ var MatchPreview = React24__namespace.forwardRef(
5025
5485
  ({ pattern, matches = [], loading, limit = 8, className, ...props }, ref) => {
5026
5486
  const hits = matches.filter((m) => m.matched);
5027
5487
  const misses = matches.filter((m) => !m.matched);
@@ -5038,14 +5498,14 @@ var MatchPreview = React23__namespace.forwardRef(
5038
5498
  ...props,
5039
5499
  children: [
5040
5500
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-baseline gap-2", children: [
5041
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: "what this matches" }),
5042
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto shrink-0 text-meta tabular-nums text-muted-foreground", children: loading ? "\u2026" : `${hits.length} of ${matches.length}` })
5501
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "what this matches" }),
5502
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto shrink-0 text-sm tabular-nums text-muted-foreground", children: loading ? "\u2026" : `${hits.length} of ${matches.length}` })
5043
5503
  ] }),
5044
5504
  loading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 py-0.5", children: [
5045
5505
  /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-3 w-3/5" }),
5046
5506
  /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-3 w-2/5" }),
5047
5507
  /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-3 w-1/2" })
5048
- ] }) : matches.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-meta text-muted-foreground/70", children: "nothing in this Graph to match \u2014 the layer has no participants yet" }) : hits.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-meta text-destructive", children: [
5508
+ ] }) : matches.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground/70", children: "nothing in this Graph to match \u2014 the layer has no participants yet" }) : hits.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-destructive", children: [
5049
5509
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono", children: pattern }),
5050
5510
  " matches nothing here"
5051
5511
  ] }) : null,
@@ -5058,7 +5518,7 @@ var MatchPreview = React23__namespace.forwardRef(
5058
5518
  },
5059
5519
  m.address
5060
5520
  )),
5061
- hidden > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "pt-0.5 text-meta text-muted-foreground/70", children: [
5521
+ hidden > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "pt-0.5 text-sm text-muted-foreground/70", children: [
5062
5522
  "and ",
5063
5523
  hidden,
5064
5524
  " more"
@@ -5137,7 +5597,7 @@ var TONE2 = {
5137
5597
  error: "text-destructive",
5138
5598
  info: "text-info"
5139
5599
  };
5140
- var MetricTile = React23__namespace.forwardRef(
5600
+ var MetricTile = React24__namespace.forwardRef(
5141
5601
  ({ label, value, caption, tone, meter, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5142
5602
  "div",
5143
5603
  {
@@ -5148,7 +5608,7 @@ var MetricTile = React23__namespace.forwardRef(
5148
5608
  ),
5149
5609
  ...props,
5150
5610
  children: [
5151
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-meta font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
5611
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
5152
5612
  /* @__PURE__ */ jsxRuntime.jsx(
5153
5613
  "span",
5154
5614
  {
@@ -5157,12 +5617,12 @@ var MetricTile = React23__namespace.forwardRef(
5157
5617
  // `1,880` and `2 / 5` in adjacent tiles sit at different widths, and
5158
5618
  // a strip of six stops reading as one row of numbers.
5159
5619
  "font-mono text-lg font-semibold leading-tight",
5160
- tone ? TONE2[tone] : void 0
5620
+ tone ? TONE2[tone] ?? "text-foreground" : void 0
5161
5621
  ),
5162
5622
  children: value
5163
5623
  }
5164
5624
  ),
5165
- caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: caption }) : null,
5625
+ caption != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
5166
5626
  meter != null ? (
5167
5627
  // Not a <Progress>: that is a control-sized, rounded, animated bar for
5168
5628
  // work in flight. This is a 4px rule that says how much of a ceiling is
@@ -5176,7 +5636,7 @@ var MetricTile = React23__namespace.forwardRef(
5176
5636
  children: /* @__PURE__ */ jsxRuntime.jsx(
5177
5637
  "div",
5178
5638
  {
5179
- className: cn("h-full", tone ? TONE2[tone] : "text-primary", "bg-current"),
5639
+ className: cn("h-full", tone ? TONE2[tone] ?? "text-foreground" : "text-primary", "bg-current"),
5180
5640
  style: { width: `${Math.min(Math.max(meter, 0), 1) * 100}%` }
5181
5641
  }
5182
5642
  )
@@ -5189,7 +5649,7 @@ var MetricTile = React23__namespace.forwardRef(
5189
5649
  )
5190
5650
  );
5191
5651
  MetricTile.displayName = "MetricTile";
5192
- var MetricGrid = React23__namespace.forwardRef(
5652
+ var MetricGrid = React24__namespace.forwardRef(
5193
5653
  ({ minTileWidth = 120, gap = 6, className, style, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5194
5654
  "div",
5195
5655
  {
@@ -5248,7 +5708,7 @@ var NestedMenu = (props) => {
5248
5708
  }
5249
5709
  );
5250
5710
  };
5251
- var PanelBox = React23__namespace.forwardRef(
5711
+ var PanelBox = React24__namespace.forwardRef(
5252
5712
  ({ title, aside, flush, className, headerClassName, bodyClassName, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5253
5713
  Card,
5254
5714
  {
@@ -5339,13 +5799,13 @@ function PanelStack({
5339
5799
  headerClassName,
5340
5800
  bodyClassName
5341
5801
  }) {
5342
- const groupRef = React23__namespace.useRef(null);
5343
- const refs = React23__namespace.useRef({});
5344
- const [collapsed, setCollapsed] = React23__namespace.useState(
5802
+ const groupRef = React24__namespace.useRef(null);
5803
+ const refs = React24__namespace.useRef({});
5804
+ const [collapsed, setCollapsed] = React24__namespace.useState(
5345
5805
  () => Object.fromEntries(sections.map((s) => [s.id, !!s.defaultCollapsed]))
5346
5806
  );
5347
- const didInit = React23__namespace.useRef(false);
5348
- React23__namespace.useLayoutEffect(() => {
5807
+ const didInit = React24__namespace.useRef(false);
5808
+ React24__namespace.useLayoutEffect(() => {
5349
5809
  if (didInit.current) return;
5350
5810
  didInit.current = true;
5351
5811
  const targets = sections.filter((s) => s.defaultCollapsed);
@@ -5377,18 +5837,18 @@ function PanelStack({
5377
5837
  for (const s of targets) refs.current[s.id]?.collapse();
5378
5838
  group.setLayout(next);
5379
5839
  }, []);
5380
- const notify = React23__namespace.useRef(onCollapsedChange);
5381
- React23__namespace.useEffect(() => {
5840
+ const notify = React24__namespace.useRef(onCollapsedChange);
5841
+ React24__namespace.useEffect(() => {
5382
5842
  notify.current = onCollapsedChange;
5383
5843
  }, [onCollapsedChange]);
5384
- const collapsedRef = React23__namespace.useRef(collapsed);
5844
+ const collapsedRef = React24__namespace.useRef(collapsed);
5385
5845
  collapsedRef.current = collapsed;
5386
- const collapsePanel = React23__namespace.useCallback((id) => {
5846
+ const collapsePanel = React24__namespace.useCallback((id) => {
5387
5847
  const ref = refs.current[id];
5388
5848
  if (!ref || ref.isCollapsed()) return;
5389
5849
  ref.collapse();
5390
5850
  }, []);
5391
- const expandPanel = React23__namespace.useCallback((id) => {
5851
+ const expandPanel = React24__namespace.useCallback((id) => {
5392
5852
  const ref = refs.current[id];
5393
5853
  if (!ref || !ref.isCollapsed()) return;
5394
5854
  ref.expand();
@@ -5406,7 +5866,7 @@ function PanelStack({
5406
5866
  [donorId]: donorPct - share
5407
5867
  });
5408
5868
  }, []);
5409
- const toggle = React23__namespace.useCallback(
5869
+ const toggle = React24__namespace.useCallback(
5410
5870
  (id) => {
5411
5871
  const ref = refs.current[id];
5412
5872
  if (!ref) return;
@@ -5415,7 +5875,7 @@ function PanelStack({
5415
5875
  },
5416
5876
  [expandPanel, collapsePanel]
5417
5877
  );
5418
- React23__namespace.useImperativeHandle(
5878
+ React24__namespace.useImperativeHandle(
5419
5879
  stackRef,
5420
5880
  () => ({
5421
5881
  expand: expandPanel,
@@ -5439,7 +5899,7 @@ function PanelStack({
5439
5899
  const Icon = section.icon;
5440
5900
  const isCollapsed = collapsed[section.id];
5441
5901
  const flush = index > 0 && (isCollapsed || collapsed[sections[index - 1].id]);
5442
- return /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.Fragment, { children: [
5902
+ return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
5443
5903
  index > 0 && /* @__PURE__ */ jsxRuntime.jsx(
5444
5904
  ResizableHandle,
5445
5905
  {
@@ -5493,7 +5953,7 @@ function PanelStack({
5493
5953
  children: [
5494
5954
  isCollapsed ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-5 w-5 shrink-0" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-5 w-5 shrink-0" }),
5495
5955
  Icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-3.5 w-3.5 shrink-0" }),
5496
- typeof section.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-meta font-semibold uppercase tracking-wide", children: section.title }) : (
5956
+ typeof section.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-semibold uppercase tracking-wide", children: section.title }) : (
5497
5957
  // Custom node: rendered as-is so the consumer owns the
5498
5958
  // styling (icon, casing, colour, badges…).
5499
5959
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex min-w-0 flex-1 items-center", children: section.title })
@@ -5535,7 +5995,7 @@ function PanelStack({
5535
5995
  ) })
5536
5996
  );
5537
5997
  }
5538
- var PropertyList = React23__namespace.forwardRef(
5998
+ var PropertyList = React24__namespace.forwardRef(
5539
5999
  ({ labelWidth = 78, className, style, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5540
6000
  "dl",
5541
6001
  {
@@ -5551,7 +6011,7 @@ var PropertyList = React23__namespace.forwardRef(
5551
6011
  )
5552
6012
  );
5553
6013
  PropertyList.displayName = "PropertyList";
5554
- var PropertyRow = React23__namespace.forwardRef(
6014
+ var PropertyRow = React24__namespace.forwardRef(
5555
6015
  ({ label, mono, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5556
6016
  "div",
5557
6017
  {
@@ -5559,14 +6019,14 @@ var PropertyRow = React23__namespace.forwardRef(
5559
6019
  className: cn("flex items-baseline gap-2 py-1", className),
5560
6020
  ...props,
5561
6021
  children: [
5562
- /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "shrink-0 truncate text-meta text-muted-foreground [width:var(--property-label-width,78px)]", children: label }),
5563
- /* @__PURE__ */ jsxRuntime.jsx("dd", { className: cn("min-w-0 flex-1", mono && "font-mono text-meta"), children })
6022
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "shrink-0 truncate text-sm text-muted-foreground [width:var(--property-label-width,78px)]", children: label }),
6023
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: cn("min-w-0 flex-1", mono && "font-mono text-sm"), children })
5564
6024
  ]
5565
6025
  }
5566
6026
  )
5567
6027
  );
5568
6028
  PropertyRow.displayName = "PropertyRow";
5569
- var ProposalCard = React23__namespace.forwardRef(
6029
+ var ProposalCard = React24__namespace.forwardRef(
5570
6030
  ({
5571
6031
  title,
5572
6032
  source,
@@ -5582,23 +6042,23 @@ var ProposalCard = React23__namespace.forwardRef(
5582
6042
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-1", children: [
5583
6043
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-2", children: [
5584
6044
  /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium", children: title }),
5585
- source != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: source }) : null
6045
+ source != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: source }) : null
5586
6046
  ] }),
5587
6047
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border border-border bg-muted/30 p-2", children })
5588
6048
  ] }),
5589
6049
  evidence ? /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-1", children: [
5590
6050
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-2", children: [
5591
6051
  /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium", children: evidenceTitle }),
5592
- evidenceMeta != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: evidenceMeta }) : null
6052
+ evidenceMeta != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: evidenceMeta }) : null
5593
6053
  ] }),
5594
6054
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden border border-border", children: evidence })
5595
6055
  ] }) : null,
5596
- consequence != null ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-meta text-muted-foreground", children: consequence }) : null,
6056
+ consequence != null ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: consequence }) : null,
5597
6057
  actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-1.5", children: actions }) : null
5598
6058
  ] })
5599
6059
  );
5600
6060
  ProposalCard.displayName = "ProposalCard";
5601
- var DotRating = React23__namespace.forwardRef(
6061
+ var DotRating = React24__namespace.forwardRef(
5602
6062
  ({ value, max = 3, onChange, readOnly, label, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
5603
6063
  "div",
5604
6064
  {
@@ -5643,7 +6103,7 @@ var DotRating = React23__namespace.forwardRef(
5643
6103
  )
5644
6104
  );
5645
6105
  DotRating.displayName = "DotRating";
5646
- var RatingControl = React23__namespace.forwardRef(
6106
+ var RatingControl = React24__namespace.forwardRef(
5647
6107
  ({
5648
6108
  verdict,
5649
6109
  onVerdictChange,
@@ -5662,7 +6122,7 @@ var RatingControl = React23__namespace.forwardRef(
5662
6122
  className: cn("flex flex-col gap-2 border border-border bg-card p-2", className),
5663
6123
  ...props,
5664
6124
  children: [
5665
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-meta", children: [
6125
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
5666
6126
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Your verdict" }),
5667
6127
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "becomes a Learning" }),
5668
6128
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
@@ -5677,7 +6137,7 @@ var RatingControl = React23__namespace.forwardRef(
5677
6137
  "aria-checked": verdict === v,
5678
6138
  onClick: () => onVerdictChange?.(v),
5679
6139
  className: cn(
5680
- "h-[22px] px-2 text-meta capitalize",
6140
+ "h-[22px] px-2 text-sm capitalize",
5681
6141
  verdict === v ? v === "appreciate" ? "bg-success text-success-foreground" : "bg-warning text-warning-foreground" : "text-muted-foreground hover:bg-accent"
5682
6142
  ),
5683
6143
  children: v
@@ -5685,11 +6145,11 @@ var RatingControl = React23__namespace.forwardRef(
5685
6145
  v
5686
6146
  )) }),
5687
6147
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
5688
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: "weight" }),
6148
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: "weight" }),
5689
6149
  /* @__PURE__ */ jsxRuntime.jsx(DotRating, { value: weight, max: maxWeight, onChange: onWeightChange }),
5690
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta tabular-nums", children: weight })
6150
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm tabular-nums", children: weight })
5691
6151
  ] }),
5692
- refines != null ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-meta text-muted-foreground", children: [
6152
+ refines != null ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
5693
6153
  "refines ",
5694
6154
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground", children: refines })
5695
6155
  ] }) : null
@@ -5700,7 +6160,7 @@ var RatingControl = React23__namespace.forwardRef(
5700
6160
  )
5701
6161
  );
5702
6162
  RatingControl.displayName = "RatingControl";
5703
- var RecordHeader = React23__namespace.forwardRef(
6163
+ var RecordHeader = React24__namespace.forwardRef(
5704
6164
  ({ tone, crumbs, chips, actions, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5705
6165
  "div",
5706
6166
  {
@@ -5714,7 +6174,7 @@ var RecordHeader = React23__namespace.forwardRef(
5714
6174
  tone ? /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { tone, size: "lg" }) : null,
5715
6175
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-1.5", children: crumbs.map((crumb, i) => {
5716
6176
  const last = i === crumbs.length - 1;
5717
- return /* @__PURE__ */ jsxRuntime.jsxs(React23__namespace.Fragment, { children: [
6177
+ return /* @__PURE__ */ jsxRuntime.jsxs(React24__namespace.Fragment, { children: [
5718
6178
  i > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5719
6179
  lucideReact.ChevronRight,
5720
6180
  {
@@ -5741,13 +6201,13 @@ var RecordHeader = React23__namespace.forwardRef(
5741
6201
  )
5742
6202
  );
5743
6203
  RecordHeader.displayName = "RecordHeader";
5744
- var RepairNote = React23__namespace.forwardRef(
6204
+ var RepairNote = React24__namespace.forwardRef(
5745
6205
  ({ from, to, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5746
6206
  "div",
5747
6207
  {
5748
6208
  ref,
5749
6209
  className: cn(
5750
- "flex flex-wrap items-center gap-1 py-0.5 pl-4 text-meta text-muted-foreground",
6210
+ "flex flex-wrap items-center gap-1 py-0.5 pl-4 text-sm text-muted-foreground",
5751
6211
  className
5752
6212
  ),
5753
6213
  ...props,
@@ -5760,13 +6220,13 @@ var RepairNote = React23__namespace.forwardRef(
5760
6220
  )
5761
6221
  );
5762
6222
  RepairNote.displayName = "RepairNote";
5763
- var RetryNote = React23__namespace.forwardRef(
6223
+ var RetryNote = React24__namespace.forwardRef(
5764
6224
  ({ attempt, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
5765
6225
  "div",
5766
6226
  {
5767
6227
  ref,
5768
6228
  className: cn(
5769
- "flex flex-wrap items-baseline gap-1.5 py-0.5 pl-4 text-meta text-muted-foreground",
6229
+ "flex flex-wrap items-baseline gap-1.5 py-0.5 pl-4 text-sm text-muted-foreground",
5770
6230
  className
5771
6231
  ),
5772
6232
  ...props,
@@ -5786,7 +6246,7 @@ function OptionRow({ option }) {
5786
6246
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: option.label }),
5787
6247
  option.badge != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto pl-2", children: option.badge })
5788
6248
  ] }),
5789
- option.description != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: option.description })
6249
+ option.description != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: option.description })
5790
6250
  ] });
5791
6251
  }
5792
6252
  function RichSelect({
@@ -5927,7 +6387,7 @@ function describeSlice(select, declared) {
5927
6387
  }
5928
6388
  return out;
5929
6389
  }
5930
- var SliceSummary = React23__namespace.forwardRef(
6390
+ var SliceSummary = React24__namespace.forwardRef(
5931
6391
  ({ select, declaredAxes, modelLabel, variant = "line", className, ...props }, ref) => {
5932
6392
  const lines = select ? describeSlice(select, declaredAxes) : [];
5933
6393
  if (!lines.length) {
@@ -5935,7 +6395,7 @@ var SliceSummary = React23__namespace.forwardRef(
5935
6395
  "div",
5936
6396
  {
5937
6397
  ref,
5938
- className: cn("text-meta text-muted-foreground/70", className),
6398
+ className: cn("text-sm text-muted-foreground/70", className),
5939
6399
  ...props,
5940
6400
  children: "not sliced \u2014 the whole model"
5941
6401
  }
@@ -5956,13 +6416,13 @@ var SliceSummary = React23__namespace.forwardRef(
5956
6416
  "span",
5957
6417
  {
5958
6418
  className: cn(
5959
- "truncate text-meta",
6419
+ "truncate text-sm",
5960
6420
  line.undeclared ? "text-destructive line-through decoration-destructive/50" : "text-muted-foreground"
5961
6421
  ),
5962
6422
  children: line.text
5963
6423
  }
5964
6424
  ),
5965
- line.undeclared ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-meta text-destructive", children: [
6425
+ line.undeclared ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-destructive", children: [
5966
6426
  modelLabel ?? "this model",
5967
6427
  " declares no ",
5968
6428
  line.axisKind,
@@ -5974,7 +6434,7 @@ var SliceSummary = React23__namespace.forwardRef(
5974
6434
  }
5975
6435
  );
5976
6436
  SliceSummary.displayName = "SliceSummary";
5977
- var RuleRow = React23__namespace.forwardRef(
6437
+ var RuleRow = React24__namespace.forwardRef(
5978
6438
  ({ match, allow, properties, select, egress, readOnly, className, ...props }, ref) => {
5979
6439
  const excluded = properties?.exclude ?? [];
5980
6440
  const sends = egress?.may_send ?? [];
@@ -6001,7 +6461,7 @@ var RuleRow = React23__namespace.forwardRef(
6001
6461
  "span",
6002
6462
  {
6003
6463
  className: cn(
6004
- "font-mono text-meta",
6464
+ "font-mono text-sm",
6005
6465
  allow ? "text-muted-foreground" : "font-semibold text-destructive"
6006
6466
  ),
6007
6467
  children: allow ? "allow" : "deny"
@@ -6016,12 +6476,12 @@ var RuleRow = React23__namespace.forwardRef(
6016
6476
  }
6017
6477
  ),
6018
6478
  excluded.length || sliced || sends.length ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-start-2 flex min-w-0 flex-col gap-0.5", children: [
6019
- excluded.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-meta text-muted-foreground", children: [
6479
+ excluded.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-sm text-muted-foreground", children: [
6020
6480
  "excludes ",
6021
6481
  excluded.join(", ")
6022
6482
  ] }) : null,
6023
6483
  sliced ? /* @__PURE__ */ jsxRuntime.jsx(SliceSummary, { select, variant: "line" }) : null,
6024
- sends.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-meta text-muted-foreground", children: [
6484
+ sends.length ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-sm text-muted-foreground", children: [
6025
6485
  "may send ",
6026
6486
  sends.join(", ")
6027
6487
  ] }) : null
@@ -6051,14 +6511,14 @@ var SearchInput = ({
6051
6511
  "flex w-full rounded-control border border-input bg-background ring-offset-background",
6052
6512
  "placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2",
6053
6513
  "focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
6054
- inputSize === "sm" ? "h-[26px] px-2 py-0 text-meta" : "h-10 px-3 py-2 text-base",
6514
+ inputSize === "sm" ? "h-[26px] px-2 py-0 text-sm" : "h-10 px-3 py-2 text-base",
6055
6515
  className
6056
6516
  ),
6057
6517
  ...props
6058
6518
  }
6059
6519
  );
6060
6520
  };
6061
- var SectionHeader = React23__namespace.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6521
+ var SectionHeader = React24__namespace.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6062
6522
  "div",
6063
6523
  {
6064
6524
  ref,
@@ -6071,13 +6531,13 @@ var SectionHeader = React23__namespace.forwardRef(({ icon, title, count, actions
6071
6531
  children: [
6072
6532
  icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 items-center text-muted-foreground [&_svg]:size-3.5", children: icon }) : null,
6073
6533
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate font-medium", children: title }),
6074
- count != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-meta text-muted-foreground", children: count }) : null,
6534
+ count != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: count }) : null,
6075
6535
  actions ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 items-center gap-1", children: actions }) : null
6076
6536
  ]
6077
6537
  }
6078
6538
  ));
6079
6539
  SectionHeader.displayName = "SectionHeader";
6080
- var Sparkline = React23__namespace.forwardRef(
6540
+ var Sparkline = React24__namespace.forwardRef(
6081
6541
  ({
6082
6542
  values,
6083
6543
  width = 72,
@@ -6164,7 +6624,7 @@ function TabbedPanel({
6164
6624
  footerClassName,
6165
6625
  footerContent
6166
6626
  }) {
6167
- const [internalTab, setInternalTab] = React23__namespace.default.useState(defaultTab || tabs[0]?.value);
6627
+ const [internalTab, setInternalTab] = React24__namespace.default.useState(defaultTab || tabs[0]?.value);
6168
6628
  const currentTab = activeTab !== void 0 ? activeTab : internalTab;
6169
6629
  const handleTabChange = (value) => {
6170
6630
  if (activeTab === void 0) {
@@ -6172,9 +6632,9 @@ function TabbedPanel({
6172
6632
  }
6173
6633
  onTabChange?.(value);
6174
6634
  };
6175
- const uid = React23__namespace.default.useId();
6635
+ const uid = React24__namespace.default.useId();
6176
6636
  const panelId = (value) => `${uid}-panel-${value}`;
6177
- const items = React23__namespace.default.useMemo(
6637
+ const items = React24__namespace.default.useMemo(
6178
6638
  () => tabs.map((tab) => ({
6179
6639
  key: tab.value,
6180
6640
  name: tab.name ?? (typeof tab.label === "string" ? tab.label : tab.value),
@@ -6260,9 +6720,9 @@ var STATUS_LABEL = {
6260
6720
  };
6261
6721
  function renderResult(result) {
6262
6722
  if (result == null) return null;
6263
- if (React23__namespace.isValidElement(result)) return result;
6723
+ if (React24__namespace.isValidElement(result)) return result;
6264
6724
  if (typeof result !== "object") {
6265
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-meta", children: String(result) });
6725
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-sm", children: String(result) });
6266
6726
  }
6267
6727
  const entries = Object.entries(result);
6268
6728
  const scalars = entries.filter(([, v]) => v == null || typeof v !== "object");
@@ -6270,12 +6730,12 @@ function renderResult(result) {
6270
6730
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6271
6731
  scalars.length ? /* @__PURE__ */ jsxRuntime.jsx(PropertyList, { labelWidth: 96, children: scalars.map(([k, v]) => /* @__PURE__ */ jsxRuntime.jsx(PropertyRow, { label: k, mono: true, className: "py-0.5", children: v == null ? "\u2014" : String(v) }, k)) }) : null,
6272
6732
  nested.map(([k, v]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
6273
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: k }),
6274
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "max-h-40 overflow-auto border border-border bg-muted/40 p-1.5 font-mono text-meta", children: JSON.stringify(v, null, 2) })
6733
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: k }),
6734
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "max-h-40 overflow-auto border border-border bg-muted/40 p-1.5 font-mono text-sm", children: JSON.stringify(v, null, 2) })
6275
6735
  ] }, k))
6276
6736
  ] });
6277
6737
  }
6278
- var TaskGanttDetailCard = React23__namespace.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
6738
+ var TaskGanttDetailCard = React24__namespace.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
6279
6739
  const status = task.status ?? "succeeded";
6280
6740
  const ms = task.durationMs ?? elapsedMs;
6281
6741
  const duration = task.duration ?? (ms != null ? formatDuration(ms) : "\u2014");
@@ -6283,17 +6743,17 @@ var TaskGanttDetailCard = React23__namespace.forwardRef(({ task, elapsedMs, form
6283
6743
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cn("flex flex-col gap-2", className), ...props, children: [
6284
6744
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-2", children: [
6285
6745
  /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { tone: DOT[status], size: "md", className: "translate-y-px" }),
6286
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate font-mono text-meta font-medium", children: task.key }),
6287
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono text-meta text-muted-foreground tabular-nums", children: duration })
6746
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate font-mono text-sm font-medium", children: task.key }),
6747
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono text-sm text-muted-foreground tabular-nums", children: duration })
6288
6748
  ] }),
6289
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-meta text-muted-foreground", children: [
6749
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm text-muted-foreground", children: [
6290
6750
  STATUS_LABEL[status],
6291
6751
  task.summary != null ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6292
6752
  " \xB7 ",
6293
6753
  task.summary
6294
6754
  ] }) : null
6295
6755
  ] }),
6296
- attempts.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5", children: attempts.map((a, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-meta text-muted-foreground", children: [
6756
+ attempts.length ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5", children: attempts.map((a, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
6297
6757
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium text-warning", children: [
6298
6758
  "attempt ",
6299
6759
  i + 1
@@ -6307,14 +6767,14 @@ var TaskGanttDetailCard = React23__namespace.forwardRef(({ task, elapsedMs, form
6307
6767
  style: { borderColor: "var(--color-destructive)" },
6308
6768
  className: "border-l-2 bg-destructive/10 px-2 py-1.5",
6309
6769
  children: [
6310
- task.error.code != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-mono text-meta font-medium text-destructive", children: task.error.code }) : null,
6311
- task.error.message != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-meta", children: task.error.message }) : null,
6312
- task.error.detail != null ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap font-mono text-meta text-muted-foreground", children: task.error.detail }) : null
6770
+ task.error.code != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-mono text-sm font-medium text-destructive", children: task.error.code }) : null,
6771
+ task.error.message != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: task.error.message }) : null,
6772
+ task.error.detail != null ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap font-mono text-sm text-muted-foreground", children: task.error.detail }) : null
6313
6773
  ]
6314
6774
  }
6315
6775
  ) : null,
6316
6776
  task.result != null ? renderResult(task.result) : null,
6317
- task.log != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-border pt-1.5 font-mono text-meta text-muted-foreground", children: task.log }) : null
6777
+ task.log != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-border pt-1.5 font-mono text-sm text-muted-foreground", children: task.log }) : null
6318
6778
  ] });
6319
6779
  });
6320
6780
  TaskGanttDetailCard.displayName = "TaskGanttDetailCard";
@@ -6341,7 +6801,7 @@ function place(seg, origin) {
6341
6801
  }
6342
6802
  return { start, duration: duration != null && duration > 0 ? duration : 0 };
6343
6803
  }
6344
- var TaskGantt = React23__namespace.forwardRef(
6804
+ var TaskGantt = React24__namespace.forwardRef(
6345
6805
  ({
6346
6806
  tasks,
6347
6807
  origin,
@@ -6363,7 +6823,7 @@ var TaskGantt = React23__namespace.forwardRef(
6363
6823
  }, ref) => {
6364
6824
  const barHeight = density === "compact" ? 11 : 13;
6365
6825
  const durationWidth = 40;
6366
- const rows = React23__namespace.useMemo(() => {
6826
+ const rows = React24__namespace.useMemo(() => {
6367
6827
  const stamps = [];
6368
6828
  for (const t of [...tasks, ...tasks.flatMap((t2) => t2.attempts ?? [])]) {
6369
6829
  if (t.startedAt != null) stamps.push(toMs(t.startedAt));
@@ -6409,7 +6869,7 @@ var TaskGantt = React23__namespace.forwardRef(
6409
6869
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex flex-1", children: axis.slice(0, -1).map((label, i) => /* @__PURE__ */ jsxRuntime.jsx(
6410
6870
  "span",
6411
6871
  {
6412
- className: "flex-1 border-l border-border pl-1 text-meta text-muted-foreground tabular-nums",
6872
+ className: "flex-1 border-l border-border pl-1 text-sm text-muted-foreground tabular-nums",
6413
6873
  children: label
6414
6874
  },
6415
6875
  i
@@ -6417,7 +6877,7 @@ var TaskGantt = React23__namespace.forwardRef(
6417
6877
  /* @__PURE__ */ jsxRuntime.jsx(
6418
6878
  "span",
6419
6879
  {
6420
- className: "shrink-0 text-right text-meta text-muted-foreground tabular-nums",
6880
+ className: "shrink-0 text-right text-sm text-muted-foreground tabular-nums",
6421
6881
  style: { width: durationWidth },
6422
6882
  children: lastLabel
6423
6883
  }
@@ -6435,7 +6895,7 @@ var TaskGantt = React23__namespace.forwardRef(
6435
6895
  "span",
6436
6896
  {
6437
6897
  className: cn(
6438
- "shrink-0 truncate font-mono text-meta",
6898
+ "shrink-0 truncate font-mono text-sm",
6439
6899
  neverRan && "text-muted-foreground"
6440
6900
  ),
6441
6901
  style: { width: labelWidth },
@@ -6476,7 +6936,7 @@ var TaskGantt = React23__namespace.forwardRef(
6476
6936
  /* @__PURE__ */ jsxRuntime.jsx(
6477
6937
  "span",
6478
6938
  {
6479
- className: "shrink-0 text-right font-mono text-meta text-muted-foreground tabular-nums",
6939
+ className: "shrink-0 text-right font-mono text-sm text-muted-foreground tabular-nums",
6480
6940
  style: { width: durationWidth },
6481
6941
  children: duration
6482
6942
  }
@@ -6524,8 +6984,22 @@ var TaskGantt = React23__namespace.forwardRef(
6524
6984
  }
6525
6985
  );
6526
6986
  TaskGantt.displayName = "TaskGantt";
6527
- var TaskNode = React23__namespace.forwardRef(
6528
- ({ taskKey, bound, status, tags, meta, selected, gate, dim, ghost, className, ...props }, ref) => {
6987
+ var TaskNode = React24__namespace.forwardRef(
6988
+ ({
6989
+ taskKey,
6990
+ bound,
6991
+ boundSwatch,
6992
+ boundPalette,
6993
+ status,
6994
+ tags,
6995
+ meta,
6996
+ selected,
6997
+ gate,
6998
+ dim,
6999
+ ghost,
7000
+ className,
7001
+ ...props
7002
+ }, ref) => {
6529
7003
  if (ghost) {
6530
7004
  return /* @__PURE__ */ jsxRuntime.jsxs(
6531
7005
  "div",
@@ -6533,7 +7007,7 @@ var TaskNode = React23__namespace.forwardRef(
6533
7007
  ref,
6534
7008
  className: cn(
6535
7009
  "flex w-[146px] flex-col gap-1 border border-dashed border-border p-2",
6536
- "text-meta text-muted-foreground",
7010
+ "text-sm text-muted-foreground",
6537
7011
  className
6538
7012
  ),
6539
7013
  ...props,
@@ -6574,12 +7048,12 @@ var TaskNode = React23__namespace.forwardRef(
6574
7048
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate font-mono", children: taskKey })
6575
7049
  ] }),
6576
7050
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
6577
- /* @__PURE__ */ jsxRuntime.jsx(BoundChip, { bound }),
7051
+ /* @__PURE__ */ jsxRuntime.jsx(BoundChip, { bound, swatch: boundSwatch, palette: boundPalette }),
6578
7052
  tags?.map((tag, i) => /* @__PURE__ */ jsxRuntime.jsx(
6579
7053
  "span",
6580
7054
  {
6581
7055
  className: cn(
6582
- "shrink-0 border px-1 text-meta",
7056
+ "shrink-0 border px-1 text-sm",
6583
7057
  tag.tone === "warning" ? "border-warning/40 text-warning" : "border-border text-muted-foreground"
6584
7058
  ),
6585
7059
  children: tag.label
@@ -6591,7 +7065,7 @@ var TaskNode = React23__namespace.forwardRef(
6591
7065
  "div",
6592
7066
  {
6593
7067
  className: cn(
6594
- "truncate text-meta",
7068
+ "truncate text-sm",
6595
7069
  gate ? "text-warning" : "text-muted-foreground"
6596
7070
  ),
6597
7071
  children: meta
@@ -6603,14 +7077,14 @@ var TaskNode = React23__namespace.forwardRef(
6603
7077
  }
6604
7078
  );
6605
7079
  TaskNode.displayName = "TaskNode";
6606
- var TemplatePicker = React23__namespace.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
7080
+ var TemplatePicker = React24__namespace.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6607
7081
  "div",
6608
7082
  {
6609
7083
  ref,
6610
7084
  className: cn("flex w-full flex-col border border-border bg-card", className),
6611
7085
  ...props,
6612
7086
  children: [
6613
- heading != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 shrink-0 items-center border-b border-border px-2 text-meta text-muted-foreground", children: heading }) : null,
7087
+ heading != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 shrink-0 items-center border-b border-border px-2 text-sm text-muted-foreground", children: heading }) : null,
6614
7088
  /* @__PURE__ */ jsxRuntime.jsx("div", { role: "listbox", className: "flex flex-col", children: options.map((o) => {
6615
7089
  const disabled = o.unavailable != null;
6616
7090
  const selected = value === o.id;
@@ -6629,16 +7103,16 @@ var TemplatePicker = React23__namespace.forwardRef(({ heading, options, value, o
6629
7103
  ),
6630
7104
  children: [
6631
7105
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-3 shrink-0 text-primary", children: selected ? "\u2022" : "" }),
6632
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-mono text-meta", children: o.id }),
6633
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-meta text-muted-foreground", children: o.kind }),
7106
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-mono text-sm", children: o.id }),
7107
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: o.kind }),
6634
7108
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1" }),
6635
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 truncate text-meta text-muted-foreground", children: o.unavailable ?? o.note })
7109
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 truncate text-sm text-muted-foreground", children: o.unavailable ?? o.note })
6636
7110
  ]
6637
7111
  },
6638
7112
  o.id
6639
7113
  );
6640
7114
  }) }),
6641
- footnote != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-border px-2 py-1 text-meta text-muted-foreground", children: footnote }) : null
7115
+ footnote != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-border px-2 py-1 text-sm text-muted-foreground", children: footnote }) : null
6642
7116
  ]
6643
7117
  }
6644
7118
  ));
@@ -6654,14 +7128,14 @@ var MARKER = {
6654
7128
  output: "\u2192",
6655
7129
  comment: "#"
6656
7130
  };
6657
- var Terminal = React23__namespace.forwardRef(
7131
+ var Terminal = React24__namespace.forwardRef(
6658
7132
  ({ cursor, columnTemplate = "150px minmax(0,1fr) auto auto", className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6659
7133
  "div",
6660
7134
  {
6661
7135
  ref,
6662
7136
  style: { "--terminal-cols": columnTemplate },
6663
7137
  className: cn(
6664
- "overflow-x-auto border border-border bg-muted/40 p-2 font-mono text-meta",
7138
+ "overflow-x-auto border border-border bg-muted/40 p-2 font-mono text-sm",
6665
7139
  className
6666
7140
  ),
6667
7141
  ...props,
@@ -6679,7 +7153,7 @@ var Terminal = React23__namespace.forwardRef(
6679
7153
  )
6680
7154
  );
6681
7155
  Terminal.displayName = "Terminal";
6682
- var TerminalLine = React23__namespace.forwardRef(
7156
+ var TerminalLine = React24__namespace.forwardRef(
6683
7157
  ({ kind = "output", level, levelColumn = 1, columns, className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
6684
7158
  "div",
6685
7159
  {
@@ -6710,7 +7184,7 @@ var TerminalLine = React23__namespace.forwardRef(
6710
7184
  "min-w-0 truncate",
6711
7185
  // A log tints its level cell and greys everything that is not the
6712
7186
  // message; a transcript greys only its trailing cell.
6713
- level ? i === levelColumn ? LEVEL[level] : i === columns.length - 1 ? void 0 : "text-muted-foreground" : i === columns.length - 1 && "text-muted-foreground"
7187
+ level ? i === levelColumn ? LEVEL[level] ?? "text-muted-foreground" : i === columns.length - 1 ? void 0 : "text-muted-foreground" : i === columns.length - 1 && "text-muted-foreground"
6714
7188
  ),
6715
7189
  children: c
6716
7190
  },
@@ -6721,10 +7195,10 @@ var TerminalLine = React23__namespace.forwardRef(
6721
7195
  )
6722
7196
  );
6723
7197
  TerminalLine.displayName = "TerminalLine";
6724
- var TimelineVariantContext = React23__namespace.createContext("columns");
7198
+ var TimelineVariantContext = React24__namespace.createContext("columns");
6725
7199
  var RAIL_MARKER_OFFSET = "h-[0.692rem]";
6726
7200
  var RAIL_FOOTER_TAIL = "h-[1.067rem]";
6727
- var TimelineList = React23__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 }) }));
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 }) }));
6728
7202
  TimelineList.displayName = "TimelineList";
6729
7203
  function RailGutter({ marker }) {
6730
7204
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-2.5 shrink-0 flex-col items-center", children: [
@@ -6748,8 +7222,8 @@ function RailGutter({ marker }) {
6748
7222
  )
6749
7223
  ] });
6750
7224
  }
6751
- var TimelineEntry = React23__namespace.forwardRef(({ when, title, marker, className, children, ...props }, ref) => {
6752
- const variant = React23__namespace.useContext(TimelineVariantContext);
7225
+ var TimelineEntry = React24__namespace.forwardRef(({ when, title, marker, className, children, ...props }, ref) => {
7226
+ const variant = React24__namespace.useContext(TimelineVariantContext);
6753
7227
  if (variant === "rail") {
6754
7228
  return /* @__PURE__ */ jsxRuntime.jsxs(
6755
7229
  "li",
@@ -6760,7 +7234,7 @@ var TimelineEntry = React23__namespace.forwardRef(({ when, title, marker, classN
6760
7234
  children: [
6761
7235
  /* @__PURE__ */ jsxRuntime.jsx(RailGutter, { marker }),
6762
7236
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5 pb-4 group-last/entry:pb-0", children: [
6763
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-meta text-muted-foreground", children: when }),
7237
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: when }),
6764
7238
  title != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: title }) : null,
6765
7239
  children
6766
7240
  ] })
@@ -6775,7 +7249,7 @@ var TimelineEntry = React23__namespace.forwardRef(({ when, title, marker, classN
6775
7249
  className: cn("flex gap-2 border-b border-border py-1.5 last:border-b-0", className),
6776
7250
  ...props,
6777
7251
  children: [
6778
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-[72px] shrink-0 items-baseline gap-1.5 text-meta text-muted-foreground", children: [
7252
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-[72px] shrink-0 items-baseline gap-1.5 text-sm text-muted-foreground", children: [
6779
7253
  marker ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "translate-y-1", children: marker }) : null,
6780
7254
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: when })
6781
7255
  ] }),
@@ -6788,8 +7262,8 @@ var TimelineEntry = React23__namespace.forwardRef(({ when, title, marker, classN
6788
7262
  );
6789
7263
  });
6790
7264
  TimelineEntry.displayName = "TimelineEntry";
6791
- var TimelineFooter = React23__namespace.forwardRef(({ className, children, ...props }, ref) => {
6792
- const variant = React23__namespace.useContext(TimelineVariantContext);
7265
+ var TimelineFooter = React24__namespace.forwardRef(({ className, children, ...props }, ref) => {
7266
+ const variant = React24__namespace.useContext(TimelineVariantContext);
6793
7267
  if (variant === "rail") {
6794
7268
  return /* @__PURE__ */ jsxRuntime.jsxs(
6795
7269
  "li",
@@ -6835,11 +7309,11 @@ function useTour(options) {
6835
7309
  onComplete,
6836
7310
  onExit
6837
7311
  } = options;
6838
- const [current, setCurrent] = React23__namespace.useState(initialStep);
7312
+ const [current, setCurrent] = React24__namespace.useState(initialStep);
6839
7313
  const total = steps.length;
6840
7314
  const lastIndex = Math.max(total - 1, 0);
6841
7315
  const clamped = Math.min(Math.max(current, 0), lastIndex);
6842
- const goTo = React23__namespace.useCallback(
7316
+ const goTo = React24__namespace.useCallback(
6843
7317
  (index) => {
6844
7318
  setCurrent((prev2) => {
6845
7319
  const next2 = Math.min(Math.max(index, 0), lastIndex);
@@ -6849,7 +7323,7 @@ function useTour(options) {
6849
7323
  },
6850
7324
  [lastIndex, onStepChange]
6851
7325
  );
6852
- const next = React23__namespace.useCallback(() => {
7326
+ const next = React24__namespace.useCallback(() => {
6853
7327
  setCurrent((prev2) => {
6854
7328
  if (prev2 >= lastIndex) {
6855
7329
  if (loop && total > 0) {
@@ -6863,7 +7337,7 @@ function useTour(options) {
6863
7337
  return prev2 + 1;
6864
7338
  });
6865
7339
  }, [lastIndex, total, loop, onComplete, onStepChange]);
6866
- const prev = React23__namespace.useCallback(() => {
7340
+ const prev = React24__namespace.useCallback(() => {
6867
7341
  setCurrent((p) => {
6868
7342
  if (p <= 0) {
6869
7343
  if (loop && total > 0) {
@@ -6876,10 +7350,10 @@ function useTour(options) {
6876
7350
  return p - 1;
6877
7351
  });
6878
7352
  }, [lastIndex, total, loop, onStepChange]);
6879
- const exit = React23__namespace.useCallback(() => {
7353
+ const exit = React24__namespace.useCallback(() => {
6880
7354
  onExit?.();
6881
7355
  }, [onExit]);
6882
- return React23__namespace.useMemo(
7356
+ return React24__namespace.useMemo(
6883
7357
  () => ({
6884
7358
  step: steps[clamped],
6885
7359
  current: clamped,
@@ -6937,7 +7411,7 @@ function Tour({
6937
7411
  /* @__PURE__ */ jsxRuntime.jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 p-3", children: [
6938
7412
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
6939
7413
  /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "soft", className: "tracking-wider", children: badgeLabel }),
6940
- showCounter && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-meta text-muted-foreground", children: [
7414
+ showCounter && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
6941
7415
  current + 1,
6942
7416
  " / ",
6943
7417
  total
@@ -6948,7 +7422,7 @@ function Tour({
6948
7422
  {
6949
7423
  variant: "ghost",
6950
7424
  size: "sm",
6951
- className: "-mr-1 h-7 gap-1 px-2 text-meta text-muted-foreground [&_svg]:size-3.5",
7425
+ className: "-mr-1 h-7 gap-1 px-2 text-sm text-muted-foreground [&_svg]:size-3.5",
6952
7426
  onClick: ctrl.exit,
6953
7427
  children: [
6954
7428
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}),
@@ -7042,7 +7516,7 @@ function Tour({
7042
7516
  ) });
7043
7517
  }
7044
7518
  var TreeView = ({ searchable = false, ...props }) => {
7045
- const [searchQuery, setSearchQuery] = React23__namespace.useState("");
7519
+ const [searchQuery, setSearchQuery] = React24__namespace.useState("");
7046
7520
  const filterItems = (items, query) => {
7047
7521
  if (!query) return items;
7048
7522
  return items.map((item) => ({
@@ -7065,7 +7539,7 @@ var TreeView = ({ searchable = false, ...props }) => {
7065
7539
  );
7066
7540
  };
7067
7541
  var TreeItem = ({ item }) => {
7068
- const [isExpanded, setIsExpanded] = React23__namespace.useState(item.isExpanded || true);
7542
+ const [isExpanded, setIsExpanded] = React24__namespace.useState(item.isExpanded || true);
7069
7543
  const hasChildren = item.children && item.children.length > 0;
7070
7544
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
7071
7545
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -7134,7 +7608,7 @@ function UnderDevelopment({
7134
7608
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-4 px-3 py-1 bg-yellow-100 text-yellow-800", children: "Coming Soon" })
7135
7609
  ] });
7136
7610
  }
7137
- var TypographyH1 = React23__namespace.forwardRef(
7611
+ var TypographyH1 = React24__namespace.forwardRef(
7138
7612
  ({ className, ...props }, ref) => {
7139
7613
  return /* @__PURE__ */ jsxRuntime.jsx(
7140
7614
  "h1",
@@ -7150,7 +7624,7 @@ var TypographyH1 = React23__namespace.forwardRef(
7150
7624
  }
7151
7625
  );
7152
7626
  TypographyH1.displayName = "TypographyH1";
7153
- var TypographyH2 = React23__namespace.forwardRef(
7627
+ var TypographyH2 = React24__namespace.forwardRef(
7154
7628
  ({ className, ...props }, ref) => {
7155
7629
  return /* @__PURE__ */ jsxRuntime.jsx(
7156
7630
  "h2",
@@ -7166,7 +7640,7 @@ var TypographyH2 = React23__namespace.forwardRef(
7166
7640
  }
7167
7641
  );
7168
7642
  TypographyH2.displayName = "TypographyH2";
7169
- var TypographyH3 = React23__namespace.forwardRef(
7643
+ var TypographyH3 = React24__namespace.forwardRef(
7170
7644
  ({ className, ...props }, ref) => {
7171
7645
  return /* @__PURE__ */ jsxRuntime.jsx(
7172
7646
  "h3",
@@ -7182,7 +7656,7 @@ var TypographyH3 = React23__namespace.forwardRef(
7182
7656
  }
7183
7657
  );
7184
7658
  TypographyH3.displayName = "TypographyH3";
7185
- var TypographyH4 = React23__namespace.forwardRef(
7659
+ var TypographyH4 = React24__namespace.forwardRef(
7186
7660
  ({ className, ...props }, ref) => {
7187
7661
  return /* @__PURE__ */ jsxRuntime.jsx(
7188
7662
  "h4",
@@ -7198,7 +7672,7 @@ var TypographyH4 = React23__namespace.forwardRef(
7198
7672
  }
7199
7673
  );
7200
7674
  TypographyH4.displayName = "TypographyH4";
7201
- var TypographyH5 = React23__namespace.forwardRef(
7675
+ var TypographyH5 = React24__namespace.forwardRef(
7202
7676
  ({ className, ...props }, ref) => {
7203
7677
  return /* @__PURE__ */ jsxRuntime.jsx(
7204
7678
  "h5",
@@ -7214,7 +7688,7 @@ var TypographyH5 = React23__namespace.forwardRef(
7214
7688
  }
7215
7689
  );
7216
7690
  TypographyH5.displayName = "TypographyH5";
7217
- var TypographyH6 = React23__namespace.forwardRef(
7691
+ var TypographyH6 = React24__namespace.forwardRef(
7218
7692
  ({ className, ...props }, ref) => {
7219
7693
  return /* @__PURE__ */ jsxRuntime.jsx(
7220
7694
  "h6",
@@ -7230,7 +7704,7 @@ var TypographyH6 = React23__namespace.forwardRef(
7230
7704
  }
7231
7705
  );
7232
7706
  TypographyH6.displayName = "TypographyH6";
7233
- var TypographyP = React23__namespace.forwardRef(
7707
+ var TypographyP = React24__namespace.forwardRef(
7234
7708
  ({ className, ...props }, ref) => {
7235
7709
  return /* @__PURE__ */ jsxRuntime.jsx(
7236
7710
  "p",
@@ -7246,7 +7720,7 @@ var TypographyP = React23__namespace.forwardRef(
7246
7720
  }
7247
7721
  );
7248
7722
  TypographyP.displayName = "TypographyP";
7249
- var TypographyBlockquote = React23__namespace.forwardRef(
7723
+ var TypographyBlockquote = React24__namespace.forwardRef(
7250
7724
  ({ className, ...props }, ref) => {
7251
7725
  return /* @__PURE__ */ jsxRuntime.jsx(
7252
7726
  "blockquote",
@@ -7262,14 +7736,14 @@ var TypographyBlockquote = React23__namespace.forwardRef(
7262
7736
  }
7263
7737
  );
7264
7738
  TypographyBlockquote.displayName = "TypographyBlockquote";
7265
- var TypographyInlineCode = React23__namespace.forwardRef(
7739
+ var TypographyInlineCode = React24__namespace.forwardRef(
7266
7740
  ({ className, ...props }, ref) => {
7267
7741
  return /* @__PURE__ */ jsxRuntime.jsx(
7268
7742
  "code",
7269
7743
  {
7270
7744
  ref,
7271
7745
  className: cn(
7272
- "relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-meta font-semibold",
7746
+ "relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",
7273
7747
  className
7274
7748
  ),
7275
7749
  ...props
@@ -7278,7 +7752,7 @@ var TypographyInlineCode = React23__namespace.forwardRef(
7278
7752
  }
7279
7753
  );
7280
7754
  TypographyInlineCode.displayName = "TypographyInlineCode";
7281
- var TypographyLead = React23__namespace.forwardRef(
7755
+ var TypographyLead = React24__namespace.forwardRef(
7282
7756
  ({ className, ...props }, ref) => {
7283
7757
  return /* @__PURE__ */ jsxRuntime.jsx(
7284
7758
  "p",
@@ -7294,7 +7768,7 @@ var TypographyLead = React23__namespace.forwardRef(
7294
7768
  }
7295
7769
  );
7296
7770
  TypographyLead.displayName = "TypographyLead";
7297
- var TypographyLarge = React23__namespace.forwardRef(
7771
+ var TypographyLarge = React24__namespace.forwardRef(
7298
7772
  ({ className, ...props }, ref) => {
7299
7773
  return /* @__PURE__ */ jsxRuntime.jsx(
7300
7774
  "div",
@@ -7310,14 +7784,14 @@ var TypographyLarge = React23__namespace.forwardRef(
7310
7784
  }
7311
7785
  );
7312
7786
  TypographyLarge.displayName = "TypographyLarge";
7313
- var TypographySmall = React23__namespace.forwardRef(
7787
+ var TypographySmall = React24__namespace.forwardRef(
7314
7788
  ({ className, ...props }, ref) => {
7315
7789
  return /* @__PURE__ */ jsxRuntime.jsx(
7316
7790
  "small",
7317
7791
  {
7318
7792
  ref,
7319
7793
  className: cn(
7320
- "text-meta font-medium leading-none",
7794
+ "text-sm font-medium leading-none",
7321
7795
  className
7322
7796
  ),
7323
7797
  ...props
@@ -7326,7 +7800,7 @@ var TypographySmall = React23__namespace.forwardRef(
7326
7800
  }
7327
7801
  );
7328
7802
  TypographySmall.displayName = "TypographySmall";
7329
- var TypographyMuted = React23__namespace.forwardRef(
7803
+ var TypographyMuted = React24__namespace.forwardRef(
7330
7804
  ({ className, ...props }, ref) => {
7331
7805
  return /* @__PURE__ */ jsxRuntime.jsx(
7332
7806
  "p",
@@ -7342,7 +7816,7 @@ var TypographyMuted = React23__namespace.forwardRef(
7342
7816
  }
7343
7817
  );
7344
7818
  TypographyMuted.displayName = "TypographyMuted";
7345
- var TypographyList = React23__namespace.forwardRef(
7819
+ var TypographyList = React24__namespace.forwardRef(
7346
7820
  ({ className, ...props }, ref) => {
7347
7821
  return /* @__PURE__ */ jsxRuntime.jsx(
7348
7822
  "ul",
@@ -7358,7 +7832,7 @@ var TypographyList = React23__namespace.forwardRef(
7358
7832
  }
7359
7833
  );
7360
7834
  TypographyList.displayName = "TypographyList";
7361
- var TypographyPre = React23__namespace.forwardRef(
7835
+ var TypographyPre = React24__namespace.forwardRef(
7362
7836
  ({ className, ...props }, ref) => {
7363
7837
  return /* @__PURE__ */ jsxRuntime.jsx(
7364
7838
  "pre",
@@ -7539,6 +8013,7 @@ exports.Legend = Legend;
7539
8013
  exports.LegendItem = LegendItem;
7540
8014
  exports.LensChip = LensChip;
7541
8015
  exports.LensRow = LensRow;
8016
+ exports.Link = Link;
7542
8017
  exports.MatchPreview = MatchPreview;
7543
8018
  exports.MenuItem = MenuItem;
7544
8019
  exports.Menubar = Menubar;
@@ -7696,19 +8171,19 @@ exports.TypographySmall = TypographySmall;
7696
8171
  exports.UnderDevelopment = UnderDevelopment;
7697
8172
  exports.agentChipVariants = agentChipVariants;
7698
8173
  exports.badgeVariants = badgeVariants;
7699
- exports.boundSwatch = SWATCH;
7700
8174
  exports.buttonGroupVariants = buttonGroupVariants;
7701
8175
  exports.buttonVariants = buttonVariants;
7702
8176
  exports.chatSessionGutterClass = chatSessionGutterClass;
7703
8177
  exports.cn = cn;
7704
8178
  exports.describeSlice = describeSlice;
7705
- exports.layerLabel = LABEL;
7706
- exports.layerSwatch = SWATCH2;
8179
+ exports.layerItemLabel = stateLabel;
8180
+ exports.layerLabel = layerLabel;
8181
+ exports.layerPaint = layerPaint;
8182
+ exports.linkVariants = linkVariants;
7707
8183
  exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
7708
8184
  exports.splitAddress = split;
7709
8185
  exports.statusDotVariants = statusDotVariants;
7710
8186
  exports.toggleVariants = toggleVariants;
7711
- exports.touchLabel = MARK_LABEL;
7712
8187
  exports.useOverflowItems = useOverflowItems;
7713
8188
  exports.useSidebar = useSidebar;
7714
8189
  exports.useTour = useTour;