@invana/ui 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3944,6 +3944,56 @@ var CitationRow = React23.forwardRef(
3944
3944
  )
3945
3945
  );
3946
3946
  CitationRow.displayName = "CitationRow";
3947
+ var ClampedText = React23.forwardRef(
3948
+ ({
3949
+ lines = 3,
3950
+ moreLabel = "Show more",
3951
+ lessLabel = "Show less",
3952
+ className,
3953
+ children,
3954
+ ...props
3955
+ }, ref) => {
3956
+ const [expanded, setExpanded] = React23.useState(false);
3957
+ const [clipped, setClipped] = React23.useState(false);
3958
+ const bodyRef = React23.useRef(null);
3959
+ React23.useLayoutEffect(() => {
3960
+ const el = bodyRef.current;
3961
+ if (!el || expanded) return;
3962
+ const measure = () => setClipped(el.scrollHeight - el.clientHeight > 1);
3963
+ measure();
3964
+ const observer = new ResizeObserver(measure);
3965
+ observer.observe(el);
3966
+ return () => observer.disconnect();
3967
+ }, [expanded, children, lines]);
3968
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("min-w-0", className), ...props, children: [
3969
+ /* @__PURE__ */ jsx(
3970
+ "p",
3971
+ {
3972
+ ref: bodyRef,
3973
+ className: cn(
3974
+ "whitespace-pre-line",
3975
+ !expanded && "overflow-hidden [-webkit-box-orient:vertical] [-webkit-line-clamp:var(--clamped-lines)] [display:-webkit-box]"
3976
+ ),
3977
+ style: { "--clamped-lines": lines },
3978
+ children
3979
+ }
3980
+ ),
3981
+ clipped ? /* @__PURE__ */ jsx(
3982
+ Button,
3983
+ {
3984
+ type: "button",
3985
+ variant: "link",
3986
+ size: "sm",
3987
+ className: "h-auto p-0",
3988
+ "aria-expanded": expanded,
3989
+ onClick: () => setExpanded((open) => !open),
3990
+ children: expanded ? lessLabel : moreLabel
3991
+ }
3992
+ ) : null
3993
+ ] });
3994
+ }
3995
+ );
3996
+ ClampedText.displayName = "ClampedText";
3947
3997
  var ClarifyCard = React23.forwardRef(
3948
3998
  ({
3949
3999
  step,
@@ -5152,6 +5202,27 @@ var SearchInput = ({
5152
5202
  }
5153
5203
  );
5154
5204
  };
5205
+ var Eyebrow = React23.forwardRef(
5206
+ ({ aside, tone = "muted", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
5207
+ "div",
5208
+ {
5209
+ ref,
5210
+ className: cn(
5211
+ "flex items-baseline gap-2 text-meta font-semibold uppercase tracking-wide",
5212
+ tone === "muted" && "text-muted-foreground",
5213
+ tone === "foreground" && "text-foreground",
5214
+ tone === "accent" && "text-primary",
5215
+ className
5216
+ ),
5217
+ ...props,
5218
+ children: [
5219
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children }),
5220
+ aside != null ? /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 font-normal normal-case tracking-normal text-muted-foreground", children: aside }) : null
5221
+ ]
5222
+ }
5223
+ )
5224
+ );
5225
+ Eyebrow.displayName = "Eyebrow";
5155
5226
  var SectionHeader = React23.forwardRef(({ icon, title, count, actions, bare, className, ...props }, ref) => /* @__PURE__ */ jsxs(
5156
5227
  "div",
5157
5228
  {
@@ -5325,6 +5396,299 @@ function TabbedPanel({
5325
5396
  footerContent && /* @__PURE__ */ jsx(CardFooter, { className: cn("shrink-0", footerClassName), children: footerContent })
5326
5397
  ] }) }) });
5327
5398
  }
