@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.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
4
|
-
import
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
import * as React24 from 'react';
|
|
4
|
+
import React24__default, { Component } from 'react';
|
|
5
5
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
6
6
|
import { ChevronDown, ArrowLeft, ArrowRight, X, Search, ChevronRight, Check, Circle, PanelLeft, MoreHorizontal, ChevronLeft, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon, Frown, Lock, Construction } from 'lucide-react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -28,18 +28,11 @@ import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
|
28
28
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
29
29
|
|
|
30
30
|
// src/lib/utils.ts
|
|
31
|
-
var twMerge = extendTailwindMerge({
|
|
32
|
-
extend: {
|
|
33
|
-
classGroups: {
|
|
34
|
-
"font-size": [{ text: ["meta"] }]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
31
|
function cn(...inputs) {
|
|
39
32
|
return twMerge(clsx(inputs));
|
|
40
33
|
}
|
|
41
34
|
var Accordion = AccordionPrimitive.Root;
|
|
42
|
-
var AccordionItem =
|
|
35
|
+
var AccordionItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
43
36
|
AccordionPrimitive.Item,
|
|
44
37
|
{
|
|
45
38
|
ref,
|
|
@@ -48,7 +41,7 @@ var AccordionItem = React23.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
48
41
|
}
|
|
49
42
|
));
|
|
50
43
|
AccordionItem.displayName = "AccordionItem";
|
|
51
|
-
var AccordionTrigger =
|
|
44
|
+
var AccordionTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
|
|
52
45
|
AccordionPrimitive.Trigger,
|
|
53
46
|
{
|
|
54
47
|
ref,
|
|
@@ -64,7 +57,7 @@ var AccordionTrigger = React23.forwardRef(({ className, children, ...props }, re
|
|
|
64
57
|
}
|
|
65
58
|
) }));
|
|
66
59
|
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
67
|
-
var AccordionContent =
|
|
60
|
+
var AccordionContent = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
68
61
|
AccordionPrimitive.Content,
|
|
69
62
|
{
|
|
70
63
|
ref,
|
|
@@ -88,7 +81,7 @@ var alertVariants = cva(
|
|
|
88
81
|
}
|
|
89
82
|
}
|
|
90
83
|
);
|
|
91
|
-
var Alert =
|
|
84
|
+
var Alert = React24.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
92
85
|
"div",
|
|
93
86
|
{
|
|
94
87
|
ref,
|
|
@@ -98,7 +91,7 @@ var Alert = React23.forwardRef(({ className, variant, ...props }, ref) => /* @__
|
|
|
98
91
|
}
|
|
99
92
|
));
|
|
100
93
|
Alert.displayName = "Alert";
|
|
101
|
-
var AlertTitle =
|
|
94
|
+
var AlertTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
102
95
|
"h5",
|
|
103
96
|
{
|
|
104
97
|
ref,
|
|
@@ -107,7 +100,7 @@ var AlertTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
107
100
|
}
|
|
108
101
|
));
|
|
109
102
|
AlertTitle.displayName = "AlertTitle";
|
|
110
|
-
var AlertDescription =
|
|
103
|
+
var AlertDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
111
104
|
"div",
|
|
112
105
|
{
|
|
113
106
|
ref,
|
|
@@ -137,7 +130,7 @@ var buttonVariants = cva(
|
|
|
137
130
|
* size-5, which at h-6 leaves no padding at all.
|
|
138
131
|
*/
|
|
139
132
|
size: {
|
|
140
|
-
xs: "h-6 rounded-control px-2 text-
|
|
133
|
+
xs: "h-6 rounded-control px-2 text-sm gap-1 [&_svg]:size-4",
|
|
141
134
|
default: "h-9 px-4 py-2",
|
|
142
135
|
sm: "h-8 rounded-control px-3 py-2",
|
|
143
136
|
lg: "h-12 rounded-control px-8 py-3",
|
|
@@ -152,7 +145,7 @@ var buttonVariants = cva(
|
|
|
152
145
|
}
|
|
153
146
|
}
|
|
154
147
|
);
|
|
155
|
-
var Button =
|
|
148
|
+
var Button = React24.forwardRef(
|
|
156
149
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
157
150
|
const Comp = asChild ? Slot : "button";
|
|
158
151
|
return /* @__PURE__ */ jsx(
|
|
@@ -169,7 +162,7 @@ Button.displayName = "Button";
|
|
|
169
162
|
var AlertDialog = AlertDialogPrimitive.Root;
|
|
170
163
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
171
164
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
172
|
-
var AlertDialogOverlay =
|
|
165
|
+
var AlertDialogOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
173
166
|
AlertDialogPrimitive.Overlay,
|
|
174
167
|
{
|
|
175
168
|
className: cn(
|
|
@@ -181,7 +174,7 @@ var AlertDialogOverlay = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
181
174
|
}
|
|
182
175
|
));
|
|
183
176
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
184
|
-
var AlertDialogContent =
|
|
177
|
+
var AlertDialogContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
185
178
|
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
186
179
|
/* @__PURE__ */ jsx(
|
|
187
180
|
AlertDialogPrimitive.Content,
|
|
@@ -224,7 +217,7 @@ var AlertDialogFooter = ({
|
|
|
224
217
|
}
|
|
225
218
|
);
|
|
226
219
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
227
|
-
var AlertDialogTitle =
|
|
220
|
+
var AlertDialogTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
228
221
|
AlertDialogPrimitive.Title,
|
|
229
222
|
{
|
|
230
223
|
ref,
|
|
@@ -233,7 +226,7 @@ var AlertDialogTitle = React23.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
233
226
|
}
|
|
234
227
|
));
|
|
235
228
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
236
|
-
var AlertDialogDescription =
|
|
229
|
+
var AlertDialogDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
237
230
|
AlertDialogPrimitive.Description,
|
|
238
231
|
{
|
|
239
232
|
ref,
|
|
@@ -242,7 +235,7 @@ var AlertDialogDescription = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
242
235
|
}
|
|
243
236
|
));
|
|
244
237
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
245
|
-
var AlertDialogAction =
|
|
238
|
+
var AlertDialogAction = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
246
239
|
AlertDialogPrimitive.Action,
|
|
247
240
|
{
|
|
248
241
|
ref,
|
|
@@ -251,7 +244,7 @@ var AlertDialogAction = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
251
244
|
}
|
|
252
245
|
));
|
|
253
246
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
254
|
-
var AlertDialogCancel =
|
|
247
|
+
var AlertDialogCancel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
255
248
|
AlertDialogPrimitive.Cancel,
|
|
256
249
|
{
|
|
257
250
|
ref,
|
|
@@ -264,7 +257,7 @@ var AlertDialogCancel = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
264
257
|
}
|
|
265
258
|
));
|
|
266
259
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
267
|
-
var Avatar =
|
|
260
|
+
var Avatar = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
268
261
|
AvatarPrimitive.Root,
|
|
269
262
|
{
|
|
270
263
|
ref,
|
|
@@ -277,7 +270,7 @@ var Avatar = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
277
270
|
}
|
|
278
271
|
));
|
|
279
272
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
280
|
-
var AvatarImage =
|
|
273
|
+
var AvatarImage = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
281
274
|
AvatarPrimitive.Image,
|
|
282
275
|
{
|
|
283
276
|
ref,
|
|
@@ -286,7 +279,7 @@ var AvatarImage = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
286
279
|
}
|
|
287
280
|
));
|
|
288
281
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
289
|
-
var AvatarFallback =
|
|
282
|
+
var AvatarFallback = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
290
283
|
AvatarPrimitive.Fallback,
|
|
291
284
|
{
|
|
292
285
|
ref,
|
|
@@ -318,15 +311,15 @@ var badgeVariants = cva(
|
|
|
318
311
|
},
|
|
319
312
|
size: {
|
|
320
313
|
/** 18px — inline in a title, or a count against a label. */
|
|
321
|
-
xs: "h-[18px] px-1.5 text-
|
|
314
|
+
xs: "h-[18px] px-1.5 text-sm",
|
|
322
315
|
/** 22px — the row chip: a status beside an entity name. */
|
|
323
|
-
sm: "h-[22px] px-2 text-
|
|
316
|
+
sm: "h-[22px] px-2 text-sm",
|
|
324
317
|
/**
|
|
325
318
|
* Unchanged from before `size` existed: no explicit height, so it sizes
|
|
326
319
|
* from its text. Every badge already written keeps rendering exactly as
|
|
327
320
|
* it did — the two tiers above are additions, not a re-baseline.
|
|
328
321
|
*/
|
|
329
|
-
default: "px-2.5 py-0.5 text-
|
|
322
|
+
default: "px-2.5 py-0.5 text-sm"
|
|
330
323
|
}
|
|
331
324
|
},
|
|
332
325
|
defaultVariants: {
|
|
@@ -345,9 +338,9 @@ function Badge({ className, variant, tone, size, ...props }) {
|
|
|
345
338
|
}
|
|
346
339
|
);
|
|
347
340
|
}
|
|
348
|
-
var Breadcrumb =
|
|
341
|
+
var Breadcrumb = React24.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
|
|
349
342
|
Breadcrumb.displayName = "Breadcrumb";
|
|
350
|
-
var BreadcrumbList =
|
|
343
|
+
var BreadcrumbList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
351
344
|
"ol",
|
|
352
345
|
{
|
|
353
346
|
ref,
|
|
@@ -359,7 +352,7 @@ var BreadcrumbList = React23.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
359
352
|
}
|
|
360
353
|
));
|
|
361
354
|
BreadcrumbList.displayName = "BreadcrumbList";
|
|
362
|
-
var BreadcrumbItem =
|
|
355
|
+
var BreadcrumbItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
363
356
|
"li",
|
|
364
357
|
{
|
|
365
358
|
ref,
|
|
@@ -368,7 +361,7 @@ var BreadcrumbItem = React23.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
368
361
|
}
|
|
369
362
|
));
|
|
370
363
|
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
371
|
-
var BreadcrumbLink =
|
|
364
|
+
var BreadcrumbLink = React24.forwardRef(({ asChild, className, ...props }, ref) => {
|
|
372
365
|
const Comp = asChild ? Slot : "a";
|
|
373
366
|
return /* @__PURE__ */ jsx(
|
|
374
367
|
Comp,
|
|
@@ -380,7 +373,7 @@ var BreadcrumbLink = React23.forwardRef(({ asChild, className, ...props }, ref)
|
|
|
380
373
|
);
|
|
381
374
|
});
|
|
382
375
|
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
383
|
-
var BreadcrumbPage =
|
|
376
|
+
var BreadcrumbPage = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
384
377
|
"span",
|
|
385
378
|
{
|
|
386
379
|
ref,
|
|
@@ -424,7 +417,7 @@ var BreadcrumbEllipsis = ({
|
|
|
424
417
|
}
|
|
425
418
|
);
|
|
426
419
|
BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
|
|
427
|
-
var Separator =
|
|
420
|
+
var Separator = React24.forwardRef(
|
|
428
421
|
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
429
422
|
SeparatorPrimitive.Root,
|
|
430
423
|
{
|
|
@@ -506,7 +499,7 @@ function ButtonGroupSeparator({
|
|
|
506
499
|
}
|
|
507
500
|
);
|
|
508
501
|
}
|
|
509
|
-
var Card =
|
|
502
|
+
var Card = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
510
503
|
"div",
|
|
511
504
|
{
|
|
512
505
|
ref,
|
|
@@ -518,7 +511,7 @@ var Card = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
518
511
|
}
|
|
519
512
|
));
|
|
520
513
|
Card.displayName = "Card";
|
|
521
|
-
var CardHeader =
|
|
514
|
+
var CardHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
522
515
|
"div",
|
|
523
516
|
{
|
|
524
517
|
ref,
|
|
@@ -527,7 +520,7 @@ var CardHeader = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
527
520
|
}
|
|
528
521
|
));
|
|
529
522
|
CardHeader.displayName = "CardHeader";
|
|
530
|
-
var CardTitle =
|
|
523
|
+
var CardTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
531
524
|
"div",
|
|
532
525
|
{
|
|
533
526
|
ref,
|
|
@@ -536,7 +529,7 @@ var CardTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
536
529
|
}
|
|
537
530
|
));
|
|
538
531
|
CardTitle.displayName = "CardTitle";
|
|
539
|
-
var CardDescription =
|
|
532
|
+
var CardDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
540
533
|
"div",
|
|
541
534
|
{
|
|
542
535
|
ref,
|
|
@@ -545,9 +538,9 @@ var CardDescription = React23.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
545
538
|
}
|
|
546
539
|
));
|
|
547
540
|
CardDescription.displayName = "CardDescription";
|
|
548
|
-
var CardContent =
|
|
541
|
+
var CardContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-3 flex-1 overflow-y-auto", className), ...props }));
|
|
549
542
|
CardContent.displayName = "CardContent";
|
|
550
|
-
var CardFooter =
|
|
543
|
+
var CardFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
551
544
|
"div",
|
|
552
545
|
{
|
|
553
546
|
ref,
|
|
@@ -556,7 +549,7 @@ var CardFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
556
549
|
}
|
|
557
550
|
));
|
|
558
551
|
CardFooter.displayName = "CardFooter";
|
|
559
|
-
var CardWithHeader =
|
|
552
|
+
var CardWithHeader = React24.forwardRef(
|
|
560
553
|
({ className, title, description, headerClassName, contentClassName, footerClassName, footer, children, ...props }, ref) => /* @__PURE__ */ jsxs(Card, { ref, className, ...props, children: [
|
|
561
554
|
/* @__PURE__ */ jsxs(CardHeader, { className: `${headerClassName} rounded-t-md`, children: [
|
|
562
555
|
typeof title === "string" ? /* @__PURE__ */ jsx(CardTitle, { children: title }) : title,
|
|
@@ -567,15 +560,15 @@ var CardWithHeader = React23.forwardRef(
|
|
|
567
560
|
] })
|
|
568
561
|
);
|
|
569
562
|
CardWithHeader.displayName = "CardWithHeader";
|
|
570
|
-
var CarouselContext =
|
|
563
|
+
var CarouselContext = React24.createContext(null);
|
|
571
564
|
function useCarousel() {
|
|
572
|
-
const context =
|
|
565
|
+
const context = React24.useContext(CarouselContext);
|
|
573
566
|
if (!context) {
|
|
574
567
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
575
568
|
}
|
|
576
569
|
return context;
|
|
577
570
|
}
|
|
578
|
-
var Carousel =
|
|
571
|
+
var Carousel = React24.forwardRef(
|
|
579
572
|
({
|
|
580
573
|
orientation = "horizontal",
|
|
581
574
|
opts,
|
|
@@ -592,22 +585,22 @@ var Carousel = React23.forwardRef(
|
|
|
592
585
|
},
|
|
593
586
|
plugins
|
|
594
587
|
);
|
|
595
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
596
|
-
const [canScrollNext, setCanScrollNext] =
|
|
597
|
-
const onSelect =
|
|
588
|
+
const [canScrollPrev, setCanScrollPrev] = React24.useState(false);
|
|
589
|
+
const [canScrollNext, setCanScrollNext] = React24.useState(false);
|
|
590
|
+
const onSelect = React24.useCallback((api2) => {
|
|
598
591
|
if (!api2) {
|
|
599
592
|
return;
|
|
600
593
|
}
|
|
601
594
|
setCanScrollPrev(api2.canScrollPrev());
|
|
602
595
|
setCanScrollNext(api2.canScrollNext());
|
|
603
596
|
}, []);
|
|
604
|
-
const scrollPrev =
|
|
597
|
+
const scrollPrev = React24.useCallback(() => {
|
|
605
598
|
api?.scrollPrev();
|
|
606
599
|
}, [api]);
|
|
607
|
-
const scrollNext =
|
|
600
|
+
const scrollNext = React24.useCallback(() => {
|
|
608
601
|
api?.scrollNext();
|
|
609
602
|
}, [api]);
|
|
610
|
-
const handleKeyDown =
|
|
603
|
+
const handleKeyDown = React24.useCallback(
|
|
611
604
|
(event) => {
|
|
612
605
|
if (event.key === "ArrowLeft") {
|
|
613
606
|
event.preventDefault();
|
|
@@ -619,13 +612,13 @@ var Carousel = React23.forwardRef(
|
|
|
619
612
|
},
|
|
620
613
|
[scrollPrev, scrollNext]
|
|
621
614
|
);
|
|
622
|
-
|
|
615
|
+
React24.useEffect(() => {
|
|
623
616
|
if (!api || !setApi) {
|
|
624
617
|
return;
|
|
625
618
|
}
|
|
626
619
|
setApi(api);
|
|
627
620
|
}, [api, setApi]);
|
|
628
|
-
|
|
621
|
+
React24.useEffect(() => {
|
|
629
622
|
if (!api) {
|
|
630
623
|
return;
|
|
631
624
|
}
|
|
@@ -666,7 +659,7 @@ var Carousel = React23.forwardRef(
|
|
|
666
659
|
}
|
|
667
660
|
);
|
|
668
661
|
Carousel.displayName = "Carousel";
|
|
669
|
-
var CarouselContent =
|
|
662
|
+
var CarouselContent = React24.forwardRef(({ className, ...props }, ref) => {
|
|
670
663
|
const { carouselRef, orientation } = useCarousel();
|
|
671
664
|
return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
672
665
|
"div",
|
|
@@ -682,7 +675,7 @@ var CarouselContent = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
682
675
|
) });
|
|
683
676
|
});
|
|
684
677
|
CarouselContent.displayName = "CarouselContent";
|
|
685
|
-
var CarouselItem =
|
|
678
|
+
var CarouselItem = React24.forwardRef(({ className, ...props }, ref) => {
|
|
686
679
|
const { orientation } = useCarousel();
|
|
687
680
|
return /* @__PURE__ */ jsx(
|
|
688
681
|
"div",
|
|
@@ -700,7 +693,7 @@ var CarouselItem = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
700
693
|
);
|
|
701
694
|
});
|
|
702
695
|
CarouselItem.displayName = "CarouselItem";
|
|
703
|
-
var CarouselPrevious =
|
|
696
|
+
var CarouselPrevious = React24.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
704
697
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
705
698
|
return /* @__PURE__ */ jsxs(
|
|
706
699
|
Button,
|
|
@@ -724,7 +717,7 @@ var CarouselPrevious = React23.forwardRef(({ className, variant = "outline", siz
|
|
|
724
717
|
);
|
|
725
718
|
});
|
|
726
719
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
727
|
-
var CarouselNext =
|
|
720
|
+
var CarouselNext = React24.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
728
721
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
729
722
|
return /* @__PURE__ */ jsxs(
|
|
730
723
|
Button,
|
|
@@ -752,7 +745,7 @@ var Dialog = DialogPrimitive.Root;
|
|
|
752
745
|
var DialogTrigger = DialogPrimitive.Trigger;
|
|
753
746
|
var DialogPortal = DialogPrimitive.Portal;
|
|
754
747
|
var DialogClose = DialogPrimitive.Close;
|
|
755
|
-
var DialogOverlay =
|
|
748
|
+
var DialogOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
756
749
|
DialogPrimitive.Overlay,
|
|
757
750
|
{
|
|
758
751
|
ref,
|
|
@@ -764,7 +757,7 @@ var DialogOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
764
757
|
}
|
|
765
758
|
));
|
|
766
759
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
767
|
-
var DialogContent =
|
|
760
|
+
var DialogContent = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
768
761
|
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
769
762
|
/* @__PURE__ */ jsxs(
|
|
770
763
|
DialogPrimitive.Content,
|
|
@@ -814,7 +807,7 @@ var DialogFooter = ({
|
|
|
814
807
|
}
|
|
815
808
|
);
|
|
816
809
|
DialogFooter.displayName = "DialogFooter";
|
|
817
|
-
var DialogTitle =
|
|
810
|
+
var DialogTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
818
811
|
DialogPrimitive.Title,
|
|
819
812
|
{
|
|
820
813
|
ref,
|
|
@@ -826,7 +819,7 @@ var DialogTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
826
819
|
}
|
|
827
820
|
));
|
|
828
821
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
829
|
-
var DialogDescription =
|
|
822
|
+
var DialogDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
830
823
|
DialogPrimitive.Description,
|
|
831
824
|
{
|
|
832
825
|
ref,
|
|
@@ -835,7 +828,7 @@ var DialogDescription = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
835
828
|
}
|
|
836
829
|
));
|
|
837
830
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
838
|
-
var Command =
|
|
831
|
+
var Command = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
839
832
|
Command$1,
|
|
840
833
|
{
|
|
841
834
|
ref,
|
|
@@ -850,7 +843,7 @@ Command.displayName = Command$1.displayName;
|
|
|
850
843
|
var CommandDialog = ({ children, ...props }) => {
|
|
851
844
|
return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ 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 }) }) });
|
|
852
845
|
};
|
|
853
|
-
var CommandInput =
|
|
846
|
+
var CommandInput = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
854
847
|
/* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
855
848
|
/* @__PURE__ */ jsx(
|
|
856
849
|
Command$1.Input,
|
|
@@ -865,7 +858,7 @@ var CommandInput = React23.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
865
858
|
)
|
|
866
859
|
] }));
|
|
867
860
|
CommandInput.displayName = Command$1.Input.displayName;
|
|
868
|
-
var CommandList =
|
|
861
|
+
var CommandList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
869
862
|
Command$1.List,
|
|
870
863
|
{
|
|
871
864
|
ref,
|
|
@@ -874,7 +867,7 @@ var CommandList = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
874
867
|
}
|
|
875
868
|
));
|
|
876
869
|
CommandList.displayName = Command$1.List.displayName;
|
|
877
|
-
var CommandEmpty =
|
|
870
|
+
var CommandEmpty = React24.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
878
871
|
Command$1.Empty,
|
|
879
872
|
{
|
|
880
873
|
ref,
|
|
@@ -883,19 +876,19 @@ var CommandEmpty = React23.forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
|
883
876
|
}
|
|
884
877
|
));
|
|
885
878
|
CommandEmpty.displayName = Command$1.Empty.displayName;
|
|
886
|
-
var CommandGroup =
|
|
879
|
+
var CommandGroup = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
887
880
|
Command$1.Group,
|
|
888
881
|
{
|
|
889
882
|
ref,
|
|
890
883
|
className: cn(
|
|
891
|
-
"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-
|
|
884
|
+
"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",
|
|
892
885
|
className
|
|
893
886
|
),
|
|
894
887
|
...props
|
|
895
888
|
}
|
|
896
889
|
));
|
|
897
890
|
CommandGroup.displayName = Command$1.Group.displayName;
|
|
898
|
-
var CommandSeparator =
|
|
891
|
+
var CommandSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
899
892
|
Command$1.Separator,
|
|
900
893
|
{
|
|
901
894
|
ref,
|
|
@@ -904,7 +897,7 @@ var CommandSeparator = React23.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
904
897
|
}
|
|
905
898
|
));
|
|
906
899
|
CommandSeparator.displayName = Command$1.Separator.displayName;
|
|
907
|
-
var CommandItem =
|
|
900
|
+
var CommandItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
908
901
|
Command$1.Item,
|
|
909
902
|
{
|
|
910
903
|
ref,
|
|
@@ -924,7 +917,7 @@ var CommandShortcut = ({
|
|
|
924
917
|
"span",
|
|
925
918
|
{
|
|
926
919
|
className: cn(
|
|
927
|
-
"ml-auto text-
|
|
920
|
+
"ml-auto text-sm tracking-widest text-muted-foreground",
|
|
928
921
|
className
|
|
929
922
|
),
|
|
930
923
|
...props
|
|
@@ -938,7 +931,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
|
938
931
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
939
932
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
940
933
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
941
|
-
var DropdownMenuSubTrigger =
|
|
934
|
+
var DropdownMenuSubTrigger = React24.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
942
935
|
DropdownMenuPrimitive.SubTrigger,
|
|
943
936
|
{
|
|
944
937
|
ref,
|
|
@@ -955,7 +948,7 @@ var DropdownMenuSubTrigger = React23.forwardRef(({ className, inset, children, .
|
|
|
955
948
|
}
|
|
956
949
|
));
|
|
957
950
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
958
|
-
var DropdownMenuSubContent =
|
|
951
|
+
var DropdownMenuSubContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
959
952
|
DropdownMenuPrimitive.SubContent,
|
|
960
953
|
{
|
|
961
954
|
ref,
|
|
@@ -967,7 +960,7 @@ var DropdownMenuSubContent = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
967
960
|
}
|
|
968
961
|
));
|
|
969
962
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
970
|
-
var DropdownMenuContent =
|
|
963
|
+
var DropdownMenuContent = React24.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
971
964
|
DropdownMenuPrimitive.Content,
|
|
972
965
|
{
|
|
973
966
|
ref,
|
|
@@ -981,7 +974,7 @@ var DropdownMenuContent = React23.forwardRef(({ className, sideOffset = 4, ...pr
|
|
|
981
974
|
}
|
|
982
975
|
) }));
|
|
983
976
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
984
|
-
var DropdownMenuItem =
|
|
977
|
+
var DropdownMenuItem = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
985
978
|
DropdownMenuPrimitive.Item,
|
|
986
979
|
{
|
|
987
980
|
ref,
|
|
@@ -994,7 +987,7 @@ var DropdownMenuItem = React23.forwardRef(({ className, inset, ...props }, ref)
|
|
|
994
987
|
}
|
|
995
988
|
));
|
|
996
989
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
997
|
-
var DropdownMenuCheckboxItem =
|
|
990
|
+
var DropdownMenuCheckboxItem = React24.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
998
991
|
DropdownMenuPrimitive.CheckboxItem,
|
|
999
992
|
{
|
|
1000
993
|
ref,
|
|
@@ -1011,7 +1004,7 @@ var DropdownMenuCheckboxItem = React23.forwardRef(({ className, children, checke
|
|
|
1011
1004
|
}
|
|
1012
1005
|
));
|
|
1013
1006
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1014
|
-
var DropdownMenuRadioItem =
|
|
1007
|
+
var DropdownMenuRadioItem = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1015
1008
|
DropdownMenuPrimitive.RadioItem,
|
|
1016
1009
|
{
|
|
1017
1010
|
ref,
|
|
@@ -1027,7 +1020,7 @@ var DropdownMenuRadioItem = React23.forwardRef(({ className, children, ...props
|
|
|
1027
1020
|
}
|
|
1028
1021
|
));
|
|
1029
1022
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1030
|
-
var DropdownMenuLabel =
|
|
1023
|
+
var DropdownMenuLabel = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1031
1024
|
DropdownMenuPrimitive.Label,
|
|
1032
1025
|
{
|
|
1033
1026
|
ref,
|
|
@@ -1040,7 +1033,7 @@ var DropdownMenuLabel = React23.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1040
1033
|
}
|
|
1041
1034
|
));
|
|
1042
1035
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1043
|
-
var DropdownMenuSeparator =
|
|
1036
|
+
var DropdownMenuSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1044
1037
|
DropdownMenuPrimitive.Separator,
|
|
1045
1038
|
{
|
|
1046
1039
|
ref,
|
|
@@ -1056,7 +1049,7 @@ var DropdownMenuShortcut = ({
|
|
|
1056
1049
|
return /* @__PURE__ */ jsx(
|
|
1057
1050
|
"span",
|
|
1058
1051
|
{
|
|
1059
|
-
className: cn("ml-auto text-
|
|
1052
|
+
className: cn("ml-auto text-sm tracking-widest opacity-60", className),
|
|
1060
1053
|
...props
|
|
1061
1054
|
}
|
|
1062
1055
|
);
|
|
@@ -1064,7 +1057,7 @@ var DropdownMenuShortcut = ({
|
|
|
1064
1057
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1065
1058
|
var HoverCard = HoverCardPrimitive.Root;
|
|
1066
1059
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
1067
|
-
var HoverCardContent =
|
|
1060
|
+
var HoverCardContent = React24.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1068
1061
|
HoverCardPrimitive.Content,
|
|
1069
1062
|
{
|
|
1070
1063
|
ref,
|
|
@@ -1225,7 +1218,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
1225
1218
|
className: cn(
|
|
1226
1219
|
"text-muted-foreground line-clamp-2 text-balance font-normal leading-normal",
|
|
1227
1220
|
// A dense row's subtitle is one line of meta, not a wrapped paragraph.
|
|
1228
|
-
"group-data-[size=xs]/item:line-clamp-1 group-data-[size=xs]/item:text-
|
|
1221
|
+
"group-data-[size=xs]/item:line-clamp-1 group-data-[size=xs]/item:text-sm",
|
|
1229
1222
|
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
1230
1223
|
className
|
|
1231
1224
|
),
|
|
@@ -1275,7 +1268,7 @@ function Kbd({ className, ...props }) {
|
|
|
1275
1268
|
{
|
|
1276
1269
|
"data-slot": "kbd",
|
|
1277
1270
|
className: cn(
|
|
1278
|
-
"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-
|
|
1271
|
+
"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",
|
|
1279
1272
|
"[&_svg:not([class*='size-'])]:size-3",
|
|
1280
1273
|
"[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
|
|
1281
1274
|
className
|
|
@@ -1294,6 +1287,32 @@ function KbdGroup({ className, ...props }) {
|
|
|
1294
1287
|
}
|
|
1295
1288
|
);
|
|
1296
1289
|
}
|
|
1290
|
+
var linkVariants = cva(
|
|
1291
|
+
"underline-offset-4 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-[2px]",
|
|
1292
|
+
{
|
|
1293
|
+
variants: {
|
|
1294
|
+
variant: {
|
|
1295
|
+
default: "text-primary hover:underline",
|
|
1296
|
+
underlined: "text-primary underline",
|
|
1297
|
+
quiet: "text-muted-foreground hover:text-foreground hover:underline"
|
|
1298
|
+
}
|
|
1299
|
+
},
|
|
1300
|
+
defaultVariants: { variant: "default" }
|
|
1301
|
+
}
|
|
1302
|
+
);
|
|
1303
|
+
var Link = React24.forwardRef(
|
|
1304
|
+
({ className, variant, external, target, rel, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1305
|
+
"a",
|
|
1306
|
+
{
|
|
1307
|
+
ref,
|
|
1308
|
+
className: cn(linkVariants({ variant }), className),
|
|
1309
|
+
target: external ? "_blank" : target,
|
|
1310
|
+
rel: external ? "noreferrer noopener" : rel,
|
|
1311
|
+
...props
|
|
1312
|
+
}
|
|
1313
|
+
)
|
|
1314
|
+
);
|
|
1315
|
+
Link.displayName = "Link";
|
|
1297
1316
|
function MenubarMenu({
|
|
1298
1317
|
...props
|
|
1299
1318
|
}) {
|
|
@@ -1319,7 +1338,7 @@ function MenubarSub({
|
|
|
1319
1338
|
}) {
|
|
1320
1339
|
return /* @__PURE__ */ jsx(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1321
1340
|
}
|
|
1322
|
-
var Menubar =
|
|
1341
|
+
var Menubar = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1323
1342
|
MenubarPrimitive.Root,
|
|
1324
1343
|
{
|
|
1325
1344
|
ref,
|
|
@@ -1331,7 +1350,7 @@ var Menubar = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1331
1350
|
}
|
|
1332
1351
|
));
|
|
1333
1352
|
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
|
1334
|
-
var MenubarTrigger =
|
|
1353
|
+
var MenubarTrigger = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1335
1354
|
MenubarPrimitive.Trigger,
|
|
1336
1355
|
{
|
|
1337
1356
|
ref,
|
|
@@ -1343,7 +1362,7 @@ var MenubarTrigger = React23.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
1343
1362
|
}
|
|
1344
1363
|
));
|
|
1345
1364
|
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
|
1346
|
-
var MenubarSubTrigger =
|
|
1365
|
+
var MenubarSubTrigger = React24.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1347
1366
|
MenubarPrimitive.SubTrigger,
|
|
1348
1367
|
{
|
|
1349
1368
|
ref,
|
|
@@ -1360,7 +1379,7 @@ var MenubarSubTrigger = React23.forwardRef(({ className, inset, children, ...pro
|
|
|
1360
1379
|
}
|
|
1361
1380
|
));
|
|
1362
1381
|
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
|
1363
|
-
var MenubarSubContent =
|
|
1382
|
+
var MenubarSubContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1364
1383
|
MenubarPrimitive.SubContent,
|
|
1365
1384
|
{
|
|
1366
1385
|
ref,
|
|
@@ -1372,7 +1391,7 @@ var MenubarSubContent = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1372
1391
|
}
|
|
1373
1392
|
));
|
|
1374
1393
|
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
|
1375
|
-
var MenubarContent =
|
|
1394
|
+
var MenubarContent = React24.forwardRef(
|
|
1376
1395
|
({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
1377
1396
|
MenubarPrimitive.Content,
|
|
1378
1397
|
{
|
|
@@ -1389,7 +1408,7 @@ var MenubarContent = React23.forwardRef(
|
|
|
1389
1408
|
) })
|
|
1390
1409
|
);
|
|
1391
1410
|
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
|
1392
|
-
var MenubarItem =
|
|
1411
|
+
var MenubarItem = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1393
1412
|
MenubarPrimitive.Item,
|
|
1394
1413
|
{
|
|
1395
1414
|
ref,
|
|
@@ -1402,7 +1421,7 @@ var MenubarItem = React23.forwardRef(({ className, inset, ...props }, ref) => /*
|
|
|
1402
1421
|
}
|
|
1403
1422
|
));
|
|
1404
1423
|
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
|
1405
|
-
var MenubarCheckboxItem =
|
|
1424
|
+
var MenubarCheckboxItem = React24.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1406
1425
|
MenubarPrimitive.CheckboxItem,
|
|
1407
1426
|
{
|
|
1408
1427
|
ref,
|
|
@@ -1419,7 +1438,7 @@ var MenubarCheckboxItem = React23.forwardRef(({ className, children, checked, ..
|
|
|
1419
1438
|
}
|
|
1420
1439
|
));
|
|
1421
1440
|
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
|
1422
|
-
var MenubarRadioItem =
|
|
1441
|
+
var MenubarRadioItem = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1423
1442
|
MenubarPrimitive.RadioItem,
|
|
1424
1443
|
{
|
|
1425
1444
|
ref,
|
|
@@ -1435,7 +1454,7 @@ var MenubarRadioItem = React23.forwardRef(({ className, children, ...props }, re
|
|
|
1435
1454
|
}
|
|
1436
1455
|
));
|
|
1437
1456
|
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
|
1438
|
-
var MenubarLabel =
|
|
1457
|
+
var MenubarLabel = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1439
1458
|
MenubarPrimitive.Label,
|
|
1440
1459
|
{
|
|
1441
1460
|
ref,
|
|
@@ -1448,7 +1467,7 @@ var MenubarLabel = React23.forwardRef(({ className, inset, ...props }, ref) => /
|
|
|
1448
1467
|
}
|
|
1449
1468
|
));
|
|
1450
1469
|
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
|
1451
|
-
var MenubarSeparator =
|
|
1470
|
+
var MenubarSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1452
1471
|
MenubarPrimitive.Separator,
|
|
1453
1472
|
{
|
|
1454
1473
|
ref,
|
|
@@ -1465,7 +1484,7 @@ var MenubarShortcut = ({
|
|
|
1465
1484
|
"span",
|
|
1466
1485
|
{
|
|
1467
1486
|
className: cn(
|
|
1468
|
-
"ml-auto text-
|
|
1487
|
+
"ml-auto text-sm tracking-widest text-muted-foreground",
|
|
1469
1488
|
className
|
|
1470
1489
|
),
|
|
1471
1490
|
...props
|
|
@@ -1473,7 +1492,7 @@ var MenubarShortcut = ({
|
|
|
1473
1492
|
);
|
|
1474
1493
|
};
|
|
1475
1494
|
MenubarShortcut.displayname = "MenubarShortcut";
|
|
1476
|
-
var NavigationMenu =
|
|
1495
|
+
var NavigationMenu = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1477
1496
|
NavigationMenuPrimitive.Root,
|
|
1478
1497
|
{
|
|
1479
1498
|
ref,
|
|
@@ -1489,7 +1508,7 @@ var NavigationMenu = React23.forwardRef(({ className, children, ...props }, ref)
|
|
|
1489
1508
|
}
|
|
1490
1509
|
));
|
|
1491
1510
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
1492
|
-
var NavigationMenuList =
|
|
1511
|
+
var NavigationMenuList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1493
1512
|
NavigationMenuPrimitive.List,
|
|
1494
1513
|
{
|
|
1495
1514
|
ref,
|
|
@@ -1505,7 +1524,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
|
1505
1524
|
var navigationMenuTriggerStyle = cva(
|
|
1506
1525
|
"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"
|
|
1507
1526
|
);
|
|
1508
|
-
var NavigationMenuTrigger =
|
|
1527
|
+
var NavigationMenuTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1509
1528
|
NavigationMenuPrimitive.Trigger,
|
|
1510
1529
|
{
|
|
1511
1530
|
ref,
|
|
@@ -1525,7 +1544,7 @@ var NavigationMenuTrigger = React23.forwardRef(({ className, children, ...props
|
|
|
1525
1544
|
}
|
|
1526
1545
|
));
|
|
1527
1546
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
1528
|
-
var NavigationMenuContent =
|
|
1547
|
+
var NavigationMenuContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1529
1548
|
NavigationMenuPrimitive.Content,
|
|
1530
1549
|
{
|
|
1531
1550
|
ref,
|
|
@@ -1538,7 +1557,7 @@ var NavigationMenuContent = React23.forwardRef(({ className, ...props }, ref) =>
|
|
|
1538
1557
|
));
|
|
1539
1558
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
1540
1559
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
1541
|
-
var NavigationMenuViewport =
|
|
1560
|
+
var NavigationMenuViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
|
|
1542
1561
|
NavigationMenuPrimitive.Viewport,
|
|
1543
1562
|
{
|
|
1544
1563
|
className: cn(
|
|
@@ -1550,7 +1569,7 @@ var NavigationMenuViewport = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
1550
1569
|
}
|
|
1551
1570
|
) }));
|
|
1552
1571
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
1553
|
-
var NavigationMenuIndicator =
|
|
1572
|
+
var NavigationMenuIndicator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1554
1573
|
NavigationMenuPrimitive.Indicator,
|
|
1555
1574
|
{
|
|
1556
1575
|
ref,
|
|
@@ -1573,7 +1592,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
|
1573
1592
|
}
|
|
1574
1593
|
);
|
|
1575
1594
|
Pagination.displayName = "Pagination";
|
|
1576
|
-
var PaginationContent =
|
|
1595
|
+
var PaginationContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1577
1596
|
"ul",
|
|
1578
1597
|
{
|
|
1579
1598
|
ref,
|
|
@@ -1582,7 +1601,7 @@ var PaginationContent = React23.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1582
1601
|
}
|
|
1583
1602
|
));
|
|
1584
1603
|
PaginationContent.displayName = "PaginationContent";
|
|
1585
|
-
var PaginationItem =
|
|
1604
|
+
var PaginationItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
|
|
1586
1605
|
PaginationItem.displayName = "PaginationItem";
|
|
1587
1606
|
var PaginationLink = ({
|
|
1588
1607
|
className,
|
|
@@ -1656,7 +1675,7 @@ var PaginationEllipsis = ({
|
|
|
1656
1675
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
1657
1676
|
var Popover = PopoverPrimitive.Root;
|
|
1658
1677
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1659
|
-
var PopoverContent =
|
|
1678
|
+
var PopoverContent = React24.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
1660
1679
|
PopoverPrimitive.Content,
|
|
1661
1680
|
{
|
|
1662
1681
|
ref,
|
|
@@ -1670,7 +1689,7 @@ var PopoverContent = React23.forwardRef(({ className, align = "center", sideOffs
|
|
|
1670
1689
|
}
|
|
1671
1690
|
) }));
|
|
1672
1691
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1673
|
-
var Progress =
|
|
1692
|
+
var Progress = React24.forwardRef(({ className, value, size = "default", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1674
1693
|
ProgressPrimitive.Root,
|
|
1675
1694
|
{
|
|
1676
1695
|
ref,
|
|
@@ -1714,7 +1733,7 @@ var ResizableHandle = ({
|
|
|
1714
1733
|
/* @__PURE__ */ jsx("div", { className: "z-10 h-6 w-[3px] rounded-full bg-muted-foreground/40" })
|
|
1715
1734
|
}
|
|
1716
1735
|
);
|
|
1717
|
-
var ScrollArea =
|
|
1736
|
+
var ScrollArea = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1718
1737
|
ScrollAreaPrimitive.Root,
|
|
1719
1738
|
{
|
|
1720
1739
|
ref,
|
|
@@ -1728,7 +1747,7 @@ var ScrollArea = React23.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
1728
1747
|
}
|
|
1729
1748
|
));
|
|
1730
1749
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
1731
|
-
var ScrollBar =
|
|
1750
|
+
var ScrollBar = React24.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1732
1751
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1733
1752
|
{
|
|
1734
1753
|
ref,
|
|
@@ -1748,7 +1767,7 @@ var Sheet = DialogPrimitive.Root;
|
|
|
1748
1767
|
var SheetTrigger = DialogPrimitive.Trigger;
|
|
1749
1768
|
var SheetClose = DialogPrimitive.Close;
|
|
1750
1769
|
var SheetPortal = DialogPrimitive.Portal;
|
|
1751
|
-
var SheetOverlay =
|
|
1770
|
+
var SheetOverlay = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1752
1771
|
DialogPrimitive.Overlay,
|
|
1753
1772
|
{
|
|
1754
1773
|
className: cn(
|
|
@@ -1776,7 +1795,7 @@ var sheetVariants = cva(
|
|
|
1776
1795
|
}
|
|
1777
1796
|
}
|
|
1778
1797
|
);
|
|
1779
|
-
var SheetContent =
|
|
1798
|
+
var SheetContent = React24.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
1780
1799
|
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
1781
1800
|
/* @__PURE__ */ jsxs(
|
|
1782
1801
|
DialogPrimitive.Content,
|
|
@@ -1823,7 +1842,7 @@ var SheetFooter = ({
|
|
|
1823
1842
|
}
|
|
1824
1843
|
);
|
|
1825
1844
|
SheetFooter.displayName = "SheetFooter";
|
|
1826
|
-
var SheetTitle =
|
|
1845
|
+
var SheetTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1827
1846
|
DialogPrimitive.Title,
|
|
1828
1847
|
{
|
|
1829
1848
|
ref,
|
|
@@ -1832,7 +1851,7 @@ var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1832
1851
|
}
|
|
1833
1852
|
));
|
|
1834
1853
|
SheetTitle.displayName = DialogPrimitive.Title.displayName;
|
|
1835
|
-
var SheetDescription =
|
|
1854
|
+
var SheetDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1836
1855
|
DialogPrimitive.Description,
|
|
1837
1856
|
{
|
|
1838
1857
|
ref,
|
|
@@ -1843,8 +1862,8 @@ var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1843
1862
|
SheetDescription.displayName = DialogPrimitive.Description.displayName;
|
|
1844
1863
|
var MOBILE_BREAKPOINT = 768;
|
|
1845
1864
|
function useIsMobile() {
|
|
1846
|
-
const [isMobile, setIsMobile] =
|
|
1847
|
-
|
|
1865
|
+
const [isMobile, setIsMobile] = React24.useState(void 0);
|
|
1866
|
+
React24.useEffect(() => {
|
|
1848
1867
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
1849
1868
|
const onChange = () => {
|
|
1850
1869
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -1870,7 +1889,7 @@ function Skeleton({
|
|
|
1870
1889
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
1871
1890
|
var Tooltip = TooltipPrimitive.Root;
|
|
1872
1891
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
1873
|
-
var TooltipContent =
|
|
1892
|
+
var TooltipContent = React24.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1874
1893
|
TooltipPrimitive.Content,
|
|
1875
1894
|
{
|
|
1876
1895
|
ref,
|
|
@@ -1889,15 +1908,15 @@ var SIDEBAR_WIDTH = "16rem";
|
|
|
1889
1908
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
1890
1909
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
1891
1910
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
1892
|
-
var SidebarContext =
|
|
1911
|
+
var SidebarContext = React24.createContext(null);
|
|
1893
1912
|
function useSidebar() {
|
|
1894
|
-
const context =
|
|
1913
|
+
const context = React24.useContext(SidebarContext);
|
|
1895
1914
|
if (!context) {
|
|
1896
1915
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
1897
1916
|
}
|
|
1898
1917
|
return context;
|
|
1899
1918
|
}
|
|
1900
|
-
var SidebarProvider =
|
|
1919
|
+
var SidebarProvider = React24.forwardRef(
|
|
1901
1920
|
({
|
|
1902
1921
|
defaultOpen = true,
|
|
1903
1922
|
open: openProp,
|
|
@@ -1908,10 +1927,10 @@ var SidebarProvider = React23.forwardRef(
|
|
|
1908
1927
|
...props
|
|
1909
1928
|
}, ref) => {
|
|
1910
1929
|
const isMobile = useIsMobile();
|
|
1911
|
-
const [openMobile, setOpenMobile] =
|
|
1912
|
-
const [_open, _setOpen] =
|
|
1930
|
+
const [openMobile, setOpenMobile] = React24.useState(false);
|
|
1931
|
+
const [_open, _setOpen] = React24.useState(defaultOpen);
|
|
1913
1932
|
const open = openProp ?? _open;
|
|
1914
|
-
const setOpen =
|
|
1933
|
+
const setOpen = React24.useCallback(
|
|
1915
1934
|
(value) => {
|
|
1916
1935
|
const openState = typeof value === "function" ? value(open) : value;
|
|
1917
1936
|
if (setOpenProp) {
|
|
@@ -1923,10 +1942,10 @@ var SidebarProvider = React23.forwardRef(
|
|
|
1923
1942
|
},
|
|
1924
1943
|
[setOpenProp, open]
|
|
1925
1944
|
);
|
|
1926
|
-
const toggleSidebar =
|
|
1945
|
+
const toggleSidebar = React24.useCallback(() => {
|
|
1927
1946
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
1928
1947
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
1929
|
-
|
|
1948
|
+
React24.useEffect(() => {
|
|
1930
1949
|
const handleKeyDown = (event) => {
|
|
1931
1950
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
1932
1951
|
event.preventDefault();
|
|
@@ -1937,7 +1956,7 @@ var SidebarProvider = React23.forwardRef(
|
|
|
1937
1956
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1938
1957
|
}, [toggleSidebar]);
|
|
1939
1958
|
const state = open ? "expanded" : "collapsed";
|
|
1940
|
-
const contextValue =
|
|
1959
|
+
const contextValue = React24.useMemo(
|
|
1941
1960
|
() => ({
|
|
1942
1961
|
state,
|
|
1943
1962
|
open,
|
|
@@ -1969,7 +1988,7 @@ var SidebarProvider = React23.forwardRef(
|
|
|
1969
1988
|
}
|
|
1970
1989
|
);
|
|
1971
1990
|
SidebarProvider.displayName = "SidebarProvider";
|
|
1972
|
-
var Sidebar =
|
|
1991
|
+
var Sidebar = React24.forwardRef(
|
|
1973
1992
|
({
|
|
1974
1993
|
side = "left",
|
|
1975
1994
|
variant = "sidebar",
|
|
@@ -2062,7 +2081,7 @@ var Sidebar = React23.forwardRef(
|
|
|
2062
2081
|
}
|
|
2063
2082
|
);
|
|
2064
2083
|
Sidebar.displayName = "Sidebar";
|
|
2065
|
-
var SidebarTrigger =
|
|
2084
|
+
var SidebarTrigger = React24.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
2066
2085
|
const { toggleSidebar } = useSidebar();
|
|
2067
2086
|
return /* @__PURE__ */ jsxs(
|
|
2068
2087
|
Button,
|
|
@@ -2085,7 +2104,7 @@ var SidebarTrigger = React23.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
2085
2104
|
);
|
|
2086
2105
|
});
|
|
2087
2106
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
2088
|
-
var SidebarRail =
|
|
2107
|
+
var SidebarRail = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2089
2108
|
const { toggleSidebar } = useSidebar();
|
|
2090
2109
|
return /* @__PURE__ */ jsx(
|
|
2091
2110
|
"button",
|
|
@@ -2110,7 +2129,7 @@ var SidebarRail = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2110
2129
|
);
|
|
2111
2130
|
});
|
|
2112
2131
|
SidebarRail.displayName = "SidebarRail";
|
|
2113
|
-
var SidebarInset =
|
|
2132
|
+
var SidebarInset = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2114
2133
|
return /* @__PURE__ */ jsx(
|
|
2115
2134
|
"main",
|
|
2116
2135
|
{
|
|
@@ -2125,7 +2144,7 @@ var SidebarInset = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2125
2144
|
);
|
|
2126
2145
|
});
|
|
2127
2146
|
SidebarInset.displayName = "SidebarInset";
|
|
2128
|
-
var SidebarInput =
|
|
2147
|
+
var SidebarInput = React24.forwardRef(({ className, type, ...props }, ref) => {
|
|
2129
2148
|
return /* @__PURE__ */ jsx(
|
|
2130
2149
|
"input",
|
|
2131
2150
|
{
|
|
@@ -2143,7 +2162,7 @@ var SidebarInput = React23.forwardRef(({ className, type, ...props }, ref) => {
|
|
|
2143
2162
|
);
|
|
2144
2163
|
});
|
|
2145
2164
|
SidebarInput.displayName = "SidebarInput";
|
|
2146
|
-
var SidebarHeader =
|
|
2165
|
+
var SidebarHeader = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2147
2166
|
return /* @__PURE__ */ jsx(
|
|
2148
2167
|
"div",
|
|
2149
2168
|
{
|
|
@@ -2155,7 +2174,7 @@ var SidebarHeader = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2155
2174
|
);
|
|
2156
2175
|
});
|
|
2157
2176
|
SidebarHeader.displayName = "SidebarHeader";
|
|
2158
|
-
var SidebarFooter =
|
|
2177
|
+
var SidebarFooter = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2159
2178
|
return /* @__PURE__ */ jsx(
|
|
2160
2179
|
"div",
|
|
2161
2180
|
{
|
|
@@ -2167,7 +2186,7 @@ var SidebarFooter = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2167
2186
|
);
|
|
2168
2187
|
});
|
|
2169
2188
|
SidebarFooter.displayName = "SidebarFooter";
|
|
2170
|
-
var SidebarSeparator =
|
|
2189
|
+
var SidebarSeparator = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2171
2190
|
return /* @__PURE__ */ jsx(
|
|
2172
2191
|
Separator,
|
|
2173
2192
|
{
|
|
@@ -2179,7 +2198,7 @@ var SidebarSeparator = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2179
2198
|
);
|
|
2180
2199
|
});
|
|
2181
2200
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
2182
|
-
var SidebarContent =
|
|
2201
|
+
var SidebarContent = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2183
2202
|
return /* @__PURE__ */ jsx(
|
|
2184
2203
|
"div",
|
|
2185
2204
|
{
|
|
@@ -2194,7 +2213,7 @@ var SidebarContent = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2194
2213
|
);
|
|
2195
2214
|
});
|
|
2196
2215
|
SidebarContent.displayName = "SidebarContent";
|
|
2197
|
-
var SidebarGroup =
|
|
2216
|
+
var SidebarGroup = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2198
2217
|
return /* @__PURE__ */ jsx(
|
|
2199
2218
|
"div",
|
|
2200
2219
|
{
|
|
@@ -2206,7 +2225,7 @@ var SidebarGroup = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2206
2225
|
);
|
|
2207
2226
|
});
|
|
2208
2227
|
SidebarGroup.displayName = "SidebarGroup";
|
|
2209
|
-
var SidebarGroupLabel =
|
|
2228
|
+
var SidebarGroupLabel = React24.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
2210
2229
|
const Comp = asChild ? Slot : "div";
|
|
2211
2230
|
return /* @__PURE__ */ jsx(
|
|
2212
2231
|
Comp,
|
|
@@ -2214,7 +2233,7 @@ var SidebarGroupLabel = React23.forwardRef(({ className, asChild = false, ...pro
|
|
|
2214
2233
|
ref,
|
|
2215
2234
|
"data-sidebar": "group-label",
|
|
2216
2235
|
className: cn(
|
|
2217
|
-
"flex h-8 shrink-0 items-center rounded-md px-2 text-
|
|
2236
|
+
"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",
|
|
2218
2237
|
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
2219
2238
|
className
|
|
2220
2239
|
),
|
|
@@ -2223,7 +2242,7 @@ var SidebarGroupLabel = React23.forwardRef(({ className, asChild = false, ...pro
|
|
|
2223
2242
|
);
|
|
2224
2243
|
});
|
|
2225
2244
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
2226
|
-
var SidebarGroupAction =
|
|
2245
|
+
var SidebarGroupAction = React24.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
2227
2246
|
const Comp = asChild ? Slot : "button";
|
|
2228
2247
|
return /* @__PURE__ */ jsx(
|
|
2229
2248
|
Comp,
|
|
@@ -2242,7 +2261,7 @@ var SidebarGroupAction = React23.forwardRef(({ className, asChild = false, ...pr
|
|
|
2242
2261
|
);
|
|
2243
2262
|
});
|
|
2244
2263
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
2245
|
-
var SidebarGroupContent =
|
|
2264
|
+
var SidebarGroupContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2246
2265
|
"div",
|
|
2247
2266
|
{
|
|
2248
2267
|
ref,
|
|
@@ -2252,7 +2271,7 @@ var SidebarGroupContent = React23.forwardRef(({ className, ...props }, ref) => /
|
|
|
2252
2271
|
}
|
|
2253
2272
|
));
|
|
2254
2273
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
2255
|
-
var SidebarMenu =
|
|
2274
|
+
var SidebarMenu = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2256
2275
|
"ul",
|
|
2257
2276
|
{
|
|
2258
2277
|
ref,
|
|
@@ -2262,7 +2281,7 @@ var SidebarMenu = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2262
2281
|
}
|
|
2263
2282
|
));
|
|
2264
2283
|
SidebarMenu.displayName = "SidebarMenu";
|
|
2265
|
-
var SidebarMenuItem =
|
|
2284
|
+
var SidebarMenuItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2266
2285
|
"li",
|
|
2267
2286
|
{
|
|
2268
2287
|
ref,
|
|
@@ -2292,7 +2311,7 @@ var sidebarMenuButtonVariants = cva(
|
|
|
2292
2311
|
}
|
|
2293
2312
|
}
|
|
2294
2313
|
);
|
|
2295
|
-
var SidebarMenuButton =
|
|
2314
|
+
var SidebarMenuButton = React24.forwardRef(
|
|
2296
2315
|
({
|
|
2297
2316
|
asChild = false,
|
|
2298
2317
|
isActive = false,
|
|
@@ -2338,7 +2357,7 @@ var SidebarMenuButton = React23.forwardRef(
|
|
|
2338
2357
|
}
|
|
2339
2358
|
);
|
|
2340
2359
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
2341
|
-
var SidebarMenuAction =
|
|
2360
|
+
var SidebarMenuAction = React24.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
2342
2361
|
const Comp = asChild ? Slot : "button";
|
|
2343
2362
|
return /* @__PURE__ */ jsx(
|
|
2344
2363
|
Comp,
|
|
@@ -2361,13 +2380,13 @@ var SidebarMenuAction = React23.forwardRef(({ className, asChild = false, showOn
|
|
|
2361
2380
|
);
|
|
2362
2381
|
});
|
|
2363
2382
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
2364
|
-
var SidebarMenuBadge =
|
|
2383
|
+
var SidebarMenuBadge = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2365
2384
|
"div",
|
|
2366
2385
|
{
|
|
2367
2386
|
ref,
|
|
2368
2387
|
"data-sidebar": "menu-badge",
|
|
2369
2388
|
className: cn(
|
|
2370
|
-
"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-
|
|
2389
|
+
"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",
|
|
2371
2390
|
"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
|
|
2372
2391
|
"peer-data-[size=sm]/menu-button:top-1",
|
|
2373
2392
|
"peer-data-[size=default]/menu-button:top-1.5",
|
|
@@ -2379,8 +2398,8 @@ var SidebarMenuBadge = React23.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
2379
2398
|
}
|
|
2380
2399
|
));
|
|
2381
2400
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
2382
|
-
var SidebarMenuSkeleton =
|
|
2383
|
-
const width =
|
|
2401
|
+
var SidebarMenuSkeleton = React24.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
2402
|
+
const width = React24.useMemo(() => {
|
|
2384
2403
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
2385
2404
|
}, []);
|
|
2386
2405
|
return /* @__PURE__ */ jsxs(
|
|
@@ -2413,7 +2432,7 @@ var SidebarMenuSkeleton = React23.forwardRef(({ className, showIcon = false, ...
|
|
|
2413
2432
|
);
|
|
2414
2433
|
});
|
|
2415
2434
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
2416
|
-
var SidebarMenuSub =
|
|
2435
|
+
var SidebarMenuSub = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2417
2436
|
"ul",
|
|
2418
2437
|
{
|
|
2419
2438
|
ref,
|
|
@@ -2427,9 +2446,9 @@ var SidebarMenuSub = React23.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
2427
2446
|
}
|
|
2428
2447
|
));
|
|
2429
2448
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
2430
|
-
var SidebarMenuSubItem =
|
|
2449
|
+
var SidebarMenuSubItem = React24.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, ...props }));
|
|
2431
2450
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
2432
|
-
var SidebarMenuSubButton =
|
|
2451
|
+
var SidebarMenuSubButton = React24.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
2433
2452
|
const Comp = asChild ? Slot : "a";
|
|
2434
2453
|
return /* @__PURE__ */ jsx(
|
|
2435
2454
|
Comp,
|
|
@@ -2531,7 +2550,7 @@ var statusDotVariants = cva("inline-block shrink-0 rounded-full", {
|
|
|
2531
2550
|
size: "sm"
|
|
2532
2551
|
}
|
|
2533
2552
|
});
|
|
2534
|
-
var StatusDot =
|
|
2553
|
+
var StatusDot = React24.forwardRef(
|
|
2535
2554
|
({ className, tone, size, label, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2536
2555
|
"span",
|
|
2537
2556
|
{
|
|
@@ -2545,7 +2564,7 @@ var StatusDot = React23.forwardRef(
|
|
|
2545
2564
|
)
|
|
2546
2565
|
);
|
|
2547
2566
|
StatusDot.displayName = "StatusDot";
|
|
2548
|
-
var Table =
|
|
2567
|
+
var Table = React24.forwardRef(({ className, density = "default", ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2549
2568
|
"div",
|
|
2550
2569
|
{
|
|
2551
2570
|
"data-density": density,
|
|
@@ -2561,9 +2580,9 @@ var Table = React23.forwardRef(({ className, density = "default", ...props }, re
|
|
|
2561
2580
|
}
|
|
2562
2581
|
));
|
|
2563
2582
|
Table.displayName = "Table";
|
|
2564
|
-
var TableHeader =
|
|
2583
|
+
var TableHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
|
|
2565
2584
|
TableHeader.displayName = "TableHeader";
|
|
2566
|
-
var TableBody =
|
|
2585
|
+
var TableBody = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2567
2586
|
"tbody",
|
|
2568
2587
|
{
|
|
2569
2588
|
ref,
|
|
@@ -2572,7 +2591,7 @@ var TableBody = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2572
2591
|
}
|
|
2573
2592
|
));
|
|
2574
2593
|
TableBody.displayName = "TableBody";
|
|
2575
|
-
var TableFooter =
|
|
2594
|
+
var TableFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2576
2595
|
"tfoot",
|
|
2577
2596
|
{
|
|
2578
2597
|
ref,
|
|
@@ -2584,7 +2603,7 @@ var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2584
2603
|
}
|
|
2585
2604
|
));
|
|
2586
2605
|
TableFooter.displayName = "TableFooter";
|
|
2587
|
-
var TableRow =
|
|
2606
|
+
var TableRow = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2588
2607
|
"tr",
|
|
2589
2608
|
{
|
|
2590
2609
|
ref,
|
|
@@ -2596,7 +2615,7 @@ var TableRow = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
2596
2615
|
}
|
|
2597
2616
|
));
|
|
2598
2617
|
TableRow.displayName = "TableRow";
|
|
2599
|
-
var TableHead =
|
|
2618
|
+
var TableHead = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2600
2619
|
"th",
|
|
2601
2620
|
{
|
|
2602
2621
|
ref,
|
|
@@ -2606,14 +2625,14 @@ var TableHead = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2606
2625
|
// every cell follows from there. One prop on the table rather than a
|
|
2607
2626
|
// size on <TableHead> and <TableCell> individually — four places to
|
|
2608
2627
|
// forget, and a table with two densities in it is always a mistake.
|
|
2609
|
-
"group-data-[density=compact]/table:h-[26px] group-data-[density=compact]/table:text-
|
|
2628
|
+
"group-data-[density=compact]/table:h-[26px] group-data-[density=compact]/table:text-sm",
|
|
2610
2629
|
className
|
|
2611
2630
|
),
|
|
2612
2631
|
...props
|
|
2613
2632
|
}
|
|
2614
2633
|
));
|
|
2615
2634
|
TableHead.displayName = "TableHead";
|
|
2616
|
-
var TableCell =
|
|
2635
|
+
var TableCell = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2617
2636
|
"td",
|
|
2618
2637
|
{
|
|
2619
2638
|
ref,
|
|
@@ -2626,7 +2645,7 @@ var TableCell = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2626
2645
|
}
|
|
2627
2646
|
));
|
|
2628
2647
|
TableCell.displayName = "TableCell";
|
|
2629
|
-
var TableCaption =
|
|
2648
|
+
var TableCaption = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2630
2649
|
"caption",
|
|
2631
2650
|
{
|
|
2632
2651
|
ref,
|
|
@@ -2635,11 +2654,11 @@ var TableCaption = React23.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
2635
2654
|
}
|
|
2636
2655
|
));
|
|
2637
2656
|
TableCaption.displayName = "TableCaption";
|
|
2638
|
-
var TabsSizeContext =
|
|
2639
|
-
var Tabs =
|
|
2657
|
+
var TabsSizeContext = React24.createContext("default");
|
|
2658
|
+
var Tabs = React24.forwardRef(({ size = "default", ...props }, ref) => /* @__PURE__ */ jsx(TabsSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, ...props }) }));
|
|
2640
2659
|
Tabs.displayName = TabsPrimitive.Root.displayName;
|
|
2641
|
-
var TabsList =
|
|
2642
|
-
const size =
|
|
2660
|
+
var TabsList = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2661
|
+
const size = React24.useContext(TabsSizeContext);
|
|
2643
2662
|
return /* @__PURE__ */ jsx(
|
|
2644
2663
|
TabsPrimitive.List,
|
|
2645
2664
|
{
|
|
@@ -2654,14 +2673,14 @@ var TabsList = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2654
2673
|
);
|
|
2655
2674
|
});
|
|
2656
2675
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
2657
|
-
var TabsTrigger =
|
|
2658
|
-
const size =
|
|
2676
|
+
var TabsTrigger = React24.forwardRef(({ className, ...props }, ref) => {
|
|
2677
|
+
const size = React24.useContext(TabsSizeContext);
|
|
2659
2678
|
return /* @__PURE__ */ jsx(
|
|
2660
2679
|
TabsPrimitive.Trigger,
|
|
2661
2680
|
{
|
|
2662
2681
|
ref,
|
|
2663
2682
|
className: cn(
|
|
2664
|
-
size === "sm" ? "h-[26px] px-2 text-
|
|
2683
|
+
size === "sm" ? "h-[26px] px-2 text-sm" : "px-3 py-1",
|
|
2665
2684
|
"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",
|
|
2666
2685
|
className
|
|
2667
2686
|
),
|
|
@@ -2670,7 +2689,7 @@ var TabsTrigger = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2670
2689
|
);
|
|
2671
2690
|
});
|
|
2672
2691
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
2673
|
-
var TabsContent =
|
|
2692
|
+
var TabsContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2674
2693
|
TabsPrimitive.Content,
|
|
2675
2694
|
{
|
|
2676
2695
|
ref,
|
|
@@ -2702,7 +2721,7 @@ var toggleVariants = cva(
|
|
|
2702
2721
|
}
|
|
2703
2722
|
}
|
|
2704
2723
|
);
|
|
2705
|
-
var Toggle =
|
|
2724
|
+
var Toggle = React24.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2706
2725
|
TogglePrimitive.Root,
|
|
2707
2726
|
{
|
|
2708
2727
|
ref,
|
|
@@ -2711,11 +2730,11 @@ var Toggle = React23.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
2711
2730
|
}
|
|
2712
2731
|
));
|
|
2713
2732
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
2714
|
-
var ToggleGroupContext =
|
|
2733
|
+
var ToggleGroupContext = React24.createContext({
|
|
2715
2734
|
size: "default",
|
|
2716
2735
|
variant: "default"
|
|
2717
2736
|
});
|
|
2718
|
-
var ToggleGroup =
|
|
2737
|
+
var ToggleGroup = React24.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2719
2738
|
ToggleGroupPrimitive.Root,
|
|
2720
2739
|
{
|
|
2721
2740
|
ref,
|
|
@@ -2725,8 +2744,8 @@ var ToggleGroup = React23.forwardRef(({ className, variant, size, children, ...p
|
|
|
2725
2744
|
}
|
|
2726
2745
|
));
|
|
2727
2746
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
2728
|
-
var ToggleGroupItem =
|
|
2729
|
-
const context =
|
|
2747
|
+
var ToggleGroupItem = React24.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
2748
|
+
const context = React24.useContext(ToggleGroupContext);
|
|
2730
2749
|
return /* @__PURE__ */ jsx(
|
|
2731
2750
|
ToggleGroupPrimitive.Item,
|
|
2732
2751
|
{
|
|
@@ -2755,7 +2774,7 @@ function split(address) {
|
|
|
2755
2774
|
if (cut < 0) return { head: "", tail: address };
|
|
2756
2775
|
return { head: address.slice(0, cut + 1), tail: address.slice(cut + 1) };
|
|
2757
2776
|
}
|
|
2758
|
-
var AddressChip =
|
|
2777
|
+
var AddressChip = React24.forwardRef(
|
|
2759
2778
|
({ address, tone = "allowed", onOpen, className, ...props }, ref) => {
|
|
2760
2779
|
const { head, tail } = split(address);
|
|
2761
2780
|
const body = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -2777,8 +2796,8 @@ var AddressChip = React23.forwardRef(
|
|
|
2777
2796
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 shrink truncate", children: tail })
|
|
2778
2797
|
] });
|
|
2779
2798
|
const shell = cn(
|
|
2780
|
-
"inline-flex min-w-0 max-w-full items-baseline font-mono text-
|
|
2781
|
-
TONE[tone],
|
|
2799
|
+
"inline-flex min-w-0 max-w-full items-baseline font-mono text-sm",
|
|
2800
|
+
TONE[tone] ?? "text-foreground",
|
|
2782
2801
|
className
|
|
2783
2802
|
);
|
|
2784
2803
|
if (onOpen) {
|
|
@@ -2801,7 +2820,7 @@ var AddressChip = React23.forwardRef(
|
|
|
2801
2820
|
);
|
|
2802
2821
|
AddressChip.displayName = "AddressChip";
|
|
2803
2822
|
var agentChipVariants = cva(
|
|
2804
|
-
"inline-flex max-w-full shrink-0 items-center gap-1 rounded-control border px-1.5 text-
|
|
2823
|
+
"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",
|
|
2805
2824
|
{
|
|
2806
2825
|
variants: {
|
|
2807
2826
|
/**
|
|
@@ -2822,7 +2841,7 @@ var agentChipVariants = cva(
|
|
|
2822
2841
|
defaultVariants: { kind: "agent", inactive: false }
|
|
2823
2842
|
}
|
|
2824
2843
|
);
|
|
2825
|
-
var AgentChip =
|
|
2844
|
+
var AgentChip = React24.forwardRef(
|
|
2826
2845
|
({ icon, name, kind, inactive, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2827
2846
|
"span",
|
|
2828
2847
|
{
|
|
@@ -2849,13 +2868,13 @@ var stateVariants = cva("inline-flex shrink-0 items-center gap-1.5 font-medium",
|
|
|
2849
2868
|
},
|
|
2850
2869
|
defaultVariants: { tone: "active" }
|
|
2851
2870
|
});
|
|
2852
|
-
var AppStatusBar =
|
|
2871
|
+
var AppStatusBar = React24.forwardRef(
|
|
2853
2872
|
({ state, tone, end, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2854
2873
|
"div",
|
|
2855
2874
|
{
|
|
2856
2875
|
ref,
|
|
2857
2876
|
className: cn(
|
|
2858
|
-
"flex h-[25px] shrink-0 items-center gap-2 border-t border-border px-2 text-
|
|
2877
|
+
"flex h-[25px] shrink-0 items-center gap-2 border-t border-border px-2 text-sm text-muted-foreground",
|
|
2859
2878
|
className
|
|
2860
2879
|
),
|
|
2861
2880
|
...props,
|
|
@@ -2877,7 +2896,7 @@ var AppStatusBar = React23.forwardRef(
|
|
|
2877
2896
|
)
|
|
2878
2897
|
);
|
|
2879
2898
|
AppStatusBar.displayName = "AppStatusBar";
|
|
2880
|
-
var BarChartH =
|
|
2899
|
+
var BarChartH = React24.forwardRef(
|
|
2881
2900
|
({
|
|
2882
2901
|
data,
|
|
2883
2902
|
max,
|
|
@@ -2889,12 +2908,12 @@ var BarChartH = React23.forwardRef(
|
|
|
2889
2908
|
}, ref) => {
|
|
2890
2909
|
const ceiling = max ?? (Math.max(...data.map((d) => d.value), 0) || 1);
|
|
2891
2910
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
|
|
2892
|
-
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
2911
|
+
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
|
|
2893
2912
|
data.map((d, i) => /* @__PURE__ */ jsxs("div", { className: "flex h-4 items-center gap-2", children: [
|
|
2894
2913
|
/* @__PURE__ */ jsx(
|
|
2895
2914
|
"span",
|
|
2896
2915
|
{
|
|
2897
|
-
className: "shrink-0 truncate text-
|
|
2916
|
+
className: "shrink-0 truncate text-sm text-muted-foreground",
|
|
2898
2917
|
style: { width: labelWidth },
|
|
2899
2918
|
children: d.label
|
|
2900
2919
|
}
|
|
@@ -2911,14 +2930,14 @@ var BarChartH = React23.forwardRef(
|
|
|
2911
2930
|
}
|
|
2912
2931
|
}
|
|
2913
2932
|
),
|
|
2914
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-
|
|
2933
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm tabular-nums", children: d.display ?? d.value })
|
|
2915
2934
|
] })
|
|
2916
2935
|
] }, i))
|
|
2917
2936
|
] });
|
|
2918
2937
|
}
|
|
2919
2938
|
);
|
|
2920
2939
|
BarChartH.displayName = "BarChartH";
|
|
2921
|
-
var BarChartV =
|
|
2940
|
+
var BarChartV = React24.forwardRef(
|
|
2922
2941
|
({
|
|
2923
2942
|
data,
|
|
2924
2943
|
max,
|
|
@@ -2936,7 +2955,7 @@ var BarChartV = React23.forwardRef(
|
|
|
2936
2955
|
const emphasis = highlightIndex ?? data.length - 1;
|
|
2937
2956
|
const labelled = (i) => labelMode === "all" || labelMode === "last" && i === emphasis;
|
|
2938
2957
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
|
|
2939
|
-
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
2958
|
+
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
|
|
2940
2959
|
/* @__PURE__ */ jsxs("div", { className: "relative mt-2", style: { height }, children: [
|
|
2941
2960
|
gridlines.map((g) => /* @__PURE__ */ jsxs(
|
|
2942
2961
|
"div",
|
|
@@ -2946,7 +2965,7 @@ var BarChartV = React23.forwardRef(
|
|
|
2946
2965
|
style: { bottom: `${g / ceiling * 100}%` },
|
|
2947
2966
|
children: [
|
|
2948
2967
|
/* @__PURE__ */ jsx("span", { className: "h-px flex-1 bg-border" }),
|
|
2949
|
-
/* @__PURE__ */ jsx("span", { className: "pl-1 text-
|
|
2968
|
+
/* @__PURE__ */ jsx("span", { className: "pl-1 text-sm tabular-nums text-muted-foreground", children: g })
|
|
2950
2969
|
]
|
|
2951
2970
|
},
|
|
2952
2971
|
g
|
|
@@ -2956,7 +2975,7 @@ var BarChartV = React23.forwardRef(
|
|
|
2956
2975
|
{
|
|
2957
2976
|
className: "flex h-full min-w-0 flex-1 flex-col items-center justify-end gap-1",
|
|
2958
2977
|
children: [
|
|
2959
|
-
labelled(i) ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
2978
|
+
labelled(i) ? /* @__PURE__ */ jsx("span", { className: "text-sm tabular-nums", children: d.display ?? d.value }) : null,
|
|
2960
2979
|
/* @__PURE__ */ jsx(
|
|
2961
2980
|
"span",
|
|
2962
2981
|
{
|
|
@@ -2975,38 +2994,34 @@ var BarChartV = React23.forwardRef(
|
|
|
2975
2994
|
)) })
|
|
2976
2995
|
] }),
|
|
2977
2996
|
/* @__PURE__ */ jsx("div", { className: "flex justify-between gap-2", children: data.map((d, i) => /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col items-center", children: [
|
|
2978
|
-
/* @__PURE__ */ jsx("span", { className: "truncate text-
|
|
2979
|
-
d.sublabel != null ? /* @__PURE__ */ jsx("span", { className: "truncate text-
|
|
2997
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm text-muted-foreground", children: d.label }),
|
|
2998
|
+
d.sublabel != null ? /* @__PURE__ */ jsx("span", { className: "truncate text-sm text-muted-foreground/70", children: d.sublabel }) : null
|
|
2980
2999
|
] }, i)) })
|
|
2981
3000
|
] });
|
|
2982
3001
|
}
|
|
2983
3002
|
);
|
|
2984
3003
|
BarChartV.displayName = "BarChartV";
|
|
2985
|
-
var
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
graph_read: "bg-success",
|
|
2989
|
-
graph_write: "bg-data-2",
|
|
2990
|
-
schema_write: "bg-data-4",
|
|
2991
|
-
ingest: "bg-info",
|
|
2992
|
-
llm: "bg-data-7",
|
|
2993
|
-
plan_write: "bg-data-5",
|
|
2994
|
-
work_write: "bg-destructive"
|
|
2995
|
-
};
|
|
2996
|
-
var BoundChip = React23.forwardRef(
|
|
2997
|
-
({ bound, swatchOnly, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
3004
|
+
var UNPAINTED = "bg-muted-foreground";
|
|
3005
|
+
var BoundChip = React24.forwardRef(
|
|
3006
|
+
({ bound, swatchOnly, label, swatch, palette, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2998
3007
|
"span",
|
|
2999
3008
|
{
|
|
3000
3009
|
ref,
|
|
3001
3010
|
className: cn(
|
|
3002
|
-
"inline-flex max-w-full shrink-0 items-center gap-1.5 font-mono text-
|
|
3011
|
+
"inline-flex max-w-full shrink-0 items-center gap-1.5 font-mono text-sm text-muted-foreground",
|
|
3003
3012
|
className
|
|
3004
3013
|
),
|
|
3005
3014
|
"aria-label": swatchOnly ? `bound: ${bound}` : void 0,
|
|
3006
3015
|
...props,
|
|
3007
3016
|
children: [
|
|
3008
|
-
/* @__PURE__ */ jsx(
|
|
3009
|
-
|
|
3017
|
+
/* @__PURE__ */ jsx(
|
|
3018
|
+
"span",
|
|
3019
|
+
{
|
|
3020
|
+
"aria-hidden": true,
|
|
3021
|
+
className: cn("size-1.5 shrink-0", swatch ?? palette?.[bound] ?? UNPAINTED)
|
|
3022
|
+
}
|
|
3023
|
+
),
|
|
3024
|
+
swatchOnly ? null : /* @__PURE__ */ jsx("span", { className: "truncate", children: label ?? bound })
|
|
3010
3025
|
]
|
|
3011
3026
|
}
|
|
3012
3027
|
)
|
|
@@ -3018,7 +3033,7 @@ function ButtonWithTooltip(props) {
|
|
|
3018
3033
|
/* @__PURE__ */ jsx(TooltipContent, { children: props.tooltip })
|
|
3019
3034
|
] }) });
|
|
3020
3035
|
}
|
|
3021
|
-
var CannotAnswerCard =
|
|
3036
|
+
var CannotAnswerCard = React24.forwardRef(({ label = "cannot answer", remedy, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
3022
3037
|
"div",
|
|
3023
3038
|
{
|
|
3024
3039
|
ref,
|
|
@@ -3028,9 +3043,9 @@ var CannotAnswerCard = React23.forwardRef(({ label = "cannot answer", remedy, cl
|
|
|
3028
3043
|
),
|
|
3029
3044
|
...props,
|
|
3030
3045
|
children: [
|
|
3031
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
3046
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-muted-foreground", children: label }),
|
|
3032
3047
|
/* @__PURE__ */ jsx("span", { children }),
|
|
3033
|
-
remedy != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
3048
|
+
remedy != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: remedy }) : null
|
|
3034
3049
|
]
|
|
3035
3050
|
}
|
|
3036
3051
|
));
|
|
@@ -3042,7 +3057,7 @@ var PURPOSE = {
|
|
|
3042
3057
|
judge: "scores an output \u2014 often local",
|
|
3043
3058
|
embed: "text in, vector out"
|
|
3044
3059
|
};
|
|
3045
|
-
var CastTable =
|
|
3060
|
+
var CastTable = React24.forwardRef(
|
|
3046
3061
|
({ cast = {}, resolved, readOnly, className, ...props }, ref) => {
|
|
3047
3062
|
const byRole = new Map((resolved ?? []).map((r) => [r.role, r]));
|
|
3048
3063
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("min-w-0", className), ...props, children: [
|
|
@@ -3057,15 +3072,15 @@ var CastTable = React23.forwardRef(
|
|
|
3057
3072
|
const address = hit ? hit.address : cast[role] ?? null;
|
|
3058
3073
|
const denied = hit ? !hit.allowed : false;
|
|
3059
3074
|
return /* @__PURE__ */ jsxs(TableRow, { "data-role": role, children: [
|
|
3060
|
-
/* @__PURE__ */ jsx(TableCell, { className: "font-mono text-
|
|
3075
|
+
/* @__PURE__ */ jsx(TableCell, { className: "font-mono text-sm text-muted-foreground", children: role }),
|
|
3061
3076
|
/* @__PURE__ */ jsx(TableCell, { className: "min-w-0", children: address ? /* @__PURE__ */ jsx(
|
|
3062
3077
|
AddressChip,
|
|
3063
3078
|
{
|
|
3064
3079
|
address,
|
|
3065
3080
|
tone: denied ? "denied" : "allowed"
|
|
3066
3081
|
}
|
|
3067
|
-
) : /* @__PURE__ */ jsx("span", { className: "text-
|
|
3068
|
-
/* @__PURE__ */ jsx(TableCell, { className: "text-
|
|
3082
|
+
) : /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground/70", children: "nothing casts it" }) }),
|
|
3083
|
+
/* @__PURE__ */ jsx(TableCell, { className: "text-sm text-muted-foreground", children: denied ? /* @__PURE__ */ jsxs("span", { className: "text-destructive", children: [
|
|
3069
3084
|
"denied by ",
|
|
3070
3085
|
hit?.ruleMatched ?? "this world"
|
|
3071
3086
|
] }) : hit?.source ? /* @__PURE__ */ jsx("span", { children: hit.source !== "shipped" ? `set on the ${hit.source}` : address ? "shipped default" : (
|
|
@@ -3077,7 +3092,7 @@ var CastTable = React23.forwardRef(
|
|
|
3077
3092
|
] }, role);
|
|
3078
3093
|
}) })
|
|
3079
3094
|
] }),
|
|
3080
|
-
readOnly ? null : /* @__PURE__ */ jsx("p", { className: "px-2 pt-1 text-
|
|
3095
|
+
readOnly ? null : /* @__PURE__ */ 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." })
|
|
3081
3096
|
] });
|
|
3082
3097
|
}
|
|
3083
3098
|
);
|
|
@@ -3091,20 +3106,20 @@ function ChatSession({
|
|
|
3091
3106
|
className,
|
|
3092
3107
|
bodyClassName
|
|
3093
3108
|
}) {
|
|
3094
|
-
const rootRef =
|
|
3095
|
-
const contentRef =
|
|
3096
|
-
const pinnedRef =
|
|
3097
|
-
const getViewport =
|
|
3109
|
+
const rootRef = React24.useRef(null);
|
|
3110
|
+
const contentRef = React24.useRef(null);
|
|
3111
|
+
const pinnedRef = React24.useRef(true);
|
|
3112
|
+
const getViewport = React24.useCallback(
|
|
3098
3113
|
() => rootRef.current?.querySelector(
|
|
3099
3114
|
"[data-radix-scroll-area-viewport]"
|
|
3100
3115
|
) ?? null,
|
|
3101
3116
|
[]
|
|
3102
3117
|
);
|
|
3103
|
-
const scrollToBottom =
|
|
3118
|
+
const scrollToBottom = React24.useCallback(() => {
|
|
3104
3119
|
const viewport = getViewport();
|
|
3105
3120
|
if (viewport) viewport.scrollTop = viewport.scrollHeight;
|
|
3106
3121
|
}, [getViewport]);
|
|
3107
|
-
|
|
3122
|
+
React24.useEffect(() => {
|
|
3108
3123
|
const viewport = getViewport();
|
|
3109
3124
|
if (!viewport) return;
|
|
3110
3125
|
const handleScroll = () => {
|
|
@@ -3114,7 +3129,7 @@ function ChatSession({
|
|
|
3114
3129
|
viewport.addEventListener("scroll", handleScroll, { passive: true });
|
|
3115
3130
|
return () => viewport.removeEventListener("scroll", handleScroll);
|
|
3116
3131
|
}, [getViewport, followThreshold]);
|
|
3117
|
-
|
|
3132
|
+
React24.useEffect(() => {
|
|
3118
3133
|
const content = contentRef.current;
|
|
3119
3134
|
if (!content || typeof ResizeObserver === "undefined") return;
|
|
3120
3135
|
const observer = new ResizeObserver(() => {
|
|
@@ -3123,11 +3138,11 @@ function ChatSession({
|
|
|
3123
3138
|
observer.observe(content);
|
|
3124
3139
|
return () => observer.disconnect();
|
|
3125
3140
|
}, [scrollToBottom]);
|
|
3126
|
-
|
|
3141
|
+
React24.useEffect(() => {
|
|
3127
3142
|
pinnedRef.current = true;
|
|
3128
3143
|
scrollToBottom();
|
|
3129
3144
|
}, [autoScrollKey, scrollToBottom]);
|
|
3130
|
-
const isEmpty =
|
|
3145
|
+
const isEmpty = React24.Children.count(children) === 0;
|
|
3131
3146
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col h-full min-h-0", className), children: [
|
|
3132
3147
|
/* @__PURE__ */ jsx(
|
|
3133
3148
|
ScrollArea,
|
|
@@ -3220,12 +3235,12 @@ function useOverflowItems({
|
|
|
3220
3235
|
pinnedIndex,
|
|
3221
3236
|
reserve = 32
|
|
3222
3237
|
}) {
|
|
3223
|
-
const containerEl =
|
|
3224
|
-
const itemEls =
|
|
3225
|
-
const widths =
|
|
3226
|
-
const itemRefs =
|
|
3227
|
-
const [hidden, setHidden] =
|
|
3228
|
-
const fit =
|
|
3238
|
+
const containerEl = React24.useRef(null);
|
|
3239
|
+
const itemEls = React24.useRef([]);
|
|
3240
|
+
const widths = React24.useRef([]);
|
|
3241
|
+
const itemRefs = React24.useRef([]);
|
|
3242
|
+
const [hidden, setHidden] = React24.useState(NONE);
|
|
3243
|
+
const fit = React24.useCallback(() => {
|
|
3229
3244
|
const el = containerEl.current;
|
|
3230
3245
|
if (!el || !enabled) {
|
|
3231
3246
|
setHidden((prev) => prev === NONE ? prev : NONE);
|
|
@@ -3254,12 +3269,12 @@ function useOverflowItems({
|
|
|
3254
3269
|
}
|
|
3255
3270
|
setHidden((prev) => same(prev, next) ? prev : next);
|
|
3256
3271
|
}, [count, enabled, pinnedIndex, reserve]);
|
|
3257
|
-
|
|
3272
|
+
React24.useLayoutEffect(() => {
|
|
3258
3273
|
widths.current = [];
|
|
3259
3274
|
itemEls.current.length = count;
|
|
3260
3275
|
setHidden((prev) => prev === NONE ? prev : NONE);
|
|
3261
3276
|
}, [count]);
|
|
3262
|
-
|
|
3277
|
+
React24.useLayoutEffect(() => {
|
|
3263
3278
|
fit();
|
|
3264
3279
|
if (!enabled || typeof ResizeObserver === "undefined") return;
|
|
3265
3280
|
const observer = new ResizeObserver(() => fit());
|
|
@@ -3267,10 +3282,10 @@ function useOverflowItems({
|
|
|
3267
3282
|
for (const item of itemEls.current) if (item) observer.observe(item);
|
|
3268
3283
|
return () => observer.disconnect();
|
|
3269
3284
|
}, [fit, enabled, hidden]);
|
|
3270
|
-
const containerRef =
|
|
3285
|
+
const containerRef = React24.useCallback((el) => {
|
|
3271
3286
|
containerEl.current = el;
|
|
3272
3287
|
}, []);
|
|
3273
|
-
const itemRef =
|
|
3288
|
+
const itemRef = React24.useCallback((index) => {
|
|
3274
3289
|
let fn = itemRefs.current[index];
|
|
3275
3290
|
if (!fn) {
|
|
3276
3291
|
fn = (el) => {
|
|
@@ -3280,7 +3295,7 @@ function useOverflowItems({
|
|
|
3280
3295
|
}
|
|
3281
3296
|
return fn;
|
|
3282
3297
|
}, []);
|
|
3283
|
-
const isHidden =
|
|
3298
|
+
const isHidden = React24.useCallback(
|
|
3284
3299
|
(index) => hidden.includes(index),
|
|
3285
3300
|
[hidden]
|
|
3286
3301
|
);
|
|
@@ -3333,15 +3348,15 @@ var NavItems = ({
|
|
|
3333
3348
|
const isVertical = orientation === "vertical";
|
|
3334
3349
|
const isTabs = selectionMode === "tabs";
|
|
3335
3350
|
const V = VARIANT[variant];
|
|
3336
|
-
const [internalActive, setInternalActive] =
|
|
3351
|
+
const [internalActive, setInternalActive] = React24__default.useState(
|
|
3337
3352
|
null
|
|
3338
3353
|
);
|
|
3339
3354
|
const isControlled = activeKey !== void 0;
|
|
3340
3355
|
const currentKey = isControlled ? activeKey : internalActive;
|
|
3341
3356
|
const activeIndex = items.findIndex((item) => keyOf(item) === currentKey);
|
|
3342
|
-
const nodes =
|
|
3343
|
-
const pendingFocus =
|
|
3344
|
-
|
|
3357
|
+
const nodes = React24__default.useRef({});
|
|
3358
|
+
const pendingFocus = React24__default.useRef(null);
|
|
3359
|
+
React24__default.useEffect(() => {
|
|
3345
3360
|
const key = pendingFocus.current;
|
|
3346
3361
|
if (!key) return;
|
|
3347
3362
|
const node = nodes.current[key];
|
|
@@ -3354,7 +3369,7 @@ var NavItems = ({
|
|
|
3354
3369
|
enabled: overflow && !isVertical,
|
|
3355
3370
|
pinnedIndex: activeIndex >= 0 ? activeIndex : void 0
|
|
3356
3371
|
});
|
|
3357
|
-
const select =
|
|
3372
|
+
const select = React24__default.useCallback(
|
|
3358
3373
|
(item) => {
|
|
3359
3374
|
if (item.disabled) return;
|
|
3360
3375
|
const key = keyOf(item);
|
|
@@ -3424,6 +3439,7 @@ var NavItems = ({
|
|
|
3424
3439
|
}
|
|
3425
3440
|
);
|
|
3426
3441
|
const label = item.label && /* @__PURE__ */ jsx("span", { className: item.labelClassName, children: item.label });
|
|
3442
|
+
const a11y = label ? {} : { "aria-label": item.name };
|
|
3427
3443
|
const badge = item.badge != null && /* @__PURE__ */ jsx(
|
|
3428
3444
|
"span",
|
|
3429
3445
|
{
|
|
@@ -3463,6 +3479,7 @@ var NavItems = ({
|
|
|
3463
3479
|
{
|
|
3464
3480
|
ref: setNode,
|
|
3465
3481
|
...tabProps,
|
|
3482
|
+
...a11y,
|
|
3466
3483
|
style: item.style,
|
|
3467
3484
|
onClick: () => select(item),
|
|
3468
3485
|
className: itemClass,
|
|
@@ -3473,6 +3490,7 @@ var NavItems = ({
|
|
|
3473
3490
|
{
|
|
3474
3491
|
ref: setNode,
|
|
3475
3492
|
href: item.href,
|
|
3493
|
+
...a11y,
|
|
3476
3494
|
style: item.style,
|
|
3477
3495
|
onClick: () => select(item),
|
|
3478
3496
|
className: itemClass,
|
|
@@ -3485,6 +3503,7 @@ var NavItems = ({
|
|
|
3485
3503
|
type: "button",
|
|
3486
3504
|
disabled: item.disabled,
|
|
3487
3505
|
...tabProps,
|
|
3506
|
+
...a11y,
|
|
3488
3507
|
style: item.style,
|
|
3489
3508
|
onClick: () => {
|
|
3490
3509
|
if (hasMenu) item.onClick?.();
|
|
@@ -3498,7 +3517,7 @@ var NavItems = ({
|
|
|
3498
3517
|
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: hasMenu && !asCaret ? /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: control }) : control }),
|
|
3499
3518
|
/* @__PURE__ */ jsx(TooltipContent, { side: item.tooltipSide || tooltipSide, children: item.tooltip || item.name })
|
|
3500
3519
|
] });
|
|
3501
|
-
return /* @__PURE__ */ jsxs(
|
|
3520
|
+
return /* @__PURE__ */ jsxs(React24__default.Fragment, { children: [
|
|
3502
3521
|
hasMenu ? /* @__PURE__ */ jsxs(DropdownMenu, { children: [
|
|
3503
3522
|
withTooltip,
|
|
3504
3523
|
/* @__PURE__ */ jsx(
|
|
@@ -3588,7 +3607,7 @@ function renderMenuRows(menuItems) {
|
|
|
3588
3607
|
const gutter = menuItems?.some((m) => m.icon);
|
|
3589
3608
|
return menuItems?.map((menuItem) => {
|
|
3590
3609
|
const MenuIcon = menuItem.icon;
|
|
3591
|
-
return /* @__PURE__ */ jsxs(
|
|
3610
|
+
return /* @__PURE__ */ jsxs(React24__default.Fragment, { children: [
|
|
3592
3611
|
menuItem.separatorBefore && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
3593
3612
|
/* @__PURE__ */ jsxs(
|
|
3594
3613
|
DropdownMenuItem,
|
|
@@ -3907,7 +3926,7 @@ function ChatSessionDisclosure({
|
|
|
3907
3926
|
className,
|
|
3908
3927
|
contentClassName
|
|
3909
3928
|
}) {
|
|
3910
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
3929
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React24.useState(defaultOpen);
|
|
3911
3930
|
const isOpen = open ?? uncontrolledOpen;
|
|
3912
3931
|
const toggle = () => {
|
|
3913
3932
|
const next = !isOpen;
|
|
@@ -4038,7 +4057,7 @@ function ChatSessionContextChip({
|
|
|
4038
4057
|
"div",
|
|
4039
4058
|
{
|
|
4040
4059
|
className: cn(
|
|
4041
|
-
"flex min-h-[26px] items-center gap-1.5 border border-border bg-muted/40 px-1.5 text-
|
|
4060
|
+
"flex min-h-[26px] items-center gap-1.5 border border-border bg-muted/40 px-1.5 text-sm",
|
|
4042
4061
|
className
|
|
4043
4062
|
),
|
|
4044
4063
|
...props,
|
|
@@ -4059,9 +4078,9 @@ function ChatSessionContextChip({
|
|
|
4059
4078
|
}
|
|
4060
4079
|
);
|
|
4061
4080
|
}
|
|
4062
|
-
var CitationList =
|
|
4081
|
+
var CitationList = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children }));
|
|
4063
4082
|
CitationList.displayName = "CitationList";
|
|
4064
|
-
var CitationRow =
|
|
4083
|
+
var CitationRow = React24.forwardRef(
|
|
4065
4084
|
({ kind, source, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4066
4085
|
"li",
|
|
4067
4086
|
{
|
|
@@ -4069,15 +4088,15 @@ var CitationRow = React23.forwardRef(
|
|
|
4069
4088
|
className: cn("flex min-h-[26px] items-center gap-2 py-0.5", className),
|
|
4070
4089
|
...props,
|
|
4071
4090
|
children: [
|
|
4072
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 border border-border px-1 text-
|
|
4091
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 border border-border px-1 text-sm text-muted-foreground", children: kind }),
|
|
4073
4092
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children }),
|
|
4074
|
-
source != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-
|
|
4093
|
+
source != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: source }) : null
|
|
4075
4094
|
]
|
|
4076
4095
|
}
|
|
4077
4096
|
)
|
|
4078
4097
|
);
|
|
4079
4098
|
CitationRow.displayName = "CitationRow";
|
|
4080
|
-
var ClampedText =
|
|
4099
|
+
var ClampedText = React24.forwardRef(
|
|
4081
4100
|
({
|
|
4082
4101
|
lines = 3,
|
|
4083
4102
|
moreLabel = "Show more",
|
|
@@ -4086,10 +4105,10 @@ var ClampedText = React23.forwardRef(
|
|
|
4086
4105
|
children,
|
|
4087
4106
|
...props
|
|
4088
4107
|
}, ref) => {
|
|
4089
|
-
const [expanded, setExpanded] =
|
|
4090
|
-
const [clipped, setClipped] =
|
|
4091
|
-
const bodyRef =
|
|
4092
|
-
|
|
4108
|
+
const [expanded, setExpanded] = React24.useState(false);
|
|
4109
|
+
const [clipped, setClipped] = React24.useState(false);
|
|
4110
|
+
const bodyRef = React24.useRef(null);
|
|
4111
|
+
React24.useLayoutEffect(() => {
|
|
4093
4112
|
const el = bodyRef.current;
|
|
4094
4113
|
if (!el || expanded) return;
|
|
4095
4114
|
const measure = () => setClipped(el.scrollHeight - el.clientHeight > 1);
|
|
@@ -4127,7 +4146,7 @@ var ClampedText = React23.forwardRef(
|
|
|
4127
4146
|
}
|
|
4128
4147
|
);
|
|
4129
4148
|
ClampedText.displayName = "ClampedText";
|
|
4130
|
-
var ClarifyCard =
|
|
4149
|
+
var ClarifyCard = React24.forwardRef(
|
|
4131
4150
|
({
|
|
4132
4151
|
step,
|
|
4133
4152
|
waiting,
|
|
@@ -4140,7 +4159,7 @@ var ClarifyCard = React23.forwardRef(
|
|
|
4140
4159
|
className,
|
|
4141
4160
|
...props
|
|
4142
4161
|
}, ref) => {
|
|
4143
|
-
const name =
|
|
4162
|
+
const name = React24.useId();
|
|
4144
4163
|
return /* @__PURE__ */ jsxs(
|
|
4145
4164
|
"div",
|
|
4146
4165
|
{
|
|
@@ -4148,7 +4167,7 @@ var ClarifyCard = React23.forwardRef(
|
|
|
4148
4167
|
className: cn("flex flex-col overflow-hidden border border-border bg-card", className),
|
|
4149
4168
|
...props,
|
|
4150
4169
|
children: [
|
|
4151
|
-
/* @__PURE__ */ jsxs("div", { className: "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-
|
|
4170
|
+
/* @__PURE__ */ jsxs("div", { className: "flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-sm", children: [
|
|
4152
4171
|
/* @__PURE__ */ jsx("span", { className: "shrink-0 font-medium", children: "question" }),
|
|
4153
4172
|
step != null ? /* @__PURE__ */ jsx("span", { className: "truncate text-muted-foreground", children: step }) : null,
|
|
4154
4173
|
/* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
@@ -4191,7 +4210,7 @@ var ClarifyCard = React23.forwardRef(
|
|
|
4191
4210
|
}
|
|
4192
4211
|
),
|
|
4193
4212
|
/* @__PURE__ */ jsx("span", { className: "flex-1 truncate", children: o.label }),
|
|
4194
|
-
o.detail != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-
|
|
4213
|
+
o.detail != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-sm text-muted-foreground", children: o.detail }) : null
|
|
4195
4214
|
]
|
|
4196
4215
|
},
|
|
4197
4216
|
o.value
|
|
@@ -4199,7 +4218,7 @@ var ClarifyCard = React23.forwardRef(
|
|
|
4199
4218
|
}) }),
|
|
4200
4219
|
actions || footnote != null ? /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
4201
4220
|
actions,
|
|
4202
|
-
footnote != null ? /* @__PURE__ */ jsx("span", { className: "flex-1 text-
|
|
4221
|
+
footnote != null ? /* @__PURE__ */ jsx("span", { className: "flex-1 text-sm text-muted-foreground", children: footnote }) : null
|
|
4203
4222
|
] }) : null
|
|
4204
4223
|
] })
|
|
4205
4224
|
]
|
|
@@ -4208,13 +4227,13 @@ var ClarifyCard = React23.forwardRef(
|
|
|
4208
4227
|
}
|
|
4209
4228
|
);
|
|
4210
4229
|
ClarifyCard.displayName = "ClarifyCard";
|
|
4211
|
-
var ContextBar =
|
|
4230
|
+
var ContextBar = React24.forwardRef(
|
|
4212
4231
|
({ counters, hint, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4213
4232
|
"div",
|
|
4214
4233
|
{
|
|
4215
4234
|
ref,
|
|
4216
4235
|
className: cn(
|
|
4217
|
-
"flex h-7 shrink-0 items-center gap-3 border-t border-border px-2 text-
|
|
4236
|
+
"flex h-7 shrink-0 items-center gap-3 border-t border-border px-2 text-sm",
|
|
4218
4237
|
className
|
|
4219
4238
|
),
|
|
4220
4239
|
...props,
|
|
@@ -4227,22 +4246,22 @@ var ContextBar = React23.forwardRef(
|
|
|
4227
4246
|
)
|
|
4228
4247
|
);
|
|
4229
4248
|
ContextBar.displayName = "ContextBar";
|
|
4230
|
-
var DiagnosisCard =
|
|
4249
|
+
var DiagnosisCard = React24.forwardRef(({ code, attempted, target, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4231
4250
|
"div",
|
|
4232
4251
|
{
|
|
4233
4252
|
ref,
|
|
4234
4253
|
className: cn("flex flex-col gap-2 border border-destructive/40 bg-card p-2", className),
|
|
4235
4254
|
...props,
|
|
4236
4255
|
children: [
|
|
4237
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-
|
|
4256
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
4238
4257
|
/* @__PURE__ */ jsx("span", { className: "shrink-0 font-medium text-destructive", children: "diagnosis" }),
|
|
4239
4258
|
/* @__PURE__ */ jsx("span", { className: "truncate font-mono text-muted-foreground", children: code })
|
|
4240
4259
|
] }),
|
|
4241
4260
|
children != null ? /* @__PURE__ */ jsx("div", { children }) : null,
|
|
4242
4261
|
attempted != null || target != null ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 border border-border bg-muted/40 p-1.5", children: [
|
|
4243
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
4244
|
-
attempted != null ? /* @__PURE__ */ jsx("code", { className: "whitespace-pre-wrap break-all font-mono text-
|
|
4245
|
-
target != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
4262
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "what was tried" }),
|
|
4263
|
+
attempted != null ? /* @__PURE__ */ jsx("code", { className: "whitespace-pre-wrap break-all font-mono text-sm", children: attempted }) : null,
|
|
4264
|
+
target != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: target }) : null
|
|
4246
4265
|
] }) : null,
|
|
4247
4266
|
actions ? /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5", children: actions }) : null
|
|
4248
4267
|
]
|
|
@@ -4255,19 +4274,19 @@ var OP_CLASS = {
|
|
|
4255
4274
|
remove: "text-destructive",
|
|
4256
4275
|
change: "text-warning"
|
|
4257
4276
|
};
|
|
4258
|
-
var DiffList =
|
|
4277
|
+
var DiffList = React24.forwardRef(
|
|
4259
4278
|
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx("ul", { ref, className: cn("flex flex-col", className), ...props, children })
|
|
4260
4279
|
);
|
|
4261
4280
|
DiffList.displayName = "DiffList";
|
|
4262
|
-
var DiffRow =
|
|
4281
|
+
var DiffRow = React24.forwardRef(
|
|
4263
4282
|
({ op = "add", kind, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4264
4283
|
"li",
|
|
4265
4284
|
{
|
|
4266
4285
|
ref,
|
|
4267
|
-
className: cn("flex items-baseline gap-2 py-0.5 text-
|
|
4286
|
+
className: cn("flex items-baseline gap-2 py-0.5 text-sm", className),
|
|
4268
4287
|
...props,
|
|
4269
4288
|
children: [
|
|
4270
|
-
/* @__PURE__ */ jsx("span", { className: cn("w-3 shrink-0 text-center font-mono", OP_CLASS[op]), children: OP_SIGN[op] }),
|
|
4289
|
+
/* @__PURE__ */ jsx("span", { className: cn("w-3 shrink-0 text-center font-mono", OP_CLASS[op] ?? "text-muted-foreground"), children: OP_SIGN[op] }),
|
|
4271
4290
|
kind != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground", children: kind }) : null,
|
|
4272
4291
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children })
|
|
4273
4292
|
]
|
|
@@ -4275,7 +4294,7 @@ var DiffRow = React23.forwardRef(
|
|
|
4275
4294
|
)
|
|
4276
4295
|
);
|
|
4277
4296
|
DiffRow.displayName = "DiffRow";
|
|
4278
|
-
var DivergingBar =
|
|
4297
|
+
var DivergingBar = React24.forwardRef(
|
|
4279
4298
|
({
|
|
4280
4299
|
data,
|
|
4281
4300
|
max,
|
|
@@ -4288,7 +4307,7 @@ var DivergingBar = React23.forwardRef(
|
|
|
4288
4307
|
}, ref) => {
|
|
4289
4308
|
const ceiling = max ?? (Math.max(...data.map((d) => Math.abs(d.value)), 0) || 1);
|
|
4290
4309
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
|
|
4291
|
-
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
4310
|
+
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
|
|
4292
4311
|
data.map((d, i) => {
|
|
4293
4312
|
const positive = d.value >= 0;
|
|
4294
4313
|
const width = `${Math.abs(d.value) / ceiling * 50}%`;
|
|
@@ -4296,7 +4315,7 @@ var DivergingBar = React23.forwardRef(
|
|
|
4296
4315
|
/* @__PURE__ */ jsx(
|
|
4297
4316
|
"span",
|
|
4298
4317
|
{
|
|
4299
|
-
className: "shrink-0 truncate text-
|
|
4318
|
+
className: "shrink-0 truncate text-sm text-muted-foreground",
|
|
4300
4319
|
style: { width: labelWidth },
|
|
4301
4320
|
children: d.label
|
|
4302
4321
|
}
|
|
@@ -4326,14 +4345,14 @@ var DivergingBar = React23.forwardRef(
|
|
|
4326
4345
|
}
|
|
4327
4346
|
) : null })
|
|
4328
4347
|
] }),
|
|
4329
|
-
/* @__PURE__ */ jsx("span", { className: "w-8 shrink-0 text-right text-
|
|
4348
|
+
/* @__PURE__ */ jsx("span", { className: "w-8 shrink-0 text-right text-sm tabular-nums", children: d.display ?? (d.value > 0 ? `+${d.value}` : d.value) })
|
|
4330
4349
|
] }, i);
|
|
4331
4350
|
})
|
|
4332
4351
|
] });
|
|
4333
4352
|
}
|
|
4334
4353
|
);
|
|
4335
4354
|
DivergingBar.displayName = "DivergingBar";
|
|
4336
|
-
var EgressList =
|
|
4355
|
+
var EgressList = React24.forwardRef(
|
|
4337
4356
|
({ to, classes = [], cut = [], className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4338
4357
|
"div",
|
|
4339
4358
|
{
|
|
@@ -4343,7 +4362,7 @@ var EgressList = React23.forwardRef(
|
|
|
4343
4362
|
children: [
|
|
4344
4363
|
/* @__PURE__ */ jsx(AddressChip, { address: to }),
|
|
4345
4364
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-0.5 pl-3", children: [
|
|
4346
|
-
classes.length === 0 ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
4365
|
+
classes.length === 0 ? /* @__PURE__ */ jsx("span", { className: "text-sm text-destructive", children: "nothing may be sent" }) : /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-sm text-muted-foreground", children: [
|
|
4347
4366
|
/* @__PURE__ */ jsx("span", { className: "shrink-0", children: "may send" }),
|
|
4348
4367
|
classes.map((c) => /* @__PURE__ */ jsx(
|
|
4349
4368
|
"span",
|
|
@@ -4354,7 +4373,7 @@ var EgressList = React23.forwardRef(
|
|
|
4354
4373
|
c
|
|
4355
4374
|
))
|
|
4356
4375
|
] }),
|
|
4357
|
-
cut.length ? /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-
|
|
4376
|
+
cut.length ? /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-wrap items-center gap-1 text-sm text-muted-foreground", children: [
|
|
4358
4377
|
/* @__PURE__ */ jsx("span", { className: "shrink-0", children: "cut" }),
|
|
4359
4378
|
cut.map((c) => /* @__PURE__ */ jsx(
|
|
4360
4379
|
"span",
|
|
@@ -4371,12 +4390,12 @@ var EgressList = React23.forwardRef(
|
|
|
4371
4390
|
)
|
|
4372
4391
|
);
|
|
4373
4392
|
EgressList.displayName = "EgressList";
|
|
4374
|
-
var EmissionHeader =
|
|
4393
|
+
var EmissionHeader = React24.forwardRef(({ kind, template, citation, note, actions, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4375
4394
|
"div",
|
|
4376
4395
|
{
|
|
4377
4396
|
ref,
|
|
4378
4397
|
className: cn(
|
|
4379
|
-
"flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-
|
|
4398
|
+
"flex h-6 shrink-0 items-center gap-2 border-b border-border bg-muted/40 px-2 text-sm",
|
|
4380
4399
|
className
|
|
4381
4400
|
),
|
|
4382
4401
|
...props,
|
|
@@ -4391,7 +4410,7 @@ var EmissionHeader = React23.forwardRef(({ kind, template, citation, note, actio
|
|
|
4391
4410
|
}
|
|
4392
4411
|
));
|
|
4393
4412
|
EmissionHeader.displayName = "EmissionHeader";
|
|
4394
|
-
var EmissionCard =
|
|
4413
|
+
var EmissionCard = React24.forwardRef(
|
|
4395
4414
|
({
|
|
4396
4415
|
kind,
|
|
4397
4416
|
template,
|
|
@@ -4426,7 +4445,7 @@ var EmissionCard = React23.forwardRef(
|
|
|
4426
4445
|
)
|
|
4427
4446
|
);
|
|
4428
4447
|
EmissionCard.displayName = "EmissionCard";
|
|
4429
|
-
var CitationMarker =
|
|
4448
|
+
var CitationMarker = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4430
4449
|
"sup",
|
|
4431
4450
|
{
|
|
4432
4451
|
ref,
|
|
@@ -4436,7 +4455,7 @@ var CitationMarker = React23.forwardRef(({ className, children, ...props }, ref)
|
|
|
4436
4455
|
}
|
|
4437
4456
|
));
|
|
4438
4457
|
CitationMarker.displayName = "CitationMarker";
|
|
4439
|
-
var EmptyState =
|
|
4458
|
+
var EmptyState = React24.forwardRef(
|
|
4440
4459
|
({ icon, title, description, actions, locks, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4441
4460
|
"div",
|
|
4442
4461
|
{
|
|
@@ -4457,12 +4476,12 @@ var EmptyState = React23.forwardRef(
|
|
|
4457
4476
|
)
|
|
4458
4477
|
);
|
|
4459
4478
|
EmptyState.displayName = "EmptyState";
|
|
4460
|
-
var EmptyStateLock =
|
|
4479
|
+
var EmptyStateLock = React24.forwardRef(({ icon, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4461
4480
|
"span",
|
|
4462
4481
|
{
|
|
4463
4482
|
ref,
|
|
4464
4483
|
className: cn(
|
|
4465
|
-
"inline-flex h-6 items-center gap-1.5 border border-dashed border-border px-2 text-
|
|
4484
|
+
"inline-flex h-6 items-center gap-1.5 border border-dashed border-border px-2 text-sm text-muted-foreground [&_svg]:size-3",
|
|
4466
4485
|
className
|
|
4467
4486
|
),
|
|
4468
4487
|
...props,
|
|
@@ -4494,13 +4513,13 @@ var ErrorBoundary = class extends Component {
|
|
|
4494
4513
|
return this.props.children;
|
|
4495
4514
|
}
|
|
4496
4515
|
};
|
|
4497
|
-
var Eyebrow =
|
|
4516
|
+
var Eyebrow = React24.forwardRef(
|
|
4498
4517
|
({ aside, tone = "muted", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4499
4518
|
"div",
|
|
4500
4519
|
{
|
|
4501
4520
|
ref,
|
|
4502
4521
|
className: cn(
|
|
4503
|
-
"flex items-baseline gap-2 text-
|
|
4522
|
+
"flex items-baseline gap-2 text-sm font-semibold uppercase tracking-wide",
|
|
4504
4523
|
tone === "muted" && "text-muted-foreground",
|
|
4505
4524
|
tone === "foreground" && "text-foreground",
|
|
4506
4525
|
tone === "accent" && "text-primary",
|
|
@@ -4515,7 +4534,7 @@ var Eyebrow = React23.forwardRef(
|
|
|
4515
4534
|
)
|
|
4516
4535
|
);
|
|
4517
4536
|
Eyebrow.displayName = "Eyebrow";
|
|
4518
|
-
var FilterBar =
|
|
4537
|
+
var FilterBar = React24.forwardRef(
|
|
4519
4538
|
({ summary, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4520
4539
|
"div",
|
|
4521
4540
|
{
|
|
@@ -4528,13 +4547,13 @@ var FilterBar = React23.forwardRef(
|
|
|
4528
4547
|
children: [
|
|
4529
4548
|
children,
|
|
4530
4549
|
/* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
4531
|
-
summary != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-
|
|
4550
|
+
summary != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: summary }) : null
|
|
4532
4551
|
]
|
|
4533
4552
|
}
|
|
4534
4553
|
)
|
|
4535
4554
|
);
|
|
4536
4555
|
FilterBar.displayName = "FilterBar";
|
|
4537
|
-
var FilterChip =
|
|
4556
|
+
var FilterChip = React24.forwardRef(
|
|
4538
4557
|
({ label, value, active, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4539
4558
|
Button,
|
|
4540
4559
|
{
|
|
@@ -4558,9 +4577,9 @@ var FilterChip = React23.forwardRef(
|
|
|
4558
4577
|
)
|
|
4559
4578
|
);
|
|
4560
4579
|
FilterChip.displayName = "FilterChip";
|
|
4561
|
-
var HeatStrip =
|
|
4580
|
+
var HeatStrip = React24.forwardRef(
|
|
4562
4581
|
({ cells, states, ticks, cellSize = 14, className, ...props }, ref) => {
|
|
4563
|
-
const byKey =
|
|
4582
|
+
const byKey = React24.useMemo(
|
|
4564
4583
|
() => new Map(states.map((s) => [s.key, s])),
|
|
4565
4584
|
[states]
|
|
4566
4585
|
);
|
|
@@ -4587,14 +4606,14 @@ var HeatStrip = React23.forwardRef(
|
|
|
4587
4606
|
return /* @__PURE__ */ jsx(
|
|
4588
4607
|
"span",
|
|
4589
4608
|
{
|
|
4590
|
-
className: "shrink-0 text-
|
|
4609
|
+
className: "shrink-0 text-sm tabular-nums text-muted-foreground",
|
|
4591
4610
|
style: { width: cellSize },
|
|
4592
4611
|
children: tick ? tick.label : ""
|
|
4593
4612
|
},
|
|
4594
4613
|
i
|
|
4595
4614
|
);
|
|
4596
4615
|
}) }) : null,
|
|
4597
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-
|
|
4616
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: states.map((s) => /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
4598
4617
|
/* @__PURE__ */ jsx(
|
|
4599
4618
|
"span",
|
|
4600
4619
|
{
|
|
@@ -4612,54 +4631,58 @@ var HeatStrip = React23.forwardRef(
|
|
|
4612
4631
|
}
|
|
4613
4632
|
);
|
|
4614
4633
|
HeatStrip.displayName = "HeatStrip";
|
|
4615
|
-
var
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
llm: "bg-data-7",
|
|
4626
|
-
third_party: "bg-data-8",
|
|
4627
|
-
cache: "bg-data-3",
|
|
4628
|
-
human: "bg-data-6",
|
|
4629
|
-
agent: "bg-muted-foreground"
|
|
4634
|
+
var layerLabel = (layer) => layer.replace(/_/g, " ");
|
|
4635
|
+
var UNPAINTED2 = {
|
|
4636
|
+
swatch: "bg-muted-foreground",
|
|
4637
|
+
// Edge only, no ground: a bar's identity is its rail and its address, and a
|
|
4638
|
+
// wash under every bar turns a track into a stack of coloured blocks. A
|
|
4639
|
+
// consumer that wants the ground says so in its own `tint`.
|
|
4640
|
+
tint: "border-border",
|
|
4641
|
+
// Unpainted type is ordinary type. A muted address would say *subordinate*,
|
|
4642
|
+
// which is not what "nobody gave this layer a colour" means.
|
|
4643
|
+
text: "text-foreground"
|
|
4630
4644
|
};
|
|
4631
|
-
var
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
className
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
"size-1.5 shrink-0",
|
|
4649
|
-
dim ? "bg-muted-foreground/50" : SWATCH2[layer]
|
|
4650
|
-
)
|
|
4651
|
-
}
|
|
4645
|
+
var layerPaint = (palette, layer) => ({ ...UNPAINTED2, ...palette?.[layer] });
|
|
4646
|
+
var LayerChip = React24.forwardRef(
|
|
4647
|
+
({ layer, count, label, dim, swatch, palette, className, ...props }, ref) => {
|
|
4648
|
+
const paint = layerPaint(palette, layer);
|
|
4649
|
+
return /* @__PURE__ */ jsxs(
|
|
4650
|
+
"span",
|
|
4651
|
+
{
|
|
4652
|
+
ref,
|
|
4653
|
+
className: cn(
|
|
4654
|
+
// A layer is a **name**, not an address. `graph data` has a space in
|
|
4655
|
+
// it — it is already prose — so it takes the body face at the root
|
|
4656
|
+
// size, and mono is reserved for the thing that really is an address
|
|
4657
|
+
// (`model/Orders@v2` on the row below it). Small muted bold mono made
|
|
4658
|
+
// a row heading look like a technical footnote.
|
|
4659
|
+
"inline-flex max-w-full shrink-0 items-center gap-1.5",
|
|
4660
|
+
dim ? "text-muted-foreground/70" : "text-foreground",
|
|
4661
|
+
className
|
|
4652
4662
|
),
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4663
|
+
...props,
|
|
4664
|
+
children: [
|
|
4665
|
+
/* @__PURE__ */ jsx(
|
|
4666
|
+
"span",
|
|
4667
|
+
{
|
|
4668
|
+
"aria-hidden": true,
|
|
4669
|
+
className: cn(
|
|
4670
|
+
"size-1.5 shrink-0",
|
|
4671
|
+
dim ? "bg-muted-foreground/50" : swatch ?? paint.swatch
|
|
4672
|
+
)
|
|
4673
|
+
}
|
|
4674
|
+
),
|
|
4675
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: label ?? layerLabel(layer) }),
|
|
4676
|
+
count != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm tabular-nums text-muted-foreground", children: count }) : null
|
|
4677
|
+
]
|
|
4678
|
+
}
|
|
4679
|
+
);
|
|
4680
|
+
}
|
|
4658
4681
|
);
|
|
4659
4682
|
LayerChip.displayName = "LayerChip";
|
|
4660
|
-
var LayerSection =
|
|
4661
|
-
({ layer, summary, count, dim, className, children, ...props }, ref) => {
|
|
4662
|
-
const empty =
|
|
4683
|
+
var LayerSection = React24.forwardRef(
|
|
4684
|
+
({ layer, summary, count, dim, palette, className, children, ...props }, ref) => {
|
|
4685
|
+
const empty = React24.Children.count(children) === 0;
|
|
4663
4686
|
return /* @__PURE__ */ jsxs(
|
|
4664
4687
|
"section",
|
|
4665
4688
|
{
|
|
@@ -4668,125 +4691,562 @@ var LayerSection = React23.forwardRef(
|
|
|
4668
4691
|
...props,
|
|
4669
4692
|
children: [
|
|
4670
4693
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-baseline gap-2 border-b border-border pb-1", children: [
|
|
4671
|
-
/* @__PURE__ */ jsx(LayerChip, { layer, count, dim }),
|
|
4672
|
-
summary != null ? /* @__PURE__ */ jsx("span", { className: "ml-auto min-w-0 shrink truncate text-
|
|
4694
|
+
/* @__PURE__ */ jsx(LayerChip, { layer, count, dim, palette }),
|
|
4695
|
+
summary != null ? /* @__PURE__ */ jsx("span", { className: "ml-auto min-w-0 shrink truncate text-sm text-muted-foreground", children: summary }) : null
|
|
4673
4696
|
] }),
|
|
4674
|
-
empty ? /* @__PURE__ */ jsx("p", { className: "px-1 py-1 text-
|
|
4697
|
+
empty ? /* @__PURE__ */ jsx("p", { className: "px-1 py-1 text-sm text-muted-foreground/70", children: "no rules in this layer" }) : /* @__PURE__ */ jsx("div", { className: cn("flex min-w-0 flex-col", dim && "opacity-60"), children })
|
|
4675
4698
|
]
|
|
4676
4699
|
}
|
|
4677
4700
|
);
|
|
4678
4701
|
}
|
|
4679
4702
|
);
|
|
4680
4703
|
LayerSection.displayName = "LayerSection";
|
|
4681
|
-
var
|
|
4682
|
-
|
|
4683
|
-
in: "bg-data-1",
|
|
4684
|
-
refused: "bg-destructive",
|
|
4685
|
-
skipped: "bg-muted-foreground/30"
|
|
4686
|
-
};
|
|
4687
|
-
var MARK_LABEL = {
|
|
4704
|
+
var STATE_LABEL = {
|
|
4705
|
+
declared: "declared",
|
|
4688
4706
|
out: "sent",
|
|
4689
4707
|
in: "read",
|
|
4690
4708
|
refused: "refused",
|
|
4691
4709
|
skipped: "skipped"
|
|
4692
4710
|
};
|
|
4693
|
-
var
|
|
4711
|
+
var STATE_BAR = {
|
|
4712
|
+
declared: "border-dashed",
|
|
4713
|
+
out: "",
|
|
4714
|
+
in: "",
|
|
4715
|
+
refused: "border-destructive bg-background",
|
|
4716
|
+
skipped: "border-dashed opacity-60"
|
|
4717
|
+
};
|
|
4718
|
+
var stateLabel = (state) => STATE_LABEL[state] ?? state;
|
|
4719
|
+
var formatElapsed = (ms) => {
|
|
4720
|
+
if (ms < 1e3) return `${Math.round(ms)}ms`;
|
|
4721
|
+
if (ms < 6e4) return `${(ms / 1e3).toFixed(ms < 1e4 ? 1 : 0)}s`;
|
|
4722
|
+
const m = Math.floor(ms / 6e4);
|
|
4723
|
+
return `${m}m ${Math.round(ms % 6e4 / 1e3)}s`;
|
|
4724
|
+
};
|
|
4725
|
+
var LayerStrip = React24.forwardRef(
|
|
4694
4726
|
({
|
|
4695
4727
|
bands,
|
|
4696
|
-
|
|
4697
|
-
|
|
4698
|
-
|
|
4728
|
+
items,
|
|
4729
|
+
scale = "seq",
|
|
4730
|
+
domain,
|
|
4731
|
+
ticks,
|
|
4732
|
+
formatTick,
|
|
4733
|
+
brackets,
|
|
4734
|
+
seams,
|
|
4735
|
+
onSelectItem,
|
|
4736
|
+
selectedItem,
|
|
4737
|
+
hoverDetail = true,
|
|
4738
|
+
itemDetail,
|
|
4739
|
+
defaultCollapsed,
|
|
4740
|
+
collapsed,
|
|
4741
|
+
onCollapsedChange,
|
|
4742
|
+
collapsible = true,
|
|
4699
4743
|
frozenLabels = true,
|
|
4744
|
+
labelWidth = 15.5,
|
|
4745
|
+
minTrackWidth = 26,
|
|
4746
|
+
minSlotWidth = 6,
|
|
4747
|
+
palette,
|
|
4700
4748
|
className,
|
|
4701
4749
|
...props
|
|
4702
4750
|
}, ref) => {
|
|
4703
|
-
const
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4751
|
+
const [ownCollapsed, setOwnCollapsed] = React24.useState(
|
|
4752
|
+
defaultCollapsed ?? []
|
|
4753
|
+
);
|
|
4754
|
+
const shut = collapsed ?? ownCollapsed;
|
|
4755
|
+
const setShut = (next) => {
|
|
4756
|
+
if (collapsed == null) setOwnCollapsed(next);
|
|
4757
|
+
onCollapsedChange?.(next);
|
|
4758
|
+
};
|
|
4759
|
+
const withParts = bands.filter((b) => (b.parts?.length ?? 0) > 0);
|
|
4760
|
+
const allShut = withParts.length > 0 && withParts.every((b) => shut.includes(b.layer));
|
|
4761
|
+
const ends = items.map((i) => i.end ?? i.start + (scale === "seq" ? 1 : 0));
|
|
4762
|
+
const starts = items.map((i) => i.start);
|
|
4763
|
+
const d0 = domain?.[0] ?? (starts.length ? Math.min(...starts) : 0);
|
|
4764
|
+
const d1 = domain?.[1] ?? (ends.length ? Math.max(...ends) : d0 + 1);
|
|
4765
|
+
const span = d1 - d0 || 1;
|
|
4766
|
+
const pct = (value) => (value - d0) / span * 100;
|
|
4767
|
+
const axisTicks = ticks ?? (scale === "seq" ? Array.from({ length: Math.ceil(span) }, (_, n) => d0 + n) : Array.from({ length: 5 }, (_, n) => d0 + span / 4 * n));
|
|
4768
|
+
const tickLabel = formatTick ?? ((value) => scale === "seq" ? `${Math.round(value)}` : formatElapsed(value - d0));
|
|
4769
|
+
const label = (content, extra, indent, dim) => /* @__PURE__ */ jsx(
|
|
4708
4770
|
"div",
|
|
4709
4771
|
{
|
|
4710
|
-
|
|
4772
|
+
style: { width: `${labelWidth}rem` },
|
|
4711
4773
|
className: cn(
|
|
4712
|
-
"
|
|
4713
|
-
|
|
4774
|
+
"flex shrink-0 items-center gap-2 border-border border-r px-2.5 py-1.5",
|
|
4775
|
+
// A frozen label is normally opaque, or the bars it is parked over
|
|
4776
|
+
// would scroll through it. A dim row has no bars — that is what dim
|
|
4777
|
+
// means — so it can go transparent and let the row's own muted ground
|
|
4778
|
+
// run the full width. Without this the label column paints `bg-card`
|
|
4779
|
+
// straight over the tint and only the empty track reads as unspent,
|
|
4780
|
+
// which is the half a reader is least likely to look at.
|
|
4781
|
+
dim ? "bg-transparent" : "bg-card",
|
|
4782
|
+
indent && "pl-5",
|
|
4783
|
+
frozenLabels && "sticky left-0 z-10",
|
|
4784
|
+
extra
|
|
4714
4785
|
),
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4786
|
+
children: content
|
|
4787
|
+
}
|
|
4788
|
+
);
|
|
4789
|
+
const trackFloor = Math.max(minTrackWidth, axisTicks.length * minSlotWidth);
|
|
4790
|
+
const row = (key, head, track, dim) => /* @__PURE__ */ jsxs(
|
|
4791
|
+
"div",
|
|
4792
|
+
{
|
|
4793
|
+
className: cn(
|
|
4794
|
+
"flex min-h-12 border-border border-b last:border-b-0",
|
|
4795
|
+
// Muting the text alone said *this row is quiet*; the row has to say
|
|
4796
|
+
// *nothing spends this layer*, which is a band, not a weight.
|
|
4797
|
+
dim && "bg-muted/60"
|
|
4798
|
+
),
|
|
4799
|
+
children: [
|
|
4800
|
+
head,
|
|
4801
|
+
/* @__PURE__ */ jsx(
|
|
4802
|
+
"div",
|
|
4803
|
+
{
|
|
4804
|
+
style: { minWidth: `${trackFloor}rem` },
|
|
4805
|
+
className: "relative min-w-0 flex-1",
|
|
4806
|
+
children: track
|
|
4807
|
+
}
|
|
4808
|
+
)
|
|
4809
|
+
]
|
|
4810
|
+
},
|
|
4811
|
+
key
|
|
4812
|
+
);
|
|
4813
|
+
const partOf = (item) => item.part ? bands.find((b) => b.layer === item.layer)?.parts?.find((p) => p.id === item.part) : void 0;
|
|
4814
|
+
const spanLabel = (item) => {
|
|
4815
|
+
const end = item.end ?? item.start + (scale === "seq" ? 1 : 0);
|
|
4816
|
+
if (scale === "seq") {
|
|
4817
|
+
return end - item.start <= 1 ? `step ${item.start}` : `steps ${item.start}\u2013${end - 1}`;
|
|
4818
|
+
}
|
|
4819
|
+
return `${formatElapsed(item.start - d0)} \u2192 ${formatElapsed(
|
|
4820
|
+
end - d0
|
|
4821
|
+
)} \xB7 ${formatElapsed(end - item.start)}`;
|
|
4822
|
+
};
|
|
4823
|
+
const detail = (item) => {
|
|
4824
|
+
if (itemDetail) return itemDetail(item);
|
|
4825
|
+
const state = item.state ?? "declared";
|
|
4826
|
+
const part = partOf(item);
|
|
4827
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
4828
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
4829
|
+
/* @__PURE__ */ jsx(
|
|
4830
|
+
"span",
|
|
4831
|
+
{
|
|
4832
|
+
className: cn(
|
|
4833
|
+
"min-w-0 flex-1 truncate font-mono text-base",
|
|
4834
|
+
state === "refused" && "text-destructive line-through"
|
|
4835
|
+
),
|
|
4836
|
+
children: item.label
|
|
4837
|
+
}
|
|
4838
|
+
),
|
|
4839
|
+
/* @__PURE__ */ jsx(
|
|
4840
|
+
"span",
|
|
4841
|
+
{
|
|
4842
|
+
className: cn(
|
|
4843
|
+
"shrink-0 text-sm",
|
|
4844
|
+
state === "refused" ? "text-destructive" : "text-muted-foreground"
|
|
4845
|
+
),
|
|
4846
|
+
children: stateLabel(state)
|
|
4847
|
+
}
|
|
4848
|
+
)
|
|
4849
|
+
] }),
|
|
4850
|
+
/* @__PURE__ */ jsxs("dl", { className: "grid grid-cols-[auto_1fr] gap-x-2 gap-y-1 text-sm", children: [
|
|
4851
|
+
/* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "layer" }),
|
|
4852
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0", children: /* @__PURE__ */ jsx(LayerChip, { layer: item.layer, palette }) }),
|
|
4853
|
+
part ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4854
|
+
/* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "participant" }),
|
|
4855
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0 break-all font-mono", children: part.label })
|
|
4856
|
+
] }) : null,
|
|
4857
|
+
/* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "when" }),
|
|
4858
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0 tabular-nums", children: spanLabel(item) }),
|
|
4859
|
+
item.note ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4860
|
+
/* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "what it does" }),
|
|
4861
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0 font-mono", children: item.note })
|
|
4862
|
+
] }) : null,
|
|
4863
|
+
item.ruleMatched ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4864
|
+
/* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: "refused by" }),
|
|
4865
|
+
/* @__PURE__ */ jsx("dd", { className: "min-w-0 break-all font-mono text-destructive", children: item.ruleMatched })
|
|
4866
|
+
] }) : null
|
|
4867
|
+
] })
|
|
4868
|
+
] });
|
|
4869
|
+
};
|
|
4870
|
+
const bar = (item, compact = false) => {
|
|
4871
|
+
const state = item.state ?? "declared";
|
|
4872
|
+
const end = item.end ?? item.start + (scale === "seq" ? 1 : 0);
|
|
4873
|
+
const min = compact ? "0.75rem" : "4.5rem";
|
|
4874
|
+
const Tag = onSelectItem ? "button" : "div";
|
|
4875
|
+
const drawn = /* @__PURE__ */ jsxs(
|
|
4876
|
+
Tag,
|
|
4877
|
+
{
|
|
4878
|
+
...onSelectItem ? { type: "button", onClick: () => onSelectItem(item.id) } : {},
|
|
4879
|
+
title: hoverDetail ? void 0 : [item.label, stateLabel(state), item.note, item.ruleMatched].filter(Boolean).join(" \xB7 "),
|
|
4880
|
+
style: (
|
|
4881
|
+
// A bar is at least readable-wide, and one near the end grows
|
|
4882
|
+
// inwards rather than off the track: anchor whichever edge is
|
|
4883
|
+
// nearer its own end of the axis, so the moment it names stays
|
|
4884
|
+
// true where the reader is looking.
|
|
4885
|
+
pct(item.start) > 50 ? {
|
|
4886
|
+
right: `${100 - pct(end)}%`,
|
|
4887
|
+
width: `max(${min}, calc(${pct(end) - pct(item.start)}% - 3px))`
|
|
4888
|
+
} : {
|
|
4889
|
+
left: `${pct(item.start)}%`,
|
|
4890
|
+
width: `max(${min}, calc(${pct(end) - pct(item.start)}% - 3px))`
|
|
4891
|
+
}
|
|
4892
|
+
),
|
|
4893
|
+
className: cn(
|
|
4894
|
+
"-translate-y-1/2 absolute top-1/2 flex min-w-0 items-stretch overflow-hidden rounded-xs border py-0.5 text-left",
|
|
4895
|
+
compact ? "gap-1 pr-1" : "gap-1.5 pr-1.5",
|
|
4896
|
+
// Chosen, not merged. `twMerge` would resolve the kit's own tints
|
|
4897
|
+
// against `border-destructive` correctly, but the tint is a
|
|
4898
|
+
// consumer's string now: a project that paints a layer with its own
|
|
4899
|
+
// utility class (`layer-llm`, a plugin's output) hands `cn` two
|
|
4900
|
+
// classes it cannot see a conflict between, and stylesheet order
|
|
4901
|
+
// would decide whether a refusal reads as refused.
|
|
4902
|
+
state === "refused" ? null : layerPaint(palette, item.layer).tint,
|
|
4903
|
+
STATE_BAR[state] ?? "",
|
|
4904
|
+
onSelectItem && "cursor-pointer hover:bg-accent",
|
|
4905
|
+
selectedItem === item.id && "ring-1 ring-ring",
|
|
4906
|
+
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
|
|
4907
|
+
),
|
|
4908
|
+
children: [
|
|
4909
|
+
/* @__PURE__ */ jsx(
|
|
4910
|
+
"span",
|
|
4911
|
+
{
|
|
4912
|
+
"aria-hidden": true,
|
|
4913
|
+
className: cn(
|
|
4914
|
+
"w-1 shrink-0",
|
|
4915
|
+
layerPaint(palette, item.layer).swatch
|
|
4916
|
+
)
|
|
4917
|
+
}
|
|
4918
|
+
),
|
|
4919
|
+
/* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
4724
4920
|
/* @__PURE__ */ jsx(
|
|
4725
|
-
"
|
|
4921
|
+
"span",
|
|
4726
4922
|
{
|
|
4727
4923
|
className: cn(
|
|
4728
|
-
"
|
|
4729
|
-
|
|
4924
|
+
"truncate font-mono text-sm",
|
|
4925
|
+
state === "refused" && "text-destructive line-through"
|
|
4730
4926
|
),
|
|
4731
|
-
children:
|
|
4927
|
+
children: item.label
|
|
4732
4928
|
}
|
|
4733
4929
|
),
|
|
4734
|
-
|
|
4735
|
-
|
|
4930
|
+
compact ? null : /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.note ?? (state === "declared" ? null : stateLabel(state)) })
|
|
4931
|
+
] })
|
|
4932
|
+
]
|
|
4933
|
+
},
|
|
4934
|
+
item.id
|
|
4935
|
+
);
|
|
4936
|
+
if (!hoverDetail) return drawn;
|
|
4937
|
+
return /* @__PURE__ */ jsxs(HoverCard, { openDelay: 140, closeDelay: 80, children: [
|
|
4938
|
+
/* @__PURE__ */ jsx(HoverCardTrigger, { asChild: true, children: drawn }),
|
|
4939
|
+
/* @__PURE__ */ jsx(
|
|
4940
|
+
HoverCardContent,
|
|
4941
|
+
{
|
|
4942
|
+
align: "start",
|
|
4943
|
+
side: "top",
|
|
4944
|
+
className: "w-auto max-w-80 p-3",
|
|
4945
|
+
children: detail(item)
|
|
4946
|
+
}
|
|
4947
|
+
)
|
|
4948
|
+
] }, item.id);
|
|
4949
|
+
};
|
|
4950
|
+
const bracketLanes = React24.useMemo(() => {
|
|
4951
|
+
const lanes = [];
|
|
4952
|
+
const ordered = [...brackets ?? []].sort(
|
|
4953
|
+
(a, b) => b.end - b.start - (a.end - a.start)
|
|
4954
|
+
);
|
|
4955
|
+
for (const bracket of ordered) {
|
|
4956
|
+
const lane = lanes.find(
|
|
4957
|
+
(existing) => existing.every(
|
|
4958
|
+
(other) => bracket.end <= other.start || bracket.start >= other.end
|
|
4959
|
+
)
|
|
4960
|
+
);
|
|
4961
|
+
if (lane) lane.push(bracket);
|
|
4962
|
+
else lanes.push([bracket]);
|
|
4963
|
+
}
|
|
4964
|
+
return lanes;
|
|
4965
|
+
}, [brackets]);
|
|
4966
|
+
const seamLines = React24.useMemo(() => {
|
|
4967
|
+
const placed = (seams ?? []).filter((seam) => seam.at != null);
|
|
4968
|
+
const loose = (seams ?? []).filter((seam) => seam.at == null);
|
|
4969
|
+
return [...placed.length ? [placed] : [], ...loose.map((s2) => [s2])];
|
|
4970
|
+
}, [seams]);
|
|
4971
|
+
const itemsOf = (layer, part) => items.filter(
|
|
4972
|
+
(i) => i.layer === layer && (part ? i.part === part : !i.part)
|
|
4973
|
+
);
|
|
4974
|
+
const allOf = (layer) => items.filter((i) => i.layer === layer);
|
|
4975
|
+
return /* @__PURE__ */ jsx(
|
|
4976
|
+
"div",
|
|
4977
|
+
{
|
|
4978
|
+
ref,
|
|
4979
|
+
className: cn(
|
|
4980
|
+
"min-w-0 overflow-x-auto rounded-control border border-border bg-card",
|
|
4981
|
+
className
|
|
4982
|
+
),
|
|
4983
|
+
...props,
|
|
4984
|
+
children: /* @__PURE__ */ jsxs("div", { className: "relative min-w-max", children: [
|
|
4985
|
+
seams?.length ? /* @__PURE__ */ jsx(
|
|
4986
|
+
"div",
|
|
4987
|
+
{
|
|
4988
|
+
"aria-hidden": true,
|
|
4989
|
+
style: { left: `${labelWidth}rem` },
|
|
4990
|
+
className: "pointer-events-none absolute inset-y-0 right-0",
|
|
4991
|
+
children: seams.map(
|
|
4992
|
+
(seam) => seam.at == null ? null : /* @__PURE__ */ jsx(
|
|
4993
|
+
"span",
|
|
4994
|
+
{
|
|
4995
|
+
style: { left: `${pct(seam.at)}%` },
|
|
4996
|
+
className: cn(
|
|
4997
|
+
"absolute inset-y-0 border-l",
|
|
4998
|
+
seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/60"
|
|
4999
|
+
)
|
|
5000
|
+
},
|
|
5001
|
+
seam.id
|
|
5002
|
+
)
|
|
5003
|
+
)
|
|
5004
|
+
}
|
|
5005
|
+
) : null,
|
|
5006
|
+
row(
|
|
5007
|
+
"axis",
|
|
5008
|
+
label(
|
|
5009
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5010
|
+
collapsible && withParts.length > 0 ? /* @__PURE__ */ jsxs(
|
|
5011
|
+
"button",
|
|
5012
|
+
{
|
|
5013
|
+
type: "button",
|
|
5014
|
+
onClick: () => setShut(allShut ? [] : withParts.map((b) => b.layer)),
|
|
5015
|
+
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",
|
|
5016
|
+
children: [
|
|
5017
|
+
allShut ? /* @__PURE__ */ jsx(ChevronRight, { "aria-hidden": true, className: "size-3 shrink-0" }) : /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": true, className: "size-3 shrink-0" }),
|
|
5018
|
+
allShut ? "expand all" : "collapse all"
|
|
5019
|
+
]
|
|
5020
|
+
}
|
|
5021
|
+
) : /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "layer" }),
|
|
5022
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto text-sm text-muted-foreground/70", children: scale === "seq" ? "step" : "elapsed" })
|
|
5023
|
+
] }),
|
|
5024
|
+
"min-h-0 py-1"
|
|
5025
|
+
),
|
|
5026
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: axisTicks.map((value) => {
|
|
5027
|
+
const atEnd = pct(value) > 99;
|
|
5028
|
+
return /* @__PURE__ */ jsx(
|
|
5029
|
+
"span",
|
|
4736
5030
|
{
|
|
4737
|
-
|
|
4738
|
-
onClick: () => onSelectStep?.(step.id),
|
|
4739
|
-
title: step.seq != null ? `${step.label} \xB7 seq ${step.seq}` : step.label,
|
|
5031
|
+
style: atEnd ? { right: 0 } : { left: `${pct(value)}%` },
|
|
4740
5032
|
className: cn(
|
|
4741
|
-
"
|
|
4742
|
-
"
|
|
4743
|
-
onSelectStep && "cursor-pointer hover:bg-accent",
|
|
4744
|
-
selectedStep === step.id && "bg-accent text-foreground",
|
|
4745
|
-
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
|
|
5033
|
+
"absolute inset-y-0 text-sm text-muted-foreground",
|
|
5034
|
+
atEnd ? "border-border/60 border-r pr-1" : "border-border/60 border-l pl-1"
|
|
4746
5035
|
),
|
|
4747
|
-
children:
|
|
5036
|
+
children: tickLabel(value)
|
|
4748
5037
|
},
|
|
4749
|
-
|
|
4750
|
-
)
|
|
4751
|
-
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
|
|
4756
|
-
|
|
4757
|
-
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
5038
|
+
value
|
|
5039
|
+
);
|
|
5040
|
+
}) })
|
|
5041
|
+
),
|
|
5042
|
+
bracketLanes.map(
|
|
5043
|
+
(lane, laneIndex) => row(
|
|
5044
|
+
`brackets-${laneIndex}`,
|
|
5045
|
+
label(
|
|
5046
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: laneIndex === 0 ? "its bound" : "" }),
|
|
5047
|
+
"min-h-0 py-1"
|
|
5048
|
+
),
|
|
5049
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 py-1", children: lane.map((bracket) => /* @__PURE__ */ jsx(
|
|
5050
|
+
"span",
|
|
5051
|
+
{
|
|
5052
|
+
style: {
|
|
5053
|
+
left: `${pct(bracket.start)}%`,
|
|
5054
|
+
width: `${pct(bracket.end) - pct(bracket.start)}%`
|
|
5055
|
+
},
|
|
5056
|
+
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",
|
|
5057
|
+
children: bracket.label
|
|
5058
|
+
},
|
|
5059
|
+
bracket.id
|
|
5060
|
+
)) })
|
|
5061
|
+
)
|
|
5062
|
+
),
|
|
5063
|
+
seamLines.map(
|
|
5064
|
+
(line, lineIndex) => row(
|
|
5065
|
+
`seams-${lineIndex}`,
|
|
5066
|
+
label(
|
|
5067
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: lineIndex === 0 ? "its gates" : "" })
|
|
5068
|
+
),
|
|
5069
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: line.map((seam) => {
|
|
5070
|
+
const named = /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col justify-center", children: [
|
|
5071
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm", children: seam.label }),
|
|
5072
|
+
seam.note ? /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-muted-foreground", children: seam.note }) : null
|
|
5073
|
+
] });
|
|
5074
|
+
if (seam.at == null)
|
|
5075
|
+
return /* @__PURE__ */ jsx(
|
|
5076
|
+
"span",
|
|
5077
|
+
{
|
|
5078
|
+
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",
|
|
5079
|
+
children: named
|
|
5080
|
+
},
|
|
5081
|
+
seam.id
|
|
5082
|
+
);
|
|
5083
|
+
const after = seam.edge === "after";
|
|
5084
|
+
const neighbours = line.map((other) => other.at).filter((value) => value != null);
|
|
5085
|
+
const bound = after ? pct(seam.at) - Math.max(
|
|
5086
|
+
...neighbours.filter((v) => v < (seam.at ?? 0)).map(pct),
|
|
5087
|
+
0
|
|
5088
|
+
) : Math.min(
|
|
5089
|
+
...neighbours.filter((v) => v > (seam.at ?? 0)).map(pct),
|
|
5090
|
+
100
|
|
5091
|
+
) - pct(seam.at);
|
|
5092
|
+
return /* @__PURE__ */ jsx(
|
|
5093
|
+
"span",
|
|
4764
5094
|
{
|
|
4765
|
-
|
|
5095
|
+
style: {
|
|
5096
|
+
maxWidth: `${Math.max(bound, 12)}%`,
|
|
5097
|
+
...after ? { right: `${100 - pct(seam.at)}%` } : { left: `${pct(seam.at)}%` }
|
|
5098
|
+
},
|
|
4766
5099
|
className: cn(
|
|
4767
|
-
|
|
4768
|
-
|
|
5100
|
+
// The label hangs off the side the cost falls on:
|
|
5101
|
+
// before the line, nothing is spent; after it, the
|
|
5102
|
+
// pass is already paid for.
|
|
5103
|
+
"absolute inset-y-1.5 flex items-center bg-card px-1.5 text-muted-foreground",
|
|
5104
|
+
after ? "border-r-2 text-right" : "border-l-2",
|
|
5105
|
+
seam.conditional ? "border-dashed border-muted-foreground/45" : "border-muted-foreground/70"
|
|
4769
5106
|
),
|
|
4770
|
-
children:
|
|
5107
|
+
children: named
|
|
5108
|
+
},
|
|
5109
|
+
seam.id
|
|
5110
|
+
);
|
|
5111
|
+
}) })
|
|
5112
|
+
)
|
|
5113
|
+
),
|
|
5114
|
+
bands.map((band) => {
|
|
5115
|
+
const own = itemsOf(band.layer);
|
|
5116
|
+
const parts = band.parts ?? [];
|
|
5117
|
+
const dim = allOf(band.layer).length === 0;
|
|
5118
|
+
const spine = band.spine ?? false;
|
|
5119
|
+
const foldable = collapsible && parts.length > 0;
|
|
5120
|
+
const isShut = foldable && shut.includes(band.layer);
|
|
5121
|
+
const onLine = isShut ? allOf(band.layer) : own;
|
|
5122
|
+
return /* @__PURE__ */ jsxs(React24.Fragment, { children: [
|
|
5123
|
+
row(
|
|
5124
|
+
band.layer,
|
|
5125
|
+
label(
|
|
5126
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5127
|
+
foldable ? /* @__PURE__ */ jsxs(
|
|
5128
|
+
"button",
|
|
5129
|
+
{
|
|
5130
|
+
type: "button",
|
|
5131
|
+
"aria-expanded": !isShut,
|
|
5132
|
+
"aria-label": `${isShut ? "Show" : "Hide"} the ${parts.length} participants under ${band.layer}`,
|
|
5133
|
+
onClick: () => setShut(
|
|
5134
|
+
isShut ? shut.filter((l) => l !== band.layer) : [...shut, band.layer]
|
|
5135
|
+
),
|
|
5136
|
+
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",
|
|
5137
|
+
children: [
|
|
5138
|
+
isShut ? /* @__PURE__ */ jsx(
|
|
5139
|
+
ChevronRight,
|
|
5140
|
+
{
|
|
5141
|
+
"aria-hidden": true,
|
|
5142
|
+
className: "size-3 shrink-0 text-muted-foreground"
|
|
5143
|
+
}
|
|
5144
|
+
) : /* @__PURE__ */ jsx(
|
|
5145
|
+
ChevronDown,
|
|
5146
|
+
{
|
|
5147
|
+
"aria-hidden": true,
|
|
5148
|
+
className: "size-3 shrink-0 text-muted-foreground"
|
|
5149
|
+
}
|
|
5150
|
+
),
|
|
5151
|
+
band.label ?? /* @__PURE__ */ jsx(
|
|
5152
|
+
LayerChip,
|
|
5153
|
+
{
|
|
5154
|
+
layer: band.layer,
|
|
5155
|
+
dim,
|
|
5156
|
+
palette
|
|
5157
|
+
}
|
|
5158
|
+
)
|
|
5159
|
+
]
|
|
5160
|
+
}
|
|
5161
|
+
) : /* @__PURE__ */ jsx("span", { className: "shrink-0 pl-4", children: band.label ?? /* @__PURE__ */ jsx(
|
|
5162
|
+
LayerChip,
|
|
5163
|
+
{
|
|
5164
|
+
layer: band.layer,
|
|
5165
|
+
dim,
|
|
5166
|
+
palette
|
|
5167
|
+
}
|
|
5168
|
+
) }),
|
|
5169
|
+
band.note ? /* @__PURE__ */ jsx(
|
|
4771
5170
|
"span",
|
|
4772
5171
|
{
|
|
4773
|
-
|
|
5172
|
+
title: band.note,
|
|
4774
5173
|
className: cn(
|
|
4775
|
-
"
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
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"
|
|
4780
|
-
)
|
|
5174
|
+
"ml-auto min-w-0 truncate text-sm",
|
|
5175
|
+
dim ? "text-muted-foreground/70" : "text-muted-foreground"
|
|
5176
|
+
),
|
|
5177
|
+
children: band.note
|
|
4781
5178
|
}
|
|
4782
|
-
) :
|
|
4783
|
-
},
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
5179
|
+
) : null
|
|
5180
|
+
] }),
|
|
5181
|
+
void 0,
|
|
5182
|
+
false,
|
|
5183
|
+
dim
|
|
5184
|
+
),
|
|
5185
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5186
|
+
spine ? /* @__PURE__ */ jsx(
|
|
5187
|
+
"span",
|
|
5188
|
+
{
|
|
5189
|
+
"aria-hidden": true,
|
|
5190
|
+
className: "-translate-y-1/2 absolute inset-x-0 top-1/2 border-border border-t"
|
|
5191
|
+
}
|
|
5192
|
+
) : null,
|
|
5193
|
+
onLine.map((item) => bar(item, isShut))
|
|
5194
|
+
] }),
|
|
5195
|
+
dim
|
|
5196
|
+
),
|
|
5197
|
+
(isShut ? [] : parts).map((part) => {
|
|
5198
|
+
const spent = itemsOf(band.layer, part.id);
|
|
5199
|
+
const unspent = spent.length === 0;
|
|
5200
|
+
return row(
|
|
5201
|
+
`${band.layer}-${part.id}`,
|
|
5202
|
+
label(
|
|
5203
|
+
/* @__PURE__ */ jsxs(
|
|
5204
|
+
"span",
|
|
5205
|
+
{
|
|
5206
|
+
className: "flex min-w-0 flex-col",
|
|
5207
|
+
title: part.label,
|
|
5208
|
+
children: [
|
|
5209
|
+
/* @__PURE__ */ jsx(
|
|
5210
|
+
"span",
|
|
5211
|
+
{
|
|
5212
|
+
className: cn(
|
|
5213
|
+
"truncate font-mono text-sm",
|
|
5214
|
+
// The address wears its layer, so the row and the
|
|
5215
|
+
// band's dot are visibly one thing. Unspent
|
|
5216
|
+
// overrides it: *this was never reached* outranks
|
|
5217
|
+
// *this is graph data*.
|
|
5218
|
+
unspent ? "text-muted-foreground/70" : layerPaint(palette, band.layer).text
|
|
5219
|
+
),
|
|
5220
|
+
children: part.label
|
|
5221
|
+
}
|
|
5222
|
+
),
|
|
5223
|
+
part.note ? /* @__PURE__ */ jsx(
|
|
5224
|
+
"span",
|
|
5225
|
+
{
|
|
5226
|
+
className: cn(
|
|
5227
|
+
// What the participant owes sits a rung under the
|
|
5228
|
+
// address that owes it. At the same size the two
|
|
5229
|
+
// lines read as one wrapped label.
|
|
5230
|
+
"truncate text-xs",
|
|
5231
|
+
unspent ? "text-muted-foreground/70" : "text-muted-foreground"
|
|
5232
|
+
),
|
|
5233
|
+
children: part.note
|
|
5234
|
+
}
|
|
5235
|
+
) : null
|
|
5236
|
+
]
|
|
5237
|
+
}
|
|
5238
|
+
),
|
|
5239
|
+
void 0,
|
|
5240
|
+
true,
|
|
5241
|
+
unspent
|
|
5242
|
+
),
|
|
5243
|
+
spent.map((item) => bar(item)),
|
|
5244
|
+
unspent
|
|
5245
|
+
);
|
|
5246
|
+
})
|
|
5247
|
+
] }, band.layer);
|
|
5248
|
+
})
|
|
5249
|
+
] })
|
|
4790
5250
|
}
|
|
4791
5251
|
);
|
|
4792
5252
|
}
|
|
@@ -4839,14 +5299,14 @@ function Swatch({ kind = "dot", color }) {
|
|
|
4839
5299
|
}
|
|
4840
5300
|
);
|
|
4841
5301
|
}
|
|
4842
|
-
var Legend =
|
|
5302
|
+
var Legend = React24.forwardRef(
|
|
4843
5303
|
({ orientation = "row", className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4844
5304
|
"div",
|
|
4845
5305
|
{
|
|
4846
5306
|
ref,
|
|
4847
5307
|
role: "list",
|
|
4848
5308
|
className: cn(
|
|
4849
|
-
"flex gap-x-3 gap-y-1 text-
|
|
5309
|
+
"flex gap-x-3 gap-y-1 text-sm",
|
|
4850
5310
|
orientation === "row" ? "flex-wrap items-center" : "flex-col",
|
|
4851
5311
|
className
|
|
4852
5312
|
),
|
|
@@ -4856,7 +5316,7 @@ var Legend = React23.forwardRef(
|
|
|
4856
5316
|
)
|
|
4857
5317
|
);
|
|
4858
5318
|
Legend.displayName = "Legend";
|
|
4859
|
-
var LegendItem =
|
|
5319
|
+
var LegendItem = React24.forwardRef(
|
|
4860
5320
|
({ kind, color, label, count, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
4861
5321
|
"div",
|
|
4862
5322
|
{
|
|
@@ -4873,7 +5333,7 @@ var LegendItem = React23.forwardRef(
|
|
|
4873
5333
|
)
|
|
4874
5334
|
);
|
|
4875
5335
|
LegendItem.displayName = "LegendItem";
|
|
4876
|
-
var LensChip =
|
|
5336
|
+
var LensChip = React24.forwardRef(
|
|
4877
5337
|
({ lens, onPick, className, ...props }, ref) => {
|
|
4878
5338
|
const label = lens?.name ?? "Everything";
|
|
4879
5339
|
const unset = lens == null;
|
|
@@ -4892,7 +5352,7 @@ var LensChip = React23.forwardRef(
|
|
|
4892
5352
|
] });
|
|
4893
5353
|
const shell = cn(
|
|
4894
5354
|
"inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-control",
|
|
4895
|
-
"border border-border px-1.5 py-0.5 text-
|
|
5355
|
+
"border border-border px-1.5 py-0.5 text-sm",
|
|
4896
5356
|
unset ? "text-muted-foreground" : "text-foreground",
|
|
4897
5357
|
className
|
|
4898
5358
|
);
|
|
@@ -4916,7 +5376,7 @@ var LensChip = React23.forwardRef(
|
|
|
4916
5376
|
}
|
|
4917
5377
|
);
|
|
4918
5378
|
LensChip.displayName = "LensChip";
|
|
4919
|
-
function describe(n) {
|
|
5379
|
+
function describe(n, palette) {
|
|
4920
5380
|
switch (n.kind) {
|
|
4921
5381
|
case "allow":
|
|
4922
5382
|
return `${n.count} allow`;
|
|
@@ -4931,12 +5391,12 @@ function describe(n) {
|
|
|
4931
5391
|
case "closes":
|
|
4932
5392
|
return /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1", children: [
|
|
4933
5393
|
"closes",
|
|
4934
|
-
n.layers.map((layer) => /* @__PURE__ */ jsx(LayerChip, { layer }, layer))
|
|
5394
|
+
n.layers.map((layer) => /* @__PURE__ */ jsx(LayerChip, { layer, palette }, layer))
|
|
4935
5395
|
] });
|
|
4936
5396
|
}
|
|
4937
5397
|
}
|
|
4938
|
-
var LensRow =
|
|
4939
|
-
({ name, narrows = [], usage, selected, onSelect, className, ...props }, ref) => {
|
|
5398
|
+
var LensRow = React24.forwardRef(
|
|
5399
|
+
({ name, narrows = [], usage, selected, onSelect, palette, className, ...props }, ref) => {
|
|
4940
5400
|
const interactive = Boolean(onSelect);
|
|
4941
5401
|
return /* @__PURE__ */ jsxs(
|
|
4942
5402
|
"div",
|
|
@@ -4962,8 +5422,8 @@ var LensRow = React23.forwardRef(
|
|
|
4962
5422
|
...props,
|
|
4963
5423
|
children: [
|
|
4964
5424
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-baseline gap-2", children: [
|
|
4965
|
-
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate text-
|
|
4966
|
-
usage ? /* @__PURE__ */ jsxs("span", { className: "ml-auto shrink-0 text-
|
|
5425
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate text-base font-medium text-foreground", children: name }),
|
|
5426
|
+
usage ? /* @__PURE__ */ jsxs("span", { className: "ml-auto shrink-0 text-sm text-muted-foreground", children: [
|
|
4967
5427
|
"used in ",
|
|
4968
5428
|
usage.runs,
|
|
4969
5429
|
" run",
|
|
@@ -4971,17 +5431,17 @@ var LensRow = React23.forwardRef(
|
|
|
4971
5431
|
usage.lastUsed ? ` \xB7 last ${usage.lastUsed}` : ""
|
|
4972
5432
|
] }) : null
|
|
4973
5433
|
] }),
|
|
4974
|
-
narrows.length ? /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-
|
|
5434
|
+
narrows.length ? /* @__PURE__ */ 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__ */ jsxs(React24.Fragment, { children: [
|
|
4975
5435
|
i > 0 ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "opacity-40", children: "\xB7" }) : null,
|
|
4976
|
-
/* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: describe(n) })
|
|
4977
|
-
] }, `${n.kind}-${i}`)) }) : /* @__PURE__ */ jsx("span", { className: "text-
|
|
5436
|
+
/* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: describe(n, palette) })
|
|
5437
|
+
] }, `${n.kind}-${i}`)) }) : /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground/70", children: "narrows nothing \u2014 the whole model, inside the guardrails" })
|
|
4978
5438
|
]
|
|
4979
5439
|
}
|
|
4980
5440
|
);
|
|
4981
5441
|
}
|
|
4982
5442
|
);
|
|
4983
5443
|
LensRow.displayName = "LensRow";
|
|
4984
|
-
var MatchPreview =
|
|
5444
|
+
var MatchPreview = React24.forwardRef(
|
|
4985
5445
|
({ pattern, matches = [], loading, limit = 8, className, ...props }, ref) => {
|
|
4986
5446
|
const hits = matches.filter((m) => m.matched);
|
|
4987
5447
|
const misses = matches.filter((m) => !m.matched);
|
|
@@ -4998,14 +5458,14 @@ var MatchPreview = React23.forwardRef(
|
|
|
4998
5458
|
...props,
|
|
4999
5459
|
children: [
|
|
5000
5460
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-baseline gap-2", children: [
|
|
5001
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
5002
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 text-
|
|
5461
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "what this matches" }),
|
|
5462
|
+
/* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 text-sm tabular-nums text-muted-foreground", children: loading ? "\u2026" : `${hits.length} of ${matches.length}` })
|
|
5003
5463
|
] }),
|
|
5004
5464
|
loading ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 py-0.5", children: [
|
|
5005
5465
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3/5" }),
|
|
5006
5466
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-2/5" }),
|
|
5007
5467
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-1/2" })
|
|
5008
|
-
] }) : matches.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-
|
|
5468
|
+
] }) : matches.length === 0 ? /* @__PURE__ */ 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__ */ jsxs("p", { className: "text-sm text-destructive", children: [
|
|
5009
5469
|
/* @__PURE__ */ jsx("span", { className: "font-mono", children: pattern }),
|
|
5010
5470
|
" matches nothing here"
|
|
5011
5471
|
] }) : null,
|
|
@@ -5018,7 +5478,7 @@ var MatchPreview = React23.forwardRef(
|
|
|
5018
5478
|
},
|
|
5019
5479
|
m.address
|
|
5020
5480
|
)),
|
|
5021
|
-
hidden > 0 ? /* @__PURE__ */ jsxs("span", { className: "pt-0.5 text-
|
|
5481
|
+
hidden > 0 ? /* @__PURE__ */ jsxs("span", { className: "pt-0.5 text-sm text-muted-foreground/70", children: [
|
|
5022
5482
|
"and ",
|
|
5023
5483
|
hidden,
|
|
5024
5484
|
" more"
|
|
@@ -5097,7 +5557,7 @@ var TONE2 = {
|
|
|
5097
5557
|
error: "text-destructive",
|
|
5098
5558
|
info: "text-info"
|
|
5099
5559
|
};
|
|
5100
|
-
var MetricTile =
|
|
5560
|
+
var MetricTile = React24.forwardRef(
|
|
5101
5561
|
({ label, value, caption, tone, meter, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5102
5562
|
"div",
|
|
5103
5563
|
{
|
|
@@ -5108,7 +5568,7 @@ var MetricTile = React23.forwardRef(
|
|
|
5108
5568
|
),
|
|
5109
5569
|
...props,
|
|
5110
5570
|
children: [
|
|
5111
|
-
/* @__PURE__ */ jsx("span", { className: "truncate text-
|
|
5571
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
|
|
5112
5572
|
/* @__PURE__ */ jsx(
|
|
5113
5573
|
"span",
|
|
5114
5574
|
{
|
|
@@ -5117,12 +5577,12 @@ var MetricTile = React23.forwardRef(
|
|
|
5117
5577
|
// `1,880` and `2 / 5` in adjacent tiles sit at different widths, and
|
|
5118
5578
|
// a strip of six stops reading as one row of numbers.
|
|
5119
5579
|
"font-mono text-lg font-semibold leading-tight",
|
|
5120
|
-
tone ? TONE2[tone] : void 0
|
|
5580
|
+
tone ? TONE2[tone] ?? "text-foreground" : void 0
|
|
5121
5581
|
),
|
|
5122
5582
|
children: value
|
|
5123
5583
|
}
|
|
5124
5584
|
),
|
|
5125
|
-
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
5585
|
+
caption != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: caption }) : null,
|
|
5126
5586
|
meter != null ? (
|
|
5127
5587
|
// Not a <Progress>: that is a control-sized, rounded, animated bar for
|
|
5128
5588
|
// work in flight. This is a 4px rule that says how much of a ceiling is
|
|
@@ -5136,7 +5596,7 @@ var MetricTile = React23.forwardRef(
|
|
|
5136
5596
|
children: /* @__PURE__ */ jsx(
|
|
5137
5597
|
"div",
|
|
5138
5598
|
{
|
|
5139
|
-
className: cn("h-full", tone ? TONE2[tone] : "text-primary", "bg-current"),
|
|
5599
|
+
className: cn("h-full", tone ? TONE2[tone] ?? "text-foreground" : "text-primary", "bg-current"),
|
|
5140
5600
|
style: { width: `${Math.min(Math.max(meter, 0), 1) * 100}%` }
|
|
5141
5601
|
}
|
|
5142
5602
|
)
|
|
@@ -5149,7 +5609,7 @@ var MetricTile = React23.forwardRef(
|
|
|
5149
5609
|
)
|
|
5150
5610
|
);
|
|
5151
5611
|
MetricTile.displayName = "MetricTile";
|
|
5152
|
-
var MetricGrid =
|
|
5612
|
+
var MetricGrid = React24.forwardRef(
|
|
5153
5613
|
({ minTileWidth = 120, gap = 6, className, style, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
5154
5614
|
"div",
|
|
5155
5615
|
{
|
|
@@ -5208,7 +5668,7 @@ var NestedMenu = (props) => {
|
|
|
5208
5668
|
}
|
|
5209
5669
|
);
|
|
5210
5670
|
};
|
|
5211
|
-
var PanelBox =
|
|
5671
|
+
var PanelBox = React24.forwardRef(
|
|
5212
5672
|
({ title, aside, flush, className, headerClassName, bodyClassName, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5213
5673
|
Card,
|
|
5214
5674
|
{
|
|
@@ -5299,13 +5759,13 @@ function PanelStack({
|
|
|
5299
5759
|
headerClassName,
|
|
5300
5760
|
bodyClassName
|
|
5301
5761
|
}) {
|
|
5302
|
-
const groupRef =
|
|
5303
|
-
const refs =
|
|
5304
|
-
const [collapsed, setCollapsed] =
|
|
5762
|
+
const groupRef = React24.useRef(null);
|
|
5763
|
+
const refs = React24.useRef({});
|
|
5764
|
+
const [collapsed, setCollapsed] = React24.useState(
|
|
5305
5765
|
() => Object.fromEntries(sections.map((s) => [s.id, !!s.defaultCollapsed]))
|
|
5306
5766
|
);
|
|
5307
|
-
const didInit =
|
|
5308
|
-
|
|
5767
|
+
const didInit = React24.useRef(false);
|
|
5768
|
+
React24.useLayoutEffect(() => {
|
|
5309
5769
|
if (didInit.current) return;
|
|
5310
5770
|
didInit.current = true;
|
|
5311
5771
|
const targets = sections.filter((s) => s.defaultCollapsed);
|
|
@@ -5337,18 +5797,18 @@ function PanelStack({
|
|
|
5337
5797
|
for (const s of targets) refs.current[s.id]?.collapse();
|
|
5338
5798
|
group.setLayout(next);
|
|
5339
5799
|
}, []);
|
|
5340
|
-
const notify =
|
|
5341
|
-
|
|
5800
|
+
const notify = React24.useRef(onCollapsedChange);
|
|
5801
|
+
React24.useEffect(() => {
|
|
5342
5802
|
notify.current = onCollapsedChange;
|
|
5343
5803
|
}, [onCollapsedChange]);
|
|
5344
|
-
const collapsedRef =
|
|
5804
|
+
const collapsedRef = React24.useRef(collapsed);
|
|
5345
5805
|
collapsedRef.current = collapsed;
|
|
5346
|
-
const collapsePanel =
|
|
5806
|
+
const collapsePanel = React24.useCallback((id) => {
|
|
5347
5807
|
const ref = refs.current[id];
|
|
5348
5808
|
if (!ref || ref.isCollapsed()) return;
|
|
5349
5809
|
ref.collapse();
|
|
5350
5810
|
}, []);
|
|
5351
|
-
const expandPanel =
|
|
5811
|
+
const expandPanel = React24.useCallback((id) => {
|
|
5352
5812
|
const ref = refs.current[id];
|
|
5353
5813
|
if (!ref || !ref.isCollapsed()) return;
|
|
5354
5814
|
ref.expand();
|
|
@@ -5366,7 +5826,7 @@ function PanelStack({
|
|
|
5366
5826
|
[donorId]: donorPct - share
|
|
5367
5827
|
});
|
|
5368
5828
|
}, []);
|
|
5369
|
-
const toggle =
|
|
5829
|
+
const toggle = React24.useCallback(
|
|
5370
5830
|
(id) => {
|
|
5371
5831
|
const ref = refs.current[id];
|
|
5372
5832
|
if (!ref) return;
|
|
@@ -5375,7 +5835,7 @@ function PanelStack({
|
|
|
5375
5835
|
},
|
|
5376
5836
|
[expandPanel, collapsePanel]
|
|
5377
5837
|
);
|
|
5378
|
-
|
|
5838
|
+
React24.useImperativeHandle(
|
|
5379
5839
|
stackRef,
|
|
5380
5840
|
() => ({
|
|
5381
5841
|
expand: expandPanel,
|
|
@@ -5399,7 +5859,7 @@ function PanelStack({
|
|
|
5399
5859
|
const Icon = section.icon;
|
|
5400
5860
|
const isCollapsed = collapsed[section.id];
|
|
5401
5861
|
const flush = index > 0 && (isCollapsed || collapsed[sections[index - 1].id]);
|
|
5402
|
-
return /* @__PURE__ */ jsxs(
|
|
5862
|
+
return /* @__PURE__ */ jsxs(React24.Fragment, { children: [
|
|
5403
5863
|
index > 0 && /* @__PURE__ */ jsx(
|
|
5404
5864
|
ResizableHandle,
|
|
5405
5865
|
{
|
|
@@ -5453,7 +5913,7 @@ function PanelStack({
|
|
|
5453
5913
|
children: [
|
|
5454
5914
|
isCollapsed ? /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5 shrink-0" }) : /* @__PURE__ */ jsx(ChevronDown, { className: "h-5 w-5 shrink-0" }),
|
|
5455
5915
|
Icon && /* @__PURE__ */ jsx(Icon, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
5456
|
-
typeof section.title === "string" ? /* @__PURE__ */ jsx("span", { className: "truncate text-
|
|
5916
|
+
typeof section.title === "string" ? /* @__PURE__ */ jsx("span", { className: "truncate text-sm font-semibold uppercase tracking-wide", children: section.title }) : (
|
|
5457
5917
|
// Custom node: rendered as-is so the consumer owns the
|
|
5458
5918
|
// styling (icon, casing, colour, badges…).
|
|
5459
5919
|
/* @__PURE__ */ jsx("span", { className: "flex min-w-0 flex-1 items-center", children: section.title })
|
|
@@ -5495,7 +5955,7 @@ function PanelStack({
|
|
|
5495
5955
|
) })
|
|
5496
5956
|
);
|
|
5497
5957
|
}
|
|
5498
|
-
var PropertyList =
|
|
5958
|
+
var PropertyList = React24.forwardRef(
|
|
5499
5959
|
({ labelWidth = 78, className, style, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
5500
5960
|
"dl",
|
|
5501
5961
|
{
|
|
@@ -5511,7 +5971,7 @@ var PropertyList = React23.forwardRef(
|
|
|
5511
5971
|
)
|
|
5512
5972
|
);
|
|
5513
5973
|
PropertyList.displayName = "PropertyList";
|
|
5514
|
-
var PropertyRow =
|
|
5974
|
+
var PropertyRow = React24.forwardRef(
|
|
5515
5975
|
({ label, mono, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5516
5976
|
"div",
|
|
5517
5977
|
{
|
|
@@ -5519,14 +5979,14 @@ var PropertyRow = React23.forwardRef(
|
|
|
5519
5979
|
className: cn("flex items-baseline gap-2 py-1", className),
|
|
5520
5980
|
...props,
|
|
5521
5981
|
children: [
|
|
5522
|
-
/* @__PURE__ */ jsx("dt", { className: "shrink-0 truncate text-
|
|
5523
|
-
/* @__PURE__ */ jsx("dd", { className: cn("min-w-0 flex-1", mono && "font-mono text-
|
|
5982
|
+
/* @__PURE__ */ jsx("dt", { className: "shrink-0 truncate text-sm text-muted-foreground [width:var(--property-label-width,78px)]", children: label }),
|
|
5983
|
+
/* @__PURE__ */ jsx("dd", { className: cn("min-w-0 flex-1", mono && "font-mono text-sm"), children })
|
|
5524
5984
|
]
|
|
5525
5985
|
}
|
|
5526
5986
|
)
|
|
5527
5987
|
);
|
|
5528
5988
|
PropertyRow.displayName = "PropertyRow";
|
|
5529
|
-
var ProposalCard =
|
|
5989
|
+
var ProposalCard = React24.forwardRef(
|
|
5530
5990
|
({
|
|
5531
5991
|
title,
|
|
5532
5992
|
source,
|
|
@@ -5542,23 +6002,23 @@ var ProposalCard = React23.forwardRef(
|
|
|
5542
6002
|
/* @__PURE__ */ jsxs("section", { className: "flex flex-col gap-1", children: [
|
|
5543
6003
|
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
5544
6004
|
/* @__PURE__ */ jsx("h4", { className: "font-medium", children: title }),
|
|
5545
|
-
source != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
6005
|
+
source != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: source }) : null
|
|
5546
6006
|
] }),
|
|
5547
6007
|
/* @__PURE__ */ jsx("div", { className: "border border-border bg-muted/30 p-2", children })
|
|
5548
6008
|
] }),
|
|
5549
6009
|
evidence ? /* @__PURE__ */ jsxs("section", { className: "flex flex-col gap-1", children: [
|
|
5550
6010
|
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
5551
6011
|
/* @__PURE__ */ jsx("h4", { className: "font-medium", children: evidenceTitle }),
|
|
5552
|
-
evidenceMeta != null ? /* @__PURE__ */ jsx("span", { className: "text-
|
|
6012
|
+
evidenceMeta != null ? /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: evidenceMeta }) : null
|
|
5553
6013
|
] }),
|
|
5554
6014
|
/* @__PURE__ */ jsx("div", { className: "overflow-hidden border border-border", children: evidence })
|
|
5555
6015
|
] }) : null,
|
|
5556
|
-
consequence != null ? /* @__PURE__ */ jsx("p", { className: "text-
|
|
6016
|
+
consequence != null ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: consequence }) : null,
|
|
5557
6017
|
actions ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-1.5", children: actions }) : null
|
|
5558
6018
|
] })
|
|
5559
6019
|
);
|
|
5560
6020
|
ProposalCard.displayName = "ProposalCard";
|
|
5561
|
-
var DotRating =
|
|
6021
|
+
var DotRating = React24.forwardRef(
|
|
5562
6022
|
({ value, max = 3, onChange, readOnly, label, className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
5563
6023
|
"div",
|
|
5564
6024
|
{
|
|
@@ -5603,7 +6063,7 @@ var DotRating = React23.forwardRef(
|
|
|
5603
6063
|
)
|
|
5604
6064
|
);
|
|
5605
6065
|
DotRating.displayName = "DotRating";
|
|
5606
|
-
var RatingControl =
|
|
6066
|
+
var RatingControl = React24.forwardRef(
|
|
5607
6067
|
({
|
|
5608
6068
|
verdict,
|
|
5609
6069
|
onVerdictChange,
|
|
@@ -5622,7 +6082,7 @@ var RatingControl = React23.forwardRef(
|
|
|
5622
6082
|
className: cn("flex flex-col gap-2 border border-border bg-card p-2", className),
|
|
5623
6083
|
...props,
|
|
5624
6084
|
children: [
|
|
5625
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-
|
|
6085
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
5626
6086
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: "Your verdict" }),
|
|
5627
6087
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "becomes a Learning" }),
|
|
5628
6088
|
/* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
@@ -5637,7 +6097,7 @@ var RatingControl = React23.forwardRef(
|
|
|
5637
6097
|
"aria-checked": verdict === v,
|
|
5638
6098
|
onClick: () => onVerdictChange?.(v),
|
|
5639
6099
|
className: cn(
|
|
5640
|
-
"h-[22px] px-2 text-
|
|
6100
|
+
"h-[22px] px-2 text-sm capitalize",
|
|
5641
6101
|
verdict === v ? v === "appreciate" ? "bg-success text-success-foreground" : "bg-warning text-warning-foreground" : "text-muted-foreground hover:bg-accent"
|
|
5642
6102
|
),
|
|
5643
6103
|
children: v
|
|
@@ -5645,11 +6105,11 @@ var RatingControl = React23.forwardRef(
|
|
|
5645
6105
|
v
|
|
5646
6106
|
)) }),
|
|
5647
6107
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
5648
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
6108
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: "weight" }),
|
|
5649
6109
|
/* @__PURE__ */ jsx(DotRating, { value: weight, max: maxWeight, onChange: onWeightChange }),
|
|
5650
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
6110
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm tabular-nums", children: weight })
|
|
5651
6111
|
] }),
|
|
5652
|
-
refines != null ? /* @__PURE__ */ jsxs("span", { className: "text-
|
|
6112
|
+
refines != null ? /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
|
|
5653
6113
|
"refines ",
|
|
5654
6114
|
/* @__PURE__ */ jsx("span", { className: "text-foreground", children: refines })
|
|
5655
6115
|
] }) : null
|
|
@@ -5660,7 +6120,7 @@ var RatingControl = React23.forwardRef(
|
|
|
5660
6120
|
)
|
|
5661
6121
|
);
|
|
5662
6122
|
RatingControl.displayName = "RatingControl";
|
|
5663
|
-
var RecordHeader =
|
|
6123
|
+
var RecordHeader = React24.forwardRef(
|
|
5664
6124
|
({ tone, crumbs, chips, actions, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5665
6125
|
"div",
|
|
5666
6126
|
{
|
|
@@ -5674,7 +6134,7 @@ var RecordHeader = React23.forwardRef(
|
|
|
5674
6134
|
tone ? /* @__PURE__ */ jsx(StatusDot, { tone, size: "lg" }) : null,
|
|
5675
6135
|
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 items-center gap-1.5", children: crumbs.map((crumb, i) => {
|
|
5676
6136
|
const last = i === crumbs.length - 1;
|
|
5677
|
-
return /* @__PURE__ */ jsxs(
|
|
6137
|
+
return /* @__PURE__ */ jsxs(React24.Fragment, { children: [
|
|
5678
6138
|
i > 0 ? /* @__PURE__ */ jsx(
|
|
5679
6139
|
ChevronRight,
|
|
5680
6140
|
{
|
|
@@ -5701,13 +6161,13 @@ var RecordHeader = React23.forwardRef(
|
|
|
5701
6161
|
)
|
|
5702
6162
|
);
|
|
5703
6163
|
RecordHeader.displayName = "RecordHeader";
|
|
5704
|
-
var RepairNote =
|
|
6164
|
+
var RepairNote = React24.forwardRef(
|
|
5705
6165
|
({ from, to, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5706
6166
|
"div",
|
|
5707
6167
|
{
|
|
5708
6168
|
ref,
|
|
5709
6169
|
className: cn(
|
|
5710
|
-
"flex flex-wrap items-center gap-1 py-0.5 pl-4 text-
|
|
6170
|
+
"flex flex-wrap items-center gap-1 py-0.5 pl-4 text-sm text-muted-foreground",
|
|
5711
6171
|
className
|
|
5712
6172
|
),
|
|
5713
6173
|
...props,
|
|
@@ -5720,13 +6180,13 @@ var RepairNote = React23.forwardRef(
|
|
|
5720
6180
|
)
|
|
5721
6181
|
);
|
|
5722
6182
|
RepairNote.displayName = "RepairNote";
|
|
5723
|
-
var RetryNote =
|
|
6183
|
+
var RetryNote = React24.forwardRef(
|
|
5724
6184
|
({ attempt, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
5725
6185
|
"div",
|
|
5726
6186
|
{
|
|
5727
6187
|
ref,
|
|
5728
6188
|
className: cn(
|
|
5729
|
-
"flex flex-wrap items-baseline gap-1.5 py-0.5 pl-4 text-
|
|
6189
|
+
"flex flex-wrap items-baseline gap-1.5 py-0.5 pl-4 text-sm text-muted-foreground",
|
|
5730
6190
|
className
|
|
5731
6191
|
),
|
|
5732
6192
|
...props,
|
|
@@ -5746,7 +6206,7 @@ function OptionRow({ option }) {
|
|
|
5746
6206
|
/* @__PURE__ */ jsx("span", { className: "truncate", children: option.label }),
|
|
5747
6207
|
option.badge != null && /* @__PURE__ */ jsx("span", { className: "ml-auto pl-2", children: option.badge })
|
|
5748
6208
|
] }),
|
|
5749
|
-
option.description != null && /* @__PURE__ */ jsx("span", { className: "text-
|
|
6209
|
+
option.description != null && /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: option.description })
|
|
5750
6210
|
] });
|
|
5751
6211
|
}
|
|
5752
6212
|
function RichSelect({
|
|
@@ -5887,7 +6347,7 @@ function describeSlice(select, declared) {
|
|
|
5887
6347
|
}
|
|
5888
6348
|
return out;
|
|
5889
6349
|
}
|
|
5890
|
-
var SliceSummary =
|
|
6350
|
+
var SliceSummary = React24.forwardRef(
|
|
5891
6351
|
({ select, declaredAxes, modelLabel, variant = "line", className, ...props }, ref) => {
|
|
5892
6352
|
const lines = select ? describeSlice(select, declaredAxes) : [];
|
|
5893
6353
|
if (!lines.length) {
|
|
@@ -5895,7 +6355,7 @@ var SliceSummary = React23.forwardRef(
|
|
|
5895
6355
|
"div",
|
|
5896
6356
|
{
|
|
5897
6357
|
ref,
|
|
5898
|
-
className: cn("text-
|
|
6358
|
+
className: cn("text-sm text-muted-foreground/70", className),
|
|
5899
6359
|
...props,
|
|
5900
6360
|
children: "not sliced \u2014 the whole model"
|
|
5901
6361
|
}
|
|
@@ -5916,13 +6376,13 @@ var SliceSummary = React23.forwardRef(
|
|
|
5916
6376
|
"span",
|
|
5917
6377
|
{
|
|
5918
6378
|
className: cn(
|
|
5919
|
-
"truncate text-
|
|
6379
|
+
"truncate text-sm",
|
|
5920
6380
|
line.undeclared ? "text-destructive line-through decoration-destructive/50" : "text-muted-foreground"
|
|
5921
6381
|
),
|
|
5922
6382
|
children: line.text
|
|
5923
6383
|
}
|
|
5924
6384
|
),
|
|
5925
|
-
line.undeclared ? /* @__PURE__ */ jsxs("span", { className: "text-
|
|
6385
|
+
line.undeclared ? /* @__PURE__ */ jsxs("span", { className: "text-sm text-destructive", children: [
|
|
5926
6386
|
modelLabel ?? "this model",
|
|
5927
6387
|
" declares no ",
|
|
5928
6388
|
line.axisKind,
|
|
@@ -5934,7 +6394,7 @@ var SliceSummary = React23.forwardRef(
|
|
|
5934
6394
|
}
|
|
5935
6395
|
);
|
|
5936
6396
|
SliceSummary.displayName = "SliceSummary";
|
|
5937
|
-
var RuleRow =
|
|
6397
|
+
var RuleRow = React24.forwardRef(
|
|
5938
6398
|
({ match, allow, properties, select, egress, readOnly, className, ...props }, ref) => {
|
|
5939
6399
|
const excluded = properties?.exclude ?? [];
|
|
5940
6400
|
const sends = egress?.may_send ?? [];
|
|
@@ -5961,7 +6421,7 @@ var RuleRow = React23.forwardRef(
|
|
|
5961
6421
|
"span",
|
|
5962
6422
|
{
|
|
5963
6423
|
className: cn(
|
|
5964
|
-
"font-mono text-
|
|
6424
|
+
"font-mono text-sm",
|
|
5965
6425
|
allow ? "text-muted-foreground" : "font-semibold text-destructive"
|
|
5966
6426
|
),
|
|
5967
6427
|
children: allow ? "allow" : "deny"
|
|
@@ -5976,12 +6436,12 @@ var RuleRow = React23.forwardRef(
|
|
|
5976
6436
|
}
|
|
5977
6437
|
),
|
|
5978
6438
|
excluded.length || sliced || sends.length ? /* @__PURE__ */ jsxs("div", { className: "col-start-2 flex min-w-0 flex-col gap-0.5", children: [
|
|
5979
|
-
excluded.length ? /* @__PURE__ */ jsxs("span", { className: "truncate text-
|
|
6439
|
+
excluded.length ? /* @__PURE__ */ jsxs("span", { className: "truncate text-sm text-muted-foreground", children: [
|
|
5980
6440
|
"excludes ",
|
|
5981
6441
|
excluded.join(", ")
|
|
5982
6442
|
] }) : null,
|
|
5983
6443
|
sliced ? /* @__PURE__ */ jsx(SliceSummary, { select, variant: "line" }) : null,
|
|
5984
|
-
sends.length ? /* @__PURE__ */ jsxs("span", { className: "truncate text-
|
|
6444
|
+
sends.length ? /* @__PURE__ */ jsxs("span", { className: "truncate text-sm text-muted-foreground", children: [
|
|
5985
6445
|
"may send ",
|
|
5986
6446
|
sends.join(", ")
|
|
5987
6447
|
] }) : null
|
|
@@ -6011,14 +6471,14 @@ var SearchInput = ({
|
|
|
6011
6471
|
"flex w-full rounded-control border border-input bg-background ring-offset-background",
|
|
6012
6472
|
"placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2",
|
|
6013
6473
|
"focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
6014
|
-
inputSize === "sm" ? "h-[26px] px-2 py-0 text-
|
|
6474
|
+
inputSize === "sm" ? "h-[26px] px-2 py-0 text-sm" : "h-10 px-3 py-2 text-base",
|
|
6015
6475
|
className
|
|
6016
6476
|
),
|
|
6017
6477
|
...props
|
|
6018
6478
|
}
|
|
6019
6479
|
);
|
|
6020
6480
|
};
|
|
6021
|
-
var SectionHeader =
|
|
6481
|
+
var SectionHeader = React24.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
6022
6482
|
"div",
|
|
6023
6483
|
{
|
|
6024
6484
|
ref,
|
|
@@ -6031,13 +6491,13 @@ var SectionHeader = React23.forwardRef(({ icon, title, count, actions, bare, cla
|
|
|
6031
6491
|
children: [
|
|
6032
6492
|
icon ? /* @__PURE__ */ jsx("span", { className: "flex shrink-0 items-center text-muted-foreground [&_svg]:size-3.5", children: icon }) : null,
|
|
6033
6493
|
/* @__PURE__ */ jsx("span", { className: "flex-1 truncate font-medium", children: title }),
|
|
6034
|
-
count != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-
|
|
6494
|
+
count != null ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: count }) : null,
|
|
6035
6495
|
actions ? /* @__PURE__ */ jsx("span", { className: "flex shrink-0 items-center gap-1", children: actions }) : null
|
|
6036
6496
|
]
|
|
6037
6497
|
}
|
|
6038
6498
|
));
|
|
6039
6499
|
SectionHeader.displayName = "SectionHeader";
|
|
6040
|
-
var Sparkline =
|
|
6500
|
+
var Sparkline = React24.forwardRef(
|
|
6041
6501
|
({
|
|
6042
6502
|
values,
|
|
6043
6503
|
width = 72,
|
|
@@ -6124,7 +6584,7 @@ function TabbedPanel({
|
|
|
6124
6584
|
footerClassName,
|
|
6125
6585
|
footerContent
|
|
6126
6586
|
}) {
|
|
6127
|
-
const [internalTab, setInternalTab] =
|
|
6587
|
+
const [internalTab, setInternalTab] = React24__default.useState(defaultTab || tabs[0]?.value);
|
|
6128
6588
|
const currentTab = activeTab !== void 0 ? activeTab : internalTab;
|
|
6129
6589
|
const handleTabChange = (value) => {
|
|
6130
6590
|
if (activeTab === void 0) {
|
|
@@ -6132,9 +6592,9 @@ function TabbedPanel({
|
|
|
6132
6592
|
}
|
|
6133
6593
|
onTabChange?.(value);
|
|
6134
6594
|
};
|
|
6135
|
-
const uid =
|
|
6595
|
+
const uid = React24__default.useId();
|
|
6136
6596
|
const panelId = (value) => `${uid}-panel-${value}`;
|
|
6137
|
-
const items =
|
|
6597
|
+
const items = React24__default.useMemo(
|
|
6138
6598
|
() => tabs.map((tab) => ({
|
|
6139
6599
|
key: tab.value,
|
|
6140
6600
|
name: tab.name ?? (typeof tab.label === "string" ? tab.label : tab.value),
|
|
@@ -6220,9 +6680,9 @@ var STATUS_LABEL = {
|
|
|
6220
6680
|
};
|
|
6221
6681
|
function renderResult(result) {
|
|
6222
6682
|
if (result == null) return null;
|
|
6223
|
-
if (
|
|
6683
|
+
if (React24.isValidElement(result)) return result;
|
|
6224
6684
|
if (typeof result !== "object") {
|
|
6225
|
-
return /* @__PURE__ */ jsx("span", { className: "font-mono text-
|
|
6685
|
+
return /* @__PURE__ */ jsx("span", { className: "font-mono text-sm", children: String(result) });
|
|
6226
6686
|
}
|
|
6227
6687
|
const entries = Object.entries(result);
|
|
6228
6688
|
const scalars = entries.filter(([, v]) => v == null || typeof v !== "object");
|
|
@@ -6230,12 +6690,12 @@ function renderResult(result) {
|
|
|
6230
6690
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6231
6691
|
scalars.length ? /* @__PURE__ */ jsx(PropertyList, { labelWidth: 96, children: scalars.map(([k, v]) => /* @__PURE__ */ jsx(PropertyRow, { label: k, mono: true, className: "py-0.5", children: v == null ? "\u2014" : String(v) }, k)) }) : null,
|
|
6232
6692
|
nested.map(([k, v]) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
6233
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
6234
|
-
/* @__PURE__ */ jsx("pre", { className: "max-h-40 overflow-auto border border-border bg-muted/40 p-1.5 font-mono text-
|
|
6693
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: k }),
|
|
6694
|
+
/* @__PURE__ */ 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) })
|
|
6235
6695
|
] }, k))
|
|
6236
6696
|
] });
|
|
6237
6697
|
}
|
|
6238
|
-
var TaskGanttDetailCard =
|
|
6698
|
+
var TaskGanttDetailCard = React24.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
|
|
6239
6699
|
const status = task.status ?? "succeeded";
|
|
6240
6700
|
const ms = task.durationMs ?? elapsedMs;
|
|
6241
6701
|
const duration = task.duration ?? (ms != null ? formatDuration(ms) : "\u2014");
|
|
@@ -6243,17 +6703,17 @@ var TaskGanttDetailCard = React23.forwardRef(({ task, elapsedMs, formatDuration
|
|
|
6243
6703
|
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-2", className), ...props, children: [
|
|
6244
6704
|
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
6245
6705
|
/* @__PURE__ */ jsx(StatusDot, { tone: DOT[status], size: "md", className: "translate-y-px" }),
|
|
6246
|
-
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate font-mono text-
|
|
6247
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-
|
|
6706
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate font-mono text-sm font-medium", children: task.key }),
|
|
6707
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-sm text-muted-foreground tabular-nums", children: duration })
|
|
6248
6708
|
] }),
|
|
6249
|
-
/* @__PURE__ */ jsxs("div", { className: "text-
|
|
6709
|
+
/* @__PURE__ */ jsxs("div", { className: "text-sm text-muted-foreground", children: [
|
|
6250
6710
|
STATUS_LABEL[status],
|
|
6251
6711
|
task.summary != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6252
6712
|
" \xB7 ",
|
|
6253
6713
|
task.summary
|
|
6254
6714
|
] }) : null
|
|
6255
6715
|
] }),
|
|
6256
|
-
attempts.length ? /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: attempts.map((a, i) => /* @__PURE__ */ jsxs("span", { className: "text-
|
|
6716
|
+
attempts.length ? /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: attempts.map((a, i) => /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
|
|
6257
6717
|
/* @__PURE__ */ jsxs("span", { className: "font-medium text-warning", children: [
|
|
6258
6718
|
"attempt ",
|
|
6259
6719
|
i + 1
|
|
@@ -6267,14 +6727,14 @@ var TaskGanttDetailCard = React23.forwardRef(({ task, elapsedMs, formatDuration
|
|
|
6267
6727
|
style: { borderColor: "var(--color-destructive)" },
|
|
6268
6728
|
className: "border-l-2 bg-destructive/10 px-2 py-1.5",
|
|
6269
6729
|
children: [
|
|
6270
|
-
task.error.code != null ? /* @__PURE__ */ jsx("div", { className: "font-mono text-
|
|
6271
|
-
task.error.message != null ? /* @__PURE__ */ jsx("div", { className: "text-
|
|
6272
|
-
task.error.detail != null ? /* @__PURE__ */ jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap font-mono text-
|
|
6730
|
+
task.error.code != null ? /* @__PURE__ */ jsx("div", { className: "font-mono text-sm font-medium text-destructive", children: task.error.code }) : null,
|
|
6731
|
+
task.error.message != null ? /* @__PURE__ */ jsx("div", { className: "text-sm", children: task.error.message }) : null,
|
|
6732
|
+
task.error.detail != null ? /* @__PURE__ */ 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
|
|
6273
6733
|
]
|
|
6274
6734
|
}
|
|
6275
6735
|
) : null,
|
|
6276
6736
|
task.result != null ? renderResult(task.result) : null,
|
|
6277
|
-
task.log != null ? /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-1.5 font-mono text-
|
|
6737
|
+
task.log != null ? /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-1.5 font-mono text-sm text-muted-foreground", children: task.log }) : null
|
|
6278
6738
|
] });
|
|
6279
6739
|
});
|
|
6280
6740
|
TaskGanttDetailCard.displayName = "TaskGanttDetailCard";
|
|
@@ -6301,7 +6761,7 @@ function place(seg, origin) {
|
|
|
6301
6761
|
}
|
|
6302
6762
|
return { start, duration: duration != null && duration > 0 ? duration : 0 };
|
|
6303
6763
|
}
|
|
6304
|
-
var TaskGantt =
|
|
6764
|
+
var TaskGantt = React24.forwardRef(
|
|
6305
6765
|
({
|
|
6306
6766
|
tasks,
|
|
6307
6767
|
origin,
|
|
@@ -6323,7 +6783,7 @@ var TaskGantt = React23.forwardRef(
|
|
|
6323
6783
|
}, ref) => {
|
|
6324
6784
|
const barHeight = density === "compact" ? 11 : 13;
|
|
6325
6785
|
const durationWidth = 40;
|
|
6326
|
-
const rows =
|
|
6786
|
+
const rows = React24.useMemo(() => {
|
|
6327
6787
|
const stamps = [];
|
|
6328
6788
|
for (const t of [...tasks, ...tasks.flatMap((t2) => t2.attempts ?? [])]) {
|
|
6329
6789
|
if (t.startedAt != null) stamps.push(toMs(t.startedAt));
|
|
@@ -6369,7 +6829,7 @@ var TaskGantt = React23.forwardRef(
|
|
|
6369
6829
|
/* @__PURE__ */ jsx("span", { className: "flex flex-1", children: axis.slice(0, -1).map((label, i) => /* @__PURE__ */ jsx(
|
|
6370
6830
|
"span",
|
|
6371
6831
|
{
|
|
6372
|
-
className: "flex-1 border-l border-border pl-1 text-
|
|
6832
|
+
className: "flex-1 border-l border-border pl-1 text-sm text-muted-foreground tabular-nums",
|
|
6373
6833
|
children: label
|
|
6374
6834
|
},
|
|
6375
6835
|
i
|
|
@@ -6377,7 +6837,7 @@ var TaskGantt = React23.forwardRef(
|
|
|
6377
6837
|
/* @__PURE__ */ jsx(
|
|
6378
6838
|
"span",
|
|
6379
6839
|
{
|
|
6380
|
-
className: "shrink-0 text-right text-
|
|
6840
|
+
className: "shrink-0 text-right text-sm text-muted-foreground tabular-nums",
|
|
6381
6841
|
style: { width: durationWidth },
|
|
6382
6842
|
children: lastLabel
|
|
6383
6843
|
}
|
|
@@ -6395,7 +6855,7 @@ var TaskGantt = React23.forwardRef(
|
|
|
6395
6855
|
"span",
|
|
6396
6856
|
{
|
|
6397
6857
|
className: cn(
|
|
6398
|
-
"shrink-0 truncate font-mono text-
|
|
6858
|
+
"shrink-0 truncate font-mono text-sm",
|
|
6399
6859
|
neverRan && "text-muted-foreground"
|
|
6400
6860
|
),
|
|
6401
6861
|
style: { width: labelWidth },
|
|
@@ -6436,7 +6896,7 @@ var TaskGantt = React23.forwardRef(
|
|
|
6436
6896
|
/* @__PURE__ */ jsx(
|
|
6437
6897
|
"span",
|
|
6438
6898
|
{
|
|
6439
|
-
className: "shrink-0 text-right font-mono text-
|
|
6899
|
+
className: "shrink-0 text-right font-mono text-sm text-muted-foreground tabular-nums",
|
|
6440
6900
|
style: { width: durationWidth },
|
|
6441
6901
|
children: duration
|
|
6442
6902
|
}
|
|
@@ -6484,8 +6944,22 @@ var TaskGantt = React23.forwardRef(
|
|
|
6484
6944
|
}
|
|
6485
6945
|
);
|
|
6486
6946
|
TaskGantt.displayName = "TaskGantt";
|
|
6487
|
-
var TaskNode =
|
|
6488
|
-
({
|
|
6947
|
+
var TaskNode = React24.forwardRef(
|
|
6948
|
+
({
|
|
6949
|
+
taskKey,
|
|
6950
|
+
bound,
|
|
6951
|
+
boundSwatch,
|
|
6952
|
+
boundPalette,
|
|
6953
|
+
status,
|
|
6954
|
+
tags,
|
|
6955
|
+
meta,
|
|
6956
|
+
selected,
|
|
6957
|
+
gate,
|
|
6958
|
+
dim,
|
|
6959
|
+
ghost,
|
|
6960
|
+
className,
|
|
6961
|
+
...props
|
|
6962
|
+
}, ref) => {
|
|
6489
6963
|
if (ghost) {
|
|
6490
6964
|
return /* @__PURE__ */ jsxs(
|
|
6491
6965
|
"div",
|
|
@@ -6493,7 +6967,7 @@ var TaskNode = React23.forwardRef(
|
|
|
6493
6967
|
ref,
|
|
6494
6968
|
className: cn(
|
|
6495
6969
|
"flex w-[146px] flex-col gap-1 border border-dashed border-border p-2",
|
|
6496
|
-
"text-
|
|
6970
|
+
"text-sm text-muted-foreground",
|
|
6497
6971
|
className
|
|
6498
6972
|
),
|
|
6499
6973
|
...props,
|
|
@@ -6534,12 +7008,12 @@ var TaskNode = React23.forwardRef(
|
|
|
6534
7008
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate font-mono", children: taskKey })
|
|
6535
7009
|
] }),
|
|
6536
7010
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
|
|
6537
|
-
/* @__PURE__ */ jsx(BoundChip, { bound }),
|
|
7011
|
+
/* @__PURE__ */ jsx(BoundChip, { bound, swatch: boundSwatch, palette: boundPalette }),
|
|
6538
7012
|
tags?.map((tag, i) => /* @__PURE__ */ jsx(
|
|
6539
7013
|
"span",
|
|
6540
7014
|
{
|
|
6541
7015
|
className: cn(
|
|
6542
|
-
"shrink-0 border px-1 text-
|
|
7016
|
+
"shrink-0 border px-1 text-sm",
|
|
6543
7017
|
tag.tone === "warning" ? "border-warning/40 text-warning" : "border-border text-muted-foreground"
|
|
6544
7018
|
),
|
|
6545
7019
|
children: tag.label
|
|
@@ -6551,7 +7025,7 @@ var TaskNode = React23.forwardRef(
|
|
|
6551
7025
|
"div",
|
|
6552
7026
|
{
|
|
6553
7027
|
className: cn(
|
|
6554
|
-
"truncate text-
|
|
7028
|
+
"truncate text-sm",
|
|
6555
7029
|
gate ? "text-warning" : "text-muted-foreground"
|
|
6556
7030
|
),
|
|
6557
7031
|
children: meta
|
|
@@ -6563,14 +7037,14 @@ var TaskNode = React23.forwardRef(
|
|
|
6563
7037
|
}
|
|
6564
7038
|
);
|
|
6565
7039
|
TaskNode.displayName = "TaskNode";
|
|
6566
|
-
var TemplatePicker =
|
|
7040
|
+
var TemplatePicker = React24.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
6567
7041
|
"div",
|
|
6568
7042
|
{
|
|
6569
7043
|
ref,
|
|
6570
7044
|
className: cn("flex w-full flex-col border border-border bg-card", className),
|
|
6571
7045
|
...props,
|
|
6572
7046
|
children: [
|
|
6573
|
-
heading != null ? /* @__PURE__ */ jsx("div", { className: "flex h-6 shrink-0 items-center border-b border-border px-2 text-
|
|
7047
|
+
heading != null ? /* @__PURE__ */ jsx("div", { className: "flex h-6 shrink-0 items-center border-b border-border px-2 text-sm text-muted-foreground", children: heading }) : null,
|
|
6574
7048
|
/* @__PURE__ */ jsx("div", { role: "listbox", className: "flex flex-col", children: options.map((o) => {
|
|
6575
7049
|
const disabled = o.unavailable != null;
|
|
6576
7050
|
const selected = value === o.id;
|
|
@@ -6589,16 +7063,16 @@ var TemplatePicker = React23.forwardRef(({ heading, options, value, onSelect, fo
|
|
|
6589
7063
|
),
|
|
6590
7064
|
children: [
|
|
6591
7065
|
/* @__PURE__ */ jsx("span", { className: "w-3 shrink-0 text-primary", children: selected ? "\u2022" : "" }),
|
|
6592
|
-
/* @__PURE__ */ jsx("span", { className: "truncate font-mono text-
|
|
6593
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-
|
|
7066
|
+
/* @__PURE__ */ jsx("span", { className: "truncate font-mono text-sm", children: o.id }),
|
|
7067
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm text-muted-foreground", children: o.kind }),
|
|
6594
7068
|
/* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
6595
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 truncate text-
|
|
7069
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 truncate text-sm text-muted-foreground", children: o.unavailable ?? o.note })
|
|
6596
7070
|
]
|
|
6597
7071
|
},
|
|
6598
7072
|
o.id
|
|
6599
7073
|
);
|
|
6600
7074
|
}) }),
|
|
6601
|
-
footnote != null ? /* @__PURE__ */ jsx("div", { className: "border-t border-border px-2 py-1 text-
|
|
7075
|
+
footnote != null ? /* @__PURE__ */ jsx("div", { className: "border-t border-border px-2 py-1 text-sm text-muted-foreground", children: footnote }) : null
|
|
6602
7076
|
]
|
|
6603
7077
|
}
|
|
6604
7078
|
));
|
|
@@ -6614,14 +7088,14 @@ var MARKER = {
|
|
|
6614
7088
|
output: "\u2192",
|
|
6615
7089
|
comment: "#"
|
|
6616
7090
|
};
|
|
6617
|
-
var Terminal =
|
|
7091
|
+
var Terminal = React24.forwardRef(
|
|
6618
7092
|
({ cursor, columnTemplate = "150px minmax(0,1fr) auto auto", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
6619
7093
|
"div",
|
|
6620
7094
|
{
|
|
6621
7095
|
ref,
|
|
6622
7096
|
style: { "--terminal-cols": columnTemplate },
|
|
6623
7097
|
className: cn(
|
|
6624
|
-
"overflow-x-auto border border-border bg-muted/40 p-2 font-mono text-
|
|
7098
|
+
"overflow-x-auto border border-border bg-muted/40 p-2 font-mono text-sm",
|
|
6625
7099
|
className
|
|
6626
7100
|
),
|
|
6627
7101
|
...props,
|
|
@@ -6639,7 +7113,7 @@ var Terminal = React23.forwardRef(
|
|
|
6639
7113
|
)
|
|
6640
7114
|
);
|
|
6641
7115
|
Terminal.displayName = "Terminal";
|
|
6642
|
-
var TerminalLine =
|
|
7116
|
+
var TerminalLine = React24.forwardRef(
|
|
6643
7117
|
({ kind = "output", level, levelColumn = 1, columns, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
6644
7118
|
"div",
|
|
6645
7119
|
{
|
|
@@ -6670,7 +7144,7 @@ var TerminalLine = React23.forwardRef(
|
|
|
6670
7144
|
"min-w-0 truncate",
|
|
6671
7145
|
// A log tints its level cell and greys everything that is not the
|
|
6672
7146
|
// message; a transcript greys only its trailing cell.
|
|
6673
|
-
level ? i === levelColumn ? LEVEL[level] : i === columns.length - 1 ? void 0 : "text-muted-foreground" : i === columns.length - 1 && "text-muted-foreground"
|
|
7147
|
+
level ? i === levelColumn ? LEVEL[level] ?? "text-muted-foreground" : i === columns.length - 1 ? void 0 : "text-muted-foreground" : i === columns.length - 1 && "text-muted-foreground"
|
|
6674
7148
|
),
|
|
6675
7149
|
children: c
|
|
6676
7150
|
},
|
|
@@ -6681,10 +7155,10 @@ var TerminalLine = React23.forwardRef(
|
|
|
6681
7155
|
)
|
|
6682
7156
|
);
|
|
6683
7157
|
TerminalLine.displayName = "TerminalLine";
|
|
6684
|
-
var TimelineVariantContext =
|
|
7158
|
+
var TimelineVariantContext = React24.createContext("columns");
|
|
6685
7159
|
var RAIL_MARKER_OFFSET = "h-[0.692rem]";
|
|
6686
7160
|
var RAIL_FOOTER_TAIL = "h-[1.067rem]";
|
|
6687
|
-
var TimelineList =
|
|
7161
|
+
var TimelineList = React24.forwardRef(({ className, variant = "columns", children, ...props }, ref) => /* @__PURE__ */ jsx(TimelineVariantContext.Provider, { value: variant, children: /* @__PURE__ */ jsx("ol", { ref, className: cn("flex flex-col", className), ...props, children }) }));
|
|
6688
7162
|
TimelineList.displayName = "TimelineList";
|
|
6689
7163
|
function RailGutter({ marker }) {
|
|
6690
7164
|
return /* @__PURE__ */ jsxs("span", { className: "flex w-2.5 shrink-0 flex-col items-center", children: [
|
|
@@ -6708,8 +7182,8 @@ function RailGutter({ marker }) {
|
|
|
6708
7182
|
)
|
|
6709
7183
|
] });
|
|
6710
7184
|
}
|
|
6711
|
-
var TimelineEntry =
|
|
6712
|
-
const variant =
|
|
7185
|
+
var TimelineEntry = React24.forwardRef(({ when, title, marker, className, children, ...props }, ref) => {
|
|
7186
|
+
const variant = React24.useContext(TimelineVariantContext);
|
|
6713
7187
|
if (variant === "rail") {
|
|
6714
7188
|
return /* @__PURE__ */ jsxs(
|
|
6715
7189
|
"li",
|
|
@@ -6720,7 +7194,7 @@ var TimelineEntry = React23.forwardRef(({ when, title, marker, className, childr
|
|
|
6720
7194
|
children: [
|
|
6721
7195
|
/* @__PURE__ */ jsx(RailGutter, { marker }),
|
|
6722
7196
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5 pb-4 group-last/entry:pb-0", children: [
|
|
6723
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
7197
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground", children: when }),
|
|
6724
7198
|
title != null ? /* @__PURE__ */ jsx("span", { className: "font-medium", children: title }) : null,
|
|
6725
7199
|
children
|
|
6726
7200
|
] })
|
|
@@ -6735,7 +7209,7 @@ var TimelineEntry = React23.forwardRef(({ when, title, marker, className, childr
|
|
|
6735
7209
|
className: cn("flex gap-2 border-b border-border py-1.5 last:border-b-0", className),
|
|
6736
7210
|
...props,
|
|
6737
7211
|
children: [
|
|
6738
|
-
/* @__PURE__ */ jsxs("span", { className: "flex w-[72px] shrink-0 items-baseline gap-1.5 text-
|
|
7212
|
+
/* @__PURE__ */ jsxs("span", { className: "flex w-[72px] shrink-0 items-baseline gap-1.5 text-sm text-muted-foreground", children: [
|
|
6739
7213
|
marker ? /* @__PURE__ */ jsx("span", { className: "translate-y-1", children: marker }) : null,
|
|
6740
7214
|
/* @__PURE__ */ jsx("span", { className: "truncate", children: when })
|
|
6741
7215
|
] }),
|
|
@@ -6748,8 +7222,8 @@ var TimelineEntry = React23.forwardRef(({ when, title, marker, className, childr
|
|
|
6748
7222
|
);
|
|
6749
7223
|
});
|
|
6750
7224
|
TimelineEntry.displayName = "TimelineEntry";
|
|
6751
|
-
var TimelineFooter =
|
|
6752
|
-
const variant =
|
|
7225
|
+
var TimelineFooter = React24.forwardRef(({ className, children, ...props }, ref) => {
|
|
7226
|
+
const variant = React24.useContext(TimelineVariantContext);
|
|
6753
7227
|
if (variant === "rail") {
|
|
6754
7228
|
return /* @__PURE__ */ jsxs(
|
|
6755
7229
|
"li",
|
|
@@ -6795,11 +7269,11 @@ function useTour(options) {
|
|
|
6795
7269
|
onComplete,
|
|
6796
7270
|
onExit
|
|
6797
7271
|
} = options;
|
|
6798
|
-
const [current, setCurrent] =
|
|
7272
|
+
const [current, setCurrent] = React24.useState(initialStep);
|
|
6799
7273
|
const total = steps.length;
|
|
6800
7274
|
const lastIndex = Math.max(total - 1, 0);
|
|
6801
7275
|
const clamped = Math.min(Math.max(current, 0), lastIndex);
|
|
6802
|
-
const goTo =
|
|
7276
|
+
const goTo = React24.useCallback(
|
|
6803
7277
|
(index) => {
|
|
6804
7278
|
setCurrent((prev2) => {
|
|
6805
7279
|
const next2 = Math.min(Math.max(index, 0), lastIndex);
|
|
@@ -6809,7 +7283,7 @@ function useTour(options) {
|
|
|
6809
7283
|
},
|
|
6810
7284
|
[lastIndex, onStepChange]
|
|
6811
7285
|
);
|
|
6812
|
-
const next =
|
|
7286
|
+
const next = React24.useCallback(() => {
|
|
6813
7287
|
setCurrent((prev2) => {
|
|
6814
7288
|
if (prev2 >= lastIndex) {
|
|
6815
7289
|
if (loop && total > 0) {
|
|
@@ -6823,7 +7297,7 @@ function useTour(options) {
|
|
|
6823
7297
|
return prev2 + 1;
|
|
6824
7298
|
});
|
|
6825
7299
|
}, [lastIndex, total, loop, onComplete, onStepChange]);
|
|
6826
|
-
const prev =
|
|
7300
|
+
const prev = React24.useCallback(() => {
|
|
6827
7301
|
setCurrent((p) => {
|
|
6828
7302
|
if (p <= 0) {
|
|
6829
7303
|
if (loop && total > 0) {
|
|
@@ -6836,10 +7310,10 @@ function useTour(options) {
|
|
|
6836
7310
|
return p - 1;
|
|
6837
7311
|
});
|
|
6838
7312
|
}, [lastIndex, total, loop, onStepChange]);
|
|
6839
|
-
const exit =
|
|
7313
|
+
const exit = React24.useCallback(() => {
|
|
6840
7314
|
onExit?.();
|
|
6841
7315
|
}, [onExit]);
|
|
6842
|
-
return
|
|
7316
|
+
return React24.useMemo(
|
|
6843
7317
|
() => ({
|
|
6844
7318
|
step: steps[clamped],
|
|
6845
7319
|
current: clamped,
|
|
@@ -6897,7 +7371,7 @@ function Tour({
|
|
|
6897
7371
|
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 p-3", children: [
|
|
6898
7372
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6899
7373
|
/* @__PURE__ */ jsx(Badge, { variant: "soft", className: "tracking-wider", children: badgeLabel }),
|
|
6900
|
-
showCounter && /* @__PURE__ */ jsxs("span", { className: "text-
|
|
7374
|
+
showCounter && /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
|
|
6901
7375
|
current + 1,
|
|
6902
7376
|
" / ",
|
|
6903
7377
|
total
|
|
@@ -6908,7 +7382,7 @@ function Tour({
|
|
|
6908
7382
|
{
|
|
6909
7383
|
variant: "ghost",
|
|
6910
7384
|
size: "sm",
|
|
6911
|
-
className: "-mr-1 h-7 gap-1 px-2 text-
|
|
7385
|
+
className: "-mr-1 h-7 gap-1 px-2 text-sm text-muted-foreground [&_svg]:size-3.5",
|
|
6912
7386
|
onClick: ctrl.exit,
|
|
6913
7387
|
children: [
|
|
6914
7388
|
/* @__PURE__ */ jsx(X, {}),
|
|
@@ -7002,7 +7476,7 @@ function Tour({
|
|
|
7002
7476
|
) });
|
|
7003
7477
|
}
|
|
7004
7478
|
var TreeView = ({ searchable = false, ...props }) => {
|
|
7005
|
-
const [searchQuery, setSearchQuery] =
|
|
7479
|
+
const [searchQuery, setSearchQuery] = React24.useState("");
|
|
7006
7480
|
const filterItems = (items, query) => {
|
|
7007
7481
|
if (!query) return items;
|
|
7008
7482
|
return items.map((item) => ({
|
|
@@ -7025,7 +7499,7 @@ var TreeView = ({ searchable = false, ...props }) => {
|
|
|
7025
7499
|
);
|
|
7026
7500
|
};
|
|
7027
7501
|
var TreeItem = ({ item }) => {
|
|
7028
|
-
const [isExpanded, setIsExpanded] =
|
|
7502
|
+
const [isExpanded, setIsExpanded] = React24.useState(item.isExpanded || true);
|
|
7029
7503
|
const hasChildren = item.children && item.children.length > 0;
|
|
7030
7504
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
7031
7505
|
/* @__PURE__ */ jsxs(
|
|
@@ -7094,7 +7568,7 @@ function UnderDevelopment({
|
|
|
7094
7568
|
/* @__PURE__ */ jsx("span", { className: "mt-4 px-3 py-1 bg-yellow-100 text-yellow-800", children: "Coming Soon" })
|
|
7095
7569
|
] });
|
|
7096
7570
|
}
|
|
7097
|
-
var TypographyH1 =
|
|
7571
|
+
var TypographyH1 = React24.forwardRef(
|
|
7098
7572
|
({ className, ...props }, ref) => {
|
|
7099
7573
|
return /* @__PURE__ */ jsx(
|
|
7100
7574
|
"h1",
|
|
@@ -7110,7 +7584,7 @@ var TypographyH1 = React23.forwardRef(
|
|
|
7110
7584
|
}
|
|
7111
7585
|
);
|
|
7112
7586
|
TypographyH1.displayName = "TypographyH1";
|
|
7113
|
-
var TypographyH2 =
|
|
7587
|
+
var TypographyH2 = React24.forwardRef(
|
|
7114
7588
|
({ className, ...props }, ref) => {
|
|
7115
7589
|
return /* @__PURE__ */ jsx(
|
|
7116
7590
|
"h2",
|
|
@@ -7126,7 +7600,7 @@ var TypographyH2 = React23.forwardRef(
|
|
|
7126
7600
|
}
|
|
7127
7601
|
);
|
|
7128
7602
|
TypographyH2.displayName = "TypographyH2";
|
|
7129
|
-
var TypographyH3 =
|
|
7603
|
+
var TypographyH3 = React24.forwardRef(
|
|
7130
7604
|
({ className, ...props }, ref) => {
|
|
7131
7605
|
return /* @__PURE__ */ jsx(
|
|
7132
7606
|
"h3",
|
|
@@ -7142,7 +7616,7 @@ var TypographyH3 = React23.forwardRef(
|
|
|
7142
7616
|
}
|
|
7143
7617
|
);
|
|
7144
7618
|
TypographyH3.displayName = "TypographyH3";
|
|
7145
|
-
var TypographyH4 =
|
|
7619
|
+
var TypographyH4 = React24.forwardRef(
|
|
7146
7620
|
({ className, ...props }, ref) => {
|
|
7147
7621
|
return /* @__PURE__ */ jsx(
|
|
7148
7622
|
"h4",
|
|
@@ -7158,7 +7632,7 @@ var TypographyH4 = React23.forwardRef(
|
|
|
7158
7632
|
}
|
|
7159
7633
|
);
|
|
7160
7634
|
TypographyH4.displayName = "TypographyH4";
|
|
7161
|
-
var TypographyH5 =
|
|
7635
|
+
var TypographyH5 = React24.forwardRef(
|
|
7162
7636
|
({ className, ...props }, ref) => {
|
|
7163
7637
|
return /* @__PURE__ */ jsx(
|
|
7164
7638
|
"h5",
|
|
@@ -7174,7 +7648,7 @@ var TypographyH5 = React23.forwardRef(
|
|
|
7174
7648
|
}
|
|
7175
7649
|
);
|
|
7176
7650
|
TypographyH5.displayName = "TypographyH5";
|
|
7177
|
-
var TypographyH6 =
|
|
7651
|
+
var TypographyH6 = React24.forwardRef(
|
|
7178
7652
|
({ className, ...props }, ref) => {
|
|
7179
7653
|
return /* @__PURE__ */ jsx(
|
|
7180
7654
|
"h6",
|
|
@@ -7190,7 +7664,7 @@ var TypographyH6 = React23.forwardRef(
|
|
|
7190
7664
|
}
|
|
7191
7665
|
);
|
|
7192
7666
|
TypographyH6.displayName = "TypographyH6";
|
|
7193
|
-
var TypographyP =
|
|
7667
|
+
var TypographyP = React24.forwardRef(
|
|
7194
7668
|
({ className, ...props }, ref) => {
|
|
7195
7669
|
return /* @__PURE__ */ jsx(
|
|
7196
7670
|
"p",
|
|
@@ -7206,7 +7680,7 @@ var TypographyP = React23.forwardRef(
|
|
|
7206
7680
|
}
|
|
7207
7681
|
);
|
|
7208
7682
|
TypographyP.displayName = "TypographyP";
|
|
7209
|
-
var TypographyBlockquote =
|
|
7683
|
+
var TypographyBlockquote = React24.forwardRef(
|
|
7210
7684
|
({ className, ...props }, ref) => {
|
|
7211
7685
|
return /* @__PURE__ */ jsx(
|
|
7212
7686
|
"blockquote",
|
|
@@ -7222,14 +7696,14 @@ var TypographyBlockquote = React23.forwardRef(
|
|
|
7222
7696
|
}
|
|
7223
7697
|
);
|
|
7224
7698
|
TypographyBlockquote.displayName = "TypographyBlockquote";
|
|
7225
|
-
var TypographyInlineCode =
|
|
7699
|
+
var TypographyInlineCode = React24.forwardRef(
|
|
7226
7700
|
({ className, ...props }, ref) => {
|
|
7227
7701
|
return /* @__PURE__ */ jsx(
|
|
7228
7702
|
"code",
|
|
7229
7703
|
{
|
|
7230
7704
|
ref,
|
|
7231
7705
|
className: cn(
|
|
7232
|
-
"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-
|
|
7706
|
+
"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",
|
|
7233
7707
|
className
|
|
7234
7708
|
),
|
|
7235
7709
|
...props
|
|
@@ -7238,7 +7712,7 @@ var TypographyInlineCode = React23.forwardRef(
|
|
|
7238
7712
|
}
|
|
7239
7713
|
);
|
|
7240
7714
|
TypographyInlineCode.displayName = "TypographyInlineCode";
|
|
7241
|
-
var TypographyLead =
|
|
7715
|
+
var TypographyLead = React24.forwardRef(
|
|
7242
7716
|
({ className, ...props }, ref) => {
|
|
7243
7717
|
return /* @__PURE__ */ jsx(
|
|
7244
7718
|
"p",
|
|
@@ -7254,7 +7728,7 @@ var TypographyLead = React23.forwardRef(
|
|
|
7254
7728
|
}
|
|
7255
7729
|
);
|
|
7256
7730
|
TypographyLead.displayName = "TypographyLead";
|
|
7257
|
-
var TypographyLarge =
|
|
7731
|
+
var TypographyLarge = React24.forwardRef(
|
|
7258
7732
|
({ className, ...props }, ref) => {
|
|
7259
7733
|
return /* @__PURE__ */ jsx(
|
|
7260
7734
|
"div",
|
|
@@ -7270,14 +7744,14 @@ var TypographyLarge = React23.forwardRef(
|
|
|
7270
7744
|
}
|
|
7271
7745
|
);
|
|
7272
7746
|
TypographyLarge.displayName = "TypographyLarge";
|
|
7273
|
-
var TypographySmall =
|
|
7747
|
+
var TypographySmall = React24.forwardRef(
|
|
7274
7748
|
({ className, ...props }, ref) => {
|
|
7275
7749
|
return /* @__PURE__ */ jsx(
|
|
7276
7750
|
"small",
|
|
7277
7751
|
{
|
|
7278
7752
|
ref,
|
|
7279
7753
|
className: cn(
|
|
7280
|
-
"text-
|
|
7754
|
+
"text-sm font-medium leading-none",
|
|
7281
7755
|
className
|
|
7282
7756
|
),
|
|
7283
7757
|
...props
|
|
@@ -7286,7 +7760,7 @@ var TypographySmall = React23.forwardRef(
|
|
|
7286
7760
|
}
|
|
7287
7761
|
);
|
|
7288
7762
|
TypographySmall.displayName = "TypographySmall";
|
|
7289
|
-
var TypographyMuted =
|
|
7763
|
+
var TypographyMuted = React24.forwardRef(
|
|
7290
7764
|
({ className, ...props }, ref) => {
|
|
7291
7765
|
return /* @__PURE__ */ jsx(
|
|
7292
7766
|
"p",
|
|
@@ -7302,7 +7776,7 @@ var TypographyMuted = React23.forwardRef(
|
|
|
7302
7776
|
}
|
|
7303
7777
|
);
|
|
7304
7778
|
TypographyMuted.displayName = "TypographyMuted";
|
|
7305
|
-
var TypographyList =
|
|
7779
|
+
var TypographyList = React24.forwardRef(
|
|
7306
7780
|
({ className, ...props }, ref) => {
|
|
7307
7781
|
return /* @__PURE__ */ jsx(
|
|
7308
7782
|
"ul",
|
|
@@ -7318,7 +7792,7 @@ var TypographyList = React23.forwardRef(
|
|
|
7318
7792
|
}
|
|
7319
7793
|
);
|
|
7320
7794
|
TypographyList.displayName = "TypographyList";
|
|
7321
|
-
var TypographyPre =
|
|
7795
|
+
var TypographyPre = React24.forwardRef(
|
|
7322
7796
|
({ className, ...props }, ref) => {
|
|
7323
7797
|
return /* @__PURE__ */ jsx(
|
|
7324
7798
|
"pre",
|
|
@@ -7354,6 +7828,6 @@ var Typography = {
|
|
|
7354
7828
|
Pre: TypographyPre
|
|
7355
7829
|
};
|
|
7356
7830
|
|
|
7357
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, AgentChip, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, Avatar, AvatarFallback, AvatarImage, Badge, BarChartH, BarChartV, BoundChip, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonWithTooltip, CAST_ROLES, CannotAnswerCard, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CastTable, ChatSession, ChatSessionActivityRow, ChatSessionActivitySubLine, ChatSessionComposer, ChatSessionContextChip, ChatSessionDisclosure, ChatSessionMessage, ChatSessionMessageOptions, ChatSessionProgressLine, ChatSessionPromptRow, ChatSessionStatusBar, ChatSessionTaskGroup, ChatSessionTaskRow, CitationList, CitationMarker, CitationRow, ClampedText, ClarifyCard, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, DiagnosisCard, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, DiffRow, DivergingBar, DotRating, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EgressList, EmissionCard, EmissionHeader, EmptyState, EmptyStateLock, ErrorBoundary, Eyebrow, FilterBar, FilterChip, HeatStrip, HoverCard, HoverCardContent, HoverCardTrigger, Item3 as Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LayerChip, LayerSection, LayerStrip, Legend, LegendItem, LensChip, LensRow, MatchPreview, MenuItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, MetricTile, NavBase, NavHorizontal, NavHorizontalItems, NavItems, NavVertical, NavVerticalItems, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, PanelContent, PanelStack, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, PropertyRow, ProposalCard, RatingControl, RecordHeader, RepairNote, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, RichSelect, RuleRow, ScrollArea, ScrollBar, SearchInput, SectionHeader, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SliceSummary, Sparkline, Spinner, StatusDot, TabbedPanel, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, TaskNode, TemplatePicker, Terminal, TerminalLine, TimelineEntry, TimelineFooter, TimelineList, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, TreeItem, TreeView, Typography, TypographyBlockquote, TypographyH1, TypographyH2, TypographyH3, TypographyH4, TypographyH5, TypographyH6, TypographyInlineCode, TypographyLarge, TypographyLead, TypographyList, TypographyMuted, TypographyP, TypographyPre, TypographySmall, UnderDevelopment, agentChipVariants, badgeVariants,
|
|
7831
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, AgentChip, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, Avatar, AvatarFallback, AvatarImage, Badge, BarChartH, BarChartV, BoundChip, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonWithTooltip, CAST_ROLES, CannotAnswerCard, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CastTable, ChatSession, ChatSessionActivityRow, ChatSessionActivitySubLine, ChatSessionComposer, ChatSessionContextChip, ChatSessionDisclosure, ChatSessionMessage, ChatSessionMessageOptions, ChatSessionProgressLine, ChatSessionPromptRow, ChatSessionStatusBar, ChatSessionTaskGroup, ChatSessionTaskRow, CitationList, CitationMarker, CitationRow, ClampedText, ClarifyCard, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, DiagnosisCard, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, DiffRow, DivergingBar, DotRating, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EgressList, EmissionCard, EmissionHeader, EmptyState, EmptyStateLock, ErrorBoundary, Eyebrow, FilterBar, FilterChip, HeatStrip, HoverCard, HoverCardContent, HoverCardTrigger, Item3 as Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LayerChip, LayerSection, LayerStrip, Legend, LegendItem, LensChip, LensRow, Link, MatchPreview, MenuItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, MetricTile, NavBase, NavHorizontal, NavHorizontalItems, NavItems, NavVertical, NavVerticalItems, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, PanelContent, PanelStack, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, PropertyRow, ProposalCard, RatingControl, RecordHeader, RepairNote, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, RichSelect, RuleRow, ScrollArea, ScrollBar, SearchInput, SectionHeader, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SliceSummary, Sparkline, Spinner, StatusDot, TabbedPanel, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, TaskNode, TemplatePicker, Terminal, TerminalLine, TimelineEntry, TimelineFooter, TimelineList, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Tour, TreeItem, TreeView, Typography, TypographyBlockquote, TypographyH1, TypographyH2, TypographyH3, TypographyH4, TypographyH5, TypographyH6, TypographyInlineCode, TypographyLarge, TypographyLead, TypographyList, TypographyMuted, TypographyP, TypographyPre, TypographySmall, UnderDevelopment, agentChipVariants, badgeVariants, buttonGroupVariants, buttonVariants, chatSessionGutterClass, cn, describeSlice, stateLabel as layerItemLabel, layerLabel, layerPaint, linkVariants, navigationMenuTriggerStyle, split as splitAddress, statusDotVariants, toggleVariants, useOverflowItems, useSidebar, useTour };
|
|
7358
7832
|
//# sourceMappingURL=index.js.map
|
|
7359
7833
|
//# sourceMappingURL=index.js.map
|