@invana/ui 0.0.31 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3580 -1977
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1591 -874
- package/dist/index.d.ts +1591 -874
- package/dist/index.js +3534 -1969
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
|
-
import React__default, { Component, ReactNode } from 'react';
|
|
3
|
+
import React__default, { Component, ReactNode, ErrorInfo, ElementType, CSSProperties } from 'react';
|
|
4
4
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
6
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -16,6 +16,7 @@ import * as MenubarPrimitive from '@radix-ui/react-menubar';
|
|
|
16
16
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
17
17
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
18
18
|
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
19
|
+
import { Questionnaire as Questionnaire$1 } from '@shadcn/react/questionnaire';
|
|
19
20
|
import { Separator as Separator$1, Panel, Group } from 'react-resizable-panels';
|
|
20
21
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
21
22
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
@@ -25,24 +26,6 @@ import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
|
25
26
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
26
27
|
import { LucideIcon } from 'lucide-react';
|
|
27
28
|
|
|
28
|
-
/**
|
|
29
|
-
* `clsx` + `tailwind-merge`, and nothing else.
|
|
30
|
-
*
|
|
31
|
-
* This used to be an `extendTailwindMerge` that registered one class group.
|
|
32
|
-
* `text-*` is ambiguous — it is both the font-size scale and the text-colour
|
|
33
|
-
* scale — so tailwind-merge decides which group a class belongs to by matching
|
|
34
|
-
* its value against Tailwind's built-in size names. `meta` was not one of them,
|
|
35
|
-
* so `text-meta` was read as a *colour* and silently dropped whatever colour
|
|
36
|
-
* class came before it:
|
|
37
|
-
*
|
|
38
|
-
* cn("text-[var(--badge-ink)]", "text-meta") → "text-meta" // colour lost
|
|
39
|
-
*
|
|
40
|
-
* The type ladder is now `base · sm · xs` (`@invana/styling`), every one of
|
|
41
|
-
* them a Tailwind built-in, so there is nothing left to register and the
|
|
42
|
-
* footgun is gone with the token that caused it. If a future `--text-*` token
|
|
43
|
-
* invents a name Tailwind does not know, bring the `extend` back in the same
|
|
44
|
-
* breath — it will eat colours at a distance and the cause will not be obvious.
|
|
45
|
-
*/
|
|
46
29
|
declare function cn(...inputs: ClassValue[]): string;
|
|
47
30
|
|
|
48
31
|
declare const Accordion: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -52,6 +35,7 @@ declare const AccordionContent: React$1.ForwardRefExoticComponent<Omit<Accordion
|
|
|
52
35
|
|
|
53
36
|
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
54
37
|
variant?: "default" | "destructive" | null | undefined;
|
|
38
|
+
tone?: "destructive" | "info" | "success" | "warning" | null | undefined;
|
|
55
39
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLDivElement>>;
|
|
56
40
|
declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
57
41
|
declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
@@ -74,9 +58,31 @@ declare const AlertDialogDescription: React$1.ForwardRefExoticComponent<Omit<Ale
|
|
|
74
58
|
declare const AlertDialogAction: React$1.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
75
59
|
declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
76
60
|
|
|
77
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Sizes are the control scale, so an avatar sits in a row of controls at the
|
|
63
|
+
* row's height: `xs` 22 · `sm` 26 · `md` 32 · `lg` 40px at a 13px root. `lg`
|
|
64
|
+
* is the default — the size it always had. Its initials step down with it.
|
|
65
|
+
*/
|
|
66
|
+
declare const avatarVariants: (props?: ({
|
|
67
|
+
size?: "xs" | "sm" | "lg" | "md" | null | undefined;
|
|
68
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
69
|
+
interface AvatarProps extends React$1.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>, VariantProps<typeof avatarVariants> {
|
|
70
|
+
}
|
|
71
|
+
declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
78
72
|
declare const AvatarImage: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React$1.RefAttributes<HTMLImageElement>, "ref"> & React$1.RefAttributes<HTMLImageElement>>;
|
|
79
73
|
declare const AvatarFallback: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
74
|
+
interface AvatarGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
75
|
+
/** Show this many and fold the rest into a `+n` avatar. */
|
|
76
|
+
max?: number;
|
|
77
|
+
/** The size of the `+n` avatar — the same as the avatars it follows. */
|
|
78
|
+
size?: AvatarProps["size"];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Avatars overlapping in a row — who is on a run, a thread, a review — each
|
|
82
|
+
* ringed in the background so the overlap reads as edges. Past `max`, the rest
|
|
83
|
+
* are one `+n`.
|
|
84
|
+
*/
|
|
85
|
+
declare const AvatarGroup: React$1.ForwardRefExoticComponent<AvatarGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
80
86
|
|
|
81
87
|
/**
|
|
82
88
|
* `variant` is the treatment, `tone` is the meaning.
|
|
@@ -88,15 +94,15 @@ declare const AvatarFallback: React$1.ForwardRefExoticComponent<Omit<AvatarPrimi
|
|
|
88
94
|
* recolours `default`, `outline` and `soft`, and leaves `secondary` and
|
|
89
95
|
* `destructive` alone — those are already a colour decision.
|
|
90
96
|
*
|
|
91
|
-
* No pill. A badge
|
|
92
|
-
* `@invana/styling` › border radius
|
|
93
|
-
* object — a count bubble on a nav item, a state marker —
|
|
94
|
-
* or an explicit `rounded-full`, never a badge variant.
|
|
97
|
+
* No pill. A badge sits at control height beside buttons, so it takes the
|
|
98
|
+
* control radius, `rounded-control` (see `@invana/styling` › border radius).
|
|
99
|
+
* Where round *is* the object — a count bubble on a nav item, a state marker —
|
|
100
|
+
* that is `StatusDot` or an explicit `rounded-full`, never a badge variant.
|
|
95
101
|
*/
|
|
96
102
|
declare const badgeVariants: (props?: ({
|
|
97
103
|
variant?: "default" | "destructive" | "outline" | "secondary" | "soft" | null | undefined;
|
|
98
|
-
tone?: "
|
|
99
|
-
size?: "
|
|
104
|
+
tone?: "destructive" | "info" | "success" | "warning" | "primary" | "muted" | null | undefined;
|
|
105
|
+
size?: "xs" | "sm" | null | undefined;
|
|
100
106
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
101
107
|
interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
102
108
|
}
|
|
@@ -122,7 +128,7 @@ declare const BreadcrumbEllipsis: {
|
|
|
122
128
|
|
|
123
129
|
declare const buttonVariants: (props?: ({
|
|
124
130
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "soft" | null | undefined;
|
|
125
|
-
size?: "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon" | "nav-icon" | null | undefined;
|
|
131
|
+
size?: "default" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon" | "nav-icon" | null | undefined;
|
|
126
132
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
127
133
|
interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
128
134
|
asChild?: boolean;
|
|
@@ -302,8 +308,10 @@ declare const itemVariants: (props?: ({
|
|
|
302
308
|
variant?: "default" | "outline" | "muted" | null | undefined;
|
|
303
309
|
size?: "default" | "xs" | "sm" | null | undefined;
|
|
304
310
|
selected?: boolean | null | undefined;
|
|
311
|
+
dim?: boolean | null | undefined;
|
|
312
|
+
struck?: boolean | null | undefined;
|
|
305
313
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
306
|
-
declare function Item({ className, variant, size, selected, asChild, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
|
|
314
|
+
declare function Item({ className, variant, size, selected, dim, struck, asChild, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
|
|
307
315
|
asChild?: boolean;
|
|
308
316
|
}): React$1.JSX.Element;
|
|
309
317
|
declare const itemMediaVariants: (props?: ({
|
|
@@ -453,6 +461,75 @@ declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressPrimitive
|
|
|
453
461
|
size?: ProgressSize;
|
|
454
462
|
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
455
463
|
|
|
464
|
+
type NavProps = Pick<ButtonProps, "size" | "variant">;
|
|
465
|
+
declare function Questionnaire({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Root>): React$1.JSX.Element;
|
|
466
|
+
/**
|
|
467
|
+
* The progress line on its own — a label and a bar filled to `value` (0–1).
|
|
468
|
+
* `QuestionnaireProgress` draws it from the questionnaire's position; a step
|
|
469
|
+
* outside the items, such as a review before submitting, draws it directly.
|
|
470
|
+
*/
|
|
471
|
+
declare function QuestionnaireProgressBar({ label, value, className, ...props }: React$1.ComponentProps<"div"> & {
|
|
472
|
+
label?: React$1.ReactNode;
|
|
473
|
+
value: number;
|
|
474
|
+
}): React$1.JSX.Element;
|
|
475
|
+
/**
|
|
476
|
+
* `1 of 3` and a bar that fills as the steps are answered. Pass children to
|
|
477
|
+
* replace the count's words; the bar stays.
|
|
478
|
+
*/
|
|
479
|
+
declare function QuestionnaireProgress({ className, children, ...props }: Omit<React$1.ComponentProps<typeof Questionnaire$1.Progress>, "render">): React$1.JSX.Element;
|
|
480
|
+
declare function QuestionnaireItem({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Item>): React$1.JSX.Element;
|
|
481
|
+
declare function QuestionnaireTitle({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Title>): React$1.JSX.Element;
|
|
482
|
+
declare function QuestionnaireDescription({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Description>): React$1.JSX.Element;
|
|
483
|
+
declare function QuestionnaireChoices({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Choices>): React$1.JSX.Element;
|
|
484
|
+
interface QuestionnaireChoiceProps extends React$1.ComponentProps<typeof Questionnaire$1.Choice> {
|
|
485
|
+
/**
|
|
486
|
+
* Where the choice comes from, on the right in mono — `142 open POs`,
|
|
487
|
+
* `pnl.total`. What makes an option read as something the data holds.
|
|
488
|
+
*/
|
|
489
|
+
detail?: React$1.ReactNode;
|
|
490
|
+
/**
|
|
491
|
+
* A settled answer: the choice is shown, not offered. Unlike `disabled` it
|
|
492
|
+
* keeps full strength, so the answer still reads.
|
|
493
|
+
*/
|
|
494
|
+
readOnly?: boolean;
|
|
495
|
+
/**
|
|
496
|
+
* A short tag or an icon in a box before the choice — `BV`, a store. What
|
|
497
|
+
* the choice is, read before its name.
|
|
498
|
+
*/
|
|
499
|
+
lead?: React$1.ReactNode;
|
|
500
|
+
/**
|
|
501
|
+
* A figure on the right, in place of `detail` — the value over its unit,
|
|
502
|
+
* `2,480` over `kg/ha`. What the choice would give, read before picking it.
|
|
503
|
+
*/
|
|
504
|
+
figure?: QuestionnaireChoiceFigure;
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* The tones the kit draws specially — **suggestions, not a limit.** Anything
|
|
508
|
+
* else renders in the foreground.
|
|
509
|
+
*/
|
|
510
|
+
type QuestionnaireFigureTone = "success" | "warning" | "error" | (string & {});
|
|
511
|
+
interface QuestionnaireChoiceFigure {
|
|
512
|
+
value: React$1.ReactNode;
|
|
513
|
+
unit?: React$1.ReactNode;
|
|
514
|
+
tone?: QuestionnaireFigureTone;
|
|
515
|
+
}
|
|
516
|
+
declare function QuestionnaireChoice({ children, className, detail, readOnly, disabled, lead, figure, ...props }: QuestionnaireChoiceProps): React$1.JSX.Element;
|
|
517
|
+
/** The choice itself — `Delegation`. Sits above an optional description. */
|
|
518
|
+
declare function QuestionnaireChoiceTitle({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
|
|
519
|
+
/** What the choice means — `Show how work moves to a specialist.` */
|
|
520
|
+
declare function QuestionnaireChoiceDescription({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
|
|
521
|
+
interface QuestionnaireInputProps extends React$1.ComponentProps<typeof Questionnaire$1.Input> {
|
|
522
|
+
/** The unit, on the right in mono — `%`, `kg/ha`. Open vocabulary. */
|
|
523
|
+
unit?: React$1.ReactNode;
|
|
524
|
+
}
|
|
525
|
+
declare function QuestionnaireInput({ className, unit, ...props }: QuestionnaireInputProps): React$1.JSX.Element;
|
|
526
|
+
declare function QuestionnaireError({ className, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Error>): React$1.JSX.Element;
|
|
527
|
+
declare function QuestionnaireActions({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
|
|
528
|
+
declare function QuestionnairePrevious({ children, className, size, variant, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Previous> & NavProps): React$1.JSX.Element;
|
|
529
|
+
declare function QuestionnaireSkip({ children, className, size, variant, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Skip> & NavProps): React$1.JSX.Element;
|
|
530
|
+
declare function QuestionnaireNext({ children, className, size, variant, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Next> & NavProps): React$1.JSX.Element;
|
|
531
|
+
declare function QuestionnaireSubmit({ children, className, size, variant, ...props }: React$1.ComponentProps<typeof Questionnaire$1.Submit> & NavProps): React$1.JSX.Element;
|
|
532
|
+
|
|
456
533
|
declare const ResizablePanelGroup: (props: React.ComponentProps<typeof Group>) => React$1.JSX.Element;
|
|
457
534
|
declare const ResizablePanel: typeof Panel;
|
|
458
535
|
declare const ResizableHandle: ({ withHandle, className, ...props }: React.ComponentProps<typeof Separator$1> & {
|
|
@@ -466,19 +543,40 @@ interface SegmentedOption {
|
|
|
466
543
|
/** What the caller gets back. */
|
|
467
544
|
value: string;
|
|
468
545
|
label: React$1.ReactNode;
|
|
546
|
+
/** A second line under the label, smaller and muted — `±1.4 pp`. */
|
|
547
|
+
sub?: React$1.ReactNode;
|
|
469
548
|
disabled?: boolean;
|
|
470
549
|
}
|
|
471
550
|
interface SegmentedControlProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
472
551
|
options: SegmentedOption[];
|
|
473
|
-
/** Controlled. Pass it with {@link onValueChange}. */
|
|
474
|
-
value?: string;
|
|
475
|
-
/**
|
|
476
|
-
|
|
552
|
+
/** Controlled. Pass it with {@link onValueChange}; `null` is no pick. */
|
|
553
|
+
value?: string | null;
|
|
554
|
+
/**
|
|
555
|
+
* Uncontrolled starting option. Defaults to the first, because a reading is
|
|
556
|
+
* never off. `null` starts with none picked — a question not yet answered,
|
|
557
|
+
* where picking the first for the reader would answer it for them.
|
|
558
|
+
*/
|
|
559
|
+
defaultValue?: string | null;
|
|
477
560
|
onValueChange?: (value: string) => void;
|
|
478
|
-
/**
|
|
479
|
-
|
|
561
|
+
/**
|
|
562
|
+
* The control scale: `xs` (22px) inside a row, `sm` (26px) beside a search
|
|
563
|
+
* or filter chips, `md` (32px, the default — as for every control) in a
|
|
564
|
+
* standalone form.
|
|
565
|
+
*/
|
|
566
|
+
size?: "xs" | "sm" | "md";
|
|
480
567
|
/** Fill the width given, each option an equal share of it. */
|
|
481
568
|
stretch?: boolean;
|
|
569
|
+
/**
|
|
570
|
+
* `tint` marks the active option with the primary tint — a reading of the
|
|
571
|
+
* page. `solid` fills it with primary and rules the options apart — an
|
|
572
|
+
* answer to a question, where the pick is the thing being read.
|
|
573
|
+
*/
|
|
574
|
+
variant?: "tint" | "solid";
|
|
575
|
+
/**
|
|
576
|
+
* A settled answer: the pick is shown, not offered. Unlike disabling every
|
|
577
|
+
* option it keeps full strength, so the answer still reads.
|
|
578
|
+
*/
|
|
579
|
+
readOnly?: boolean;
|
|
482
580
|
}
|
|
483
581
|
/**
|
|
484
582
|
* One page, read another way.
|
|
@@ -508,7 +606,7 @@ declare const SheetClose: React$1.ForwardRefExoticComponent<DialogPrimitive.Dial
|
|
|
508
606
|
declare const SheetPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
|
|
509
607
|
declare const SheetOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
510
608
|
declare const sheetVariants: (props?: ({
|
|
511
|
-
side?: "
|
|
609
|
+
side?: "bottom" | "left" | "right" | "top" | null | undefined;
|
|
512
610
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
513
611
|
interface SheetContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
|
|
514
612
|
}
|
|
@@ -598,6 +696,27 @@ declare const Toaster: ({ ...props }: ToasterProps) => React$1.JSX.Element;
|
|
|
598
696
|
|
|
599
697
|
declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): React$1.JSX.Element;
|
|
600
698
|
|
|
699
|
+
/**
|
|
700
|
+
* Things laid out one after another, a set gap apart: a column (the default)
|
|
701
|
+
* or a row. The layout every screen and story otherwise writes by hand as
|
|
702
|
+
* `flex flex-col gap-4` — so the gaps come from one short scale, in `rem`, and
|
|
703
|
+
* follow the root as the type does.
|
|
704
|
+
*
|
|
705
|
+
* `gap` is the space between, never around: a stack draws no padding, border
|
|
706
|
+
* or background, so it can sit inside anything without changing its frame.
|
|
707
|
+
*/
|
|
708
|
+
declare const stackVariants: (props?: ({
|
|
709
|
+
direction?: "row" | "column" | null | undefined;
|
|
710
|
+
gap?: "none" | "xs" | "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
711
|
+
align?: "end" | "start" | "center" | "stretch" | "baseline" | null | undefined;
|
|
712
|
+
justify?: "end" | "start" | "center" | "between" | null | undefined;
|
|
713
|
+
wrap?: boolean | null | undefined;
|
|
714
|
+
fill?: boolean | null | undefined;
|
|
715
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
716
|
+
interface StackProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof stackVariants> {
|
|
717
|
+
}
|
|
718
|
+
declare const Stack: React$1.ForwardRefExoticComponent<StackProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
719
|
+
|
|
601
720
|
/**
|
|
602
721
|
* The state of one thing, as a dot.
|
|
603
722
|
*
|
|
@@ -617,7 +736,7 @@ declare function Spinner({ className, ...props }: React.ComponentProps<"svg">):
|
|
|
617
736
|
* `motion-reduce` variant below honours by design.
|
|
618
737
|
*/
|
|
619
738
|
declare const statusDotVariants: (props?: ({
|
|
620
|
-
tone?: "
|
|
739
|
+
tone?: "info" | "success" | "warning" | "muted" | "error" | "running" | "queued" | null | undefined;
|
|
621
740
|
size?: "xs" | "sm" | "lg" | "md" | null | undefined;
|
|
622
741
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
623
742
|
interface StatusDotProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children">, VariantProps<typeof statusDotVariants> {
|
|
@@ -631,8 +750,51 @@ interface StatusDotProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "
|
|
|
631
750
|
}
|
|
632
751
|
declare const StatusDot: React$1.ForwardRefExoticComponent<StatusDotProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
633
752
|
|
|
753
|
+
declare const statusIconVariants: (props?: ({
|
|
754
|
+
state?: "alert" | "success" | "error" | "waiting" | "running" | "queued" | "question" | "cancelled" | null | undefined;
|
|
755
|
+
size?: "sm" | "md" | null | undefined;
|
|
756
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
757
|
+
type StatusIconState = "success" | "error" | "running" | "queued" | "waiting" | "question" | "alert" | "cancelled";
|
|
758
|
+
interface StatusIconProps extends Omit<React$1.SVGAttributes<SVGSVGElement>, "children">, VariantProps<typeof statusIconVariants> {
|
|
759
|
+
state: StatusIconState;
|
|
760
|
+
/**
|
|
761
|
+
* What this state is called — the accessible name and the tooltip.
|
|
762
|
+
*
|
|
763
|
+
* Pass it whenever the glyph stands alone, which is the reason to use one.
|
|
764
|
+
*/
|
|
765
|
+
label?: string;
|
|
766
|
+
}
|
|
767
|
+
declare const StatusIcon: React$1.ForwardRefExoticComponent<StatusIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* How much room a row gets. The type size never moves — a row is the root size
|
|
771
|
+
* at every density — only the height and the cell padding do.
|
|
772
|
+
*
|
|
773
|
+
* - `compact` — the control scale's `sm`, 26px: a journal, a trace, a
|
|
774
|
+
* step's output, a log.
|
|
775
|
+
* - `default` — `md`, 32px: a list in an application.
|
|
776
|
+
* - `comfortable` — `lg`, 40px: a table standing alone on a page, a settings
|
|
777
|
+
* list.
|
|
778
|
+
*
|
|
779
|
+
* The px are at a 13px root. Every density is a ratio of the root, like the
|
|
780
|
+
* type, so a site that sets a 16px root gets proportionally roomier rows.
|
|
781
|
+
*/
|
|
782
|
+
type TableDensity = "compact" | "default" | "comfortable";
|
|
634
783
|
declare const Table: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableElement> & {
|
|
635
|
-
density?:
|
|
784
|
+
density?: TableDensity;
|
|
785
|
+
/**
|
|
786
|
+
* No box, and nothing wasted on its outside: only the rules between rows
|
|
787
|
+
* are drawn, and the first and last columns sit flush with the text around
|
|
788
|
+
* the table. For a table inside a card, a panel or an answer, whose edge
|
|
789
|
+
* already frames it — a second border a few pixels in reads as a box
|
|
790
|
+
* inside a box.
|
|
791
|
+
*/
|
|
792
|
+
seamless?: boolean;
|
|
793
|
+
/**
|
|
794
|
+
* Draw the box. Off for a wrapper that draws the box itself, as `DataTable`
|
|
795
|
+
* does. `seamless` draws no box either way.
|
|
796
|
+
*/
|
|
797
|
+
bordered?: boolean;
|
|
636
798
|
} & React$1.RefAttributes<HTMLTableElement>>;
|
|
637
799
|
declare const TableHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
|
|
638
800
|
declare const TableBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
|
|
@@ -794,6 +956,168 @@ interface AgentChipProps extends React$1.HTMLAttributes<HTMLSpanElement>, Varian
|
|
|
794
956
|
*/
|
|
795
957
|
declare const AgentChip: React$1.ForwardRefExoticComponent<AgentChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
796
958
|
|
|
959
|
+
/** One published model, and what this session may do with it. */
|
|
960
|
+
interface DataReachModel {
|
|
961
|
+
id: string;
|
|
962
|
+
/** `Accounts`, `Funding rounds`. */
|
|
963
|
+
name: string;
|
|
964
|
+
/**
|
|
965
|
+
* Records this session can see, after its slice — not the model's size.
|
|
966
|
+
* `null` or left out while the count is on its way.
|
|
967
|
+
*/
|
|
968
|
+
records?: number | null;
|
|
969
|
+
/**
|
|
970
|
+
* What it may do — `["read"]`, `["read", "write"]` — or `"denied"`. An open
|
|
971
|
+
* vocabulary: a product that adds `export` passes it and it is written out.
|
|
972
|
+
*/
|
|
973
|
+
access: string[] | "denied";
|
|
974
|
+
/** What the session's view of it is narrowed to — `time 2019 → now · axis announced_at`. */
|
|
975
|
+
slice?: React$1.ReactNode;
|
|
976
|
+
}
|
|
977
|
+
/** What a session can reach, summed: the models it may read and the records in them. */
|
|
978
|
+
declare function summarizeReach(models: DataReachModel[]): {
|
|
979
|
+
readable: number;
|
|
980
|
+
total: number;
|
|
981
|
+
records: number;
|
|
982
|
+
counting: boolean;
|
|
983
|
+
};
|
|
984
|
+
/** `1.2M`, `84K` — how a record count is written where room is short. */
|
|
985
|
+
declare const formatRecords: (n: number) => string;
|
|
986
|
+
interface DataReachProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
987
|
+
models: DataReachModel[];
|
|
988
|
+
/**
|
|
989
|
+
* Ask for the denied models. Shown only when some are denied; it receives
|
|
990
|
+
* their ids. What a request does is the host's.
|
|
991
|
+
*/
|
|
992
|
+
onRequestAccess?: (models: string[]) => void;
|
|
993
|
+
}
|
|
994
|
+
/**
|
|
995
|
+
* The data a session can reach: every published model, the records it can see
|
|
996
|
+
* in each, what it may do with them, and what its view is narrowed to.
|
|
997
|
+
*
|
|
998
|
+
* **Denied models are listed, muted, never left out.** What a session cannot
|
|
999
|
+
* see is what a bigger question would need, and a list of only what is open
|
|
1000
|
+
* would make the agent look more capable than it is. A count still on its way
|
|
1001
|
+
* says so (`counting…`) rather than drawing a zero.
|
|
1002
|
+
*
|
|
1003
|
+
* Counts are what *this session* sees after its slice — a model's full size
|
|
1004
|
+
* would overstate what the agent can answer from.
|
|
1005
|
+
*/
|
|
1006
|
+
declare const DataReach: React$1.ForwardRefExoticComponent<DataReachProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* What of the Graph's data may accompany a call across the boundary.
|
|
1010
|
+
*
|
|
1011
|
+
* A **closed** set, because an open one is a list nobody can audit: a reader
|
|
1012
|
+
* has to know that what is not named cannot be sent, and that only holds if the
|
|
1013
|
+
* vocabulary is fixed.
|
|
1014
|
+
*/
|
|
1015
|
+
type EgressClass = "type_names" | "property_names" | "the_question" | "property_values" | "record_ids" | "aggregates" | "everything";
|
|
1016
|
+
interface EgressListProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1017
|
+
/** The destination this governs — `llm/anthropic-prod/claude-opus-5`. */
|
|
1018
|
+
to: string;
|
|
1019
|
+
/** What may be sent. **Empty is the default and means nothing may.** */
|
|
1020
|
+
classes?: EgressClass[];
|
|
1021
|
+
/**
|
|
1022
|
+
* What was actually withheld on a real crossing. Absent reads as a **rule**
|
|
1023
|
+
* at rest; present reads as an **event** — see the note below.
|
|
1024
|
+
*/
|
|
1025
|
+
cut?: EgressClass[];
|
|
1026
|
+
}
|
|
1027
|
+
/**
|
|
1028
|
+
* Per destination: what may be sent, and what was cut.
|
|
1029
|
+
*
|
|
1030
|
+
* **Egress is declared per destination, on the rule that matched it.** A
|
|
1031
|
+
* run-wide setting would have to be the strictest of its destinations, which is
|
|
1032
|
+
* the least useful one — so this component is always about *one* address, and a
|
|
1033
|
+
* surface showing several renders several.
|
|
1034
|
+
*
|
|
1035
|
+
* **Reading a thing and sending it are different permissions.** A query may
|
|
1036
|
+
* filter on `Deal.revenue` while the value never enters a prompt — used to
|
|
1037
|
+
* **compute**, not to **reason**. That is the distinction this list exists to
|
|
1038
|
+
* make visible, and it is why `property_values` being absent is worth as much
|
|
1039
|
+
* screen as the classes that are present.
|
|
1040
|
+
*
|
|
1041
|
+
* **`cut` is what makes it evidence rather than configuration.** The same
|
|
1042
|
+
* component states the bound before a run and what the bound actually withheld
|
|
1043
|
+
* after one; without `cut`, a reader cannot tell a rule that did work from a
|
|
1044
|
+
* rule that never bit.
|
|
1045
|
+
*
|
|
1046
|
+
* An empty `classes` is drawn in words, because the lens default is `[]` and a
|
|
1047
|
+
* blank row would read as *not configured* rather than *nothing may leave*.
|
|
1048
|
+
*/
|
|
1049
|
+
declare const EgressList: React$1.ForwardRefExoticComponent<EgressListProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1050
|
+
|
|
1051
|
+
interface AgentHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
1052
|
+
/** What the session is — its name, or a switcher that lists the others. */
|
|
1053
|
+
title: React$1.ReactNode;
|
|
1054
|
+
/** Who is answering — `Analyst`, `v2`, `sonnet-5.5`. */
|
|
1055
|
+
agent?: {
|
|
1056
|
+
name: string;
|
|
1057
|
+
version?: string;
|
|
1058
|
+
model?: string;
|
|
1059
|
+
};
|
|
1060
|
+
/** Where the session is — `running…`, `needs input (1)`, `idle`. `short` is said under 420px. */
|
|
1061
|
+
status?: {
|
|
1062
|
+
tone: NonNullable<StatusDotProps["tone"]>;
|
|
1063
|
+
label: string;
|
|
1064
|
+
short?: string;
|
|
1065
|
+
};
|
|
1066
|
+
/** At the end of the first line — a menu of the session's actions, a close. */
|
|
1067
|
+
actions?: React$1.ReactNode;
|
|
1068
|
+
/** The data the session can reach: the whole world it opened on, or an access group's share. */
|
|
1069
|
+
access?: {
|
|
1070
|
+
kind: "world" | "group";
|
|
1071
|
+
label: string;
|
|
1072
|
+
models?: DataReachModel[];
|
|
1073
|
+
};
|
|
1074
|
+
/** The lens the session reads through — `Funding watch`. */
|
|
1075
|
+
lens?: string;
|
|
1076
|
+
/** Tokens spent of the session's budget. Tokens, never money. */
|
|
1077
|
+
budget?: {
|
|
1078
|
+
used: number;
|
|
1079
|
+
limit: number;
|
|
1080
|
+
};
|
|
1081
|
+
/** The rules it runs under: the strictest as the badge, every one in its popover. */
|
|
1082
|
+
governance?: {
|
|
1083
|
+
summary: string;
|
|
1084
|
+
rules?: {
|
|
1085
|
+
label: string;
|
|
1086
|
+
value: string;
|
|
1087
|
+
}[];
|
|
1088
|
+
egress?: {
|
|
1089
|
+
to: string;
|
|
1090
|
+
classes?: EgressClass[];
|
|
1091
|
+
}[];
|
|
1092
|
+
};
|
|
1093
|
+
/** The marks before the access, the lens and the governance badge. The kit ships no icons. */
|
|
1094
|
+
icons?: {
|
|
1095
|
+
world?: React$1.ReactNode;
|
|
1096
|
+
group?: React$1.ReactNode;
|
|
1097
|
+
lens?: React$1.ReactNode;
|
|
1098
|
+
governance?: React$1.ReactNode;
|
|
1099
|
+
};
|
|
1100
|
+
/** Ask for the denied models — their ids. Shown in the data reach when some are denied. */
|
|
1101
|
+
onRequestAccess?: (models: string[]) => void;
|
|
1102
|
+
/** The host's settings, at a section — `data`, `governance`. Shown as a link in each popover. */
|
|
1103
|
+
onOpenSettings?: (section: "data" | "governance") => void;
|
|
1104
|
+
}
|
|
1105
|
+
/**
|
|
1106
|
+
* The header of an agent's session: who is answering and where it stands,
|
|
1107
|
+
* then what it can reach and the rules it runs under.
|
|
1108
|
+
*
|
|
1109
|
+
* Line one is the session, the agent and its status, and the host's actions.
|
|
1110
|
+
* Line two — drawn when any of it is given — is the data reach (opens every
|
|
1111
|
+
* model, the records this session sees in each, and what it may do), the
|
|
1112
|
+
* lens, the token budget and the governance badge (opens the rules and what
|
|
1113
|
+
* may leave, per destination). Under 420px of its own width the second line
|
|
1114
|
+
* keeps its marks and counts and drops the words.
|
|
1115
|
+
*
|
|
1116
|
+
* Plain props, no conversation: pass it as a `ChatSession`'s `header`, or
|
|
1117
|
+
* over a run view or a board that shows the same session.
|
|
1118
|
+
*/
|
|
1119
|
+
declare const AgentHeader: React$1.ForwardRefExoticComponent<AgentHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1120
|
+
|
|
797
1121
|
declare const stateVariants: (props?: ({
|
|
798
1122
|
tone?: "active" | "error" | "running" | "draft" | "review" | null | undefined;
|
|
799
1123
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -806,7 +1130,7 @@ interface AppStatusBarProps extends React$1.HTMLAttributes<HTMLDivElement>, Vari
|
|
|
806
1130
|
end?: React$1.ReactNode;
|
|
807
1131
|
}
|
|
808
1132
|
/**
|
|
809
|
-
* The
|
|
1133
|
+
* The `sm` line at the bottom of the window — a control's height.
|
|
810
1134
|
*
|
|
811
1135
|
* It describes the **session**, not the screen: what is loaded, what state it
|
|
812
1136
|
* is in, which build is running. That is why it barely changes as you navigate
|
|
@@ -838,9 +1162,18 @@ interface Artifact {
|
|
|
838
1162
|
* existed and is gone* is a different fact from *no file was written*.
|
|
839
1163
|
*/
|
|
840
1164
|
gone?: boolean;
|
|
1165
|
+
/** A glyph before the name, in `list` — the file's type. Passed in: the kit ships no icon set. */
|
|
1166
|
+
icon?: React$1.ReactNode;
|
|
841
1167
|
}
|
|
842
1168
|
interface ArtifactTableProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
843
1169
|
files: Artifact[];
|
|
1170
|
+
/**
|
|
1171
|
+
* `table` (default) — the step's full record: header, kind, written, and an
|
|
1172
|
+
* Open / Download per row. `list` — name, size and digest in bare rows, for
|
|
1173
|
+
* the files an answer hands over, where the header and buttons would
|
|
1174
|
+
* outweigh two or three names.
|
|
1175
|
+
*/
|
|
1176
|
+
variant?: "table" | "list";
|
|
844
1177
|
onOpen?: (file: Artifact, index: number) => void;
|
|
845
1178
|
onDownload?: (file: Artifact, index: number) => void;
|
|
846
1179
|
/** Anything else a row offers. Replaces the two defaults when given. */
|
|
@@ -863,145 +1196,18 @@ interface ArtifactTableProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
863
1196
|
* wrote an empty file.
|
|
864
1197
|
*/
|
|
865
1198
|
declare const ArtifactTable: React$1.ForwardRefExoticComponent<ArtifactTableProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
/**
|
|
869
|
-
|
|
870
|
-
/**
|
|
871
|
-
|
|
872
|
-
/** How long it took — `30.0s`, or `4.2s…` while it is still running. */
|
|
873
|
-
took?: React$1.ReactNode;
|
|
874
|
-
/** What happened, in one line. */
|
|
875
|
-
what?: React$1.ReactNode;
|
|
876
|
-
tone?: "muted" | "info" | "success" | "warning" | "destructive";
|
|
877
|
-
/** It ran and it did not stick. **Struck, never dropped.** */
|
|
878
|
-
struck?: boolean;
|
|
879
|
-
}
|
|
880
|
-
interface AttemptClockProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
881
|
-
rows: AttemptRow[];
|
|
882
|
-
/**
|
|
883
|
-
* What the two numbers are — `elapsed 32.4s · working 2.3s · the gap is the
|
|
884
|
-
* attempt that timed out`.
|
|
885
|
-
*
|
|
886
|
-
* **Stated, never left as arithmetic.** A reader who has to subtract two
|
|
887
|
-
* durations to find a 30-second timeout has been handed a sum instead of an
|
|
888
|
-
* answer.
|
|
889
|
-
*/
|
|
890
|
-
summary?: React$1.ReactNode;
|
|
891
|
-
}
|
|
892
|
-
/**
|
|
893
|
-
* A step's clock, attempt by attempt.
|
|
894
|
-
*
|
|
895
|
-
* One duration cannot say what happened to a step that timed out once and then
|
|
896
|
-
* returned: `2.1s` is what it *did*, `32.4s` is what a reader waited, and the
|
|
897
|
-
* gap between them **is** the first attempt. So the clock is a row per attempt
|
|
898
|
-
* — queued, each try, settled — and the try that failed keeps its place, struck.
|
|
899
|
-
*
|
|
900
|
-
* Nothing new is recorded for this: it is the `timing` and `attempt` fields the
|
|
901
|
-
* interpreter already writes, read as a list instead of as a total.
|
|
902
|
-
*/
|
|
903
|
-
declare const AttemptClock: React$1.ForwardRefExoticComponent<AttemptClockProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
904
|
-
|
|
905
|
-
/**
|
|
906
|
-
* TODO — provisional. Built ahead of its design review.
|
|
907
|
-
*
|
|
908
|
-
* The chart set was deliberately deferred while the rest of the kit was built,
|
|
909
|
-
* because charts are the one group with a real design question in them rather
|
|
910
|
-
* than a markup question: which forms this product actually needs, at what
|
|
911
|
-
* sizes, and how much a 330px drawer can carry. This component satisfies the
|
|
912
|
-
* dataviz rules and the validated palette, but the *form inventory* has not been
|
|
913
|
-
* agreed — treat the API as unsettled until a board screen uses it in anger.
|
|
914
|
-
*/
|
|
915
|
-
|
|
916
|
-
interface BarDatum {
|
|
917
|
-
label: React$1.ReactNode;
|
|
918
|
-
value: number;
|
|
919
|
-
/**
|
|
920
|
-
* Overrides the series colour for this bar. Use a data-palette token
|
|
921
|
-
* (`var(--color-data-3)`) when the bar's identity is an entity — a node type,
|
|
922
|
-
* a theme — so it matches that entity everywhere else it appears.
|
|
923
|
-
*/
|
|
924
|
-
color?: string;
|
|
925
|
-
/** What the tip should read, if not the raw value. */
|
|
926
|
-
display?: React$1.ReactNode;
|
|
927
|
-
}
|
|
928
|
-
interface BarChartHProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
929
|
-
data: BarDatum[];
|
|
930
|
-
/** Fixes the scale. Defaults to the largest value present. */
|
|
931
|
-
max?: number;
|
|
932
|
-
/** Width of the label column, so bars start on the same x. */
|
|
933
|
-
labelWidth?: number;
|
|
934
|
-
/** Series colour when a datum does not override it. */
|
|
935
|
-
color?: string;
|
|
936
|
-
/** Names what is plotted. A single series needs no legend when this is set. */
|
|
937
|
-
caption?: React$1.ReactNode;
|
|
938
|
-
}
|
|
939
|
-
/**
|
|
940
|
-
* Magnitude across a handful of named things.
|
|
941
|
-
*
|
|
942
|
-
* Horizontal because the labels are words — a stock, a pattern, a theme — and
|
|
943
|
-
* words read badly rotated under a column. Bars grow from a single baseline on
|
|
944
|
-
* the left, so length is the only thing carrying the value.
|
|
945
|
-
*
|
|
946
|
-
* One series, so there is no legend: `caption` names what is plotted. Every bar
|
|
947
|
-
* is directly labelled at its tip, which is also what discharges the light-mode
|
|
948
|
-
* contrast obligation on the data palette — identity and value are never
|
|
949
|
-
* carried by hue alone.
|
|
950
|
-
*/
|
|
951
|
-
declare const BarChartH: React$1.ForwardRefExoticComponent<BarChartHProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
952
|
-
|
|
953
|
-
/**
|
|
954
|
-
* TODO — provisional. Built ahead of its design review.
|
|
955
|
-
*
|
|
956
|
-
* The chart set was deliberately deferred while the rest of the kit was built,
|
|
957
|
-
* because charts are the one group with a real design question in them rather
|
|
958
|
-
* than a markup question: which forms this product actually needs, at what
|
|
959
|
-
* sizes, and how much a 330px drawer can carry. This component satisfies the
|
|
960
|
-
* dataviz rules and the validated palette, but the *form inventory* has not been
|
|
961
|
-
* agreed — treat the API as unsettled until a board screen uses it in anger.
|
|
962
|
-
*/
|
|
963
|
-
|
|
964
|
-
interface ColumnDatum {
|
|
965
|
-
/** The period — `wk 36`. */
|
|
966
|
-
label: React$1.ReactNode;
|
|
967
|
-
/** A second line under the label — `1–5 Sep`. */
|
|
968
|
-
sublabel?: React$1.ReactNode;
|
|
969
|
-
value: number;
|
|
970
|
-
display?: React$1.ReactNode;
|
|
971
|
-
}
|
|
972
|
-
interface BarChartVProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
973
|
-
data: ColumnDatum[];
|
|
974
|
-
/** Fixes the scale. Defaults to the largest value present. */
|
|
975
|
-
max?: number;
|
|
976
|
-
/** Values to draw a hairline at — `[50, 75, 100]`. */
|
|
977
|
-
gridlines?: number[];
|
|
978
|
-
height?: number;
|
|
979
|
-
color?: string;
|
|
980
|
-
/** Colour for the column the story is about. Defaults to `color`. */
|
|
981
|
-
highlightColor?: string;
|
|
982
|
-
/** Which column carries the emphasis — usually the most recent. */
|
|
983
|
-
highlightIndex?: number;
|
|
984
|
-
/**
|
|
985
|
-
* Which columns get a value on the cap.
|
|
986
|
-
*
|
|
987
|
-
* `last` by default. A number on every column stops being a label and becomes
|
|
988
|
-
* texture; the gridlines carry the rest.
|
|
989
|
-
*/
|
|
990
|
-
labelMode?: "last" | "all" | "none";
|
|
991
|
-
caption?: React$1.ReactNode;
|
|
1199
|
+
interface ArtifactCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1200
|
+
file: Artifact;
|
|
1201
|
+
/** The line under the name — `48 KB · kept for 7 days`, `412 rows · missing store code`. */
|
|
1202
|
+
note?: React$1.ReactNode;
|
|
1203
|
+
/** At the right — a `Download` button, or a tag saying what the file is. */
|
|
1204
|
+
aside?: React$1.ReactNode;
|
|
992
1205
|
}
|
|
993
1206
|
/**
|
|
994
|
-
* One
|
|
995
|
-
*
|
|
996
|
-
* Vertical because the x-axis is time and time reads left to right. Columns are
|
|
997
|
-
* capped at 24px and separated by real gaps, so the band's leftover is air
|
|
998
|
-
* rather than a fatter bar.
|
|
999
|
-
*
|
|
1000
|
-
* `labelMode` defaults to `last`: the current period is the one being asked
|
|
1001
|
-
* about, and the gridlines carry the others. One series, so no legend —
|
|
1002
|
-
* `caption` says what is plotted.
|
|
1207
|
+
* One file, as the whole of what an answer hands over: its type, its name,
|
|
1208
|
+
* what it holds and what to do with it. Several files are an `ArtifactTable`.
|
|
1003
1209
|
*/
|
|
1004
|
-
declare const
|
|
1210
|
+
declare const ArtifactCard: React$1.ForwardRefExoticComponent<ArtifactCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1005
1211
|
|
|
1006
1212
|
/**
|
|
1007
1213
|
* The capabilities Invana ships today — **suggestions, not a limit.**
|
|
@@ -1092,6 +1298,11 @@ interface CannotAnswerCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1092
1298
|
remedy?: React$1.ReactNode;
|
|
1093
1299
|
/** Overrides the label. Defaults to `cannot answer`. */
|
|
1094
1300
|
label?: React$1.ReactNode;
|
|
1301
|
+
/**
|
|
1302
|
+
* `info` for an answer given in part: the card says which part the data
|
|
1303
|
+
* does not hold, above the answer that covers the rest.
|
|
1304
|
+
*/
|
|
1305
|
+
tone?: "default" | "info";
|
|
1095
1306
|
}
|
|
1096
1307
|
/**
|
|
1097
1308
|
* The graph does not hold what was asked.
|
|
@@ -1117,7 +1328,7 @@ declare const CannotAnswerCard: React$1.ForwardRefExoticComponent<CannotAnswerCa
|
|
|
1117
1328
|
*
|
|
1118
1329
|
* `agent` is the **spine**: the runtime itself, which does the participating
|
|
1119
1330
|
* rather than being a participant, and is never governed. Nothing in this file
|
|
1120
|
-
* knows that —
|
|
1331
|
+
* knows that — the surface that draws the layers says so.
|
|
1121
1332
|
*/
|
|
1122
1333
|
type KnownLayer = "graph_data" | "llm" | "third_party" | "cache" | "human" | "agent";
|
|
1123
1334
|
/**
|
|
@@ -1219,7 +1430,7 @@ interface LayerChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "
|
|
|
1219
1430
|
/**
|
|
1220
1431
|
* One class of participant, as a swatch and a name.
|
|
1221
1432
|
*
|
|
1222
|
-
* It heads a `LayerSection`,
|
|
1433
|
+
* It heads a `LayerSection`, names a layer's row in a run's `Gantt`, and counts a layer in
|
|
1223
1434
|
* the Worlds drawer — everywhere a reader has to know *what kind of thing this
|
|
1224
1435
|
* is* before reading which one.
|
|
1225
1436
|
*
|
|
@@ -1325,6 +1536,8 @@ interface CastTableProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "c
|
|
|
1325
1536
|
*/
|
|
1326
1537
|
resolved?: CastResolution[];
|
|
1327
1538
|
readOnly?: boolean;
|
|
1539
|
+
/** Passed to the table: no box, outer columns flush — for a cast inside a panel. */
|
|
1540
|
+
seamless?: boolean;
|
|
1328
1541
|
}
|
|
1329
1542
|
/**
|
|
1330
1543
|
* `role → resolves to → why this one`, four fixed rows.
|
|
@@ -1347,6 +1560,30 @@ interface CastTableProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "c
|
|
|
1347
1560
|
*/
|
|
1348
1561
|
declare const CastTable: React$1.ForwardRefExoticComponent<CastTableProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1349
1562
|
|
|
1563
|
+
interface CaveatNoteProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1564
|
+
/** The kind of caveat, one word — `indicative`, `association`, `simulation`. */
|
|
1565
|
+
label: React$1.ReactNode;
|
|
1566
|
+
/** What was excluded, imputed or assumed, and how far to trust the figure. */
|
|
1567
|
+
children?: React$1.ReactNode;
|
|
1568
|
+
/**
|
|
1569
|
+
* `warning` (the default) qualifies the figure. `info` says what was filled
|
|
1570
|
+
* in rather than measured; `destructive` says the data itself is wrong or late.
|
|
1571
|
+
*/
|
|
1572
|
+
tone?: "warning" | "info" | "destructive";
|
|
1573
|
+
/** A link after the text, to what the caveat is about — `Show the 4 stores`. */
|
|
1574
|
+
action?: React$1.ReactNode;
|
|
1575
|
+
onAction?: () => void;
|
|
1576
|
+
}
|
|
1577
|
+
/**
|
|
1578
|
+
* How far to trust the figure above it.
|
|
1579
|
+
*
|
|
1580
|
+
* What was excluded, imputed or assumed, said beside the answer rather than
|
|
1581
|
+
* in a footnote, and labelled with its kind so a reader scanning several
|
|
1582
|
+
* answers can tell an association from a simulation at a glance. Tinted, not
|
|
1583
|
+
* bordered: it qualifies the answer, it is not an error.
|
|
1584
|
+
*/
|
|
1585
|
+
declare const CaveatNote: React$1.ForwardRefExoticComponent<CaveatNoteProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1586
|
+
|
|
1350
1587
|
interface ChatSessionProps {
|
|
1351
1588
|
/** The message list — typically `<ChatSessionMessage />` nodes. */
|
|
1352
1589
|
children?: React$1.ReactNode;
|
|
@@ -1375,6 +1612,8 @@ interface ChatSessionProps {
|
|
|
1375
1612
|
* ResizeObserver watches the message column), but only while the user is already
|
|
1376
1613
|
* near the bottom — scroll up to read history and the view stays put. Layout and
|
|
1377
1614
|
* scroll behaviour only; it owns no session state.
|
|
1615
|
+
*
|
|
1616
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1378
1617
|
*/
|
|
1379
1618
|
declare function ChatSession({ children, footer, emptyState, autoScrollKey, followThreshold, className, bodyClassName, }: ChatSessionProps): React$1.JSX.Element;
|
|
1380
1619
|
|
|
@@ -1412,6 +1651,8 @@ interface ChatSessionMessageProps {
|
|
|
1412
1651
|
*
|
|
1413
1652
|
* Presentational only — no data fetching or state — so it composes over any
|
|
1414
1653
|
* backend.
|
|
1654
|
+
*
|
|
1655
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1415
1656
|
*/
|
|
1416
1657
|
declare function ChatSessionMessage({ role, children, status, icon, meta, actions, footer, className, }: ChatSessionMessageProps): React$1.JSX.Element;
|
|
1417
1658
|
|
|
@@ -1447,6 +1688,8 @@ interface ChatSessionMessageOptionsProps {
|
|
|
1447
1688
|
*
|
|
1448
1689
|
* Purely presentational and icon-agnostic: you supply the icons and handlers, so
|
|
1449
1690
|
* it slots into any backend.
|
|
1691
|
+
*
|
|
1692
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1450
1693
|
*/
|
|
1451
1694
|
declare function ChatSessionMessageOptions({ actions, className, }: ChatSessionMessageOptionsProps): React$1.JSX.Element;
|
|
1452
1695
|
|
|
@@ -1487,6 +1730,8 @@ interface ChatSessionComposerProps {
|
|
|
1487
1730
|
* Deliberately dependency-free — no query-language editor or provider selects
|
|
1488
1731
|
* are baked in. Drop your own controls into `toolbarStart` / `toolbarEnd` (and
|
|
1489
1732
|
* a QL editor into a custom layout if you need one).
|
|
1733
|
+
*
|
|
1734
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1490
1735
|
*/
|
|
1491
1736
|
declare function ChatSessionComposer({ value, onChange, onSend, onStop, isRunning, disabled, placeholder, toolbarStart, toolbarEnd, attachments, sendIcon, stopIcon, sendDisabled, className, textareaClassName, }: ChatSessionComposerProps): React$1.JSX.Element;
|
|
1492
1737
|
|
|
@@ -1495,6 +1740,8 @@ declare function ChatSessionComposer({ value, onChange, onSend, onStop, isRunnin
|
|
|
1495
1740
|
* status dot, prompt caret, spinner — occupies this fixed-width column so all
|
|
1496
1741
|
* body text starts on one left edge ({@link ChatSessionPromptRow},
|
|
1497
1742
|
* {@link ChatSessionProgressLine} and this row all use it).
|
|
1743
|
+
*
|
|
1744
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1498
1745
|
*/
|
|
1499
1746
|
declare const chatSessionGutterClass = "w-3.5 shrink-0 flex justify-center";
|
|
1500
1747
|
/**
|
|
@@ -1526,6 +1773,8 @@ interface ChatSessionActivityRowProps {
|
|
|
1526
1773
|
* `actions` for the re-run / view-query / copy / vote toolbar.
|
|
1527
1774
|
*
|
|
1528
1775
|
* Presentational only — no data fetching or state.
|
|
1776
|
+
*
|
|
1777
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1529
1778
|
*/
|
|
1530
1779
|
declare function ChatSessionActivityRow({ status, marker, children, actions, meta, footer, className, }: ChatSessionActivityRowProps): React$1.JSX.Element;
|
|
1531
1780
|
interface ChatSessionActivitySubLineProps {
|
|
@@ -1538,6 +1787,8 @@ interface ChatSessionActivitySubLineProps {
|
|
|
1538
1787
|
* An indented detail line under an activity row — "└ Backgrounded agent
|
|
1539
1788
|
* (↓ to manage)", an interruption note, a one-line result. Render inside the
|
|
1540
1789
|
* row's `footer` (or directly after the body in `children`).
|
|
1790
|
+
*
|
|
1791
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1541
1792
|
*/
|
|
1542
1793
|
declare function ChatSessionActivitySubLine({ elbow, children, className, }: ChatSessionActivitySubLineProps): React$1.JSX.Element;
|
|
1543
1794
|
|
|
@@ -1558,6 +1809,8 @@ interface ChatSessionPromptRowProps {
|
|
|
1558
1809
|
* Full bleed assumes the default `ChatSession` body padding (`p-3`) — the
|
|
1559
1810
|
* negative margins here cancel it. If you override `bodyClassName` with a
|
|
1560
1811
|
* different horizontal padding, pass matching `-mx-*`/`px-*` via `className`.
|
|
1812
|
+
*
|
|
1813
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1561
1814
|
*/
|
|
1562
1815
|
declare function ChatSessionPromptRow({ children, caret, meta, className, }: ChatSessionPromptRowProps): React$1.JSX.Element;
|
|
1563
1816
|
|
|
@@ -1574,6 +1827,8 @@ interface ChatSessionProgressLineProps {
|
|
|
1574
1827
|
* A transient "work in flight" line in the transcript — spinner in the shared
|
|
1575
1828
|
* gutter, label, and an optional right-aligned elapsed readout. Replace it with
|
|
1576
1829
|
* a settled {@link ChatSessionActivityRow} when the run finishes.
|
|
1830
|
+
*
|
|
1831
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1577
1832
|
*/
|
|
1578
1833
|
declare function ChatSessionProgressLine({ children, spinner, elapsed, className, }: ChatSessionProgressLineProps): React$1.JSX.Element;
|
|
1579
1834
|
|
|
@@ -1589,6 +1844,13 @@ interface ChatSessionDisclosureProps {
|
|
|
1589
1844
|
/** Uncontrolled initial state. Defaults to closed. */
|
|
1590
1845
|
defaultOpen?: boolean;
|
|
1591
1846
|
onOpenChange?: (open: boolean) => void;
|
|
1847
|
+
/**
|
|
1848
|
+
* `card` (default) is a bordered block under an activity row. `inline` is a
|
|
1849
|
+
* bare line inside an answer — `▸ method` with its meta at the right in mono —
|
|
1850
|
+
* that opens onto a preformatted code block when its content is text, or onto
|
|
1851
|
+
* the content as given — code, the facts under it, a list of steps — when not.
|
|
1852
|
+
*/
|
|
1853
|
+
variant?: "card" | "inline";
|
|
1592
1854
|
/** Custom chevron node; the default "▸" rotates when open. */
|
|
1593
1855
|
chevron?: React$1.ReactNode;
|
|
1594
1856
|
className?: string;
|
|
@@ -1602,8 +1864,30 @@ interface ChatSessionDisclosureProps {
|
|
|
1602
1864
|
* `overflow-x-auto` body, matching the transcript's nested-detail grammar.
|
|
1603
1865
|
*
|
|
1604
1866
|
* Controlled (`open` + `onOpenChange`) or uncontrolled (`defaultOpen`).
|
|
1867
|
+
*
|
|
1868
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1869
|
+
*/
|
|
1870
|
+
declare function ChatSessionDisclosure({ label, meta, children, open, defaultOpen, onOpenChange, variant, chevron, className, contentClassName, }: ChatSessionDisclosureProps): React$1.JSX.Element;
|
|
1871
|
+
/**
|
|
1872
|
+
* The code an inline disclosure opens onto, when it opens onto more than code:
|
|
1873
|
+
* a query, a formula, a model. `<strong>` inside marks its keywords.
|
|
1874
|
+
*
|
|
1875
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1605
1876
|
*/
|
|
1606
|
-
declare function
|
|
1877
|
+
declare function ChatSessionDisclosureCode({ className, ...props }: React$1.HTMLAttributes<HTMLPreElement>): React$1.JSX.Element;
|
|
1878
|
+
interface ChatSessionDisclosureStepsProps extends React$1.OlHTMLAttributes<HTMLOListElement> {
|
|
1879
|
+
/** Each step in the order it ran, with its count or time at the right. */
|
|
1880
|
+
steps: {
|
|
1881
|
+
label: React$1.ReactNode;
|
|
1882
|
+
detail?: React$1.ReactNode;
|
|
1883
|
+
}[];
|
|
1884
|
+
}
|
|
1885
|
+
/**
|
|
1886
|
+
* A method of several steps, numbered in the order they ran.
|
|
1887
|
+
*
|
|
1888
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1889
|
+
*/
|
|
1890
|
+
declare function ChatSessionDisclosureSteps({ steps, className, ...props }: ChatSessionDisclosureStepsProps): React$1.JSX.Element;
|
|
1607
1891
|
|
|
1608
1892
|
/**
|
|
1609
1893
|
* Lifecycle of a background task / session. Mapped to the status tokens from
|
|
@@ -1629,7 +1913,9 @@ interface ChatSessionTaskRowProps {
|
|
|
1629
1913
|
/**
|
|
1630
1914
|
* One background task / agent / session: status dot, bold name, truncating
|
|
1631
1915
|
* description, right-aligned meta. Used both in the pinned strip under a
|
|
1632
|
-
* transcript and in the grouped task
|
|
1916
|
+
* transcript and in the grouped task board ({@link ChatSessionTaskGroup}).
|
|
1917
|
+
*
|
|
1918
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1633
1919
|
*/
|
|
1634
1920
|
declare function ChatSessionTaskRow({ status, indicator, name, description, meta, onClick, className, }: ChatSessionTaskRowProps): React$1.JSX.Element;
|
|
1635
1921
|
interface ChatSessionTaskGroupProps {
|
|
@@ -1641,7 +1927,9 @@ interface ChatSessionTaskGroupProps {
|
|
|
1641
1927
|
}
|
|
1642
1928
|
/**
|
|
1643
1929
|
* A titled section of task rows — the "Needs input" / "Completed" groups of a
|
|
1644
|
-
* session
|
|
1930
|
+
* session board.
|
|
1931
|
+
*
|
|
1932
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1645
1933
|
*/
|
|
1646
1934
|
declare function ChatSessionTaskGroup({ heading, children, className, }: ChatSessionTaskGroupProps): React$1.JSX.Element;
|
|
1647
1935
|
|
|
@@ -1656,6 +1944,8 @@ interface ChatSessionStatusBarProps {
|
|
|
1656
1944
|
* The slim bar under a chat session's composer — mode indicator, view
|
|
1657
1945
|
* switches, agent counts, keyboard hints. Two slots, muted by default; put
|
|
1658
1946
|
* interactive elements (buttons, toggles) straight into the slots.
|
|
1947
|
+
*
|
|
1948
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1659
1949
|
*/
|
|
1660
1950
|
declare function ChatSessionStatusBar({ start, end, className, }: ChatSessionStatusBarProps): React$1.JSX.Element;
|
|
1661
1951
|
|
|
@@ -1679,19 +1969,46 @@ interface ChatSessionContextChipProps extends React$1.HTMLAttributes<HTMLDivElem
|
|
|
1679
1969
|
*
|
|
1680
1970
|
* It states the binding in words. A highlight on the canvas alone would leave
|
|
1681
1971
|
* the reader guessing what scope their question has.
|
|
1972
|
+
*
|
|
1973
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1682
1974
|
*/
|
|
1683
1975
|
declare function ChatSessionContextChip({ icon, onDismiss, dismissLabel, className, children, ...props }: ChatSessionContextChipProps): React$1.JSX.Element;
|
|
1684
1976
|
|
|
1977
|
+
/**
|
|
1978
|
+
* The cursor at the end of text that is still being written. A block, not a
|
|
1979
|
+
* bar: it reads as the place the next word lands.
|
|
1980
|
+
*
|
|
1981
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1982
|
+
*/
|
|
1983
|
+
declare function ChatSessionCaret({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): React$1.JSX.Element;
|
|
1984
|
+
|
|
1685
1985
|
interface CitationRowProps extends Omit<React$1.HTMLAttributes<HTMLLIElement>, "children"> {
|
|
1686
1986
|
/** What kind of record this is — `Article`, `Bar`, `Event`. */
|
|
1687
|
-
kind
|
|
1987
|
+
kind?: React$1.ReactNode;
|
|
1988
|
+
/**
|
|
1989
|
+
* The number an answer cites it by — `1` renders as `[1]`. Numbered rows are
|
|
1990
|
+
* how an answer's markers are resolved, so the number leads the row.
|
|
1991
|
+
*/
|
|
1992
|
+
marker?: React$1.ReactNode;
|
|
1688
1993
|
/** The record itself, in the words it was stored with. */
|
|
1689
1994
|
children?: React$1.ReactNode;
|
|
1690
1995
|
/** Where it came from — the dataset, the publisher, the timestamp. */
|
|
1691
1996
|
source?: React$1.ReactNode;
|
|
1997
|
+
/** How many records it contributed — `3,406`, `5 days`. Mono, at the right. */
|
|
1998
|
+
count?: React$1.ReactNode;
|
|
1999
|
+
/** A second line under the record — what kind of source it is and how fresh: `table · loaded 28 Sep`. */
|
|
2000
|
+
detail?: React$1.ReactNode;
|
|
2001
|
+
/** The row the reader is on — the one a lit marker in the prose points to. */
|
|
2002
|
+
active?: boolean;
|
|
1692
2003
|
}
|
|
1693
2004
|
interface CitationListProps extends React$1.HTMLAttributes<HTMLUListElement> {
|
|
1694
2005
|
children?: React$1.ReactNode;
|
|
2006
|
+
/**
|
|
2007
|
+
* A line under the sources. `warning` when it says the answer rests on no
|
|
2008
|
+
* records — which is said out loud, never left for the zeros to imply.
|
|
2009
|
+
*/
|
|
2010
|
+
note?: React$1.ReactNode;
|
|
2011
|
+
noteTone?: "muted" | "warning";
|
|
1695
2012
|
}
|
|
1696
2013
|
/**
|
|
1697
2014
|
* The records an answer rests on.
|
|
@@ -1747,21 +2064,56 @@ interface ClarifyOption {
|
|
|
1747
2064
|
detail?: React$1.ReactNode;
|
|
1748
2065
|
disabled?: boolean;
|
|
1749
2066
|
}
|
|
2067
|
+
/**
|
|
2068
|
+
* Where the ask is in its life. `pending` waits on the reader; the rest are
|
|
2069
|
+
* settled and read-only. Open: a surface may name its own.
|
|
2070
|
+
*/
|
|
2071
|
+
type ClarifyState = "pending" | "answered" | "skipped" | "superseded" | "expired" | (string & {});
|
|
1750
2072
|
interface ClarifyCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
2073
|
+
/** @default "pending" */
|
|
2074
|
+
state?: ClarifyState;
|
|
2075
|
+
/** The header's word while the ask waits — `confirm` for a yes-or-no. @default "question" */
|
|
2076
|
+
kind?: React$1.ReactNode;
|
|
1751
2077
|
/** Which step asked — `understand`. */
|
|
1752
2078
|
step?: React$1.ReactNode;
|
|
1753
2079
|
/** How long it has been waiting — `parked 14 min`. */
|
|
1754
2080
|
waiting?: React$1.ReactNode;
|
|
2081
|
+
/** When it settled — `just now`, `2 min ago`. At the header's right, after `waiting`. */
|
|
2082
|
+
time?: React$1.ReactNode;
|
|
1755
2083
|
/** The question. One sentence. */
|
|
1756
|
-
question
|
|
1757
|
-
|
|
2084
|
+
question?: React$1.ReactNode;
|
|
2085
|
+
/** The choices, as one Questionnaire item. Ignored when `children` is given. */
|
|
2086
|
+
options?: ClarifyOption[];
|
|
1758
2087
|
value?: string;
|
|
1759
2088
|
onSelect?: (value: string) => void;
|
|
1760
|
-
/**
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
2089
|
+
/**
|
|
2090
|
+
* Any other control, in place of `options` — a `Questionnaire` of several
|
|
2091
|
+
* steps, a form, a summary of the answers.
|
|
2092
|
+
*/
|
|
2093
|
+
children?: React$1.ReactNode;
|
|
2094
|
+
/** Why these options and not others, or where a default came from. */
|
|
2095
|
+
footnote?: React$1.ReactNode;
|
|
2096
|
+
/** The confirm control. */
|
|
2097
|
+
actions?: React$1.ReactNode;
|
|
2098
|
+
/** Which edge the actions sit on. @default "start" */
|
|
2099
|
+
actionsAlign?: "start" | "end";
|
|
2100
|
+
}
|
|
2101
|
+
interface ClarifyFootnoteProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
|
|
2102
|
+
children?: React$1.ReactNode;
|
|
2103
|
+
}
|
|
2104
|
+
/** The line under an ask: why these options, or where a default came from. *
|
|
2105
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
2106
|
+
*/
|
|
2107
|
+
declare const ClarifyFootnote: React$1.ForwardRefExoticComponent<ClarifyFootnoteProps & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
2108
|
+
interface ClarifyActionsProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2109
|
+
/** Which edge the actions sit on. @default "start" */
|
|
2110
|
+
align?: "start" | "end";
|
|
2111
|
+
children?: React$1.ReactNode;
|
|
1764
2112
|
}
|
|
2113
|
+
/** The row of controls that answers, skips or changes an ask. *
|
|
2114
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
2115
|
+
*/
|
|
2116
|
+
declare const ClarifyActions: React$1.ForwardRefExoticComponent<ClarifyActionsProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1765
2117
|
/**
|
|
1766
2118
|
* The run stopped and asked, rather than guessing.
|
|
1767
2119
|
*
|
|
@@ -1774,6 +2126,14 @@ interface ClarifyCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
1774
2126
|
* holds, which is why `detail` exists and why `footnote` is worth saying out
|
|
1775
2127
|
* loud. A card that offered invented options would undo the grounding the rest
|
|
1776
2128
|
* of the system is built on.
|
|
2129
|
+
*
|
|
2130
|
+
* **One card through the ask's whole life.** `pending` offers the choice; once
|
|
2131
|
+
* `answered`, `skipped`, `superseded` or `expired` the header says so and the
|
|
2132
|
+
* body is read-only. The body is `options` for a choice, or any control passed
|
|
2133
|
+
* as `children` — a `Questionnaire` of several steps (with its progress and
|
|
2134
|
+
* Skip / Next), a form, or the answers of a finished multi-step ask.
|
|
2135
|
+
*
|
|
2136
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1777
2137
|
*/
|
|
1778
2138
|
declare const ClarifyCard: React$1.ForwardRefExoticComponent<ClarifyCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1779
2139
|
|
|
@@ -1792,7 +2152,8 @@ interface ContextBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1792
2152
|
hint?: React$1.ReactNode;
|
|
1793
2153
|
}
|
|
1794
2154
|
/**
|
|
1795
|
-
* The
|
|
2155
|
+
* The `sm` bar between a panel and the status bar — a control's height, so
|
|
2156
|
+
* it lines up with the controls it sits beside.
|
|
1796
2157
|
*
|
|
1797
2158
|
* It answers "where am I, and what is true right now" — the view switch, the
|
|
1798
2159
|
* counts that matter for the work in front of you, and the shortcut that
|
|
@@ -1856,100 +2217,19 @@ interface DiffListProps extends React$1.HTMLAttributes<HTMLUListElement> {
|
|
|
1856
2217
|
declare const DiffList: React$1.ForwardRefExoticComponent<DiffListProps & React$1.RefAttributes<HTMLUListElement>>;
|
|
1857
2218
|
declare const DiffRow: React$1.ForwardRefExoticComponent<DiffRowProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
1858
2219
|
|
|
1859
|
-
/**
|
|
1860
|
-
* TODO — provisional. Built ahead of its design review.
|
|
1861
|
-
*
|
|
1862
|
-
* The chart set was deliberately deferred while the rest of the kit was built,
|
|
1863
|
-
* because charts are the one group with a real design question in them rather
|
|
1864
|
-
* than a markup question: which forms this product actually needs, at what
|
|
1865
|
-
* sizes, and how much a 330px drawer can carry. This component satisfies the
|
|
1866
|
-
* dataviz rules and the validated palette, but the *form inventory* has not been
|
|
1867
|
-
* agreed — treat the API as unsettled until a board screen uses it in anger.
|
|
1868
|
-
*/
|
|
1869
|
-
|
|
1870
|
-
interface DivergingDatum {
|
|
1871
|
-
label: React$1.ReactNode;
|
|
1872
|
-
/** Signed. The sign is the whole point of this chart. */
|
|
1873
|
-
value: number;
|
|
1874
|
-
display?: React$1.ReactNode;
|
|
1875
|
-
}
|
|
1876
|
-
interface DivergingBarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1877
|
-
data: DivergingDatum[];
|
|
1878
|
-
/** Fixes the scale on both sides. Defaults to the largest magnitude present. */
|
|
1879
|
-
max?: number;
|
|
1880
|
-
labelWidth?: number;
|
|
1881
|
-
/** Above the midpoint. Defaults to `--color-success`. */
|
|
1882
|
-
positiveColor?: string;
|
|
1883
|
-
/** Below it. Defaults to `--color-destructive`. */
|
|
1884
|
-
negativeColor?: string;
|
|
1885
|
-
caption?: React$1.ReactNode;
|
|
1886
|
-
}
|
|
1887
|
-
/**
|
|
1888
|
-
* Polarity — how far either side of zero.
|
|
1889
|
-
*
|
|
1890
|
-
* A net learning weight, a delta against a baseline, a sentiment score. The
|
|
1891
|
-
* midpoint is a real zero line, drawn in the neutral border colour, and both
|
|
1892
|
-
* sides share one scale so a `−9` is visibly longer than a `+6`.
|
|
1893
|
-
*
|
|
1894
|
-
* The poles use the **status** colours rather than data-palette hues, because
|
|
1895
|
-
* this chart's two directions are good and bad, not two categories. That is the
|
|
1896
|
-
* one place status colour belongs on a chart — it is encoding valence, not
|
|
1897
|
-
* identity, so it is never "series 1 and series 2". Every bar is directly
|
|
1898
|
-
* labelled, so the sign is readable without seeing colour at all.
|
|
1899
|
-
*/
|
|
1900
|
-
declare const DivergingBar: React$1.ForwardRefExoticComponent<DivergingBarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1901
|
-
|
|
1902
|
-
/**
|
|
1903
|
-
* What of the Graph's data may accompany a call across the boundary.
|
|
1904
|
-
*
|
|
1905
|
-
* A **closed** set, because an open one is a list nobody can audit: a reader
|
|
1906
|
-
* has to know that what is not named cannot be sent, and that only holds if the
|
|
1907
|
-
* vocabulary is fixed.
|
|
1908
|
-
*/
|
|
1909
|
-
type EgressClass = "type_names" | "property_names" | "the_question" | "property_values" | "record_ids" | "aggregates" | "everything";
|
|
1910
|
-
interface EgressListProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1911
|
-
/** The destination this governs — `llm/anthropic-prod/claude-opus-5`. */
|
|
1912
|
-
to: string;
|
|
1913
|
-
/** What may be sent. **Empty is the default and means nothing may.** */
|
|
1914
|
-
classes?: EgressClass[];
|
|
1915
|
-
/**
|
|
1916
|
-
* What was actually withheld on a real crossing. Absent reads as a **rule**
|
|
1917
|
-
* at rest; present reads as an **event** — see the note below.
|
|
1918
|
-
*/
|
|
1919
|
-
cut?: EgressClass[];
|
|
1920
|
-
}
|
|
1921
|
-
/**
|
|
1922
|
-
* Per destination: what may be sent, and what was cut.
|
|
1923
|
-
*
|
|
1924
|
-
* **Egress is declared per destination, on the rule that matched it.** A
|
|
1925
|
-
* run-wide setting would have to be the strictest of its destinations, which is
|
|
1926
|
-
* the least useful one — so this component is always about *one* address, and a
|
|
1927
|
-
* surface showing several renders several.
|
|
1928
|
-
*
|
|
1929
|
-
* **Reading a thing and sending it are different permissions.** A query may
|
|
1930
|
-
* filter on `Deal.revenue` while the value never enters a prompt — used to
|
|
1931
|
-
* **compute**, not to **reason**. That is the distinction this list exists to
|
|
1932
|
-
* make visible, and it is why `property_values` being absent is worth as much
|
|
1933
|
-
* screen as the classes that are present.
|
|
1934
|
-
*
|
|
1935
|
-
* **`cut` is what makes it evidence rather than configuration.** The same
|
|
1936
|
-
* component states the bound before a run and what the bound actually withheld
|
|
1937
|
-
* after one; without `cut`, a reader cannot tell a rule that did work from a
|
|
1938
|
-
* rule that never bit.
|
|
1939
|
-
*
|
|
1940
|
-
* An empty `classes` is drawn in words, because the lens default is `[]` and a
|
|
1941
|
-
* blank row would read as *not configured* rather than *nothing may leave*.
|
|
1942
|
-
*/
|
|
1943
|
-
declare const EgressList: React$1.ForwardRefExoticComponent<EgressListProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1944
|
-
|
|
1945
2220
|
/**
|
|
1946
2221
|
* How an answer's records are rendered. A kind is a *body inside* the emission
|
|
1947
2222
|
* card, never a block of its own (DS9) — so this names the body, it does not
|
|
1948
2223
|
* pick a different container.
|
|
2224
|
+
*
|
|
2225
|
+
* Open: the names below are the common ones, and an assistant answer labels
|
|
2226
|
+
* its card in the grammar's own words — `ranked`, `scenario`, `model check`.
|
|
1949
2227
|
*/
|
|
1950
|
-
type EmissionKind = "metric" | "table" | "chart" | "subgraph" | "prose" | "empty" | "html";
|
|
1951
|
-
interface EmissionHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2228
|
+
type EmissionKind = "metric" | "table" | "chart" | "subgraph" | "prose" | "empty" | "html" | (string & {});
|
|
2229
|
+
interface EmissionHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
1952
2230
|
kind: EmissionKind;
|
|
2231
|
+
/** What the card shows, in words — `Apex Components, weekly lead time`. */
|
|
2232
|
+
title?: React$1.ReactNode;
|
|
1953
2233
|
/** The projection template that rendered it — `table-compact@3`. Shown in mono. */
|
|
1954
2234
|
template?: React$1.ReactNode;
|
|
1955
2235
|
/**
|
|
@@ -1966,6 +2246,7 @@ interface EmissionHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1966
2246
|
actions?: React$1.ReactNode;
|
|
1967
2247
|
}
|
|
1968
2248
|
interface EmissionCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title">, Omit<EmissionHeaderProps, keyof React$1.HTMLAttributes<HTMLDivElement>> {
|
|
2249
|
+
title?: React$1.ReactNode;
|
|
1969
2250
|
/** Set false to render the body alone, where a surface supplies its own header. */
|
|
1970
2251
|
showHeader?: boolean;
|
|
1971
2252
|
children?: React$1.ReactNode;
|
|
@@ -1977,6 +2258,8 @@ interface EmissionCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
1977
2258
|
* result, a scheduled answer (DS7). It is exported on its own so a surface that
|
|
1978
2259
|
* already owns its container can still show the same header rather than
|
|
1979
2260
|
* inventing a second one that drifts.
|
|
2261
|
+
*
|
|
2262
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1980
2263
|
*/
|
|
1981
2264
|
declare const EmissionHeader: React$1.ForwardRefExoticComponent<EmissionHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1982
2265
|
/**
|
|
@@ -1991,11 +2274,21 @@ declare const EmissionHeader: React$1.ForwardRefExoticComponent<EmissionHeaderPr
|
|
|
1991
2274
|
* object (DS6). It does not know what an Observation is, and it does not fetch,
|
|
1992
2275
|
* re-render or re-query anything; switching templates is the caller's job,
|
|
1993
2276
|
* handed in through `actions`.
|
|
2277
|
+
*
|
|
2278
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1994
2279
|
*/
|
|
1995
2280
|
declare const EmissionCard: React$1.ForwardRefExoticComponent<EmissionCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2281
|
+
/**
|
|
2282
|
+
* The card's body: its blocks in one padded column, each a step apart.
|
|
2283
|
+
*
|
|
2284
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
2285
|
+
*/
|
|
2286
|
+
declare const EmissionBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1996
2287
|
/**
|
|
1997
2288
|
* The `prose` body's citation marker — the superscript that ties a clause to
|
|
1998
|
-
* the records behind it.
|
|
2289
|
+
* the records behind it. Set `data-active` while its source is the one in view.
|
|
2290
|
+
*
|
|
2291
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
1999
2292
|
*/
|
|
2000
2293
|
declare const CitationMarker: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLElement> & React$1.RefAttributes<HTMLElement>>;
|
|
2001
2294
|
|
|
@@ -2029,18 +2322,40 @@ declare const EmptyState: React$1.ForwardRefExoticComponent<EmptyStateProps & Re
|
|
|
2029
2322
|
/** One not-yet-available surface, and the condition that opens it. */
|
|
2030
2323
|
declare const EmptyStateLock: React$1.ForwardRefExoticComponent<EmptyStateLockProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
2031
2324
|
|
|
2032
|
-
|
|
2325
|
+
interface ErrorBoundaryProps {
|
|
2033
2326
|
children: ReactNode;
|
|
2034
|
-
|
|
2327
|
+
/**
|
|
2328
|
+
* Called once for each error the boundary catches, with React's component
|
|
2329
|
+
* stack — where an app reports the error (a log, a counter). The boundary
|
|
2330
|
+
* still shows its fallback; this only observes.
|
|
2331
|
+
*/
|
|
2332
|
+
onError?: (error: Error, info: ErrorInfo) => void;
|
|
2333
|
+
/** What to show instead of the children once they have thrown. Defaults to a short notice. */
|
|
2334
|
+
fallback?: ReactNode;
|
|
2335
|
+
}
|
|
2336
|
+
/**
|
|
2337
|
+
* Catches a render error in its children and shows a fallback in their place,
|
|
2338
|
+
* so one broken region does not blank the whole screen.
|
|
2339
|
+
*
|
|
2340
|
+
* Usage:
|
|
2341
|
+
*
|
|
2342
|
+
* ```tsx
|
|
2343
|
+
* <ErrorBoundary onError={(error) => report(error)}>
|
|
2344
|
+
* <Region />
|
|
2345
|
+
* </ErrorBoundary>
|
|
2346
|
+
* ```
|
|
2347
|
+
*
|
|
2348
|
+
* `onError` is how an app learns what broke; without it the error goes to the
|
|
2349
|
+
* console only.
|
|
2350
|
+
*/
|
|
2351
|
+
declare class ErrorBoundary extends Component<ErrorBoundaryProps, {
|
|
2035
2352
|
hasError: boolean;
|
|
2036
2353
|
}> {
|
|
2037
|
-
constructor(props:
|
|
2038
|
-
|
|
2039
|
-
});
|
|
2040
|
-
static getDerivedStateFromError(_: Error): {
|
|
2354
|
+
constructor(props: ErrorBoundaryProps);
|
|
2355
|
+
static getDerivedStateFromError(): {
|
|
2041
2356
|
hasError: boolean;
|
|
2042
2357
|
};
|
|
2043
|
-
componentDidCatch(error: Error, errorInfo:
|
|
2358
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
2044
2359
|
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | React$1.JSX.Element | null | undefined;
|
|
2045
2360
|
}
|
|
2046
2361
|
|
|
@@ -2114,9 +2429,24 @@ interface EyebrowProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2114
2429
|
* `tone="accent"` is for a label that names something the reader is being
|
|
2115
2430
|
* *taught* rather than something they are scanning — a callout's kind, a
|
|
2116
2431
|
* concept's name. Use it rarely; muted is the default for a reason.
|
|
2432
|
+
*
|
|
2433
|
+
* The label and the aside are centred on each other, not set on one baseline:
|
|
2434
|
+
* an aside is often badges or buttons, and a baseline drops them below the label.
|
|
2117
2435
|
*/
|
|
2118
2436
|
declare const Eyebrow: React$1.ForwardRefExoticComponent<EyebrowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2119
2437
|
|
|
2438
|
+
interface ExpandToggleProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
2439
|
+
open: boolean;
|
|
2440
|
+
/** What opens — `fetch_filings` — read as `Open fetch_filings` / `Close fetch_filings`. */
|
|
2441
|
+
label?: string;
|
|
2442
|
+
}
|
|
2443
|
+
declare function Spacer({ className }: {
|
|
2444
|
+
className?: string;
|
|
2445
|
+
}): React$1.JSX.Element;
|
|
2446
|
+
declare const ExpandToggle: React$1.ForwardRefExoticComponent<ExpandToggleProps & React$1.RefAttributes<HTMLButtonElement>> & {
|
|
2447
|
+
Spacer: typeof Spacer;
|
|
2448
|
+
};
|
|
2449
|
+
|
|
2120
2450
|
interface FilterBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2121
2451
|
/** The filter controls. `FilterChip`s, a `SearchInput`, a toggle. */
|
|
2122
2452
|
children?: React$1.ReactNode;
|
|
@@ -2127,6 +2457,12 @@ interface FilterBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2127
2457
|
* filters ask, so it belongs on the same line as them and nowhere else.
|
|
2128
2458
|
*/
|
|
2129
2459
|
summary?: React$1.ReactNode;
|
|
2460
|
+
/**
|
|
2461
|
+
* No rule under it and no padding at its ends: whatever holds it is the
|
|
2462
|
+
* frame — a table's border under it, the table's edges either side. Off by
|
|
2463
|
+
* default, so a bar over a bare list keeps the rule that divides the two.
|
|
2464
|
+
*/
|
|
2465
|
+
seamless?: boolean;
|
|
2130
2466
|
}
|
|
2131
2467
|
interface FilterChipProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "value"> {
|
|
2132
2468
|
/** The dimension — `status`, `kind`, `agent`, `age`. */
|
|
@@ -2161,62 +2497,72 @@ declare const FilterBar: React$1.ForwardRefExoticComponent<FilterBarProps & Reac
|
|
|
2161
2497
|
/**
|
|
2162
2498
|
* One dimension, as a chip that opens a menu.
|
|
2163
2499
|
*
|
|
2164
|
-
* The caret is drawn rather than iconised so the chip
|
|
2165
|
-
* one token — `status ▾` — instead of a control with an icon glued to it.
|
|
2500
|
+
* The caret is drawn rather than iconised so the chip reads as
|
|
2501
|
+
* one token — `status ▾` — instead of a control with an icon glued to it. It is
|
|
2502
|
+
* a `sm` button: the control scale's 26px, the height of the `sm` search
|
|
2503
|
+
* beside it.
|
|
2166
2504
|
*/
|
|
2167
2505
|
declare const FilterChip: React$1.ForwardRefExoticComponent<FilterChipProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
2168
|
-
|
|
2506
|
+
/** One choice in a {@link MultiFilterChip}: its value, or a value with a label. */
|
|
2507
|
+
type FilterChipOption = string | {
|
|
2508
|
+
value: string;
|
|
2509
|
+
label?: React$1.ReactNode;
|
|
2510
|
+
};
|
|
2511
|
+
interface MultiFilterChipProps {
|
|
2512
|
+
/** The dimension — `kind`, `agent`, `status`. */
|
|
2513
|
+
label: React$1.ReactNode;
|
|
2514
|
+
options: FilterChipOption[];
|
|
2515
|
+
/** What it is narrowed to. Empty means "not filtered". */
|
|
2516
|
+
value: string[];
|
|
2517
|
+
onChange: (next: string[]) => void;
|
|
2518
|
+
/**
|
|
2519
|
+
* Many at once (the default) — a row matches any of them — or one, where
|
|
2520
|
+
* picking a choice replaces the last and picking it again clears it.
|
|
2521
|
+
*/
|
|
2522
|
+
multiple?: boolean;
|
|
2523
|
+
}
|
|
2169
2524
|
/**
|
|
2170
|
-
*
|
|
2171
|
-
*
|
|
2172
|
-
*
|
|
2173
|
-
* because charts are the one group with a real design question in them rather
|
|
2174
|
-
* than a markup question: which forms this product actually needs, at what
|
|
2175
|
-
* sizes, and how much a 330px drawer can carry. This component satisfies the
|
|
2176
|
-
* dataviz rules and the validated palette, but the *form inventory* has not been
|
|
2177
|
-
* agreed — treat the API as unsettled until a board screen uses it in anger.
|
|
2525
|
+
* A `FilterChip` with its menu: the choices for one dimension, checked as
|
|
2526
|
+
* they narrow the list. The chip reads what it is set to — the value, or
|
|
2527
|
+
* `3 selected` — and, once set, carries the × that clears it.
|
|
2178
2528
|
*/
|
|
2529
|
+
declare function MultiFilterChip({ label, options, value, onChange, multiple, }: MultiFilterChipProps): React$1.JSX.Element;
|
|
2179
2530
|
|
|
2180
|
-
interface
|
|
2181
|
-
/**
|
|
2182
|
-
|
|
2183
|
-
/**
|
|
2184
|
-
|
|
2185
|
-
/**
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
/**
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
interface HeatStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2197
|
-
cells: HeatCell[];
|
|
2198
|
-
states: HeatState[];
|
|
2199
|
-
/** Axis ticks under the strip — `[{at: 0, label: '09'}, …]`. */
|
|
2200
|
-
ticks?: {
|
|
2201
|
-
at: number;
|
|
2202
|
-
label: React$1.ReactNode;
|
|
2203
|
-
}[];
|
|
2204
|
-
cellSize?: number;
|
|
2531
|
+
interface FloatingPanelProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2532
|
+
/** What the panel is — `Activity`, `Logs`. */
|
|
2533
|
+
title: React$1.ReactNode;
|
|
2534
|
+
/** Beside the title — a `live` dot, a count, a view switch. */
|
|
2535
|
+
aside?: React$1.ReactNode;
|
|
2536
|
+
/** Folded to its bar: the body is hidden and `summary` takes the title's room. */
|
|
2537
|
+
collapsed?: boolean;
|
|
2538
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
2539
|
+
/** What a folded panel still says — `● 3 · 4 layers`. */
|
|
2540
|
+
summary?: React$1.ReactNode;
|
|
2541
|
+
/** Shows a close control at the end of the bar. */
|
|
2542
|
+
onClose?: () => void;
|
|
2543
|
+
/** Under the body, above the edge — a total, a link out. */
|
|
2544
|
+
footer?: React$1.ReactNode;
|
|
2545
|
+
children?: React$1.ReactNode;
|
|
2546
|
+
bodyClassName?: string;
|
|
2205
2547
|
}
|
|
2206
2548
|
/**
|
|
2207
|
-
* A
|
|
2549
|
+
* A panel that floats over the work — the run's activity, its log — rather
|
|
2550
|
+
* than taking a split of it.
|
|
2551
|
+
*
|
|
2552
|
+
* It stays open over the work, so it is drawn as a card that is lifted — the
|
|
2553
|
+
* card ground, a border and a shadow — and not as a popover, which is the
|
|
2554
|
+
* ground of what opens and closes in a moment. Its bar is chrome, as every
|
|
2555
|
+
* panel's header is.
|
|
2208
2556
|
*
|
|
2209
|
-
*
|
|
2210
|
-
*
|
|
2211
|
-
* and
|
|
2557
|
+
* It sits **on** a canvas, so it can be folded to its bar and closed: a panel
|
|
2558
|
+
* that could only be moved out of the way by resizing the work would be a
|
|
2559
|
+
* split, and a split is `AppLayoutV2`'s. Folded, it keeps one line of what it
|
|
2560
|
+
* would say, so folding it never hides that something is happening.
|
|
2212
2561
|
*
|
|
2213
|
-
*
|
|
2214
|
-
*
|
|
2215
|
-
* label of its own, so without the legend the strip would be colour-alone. Each
|
|
2216
|
-
* cell also names its state in the hover title, which is what a screen reader
|
|
2217
|
-
* and a keyboard user get.
|
|
2562
|
+
* Content-height up to its parent, then its body scrolls: two of these stacked
|
|
2563
|
+
* in a column share the height between them.
|
|
2218
2564
|
*/
|
|
2219
|
-
declare const
|
|
2565
|
+
declare const FloatingPanel: React$1.ForwardRefExoticComponent<FloatingPanelProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2220
2566
|
|
|
2221
2567
|
/**
|
|
2222
2568
|
* The kinds of run Invana opens today — **suggestions, not a limit.**
|
|
@@ -2293,306 +2639,11 @@ interface LayerSectionProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
2293
2639
|
*/
|
|
2294
2640
|
declare const LayerSection: React$1.ForwardRefExoticComponent<LayerSectionProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2295
2641
|
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
* what a bound stopped, and what it never reached for. Refused and skipped stay
|
|
2302
|
-
* two different facts, and both are drawn — a drawing that showed only what
|
|
2303
|
-
* happened would answer *what did this run do* and not *what was it stopped
|
|
2304
|
-
* from doing*, and the second is the question the strip exists for.
|
|
2305
|
-
*/
|
|
2306
|
-
type KnownLayerItemState = "declared" | "out" | "in" | "refused" | "skipped";
|
|
2307
|
-
/**
|
|
2308
|
-
* What an item is doing — **suggestions, not a limit.** A run that grows a
|
|
2309
|
-
* `deferred` or a `retried` passes it and the bar draws: the neutral edge, and
|
|
2310
|
-
* the state's own name under the label. Only the states above carry special
|
|
2311
|
-
* drawing, because only they have a meaning defined here to draw.
|
|
2312
|
-
*/
|
|
2313
|
-
type LayerItemState = KnownLayerItemState | (string & {});
|
|
2314
|
-
/** The run half of {@link LayerItemState}, as the ledger's `direction` column. */
|
|
2315
|
-
type TouchDirection = Exclude<KnownLayerItemState, "declared"> | (string & {});
|
|
2316
|
-
/**
|
|
2317
|
-
* One participant under a band — the row a task actually lands on.
|
|
2318
|
-
*
|
|
2319
|
-
* A band says *llm*; a part says **which** llm, or which role a caller may
|
|
2320
|
-
* re-cast: `role: decide`, `model/Orders@v2`, `third_party/app/email`. Reading
|
|
2321
|
-
* a plan is reading its parts, because that is the list a world is checked
|
|
2322
|
-
* against.
|
|
2323
|
-
*/
|
|
2324
|
-
interface LayerPart {
|
|
2325
|
-
id: string;
|
|
2326
|
-
/** The participant address, or the role — `model/Orders@v2`, `role: decide`. */
|
|
2327
|
-
label: string;
|
|
2328
|
-
/** What the caller still owes, or what the crossing is — `egress: the note`. */
|
|
2329
|
-
note?: string;
|
|
2330
|
-
}
|
|
2331
|
-
interface LayerBand {
|
|
2332
|
-
layer: Layer;
|
|
2333
|
-
/** Overrides the layer's own name. */
|
|
2334
|
-
label?: React$1.ReactNode;
|
|
2335
|
-
/** Right of the name — `declared · 1`, `nothing declared`, `2 roles`. */
|
|
2336
|
-
note?: string;
|
|
2337
|
-
/** The participants under it, each its own row. */
|
|
2338
|
-
parts?: LayerPart[];
|
|
2339
|
-
/**
|
|
2340
|
-
* This band is the **spine** — the runtime's own dispatches, which the other
|
|
2341
|
-
* bands are timed against and which is never governed. Its wire runs the
|
|
2342
|
-
* whole axis and it is never drawn as unspent.
|
|
2343
|
-
*
|
|
2344
|
-
* The band says so rather than the component recognising a layer by name:
|
|
2345
|
-
* `agent` is Invana's spine, but the layer vocabulary is a product's to grow
|
|
2346
|
-
* and a strip that hard-coded one of its values would be a strip that had to
|
|
2347
|
-
* be edited before anyone could rename it.
|
|
2348
|
-
*/
|
|
2349
|
-
spine?: boolean;
|
|
2350
|
-
}
|
|
2351
|
-
/**
|
|
2352
|
-
* One task, where it sits and how long it takes.
|
|
2353
|
-
*
|
|
2354
|
-
* `start` and `end` are in the axis's own unit — a step ordinal under `seq`, a
|
|
2355
|
-
* millisecond under `elapsed`. A task with no `end` is an instant and is drawn
|
|
2356
|
-
* at the minimum width.
|
|
2357
|
-
*/
|
|
2358
|
-
interface LayerItem {
|
|
2359
|
-
id: string;
|
|
2360
|
-
/** The task. This is the only place a task name is written. */
|
|
2361
|
-
label: string;
|
|
2362
|
-
layer: Layer;
|
|
2363
|
-
/** The {@link LayerPart} it lands on. Omitted, it sits on the band itself. */
|
|
2364
|
-
part?: string;
|
|
2365
|
-
start: number;
|
|
2366
|
-
end?: number;
|
|
2367
|
-
state?: LayerItemState;
|
|
2368
|
-
/** Under the name — `decide`, `${supplier_id}`, `form: human`. */
|
|
2369
|
-
note?: string;
|
|
2370
|
-
/** The rule that refused it, when one did. */
|
|
2371
|
-
ruleMatched?: string;
|
|
2372
|
-
/** What this task usually takes — see {@link LayerForecast}. */
|
|
2373
|
-
forecast?: LayerForecast;
|
|
2374
|
-
}
|
|
2375
|
-
/**
|
|
2376
|
-
* What this task usually costs, drawn **on** the bar that says what it cost
|
|
2377
|
-
* this time.
|
|
2378
|
-
*
|
|
2379
|
-
* `p50` is a **duration in the axis's own unit**, not a position: the median is
|
|
2380
|
-
* a length of time a step takes, and placing it as an absolute moment would
|
|
2381
|
-
* make the same forecast wrong for every run that started the step a second
|
|
2382
|
-
* later. The strip turns it into a mark at `start + p50`, so the overrun is the
|
|
2383
|
-
* gap between the mark and the bar's end — visible, rather than two numbers a
|
|
2384
|
-
* reader has to subtract.
|
|
2385
|
-
*
|
|
2386
|
-
* Drawn for a task that came in **under** its median too. *Faster than usual*
|
|
2387
|
-
* is a finding, and a forecast that only ever showed overruns would be a
|
|
2388
|
-
* warning light rather than a comparison.
|
|
2389
|
-
*/
|
|
2390
|
-
interface LayerForecast {
|
|
2391
|
-
/** The median, as a duration in the axis's unit. */
|
|
2392
|
-
p50: number;
|
|
2393
|
-
/** The gap in the caller's words — `+11%`, `−33%`, `inside p95`. */
|
|
2394
|
-
note?: React$1.ReactNode;
|
|
2395
|
-
}
|
|
2396
|
-
/** A bounded repetition over a stretch of the axis — `loop · max 3`. */
|
|
2397
|
-
interface LayerBracket {
|
|
2398
|
-
id: string;
|
|
2399
|
-
start: number;
|
|
2400
|
-
end: number;
|
|
2401
|
-
label: string;
|
|
2402
|
-
}
|
|
2403
|
-
/**
|
|
2404
|
-
* A **seam** — a moment on the axis where everything stops at once.
|
|
2405
|
-
*
|
|
2406
|
-
* A gate belongs to no band. It is not dispatched, it holds no slot and it has
|
|
2407
|
-
* no participant, so it cannot be a bar: it is a condition on the way into a
|
|
2408
|
-
* step, and it stops every layer together. That makes it a **position on the
|
|
2409
|
-
* axis**, drawn as a rule the bands are crossed by — which is also the only
|
|
2410
|
-
* drawing left once task names stop being the axis, because there are no
|
|
2411
|
-
* columns for it to sit between.
|
|
2412
|
-
*
|
|
2413
|
-
* **Which side of the line the label sits on is the price of saying no.**
|
|
2414
|
-
* `before` means nothing has been spent yet; `after` means the work up to here
|
|
2415
|
-
* is already paid for. A reader gets what declining costs from where the mark
|
|
2416
|
-
* sits, before reading a word of it.
|
|
2417
|
-
*/
|
|
2418
|
-
interface LayerSeam {
|
|
2419
|
-
id: string;
|
|
2420
|
-
/**
|
|
2421
|
-
* Where it sits, in the axis's own unit. **Omitted, it has no position** —
|
|
2422
|
-
* it can be raised at any dispatch, and it is drawn across the whole axis
|
|
2423
|
-
* rather than at a point. Placing such a gate on one moment would be a guess.
|
|
2424
|
-
*/
|
|
2425
|
-
at?: number;
|
|
2426
|
-
/** What it is — `approval · before dispatch`, `verdict · after the pass`. */
|
|
2427
|
-
label: string;
|
|
2428
|
-
/** Which side of the line the cost falls on. Defaults to `before`. */
|
|
2429
|
-
edge?: "before" | "after";
|
|
2430
|
-
/**
|
|
2431
|
-
* It is not on the plan: it resolves at dispatch, so the same plan is gated
|
|
2432
|
-
* for one caller and not another. Drawn dashed — *this may appear*.
|
|
2433
|
-
*/
|
|
2434
|
-
conditional?: boolean;
|
|
2435
|
-
/**
|
|
2436
|
-
* **Nothing can forecast this one.** How long a person takes to say yes is
|
|
2437
|
-
* not in the record, so a gate marked this way is drawn dashed like a
|
|
2438
|
-
* conditional one and its note carries the actual instead of a comparison.
|
|
2439
|
-
*
|
|
2440
|
-
* It exists as its own flag rather than as a caller's choice of words because
|
|
2441
|
-
* *there is no estimate* and *the estimate was met* must not look alike on a
|
|
2442
|
-
* drawing whose whole subject is forecast against actual. Drawing a guess
|
|
2443
|
-
* here would be the one dishonest mark on the strip.
|
|
2444
|
-
*/
|
|
2445
|
-
noEstimate?: boolean;
|
|
2446
|
-
/** Under the label — `nothing spent · finance-approvers · 4h`. */
|
|
2447
|
-
note?: string;
|
|
2448
|
-
}
|
|
2449
|
-
/** What the axis counts. */
|
|
2450
|
-
type LayerScale = "seq" | "elapsed";
|
|
2451
|
-
interface LayerStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "onSelect"> {
|
|
2452
|
-
bands: LayerBand[];
|
|
2453
|
-
items: LayerItem[];
|
|
2454
|
-
/**
|
|
2455
|
-
* `seq` is a plan's time — what happens before what, one unit per step.
|
|
2456
|
-
* `elapsed` is a run's, in milliseconds from the run opening.
|
|
2457
|
-
*/
|
|
2458
|
-
scale?: LayerScale;
|
|
2459
|
-
/** The axis extent. Defaults to the items' own. */
|
|
2460
|
-
domain?: [number, number];
|
|
2461
|
-
/** Tick positions in axis units. Defaults to integers (`seq`) or five (`elapsed`). */
|
|
2462
|
-
ticks?: number[];
|
|
2463
|
-
formatTick?: (value: number) => string;
|
|
2464
|
-
brackets?: LayerBracket[];
|
|
2465
|
-
/**
|
|
2466
|
-
* The gates — the moments the whole drawing stops at. They get a row of their
|
|
2467
|
-
* own above the bands *and* a rule down the track, because a gate has to read
|
|
2468
|
-
* both as a thing with a name and as something every band is stopped by.
|
|
2469
|
-
*/
|
|
2470
|
-
seams?: LayerSeam[];
|
|
2471
|
-
onSelectItem?: (itemId: string) => void;
|
|
2472
|
-
selectedItem?: string;
|
|
2473
|
-
/**
|
|
2474
|
-
* The bands whose participants are folded away, uncontrolled. Their tasks do
|
|
2475
|
-
* not disappear with them: they drop onto the band's own line, which is the
|
|
2476
|
-
* whole point of shutting one.
|
|
2477
|
-
*/
|
|
2478
|
-
defaultCollapsed?: Layer[];
|
|
2479
|
-
/** The same, controlled. Pass it with `onCollapsedChange`. */
|
|
2480
|
-
collapsed?: Layer[];
|
|
2481
|
-
onCollapsedChange?: (layers: Layer[]) => void;
|
|
2482
|
-
/**
|
|
2483
|
-
* Offer the disclosures at all. Off, the bands render as given and a caller
|
|
2484
|
-
* that wants an overview passes the bands it wants shut in `collapsed`.
|
|
2485
|
-
*/
|
|
2486
|
-
collapsible?: boolean;
|
|
2487
|
-
/**
|
|
2488
|
-
* A hover card on each task, saying what the bar cannot fit: the participant
|
|
2489
|
-
* it spends, when it runs and for how long, and the rule that refused it. On
|
|
2490
|
-
* by default; off falls back to the native `title`.
|
|
2491
|
-
*/
|
|
2492
|
-
hoverDetail?: boolean;
|
|
2493
|
-
/** What that card says, when the default is not what this surface owes. */
|
|
2494
|
-
itemDetail?: (item: LayerItem) => React$1.ReactNode;
|
|
2495
|
-
/**
|
|
2496
|
-
* Keep the band labels in place while time scrolls. On by default: a run with
|
|
2497
|
-
* forty steps scrolls, and a band you cannot name is a row of marks.
|
|
2498
|
-
*/
|
|
2499
|
-
frozenLabels?: boolean;
|
|
2500
|
-
/**
|
|
2501
|
-
* The label column, in `rem`. The default fits a layer name at the root size
|
|
2502
|
-
* beside its note — `human` and `3 rounds · 6m 01s` on one line.
|
|
2503
|
-
*/
|
|
2504
|
-
labelWidth?: number;
|
|
2505
|
-
/** The narrowest the track is drawn before it scrolls, in `rem`. */
|
|
2506
|
-
minTrackWidth?: number;
|
|
2507
|
-
/**
|
|
2508
|
-
* The narrowest one tick may be squeezed to, in `rem`. Past that the strip
|
|
2509
|
-
* scrolls rather than shrinking: a bar too narrow to carry its task's name
|
|
2510
|
-
* has stopped being a drawing of that task.
|
|
2511
|
-
*/
|
|
2512
|
-
minSlotWidth?: number;
|
|
2513
|
-
/**
|
|
2514
|
-
* What the layers are painted with. The same map reaches the band chips and
|
|
2515
|
-
* the bars, so a strip never disagrees with its own labels; a layer left out
|
|
2516
|
-
* draws in the neutral.
|
|
2517
|
-
*/
|
|
2518
|
-
palette?: LayerPalette;
|
|
2519
|
-
}
|
|
2520
|
-
/** An unknown state is still a state: it says its own name. */
|
|
2521
|
-
declare const stateLabel: (state: LayerItemState) => string;
|
|
2522
|
-
/**
|
|
2523
|
-
* A plan or a run as layer bands over a time axis — a gantt, not a matrix.
|
|
2524
|
-
*
|
|
2525
|
-
* **Time is the x axis, in whichever tense the drawing is in.** A plan's time
|
|
2526
|
-
* is its order (`seq` — what happens before what); a run's is the wall clock
|
|
2527
|
-
* (`elapsed`). Task names are not an axis: a task is a bar, written once where
|
|
2528
|
-
* it sits, so a reader answers *what does this engage, and for how long* by
|
|
2529
|
-
* scanning across, and *what spends this participant* by scanning down.
|
|
2530
|
-
*
|
|
2531
|
-
* **A band opens into its participants.** `llm` is a band; `role: decide` and
|
|
2532
|
-
* `role: extract` are the rows under it, and the task sits on the row it
|
|
2533
|
-
* actually spends. The band alone cannot say which model a step will reach, and
|
|
2534
|
-
* that is the list a world is checked against.
|
|
2535
|
-
*
|
|
2536
|
-
* **A band folds its participants away without losing its tasks.** Shut, the
|
|
2537
|
-
* rows go and every task the layer spends drops onto the band's own line —
|
|
2538
|
-
* which is the overview: six lines, every task placed in time, *what was this
|
|
2539
|
-
* layer busy with* answered without reading twelve rows. Open, the same tasks
|
|
2540
|
-
* sit on the participant that spends them. `collapse all` in the header does it
|
|
2541
|
-
* to every band that has participants to fold, and nothing is hidden either
|
|
2542
|
-
* way: folding moves a task up a row, it never drops it.
|
|
2543
|
-
*
|
|
2544
|
-
* **A bar says what it is; hovering it says what it cannot fit.** The card
|
|
2545
|
-
* carries the participant the row truncates or folding took away, when the task
|
|
2546
|
-
* runs and for how long, and the rule that refused it — so a bar can stay a bar
|
|
2547
|
-
* rather than growing a second line for every fact somebody might want.
|
|
2548
|
-
*
|
|
2549
|
-
* **Refusals are struck in place, not removed.** A refused engagement keeps its
|
|
2550
|
-
* bar and takes a struck label, because the gap it would otherwise leave is
|
|
2551
|
-
* indistinguishable from a stretch of time that never reached for that layer.
|
|
2552
|
-
*
|
|
2553
|
-
* **A row nothing spent is drawn muted, never dropped.** A band no task
|
|
2554
|
-
* touched takes the muted ground **across its whole width** — label column and
|
|
2555
|
-
* track together — and so does a participant row under an open band:
|
|
2556
|
-
* `role: extract` declared and never reached reads as *this run did not get
|
|
2557
|
-
* that far*, not as an ordinary empty row. A dropped row would say nothing at
|
|
2558
|
-
* all, and *this plan never reaches for a cache* is a finding.
|
|
2559
|
-
*
|
|
2560
|
-
* The ground is the carrier, not the type colour. A row is unspent because it
|
|
2561
|
-
* is *empty*, and an empty row has no text to mute past its own name — greying
|
|
2562
|
-
* the chip while the row keeps the card ground says *this label is quiet* when
|
|
2563
|
-
* the fact is *nothing spends this layer*.
|
|
2564
|
-
*
|
|
2565
|
-
* **A bar wears its layer, and its state is the edge.** The hue tints the bar's
|
|
2566
|
-
* ground and border and runs down its rail; dashed says the task never ran, and
|
|
2567
|
-
* the destructive token says a rule refused it — the one fact that outranks
|
|
2568
|
-
* whose bar it is. The label itself stays on a text token: the data palette is
|
|
2569
|
-
* a surface palette here, which keeps `cache` as legible as `human`.
|
|
2570
|
-
*
|
|
2571
|
-
* **Refused is not unspent.** A row whose only task was refused keeps its full
|
|
2572
|
-
* weight: being stopped from reaching a participant and never reaching for one
|
|
2573
|
-
* are the two facts this drawing exists to separate.
|
|
2574
|
-
*
|
|
2575
|
-
* **A gate is a seam, not a row.** Nothing is dispatched at a gate, so it has
|
|
2576
|
-
* no participant and cannot be a bar; it stops every band at once, so it is a
|
|
2577
|
-
* position on the axis and the bands are crossed by it. Which side of the line
|
|
2578
|
-
* its label hangs on is what saying no costs — `before` and nothing is spent,
|
|
2579
|
-
* `after` and the pass is already paid for. A gate that can be raised at any
|
|
2580
|
-
* dispatch has no position and draws across the whole axis instead.
|
|
2581
|
-
*
|
|
2582
|
-
* **The spine band is always drawn**, with its wire running the whole axis: the
|
|
2583
|
-
* runtime's own dispatches are what the other bands are timed against, and it
|
|
2584
|
-
* is never governed. A band declares itself the spine with `spine` — the strip
|
|
2585
|
-
* recognises no layer by name. A spine that has dispatched nothing recedes like
|
|
2586
|
-
* any other empty row: the wire still says *this is the clock*, and the muted
|
|
2587
|
-
* ground says *it has not run yet*, which are two different facts.
|
|
2588
|
-
*
|
|
2589
|
-
* DOM over a fixed track, not canvas: it binds to no canvas store, it lives in
|
|
2590
|
-
* `mainSection` where no canvas exists, and frozen row labels plus text
|
|
2591
|
-
* selection are free here and expensive there.
|
|
2592
|
-
*/
|
|
2593
|
-
declare const LayerStrip: React$1.ForwardRefExoticComponent<LayerStripProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2594
|
-
|
|
2595
|
-
type LegendSwatchKind = "dot" | "line" | "dashed" | "arrow" | "ring"
|
|
2642
|
+
type LegendSwatchKind = "dot"
|
|
2643
|
+
/** A filled square — a column or a bar. */
|
|
2644
|
+
| "box"
|
|
2645
|
+
/** A dashed square outline — a plan or a target a column stands inside. */
|
|
2646
|
+
| "outline" | "line" | "dashed" | "arrow" | "ring"
|
|
2596
2647
|
/** The rail down a row — how a trace says which layer a step spent. */
|
|
2597
2648
|
| "stripe"
|
|
2598
2649
|
/** A box around what it holds — a bounded repetition, drawn by containment. */
|
|
@@ -2634,35 +2685,107 @@ interface LegendProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2634
2685
|
declare const Legend: React$1.ForwardRefExoticComponent<LegendProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2635
2686
|
declare const LegendItem: React$1.ForwardRefExoticComponent<LegendItemProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2636
2687
|
|
|
2637
|
-
|
|
2688
|
+
type TerminalLineKind = "prompt" | "output" | "comment";
|
|
2689
|
+
/**
|
|
2690
|
+
* The severity a **log** line was emitted at, as the runtime recorded it.
|
|
2691
|
+
*
|
|
2692
|
+
* Distinct from `kind`, which says what part of a *transcript* a line is — a
|
|
2693
|
+
* command you typed, what it printed, a comment. A run's log has no prompts and
|
|
2694
|
+
* no comments; every line is output, and what varies is how loud it is.
|
|
2695
|
+
*/
|
|
2696
|
+
type KnownTerminalLevel = "info" | "warn" | "error" | "debug";
|
|
2697
|
+
/**
|
|
2698
|
+
* The values the kit draws specially — **suggestions, not a limit.** Anything
|
|
2699
|
+
* else renders with the neutral token and its own name.
|
|
2700
|
+
*/
|
|
2701
|
+
type TerminalLevel = KnownTerminalLevel | (string & {});
|
|
2702
|
+
interface TerminalLineProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2703
|
+
kind?: TerminalLineKind;
|
|
2638
2704
|
/**
|
|
2639
|
-
*
|
|
2640
|
-
* `
|
|
2705
|
+
* How loud this line is. Tints **one** cell — the one named by
|
|
2706
|
+
* `levelColumn` — and nothing else.
|
|
2707
|
+
*
|
|
2708
|
+
* Only the level word is coloured, never the message: a wall of amber
|
|
2709
|
+
* sentences is unreadable, and what a reader scans is the column, not the
|
|
2710
|
+
* prose. Setting this also drops the `kind` marker — a log line is not a
|
|
2711
|
+
* transcript line and does not want a `→` in front of it.
|
|
2712
|
+
*
|
|
2713
|
+
* The level **word** stays in `columns`. Colour is never the carrier.
|
|
2641
2714
|
*/
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2715
|
+
level?: TerminalLevel;
|
|
2716
|
+
/**
|
|
2717
|
+
* Which cell of `columns` holds the level word. Defaults to `1`, because a
|
|
2718
|
+
* log line reads `time · LEVEL · source · message` and the timestamp comes
|
|
2719
|
+
* first in every log anyone has ever read.
|
|
2720
|
+
*/
|
|
2721
|
+
levelColumn?: number;
|
|
2722
|
+
/**
|
|
2723
|
+
* Columns, for the step-shaped output a run prints — name, detail, timing,
|
|
2724
|
+
* result. Given as cells so they align down the transcript instead of each
|
|
2725
|
+
* line padding itself with spaces.
|
|
2726
|
+
*/
|
|
2727
|
+
columns?: React$1.ReactNode[];
|
|
2728
|
+
children?: React$1.ReactNode;
|
|
2729
|
+
}
|
|
2730
|
+
interface TerminalProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2731
|
+
children?: React$1.ReactNode;
|
|
2732
|
+
/** Shows a blinking block at the end. */
|
|
2733
|
+
cursor?: boolean;
|
|
2734
|
+
/**
|
|
2735
|
+
* `grid-template-columns` for every columned line in this transcript.
|
|
2736
|
+
*
|
|
2737
|
+
* Set once here rather than per line, because the point of columns is that
|
|
2738
|
+
* they line up *down* the transcript — a width chosen per row aligns nothing.
|
|
2739
|
+
*/
|
|
2740
|
+
columnTemplate?: string;
|
|
2648
2741
|
}
|
|
2649
2742
|
/**
|
|
2650
|
-
*
|
|
2651
|
-
* one on an agent's row.
|
|
2743
|
+
* A shell transcript, as a first-class surface.
|
|
2652
2744
|
*
|
|
2653
|
-
*
|
|
2654
|
-
*
|
|
2655
|
-
*
|
|
2656
|
-
*
|
|
2657
|
-
* view, which is the exact opposite of what is true. `Everything` is also still
|
|
2658
|
-
* inside the guardrails, which is why a guardrail is not a lens you pick.
|
|
2745
|
+
* Some of this product's work happens outside Studio — imports run from the
|
|
2746
|
+
* CLI, a scheduler calls the Python API — and the hand-off has to be shown
|
|
2747
|
+
* honestly rather than redrawn as a wizard. So this renders what the terminal
|
|
2748
|
+
* actually printed.
|
|
2659
2749
|
*
|
|
2660
|
-
* It is
|
|
2661
|
-
*
|
|
2662
|
-
* drawer the chip opens — a chip that listed its rules would be a rule list
|
|
2663
|
-
* that happened to be in a header.
|
|
2750
|
+
* It is presentational: a record of a run that already happened, not a live
|
|
2751
|
+
* console. There is no input here, and it does not scroll itself.
|
|
2664
2752
|
*/
|
|
2665
|
-
declare const
|
|
2753
|
+
declare const Terminal: React$1.ForwardRefExoticComponent<TerminalProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2754
|
+
declare const TerminalLine: React$1.ForwardRefExoticComponent<TerminalLineProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2755
|
+
|
|
2756
|
+
/** One line of a run's log, as the runtime emitted it. */
|
|
2757
|
+
interface LogLine {
|
|
2758
|
+
id?: string;
|
|
2759
|
+
/** When, already worded — `10:42:01`. */
|
|
2760
|
+
at: string;
|
|
2761
|
+
level: TerminalLevel;
|
|
2762
|
+
/** What emitted it — `graph.query`, `egress`. */
|
|
2763
|
+
source?: string;
|
|
2764
|
+
message: string;
|
|
2765
|
+
}
|
|
2766
|
+
/** How loud a line must be to show: everything, warnings and up, errors only. */
|
|
2767
|
+
type LogFloor = "all" | "warn" | "error";
|
|
2768
|
+
interface LogCardProps extends Omit<FloatingPanelProps, "title" | "children" | "summary" | "aside"> {
|
|
2769
|
+
/** @default "Logs" */
|
|
2770
|
+
title?: React$1.ReactNode;
|
|
2771
|
+
/** Every line so far, oldest first. New lines are appended as they arrive. */
|
|
2772
|
+
lines: LogLine[];
|
|
2773
|
+
/** Lines are still arriving. */
|
|
2774
|
+
live?: boolean;
|
|
2775
|
+
/** Only lines from this source — a call opened in the activity panel. Controlled with `onSourceChange`. */
|
|
2776
|
+
source?: string | null;
|
|
2777
|
+
onSourceChange?: (source: string | null) => void;
|
|
2778
|
+
}
|
|
2779
|
+
/**
|
|
2780
|
+
* The run's log, as it is written — in a panel that floats over the work.
|
|
2781
|
+
*
|
|
2782
|
+
* The raw record behind the activity panel: every line the runtime emitted,
|
|
2783
|
+
* its level the one coloured word ({@link TerminalLine}). It follows new lines
|
|
2784
|
+
* while live; **pausing freezes what is shown**, so a line can be read while
|
|
2785
|
+
* the run keeps writing, and resuming catches up. Filter by how loud a line
|
|
2786
|
+
* is, by words, or by the source a call wrote it from.
|
|
2787
|
+
*/
|
|
2788
|
+
declare const LogCard: React$1.ForwardRefExoticComponent<LogCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2666
2789
|
|
|
2667
2790
|
/** What the mark means, as a tone. The same seven `StatusDot` uses, less the dot. */
|
|
2668
2791
|
type MarkTone = "muted" | "info" | "success" | "warning" | "destructive";
|
|
@@ -2744,6 +2867,11 @@ interface MenuItem {
|
|
|
2744
2867
|
onClick?: () => void;
|
|
2745
2868
|
children?: MenuItem[];
|
|
2746
2869
|
}
|
|
2870
|
+
/**
|
|
2871
|
+
* A row of a menu; with `children`, a submenu that opens beside it. The submenu
|
|
2872
|
+
* opens on hover and on focus, and from the keyboard: → or Enter opens it on its
|
|
2873
|
+
* first row, ← or Escape closes it back to its row.
|
|
2874
|
+
*/
|
|
2747
2875
|
declare const MenuItem: React$1.FC<MenuItemProps>;
|
|
2748
2876
|
|
|
2749
2877
|
/**
|
|
@@ -2753,7 +2881,7 @@ declare const MenuItem: React$1.FC<MenuItemProps>;
|
|
|
2753
2881
|
* Omit it for an ordinary measurement. A grid where every tile is coloured
|
|
2754
2882
|
* carries no signal, and a number that is merely large is not a warning.
|
|
2755
2883
|
*/
|
|
2756
|
-
type KnownMetricTone = "running" | "success" | "warning" | "error" | "info";
|
|
2884
|
+
type KnownMetricTone = "running" | "success" | "warning" | "error" | "info" | "muted";
|
|
2757
2885
|
/**
|
|
2758
2886
|
* The values the kit draws specially — **suggestions, not a limit.** Anything
|
|
2759
2887
|
* else renders with the neutral token and its own name.
|
|
@@ -2768,6 +2896,11 @@ interface MetricTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2768
2896
|
caption?: React$1.ReactNode;
|
|
2769
2897
|
/** Tints the value. See {@link MetricTone} — most tiles should not set it. */
|
|
2770
2898
|
tone?: MetricTone;
|
|
2899
|
+
/**
|
|
2900
|
+
* Tints the caption instead — for a caption that is a change, `▲ 8 d vs
|
|
2901
|
+
* normal`, where the direction is the signal and the value is a plain figure.
|
|
2902
|
+
*/
|
|
2903
|
+
captionTone?: MetricTone;
|
|
2771
2904
|
/**
|
|
2772
2905
|
* How much of a known ceiling has been spent, `0`–`1`, as a 4px bar under the
|
|
2773
2906
|
* caption. Takes `tone`'s colour when one is set.
|
|
@@ -2778,6 +2911,36 @@ interface MetricTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2778
2911
|
* a deadline that does not exist.
|
|
2779
2912
|
*/
|
|
2780
2913
|
meter?: number;
|
|
2914
|
+
/**
|
|
2915
|
+
* The figure against a target, as a bar under it: `fill` is how far the
|
|
2916
|
+
* figure has come and `mark` where the target sits, both `0`–`1` of the
|
|
2917
|
+
* scale. `labels` writes the scale's start, the target and its end under it.
|
|
2918
|
+
*
|
|
2919
|
+
* Unlike `meter`, the target is a line the figure is read against, not a
|
|
2920
|
+
* ceiling it spends — the fill may pass it.
|
|
2921
|
+
*/
|
|
2922
|
+
gauge?: {
|
|
2923
|
+
fill: number;
|
|
2924
|
+
mark: number;
|
|
2925
|
+
labels?: [React$1.ReactNode, React$1.ReactNode, React$1.ReactNode];
|
|
2926
|
+
};
|
|
2927
|
+
/**
|
|
2928
|
+
* Set on the warning ground: the one tile in a band that needs a second look
|
|
2929
|
+
* — a figure resting on too few records. Say why in a line under the band.
|
|
2930
|
+
*/
|
|
2931
|
+
flagged?: boolean;
|
|
2932
|
+
/** Beside the figure, at the right, bottom-aligned — a sparkline of its recent run. */
|
|
2933
|
+
aside?: React$1.ReactNode;
|
|
2934
|
+
/**
|
|
2935
|
+
* `tile` is one of several, boxed, in a strip. `hero` is the one figure an
|
|
2936
|
+
* answer turns on — the adjusted odds ratio, net revenue retention — set
|
|
2937
|
+
* large on the surface it sits in: no box, the label in sentence case over
|
|
2938
|
+
* it, the caption in mono under it, so it reads as a result, not a gauge.
|
|
2939
|
+
* `figure` is one of a band of figures inside an answer — boxed like a tile
|
|
2940
|
+
* but set like a small hero: the label in sentence case, the value in a
|
|
2941
|
+
* larger sans, the caption in mono.
|
|
2942
|
+
*/
|
|
2943
|
+
variant?: "tile" | "hero" | "figure";
|
|
2781
2944
|
/** A sparkline, or anything else that sits under the value. */
|
|
2782
2945
|
children?: React$1.ReactNode;
|
|
2783
2946
|
}
|
|
@@ -2789,10 +2952,28 @@ interface MetricGridProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
2789
2952
|
*
|
|
2790
2953
|
* It is a prop because a tile strip is usually one band of something larger,
|
|
2791
2954
|
* and a grid that keeps its own tighter rhythm makes the whole surface read
|
|
2792
|
-
* as two grids. A
|
|
2955
|
+
* as two grids. A board passes its own gap; a standalone strip keeps the
|
|
2793
2956
|
* default.
|
|
2794
2957
|
*/
|
|
2795
2958
|
gap?: number;
|
|
2959
|
+
/**
|
|
2960
|
+
* One strip, the tiles divided by rules instead of spaced apart — for a
|
|
2961
|
+
* band of figures that belong to one answer and read left to right. `gap`
|
|
2962
|
+
* is ignored.
|
|
2963
|
+
*/
|
|
2964
|
+
joined?: boolean;
|
|
2965
|
+
/**
|
|
2966
|
+
* With `joined`: no box around the strip, and nothing wasted on its outside
|
|
2967
|
+
* — only the rules between tiles are drawn, and the outer tiles sit flush
|
|
2968
|
+
* with the text around the grid, as a seamless table's outer columns do.
|
|
2969
|
+
* For a strip inside a card or an answer, whose edge already frames it.
|
|
2970
|
+
*/
|
|
2971
|
+
seamless?: boolean;
|
|
2972
|
+
/**
|
|
2973
|
+
* A fixed number of columns instead of fitting to the width — for a band
|
|
2974
|
+
* whose shape is part of what it says: three across, two by two.
|
|
2975
|
+
*/
|
|
2976
|
+
columns?: number;
|
|
2796
2977
|
children?: React$1.ReactNode;
|
|
2797
2978
|
}
|
|
2798
2979
|
/**
|
|
@@ -2832,6 +3013,12 @@ interface NavMenuItem {
|
|
|
2832
3013
|
/** Draw a separator immediately above this row. */
|
|
2833
3014
|
separatorBefore?: boolean;
|
|
2834
3015
|
onSelect?: () => void;
|
|
3016
|
+
/**
|
|
3017
|
+
* A submenu: the row opens these beside it (hover, → or Enter; ← or Escape
|
|
3018
|
+
* closes it). Its own `onSelect` is not called — the rows inside are the
|
|
3019
|
+
* choices.
|
|
3020
|
+
*/
|
|
3021
|
+
children?: NavMenuItem[];
|
|
2835
3022
|
}
|
|
2836
3023
|
/**
|
|
2837
3024
|
* NavItemConfig - Shared configuration for a single navigation item, used by
|
|
@@ -2894,6 +3081,12 @@ interface NavItemConfig {
|
|
|
2894
3081
|
* is why a tab strip could not be built on nav items before.
|
|
2895
3082
|
*/
|
|
2896
3083
|
menuTrigger?: "item" | "caret";
|
|
3084
|
+
/**
|
|
3085
|
+
* Draws an inline `×` inside the item — a tab that is closed rather than
|
|
3086
|
+
* managed. The body still selects; only the `×` closes. Like the caret, it
|
|
3087
|
+
* makes the item host a button, so the item itself renders as a `<div>`.
|
|
3088
|
+
*/
|
|
3089
|
+
onClose?: () => void;
|
|
2897
3090
|
/**
|
|
2898
3091
|
* A count pinned to the item's top-right — unread reviews, waiting questions.
|
|
2899
3092
|
*
|
|
@@ -2910,11 +3103,11 @@ interface NavItemConfig {
|
|
|
2910
3103
|
/**
|
|
2911
3104
|
* The visual treatments a strip of nav items can wear.
|
|
2912
3105
|
*
|
|
2913
|
-
* One table, because the kit
|
|
2914
|
-
*
|
|
2915
|
-
*
|
|
2916
|
-
*
|
|
2917
|
-
*
|
|
3106
|
+
* One table, because the kit used to draw these by hand in separate
|
|
3107
|
+
* components. `nav` is what nav items have always looked like; `underline` and
|
|
3108
|
+
* `folder` are the two tab strips — a panel's views (`TabbedPanel`) and a
|
|
3109
|
+
* workbook's pages (`Workbook`) — and `folder-bottom` is the workbook's strip
|
|
3110
|
+
* under its pages.
|
|
2918
3111
|
*/
|
|
2919
3112
|
declare const VARIANT: {
|
|
2920
3113
|
/** The capsule: a filled, ringed chip. Toolbars, rails, header actions. */
|
|
@@ -2930,18 +3123,29 @@ declare const VARIANT: {
|
|
|
2930
3123
|
readonly item: "h-full rounded-none px-3 py-2";
|
|
2931
3124
|
readonly hover: "hover:text-foreground";
|
|
2932
3125
|
readonly open: "data-[state=open]:text-foreground";
|
|
2933
|
-
readonly active: "bg-primary/10 text-primary border-b-2 border-primary
|
|
3126
|
+
readonly active: "bg-primary/10 text-primary border-b-2 border-primary translate-y-px";
|
|
2934
3127
|
readonly strip: "items-stretch";
|
|
2935
3128
|
};
|
|
2936
3129
|
/**
|
|
2937
3130
|
* The workbook tab: boxed on top / left / right with an *open bottom*, so it
|
|
2938
|
-
* punches through the strip's own rule — the classic folder-tab notch.
|
|
3131
|
+
* punches through the strip's own rule — the classic folder-tab notch. The
|
|
3132
|
+
* box wears the rule's own colour and the body's fill, so the active tab and
|
|
3133
|
+
* its page read as one surface; the accent is the label plus a 2px line on
|
|
3134
|
+
* the tab's outer edge.
|
|
2939
3135
|
*/
|
|
2940
3136
|
readonly folder: {
|
|
2941
3137
|
readonly item: "h-full rounded-none px-3 py-2 gap-1.5";
|
|
2942
3138
|
readonly hover: "hover:text-foreground";
|
|
2943
3139
|
readonly open: "data-[state=open]:text-foreground";
|
|
2944
|
-
readonly active: "
|
|
3140
|
+
readonly active: "z-10 translate-y-px rounded-t-md border border-b-0 border-border bg-card text-primary shadow-[inset_0_2px_0_var(--color-primary)]";
|
|
3141
|
+
readonly strip: "items-stretch";
|
|
3142
|
+
};
|
|
3143
|
+
/** The folder tab turned over, for a strip under its pages: open at the top, rounded below, accent line underneath. */
|
|
3144
|
+
readonly "folder-bottom": {
|
|
3145
|
+
readonly item: "h-full rounded-none px-3 py-2 gap-1.5";
|
|
3146
|
+
readonly hover: "hover:text-foreground";
|
|
3147
|
+
readonly open: "data-[state=open]:text-foreground";
|
|
3148
|
+
readonly active: "z-10 mt-[-1px] rounded-b-md border border-t-0 border-border bg-card text-primary shadow-[inset_0_-2px_0_var(--color-primary)]";
|
|
2945
3149
|
readonly strip: "items-stretch";
|
|
2946
3150
|
};
|
|
2947
3151
|
};
|
|
@@ -3206,8 +3410,12 @@ interface NestedMenuProps {
|
|
|
3206
3410
|
declare const NestedMenu: React__default.FC<NestedMenuProps>;
|
|
3207
3411
|
|
|
3208
3412
|
interface PanelBoxProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3209
|
-
/**
|
|
3210
|
-
|
|
3413
|
+
/**
|
|
3414
|
+
* What this band is — `Input · what opened this run`, `result.json`, `Log`.
|
|
3415
|
+
* Without one there is no label bar: the box still frames its content, which
|
|
3416
|
+
* is how a band of figures sits on a board as it sits in an answer card.
|
|
3417
|
+
*/
|
|
3418
|
+
title?: React$1.ReactNode;
|
|
3211
3419
|
/**
|
|
3212
3420
|
* The fact on the right of the header — `214 lines · tailing`, `rendered from
|
|
3213
3421
|
* result.json`, a `<Badge>`, a count.
|
|
@@ -3221,14 +3429,21 @@ interface PanelBoxProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "ti
|
|
|
3221
3429
|
* `DataTable` whose header rule should line up with the box, a chart.
|
|
3222
3430
|
*/
|
|
3223
3431
|
flush?: boolean;
|
|
3432
|
+
/**
|
|
3433
|
+
* Take the parent's height instead of the content's, the body growing into
|
|
3434
|
+
* it — a canvas or a map that is the whole page, which has no content height
|
|
3435
|
+
* of its own and would otherwise draw at 0.
|
|
3436
|
+
*/
|
|
3437
|
+
fill?: boolean;
|
|
3224
3438
|
children?: React$1.ReactNode;
|
|
3225
3439
|
headerClassName?: string;
|
|
3226
3440
|
bodyClassName?: string;
|
|
3227
3441
|
}
|
|
3228
3442
|
/**
|
|
3229
|
-
* One band of a
|
|
3443
|
+
* One band of a board: a bordered box, with a label bar over it when it
|
|
3444
|
+
* has a `title`.
|
|
3230
3445
|
*
|
|
3231
|
-
* A
|
|
3446
|
+
* A board is a scrolling column of these — tiles, then the flow, then
|
|
3232
3447
|
* Input beside `result.json`, then the Log. Each box is **content-height and
|
|
3233
3448
|
* owns no scroller**: the column scrolls, so a band that scrolled itself would
|
|
3234
3449
|
* hide its own content behind a second bar.
|
|
@@ -3251,6 +3466,11 @@ interface PanelContentProps {
|
|
|
3251
3466
|
title?: React__default.ReactNode;
|
|
3252
3467
|
/** Header title as plain text, rendered in the default panel header style. */
|
|
3253
3468
|
titleText?: string;
|
|
3469
|
+
/**
|
|
3470
|
+
* How many things the panel holds — `4`, `12 changed` — beside the title,
|
|
3471
|
+
* muted. A fact about the panel, so always shown, unlike its actions.
|
|
3472
|
+
*/
|
|
3473
|
+
count?: React__default.ReactNode;
|
|
3254
3474
|
children?: React__default.ReactNode;
|
|
3255
3475
|
/** Classes for the outer card. */
|
|
3256
3476
|
className?: string;
|
|
@@ -3291,7 +3511,7 @@ interface PanelContentProps {
|
|
|
3291
3511
|
*/
|
|
3292
3512
|
actionsOnHover?: boolean;
|
|
3293
3513
|
}
|
|
3294
|
-
declare function PanelContent({ title, titleText, children, className, headerClassName, bodyClassName, footerContent, footerClassName, headerActions, actionsOnHover, }: PanelContentProps): React__default.JSX.Element;
|
|
3514
|
+
declare function PanelContent({ title, titleText, count, children, className, headerClassName, bodyClassName, footerContent, footerClassName, headerActions, actionsOnHover, }: PanelContentProps): React__default.JSX.Element;
|
|
3295
3515
|
|
|
3296
3516
|
interface PanelStackSection {
|
|
3297
3517
|
/** Unique identifier for the section within the stack. */
|
|
@@ -3308,6 +3528,12 @@ interface PanelStackSection {
|
|
|
3308
3528
|
content: React$1.ReactNode;
|
|
3309
3529
|
/** Optional leading icon component, shown before the title. */
|
|
3310
3530
|
icon?: React$1.ElementType;
|
|
3531
|
+
/**
|
|
3532
|
+
* How many things the section holds — `4`, `12 changed` — beside the title,
|
|
3533
|
+
* muted. A fact, not an action: always shown, even while the actions wait
|
|
3534
|
+
* for hover, and while the section is collapsed.
|
|
3535
|
+
*/
|
|
3536
|
+
count?: React$1.ReactNode;
|
|
3311
3537
|
/**
|
|
3312
3538
|
* Actions on the right of the title bar, as `NavHorizontal` items — the same
|
|
3313
3539
|
* list `PanelContent` and `TabbedPanel` take, so a header is described once
|
|
@@ -3329,7 +3555,7 @@ interface PanelStackSection {
|
|
|
3329
3555
|
/**
|
|
3330
3556
|
* Keep `headerActions` hidden until the header is hovered or focused (or a
|
|
3331
3557
|
* menu inside them is open) — VS Code's quiet view header. Defaults to
|
|
3332
|
-
* `true`.
|
|
3558
|
+
* `true`. A count that must always read is `count`.
|
|
3333
3559
|
*/
|
|
3334
3560
|
actionsOnHover?: boolean;
|
|
3335
3561
|
/** Start the section collapsed (header only). Defaults to `false`. */
|
|
@@ -3477,8 +3703,15 @@ interface PropertyListProps extends React$1.HTMLAttributes<HTMLDListElement> {
|
|
|
3477
3703
|
/**
|
|
3478
3704
|
* Width of the label column. One value for the whole list, so every value
|
|
3479
3705
|
* starts on the same x — the reason to use this rather than a row of flexes.
|
|
3706
|
+
* `"auto"` sizes the column to the widest label, for a short list of known
|
|
3707
|
+
* labels such as the answers to an ask.
|
|
3708
|
+
*/
|
|
3709
|
+
labelWidth?: number | "auto" | (string & {});
|
|
3710
|
+
/**
|
|
3711
|
+
* `summary` sets the rows tight — a settled answer read at a glance, such as
|
|
3712
|
+
* the values an ask was answered with, or a proposal's terms.
|
|
3480
3713
|
*/
|
|
3481
|
-
|
|
3714
|
+
variant?: "default" | "summary";
|
|
3482
3715
|
children?: React$1.ReactNode;
|
|
3483
3716
|
}
|
|
3484
3717
|
interface PropertyRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
@@ -3502,14 +3735,26 @@ declare const PropertyList: React$1.ForwardRefExoticComponent<PropertyListProps
|
|
|
3502
3735
|
declare const PropertyRow: React$1.ForwardRefExoticComponent<PropertyRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3503
3736
|
|
|
3504
3737
|
interface ProposalCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3505
|
-
/** What is being proposed — `Draft pattern`. */
|
|
3506
|
-
title
|
|
3738
|
+
/** What is being proposed — `Draft pattern`. Left out when the frame around the card already says it. */
|
|
3739
|
+
title?: React$1.ReactNode;
|
|
3507
3740
|
/** Where it came from — `from the agent's result`. */
|
|
3508
3741
|
source?: React$1.ReactNode;
|
|
3509
3742
|
/** The draft itself. A `PropertyList`, usually. */
|
|
3510
3743
|
children?: React$1.ReactNode;
|
|
3744
|
+
/**
|
|
3745
|
+
* The draft without its muted box — for a card whose frame is already its
|
|
3746
|
+
* own, such as a proposal under an answer, where a box inside it is a box
|
|
3747
|
+
* inside a box.
|
|
3748
|
+
*/
|
|
3749
|
+
flush?: boolean;
|
|
3511
3750
|
/** What the proposal rests on — the instances, as a table or list. */
|
|
3512
3751
|
evidence?: React$1.ReactNode;
|
|
3752
|
+
/**
|
|
3753
|
+
* The evidence without its box — for evidence that is a `seamless` table or
|
|
3754
|
+
* grid, drawing only the rules between its rows, whose edge the card's own
|
|
3755
|
+
* frame already is.
|
|
3756
|
+
*/
|
|
3757
|
+
seamless?: boolean;
|
|
3513
3758
|
/** A heading for the evidence — `The six instances`. */
|
|
3514
3759
|
evidenceTitle?: React$1.ReactNode;
|
|
3515
3760
|
/** Scope of the evidence — `30 days`. */
|
|
@@ -3518,6 +3763,8 @@ interface ProposalCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
3518
3763
|
consequence?: React$1.ReactNode;
|
|
3519
3764
|
/** Author / reject / reassign. */
|
|
3520
3765
|
actions?: React$1.ReactNode;
|
|
3766
|
+
/** Written: what was made — `Alert created` — stamped above the draft. */
|
|
3767
|
+
done?: React$1.ReactNode;
|
|
3521
3768
|
}
|
|
3522
3769
|
/**
|
|
3523
3770
|
* An agent proposes; a person publishes.
|
|
@@ -3596,15 +3843,22 @@ interface RecordHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
3596
3843
|
chips?: React$1.ReactNode;
|
|
3597
3844
|
/** What you can do to it — prev/next, a view switch, buttons, a `…` menu. */
|
|
3598
3845
|
actions?: React$1.ReactNode;
|
|
3846
|
+
/**
|
|
3847
|
+
* The bar's height, on the control scale — a bar is as tall as a control of
|
|
3848
|
+
* its size. `lg` (40px at a 13px root) tops a page or a board; `md`
|
|
3849
|
+
* (32px) tops a panel or a drawer, level with a `PanelBox` header. Either
|
|
3850
|
+
* holds `sm` chips and buttons.
|
|
3851
|
+
*/
|
|
3852
|
+
size?: "md" | "lg";
|
|
3599
3853
|
}
|
|
3600
3854
|
/**
|
|
3601
3855
|
* Which record you are looking at, across the top of the surface showing it.
|
|
3602
3856
|
*
|
|
3603
|
-
* A run
|
|
3857
|
+
* A run board, a step board, a plan, a draft — every one of them opens
|
|
3604
3858
|
* with this line, so a reader who followed a link knows what they are reading
|
|
3605
3859
|
* before they read any of it.
|
|
3606
3860
|
*
|
|
3607
|
-
* It is **not** a `ContextBar`. That is
|
|
3861
|
+
* It is **not** a `ContextBar`. That is the `sm` bar under a panel and describes the
|
|
3608
3862
|
* *view* — counts, a keyboard hint, a tab-shaped switch. This is above the
|
|
3609
3863
|
* content and names the *record*, which is why the crumbs are mono: they are
|
|
3610
3864
|
* identifiers, not prose.
|
|
@@ -3641,6 +3895,34 @@ interface RecordPagerProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
3641
3895
|
*/
|
|
3642
3896
|
declare const RecordPager: React$1.ForwardRefExoticComponent<RecordPagerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3643
3897
|
|
|
3898
|
+
interface RefusalCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3899
|
+
/**
|
|
3900
|
+
* Which bound refused it, as a short label — `refused · the agent's
|
|
3901
|
+
* guardrail`. The bound is the point: it says whom to ask.
|
|
3902
|
+
*/
|
|
3903
|
+
label?: React$1.ReactNode;
|
|
3904
|
+
/**
|
|
3905
|
+
* What was refused and why, in one or two sentences — *This ask was not run.
|
|
3906
|
+
* In Everything, decide is cast to … and … does not allow it.*
|
|
3907
|
+
*/
|
|
3908
|
+
children?: React$1.ReactNode;
|
|
3909
|
+
/** The way round it — another world, another agent, a person to ask. */
|
|
3910
|
+
remedy?: React$1.ReactNode;
|
|
3911
|
+
}
|
|
3912
|
+
/**
|
|
3913
|
+
* A bound refused the work **before it ran**.
|
|
3914
|
+
*
|
|
3915
|
+
* Not a cannot-answer and not a failure, and its own component for the same
|
|
3916
|
+
* reason those are (DS8): nothing was read, so there is nothing the graph does
|
|
3917
|
+
* not hold; nothing broke, so there is no fault to diagnose. A rule said no,
|
|
3918
|
+
* and the card names the rule's side so the reader knows whose rule to change.
|
|
3919
|
+
*
|
|
3920
|
+
* Tinted with the destructive token, because the reader has to act before
|
|
3921
|
+
* anything happens — but no citation strip and no retry, since running it again
|
|
3922
|
+
* under the same bounds would be refused again.
|
|
3923
|
+
*/
|
|
3924
|
+
declare const RefusalCard: React$1.ForwardRefExoticComponent<RefusalCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3925
|
+
|
|
3644
3926
|
interface RepairNoteProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
3645
3927
|
/** What was wrong — `unknown property Theme.velocity5d`. */
|
|
3646
3928
|
from: React$1.ReactNode;
|
|
@@ -3685,9 +3967,36 @@ interface RichSelectOption {
|
|
|
3685
3967
|
description?: React$1.ReactNode;
|
|
3686
3968
|
/** Lucide glyph or any component accepting `{ size }`. */
|
|
3687
3969
|
icon?: React$1.ElementType;
|
|
3688
|
-
/** Trailing content (e.g. a count or status badge), pushed to the right. */
|
|
3689
|
-
badge?: React$1.ReactNode;
|
|
3690
|
-
disabled?: boolean;
|
|
3970
|
+
/** Trailing content (e.g. a count or status badge), pushed to the right. */
|
|
3971
|
+
badge?: React$1.ReactNode;
|
|
3972
|
+
disabled?: boolean;
|
|
3973
|
+
/**
|
|
3974
|
+
* Why a disabled option cannot be picked, shown under it in the warning
|
|
3975
|
+
* tone. A greyed-out row with no reason is a refusal nobody can act on.
|
|
3976
|
+
*/
|
|
3977
|
+
disabledReason?: React$1.ReactNode;
|
|
3978
|
+
}
|
|
3979
|
+
/**
|
|
3980
|
+
* An on/off setting beside the choice — *Next ask only* on a world picker. It
|
|
3981
|
+
* is not an option: it scopes the choice, so it sits below the options and
|
|
3982
|
+
* toggling it keeps the menu open.
|
|
3983
|
+
*/
|
|
3984
|
+
interface RichSelectToggle {
|
|
3985
|
+
id: string;
|
|
3986
|
+
label: React$1.ReactNode;
|
|
3987
|
+
checked: boolean;
|
|
3988
|
+
onCheckedChange: (checked: boolean) => void;
|
|
3989
|
+
disabled?: boolean;
|
|
3990
|
+
}
|
|
3991
|
+
/**
|
|
3992
|
+
* Something to do rather than something to pick — *Manage worlds…*. It sits
|
|
3993
|
+
* last, below a separator, so it is never mistaken for a value.
|
|
3994
|
+
*/
|
|
3995
|
+
interface RichSelectAction {
|
|
3996
|
+
id: string;
|
|
3997
|
+
label: React$1.ReactNode;
|
|
3998
|
+
icon?: React$1.ElementType;
|
|
3999
|
+
onSelect: () => void;
|
|
3691
4000
|
}
|
|
3692
4001
|
interface RichSelectProps {
|
|
3693
4002
|
options: RichSelectOption[];
|
|
@@ -3717,6 +4026,25 @@ interface RichSelectProps {
|
|
|
3717
4026
|
side?: "top" | "right" | "bottom" | "left";
|
|
3718
4027
|
/** Gap in px between the trigger and the menu. Default `4`. */
|
|
3719
4028
|
sideOffset?: number;
|
|
4029
|
+
/**
|
|
4030
|
+
* `field` (default) is an outlined control for a form. `inline` is the
|
|
4031
|
+
* borderless, compact trigger a toolbar uses — every control in a chat
|
|
4032
|
+
* composer is one, so the ask kind and the world read as one row.
|
|
4033
|
+
*/
|
|
4034
|
+
appearance?: "field" | "inline";
|
|
4035
|
+
/** Glyph before the selected value on the trigger — a globe for a world. */
|
|
4036
|
+
triggerIcon?: React$1.ElementType;
|
|
4037
|
+
/** A short tag after the value on the trigger — `next ask only`. */
|
|
4038
|
+
triggerTag?: React$1.ReactNode;
|
|
4039
|
+
/** Settings that scope the choice; rendered below the options. */
|
|
4040
|
+
toggles?: RichSelectToggle[];
|
|
4041
|
+
/** Acts, not values; rendered last. */
|
|
4042
|
+
actions?: RichSelectAction[];
|
|
4043
|
+
/**
|
|
4044
|
+
* The trigger's accessible name — *Ask kind*, *World*. An inline trigger
|
|
4045
|
+
* shows only the current value, which names the choice made, not the control.
|
|
4046
|
+
*/
|
|
4047
|
+
triggerAriaLabel?: string;
|
|
3720
4048
|
/** Trigger tooltip content; omit to disable the tooltip. */
|
|
3721
4049
|
tooltip?: React$1.ReactNode;
|
|
3722
4050
|
/** Side the trigger tooltip is placed on. Default `'top'`. */
|
|
@@ -3734,8 +4062,13 @@ interface RichSelectProps {
|
|
|
3734
4062
|
* rich content (`label`, `description`, `icon`, `badge`) and both the rows and
|
|
3735
4063
|
* the trigger are fully customizable via `renderOption` / `renderValue`.
|
|
3736
4064
|
* Supports single (radio) and multi (checkbox) selection via `multiple`.
|
|
4065
|
+
*
|
|
4066
|
+
* Beyond the choice it can carry **toggles** that scope it and **actions**
|
|
4067
|
+
* below it, and an `inline` trigger for toolbars — which is what lets every
|
|
4068
|
+
* control in a chat composer (ask kind, query language, world, timeout) be the
|
|
4069
|
+
* same component rather than a `Select` beside a hand-rolled menu.
|
|
3737
4070
|
*/
|
|
3738
|
-
declare function RichSelect({ options, value, onChange, multiple, label, placeholder, renderOption, renderValue, align, side, sideOffset, tooltip, tooltipSide, disabled, triggerClassName, contentClassName, className, }: RichSelectProps): React$1.JSX.Element;
|
|
4071
|
+
declare function RichSelect({ options, value, onChange, multiple, label, placeholder, renderOption, renderValue, align, side, sideOffset, tooltip, tooltipSide, disabled, appearance, triggerIcon: TriggerIcon, triggerTag, triggerAriaLabel, toggles, actions, triggerClassName, contentClassName, className, }: RichSelectProps): React$1.JSX.Element;
|
|
3739
4072
|
|
|
3740
4073
|
/** A slice along the axes the matched model **declared**. */
|
|
3741
4074
|
interface RuleSelect {
|
|
@@ -3871,7 +4204,7 @@ declare const RuleRow: React$1.ForwardRefExoticComponent<RuleRowProps & React$1.
|
|
|
3871
4204
|
* limit.** An unknown status still renders: it says its own name, in the
|
|
3872
4205
|
* neutral.
|
|
3873
4206
|
*/
|
|
3874
|
-
type KnownRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled" | "cannot_answer" | "awaiting_approval" | "skipped" | "held" | "purged";
|
|
4207
|
+
type KnownRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled" | "cannot_answer" | "awaiting_approval" | "awaiting_input" | "partial" | "skipped" | "held" | "purged";
|
|
3875
4208
|
type RunStatus = KnownRunStatus | (string & {});
|
|
3876
4209
|
/**
|
|
3877
4210
|
* Which tone each status is read in.
|
|
@@ -3908,23 +4241,37 @@ interface RunStatusTextProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement
|
|
|
3908
4241
|
* The word is always present, so colour is never the only carrier of the state.
|
|
3909
4242
|
*/
|
|
3910
4243
|
declare const RunStatusText: React$1.ForwardRefExoticComponent<RunStatusTextProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
4244
|
+
/**
|
|
4245
|
+
* Which glyph each status is drawn with, where the word is not beside it.
|
|
4246
|
+
*
|
|
4247
|
+
* The shape is the point: every state a reader acts on differently gets its own
|
|
4248
|
+
* — done, broken, moving, not started, **waiting on you**, could not answer,
|
|
4249
|
+
* answered in part, stopped. An unknown status reads as not started.
|
|
4250
|
+
*/
|
|
4251
|
+
declare const ICON: Record<string, StatusIconState>;
|
|
3911
4252
|
|
|
3912
4253
|
interface RunRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title" | "onSelect"> {
|
|
3913
4254
|
status: RunStatus;
|
|
3914
|
-
/** Overrides the
|
|
3915
|
-
|
|
4255
|
+
/** Overrides the glyph the status resolves to — `partial` on a run that succeeded. */
|
|
4256
|
+
state?: StatusIconState;
|
|
3916
4257
|
kind?: RunKind;
|
|
4258
|
+
/**
|
|
4259
|
+
* What it was about, in the words it was opened with — the question as typed,
|
|
4260
|
+
* the query text, the dataset loaded. **Line one**, because it is what a
|
|
4261
|
+
* reader scans the journal for.
|
|
4262
|
+
*/
|
|
4263
|
+
title: React$1.ReactNode;
|
|
4264
|
+
/** The title is a query, not a sentence — drawn mono. */
|
|
4265
|
+
titleMono?: boolean;
|
|
3917
4266
|
/**
|
|
3918
4267
|
* The run's address — the last eight characters of its uuid, mono.
|
|
3919
4268
|
*
|
|
3920
|
-
* **First on
|
|
3921
|
-
*
|
|
3922
|
-
*
|
|
4269
|
+
* **First on line two.** A row a reader cannot quote into a log line, a
|
|
4270
|
+
* support thread or `GET …/runs/{id}` has made them drill in to find out what
|
|
4271
|
+
* they are looking at.
|
|
3923
4272
|
*/
|
|
3924
4273
|
address?: React$1.ReactNode;
|
|
3925
|
-
/**
|
|
3926
|
-
title: React$1.ReactNode;
|
|
3927
|
-
/** Under it — `2m 51s · 21.4k · 9/9 · 4 mins ago`. */
|
|
4274
|
+
/** After the address — `nl-query@5 · 2m 51s · 21.4k · 9/9 · 4 mins ago`. */
|
|
3928
4275
|
meta?: React$1.ReactNode;
|
|
3929
4276
|
/** Hard right — a badge, a count, an outcome. */
|
|
3930
4277
|
aside?: React$1.ReactNode;
|
|
@@ -3942,10 +4289,9 @@ interface RunRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "titl
|
|
|
3942
4289
|
* and no panel per kind: the kind is a chip and a filter value, which is what
|
|
3943
4290
|
* keeps one journal from becoming four lists that drift apart.
|
|
3944
4291
|
*
|
|
3945
|
-
*
|
|
3946
|
-
*
|
|
3947
|
-
*
|
|
3948
|
-
* has this system been doing* reads the line under it.
|
|
4292
|
+
* Line one is what it was about; line two is the id, then what it spent. The
|
|
4293
|
+
* status is a glyph in the leading slot and **not a word** — the shape carries
|
|
4294
|
+
* it, so the badge's column goes back to the prompt.
|
|
3949
4295
|
*
|
|
3950
4296
|
* With `onSelect` the whole row is one button, so the accessible name is the
|
|
3951
4297
|
* whole row — the id, the kind and the summary in one string, which is exactly
|
|
@@ -3953,20 +4299,92 @@ interface RunRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "titl
|
|
|
3953
4299
|
*/
|
|
3954
4300
|
declare const RunRow: React$1.ForwardRefExoticComponent<RunRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3955
4301
|
|
|
4302
|
+
interface ScopeLineChoice {
|
|
4303
|
+
value: string;
|
|
4304
|
+
label: React$1.ReactNode;
|
|
4305
|
+
/** At the right of the choice, in mono — `188`, `2 of 3`. */
|
|
4306
|
+
detail?: React$1.ReactNode;
|
|
4307
|
+
}
|
|
4308
|
+
/** A part with more to say than its text. */
|
|
4309
|
+
interface ScopeLinePart {
|
|
4310
|
+
text: React$1.ReactNode;
|
|
4311
|
+
/**
|
|
4312
|
+
* `changed` — this part differs from the question it was carried from;
|
|
4313
|
+
* `stale` — the data behind it is late.
|
|
4314
|
+
*/
|
|
4315
|
+
mark?: "changed" | "stale";
|
|
4316
|
+
/** What the part can be changed to. Opening the part lists them under the line. */
|
|
4317
|
+
choices?: ScopeLineChoice[];
|
|
4318
|
+
}
|
|
4319
|
+
interface ScopeLineProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
4320
|
+
/** What the figure covers, in order — period, comparison, filters, population, freshness. */
|
|
4321
|
+
parts: (React$1.ReactNode | ScopeLinePart)[];
|
|
4322
|
+
/**
|
|
4323
|
+
* Makes the text parts editable in place: click one, type, `Enter` to send
|
|
4324
|
+
* the new value, `Escape` or leaving it to keep the old one. Called only
|
|
4325
|
+
* when the value changed.
|
|
4326
|
+
*/
|
|
4327
|
+
onPartChange?: (index: number, value: string) => void;
|
|
4328
|
+
/**
|
|
4329
|
+
* Parts that stay as stated even when the rest can be edited — the data's
|
|
4330
|
+
* freshness is a fact about the load, not a choice of the analyst's.
|
|
4331
|
+
*/
|
|
4332
|
+
fixedParts?: number[];
|
|
4333
|
+
/** The part whose choices are showing. Controlled; see `defaultOpenPart`. */
|
|
4334
|
+
openPart?: number | null;
|
|
4335
|
+
/** The part whose choices show at first, uncontrolled. */
|
|
4336
|
+
defaultOpenPart?: number;
|
|
4337
|
+
onOpenPartChange?: (index: number | null) => void;
|
|
4338
|
+
/** A line under the scope — `Click any part to change it and re-run`. */
|
|
4339
|
+
note?: React$1.ReactNode;
|
|
4340
|
+
/** `warning` when the note is about late data. */
|
|
4341
|
+
noteTone?: "muted" | "warning";
|
|
4342
|
+
/**
|
|
4343
|
+
* No box, and nothing wasted on its outside: only the rules between parts
|
|
4344
|
+
* are drawn, and the first part sits flush with the text around the strip.
|
|
4345
|
+
* For a scope inside a card or an answer, whose edge already frames it.
|
|
4346
|
+
*/
|
|
4347
|
+
seamless?: boolean;
|
|
4348
|
+
}
|
|
4349
|
+
/**
|
|
4350
|
+
* What an answer covers, stated in one strip: `Q3 2026 · vs Q2 · Stores,
|
|
4351
|
+
* Online · 214 stores · as of 06:00`.
|
|
4352
|
+
*
|
|
4353
|
+
* Every analytic answer carries one, above its figures, so a number is never
|
|
4354
|
+
* read without the period and population it was computed over. The parts are
|
|
4355
|
+
* exactly as applied — the filters the query ran with, not the ones asked for.
|
|
4356
|
+
*
|
|
4357
|
+
* With `onPartChange` the scope is also where it is changed: a part is edited
|
|
4358
|
+
* where it is read, rather than by asking the question again.
|
|
4359
|
+
*/
|
|
4360
|
+
declare const ScopeLine: React$1.ForwardRefExoticComponent<ScopeLineProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4361
|
+
|
|
3956
4362
|
/**
|
|
3957
|
-
* `sm` (26px) is the application field — a search box
|
|
3958
|
-
*
|
|
4363
|
+
* The control scale: `sm` (26px) is the application field — a search box
|
|
4364
|
+
* docked in a panel header or a table toolbar; `default` (32px) a standalone
|
|
4365
|
+
* form; `lg` (40px) a page. Size is height only: every size reads at the root,
|
|
4366
|
+
* the size of the rows being searched.
|
|
3959
4367
|
*
|
|
3960
4368
|
* Named `inputSize` for the same reason `Input` is: `size` is already an
|
|
3961
4369
|
* `<input>` attribute meaning "how many characters wide".
|
|
3962
4370
|
*/
|
|
3963
|
-
type SearchInputSize = 'default' | '
|
|
4371
|
+
type SearchInputSize = 'sm' | 'default' | 'lg';
|
|
3964
4372
|
interface SearchInputProps extends Omit<React__default.ComponentProps<'input'>, 'value' | 'onChange' | 'size' | 'type'> {
|
|
4373
|
+
/** Sits on the box around the field — its width, its place in a row. */
|
|
3965
4374
|
className?: string;
|
|
3966
4375
|
value: string;
|
|
3967
4376
|
/** Receives the raw string, not the event — a search box has one value. */
|
|
3968
4377
|
onChange: (value: string) => void;
|
|
3969
4378
|
inputSize?: SearchInputSize;
|
|
4379
|
+
/**
|
|
4380
|
+
* A clear button at the end of the field while it holds text, and Escape
|
|
4381
|
+
* clears it too; both send `onChange("")`. On by default.
|
|
4382
|
+
*/
|
|
4383
|
+
clearable?: boolean;
|
|
4384
|
+
/** The clear button's glyph — yours, at 14px. Default: a plain cross. */
|
|
4385
|
+
clearIcon?: React__default.ReactNode;
|
|
4386
|
+
/** The clear button's accessible name. */
|
|
4387
|
+
clearLabel?: string;
|
|
3970
4388
|
}
|
|
3971
4389
|
declare const SearchInput: React__default.FC<SearchInputProps>;
|
|
3972
4390
|
|
|
@@ -4000,40 +4418,30 @@ interface SectionHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
4000
4418
|
*/
|
|
4001
4419
|
declare const SectionHeader: React$1.ForwardRefExoticComponent<SectionHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4002
4420
|
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
*/
|
|
4013
|
-
|
|
4014
|
-
interface SparklineProps extends Omit<React$1.SVGAttributes<SVGSVGElement>, "children" | "values"> {
|
|
4015
|
-
values: number[];
|
|
4016
|
-
width?: number;
|
|
4017
|
-
height?: number;
|
|
4018
|
-
color?: string;
|
|
4019
|
-
/** Washes the area under the line at 10%. Off by default at this size. */
|
|
4020
|
-
area?: boolean;
|
|
4021
|
-
/** A filled dot on the last point, ringed in the surface colour. */
|
|
4022
|
-
endMarker?: boolean;
|
|
4023
|
-
/** What the line is, for assistive tech. The surface around it usually says. */
|
|
4024
|
-
label?: string;
|
|
4421
|
+
interface StageTrailStep {
|
|
4422
|
+
id: string;
|
|
4423
|
+
/** `Research`, `Dataset`. */
|
|
4424
|
+
label: string;
|
|
4425
|
+
/** Done, the one the work is at, or not reached yet. */
|
|
4426
|
+
state: "done" | "current" | "todo";
|
|
4427
|
+
}
|
|
4428
|
+
interface StageTrailProps extends Omit<React$1.HTMLAttributes<HTMLElement>, "onSelect"> {
|
|
4429
|
+
steps: StageTrailStep[];
|
|
4430
|
+
/** A step was picked — open its page. Without it the trail only shows. */
|
|
4431
|
+
onPick?: (id: string) => void;
|
|
4025
4432
|
}
|
|
4026
4433
|
/**
|
|
4027
|
-
*
|
|
4434
|
+
* Where a piece of work stands in a fixed run of stages — Research, Dataset,
|
|
4435
|
+
* Model, Import, Explore — each a dot and its name, joined by a short rule.
|
|
4436
|
+
* It sits in an app header's centre, so it gives up width before anything
|
|
4437
|
+
* else does: under 560px of its own width only the current stage keeps its
|
|
4438
|
+
* name (the others keep a dot, and name themselves on hover), and the rules
|
|
4439
|
+
* shorten. It never pushes the header wider.
|
|
4028
4440
|
*
|
|
4029
|
-
*
|
|
4030
|
-
*
|
|
4031
|
-
* needs to read a value off it, it wanted to be a chart.
|
|
4032
|
-
*
|
|
4033
|
-
* The end marker carries a 2px ring in the surface colour so it stays legible
|
|
4034
|
-
* where the line runs under it.
|
|
4441
|
+
* Not {@link TimelineList}, which is events in time; this is a fixed sequence
|
|
4442
|
+
* and where the work is in it.
|
|
4035
4443
|
*/
|
|
4036
|
-
declare const
|
|
4444
|
+
declare const StageTrail: React$1.ForwardRefExoticComponent<StageTrailProps & React$1.RefAttributes<HTMLElement>>;
|
|
4037
4445
|
|
|
4038
4446
|
interface TabConfig {
|
|
4039
4447
|
/** Unique identifier for the tab */
|
|
@@ -4051,6 +4459,8 @@ interface TabConfig {
|
|
|
4051
4459
|
content: React__default.ReactNode;
|
|
4052
4460
|
/** Whether this tab should be disabled */
|
|
4053
4461
|
disabled?: boolean;
|
|
4462
|
+
/** Draw a close button on the tab; pressing it calls the panel's `onTabClose`. */
|
|
4463
|
+
closable?: boolean;
|
|
4054
4464
|
}
|
|
4055
4465
|
interface TabbedPanelProps {
|
|
4056
4466
|
/** Array of tab configurations */
|
|
@@ -4061,6 +4471,11 @@ interface TabbedPanelProps {
|
|
|
4061
4471
|
activeTab?: string;
|
|
4062
4472
|
/** Callback when tab changes */
|
|
4063
4473
|
onTabChange?: (value: string) => void;
|
|
4474
|
+
/**
|
|
4475
|
+
* A `closable` tab's close was pressed, by its value. The tabs are yours, so
|
|
4476
|
+
* closing is too: drop it from `tabs`, and move `activeTab` if it was open.
|
|
4477
|
+
*/
|
|
4478
|
+
onTabClose?: (value: string) => void;
|
|
4064
4479
|
/**
|
|
4065
4480
|
* Actions on the right of the tab bar, as `NavHorizontal` items. A panel
|
|
4066
4481
|
* header has one action area — the right — so this is the item list itself
|
|
@@ -4077,6 +4492,16 @@ interface TabbedPanelProps {
|
|
|
4077
4492
|
* ```
|
|
4078
4493
|
*/
|
|
4079
4494
|
headerActions?: NavHorizontalItem[];
|
|
4495
|
+
/**
|
|
4496
|
+
* A control on the right of the tab strip, before `headerActions`, that
|
|
4497
|
+
* applies to **every** tab: a time window, a version. Not a place for a
|
|
4498
|
+
* tab's own controls — those belong in that tab's body.
|
|
4499
|
+
*
|
|
4500
|
+
* ```tsx
|
|
4501
|
+
* headerContent={<ToggleGroup type="single" size="sm">…</ToggleGroup>}
|
|
4502
|
+
* ```
|
|
4503
|
+
*/
|
|
4504
|
+
headerContent?: React__default.ReactNode;
|
|
4080
4505
|
/**
|
|
4081
4506
|
* Fold the tabs that do not fit the header into a `…` dropdown at the end of
|
|
4082
4507
|
* the strip, instead of letting the strip set the panel's minimum width.
|
|
@@ -4114,7 +4539,7 @@ interface TabbedPanelProps {
|
|
|
4114
4539
|
footerContent?: React__default.ReactNode;
|
|
4115
4540
|
}
|
|
4116
4541
|
/**
|
|
4117
|
-
* TabbedPanel — a panel whose views sit behind one
|
|
4542
|
+
* TabbedPanel — a panel whose views sit behind one `md` tab strip.
|
|
4118
4543
|
*
|
|
4119
4544
|
* The strip is a `NavItems` tab list (`variant="underline"`), not a Radix
|
|
4120
4545
|
* `Tabs`: the same component draws this kit's nav rails and its workbook tabs,
|
|
@@ -4124,47 +4549,129 @@ interface TabbedPanelProps {
|
|
|
4124
4549
|
* `TabsContent`, and a panel that tears its canvas down on every tab switch is
|
|
4125
4550
|
* not a panel anyone wants.
|
|
4126
4551
|
*/
|
|
4127
|
-
declare function TabbedPanel({ tabs, defaultTab, activeTab, onTabChange, headerActions, overflow, overflowLabel, keepMounted, className, headerClassName, bodyClassName, footerClassName, footerContent, }: TabbedPanelProps): React__default.JSX.Element;
|
|
4552
|
+
declare function TabbedPanel({ tabs, defaultTab, activeTab, onTabChange, onTabClose, headerActions, headerContent, overflow, overflowLabel, keepMounted, className, headerClassName, bodyClassName, footerClassName, footerContent, }: TabbedPanelProps): React__default.JSX.Element;
|
|
4128
4553
|
|
|
4129
4554
|
/**
|
|
4130
|
-
*
|
|
4555
|
+
* Which rows of a tree are open, by key — `true` for every one. The same shape
|
|
4556
|
+
* as a `DataTable`'s `expanded`, so a page holding both passes one value.
|
|
4557
|
+
*/
|
|
4558
|
+
type ExpandedKeys = true | Record<string, boolean>;
|
|
4559
|
+
interface UseExpandedKeysOptions {
|
|
4560
|
+
/** Controlled. Pair it with `onExpandedChange`. */
|
|
4561
|
+
expanded?: ExpandedKeys;
|
|
4562
|
+
/** Uncontrolled: what is open at first. Closed by default. */
|
|
4563
|
+
defaultExpanded?: ExpandedKeys;
|
|
4564
|
+
onExpandedChange?: (expanded: ExpandedKeys) => void;
|
|
4565
|
+
/** Every key that can open, so closing one row of `true` keeps the rest open. */
|
|
4566
|
+
keys: string[];
|
|
4567
|
+
}
|
|
4568
|
+
/**
|
|
4569
|
+
* Open and close the rows of a tree, controlled or not. What a chart drawn as
|
|
4570
|
+
* rows uses to nest — a Gantt's subtasks, a heat strip's children — so each
|
|
4571
|
+
* opens the same way and reports the same value.
|
|
4572
|
+
*/
|
|
4573
|
+
declare function useExpandedKeys({ expanded, defaultExpanded, onExpandedChange, keys, }: UseExpandedKeysOptions): {
|
|
4574
|
+
isOpen: (key: string) => boolean;
|
|
4575
|
+
toggle: (key: string) => void;
|
|
4576
|
+
};
|
|
4577
|
+
|
|
4578
|
+
/**
|
|
4579
|
+
* What a bar did with its slice of the clock.
|
|
4131
4580
|
*
|
|
4132
4581
|
* These are the engine's own step statuses (`StepStatus`, plus `skipped` for a
|
|
4133
4582
|
* branch that never ran), not a second vocabulary: a Gantt row and a log line
|
|
4134
|
-
* are the same
|
|
4583
|
+
* are the same work seen twice, so they say the same word for the same state.
|
|
4584
|
+
* `refused` is what a rule stopped — reached for and not allowed — which is a
|
|
4585
|
+
* different fact from `skipped`, and both are drawn.
|
|
4135
4586
|
*/
|
|
4136
|
-
type
|
|
4587
|
+
type GanttStatus = "succeeded" | "running" | "failed" | "needs_input" | "stopped" | "skipped" | "queued" | "refused";
|
|
4137
4588
|
/** A `Date`, an ISO string, or epoch milliseconds — whatever the JSON carried. */
|
|
4138
|
-
type
|
|
4589
|
+
type GanttInstant = string | number | Date;
|
|
4139
4590
|
/**
|
|
4140
|
-
* One bar. A
|
|
4141
|
-
* failed
|
|
4591
|
+
* One bar on the clock. A row's own bar is one of these, so is each earlier
|
|
4592
|
+
* attempt — the failed one sitting to the left of the one that stuck — and so
|
|
4593
|
+
* is each of the row's `bars`.
|
|
4142
4594
|
*/
|
|
4143
|
-
interface
|
|
4595
|
+
interface GanttBar {
|
|
4144
4596
|
/** Offset from the run's zero. Use this, or `startedAt` with `origin`. */
|
|
4145
4597
|
startMs?: number;
|
|
4146
4598
|
durationMs?: number;
|
|
4147
|
-
startedAt?:
|
|
4148
|
-
finishedAt?:
|
|
4149
|
-
status?:
|
|
4599
|
+
startedAt?: GanttInstant;
|
|
4600
|
+
finishedAt?: GanttInstant;
|
|
4601
|
+
status?: GanttStatus;
|
|
4150
4602
|
/** Overrides the hover text, which otherwise reads `key · status · duration`. */
|
|
4151
4603
|
title?: string;
|
|
4604
|
+
/**
|
|
4605
|
+
* Names the bar, so it can be picked on its own — `fetch_source#1`. Only a
|
|
4606
|
+
* bar in a row's `bars` has one; the row's own bar is picked with the row.
|
|
4607
|
+
*/
|
|
4608
|
+
key?: string;
|
|
4609
|
+
/**
|
|
4610
|
+
* Written in the bar — the task a slot held, the participant a layer reached.
|
|
4611
|
+
* A row with a labelled bar grows to the `xs` control height to carry it, and
|
|
4612
|
+
* the bar draws as a card with its fill as a rail, so the text stays legible
|
|
4613
|
+
* on any status or palette colour.
|
|
4614
|
+
*/
|
|
4615
|
+
label?: React$1.ReactNode;
|
|
4616
|
+
/**
|
|
4617
|
+
* Which entry of `palette` paints it, in place of its status fill — a layer,
|
|
4618
|
+
* a lane, an agent. A group the palette does not name keeps the status fill,
|
|
4619
|
+
* and a `failed` or `refused` bar is always drawn as one.
|
|
4620
|
+
*/
|
|
4621
|
+
group?: string;
|
|
4622
|
+
/**
|
|
4623
|
+
* `solid` (the default) is spent time. `outline` is time held but not spent
|
|
4624
|
+
* — queued, waiting on a gate; `dashed` is time that may be spent — declared,
|
|
4625
|
+
* not yet dispatched.
|
|
4626
|
+
*/
|
|
4627
|
+
variant?: "solid" | "outline" | "dashed";
|
|
4628
|
+
/**
|
|
4629
|
+
* A second line under the label — `1,204 of 1,251`, `503`. A row with one
|
|
4630
|
+
* grows to the `md` control height to carry both lines.
|
|
4631
|
+
*/
|
|
4632
|
+
note?: React$1.ReactNode;
|
|
4633
|
+
/** A small mark at the bar's end — a `Badge`, an icon, a count. Drawn with a label. */
|
|
4634
|
+
chip?: React$1.ReactNode;
|
|
4635
|
+
/**
|
|
4636
|
+
* What this bar did, for its own hover card — the same fields a row's card
|
|
4637
|
+
* reads. A row with a bar that has one opens no card of its own: its bars
|
|
4638
|
+
* do, so the reader gets the bar under the cursor rather than the row.
|
|
4639
|
+
*/
|
|
4640
|
+
summary?: React$1.ReactNode;
|
|
4641
|
+
result?: React$1.ReactNode | Record<string, unknown>;
|
|
4642
|
+
error?: {
|
|
4643
|
+
code?: React$1.ReactNode;
|
|
4644
|
+
message?: React$1.ReactNode;
|
|
4645
|
+
detail?: React$1.ReactNode;
|
|
4646
|
+
};
|
|
4647
|
+
log?: React$1.ReactNode;
|
|
4152
4648
|
}
|
|
4153
|
-
|
|
4154
|
-
|
|
4649
|
+
/**
|
|
4650
|
+
* One row: a task on a run's clock, a worker slot, a layer, a participant —
|
|
4651
|
+
* whatever the surface groups time by. It carries its own bar, earlier
|
|
4652
|
+
* attempts, many `bars` of its own, and the `rows` it opens into.
|
|
4653
|
+
*/
|
|
4654
|
+
interface GanttRow extends GanttBar {
|
|
4655
|
+
/** What the log lines call it — `task_key`, `slot-1`, `ingest`. Also the row's label. */
|
|
4155
4656
|
key: string;
|
|
4156
4657
|
/** Shown instead of `key`, when the row wants a human name. */
|
|
4157
4658
|
label?: React$1.ReactNode;
|
|
4158
4659
|
/** Earlier attempts, oldest first. A failed one draws in `destructive`. */
|
|
4159
|
-
attempts?:
|
|
4160
|
-
/**
|
|
4660
|
+
attempts?: GanttBar[];
|
|
4661
|
+
/**
|
|
4662
|
+
* Many bars on one row, each a thing of its own rather than a retry — what a
|
|
4663
|
+
* worker slot held in order, what a layer was reached for. Drawn with the
|
|
4664
|
+
* row's own bar, if it has one; give each a `label` to say what it was.
|
|
4665
|
+
*/
|
|
4666
|
+
bars?: GanttBar[];
|
|
4667
|
+
/** Overrides the right-hand duration cell. `—` when the row never ran. */
|
|
4161
4668
|
duration?: React$1.ReactNode;
|
|
4162
|
-
/** One line — what
|
|
4669
|
+
/** One line — what it said. The card's last line. */
|
|
4163
4670
|
log?: React$1.ReactNode;
|
|
4164
4671
|
/** A sentence under the card's header, when the row wants one. */
|
|
4165
4672
|
summary?: React$1.ReactNode;
|
|
4166
4673
|
/**
|
|
4167
|
-
* What
|
|
4674
|
+
* What it produced — its `result.json`, or any part of it.
|
|
4168
4675
|
*
|
|
4169
4676
|
* An object renders as label/value pairs, with nested values as JSON; a node
|
|
4170
4677
|
* renders as given, which is the hook for a kind-specific card (a table
|
|
@@ -4179,12 +4686,44 @@ interface TaskGanttTask extends TaskGanttSegment {
|
|
|
4179
4686
|
};
|
|
4180
4687
|
/** Replaces this row's card body entirely. */
|
|
4181
4688
|
detail?: React$1.ReactNode;
|
|
4689
|
+
/**
|
|
4690
|
+
* The rows this one opens into — the tasks it split into, the participants
|
|
4691
|
+
* of a layer — drawn under it, indented, when it is open. A row with no
|
|
4692
|
+
* timing of its own draws the stretch its rows cover.
|
|
4693
|
+
*/
|
|
4694
|
+
rows?: GanttRow[];
|
|
4695
|
+
}
|
|
4696
|
+
/**
|
|
4697
|
+
* A bounded repetition — a loop's rounds — drawn as a bracket over the rows
|
|
4698
|
+
* it holds, with its label on a line of its own above them.
|
|
4699
|
+
*/
|
|
4700
|
+
interface GanttBracket {
|
|
4701
|
+
/** The first row it holds, by `key`. */
|
|
4702
|
+
from: string;
|
|
4703
|
+
/** The last row it holds, by `key`. Rows are matched in order, first hit. */
|
|
4704
|
+
to: string;
|
|
4705
|
+
/** `↻ 2 of 3 rounds — understood on round 2`. */
|
|
4706
|
+
label: React$1.ReactNode;
|
|
4707
|
+
}
|
|
4708
|
+
/**
|
|
4709
|
+
* A gate — a moment the run held and spent nothing — drawn as a rule across
|
|
4710
|
+
* the stretch of the clock it held, between the rows it lies between.
|
|
4711
|
+
*/
|
|
4712
|
+
interface GanttSeam extends Pick<GanttBar, "startMs" | "durationMs" | "startedAt" | "finishedAt"> {
|
|
4713
|
+
/** The row it follows, by `key`. */
|
|
4714
|
+
after: string;
|
|
4715
|
+
/** The label column's word — `approval`. */
|
|
4716
|
+
label: React$1.ReactNode;
|
|
4717
|
+
/** What it was and how it resolved, written on the rule — `approved by ravi`. */
|
|
4718
|
+
note?: React$1.ReactNode;
|
|
4719
|
+
/** Overrides the right-hand cell, which otherwise reads the time it held. */
|
|
4720
|
+
duration?: React$1.ReactNode;
|
|
4182
4721
|
}
|
|
4183
|
-
interface
|
|
4184
|
-
/** One entry per
|
|
4185
|
-
|
|
4186
|
-
/** The
|
|
4187
|
-
origin?:
|
|
4722
|
+
interface GanttProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
4723
|
+
/** One entry per row, in order — a run's tasks, its slots, its layers. */
|
|
4724
|
+
rows: GanttRow[];
|
|
4725
|
+
/** The clock's zero, when bars carry timestamps. Defaults to the earliest one. */
|
|
4726
|
+
origin?: GanttInstant;
|
|
4188
4727
|
/** The clock's ceiling. Defaults to the last end, or `nowMs` if that is later. */
|
|
4189
4728
|
spanMs?: number;
|
|
4190
4729
|
/** Draws the *now* line. Set it while the run is in flight; omit it after. */
|
|
@@ -4195,10 +4734,32 @@ interface TaskGanttProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "o
|
|
|
4195
4734
|
ticks?: number;
|
|
4196
4735
|
formatTick?: (ms: number) => string;
|
|
4197
4736
|
formatDuration?: (ms: number) => string;
|
|
4198
|
-
/**
|
|
4737
|
+
/**
|
|
4738
|
+
* The key column, in px. Omit it and the column takes its longest label,
|
|
4739
|
+
* up to 40% of the width — the surface decides the width, never the chart.
|
|
4740
|
+
*/
|
|
4199
4741
|
labelWidth?: number;
|
|
4200
4742
|
/**
|
|
4201
|
-
*
|
|
4743
|
+
* The right-hand duration column, in px. Omit it and it takes its widest
|
|
4744
|
+
* cell; set it on charts stacked over one clock so their tracks end together.
|
|
4745
|
+
*/
|
|
4746
|
+
durationWidth?: number;
|
|
4747
|
+
/** Loops, bracketed over their rounds. */
|
|
4748
|
+
brackets?: GanttBracket[];
|
|
4749
|
+
/** Gates, ruled across the time they held. */
|
|
4750
|
+
seams?: GanttSeam[];
|
|
4751
|
+
/**
|
|
4752
|
+
* What each bar `group` is painted with — `{ ingest: "bg-data-1" }`. The
|
|
4753
|
+
* kit ships no hues: a group nobody painted keeps its status fill.
|
|
4754
|
+
*/
|
|
4755
|
+
palette?: Record<string, string>;
|
|
4756
|
+
/**
|
|
4757
|
+
* The inside of a bar, for every bar in `bars` — a chip, an icon, a count. Return
|
|
4758
|
+
* `null` for a bar that should stay a plain fill. Wins over `label`.
|
|
4759
|
+
*/
|
|
4760
|
+
renderBar?: (bar: GanttBar, row: GanttRow) => React$1.ReactNode;
|
|
4761
|
+
/**
|
|
4762
|
+
* `compact` in a drawer, `comfortable` on a board. It moves the bar's
|
|
4202
4763
|
* height, not the type scale — one component, three surfaces (SR14).
|
|
4203
4764
|
*/
|
|
4204
4765
|
density?: "compact" | "comfortable";
|
|
@@ -4213,18 +4774,33 @@ interface TaskGanttProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "o
|
|
|
4213
4774
|
* Replaces the default card body, for every row. Return `null` for a row that
|
|
4214
4775
|
* should not open one.
|
|
4215
4776
|
*/
|
|
4216
|
-
renderDetail?: (
|
|
4777
|
+
renderDetail?: (row: GanttRow) => React$1.ReactNode;
|
|
4217
4778
|
/** Where the card sits, how fast it opens, and how wide it is. */
|
|
4218
|
-
detailProps?:
|
|
4219
|
-
/** The
|
|
4779
|
+
detailProps?: GanttDetailProps;
|
|
4780
|
+
/** The row or bar picked — what the log is currently filtered to (SR15). */
|
|
4220
4781
|
selectedKey?: string | null;
|
|
4221
4782
|
/** Makes the rows pickable. Picking one is what filters the log. */
|
|
4222
|
-
|
|
4783
|
+
onSelectRow?: (key: string) => void;
|
|
4784
|
+
/**
|
|
4785
|
+
* Makes each keyed bar pickable on its own — the task a layer was reached
|
|
4786
|
+
* for, rather than the layer. A row whose bars are keyed is then
|
|
4787
|
+
* picked by its bars, not as a whole, so a bar is never a button inside a
|
|
4788
|
+
* button. `selectedKey` lights a bar with that key as it lights a row.
|
|
4789
|
+
*/
|
|
4790
|
+
onSelectBar?: (barKey: string, rowKey: string) => void;
|
|
4791
|
+
/** Which rows with `rows` are open, by key — `true` for all. Controlled. */
|
|
4792
|
+
expanded?: ExpandedKeys;
|
|
4793
|
+
/** Which are open at first, uncontrolled. Closed by default. */
|
|
4794
|
+
defaultExpanded?: ExpandedKeys;
|
|
4795
|
+
/** A row opened or closed: every open key, as a `DataTable`'s `expanded` reads. */
|
|
4796
|
+
onExpandedChange?: (expanded: ExpandedKeys) => void;
|
|
4223
4797
|
}
|
|
4224
|
-
|
|
4225
|
-
|
|
4798
|
+
/**
|
|
4799
|
+
* Where the card opens. With neither `side` nor `align` it opens beside the
|
|
4800
|
+
* cursor, under the row; set either and it is placed against the row instead.
|
|
4801
|
+
*/
|
|
4802
|
+
interface GanttDetailProps {
|
|
4226
4803
|
side?: "top" | "right" | "bottom" | "left";
|
|
4227
|
-
/** @default "start" */
|
|
4228
4804
|
align?: "start" | "center" | "end";
|
|
4229
4805
|
sideOffset?: number;
|
|
4230
4806
|
/** @default 200 */
|
|
@@ -4235,14 +4811,14 @@ interface TaskGanttDetailProps {
|
|
|
4235
4811
|
width?: number | string;
|
|
4236
4812
|
className?: string;
|
|
4237
4813
|
}
|
|
4238
|
-
interface
|
|
4239
|
-
|
|
4240
|
-
/** Elapsed so far, for a
|
|
4814
|
+
interface GanttDetailCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
4815
|
+
row: GanttRow;
|
|
4816
|
+
/** Elapsed so far, for a row still running — it has no `durationMs` yet. */
|
|
4241
4817
|
elapsedMs?: number;
|
|
4242
4818
|
formatDuration?: (ms: number) => string;
|
|
4243
4819
|
}
|
|
4244
4820
|
/**
|
|
4245
|
-
* What one
|
|
4821
|
+
* What one row — or one bar — did, as a card.
|
|
4246
4822
|
*
|
|
4247
4823
|
* The body of the hover card, and exported so a surface can compose its own
|
|
4248
4824
|
* around the same header — `renderDetail` returning this with a kind-specific
|
|
@@ -4252,25 +4828,49 @@ interface TaskGanttDetailCardProps extends Omit<React$1.HTMLAttributes<HTMLDivEl
|
|
|
4252
4828
|
* Order is fixed and is the order a reader asks in: what state, how long, what
|
|
4253
4829
|
* went wrong, what came out, what it said last.
|
|
4254
4830
|
*/
|
|
4255
|
-
declare const
|
|
4831
|
+
declare const GanttDetailCard: React$1.ForwardRefExoticComponent<GanttDetailCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4256
4832
|
/**
|
|
4257
|
-
* Where the time went —
|
|
4833
|
+
* Where the time went — rows of bars on one clock.
|
|
4258
4834
|
*
|
|
4259
|
-
*
|
|
4260
|
-
*
|
|
4261
|
-
*
|
|
4262
|
-
* glance (SR14).
|
|
4835
|
+
* A row is whatever a surface groups time by. Read by **task**, it answers the
|
|
4836
|
+
* question a run detail is opened with: a bar placed by start and sized by
|
|
4837
|
+
* duration puts the slow task, the retry and the branch that never ran in one
|
|
4838
|
+
* glance (SR14). Read by **layer**, the same drawing answers what the run
|
|
4839
|
+
* reached and what it was stopped from reaching: a row per layer opens into its
|
|
4840
|
+
* participants, and each holds the `bars` of the tasks that reached it, painted
|
|
4841
|
+
* by `palette` — `refused` where a rule said no, `dashed` where it was declared
|
|
4842
|
+
* and never dispatched. Read by **slot**, each row is a worker and its bars are
|
|
4843
|
+
* what it ran, in order.
|
|
4263
4844
|
*
|
|
4264
|
-
*
|
|
4265
|
-
*
|
|
4266
|
-
*
|
|
4267
|
-
*
|
|
4845
|
+
* A row opens into its `rows`, indented under it, and a parent with no timing
|
|
4846
|
+
* of its own draws the stretch they cover as a thin rule — so a closed plan
|
|
4847
|
+
* still says how long it took. The clock is milliseconds by default; a plan
|
|
4848
|
+
* read in order passes step numbers and a `formatTick` that names them.
|
|
4268
4849
|
*
|
|
4269
|
-
* Colour never carries state alone: every row names its duration,
|
|
4270
|
-
*
|
|
4271
|
-
*
|
|
4850
|
+
* Colour never carries state alone: every row names its duration, a bar titles
|
|
4851
|
+
* itself with its status, a row that never ran is an *outline* rather than a
|
|
4852
|
+
* paler fill, and a refused bar's name is struck through.
|
|
4853
|
+
*/
|
|
4854
|
+
declare const Gantt: React$1.ForwardRefExoticComponent<GanttProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4855
|
+
|
|
4856
|
+
interface HeaderTrailCrumb {
|
|
4857
|
+
label: string;
|
|
4858
|
+
href?: string;
|
|
4859
|
+
onClick?: () => void;
|
|
4860
|
+
}
|
|
4861
|
+
interface HeaderTrailProps extends React$1.HTMLAttributes<HTMLElement> {
|
|
4862
|
+
/** The product's mark — a wordmark or a logo. */
|
|
4863
|
+
brand: React$1.ReactNode;
|
|
4864
|
+
/** Where the reader is, outermost first — `ravi-merugu`, `chickpea-breeding`. */
|
|
4865
|
+
crumbs: HeaderTrailCrumb[];
|
|
4866
|
+
}
|
|
4867
|
+
/**
|
|
4868
|
+
* The left of an app header: the brand, a rule, then the trail to where the
|
|
4869
|
+
* reader is — the account, the project. The brand keeps its width; the trail
|
|
4870
|
+
* truncates, innermost crumb last to go, so a narrow header never grows wider
|
|
4871
|
+
* for it.
|
|
4272
4872
|
*/
|
|
4273
|
-
declare const
|
|
4873
|
+
declare const HeaderTrail: React$1.ForwardRefExoticComponent<HeaderTrailProps & React$1.RefAttributes<HTMLElement>>;
|
|
4274
4874
|
|
|
4275
4875
|
interface TaskNodeTag {
|
|
4276
4876
|
/** `3 lanes`, `attempt 2`, `map_over: datasets`. */
|
|
@@ -4367,76 +4967,10 @@ interface TemplatePickerProps extends Omit<React$1.HTMLAttributes<HTMLDivElement
|
|
|
4367
4967
|
* again**. That is why unavailable options are listed rather than hidden — the
|
|
4368
4968
|
* reason a template does not fit ("needs a time column") is information about
|
|
4369
4969
|
* the data, and hiding it would leave the reader wondering what else exists.
|
|
4370
|
-
*/
|
|
4371
|
-
declare const TemplatePicker: React$1.ForwardRefExoticComponent<TemplatePickerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4372
|
-
|
|
4373
|
-
type TerminalLineKind = "prompt" | "output" | "comment";
|
|
4374
|
-
/**
|
|
4375
|
-
* The severity a **log** line was emitted at, as the runtime recorded it.
|
|
4376
|
-
*
|
|
4377
|
-
* Distinct from `kind`, which says what part of a *transcript* a line is — a
|
|
4378
|
-
* command you typed, what it printed, a comment. A run's log has no prompts and
|
|
4379
|
-
* no comments; every line is output, and what varies is how loud it is.
|
|
4380
|
-
*/
|
|
4381
|
-
type KnownTerminalLevel = "info" | "warn" | "error" | "debug";
|
|
4382
|
-
/**
|
|
4383
|
-
* The values the kit draws specially — **suggestions, not a limit.** Anything
|
|
4384
|
-
* else renders with the neutral token and its own name.
|
|
4385
|
-
*/
|
|
4386
|
-
type TerminalLevel = KnownTerminalLevel | (string & {});
|
|
4387
|
-
interface TerminalLineProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
4388
|
-
kind?: TerminalLineKind;
|
|
4389
|
-
/**
|
|
4390
|
-
* How loud this line is. Tints **one** cell — the one named by
|
|
4391
|
-
* `levelColumn` — and nothing else.
|
|
4392
|
-
*
|
|
4393
|
-
* Only the level word is coloured, never the message: a wall of amber
|
|
4394
|
-
* sentences is unreadable, and what a reader scans is the column, not the
|
|
4395
|
-
* prose. Setting this also drops the `kind` marker — a log line is not a
|
|
4396
|
-
* transcript line and does not want a `→` in front of it.
|
|
4397
|
-
*
|
|
4398
|
-
* The level **word** stays in `columns`. Colour is never the carrier.
|
|
4399
|
-
*/
|
|
4400
|
-
level?: TerminalLevel;
|
|
4401
|
-
/**
|
|
4402
|
-
* Which cell of `columns` holds the level word. Defaults to `1`, because a
|
|
4403
|
-
* log line reads `time · LEVEL · source · message` and the timestamp comes
|
|
4404
|
-
* first in every log anyone has ever read.
|
|
4405
|
-
*/
|
|
4406
|
-
levelColumn?: number;
|
|
4407
|
-
/**
|
|
4408
|
-
* Columns, for the step-shaped output a run prints — name, detail, timing,
|
|
4409
|
-
* result. Given as cells so they align down the transcript instead of each
|
|
4410
|
-
* line padding itself with spaces.
|
|
4411
|
-
*/
|
|
4412
|
-
columns?: React$1.ReactNode[];
|
|
4413
|
-
children?: React$1.ReactNode;
|
|
4414
|
-
}
|
|
4415
|
-
interface TerminalProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
4416
|
-
children?: React$1.ReactNode;
|
|
4417
|
-
/** Shows a blinking block at the end. */
|
|
4418
|
-
cursor?: boolean;
|
|
4419
|
-
/**
|
|
4420
|
-
* `grid-template-columns` for every columned line in this transcript.
|
|
4421
|
-
*
|
|
4422
|
-
* Set once here rather than per line, because the point of columns is that
|
|
4423
|
-
* they line up *down* the transcript — a width chosen per row aligns nothing.
|
|
4424
|
-
*/
|
|
4425
|
-
columnTemplate?: string;
|
|
4426
|
-
}
|
|
4427
|
-
/**
|
|
4428
|
-
* A shell transcript, as a first-class surface.
|
|
4429
|
-
*
|
|
4430
|
-
* Some of this product's work happens outside Studio — imports run from the
|
|
4431
|
-
* CLI, a scheduler calls the Python API — and the hand-off has to be shown
|
|
4432
|
-
* honestly rather than redrawn as a wizard. So this renders what the terminal
|
|
4433
|
-
* actually printed.
|
|
4434
4970
|
*
|
|
4435
|
-
*
|
|
4436
|
-
* console. There is no input here, and it does not scroll itself.
|
|
4971
|
+
* @deprecated Import from `@invana/assistant`. This export leaves `@invana/ui` in the next release.
|
|
4437
4972
|
*/
|
|
4438
|
-
declare const
|
|
4439
|
-
declare const TerminalLine: React$1.ForwardRefExoticComponent<TerminalLineProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4973
|
+
declare const TemplatePicker: React$1.ForwardRefExoticComponent<TemplatePickerProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4440
4974
|
|
|
4441
4975
|
/**
|
|
4442
4976
|
* How the list arranges one entry.
|
|
@@ -4448,8 +4982,12 @@ declare const TerminalLine: React$1.ForwardRefExoticComponent<TerminalLineProps
|
|
|
4448
4982
|
* `rail` — `when` sits above the title and a line threads the markers. For a
|
|
4449
4983
|
* narrow card or sidebar, where a 72px column would eat a third of the width
|
|
4450
4984
|
* and titles wrap anyway; the rail supplies the alignment the column was.
|
|
4985
|
+
*
|
|
4986
|
+
* `compact` — `when`, the marker and the text on one line, no rules. For a few
|
|
4987
|
+
* dated events inside an answer, `wk 8 · Yantian port congestion notice`,
|
|
4988
|
+
* where rules between two lines would outweigh the lines.
|
|
4451
4989
|
*/
|
|
4452
|
-
type TimelineVariant = "columns" | "rail";
|
|
4990
|
+
type TimelineVariant = "columns" | "rail" | "compact";
|
|
4453
4991
|
interface TimelineEntryProps extends Omit<React$1.HTMLAttributes<HTMLLIElement>, "title"> {
|
|
4454
4992
|
/** When — `Fri 5 Sep`, `09:47`, `Sun`. */
|
|
4455
4993
|
when: React$1.ReactNode;
|
|
@@ -4457,6 +4995,21 @@ interface TimelineEntryProps extends Omit<React$1.HTMLAttributes<HTMLLIElement>,
|
|
|
4457
4995
|
title?: React$1.ReactNode;
|
|
4458
4996
|
/** A marker in the rail — a `StatusDot`, usually. */
|
|
4459
4997
|
marker?: React$1.ReactNode;
|
|
4998
|
+
/**
|
|
4999
|
+
* Calls the entry out on a tinted ground — the anomaly the events around it
|
|
5000
|
+
* explain. `compact` only.
|
|
5001
|
+
*/
|
|
5002
|
+
highlight?: "error" | "warning" | "success" | "info";
|
|
5003
|
+
/**
|
|
5004
|
+
* The events this one breaks into — `TimelineEntry`s drawn under it, in the
|
|
5005
|
+
* list's variant, when it is open. A chevron beside the entry opens it.
|
|
5006
|
+
*/
|
|
5007
|
+
nested?: React$1.ReactNode;
|
|
5008
|
+
/** Controlled. Pair it with `onOpenChange`. */
|
|
5009
|
+
open?: boolean;
|
|
5010
|
+
/** Uncontrolled: open at first. Closed by default. */
|
|
5011
|
+
defaultOpen?: boolean;
|
|
5012
|
+
onOpenChange?: (open: boolean) => void;
|
|
4460
5013
|
children?: React$1.ReactNode;
|
|
4461
5014
|
}
|
|
4462
5015
|
interface TimelineListProps extends React$1.HTMLAttributes<HTMLOListElement> {
|
|
@@ -4474,7 +5027,9 @@ interface TimelineFooterProps extends React$1.HTMLAttributes<HTMLLIElement> {
|
|
|
4474
5027
|
* because the order carries meaning — these are events in sequence, not a set.
|
|
4475
5028
|
*
|
|
4476
5029
|
* Both variants take the same entries; only the arrangement differs. See
|
|
4477
|
-
* `TimelineVariant` for which one a surface wants.
|
|
5030
|
+
* `TimelineVariant` for which one a surface wants. An entry that breaks into
|
|
5031
|
+
* smaller events carries them as `nested` entries, drawn under it, in the
|
|
5032
|
+
* same variant, once it is opened.
|
|
4478
5033
|
*/
|
|
4479
5034
|
declare const TimelineList: React$1.ForwardRefExoticComponent<TimelineListProps & React$1.RefAttributes<HTMLOListElement>>;
|
|
4480
5035
|
declare const TimelineEntry: React$1.ForwardRefExoticComponent<TimelineEntryProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
@@ -4488,8 +5043,43 @@ declare const TimelineEntry: React$1.ForwardRefExoticComponent<TimelineEntryProp
|
|
|
4488
5043
|
* `columns` has no rail to run on, so the footer is a plain last row there.
|
|
4489
5044
|
*/
|
|
4490
5045
|
declare const TimelineFooter: React$1.ForwardRefExoticComponent<TimelineFooterProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
5046
|
+
interface TimelineSectionProps extends React$1.HTMLAttributes<HTMLLIElement> {
|
|
5047
|
+
children?: React$1.ReactNode;
|
|
5048
|
+
}
|
|
5049
|
+
/**
|
|
5050
|
+
* A label over a run of entries — `Before`, `Spike`, `After` — for events read
|
|
5051
|
+
* around one moment rather than as one sequence.
|
|
5052
|
+
*/
|
|
5053
|
+
declare const TimelineSection: React$1.ForwardRefExoticComponent<TimelineSectionProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
4491
5054
|
|
|
4492
|
-
|
|
5055
|
+
/** One control of a toolbar: a word, or an icon named by its tooltip. */
|
|
5056
|
+
interface ToolbarAction {
|
|
5057
|
+
id: string;
|
|
5058
|
+
/** The word, or — with an `icon` — the tooltip and accessible name. */
|
|
5059
|
+
label: string;
|
|
5060
|
+
/** Draws the control as an icon; the caller's, at 16px. */
|
|
5061
|
+
icon?: React$1.ReactNode;
|
|
5062
|
+
/** A toggle that is on — `Lock` while the canvas is locked. */
|
|
5063
|
+
pressed?: boolean;
|
|
5064
|
+
disabled?: boolean;
|
|
5065
|
+
}
|
|
5066
|
+
/** A rule between groups of controls. */
|
|
5067
|
+
interface ToolbarSeparator {
|
|
5068
|
+
separator: true;
|
|
5069
|
+
}
|
|
5070
|
+
type ToolbarItem = ToolbarAction | ToolbarSeparator;
|
|
5071
|
+
interface ToolbarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
5072
|
+
items: ToolbarItem[];
|
|
5073
|
+
/** A control was pressed, by its `id`. */
|
|
5074
|
+
onAction?: (id: string) => void;
|
|
5075
|
+
}
|
|
5076
|
+
/**
|
|
5077
|
+
* A row of controls over a canvas or a panel — icon toggles named by their
|
|
5078
|
+
* tooltips, words, and rules between groups — on the control scale a step
|
|
5079
|
+
* below its bar (`sm`). What each control does is the caller's: it says which
|
|
5080
|
+
* was pressed.
|
|
5081
|
+
*/
|
|
5082
|
+
declare const Toolbar: React$1.ForwardRefExoticComponent<ToolbarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4493
5083
|
|
|
4494
5084
|
interface TouchItem {
|
|
4495
5085
|
layer: Layer;
|
|
@@ -4505,6 +5095,12 @@ interface TouchItem {
|
|
|
4505
5095
|
interface TouchStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
4506
5096
|
items: TouchItem[];
|
|
4507
5097
|
palette?: LayerPalette;
|
|
5098
|
+
/**
|
|
5099
|
+
* `row` (default) is one cell per layer on one line, above a trace. `column`
|
|
5100
|
+
* is one line per layer, the note right-aligned — how a 420px panel reads the
|
|
5101
|
+
* same summary, where six cells on a line would truncate every note.
|
|
5102
|
+
*/
|
|
5103
|
+
orientation?: "row" | "column";
|
|
4508
5104
|
}
|
|
4509
5105
|
/**
|
|
4510
5106
|
* What a run touched at all — one cell per layer, on one line.
|
|
@@ -4626,6 +5222,13 @@ interface TourProps {
|
|
|
4626
5222
|
declare function Tour({ controller, steps, onExit, onComplete, badgeLabel, prevLabel, nextLabel, finishLabel, exitLabel, showExit, showCounter, showProgressBar, position, className, }: TourProps): React$1.JSX.Element | null;
|
|
4627
5223
|
|
|
4628
5224
|
interface TraceListProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
5225
|
+
/**
|
|
5226
|
+
* `default` is the run view: stripe, sequence, layer, duration. `progress` is
|
|
5227
|
+
* the trace a running answer streams — a dot per step (filled when done,
|
|
5228
|
+
* pulsing while it runs, hollow while it waits), the step in plain text, and
|
|
5229
|
+
* its timing or count at the right in mono.
|
|
5230
|
+
*/
|
|
5231
|
+
variant?: "default" | "progress";
|
|
4629
5232
|
children?: React$1.ReactNode;
|
|
4630
5233
|
}
|
|
4631
5234
|
/**
|
|
@@ -4638,7 +5241,7 @@ interface TraceListProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
4638
5241
|
*
|
|
4639
5242
|
* Nothing here is an axis. The layer a step spent is a column on its row, so a
|
|
4640
5243
|
* list nests for free and a second round is simply another row inside the box
|
|
4641
|
-
* that holds it. The clock reading of the same trace is `
|
|
5244
|
+
* that holds it. The clock reading of the same trace is `Gantt`, by task or by layer.
|
|
4642
5245
|
*/
|
|
4643
5246
|
declare const TraceList: React$1.ForwardRefExoticComponent<TraceListProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4644
5247
|
interface TraceStepProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onSelect" | "role"> {
|
|
@@ -4667,6 +5270,15 @@ interface TraceStepProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "o
|
|
|
4667
5270
|
struck?: boolean;
|
|
4668
5271
|
selected?: boolean;
|
|
4669
5272
|
onSelect?: () => void;
|
|
5273
|
+
/**
|
|
5274
|
+
* Where the step is, in a `progress` list: `done`, `running`, `pending`,
|
|
5275
|
+
* `failed`, `waiting` on the reader, `retrying` after a failed attempt, or
|
|
5276
|
+
* `stopped` by the reader. Defaults to `done`. The run view says the same
|
|
5277
|
+
* with `dim` and `struck`.
|
|
5278
|
+
*/
|
|
5279
|
+
status?: "done" | "running" | "pending" | "failed" | "waiting" | "retrying" | "stopped";
|
|
5280
|
+
/** Why a failed step failed, on a line under it in a `progress` list. */
|
|
5281
|
+
error?: React$1.ReactNode;
|
|
4670
5282
|
}
|
|
4671
5283
|
/**
|
|
4672
5284
|
* One event of a run: a step, and everything that is true of it.
|
|
@@ -4756,64 +5368,169 @@ interface UnderDevelopmentProps extends VariantProps<typeof underDevelopmentVari
|
|
|
4756
5368
|
}
|
|
4757
5369
|
declare function UnderDevelopment({ title, description, iconSize, size, className, }: UnderDevelopmentProps): React$1.JSX.Element;
|
|
4758
5370
|
|
|
4759
|
-
|
|
5371
|
+
/** One page in the strip — its tab label plus the content shown when active. */
|
|
5372
|
+
interface WorkbookPage {
|
|
5373
|
+
/** Stable identity — the key for mounting and the value passed to callbacks. */
|
|
5374
|
+
id: string;
|
|
5375
|
+
/** Tab label. */
|
|
5376
|
+
title: string;
|
|
5377
|
+
/** What renders in the body when this page is active (or, with
|
|
5378
|
+
* `keepMounted`, stays mounted-but-hidden while another page is active). */
|
|
5379
|
+
content: ReactNode;
|
|
5380
|
+
/** Optional leading icon in the tab. */
|
|
5381
|
+
icon?: ElementType;
|
|
5382
|
+
/** Disable selecting this tab. */
|
|
5383
|
+
disabled?: boolean;
|
|
5384
|
+
/** Extra classes for *this* tab button (win over the built-ins via
|
|
5385
|
+
* tailwind-merge) — e.g. a per-page accent. */
|
|
5386
|
+
tabClassName?: string;
|
|
5387
|
+
/** Inline styles for *this* tab button — e.g. a custom brand colour. */
|
|
5388
|
+
tabStyle?: CSSProperties;
|
|
5389
|
+
/** Draw an inline `×` on this tab (active or not) that calls the view's
|
|
5390
|
+
* `onClose`, in place of the caret menu — for a page with nothing to manage
|
|
5391
|
+
* but its own closing. Needs `onClose`. */
|
|
5392
|
+
closable?: boolean;
|
|
5393
|
+
}
|
|
5394
|
+
/**
|
|
5395
|
+
* One entry in the active tab's actions dropdown. The consumer supplies the list
|
|
5396
|
+
* (`pageMenuItems`); each item's `onSelect` is invoked with the id of the page
|
|
5397
|
+
* whose menu is open. This is how a host declares what a page can do — rename,
|
|
5398
|
+
* duplicate, remove, export, … — without the view knowing any of those verbs.
|
|
5399
|
+
*/
|
|
5400
|
+
interface WorkbookPageMenuItem {
|
|
5401
|
+
/** Stable key for the row. */
|
|
5402
|
+
id: string;
|
|
5403
|
+
/** Row label. */
|
|
5404
|
+
label: string;
|
|
5405
|
+
/** Optional leading icon. */
|
|
5406
|
+
icon?: ElementType;
|
|
5407
|
+
/** Invoked with the active page's id when the row is chosen. */
|
|
5408
|
+
onSelect: (pageId: string) => void;
|
|
5409
|
+
/** Render with destructive (danger) styling — e.g. "Remove". */
|
|
5410
|
+
destructive?: boolean;
|
|
5411
|
+
/** Disable the row — a boolean, or a predicate on the page id (e.g. disable
|
|
5412
|
+
* "Remove" on the last remaining page). */
|
|
5413
|
+
disabled?: boolean | ((pageId: string) => boolean);
|
|
5414
|
+
/** Draw a separator immediately *before* this row (to group actions). */
|
|
5415
|
+
separatorBefore?: boolean;
|
|
5416
|
+
}
|
|
5417
|
+
/**
|
|
5418
|
+
* An extra icon button for the header's right-pinned control cluster (next to the
|
|
5419
|
+
* pager / `+`) — e.g. settings, about, help. Strip-level, not per-page: its
|
|
5420
|
+
* `onSelect` takes no page id. The consumer supplies the list via `headerActions`.
|
|
5421
|
+
*/
|
|
5422
|
+
interface WorkbookAction {
|
|
5423
|
+
/** Stable key for the button. */
|
|
5424
|
+
id: string;
|
|
5425
|
+
/** Accessible label / tooltip. */
|
|
5426
|
+
label: string;
|
|
5427
|
+
/** Icon component. */
|
|
5428
|
+
icon: ElementType;
|
|
5429
|
+
/** Click handler. */
|
|
5430
|
+
onClick: () => void;
|
|
5431
|
+
/** Optional disabled state. */
|
|
5432
|
+
disabled?: boolean;
|
|
4760
5433
|
}
|
|
5434
|
+
interface WorkbookProps {
|
|
5435
|
+
/** The pages, in tab order. */
|
|
5436
|
+
pages: WorkbookPage[];
|
|
5437
|
+
/** Id of the active page. */
|
|
5438
|
+
activeId: string;
|
|
5439
|
+
/** Select a page (tab click). */
|
|
5440
|
+
onSelect: (id: string) => void;
|
|
5441
|
+
/** Show a `+` (in the pager cluster) that requests a new page. Omit to hide it. */
|
|
5442
|
+
onAdd?: () => void;
|
|
5443
|
+
/** Which edge of the body the tab strip sits on — `'top'` (default) or
|
|
5444
|
+
* `'bottom'`, the spreadsheet look, with each tab open at its top. */
|
|
5445
|
+
tabPosition?: 'top' | 'bottom';
|
|
5446
|
+
/** Which end of the strip the pager cluster (prev / next / `+`) docks at —
|
|
5447
|
+
* `'start'` (left of the tabs) or `'end'` (right of the tabs). Default `'end'`. */
|
|
5448
|
+
pagerPosition?: 'start' | 'end';
|
|
5449
|
+
/** Extra icon buttons pinned to the far right of the strip (right of the pager)
|
|
5450
|
+
* — e.g. settings, about. Optional. */
|
|
5451
|
+
headerActions?: WorkbookAction[];
|
|
5452
|
+
/** Actions offered on the **active** tab via a caret dropdown. Omit (or pass an
|
|
5453
|
+
* empty list) to hide the caret entirely. */
|
|
5454
|
+
pageMenuItems?: WorkbookPageMenuItem[];
|
|
5455
|
+
/** Close a page — invoked by the `×` on a `closable` page. */
|
|
5456
|
+
onClose?: (id: string) => void;
|
|
5457
|
+
/** Tooltip / aria label for the add button. */
|
|
5458
|
+
addLabel?: string;
|
|
5459
|
+
/** Fold tabs that don't fit into a `…` menu at the end of the strip, instead of
|
|
5460
|
+
* scrolling the strip horizontally. Default `true` — the pager still steps
|
|
5461
|
+
* through every page, folded or not. */
|
|
5462
|
+
overflow?: boolean;
|
|
5463
|
+
/** Accessible label / tooltip for the overflow (`…`) trigger. */
|
|
5464
|
+
overflowLabel?: string;
|
|
5465
|
+
/** Keep every page mounted and hide the inactive ones (default `true`), so a
|
|
5466
|
+
* page's state survives tab switches — a canvas's camera and layout, a
|
|
5467
|
+
* board's scroll and fetched data. Set `false` to mount only the active page. */
|
|
5468
|
+
keepMounted?: boolean;
|
|
5469
|
+
/** Extra classes on the root column. */
|
|
5470
|
+
className?: string;
|
|
5471
|
+
/** Extra classes on the header (tab strip). */
|
|
5472
|
+
headerClassName?: string;
|
|
5473
|
+
/** Extra classes on the body. */
|
|
5474
|
+
bodyClassName?: string;
|
|
5475
|
+
/** Extra classes applied to *every* tab button (win over the built-ins via
|
|
5476
|
+
* tailwind-merge). Per-page `WorkbookPage.tabClassName` layers on top of this. */
|
|
5477
|
+
tabClassName?: string;
|
|
5478
|
+
/** Extra classes applied to the **active** tab only — override the default
|
|
5479
|
+
* folder-tab look (e.g. a different accent colour). */
|
|
5480
|
+
activeTabClassName?: string;
|
|
5481
|
+
}
|
|
5482
|
+
/**
|
|
5483
|
+
* A folder-tab strip over independent pages. The active tab carries a
|
|
5484
|
+
* caret dropdown of consumer-supplied {@link WorkbookPageMenuItem}s (rename /
|
|
5485
|
+
* duplicate / remove / …). Presentational and engine-agnostic — the consumer owns
|
|
5486
|
+
* the page list + active id and applies the reported intents. See the module
|
|
5487
|
+
* header for `keepMounted` and strip-renderer notes.
|
|
5488
|
+
*/
|
|
5489
|
+
declare function Workbook({ pages, activeId, onSelect, onAdd, tabPosition, pagerPosition, headerActions, pageMenuItems, onClose, addLabel, overflow, overflowLabel, keepMounted, className, headerClassName, bodyClassName, tabClassName, activeTabClassName, }: WorkbookProps): React$1.JSX.Element;
|
|
5490
|
+
|
|
5491
|
+
type TypographyPreProps = React$1.HTMLAttributes<HTMLPreElement>;
|
|
4761
5492
|
declare const TypographyPre: React$1.ForwardRefExoticComponent<TypographyPreProps & React$1.RefAttributes<HTMLPreElement>>;
|
|
4762
5493
|
|
|
4763
|
-
|
|
4764
|
-
}
|
|
5494
|
+
type TypographyListProps = React$1.HTMLAttributes<HTMLUListElement>;
|
|
4765
5495
|
declare const TypographyList: React$1.ForwardRefExoticComponent<TypographyListProps & React$1.RefAttributes<HTMLUListElement>>;
|
|
4766
5496
|
|
|
4767
|
-
|
|
4768
|
-
}
|
|
5497
|
+
type TypographyMutedProps = React$1.HTMLAttributes<HTMLParagraphElement>;
|
|
4769
5498
|
declare const TypographyMuted: React$1.ForwardRefExoticComponent<TypographyMutedProps & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
4770
5499
|
|
|
4771
|
-
|
|
4772
|
-
}
|
|
5500
|
+
type TypographySmallProps = React$1.HTMLAttributes<HTMLElement>;
|
|
4773
5501
|
declare const TypographySmall: React$1.ForwardRefExoticComponent<TypographySmallProps & React$1.RefAttributes<HTMLElement>>;
|
|
4774
5502
|
|
|
4775
|
-
|
|
4776
|
-
}
|
|
5503
|
+
type TypographyLargeProps = React$1.HTMLAttributes<HTMLDivElement>;
|
|
4777
5504
|
declare const TypographyLarge: React$1.ForwardRefExoticComponent<TypographyLargeProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
4778
5505
|
|
|
4779
|
-
|
|
4780
|
-
}
|
|
5506
|
+
type TypographyLeadProps = React$1.HTMLAttributes<HTMLParagraphElement>;
|
|
4781
5507
|
declare const TypographyLead: React$1.ForwardRefExoticComponent<TypographyLeadProps & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
4782
5508
|
|
|
4783
|
-
|
|
4784
|
-
}
|
|
5509
|
+
type TypographyInlineCodeProps = React$1.HTMLAttributes<HTMLElement>;
|
|
4785
5510
|
declare const TypographyInlineCode: React$1.ForwardRefExoticComponent<TypographyInlineCodeProps & React$1.RefAttributes<HTMLElement>>;
|
|
4786
5511
|
|
|
4787
|
-
|
|
4788
|
-
}
|
|
5512
|
+
type TypographyBlockquoteProps = React$1.BlockquoteHTMLAttributes<HTMLQuoteElement>;
|
|
4789
5513
|
declare const TypographyBlockquote: React$1.ForwardRefExoticComponent<TypographyBlockquoteProps & React$1.RefAttributes<HTMLQuoteElement>>;
|
|
4790
5514
|
|
|
4791
|
-
|
|
4792
|
-
}
|
|
5515
|
+
type TypographyPProps = React$1.HTMLAttributes<HTMLParagraphElement>;
|
|
4793
5516
|
declare const TypographyP: React$1.ForwardRefExoticComponent<TypographyPProps & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
4794
5517
|
|
|
4795
|
-
|
|
4796
|
-
}
|
|
5518
|
+
type TypographyH6Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4797
5519
|
declare const TypographyH6: React$1.ForwardRefExoticComponent<TypographyH6Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4798
5520
|
|
|
4799
|
-
|
|
4800
|
-
}
|
|
5521
|
+
type TypographyH5Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4801
5522
|
declare const TypographyH5: React$1.ForwardRefExoticComponent<TypographyH5Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4802
5523
|
|
|
4803
|
-
|
|
4804
|
-
}
|
|
5524
|
+
type TypographyH4Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4805
5525
|
declare const TypographyH4: React$1.ForwardRefExoticComponent<TypographyH4Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4806
5526
|
|
|
4807
|
-
|
|
4808
|
-
}
|
|
5527
|
+
type TypographyH3Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4809
5528
|
declare const TypographyH3: React$1.ForwardRefExoticComponent<TypographyH3Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4810
5529
|
|
|
4811
|
-
|
|
4812
|
-
}
|
|
5530
|
+
type TypographyH2Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4813
5531
|
declare const TypographyH2: React$1.ForwardRefExoticComponent<TypographyH2Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4814
5532
|
|
|
4815
|
-
|
|
4816
|
-
}
|
|
5533
|
+
type TypographyH1Props = React$1.HTMLAttributes<HTMLHeadingElement>;
|
|
4817
5534
|
declare const TypographyH1: React$1.ForwardRefExoticComponent<TypographyH1Props & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
4818
5535
|
|
|
4819
5536
|
declare const Typography: {
|
|
@@ -4906,4 +5623,4 @@ interface UseOverflowItemsResult {
|
|
|
4906
5623
|
*/
|
|
4907
5624
|
declare function useOverflowItems({ count, enabled, pinnedIndex, reserve, }: UseOverflowItemsOptions): UseOverflowItemsResult;
|
|
4908
5625
|
|
|
4909
|
-
export { AbsenceNote, type AbsenceNoteProps, type AbsenceReason, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, type AddressChipProps, type AddressTone, AgentChip, type AgentChipProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, type AppStatusBarProps, type Artifact, ArtifactTable, type ArtifactTableProps, AttemptClock, type AttemptClockProps, type AttemptRow, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BarChartH, type BarChartHProps, BarChartV, type BarChartVProps, type BarDatum, type BaseNavProps, type Bound, BoundChip, type BoundChipProps, type BoundPalette, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, CAST_ROLES, CannotAnswerCard, type CannotAnswerCardProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CastResolution, type CastRole, type CastSource, CastTable, type CastTableProps, ChatSession, ChatSessionActivityRow, type ChatSessionActivityRowProps, type ChatSessionActivityStatus, ChatSessionActivitySubLine, type ChatSessionActivitySubLineProps, ChatSessionComposer, type ChatSessionComposerProps, ChatSessionContextChip, type ChatSessionContextChipProps, ChatSessionDisclosure, type ChatSessionDisclosureProps, ChatSessionMessage, type ChatSessionMessageAction, ChatSessionMessageOptions, type ChatSessionMessageOptionsProps, type ChatSessionMessageProps, type ChatSessionMessageRole, type ChatSessionMessageStatus, ChatSessionProgressLine, type ChatSessionProgressLineProps, ChatSessionPromptRow, type ChatSessionPromptRowProps, type ChatSessionProps, ChatSessionStatusBar, type ChatSessionStatusBarProps, ChatSessionTaskGroup, type ChatSessionTaskGroupProps, ChatSessionTaskRow, type ChatSessionTaskRowProps, type ChatSessionTaskStatus, CitationList, type CitationListProps, CitationMarker, CitationRow, type CitationRowProps, ClampedText, type ClampedTextProps, ClarifyCard, type ClarifyCardProps, type ClarifyOption, type ColumnDatum, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, type ContextBarProps, type DeclaredAxes, DiagnosisCard, type DiagnosisCardProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, type DiffListProps, type DiffOp, DiffRow, type DiffRowProps, DivergingBar, type DivergingBarProps, type DivergingDatum, DotRating, type DotRatingProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EgressClass, EgressList, type EgressListProps, EmissionCard, type EmissionCardProps, EmissionHeader, type EmissionHeaderProps, type EmissionKind, EmptyState, EmptyStateLock, type EmptyStateLockProps, type EmptyStateProps, ErrorBoundary, type ExchangeOption, ExchangeRecord, type ExchangeRecordProps, Eyebrow, type EyebrowProps, FilterBar, type FilterBarProps, FilterChip, type FilterChipProps, type HeatCell, type HeatState, HeatStrip, type HeatStripProps, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KindChip, type KindChipProps, type KnownAddressTone, type KnownBound, type KnownDiffOp, type KnownLayer, type KnownLayerItemState, type KnownMetricTone, type KnownParticipantVerdict, type KnownRunKind, type KnownRunStatus, type KnownTerminalLevel, type Layer, type LayerBand, type LayerBracket, LayerChip, type LayerChipProps, type LayerForecast, type LayerItem, type LayerItemState, type LayerPaint, type LayerPalette, type LayerPart, type LayerScale, type LayerSeam, LayerSection, type LayerSectionProps, LayerStrip, type LayerStripProps, Legend, LegendItem, type LegendItemProps, type LegendProps, type LegendSwatchKind, LensChip, type LensChipProps, LensRow, type LensRowProps, type LensUsage, Link, type LinkProps, MarkChip, type MarkChipProps, type MarkTone, type MatchCandidate, MatchPreview, type MatchPreviewProps, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, type MetricGridProps, MetricTile, type MetricTileProps, type MetricTone, type Narrowing, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavItemsVariant, type NavMenuItem, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, type PanelBoxProps, PanelContent, type PanelContentProps, PanelStack, type PanelStackHandle, type PanelStackProps, type PanelStackSection, ParticipantRow, type ParticipantRowProps, type ParticipantVerdict, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, type PropertyListProps, PropertyRow, type PropertyRowProps, ProposalCard, type ProposalCardProps, RatingControl, type RatingControlProps, RecordHeader, type RecordHeaderProps, RecordPager, type RecordPagerProps, RepairNote, type RepairNoteProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, type RetryNoteProps, RichSelect, type RichSelectOption, type RichSelectProps, type RuleEgress, type RuleProperties, RuleRow, type RuleRowProps, type RuleSelect, type RunKind, RunRow, type RunRowProps, type RunStatus, RunStatusText, type RunStatusTextProps, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SearchInputSize, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, 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, type SliceLine, SliceSummary, type SliceSummaryProps, Sparkline, type SparklineProps, Spinner, StatusDot, type StatusDotProps, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, type TaskGanttDetailCardProps, type TaskGanttDetailProps, type TaskGanttInstant, type TaskGanttProps, type TaskGanttSegment, type TaskGanttStatus, type TaskGanttTask, TaskNode, type TaskNodeProps, type TaskNodeTag, type TemplateOption, TemplatePicker, type TemplatePickerProps, Terminal, type TerminalLevel, TerminalLine, type TerminalLineKind, type TerminalLineProps, type TerminalProps, TimelineEntry, type TimelineEntryProps, TimelineFooter, type TimelineFooterProps, TimelineList, type TimelineListProps, type TimelineVariant, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TouchDirection, type TouchItem, TouchStrip, type TouchStripProps, Tour, type TourController, type TourProps, type TourReference, type TourStep, TraceGate, type TraceGateProps, TraceList, type TraceListProps, TraceLoop, type TraceLoopProps, TraceStep, type TraceStepProps, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseOverflowItemsOptions, type UseOverflowItemsResult, type UseTourOptions, type Verdict, agentChipVariants, badgeVariants, buttonGroupVariants, buttonVariants, chatSessionGutterClass, cn, describeSlice, stateLabel as layerItemLabel, layerLabel, layerPaint, linkVariants, navigationMenuTriggerStyle, TONE as runStatusTones, split as splitAddress, statusDotVariants, toggleVariants, useOverflowItems, useSidebar, useTour };
|
|
5626
|
+
export { AbsenceNote, type AbsenceNoteProps, type AbsenceReason, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, type AddressChipProps, type AddressTone, AgentChip, type AgentChipProps, AgentHeader, type AgentHeaderProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, type AppStatusBarProps, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactTable, type ArtifactTableProps, Avatar, AvatarFallback, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarProps, Badge, type BadgeProps, type BaseNavProps, type Bound, BoundChip, type BoundChipProps, type BoundPalette, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, CAST_ROLES, CannotAnswerCard, type CannotAnswerCardProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CastResolution, type CastRole, type CastSource, CastTable, type CastTableProps, CaveatNote, type CaveatNoteProps, ChatSession, ChatSessionActivityRow, type ChatSessionActivityRowProps, type ChatSessionActivityStatus, ChatSessionActivitySubLine, type ChatSessionActivitySubLineProps, ChatSessionCaret, ChatSessionComposer, type ChatSessionComposerProps, ChatSessionContextChip, type ChatSessionContextChipProps, ChatSessionDisclosure, ChatSessionDisclosureCode, type ChatSessionDisclosureProps, ChatSessionDisclosureSteps, type ChatSessionDisclosureStepsProps, ChatSessionMessage, type ChatSessionMessageAction, ChatSessionMessageOptions, type ChatSessionMessageOptionsProps, type ChatSessionMessageProps, type ChatSessionMessageRole, type ChatSessionMessageStatus, ChatSessionProgressLine, type ChatSessionProgressLineProps, ChatSessionPromptRow, type ChatSessionPromptRowProps, type ChatSessionProps, ChatSessionStatusBar, type ChatSessionStatusBarProps, ChatSessionTaskGroup, type ChatSessionTaskGroupProps, ChatSessionTaskRow, type ChatSessionTaskRowProps, type ChatSessionTaskStatus, CitationList, type CitationListProps, CitationMarker, CitationRow, type CitationRowProps, ClampedText, type ClampedTextProps, ClarifyActions, type ClarifyActionsProps, ClarifyCard, type ClarifyCardProps, ClarifyFootnote, type ClarifyFootnoteProps, type ClarifyOption, type ClarifyState, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, type ContextBarProps, DataReach, type DataReachModel, type DataReachProps, type DeclaredAxes, DiagnosisCard, type DiagnosisCardProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, type DiffListProps, type DiffOp, DiffRow, type DiffRowProps, DotRating, type DotRatingProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EgressClass, EgressList, type EgressListProps, EmissionBody, EmissionCard, type EmissionCardProps, EmissionHeader, type EmissionHeaderProps, type EmissionKind, EmptyState, EmptyStateLock, type EmptyStateLockProps, type EmptyStateProps, ErrorBoundary, type ErrorBoundaryProps, type ExchangeOption, ExchangeRecord, type ExchangeRecordProps, ExpandToggle, type ExpandToggleProps, type ExpandedKeys, Eyebrow, type EyebrowProps, FilterBar, type FilterBarProps, FilterChip, type FilterChipOption, type FilterChipProps, FloatingPanel, type FloatingPanelProps, Gantt, type GanttBar, type GanttBracket, GanttDetailCard, type GanttDetailCardProps, type GanttDetailProps, type GanttInstant, type GanttProps, type GanttRow, type GanttSeam, type GanttStatus, HeaderTrail, type HeaderTrailCrumb, type HeaderTrailProps, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, KindChip, type KindChipProps, type KnownAddressTone, type KnownBound, type KnownDiffOp, type KnownLayer, type KnownMetricTone, type KnownParticipantVerdict, type KnownRunKind, type KnownRunStatus, type KnownTerminalLevel, type Layer, LayerChip, type LayerChipProps, type LayerPaint, type LayerPalette, LayerSection, type LayerSectionProps, Legend, LegendItem, type LegendItemProps, type LegendProps, type LegendSwatchKind, LensRow, type LensRowProps, type LensUsage, Link, type LinkProps, LogCard, type LogCardProps, type LogFloor, type LogLine, MarkChip, type MarkChipProps, type MarkTone, type MatchCandidate, MatchPreview, type MatchPreviewProps, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, type MetricGridProps, MetricTile, type MetricTileProps, type MetricTone, MultiFilterChip, type MultiFilterChipProps, type Narrowing, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavItemsVariant, type NavMenuItem, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, type PanelBoxProps, PanelContent, type PanelContentProps, PanelStack, type PanelStackHandle, type PanelStackProps, type PanelStackSection, ParticipantRow, type ParticipantRowProps, type ParticipantVerdict, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, type PropertyListProps, PropertyRow, type PropertyRowProps, ProposalCard, type ProposalCardProps, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, type QuestionnaireChoiceFigure, type QuestionnaireChoiceProps, QuestionnaireChoiceTitle, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, type QuestionnaireFigureTone, QuestionnaireInput, type QuestionnaireInputProps, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireProgressBar, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RatingControl, type RatingControlProps, RecordHeader, type RecordHeaderProps, RecordPager, type RecordPagerProps, RefusalCard, type RefusalCardProps, RepairNote, type RepairNoteProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, type RetryNoteProps, RichSelect, type RichSelectAction, type RichSelectOption, type RichSelectProps, type RichSelectToggle, type RuleEgress, type RuleProperties, RuleRow, type RuleRowProps, type RuleSelect, type RunKind, RunRow, type RunRowProps, type RunStatus, RunStatusText, type RunStatusTextProps, ScopeLine, type ScopeLineChoice, type ScopeLinePart, type ScopeLineProps, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SearchInputSize, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, 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, type SliceLine, SliceSummary, type SliceSummaryProps, Spinner, Stack, type StackProps, StageTrail, type StageTrailProps, type StageTrailStep, StatusDot, type StatusDotProps, StatusIcon, type StatusIconProps, type StatusIconState, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, type TableDensity, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskNode, type TaskNodeProps, type TaskNodeTag, type TemplateOption, TemplatePicker, type TemplatePickerProps, Terminal, type TerminalLevel, TerminalLine, type TerminalLineKind, type TerminalLineProps, type TerminalProps, TimelineEntry, type TimelineEntryProps, TimelineFooter, type TimelineFooterProps, TimelineList, type TimelineListProps, TimelineSection, type TimelineSectionProps, type TimelineVariant, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, type ToolbarAction, type ToolbarItem, type ToolbarProps, type ToolbarSeparator, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TouchItem, TouchStrip, type TouchStripProps, Tour, type TourController, type TourProps, type TourReference, type TourStep, TraceGate, type TraceGateProps, TraceList, type TraceListProps, TraceLoop, type TraceLoopProps, TraceStep, type TraceStepProps, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseExpandedKeysOptions, type UseOverflowItemsOptions, type UseOverflowItemsResult, type UseTourOptions, type Verdict, Workbook, type WorkbookAction, type WorkbookPage, type WorkbookPageMenuItem, type WorkbookProps, agentChipVariants, avatarVariants, badgeVariants, buttonGroupVariants, buttonVariants, chatSessionGutterClass, cn, describeSlice, formatRecords, layerLabel, layerPaint, linkVariants, navigationMenuTriggerStyle, ICON as runStatusIcons, TONE as runStatusTones, split as splitAddress, stackVariants, statusDotVariants, statusIconVariants, summarizeReach, toggleVariants, useExpandedKeys, useOverflowItems, useSidebar, useTour };
|