5399
+ var BAR = {
5400
+ succeeded: "bg-success",
5401
+ running: "bg-info",
5402
+ failed: "bg-destructive",
5403
+ needs_input: "bg-warning",
5404
+ stopped: "bg-muted-foreground",
5405
+ skipped: "bg-transparent",
5406
+ queued: "bg-transparent"
5407
+ };
5408
+ var DOT = {
5409
+ succeeded: "success",
5410
+ running: "running",
5411
+ failed: "error",
5412
+ needs_input: "warning",
5413
+ stopped: "muted",
5414
+ skipped: "muted",
5415
+ queued: "queued"
5416
+ };
5417
+ var STATUS_LABEL = {
5418
+ succeeded: "succeeded",
5419
+ running: "running",
5420
+ failed: "failed",
5421
+ needs_input: "needs input",
5422
+ stopped: "stopped",
5423
+ skipped: "never ran",
5424
+ queued: "not started"
5425
+ };
5426
+ function renderResult(result) {
5427
+ if (result == null) return null;
5428
+ if (React23.isValidElement(result)) return result;
5429
+ if (typeof result !== "object") {
5430
+ return /* @__PURE__ */ jsx("span", { className: "font-mono text-meta", children: String(result) });
5431
+ }
5432
+ const entries = Object.entries(result);
5433
+ const scalars = entries.filter(([, v]) => v == null || typeof v !== "object");
5434
+ const nested = entries.filter(([, v]) => v != null && typeof v === "object");
5435
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
5436
+ 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,
5437
+ nested.map(([k, v]) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
5438
+ /* @__PURE__ */ jsx("span", { className: "text-meta text-muted-foreground", children: k }),
5439
+ /* @__PURE__ */ jsx("pre", { className: "max-h-40 overflow-auto border border-border bg-muted/40 p-1.5 font-mono text-meta", children: JSON.stringify(v, null, 2) })
5440
+ ] }, k))
5441
+ ] });
5442
+ }
5443
+ var TaskGanttDetailCard = React23.forwardRef(({ task, elapsedMs, formatDuration = defaultFormatDuration, className, ...props }, ref) => {
5444
+ const status = task.status ?? "succeeded";
5445
+ const ms = task.durationMs ?? elapsedMs;
5446
+ const duration = task.duration ?? (ms != null ? formatDuration(ms) : "\u2014");
5447
+ const attempts = task.attempts ?? [];
5448
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-2", className), ...props, children: [
5449
+ /* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
5450
+ /* @__PURE__ */ jsx(StatusDot, { tone: DOT[status], size: "md", className: "translate-y-px" }),
5451
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate font-mono text-meta font-medium", children: task.key }),
5452
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-meta text-muted-foreground tabular-nums", children: duration })
5453
+ ] }),
5454
+ /* @__PURE__ */ jsxs("div", { className: "text-meta text-muted-foreground", children: [
5455
+ STATUS_LABEL[status],
5456
+ task.summary != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
5457
+ " \xB7 ",
5458
+ task.summary
5459
+ ] }) : null
5460
+ ] }),
5461
+ attempts.length ? /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: attempts.map((a, i) => /* @__PURE__ */ jsxs("span", { className: "text-meta text-muted-foreground", children: [
5462
+ /* @__PURE__ */ jsxs("span", { className: "font-medium text-warning", children: [
5463
+ "attempt ",
5464
+ i + 1
5465
+ ] }),
5466
+ " ",
5467
+ a.title ?? `${a.status ?? "failed"}${a.durationMs != null ? ` \xB7 ${formatDuration(a.durationMs)}` : ""}`
5468
+ ] }, i)) }) : null,
5469
+ task.error != null ? /* @__PURE__ */ jsxs(
5470
+ "div",
5471
+ {
5472
+ style: { borderColor: "var(--color-destructive)" },
5473
+ className: "border-l-2 bg-destructive/10 px-2 py-1.5",
5474
+ children: [
5475
+ task.error.code != null ? /* @__PURE__ */ jsx("div", { className: "font-mono text-meta font-medium text-destructive", children: task.error.code }) : null,
5476
+ task.error.message != null ? /* @__PURE__ */ jsx("div", { className: "text-meta", children: task.error.message }) : null,
5477
+ task.error.detail != null ? /* @__PURE__ */ jsx("pre", { className: "mt-1 max-h-32 overflow-auto whitespace-pre-wrap font-mono text-meta text-muted-foreground", children: task.error.detail }) : null
5478
+ ]
5479
+ }
5480
+ ) : null,
5481
+ task.result != null ? renderResult(task.result) : null,
5482
+ task.log != null ? /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-1.5 font-mono text-meta text-muted-foreground", children: task.log }) : null
5483
+ ] });
5484
+ });
5485
+ TaskGanttDetailCard.displayName = "TaskGanttDetailCard";
5486
+ var toMs = (t) => t instanceof Date ? t.getTime() : typeof t === "number" ? t : Date.parse(t);
5487
+ var defaultFormatDuration = (ms) => {
5488
+ if (ms < 100) return `${Math.round(ms)}ms`;
5489
+ const s = ms / 1e3;
5490
+ return s < 10 ? `${(Math.round(s * 10) / 10).toFixed(1)}s` : `${Math.round(s)}s`;
5491
+ };
5492
+ var defaultFormatTick = (ms) => {
5493
+ if (ms === 0) return "0s";
5494
+ const s = ms / 1e3;
5495
+ return Number.isInteger(s) ? `${s}s` : `${(Math.round(s * 10) / 10).toFixed(1)}s`;
5496
+ };
5497
+ function place(seg, origin) {
5498
+ let start = seg.startMs;
5499
+ if (start == null && seg.startedAt != null && origin != null) {
5500
+ start = toMs(seg.startedAt) - origin;
5501
+ }
5502
+ if (start == null || Number.isNaN(start)) return null;
5503
+ let duration = seg.durationMs;
5504
+ if (duration == null && seg.startedAt != null && seg.finishedAt != null) {
5505
+ duration = toMs(seg.finishedAt) - toMs(seg.startedAt);
5506
+ }
5507
+ return { start, duration: duration != null && duration > 0 ? duration : 0 };
5508
+ }
5509
+ var TaskGantt = React23.forwardRef(
5510
+ ({
5511
+ tasks,
5512
+ origin,
5513
+ spanMs,
5514
+ nowMs,
5515
+ openEnded,
5516
+ ticks = 4,
5517
+ formatTick = defaultFormatTick,
5518
+ formatDuration = defaultFormatDuration,
5519
+ labelWidth = 112,
5520
+ density = "comfortable",
5521
+ showDetail = true,
5522
+ renderDetail,
5523
+ detailProps,
5524
+ selectedKey,
5525
+ onSelectTask,
5526
+ className,
5527
+ ...props
5528
+ }, ref) => {
5529
+ const barHeight = density === "compact" ? 11 : 13;
5530
+ const durationWidth = 40;
5531
+ const rows = React23.useMemo(() => {
5532
+ const stamps = [];
5533
+ for (const t of [...tasks, ...tasks.flatMap((t2) => t2.attempts ?? [])]) {
5534
+ if (t.startedAt != null) stamps.push(toMs(t.startedAt));
5535
+ }
5536
+ const zero = origin != null ? toMs(origin) : stamps.length ? Math.min(...stamps) : void 0;
5537
+ return tasks.map((task) => {
5538
+ const segments = [...task.attempts ?? [], task].map((seg) => {
5539
+ const at = place(seg, zero);
5540
+ return at ? { ...at, status: seg.status ?? task.status ?? "succeeded", title: seg.title } : null;
5541
+ }).filter((s) => s !== null);
5542
+ const last = segments[segments.length - 1];
5543
+ return { task, segments, end: last ? last.start + last.duration : 0 };
5544
+ });
5545
+ }, [tasks, origin]);
5546
+ const span = Math.max(
5547
+ spanMs ?? Math.max(nowMs ?? 0, ...rows.map((r) => r.end)),
5548
+ 1
5549
+ );
5550
+ const pct = (ms) => `${Math.max(0, Math.min(100, ms / span * 100))}%`;
5551
+ const axis = Array.from(
5552
+ { length: ticks + 1 },
5553
+ (_, i) => formatTick(span / ticks * i)
5554
+ );
5555
+ const lastLabel = openEnded ? `${axis[axis.length - 1]}+` : axis[axis.length - 1];
5556
+ const detailFor = (task, elapsedMs) => {
5557
+ if (!showDetail) return null;
5558
+ if (renderDetail) return renderDetail(task);
5559
+ if (task.detail != null) return task.detail;
5560
+ const hasBody = task.result != null || task.error != null || task.log != null || task.summary != null || (task.attempts?.length ?? 0) > 0;
5561
+ if (!hasBody) return null;
5562
+ return /* @__PURE__ */ jsx(
5563
+ TaskGanttDetailCard,
5564
+ {
5565
+ task,
5566
+ elapsedMs,
5567
+ formatDuration
5568
+ }
5569
+ );
5570
+ };
5571
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col", className), ...props, children: [
5572
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 pt-0.5 pb-1", "aria-hidden": true, children: [
5573
+ /* @__PURE__ */ jsx("span", { className: "shrink-0", style: { width: labelWidth } }),
5574
+ /* @__PURE__ */ jsx("span", { className: "flex flex-1", children: axis.slice(0, -1).map((label, i) => /* @__PURE__ */ jsx(
5575
+ "span",
5576
+ {
5577
+ className: "flex-1 border-l border-border pl-1 text-meta text-muted-foreground tabular-nums",
5578
+ children: label
5579
+ },
5580
+ i
5581
+ )) }),
5582
+ /* @__PURE__ */ jsx(
5583
+ "span",
5584
+ {
5585
+ className: "shrink-0 text-right text-meta text-muted-foreground tabular-nums",
5586
+ style: { width: durationWidth },
5587
+ children: lastLabel
5588
+ }
5589
+ )
5590
+ ] }),
5591
+ rows.map(({ task, segments }) => {
5592
+ const neverRan = segments.length === 0;
5593
+ const selected = selectedKey != null && selectedKey === task.key;
5594
+ const pickable = onSelectTask != null;
5595
+ const elapsed = task.durationMs ?? segments[segments.length - 1]?.duration;
5596
+ const duration = task.duration ?? (neverRan || elapsed == null ? "\u2014" : formatDuration(elapsed));
5597
+ const detail = detailFor(task, elapsed);
5598
+ const row = /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-[3px]", children: [
5599
+ /* @__PURE__ */ jsx(
5600
+ "span",
5601
+ {
5602
+ className: cn(
5603
+ "shrink-0 truncate font-mono text-meta",
5604
+ neverRan && "text-muted-foreground"
5605
+ ),
5606
+ style: { width: labelWidth },
5607
+ title: task.key,
5608
+ children: task.label ?? task.key
5609
+ }
5610
+ ),
5611
+ /* @__PURE__ */ jsxs(
5612
+ "span",
5613
+ {
5614
+ className: "relative min-w-0 flex-1 bg-muted/55",
5615
+ style: { height: barHeight },
5616
+ children: [
5617
+ neverRan ? /* @__PURE__ */ jsx("span", { className: "absolute inset-0 border border-dashed border-border" }) : segments.map((seg, i) => /* @__PURE__ */ jsx(
5618
+ "span",
5619
+ {
5620
+ title: seg.title ?? `${task.key} \xB7 ${seg.status} \xB7 ${formatDuration(seg.duration)}`,
5621
+ className: cn("absolute inset-y-0 rounded-[1px]", BAR[seg.status]),
5622
+ style: {
5623
+ left: pct(seg.start),
5624
+ width: pct(seg.duration),
5625
+ minWidth: 2
5626
+ }
5627
+ },
5628
+ i
5629
+ )),
5630
+ nowMs != null ? /* @__PURE__ */ jsx(
5631
+ "span",
5632
+ {
5633
+ className: "absolute -top-0.5 -bottom-0.5 w-px bg-info/70",
5634
+ style: { left: pct(nowMs) },
5635
+ "aria-hidden": true
5636
+ }
5637
+ ) : null
5638
+ ]
5639
+ }
5640
+ ),
5641
+ /* @__PURE__ */ jsx(
5642
+ "span",
5643
+ {
5644
+ className: "shrink-0 text-right font-mono text-meta text-muted-foreground tabular-nums",
5645
+ style: { width: durationWidth },
5646
+ children: duration
5647
+ }
5648
+ )
5649
+ ] }) });
5650
+ const trigger = pickable ? /* @__PURE__ */ jsx(
5651
+ "button",
5652
+ {
5653
+ type: "button",
5654
+ "aria-pressed": selected,
5655
+ onClick: () => onSelectTask(task.key),
5656
+ className: cn(
5657
+ "w-full cursor-pointer text-left focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",
5658
+ "hover:bg-accent/60",
5659
+ selected && "bg-accent"
5660
+ ),
5661
+ children: row
5662
+ }
5663
+ ) : /* @__PURE__ */ jsx("div", { className: cn(detail != null && "hover:bg-accent/60"), children: row });
5664
+ if (detail == null) return /* @__PURE__ */ jsx("div", { children: trigger }, task.key);
5665
+ return /* @__PURE__ */ jsxs(
5666
+ HoverCard,
5667
+ {
5668
+ openDelay: detailProps?.openDelay ?? 200,
5669
+ closeDelay: detailProps?.closeDelay ?? 80,
5670
+ children: [
5671
+ /* @__PURE__ */ jsx(HoverCardTrigger, { asChild: true, children: trigger }),
5672
+ /* @__PURE__ */ jsx(
5673
+ HoverCardContent,
5674
+ {
5675
+ side: detailProps?.side ?? "right",
5676
+ align: detailProps?.align ?? "start",
5677
+ sideOffset: detailProps?.sideOffset ?? 8,
5678
+ style: detailProps?.width != null ? { width: detailProps.width } : void 0,
5679
+ className: cn("w-72 p-3", detailProps?.className),
5680
+ children: detail
5681
+ }
5682
+ )
5683
+ ]
5684
+ },
5685
+ task.key
5686
+ );
5687
+ })
5688
+ ] });
5689
+ }
5690
+ );
5691
+ TaskGantt.displayName = "TaskGantt";
5328
5692
  var TemplatePicker = React23.forwardRef(({ heading, options, value, onSelect, footnote, className, ...props }, ref) => /* @__PURE__ */ jsxs(
5329
5693
  "div",
5330
5694
  {
@@ -6108,6 +6472,6 @@ var Typography = {
6108
6472
  Pre: TypographyPre
6109
6473
  };
6110
6474
 
6111
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentChip, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, Avatar, AvatarFallback, AvatarImage, Badge, BarChartH, BarChartV, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonWithTooltip, CannotAnswerCard, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChatSession, ChatSessionActivityRow, ChatSessionActivitySubLine, ChatSessionComposer, ChatSessionContextChip, ChatSessionDisclosure, ChatSessionMessage, ChatSessionMessageOptions, ChatSessionProgressLine, ChatSessionPromptRow, ChatSessionStatusBar, ChatSessionTaskGroup, ChatSessionTaskRow, CitationList, CitationMarker, CitationRow, 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, EmissionCard, EmissionHeader, EmptyState, EmptyStateLock, ErrorBoundary, FilterBar, FilterChip, HeatStrip, HoverCard, HoverCardContent, HoverCardTrigger, Item3 as Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Legend, LegendItem, 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, PanelContent, PanelStack, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, PropertyRow, ProposalCard, RatingControl, RepairNote, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, RichSelect, 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, Sparkline, Spinner, StatusDot, TabbedPanel, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, 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, navigationMenuTriggerStyle, statusDotVariants, toggleVariants, useOverflowItems, useSidebar, useTour };
6475
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentChip, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, Avatar, AvatarFallback, AvatarImage, Badge, BarChartH, BarChartV, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonWithTooltip, CannotAnswerCard, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, 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, 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, Legend, LegendItem, 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, PanelContent, PanelStack, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, PropertyRow, ProposalCard, RatingControl, RepairNote, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, RichSelect, 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, Sparkline, Spinner, StatusDot, TabbedPanel, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, 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, navigationMenuTriggerStyle, statusDotVariants, toggleVariants, useOverflowItems, useSidebar, useTour };
6112
6476
  //# sourceMappingURL=index.js.map
6113
6477
  //# sourceMappingURL=index.js.map