@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/README.md +11 -5
- package/dist/index.cjs +1039 -564
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +484 -74
- package/dist/index.d.ts +484 -74
- package/dist/index.js +1034 -560
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
603
|
+
var CarouselContext = React24__namespace.createContext(null);
|
|
611
604
|
function useCarousel() {
|
|
612
|
-
const context =
|
|
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 =
|
|
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] =
|
|
636
|
-
const [canScrollNext, setCanScrollNext] =
|
|
637
|
-
const onSelect =
|
|
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 =
|
|
637
|
+
const scrollPrev = React24__namespace.useCallback(() => {
|
|
645
638
|
api?.scrollPrev();
|
|
646
639
|
}, [api]);
|
|
647
|
-
const scrollNext =
|
|
640
|
+
const scrollNext = React24__namespace.useCallback(() => {
|
|
648
641
|
api?.scrollNext();
|
|
649
642
|
}, [api]);
|
|
650
|
-
const handleKeyDown =
|
|
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
|
-
|
|
655
|
+
React24__namespace.useEffect(() => {
|
|
663
656
|
if (!api || !setApi) {
|
|
664
657
|
return;
|
|
665
658
|
}
|
|
666
659
|
setApi(api);
|
|
667
660
|
}, [api, setApi]);
|
|
668
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] =
|
|
1887
|
-
|
|
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 =
|
|
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 =
|
|
1951
|
+
var SidebarContext = React24__namespace.createContext(null);
|
|
1933
1952
|
function useSidebar() {
|
|
1934
|
-
const context =
|
|
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 =
|
|
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] =
|
|
1952
|
-
const [_open, _setOpen] =
|
|
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 =
|
|
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 =
|
|
1985
|
+
const toggleSidebar = React24__namespace.useCallback(() => {
|
|
1967
1986
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
1968
1987
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
1969
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
2423
|
-
const width =
|
|
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 =
|
|
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 =
|
|
2489
|
+
var SidebarMenuSubItem = React24__namespace.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { ref, ...props }));
|
|
2471
2490
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
2472
|
-
var SidebarMenuSubButton =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2679
|
-
var Tabs =
|
|
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 =
|
|
2682
|
-
const size =
|
|
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 =
|
|
2698
|
-
const size =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
2773
|
+
var ToggleGroupContext = React24__namespace.createContext({
|
|
2755
2774
|
size: "default",
|
|
2756
2775
|
variant: "default"
|
|
2757
2776
|
});
|
|
2758
|
-
var ToggleGroup =
|
|
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 =
|
|
2769
|
-
const context =
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3019
|
-
d.sublabel != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-
|
|
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
|
|
3026
|
-
|
|
3027
|
-
|
|
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-
|
|
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(
|
|
3049
|
-
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
3108
|
-
/* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "text-
|
|
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-
|
|
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 =
|
|
3135
|
-
const contentRef =
|
|
3136
|
-
const pinnedRef =
|
|
3137
|
-
const getViewport =
|
|
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 =
|
|
3158
|
+
const scrollToBottom = React24__namespace.useCallback(() => {
|
|
3144
3159
|
const viewport = getViewport();
|
|
3145
3160
|
if (viewport) viewport.scrollTop = viewport.scrollHeight;
|
|
3146
3161
|
}, [getViewport]);
|
|
3147
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3181
|
+
React24__namespace.useEffect(() => {
|
|
3167
3182
|
pinnedRef.current = true;
|
|
3168
3183
|
scrollToBottom();
|
|
3169
3184
|
}, [autoScrollKey, scrollToBottom]);
|
|
3170
|
-
const isEmpty =
|
|
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 =
|
|
3264
|
-
const itemEls =
|
|
3265
|
-
const widths =
|
|
3266
|
-
const itemRefs =
|
|
3267
|
-
const [hidden, setHidden] =
|
|
3268
|
-
const fit =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
3325
|
+
const containerRef = React24__namespace.useCallback((el) => {
|
|
3311
3326
|
containerEl.current = el;
|
|
3312
3327
|
}, []);
|
|
3313
|
-
const itemRef =
|
|
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 =
|
|
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] =
|
|
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 =
|
|
3383
|
-
const pendingFocus =
|
|
3384
|
-
|
|
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 =
|
|
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(
|
|
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(
|
|
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] =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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] =
|
|
4130
|
-
const [clipped, setClipped] =
|
|
4131
|
-
const bodyRef =
|
|
4132
|
-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
4284
|
-
attempted != null ? /* @__PURE__ */ jsxRuntime.jsx("code", { className: "whitespace-pre-wrap break-all font-mono text-
|
|
4285
|
-
target != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
4620
|
+
var HeatStrip = React24__namespace.forwardRef(
|
|
4602
4621
|
({ cells, states, ticks, cellSize = 14, className, ...props }, ref) => {
|
|
4603
|
-
const byKey =
|
|
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-
|
|
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-
|
|
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
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
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
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
className
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
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
|
-
|
|
4694
|
-
|
|
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 =
|
|
4701
|
-
({ layer, summary, count, dim, className, children, ...props }, ref) => {
|
|
4702
|
-
const empty =
|
|
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-
|
|
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-
|
|
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
|
|
4722
|
-
|
|
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
|
|
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
|
-
|
|
4737
|
-
|
|
4738
|
-
|
|
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
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
|
|
4747
|
-
|
|
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
|
-
|
|
4812
|
+
style: { width: `${labelWidth}rem` },
|
|
4751
4813
|
className: cn(
|
|
4752
|
-
"
|
|
4753
|
-
|
|
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
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
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
|
-
"
|
|
4961
|
+
"span",
|
|
4766
4962
|
{
|
|
4767
4963
|
className: cn(
|
|
4768
|
-
"
|
|
4769
|
-
|
|
4964
|
+
"truncate font-mono text-sm",
|
|
4965
|
+
state === "refused" && "text-destructive line-through"
|
|
4770
4966
|
),
|
|
4771
|
-
children:
|
|
4967
|
+
children: item.label
|
|
4772
4968
|
}
|
|
4773
4969
|
),
|
|
4774
|
-
|
|
4775
|
-
|
|
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
|
-
|
|
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
|
-
"
|
|
4782
|
-
"
|
|
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:
|
|
5076
|
+
children: tickLabel(value)
|
|
4788
5077
|
},
|
|
4789
|
-
|
|
4790
|
-
)
|
|
4791
|
-
|
|
4792
|
-
|
|
4793
|
-
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
|
|
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
|
-
|
|
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
|
-
|
|
4808
|
-
|
|
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:
|
|
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
|
-
|
|
5212
|
+
title: band.note,
|
|
4814
5213
|
className: cn(
|
|
4815
|
-
"
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
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
|
-
) :
|
|
4823
|
-
},
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
5006
|
-
usage ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto shrink-0 text-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
5042
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto shrink-0 text-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
5343
|
-
const refs =
|
|
5344
|
-
const [collapsed, setCollapsed] =
|
|
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 =
|
|
5348
|
-
|
|
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 =
|
|
5381
|
-
|
|
5840
|
+
const notify = React24__namespace.useRef(onCollapsedChange);
|
|
5841
|
+
React24__namespace.useEffect(() => {
|
|
5382
5842
|
notify.current = onCollapsedChange;
|
|
5383
5843
|
}, [onCollapsedChange]);
|
|
5384
|
-
const collapsedRef =
|
|
5844
|
+
const collapsedRef = React24__namespace.useRef(collapsed);
|
|
5385
5845
|
collapsedRef.current = collapsed;
|
|
5386
|
-
const collapsePanel =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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(
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
5563
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: cn("min-w-0 flex-1", mono && "font-mono text-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
6150
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm tabular-nums", children: weight })
|
|
5691
6151
|
] }),
|
|
5692
|
-
refines != null ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-
|
|
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 =
|
|
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(
|
|
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 =
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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] =
|
|
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 =
|
|
6635
|
+
const uid = React24__namespace.default.useId();
|
|
6176
6636
|
const panelId = (value) => `${uid}-panel-${value}`;
|
|
6177
|
-
const items =
|
|
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 (
|
|
6723
|
+
if (React24__namespace.isValidElement(result)) return result;
|
|
6264
6724
|
if (typeof result !== "object") {
|
|
6265
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-
|
|
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-
|
|
6274
|
-
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "max-h-40 overflow-auto border border-border bg-muted/40 p-1.5 font-mono text-
|
|
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 =
|
|
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-
|
|
6287
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-mono text-
|
|
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-
|
|
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-
|
|
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-
|
|
6311
|
-
task.error.message != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-
|
|
6312
|
-
task.error.detail != null ? /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap font-mono text-
|
|
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-
|
|
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 =
|
|
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 =
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
6528
|
-
({
|
|
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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
6633
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-
|
|
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-
|
|
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-
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
6752
|
-
const variant =
|
|
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-
|
|
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-
|
|
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 =
|
|
6792
|
-
const variant =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
7353
|
+
const exit = React24__namespace.useCallback(() => {
|
|
6880
7354
|
onExit?.();
|
|
6881
7355
|
}, [onExit]);
|
|
6882
|
-
return
|
|
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-
|
|
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-
|
|
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] =
|
|
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] =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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.
|
|
7706
|
-
exports.
|
|
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;
|