@tailor-platform/app-shell 1.13.0 → 1.15.0

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.
@@ -10,9 +10,11 @@ import { CalendarDate } from '@internationalized/date';
10
10
  import { CalendarDateTime } from '@internationalized/date';
11
11
  import { Checkbox as Checkbox_2 } from '@base-ui/react/checkbox';
12
12
  import { ClassProp } from 'class-variance-authority/types';
13
+ import { Collapsible } from '@base-ui/react/collapsible';
13
14
  import { Combobox as Combobox_2 } from '@base-ui/react/combobox';
14
15
  import { ComboboxFilter } from '@base-ui/react/combobox';
15
16
  import { ComboboxFilterOptions } from '@base-ui/react/combobox';
17
+ import { ComponentProps } from 'react';
16
18
  import { CSSProperties } from 'react';
17
19
  import { DateValue } from '@internationalized/date';
18
20
  import { Dialog as Dialog_2 } from '@base-ui/react/dialog';
@@ -27,6 +29,7 @@ import { Link } from 'react-router';
27
29
  import { LinkProps } from 'react-router';
28
30
  import { LoaderFunctionArgs } from 'react-router';
29
31
  import { Location as Location_2 } from 'react-router';
32
+ import { LucideIcon } from 'lucide-react';
30
33
  import { Menu as Menu_2 } from '@base-ui/react/menu';
31
34
  import { Navigate } from 'react-router';
32
35
  import { NavigateFunction } from 'react-router';
@@ -65,6 +68,9 @@ import { useSearchParams } from 'react-router';
65
68
  import { VariantProps } from 'class-variance-authority';
66
69
  import { ZonedDateTime } from '@internationalized/date';
67
70
 
71
+ /** A single icon-button action — copy, retry, feedback. */
72
+ declare function Action({ label, className, disabled, children, onClick }: ActionProps): JSX.Element;
73
+
68
74
  /**
69
75
  * A single action row in the ActionPanel (icon + label, triggered by onClick).
70
76
  * For navigation, call useNavigate() inside onClick (e.g. navigate("/path")).
@@ -91,7 +97,7 @@ declare interface ActionItem {
91
97
  *
92
98
  * Each row has an icon and label and is triggered by onClick. For navigation, use
93
99
  * useNavigate() inside the callback (e.g. onClick: () => navigate("/path")).
94
- * Use `astw:w-full` so the panel fills the width of its parent container.
100
+ * The panel already fills the width of its parent container.
95
101
  *
96
102
  * When an action has `loading: true`, the row shows a spinner in the icon slot and is
97
103
  * non-interactive (useful for backend-driven actions: parent sets loading from mutation/request state).
@@ -132,8 +138,18 @@ export declare interface ActionPanelProps {
132
138
  className?: string;
133
139
  }
134
140
 
141
+ declare type ActionProps = Pick<React_2.ComponentProps<typeof Button>, "className" | "disabled" | "children" | "onClick"> & {
142
+ /** Accessible name; also shown as the hover tooltip. */
143
+ label: string;
144
+ };
145
+
146
+ /** Row of icon-button actions under a finished assistant turn. */
147
+ declare function Actions({ className, ...props }: ActionsProps): JSX.Element;
148
+
149
+ declare type ActionsProps = React_2.ComponentProps<"div">;
150
+
135
151
  export declare const ActivityCard: typeof ActivityCardStandalone & {
136
- Root: typeof Root_2;
152
+ Root: typeof Root_3;
137
153
  Items: typeof Items;
138
154
  Item: typeof Item;
139
155
  };
@@ -223,6 +239,8 @@ export declare interface ActivityCardRootProps<T extends ActivityCardBaseItem> {
223
239
  */
224
240
  declare function ActivityCardStandalone({ items, title, maxVisible, overflowLabel, groupBy, className, }: ActivityCardProps): JSX.Element;
225
241
 
242
+ export declare const AIChat: AIChatComponent;
243
+
226
244
  export declare type AIChatCompletionEvent = {
227
245
  type: "text-delta";
228
246
  text: string;
@@ -231,12 +249,103 @@ export declare type AIChatCompletionEvent = {
231
249
  finishReason?: string;
232
250
  };
233
251
 
252
+ declare type AIChatComponent = typeof AIChatRoot & {
253
+ Header: typeof Header;
254
+ Conversation: typeof Conversation;
255
+ Composer: typeof Composer;
256
+ EmptyState: typeof ConversationEmptyState;
257
+ Message: typeof Message;
258
+ Response: typeof Response_2;
259
+ Suggestions: typeof Suggestions;
260
+ Suggestion: typeof Suggestion;
261
+ Actions: typeof Actions;
262
+ Action: typeof Action;
263
+ Reasoning: typeof Reasoning;
264
+ ReasoningTrigger: typeof ReasoningTrigger;
265
+ ReasoningContent: typeof ReasoningContent;
266
+ ChainOfThought: typeof ChainOfThought;
267
+ ChainOfThoughtHeader: typeof ChainOfThoughtHeader;
268
+ ChainOfThoughtContent: typeof ChainOfThoughtContent;
269
+ ChainOfThoughtStep: typeof ChainOfThoughtStep;
270
+ ChainOfThoughtSearchResults: typeof ChainOfThoughtSearchResults;
271
+ ChainOfThoughtSearchResult: typeof ChainOfThoughtSearchResult;
272
+ Tool: typeof Tool;
273
+ ToolHeader: typeof ToolHeader;
274
+ ToolContent: typeof ToolContent;
275
+ ToolInput: typeof ToolInput;
276
+ ToolOutput: typeof ToolOutput;
277
+ Sources: typeof Sources;
278
+ SourcesTrigger: typeof SourcesTrigger;
279
+ SourcesContent: typeof SourcesContent;
280
+ Source: typeof Source;
281
+ History: typeof ChatHistory;
282
+ };
283
+
284
+ export declare type AIChatComposerProps = {
285
+ /** Called with the trimmed prompt when the composer submits. */
286
+ onSubmit: (message: string) => void;
287
+ /** Called from the Stop button while the chat's `status` is `"submitted"` or `"streaming"`. Omit to show a plain busy state with no Stop affordance. */
288
+ onStop?: () => void;
289
+ /** Controlled draft. Cleared (via `onValueChange("")`) after a successful submit. */
290
+ value?: string;
291
+ /** Uncontrolled draft's initial value. */
292
+ defaultValue?: string;
293
+ onValueChange?: (value: string) => void;
294
+ placeholder?: string;
295
+ /** Disables the composer. The transcript above it is unaffected. */
296
+ disabled?: boolean;
297
+ /**
298
+ * Enter submits; Shift+Enter inserts a newline. IME-safe: Enter during
299
+ * kana→kanji conversion confirms the candidate rather than submitting.
300
+ * @default true
301
+ */
302
+ submitOnEnter?: boolean;
303
+ /** Open slot on the action row — a visibility toggle, a model picker, a template select. */
304
+ actions?: ReactNode;
305
+ className?: string;
306
+ };
307
+
308
+ export declare type AIChatConversationProps = ComponentProps<"div"> & {
309
+ /**
310
+ * Follow content growth (streaming text, new turns) while the reader is
311
+ * pinned to the bottom. Set `false` for a plain scrollable region with no
312
+ * auto-follow; the scroll-to-latest button still works.
313
+ * @default true
314
+ */
315
+ autoScroll?: boolean;
316
+ };
317
+
318
+ export declare type AIChatHeaderProps = {
319
+ /** Title text. */
320
+ title?: ReactNode;
321
+ /** Leading graphic. Defaults to a sparkle; pass `null` for none, or a control (e.g. a collapse button) for a docked panel. */
322
+ icon?: ReactNode;
323
+ /** Right-aligned slot — compose it from `AIChat.Action`. */
324
+ actions?: ReactNode;
325
+ className?: string;
326
+ };
327
+
234
328
  export declare interface AIChatMessage {
235
329
  id: string;
236
330
  role: "user" | "assistant";
237
331
  content: string;
238
332
  }
239
333
 
334
+ export declare type AIChatProps = Omit<ComponentProps<"div">, "children"> & {
335
+ /**
336
+ * `AIChat.Header`, `AIChat.Conversation`, and `AIChat.Composer`, in any
337
+ * order — the root places them. They must be **direct** children: regions
338
+ * are matched by component identity, so one wrapped in your own component
339
+ * (`const AppComposer = () => <AIChat.Composer … />`) is not recognised and
340
+ * is dropped. To preset props, spread them onto the region instead.
341
+ */
342
+ children: ReactNode;
343
+ /** The chat's state. Plugs directly into `useAIChat()`'s `status`; `AIChat.Composer` reads it for its busy/Stop state. */
344
+ status?: AIChatStatus;
345
+ };
346
+
347
+ declare function AIChatRoot({ className, children, status, ...props }: AIChatProps): JSX.Element;
348
+
240
349
  export declare type AIChatStatus = "ready" | "submitted" | "streaming" | "error";
241
350
 
242
351
  export declare type AIGatewayChatMessage = {
@@ -261,7 +370,7 @@ export declare interface AIGatewayClient {
261
370
  }
262
371
 
263
372
  export declare const Alert: {
264
- Root: typeof Root;
373
+ Root: typeof Root_2;
265
374
  Title: typeof Title;
266
375
  Description: typeof Description;
267
376
  };
@@ -269,7 +378,7 @@ export declare const Alert: {
269
378
  export declare type AlertProps = RootProps;
270
379
 
271
380
  export declare const alertVariants: (props?: ({
272
- variant?: "error" | "neutral" | "success" | "warning" | "info" | null | undefined;
381
+ variant?: "error" | "success" | "warning" | "neutral" | "info" | null | undefined;
273
382
  } & ClassProp) | undefined) => string;
274
383
 
275
384
  declare type Anchor = "start" | "center" | "end";
@@ -425,6 +534,27 @@ export declare type AppShellProps = SharedAppShellProps & {
425
534
  export declare interface AppShellRegister {
426
535
  }
427
536
 
537
+ export declare type AppShellSidebarState = {
538
+ /**
539
+ * Whether the sidebar is expanded on desktop — the same signal the DOM
540
+ * exposes as `[data-slot="sidebar"][data-state]`.
541
+ *
542
+ * On mobile the sidebar is an overlay sheet rather than an in-flow column,
543
+ * so this does not describe how much room the content has; branch on
544
+ * `isMobile` when that distinction matters.
545
+ */
546
+ open: boolean;
547
+ /** Whether the viewport is below the mobile breakpoint (768px). */
548
+ isMobile: boolean;
549
+ /** Expand or collapse the sidebar. */
550
+ setOpen: (open: boolean) => void;
551
+ /**
552
+ * Toggle the sidebar — the same action as `<SidebarLayout.Trigger />` and the
553
+ * ⌘B / Ctrl+B shortcut, including the mobile and tablet overlay behaviour.
554
+ */
555
+ toggle: () => void;
556
+ };
557
+
428
558
  /**
429
559
  * Fetcher specification for async item loading.
430
560
  *
@@ -737,7 +867,7 @@ declare const AutocompleteParts: {
737
867
 
738
868
  declare type AutocompleteParts = typeof AutocompleteParts;
739
869
 
740
- declare type AutocompletePickedRootProps<Value> = Pick<AutocompleteRootProps<Value>, "value" | "defaultValue" | "onValueChange" | "filter" | "disabled" | "children"> & {
870
+ declare type AutocompletePickedRootProps<Value> = Pick<AutocompleteRootProps<Value>, "value" | "defaultValue" | "onValueChange" | "filter" | "disabled" | "children" | "name" | "form" | "required" | "inputRef" | "id"> & {
741
871
  items?: readonly Value[];
742
872
  };
743
873
 
@@ -779,6 +909,29 @@ declare interface AutocompletePropsBase<T> {
779
909
  "aria-labelledby"?: string;
780
910
  /** ID applied to the combobox input element. */
781
911
  id?: string;
912
+ /**
913
+ * Identifies the field when a form is submitted, so the current text is
914
+ * picked up by **native** form submission (`new FormData(form)`, a plain
915
+ * `<form>`, server actions).
916
+ *
917
+ * Autocomplete's value is the raw input string, so no value-serialisation
918
+ * hook is needed (unlike `Select` and `Combobox`).
919
+ *
920
+ * **Inside a `Field.Root`, the field's `name` wins and this prop is ignored** —
921
+ * the hidden input is named after the field. Set it only when the control is
922
+ * used outside a `Field.Root` (or when it must differ from the field name,
923
+ * which it cannot).
924
+ */
925
+ name?: string;
926
+ /**
927
+ * `id` of the form that owns the input. Use when the autocomplete is
928
+ * rendered outside the `<form>` element it belongs to.
929
+ */
930
+ form?: string;
931
+ /** Whether a value must be entered before the owning form can be submitted. */
932
+ required?: boolean;
933
+ /** Ref to the underlying input element. */
934
+ inputRef?: React_2.Ref<HTMLInputElement>;
782
935
  }
783
936
 
784
937
  declare function AutocompleteRoot<Value>(props: AutocompletePickedRootProps<Value>): JSX.Element;
@@ -844,7 +997,7 @@ declare namespace AutocompleteValue {
844
997
  }
845
998
 
846
999
  export declare const Avatar: {
847
- Root: typeof Root_3;
1000
+ Root: typeof Root_4;
848
1001
  Image: typeof Image_2;
849
1002
  Fallback: typeof Fallback;
850
1003
  };
@@ -891,7 +1044,7 @@ export declare interface BadgeProps extends React_2.HTMLAttributes<HTMLDivElemen
891
1044
  export declare type BadgeVariant = NonNullable<BadgeProps["variant"]>;
892
1045
 
893
1046
  export declare const badgeVariants: (props?: ({
894
- variant?: "default" | "error" | "neutral" | "success" | "warning" | "info" | "subtle-success" | "subtle-warning" | "subtle-error" | "subtle-info" | "outline-success" | "outline-warning" | "outline-error" | "outline-info" | "outline-neutral" | null | undefined;
1047
+ variant?: "default" | "error" | "success" | "warning" | "neutral" | "info" | "subtle-success" | "subtle-warning" | "subtle-error" | "subtle-info" | "outline-success" | "outline-warning" | "outline-error" | "outline-info" | "outline-neutral" | null | undefined;
895
1048
  } & ClassProp) | undefined) => string;
896
1049
 
897
1050
  export { Blocker }
@@ -1008,9 +1161,9 @@ declare namespace Caption {
1008
1161
  }
1009
1162
 
1010
1163
  export declare const Card: {
1011
- Root: typeof Root_5;
1012
- Header: typeof Header_3;
1013
- Content: typeof Content;
1164
+ Root: typeof Root_6;
1165
+ Header: typeof Header_4;
1166
+ Content: typeof Content_2;
1014
1167
  };
1015
1168
 
1016
1169
  /** A table data cell (`<td>`). */
@@ -1026,6 +1179,86 @@ declare type CellProps = React_2.ComponentProps<"td"> & {
1026
1179
  align?: CellAlign;
1027
1180
  };
1028
1181
 
1182
+ /**
1183
+ * Structured step timeline for agentic turns — the discrete plan being
1184
+ * executed, each step with a status and optional result chips. Use
1185
+ * `AIChat.Reasoning` for free-form thinking text and this for multi-step tool
1186
+ * plans.
1187
+ *
1188
+ * @example
1189
+ * ```tsx
1190
+ * <AIChat.ChainOfThought defaultOpen>
1191
+ * <AIChat.ChainOfThoughtHeader />
1192
+ * <AIChat.ChainOfThoughtContent>
1193
+ * <AIChat.ChainOfThoughtStep label="Searching" status="complete" />
1194
+ * <AIChat.ChainOfThoughtStep label="Drafting the answer" status="active" />
1195
+ * </AIChat.ChainOfThoughtContent>
1196
+ * </AIChat.ChainOfThought>
1197
+ * ```
1198
+ */
1199
+ declare function ChainOfThought({ className, children, ...props }: ChainOfThoughtProps): JSX.Element;
1200
+
1201
+ declare function ChainOfThoughtContent({ className, ...props }: ChainOfThoughtContentProps): JSX.Element;
1202
+
1203
+ declare type ChainOfThoughtContentProps = ComponentProps<typeof DisclosurePanel>;
1204
+
1205
+ declare function ChainOfThoughtHeader({ label, className, ...props }: ChainOfThoughtHeaderProps): JSX.Element;
1206
+
1207
+ declare type ChainOfThoughtHeaderProps = Omit<ComponentProps<typeof DisclosureTrigger>, "children"> & {
1208
+ /** Overrides the default "Chain of thought" label. */
1209
+ label?: string;
1210
+ };
1211
+
1212
+ declare type ChainOfThoughtProps = Omit<ComponentProps<typeof DisclosureRoot>, "children"> & {
1213
+ children: ReactNode;
1214
+ };
1215
+
1216
+ declare function ChainOfThoughtSearchResult({ className, variant, children, }: ChainOfThoughtSearchResultProps): JSX.Element;
1217
+
1218
+ declare type ChainOfThoughtSearchResultProps = Pick<ComponentProps<typeof Badge>, "className" | "children" | "variant">;
1219
+
1220
+ declare function ChainOfThoughtSearchResults({ className, ...props }: ChainOfThoughtSearchResultsProps): JSX.Element;
1221
+
1222
+ declare type ChainOfThoughtSearchResultsProps = ComponentProps<"div">;
1223
+
1224
+ declare function ChainOfThoughtStep({ label, description, icon: Icon, status, className, children, ...props }: ChainOfThoughtStepProps): JSX.Element;
1225
+
1226
+ declare type ChainOfThoughtStepProps = ComponentProps<"div"> & {
1227
+ label: string;
1228
+ description?: string;
1229
+ /** Lucide icon for the marker; a plain dot when omitted. */
1230
+ icon?: LucideIcon;
1231
+ status?: ChainOfThoughtStepStatus;
1232
+ };
1233
+
1234
+ export declare type ChainOfThoughtStepStatus = "complete" | "active" | "pending";
1235
+
1236
+ /**
1237
+ * Grouped list of past conversations ("Today", "Previous 7 days", …) for
1238
+ * reopening an earlier chat. Layout-agnostic — render it in a popover, a
1239
+ * `Sheet`, or a sidebar section of a full chat page. Group titles and date
1240
+ * bucketing are the caller's own. Deleting is optional — pass `onDelete` to
1241
+ * reveal a delete button on hover.
1242
+ */
1243
+ declare function ChatHistory({ groups, activeId, onSelect, onDelete, className, ...props }: ChatHistoryProps): JSX.Element;
1244
+
1245
+ export declare type ChatHistoryGroupData = {
1246
+ title: string;
1247
+ items: ChatHistoryItemData[];
1248
+ };
1249
+
1250
+ export declare type ChatHistoryItemData = {
1251
+ id: string;
1252
+ title: string;
1253
+ };
1254
+
1255
+ declare type ChatHistoryProps = Omit<ComponentProps<"nav">, "onSelect"> & {
1256
+ groups: ChatHistoryGroupData[];
1257
+ activeId?: string;
1258
+ onSelect?: (id: string) => void;
1259
+ onDelete?: (id: string) => void;
1260
+ };
1261
+
1029
1262
  /**
1030
1263
  * A styled checkbox for boolean form fields.
1031
1264
  *
@@ -1337,6 +1570,13 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
1337
1570
  * `type` is set). Always wins over the built-in renderer when both are
1338
1571
  * present.
1339
1572
  *
1573
+ * `render` is a **presentation** hook. Built-in behaviors that need the raw
1574
+ * cell value — such as truncation tooltips, cell context-menu copy/filter
1575
+ * actions, and typed renderers — still resolve that value from `accessor`
1576
+ * first, then `row[col.id]`. When neither exists, those behaviors fall back
1577
+ * to the return value of `render(row)` only if it is a primitive
1578
+ * (`string`/`number`/`boolean`/`bigint`).
1579
+ *
1340
1580
  * Kept on the base (not per-branch) so callback contextual typing works
1341
1581
  * across spread-then-override patterns like `column({ ...inferred, render })`.
1342
1582
  */
@@ -1344,17 +1584,21 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
1344
1584
  /**
1345
1585
  * Custom header renderer.
1346
1586
  *
1347
- * When omitted, the built-in header renders `label` and, for sortable
1348
- * columns, owns the sort button and indicator. When provided, the return
1349
- * value replaces the built-in header entirely. Sortable custom headers
1350
- * receive `sortDirection` and `activateSort()` and must render their own
1351
- * click surface and sort indicator.
1587
+ * `header` is a **presentation** hook. When omitted, the built-in header
1588
+ * renders `label` and, for sortable columns, owns the sort button and
1589
+ * indicator. When provided, the return value replaces the built-in header
1590
+ * entirely. Sortable custom headers receive `sortDirection` and
1591
+ * `activateSort()` and must render their own click surface and sort
1592
+ * indicator for left-click sorting; built-in header context-menu actions are
1593
+ * still driven by `label`, `sort`, and other column metadata.
1352
1594
  */
1353
1595
  header?: (ctx: HeaderRenderContext) => ReactNode;
1354
1596
  /**
1355
- * Stable identifier used for column visibility toggling and as the React key.
1356
- * Falls back to `label` when omitted. Set this explicitly when `label` is
1357
- * absent or not unique.
1597
+ * Stable identifier used for column visibility toggling, persisted layout
1598
+ * state, raw-value fallback (`row[col.id]`), and as the React key. Falls
1599
+ * back to `label` when omitted. Set this explicitly when `label` is absent,
1600
+ * not unique, or when a custom-rendered column should still participate in
1601
+ * built-in cell behaviors that need a raw value.
1358
1602
  */
1359
1603
  id?: string;
1360
1604
  /** Fixed column width in pixels. When omitted the column sizes naturally. */
@@ -1379,9 +1623,8 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
1379
1623
  align?: "left" | "right";
1380
1624
  /**
1381
1625
  * When `true`, the cell content is truncated with an ellipsis when it
1382
- * overflows. A `<Tooltip>` is wired up automatically when `accessor`
1383
- * returns a string or number, so hovering the cell reveals the full
1384
- * value.
1626
+ * overflows. A `<Tooltip>` is wired up automatically when the resolved raw
1627
+ * value is a string or number (`accessor` first, then `row[col.id]`).
1385
1628
  *
1386
1629
  * Truncation requires the cell to be shrinkable — the body cell sets
1387
1630
  * `max-w-0`, which collapses unless another column anchors the row width.
@@ -1390,19 +1633,24 @@ declare interface ColumnBase<TRow extends Record<string, unknown>> {
1390
1633
  */
1391
1634
  truncate?: boolean;
1392
1635
  /**
1393
- * Sort configuration. When set, the column header becomes clickable and
1394
- * cycles through `Asc → Desc → undefined`.
1636
+ * Sort configuration. When set, the column participates in built-in sort
1637
+ * behaviors such as the default clickable header and the header context-menu
1638
+ * sort submenu. Left-click sorting from a custom `header` still requires that
1639
+ * renderer to call `ctx.activateSort()`.
1640
+ *
1395
1641
  * Use `fieldTypeToSortConfig` or `inferColumns` to derive this automatically.
1396
1642
  */
1397
1643
  sort?: SortConfig;
1398
1644
  /**
1399
1645
  * Filter configuration. When set, this column appears as an option in
1400
- * `DataTable.Filters`.
1646
+ * `DataTable.Filters` and, when collection `control` is available, can also
1647
+ * drive the built-in cell context-menu filter actions.
1401
1648
  *
1402
1649
  * `operators` optionally narrows the conditions exposed by the built-in
1403
1650
  * filter UI for this column. Order controls both the menu order and the
1404
1651
  * default operator. This affects the DataTable UI only — collection control
1405
1652
  * APIs and persisted filter state still accept the full backend operator set.
1653
+ * The cell context-menu narrows this further to single-value operators only.
1406
1654
  *
1407
1655
  * Use `fieldTypeToFilterConfig` or `inferColumns` to derive this automatically.
1408
1656
  */
@@ -1500,11 +1748,13 @@ declare type Columns = 3 | 4;
1500
1748
  * - `type: "text"` rejects `typeOptions` entirely.
1501
1749
  *
1502
1750
  * `accessor` lives on each branch (rather than `ColumnBase`) so the built-in
1503
- * renderers can constrain what a column produces. Returning an array or a
1504
- * non-Date object is a compile error on a typed branch, instead of silently
1505
- * rendering `[object Object]`. Untyped columns (`type?: undefined`) still
1506
- * accept `unknown` — they're rendered by an explicit `render`. `null` and
1507
- * `undefined` are always allowed: every built-in renderer maps them to the
1751
+ * renderers can constrain what a column produces. It is also the primary
1752
+ * source of truth for built-in cell behaviors that need the raw value
1753
+ * (truncate tooltip, cell context-menu copy/filter actions). Returning an
1754
+ * array or a non-Date object is a compile error on a typed branch, instead of
1755
+ * silently rendering `[object Object]`. Untyped columns (`type?: undefined`)
1756
+ * still accept `unknown` — they're rendered by an explicit `render`. `null`
1757
+ * and `undefined` are always allowed: every built-in renderer maps them to the
1508
1758
  * `—` placeholder.
1509
1759
  *
1510
1760
  * Prefer `Column<TRow>` in most cases; this is exported so consumers can
@@ -1542,7 +1792,7 @@ declare type ColumnTypeBranch<TRow extends Record<string, unknown>> = {
1542
1792
 
1543
1793
  export declare const Combobox: ComboboxComponent;
1544
1794
 
1545
- declare type ComboboxAsyncCreatableProps<T extends object> = (ComboboxAsyncOwnProps<T> & CreatableProps<T> & Omit<ComboboxPropsSingle<T>, "mapItem">) | (ComboboxAsyncOwnProps<T> & CreatableProps<T> & Omit<ComboboxPropsMultiple<T>, "mapItem">);
1795
+ declare type ComboboxAsyncCreatableProps<T extends object> = (ComboboxAsyncOwnProps<T> & CreatableProps<T> & Omit<ComboboxPropsSingle<T>, "mapItem" | "itemToStringValue">) | (ComboboxAsyncOwnProps<T> & CreatableProps<T> & Omit<ComboboxPropsMultiple<T>, "mapItem" | "itemToStringValue">);
1546
1796
 
1547
1797
  /** Fetcher type for `Combobox.Async`. */
1548
1798
  export declare type ComboboxAsyncFetcher<T> = AsyncFetcher<T>;
@@ -1719,6 +1969,37 @@ declare interface ComboboxPropsBase<T> {
1719
1969
  "aria-labelledby"?: string;
1720
1970
  /** ID applied to the combobox input element. */
1721
1971
  id?: string;
1972
+ /**
1973
+ * Identifies the field when a form is submitted. Base UI renders a hidden
1974
+ * input under this name, so the selected value is picked up by **native**
1975
+ * form submission (`new FormData(form)`, a plain `<form>`, server actions).
1976
+ *
1977
+ * For non-string items, pair this with `itemToStringValue` to control how
1978
+ * the value is serialised.
1979
+ *
1980
+ * **Inside a `Field.Root`, the field's `name` wins and this prop is ignored** —
1981
+ * the hidden input is named after the field. Set it only when the control is
1982
+ * used outside a `Field.Root` (or when it must differ from the field name,
1983
+ * which it cannot).
1984
+ */
1985
+ name?: string;
1986
+ /**
1987
+ * `id` of the form that owns the hidden input. Use when the combobox is
1988
+ * rendered outside the `<form>` element it belongs to.
1989
+ */
1990
+ form?: string;
1991
+ /** Whether a value must be chosen before the owning form can be submitted. */
1992
+ required?: boolean;
1993
+ /** Ref to the hidden input that carries the value during form submission. */
1994
+ inputRef?: React_2.Ref<HTMLInputElement>;
1995
+ /**
1996
+ * Converts a non-string item to the string written into the hidden input on
1997
+ * form submission. Items shaped `{ value, label }` use `value` automatically.
1998
+ *
1999
+ * Distinct from `mapItem`, which controls what the user sees. Not available
2000
+ * on the creatable variants, which own value serialisation.
2001
+ */
2002
+ itemToStringValue?: (item: T) => string;
1722
2003
  }
1723
2004
 
1724
2005
  declare interface ComboboxPropsMultiple<T> extends ComboboxPropsBase<T> {
@@ -1747,7 +2028,7 @@ declare namespace ComboboxRoot {
1747
2028
  var displayName: string;
1748
2029
  }
1749
2030
 
1750
- declare type ComboboxRootProps<Value, Multiple extends boolean | undefined = false> = Pick<React_2.ComponentProps<typeof Combobox_2.Root<Value, Multiple>>, "items" | "value" | "defaultValue" | "onValueChange" | "multiple" | "filter" | "inputValue" | "onInputValueChange" | "onOpenChange" | "itemToStringLabel" | "itemToStringValue" | "disabled" | "children">;
2031
+ declare type ComboboxRootProps<Value, Multiple extends boolean | undefined = false> = Pick<React_2.ComponentProps<typeof Combobox_2.Root<Value, Multiple>>, "items" | "value" | "defaultValue" | "onValueChange" | "multiple" | "filter" | "inputValue" | "onInputValueChange" | "onOpenChange" | "itemToStringLabel" | "itemToStringValue" | "disabled" | "children" | "name" | "form" | "required" | "inputRef" | "id">;
1751
2032
 
1752
2033
  declare function ComboboxStandalone<T extends object>(props: ComboboxStaticCreatableProps<T>): React_2.JSX.Element;
1753
2034
 
@@ -1755,9 +2036,9 @@ declare function ComboboxStandalone<I>(props: ComboboxStaticPlainProps<I>): Reac
1755
2036
 
1756
2037
  declare type ComboboxStaticCreatableProps<T extends object> = ({
1757
2038
  items: T[];
1758
- } & CreatableProps<T> & Omit<ComboboxPropsSingle<T>, "mapItem">) | ({
2039
+ } & CreatableProps<T> & Omit<ComboboxPropsSingle<T>, "mapItem" | "itemToStringValue">) | ({
1759
2040
  items: T[];
1760
- } & CreatableProps<T> & Omit<ComboboxPropsMultiple<T>, "mapItem">);
2041
+ } & CreatableProps<T> & Omit<ComboboxPropsMultiple<T>, "mapItem" | "itemToStringValue">);
1761
2042
 
1762
2043
  /**
1763
2044
  * @property items - Items to display. May be a flat array of `T` or an array of
@@ -1885,51 +2166,76 @@ declare type CommonProps = {
1885
2166
  guards?: Guard[];
1886
2167
  };
1887
2168
 
1888
- declare function Content({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
2169
+ /**
2170
+ * The chat's fixed footer: a `Textarea` body over one action row, following
2171
+ * the `form/composer` pattern — left side open for `actions`, right side fixed
2172
+ * to a single submit control. Enter submits and is IME-safe; Shift+Enter
2173
+ * inserts a newline. The submit button becomes Stop while the chat's `status`
2174
+ * is busy.
2175
+ *
2176
+ * Reads `status` from the surrounding `AIChat`.
2177
+ */
2178
+ declare function Composer({ onSubmit, onStop, value, defaultValue, onValueChange, placeholder, disabled, submitOnEnter, actions, className, }: AIChatComposerProps): JSX.Element;
2179
+
2180
+ /** The tooltip popup that displays additional information. */
2181
+ declare function Content({ className, position, side: _side, align: _align, sideOffset: _sideOffset, noArrow, children, ...restProps }: React_2.ComponentProps<typeof Tooltip_2.Popup> & {
2182
+ position?: PositionProps;
2183
+ noArrow?: boolean;
2184
+ /** @deprecated Use `position={{ side }}` instead. */
2185
+ side?: PositionProps["side"];
2186
+ /** @deprecated Use `position={{ align }}` instead. */
2187
+ align?: PositionProps["align"];
2188
+ /** @deprecated Use `position={{ sideOffset }}` instead. */
2189
+ sideOffset?: PositionProps["sideOffset"];
2190
+ }): JSX.Element;
1889
2191
 
1890
2192
  declare namespace Content {
1891
2193
  var displayName: string;
1892
2194
  }
1893
2195
 
1894
- /** The main dialog panel that contains the dialog content. Automatically includes a close button and overlay. */
1895
- declare function Content_2({ className, children, ...props }: React_2.ComponentProps<typeof Dialog_2.Popup>): JSX.Element;
2196
+ declare function Content_2({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
1896
2197
 
1897
2198
  declare namespace Content_2 {
1898
2199
  var displayName: string;
1899
2200
  }
1900
2201
 
1901
- /** The menu popup that displays menu items. */
1902
- declare function Content_3({ className, position, children, ...restProps }: React_2.ComponentProps<typeof Menu_2.Popup> & {
1903
- position?: PositionProps;
1904
- }): JSX.Element;
2202
+ /** The main dialog panel that contains the dialog content. Automatically includes a close button and overlay. */
2203
+ declare function Content_3({ className, children, ...props }: React_2.ComponentProps<typeof Dialog_2.Popup>): JSX.Element;
1905
2204
 
1906
2205
  declare namespace Content_3 {
1907
2206
  var displayName: string;
1908
2207
  }
1909
2208
 
1910
- /** The main sheet panel. The `side` and modal behavior are inherited from `Sheet.Root` via context. */
1911
- declare function Content_4({ className, children, size, ...props }: SheetContentProps): JSX.Element;
2209
+ /** The menu popup that displays menu items. */
2210
+ declare function Content_4({ className, position, children, ...restProps }: React_2.ComponentProps<typeof Menu_2.Popup> & {
2211
+ position?: PositionProps;
2212
+ }): JSX.Element;
1912
2213
 
1913
2214
  declare namespace Content_4 {
1914
2215
  var displayName: string;
1915
2216
  }
1916
2217
 
1917
- /** The tooltip popup that displays additional information. */
1918
- declare function Content_5({ className, position, side: _side, align: _align, sideOffset: _sideOffset, noArrow, children, ...restProps }: React_2.ComponentProps<typeof Tooltip_2.Popup> & {
1919
- position?: PositionProps;
1920
- noArrow?: boolean;
1921
- /** @deprecated Use `position={{ side }}` instead. */
1922
- side?: PositionProps["side"];
1923
- /** @deprecated Use `position={{ align }}` instead. */
1924
- align?: PositionProps["align"];
1925
- /** @deprecated Use `position={{ sideOffset }}` instead. */
1926
- sideOffset?: PositionProps["sideOffset"];
1927
- }): JSX.Element;
2218
+ /** The main sheet panel. The `side` and modal behavior are inherited from `Sheet.Root` via context. */
2219
+ declare function Content_5({ className, children, size, ...props }: SheetContentProps): JSX.Element;
1928
2220
 
1929
2221
  declare namespace Content_5 {
1930
2222
  var displayName: string;
1931
2223
  }
1932
2224
 
2225
+ export declare type ContentContainerProps = {
2226
+ /**
2227
+ * Pinned chrome rendered above the scroll region — it stays put while the
2228
+ * content below it scrolls. Pass `<SidebarLayout.DefaultHeader />` for the
2229
+ * built-in top bar, your own node to replace it, or omit it entirely for a
2230
+ * bare content column.
2231
+ */
2232
+ header?: React.ReactNode;
2233
+ /** Extra classes for the content column itself (the `<main>` element). */
2234
+ className?: string;
2235
+ /** Scrolling page content. Usually `<SidebarLayout.Outlet />`. */
2236
+ children?: React.ReactNode;
2237
+ };
2238
+
1933
2239
  /**
1934
2240
  * Context data type inferred from AppShellRegister.
1935
2241
  * Falls back to Record<string, unknown> if not augmented.
@@ -1951,6 +2257,32 @@ declare namespace Control {
1951
2257
  var displayName: string;
1952
2258
  }
1953
2259
 
2260
+ /**
2261
+ * The transcript region: a scroll container that follows streaming output,
2262
+ * with a scroll-to-latest button that appears once the reader scrolls away.
2263
+ * While the reader is pinned to the bottom, growing content keeps the view
2264
+ * scrolled down; as soon as they scroll up to reread earlier messages,
2265
+ * following stops — a plain scrollIntoView-on-change can't tell the
2266
+ * difference and yanks the view back mid-read.
2267
+ *
2268
+ * Compose the transcript inside it from `AIChat.Message`, `AIChat.Response`,
2269
+ * and the other parts, or `AIChat.EmptyState` while there are no turns.
2270
+ */
2271
+ declare function Conversation({ className, autoScroll, children, ...props }: AIChatConversationProps): JSX.Element;
2272
+
2273
+ /**
2274
+ * Centered placeholder shown while the conversation has no turns yet. Stacks
2275
+ * `icon`, then the `title`/`description` block, then `children` — so starter
2276
+ * suggestions go in `children` alongside the text rather than replacing it.
2277
+ */
2278
+ declare function ConversationEmptyState({ className, title, description, icon, children, ...props }: ConversationEmptyStateProps): JSX.Element;
2279
+
2280
+ declare type ConversationEmptyStateProps = ComponentProps<"div"> & {
2281
+ title?: string;
2282
+ description?: string;
2283
+ icon?: ReactNode;
2284
+ };
2285
+
1954
2286
  /**
1955
2287
  * Creatable opt-in props. When `onCreateItem` is provided, the combobox allows
1956
2288
  * users to create new items on-the-fly.
@@ -2231,9 +2563,9 @@ export declare const DataTable: {
2231
2563
  * **Requires `control`** — `useDataTable()` must receive `control` from
2232
2564
  * `useCollectionVariables()`, otherwise this component throws at render time.
2233
2565
  *
2234
- * **Go-to-first / go-to-last buttons** — Rendered only when `totalPages` is
2235
- * non-null (i.e. the backend returns a total count). When `totalPages` is
2236
- * `null`, these buttons and the page counter are omitted.
2566
+ * **Go-to-first / go-to-last buttons** — The first-page button is always
2567
+ * rendered. The last-page button and page counter are rendered only when
2568
+ * `totalPages` is non-null (i.e. the backend returns a `total` count).
2237
2569
  */
2238
2570
  readonly Pagination: typeof DataTablePagination;
2239
2571
  };
@@ -2719,6 +3051,28 @@ export declare type DefaultSidebarProps = {
2719
3051
  * Auto-generation is completely disabled when children is specified.
2720
3052
  */
2721
3053
  children?: React.ReactNode;
3054
+ /**
3055
+ * Hide the sidebar's own header row (org title + collapse toggle). Use when a
3056
+ * global top bar already owns those — e.g. `SidebarLayout topBar`.
3057
+ *
3058
+ * @default false
3059
+ */
3060
+ hideHeader?: boolean;
3061
+ /**
3062
+ * Hide the built-in Search entry. Use when the command palette is already
3063
+ * reachable elsewhere — e.g. a global search box in `SidebarLayout topBar`.
3064
+ *
3065
+ * @default false
3066
+ */
3067
+ hideSearch?: boolean;
3068
+ /**
3069
+ * Collapse to a narrow icon rail (icons stay visible) instead of sliding
3070
+ * fully off-canvas. The rail then stays visible at every width — including
3071
+ * mobile, where it replaces the off-canvas drawer with the icon-width rail.
3072
+ *
3073
+ * @default false
3074
+ */
3075
+ iconRail?: boolean;
2722
3076
  };
2723
3077
 
2724
3078
  /**
@@ -3016,20 +3370,37 @@ export declare interface DescriptionCardProps<TData extends object = Record<stri
3016
3370
  }
3017
3371
 
3018
3372
  export declare const Dialog: {
3019
- Root: typeof Root_6;
3373
+ Root: typeof Root_7;
3020
3374
  Close: typeof Close;
3021
- Content: typeof Content_2;
3375
+ Content: typeof Content_3;
3022
3376
  Description: typeof Description_2;
3023
3377
  Footer: typeof Footer_2;
3024
- Header: typeof Header_4;
3378
+ Header: typeof Header_5;
3025
3379
  Title: typeof Title_2;
3026
- Trigger: typeof Trigger;
3380
+ Trigger: typeof Trigger_2;
3027
3381
  };
3028
3382
 
3029
3383
  declare type DialogRootProps = Pick<React_2.ComponentProps<typeof Dialog_2.Root>, "open" | "defaultOpen" | "onOpenChange" | "modal"> & {
3030
3384
  children: React_2.ReactNode;
3031
3385
  };
3032
3386
 
3387
+ declare function DisclosurePanel({ className, ...props }: DisclosurePanelProps): JSX.Element;
3388
+
3389
+ declare type DisclosurePanelProps = React_2.ComponentProps<typeof Collapsible.Panel>;
3390
+
3391
+ declare function DisclosureRoot({ className, children, ...props }: DisclosureRootProps): JSX.Element;
3392
+
3393
+ declare type DisclosureRootProps = Pick<React_2.ComponentProps<typeof Collapsible.Root>, "open" | "defaultOpen" | "onOpenChange"> & {
3394
+ className?: string;
3395
+ children: React_2.ReactNode;
3396
+ };
3397
+
3398
+ declare function DisclosureTrigger({ className, children, ...props }: DisclosureTriggerProps): JSX.Element;
3399
+
3400
+ declare type DisclosureTriggerProps = Omit<React_2.ComponentProps<typeof Collapsible.Trigger>, "children"> & {
3401
+ children: React_2.ReactNode;
3402
+ };
3403
+
3033
3404
  /**
3034
3405
  * DocumentProgressCard — a generic, presentational card for a document's
3035
3406
  * lifecycle/fulfilment state: an optional headline percentage, a stacked
@@ -3100,6 +3471,8 @@ declare interface DocumentProgressSegment {
3100
3471
  color: DocumentProgressColor;
3101
3472
  }
3102
3473
 
3474
+ export declare const DynamicBreadcrumb: () => JSX.Element;
3475
+
3103
3476
  declare type DynamicLocales<Def extends Record<string, LabelValue>> = {
3104
3477
  [locale: string]: Partial<LabelDefinition<Def>> | undefined;
3105
3478
  };
@@ -3255,7 +3628,7 @@ declare namespace Fallback {
3255
3628
  }
3256
3629
 
3257
3630
  export declare const Field: {
3258
- Root: typeof Root_7;
3631
+ Root: typeof Root_8;
3259
3632
  Label: typeof Label;
3260
3633
  Control: typeof Control;
3261
3634
  Description: typeof Description_3;
@@ -3371,7 +3744,7 @@ declare type FieldRootProps = Pick<React_2.ComponentProps<typeof Field_2.Root>,
3371
3744
  };
3372
3745
 
3373
3746
  export declare const Fieldset: {
3374
- Root: typeof Root_8;
3747
+ Root: typeof Root_9;
3375
3748
  Legend: typeof Legend;
3376
3749
  };
3377
3750
 
@@ -3591,6 +3964,25 @@ declare namespace Footer_3 {
3591
3964
  * <button type="submit">Submit</button>
3592
3965
  * </Form>
3593
3966
  * ```
3967
+ *
3968
+ * @example
3969
+ * ### Submitting from outside the form
3970
+ * Give the form an `id` and point a detached submit button at it with the
3971
+ * native `form` attribute. Useful when the save action lives in a page
3972
+ * header or a dialog footer rather than beside the fields.
3973
+ * ```tsx
3974
+ * <Layout.Header
3975
+ * title="Create product"
3976
+ * actions={[
3977
+ * <Button key="save" type="submit" form="product-form">
3978
+ * Save
3979
+ * </Button>,
3980
+ * ]}
3981
+ * />
3982
+ * <Form id="product-form" onFormSubmit={(values) => save(values)}>
3983
+ * …
3984
+ * </Form>
3985
+ * ```
3594
3986
  */
3595
3987
  export declare const Form: FormComponent;
3596
3988
 
@@ -3604,7 +3996,7 @@ declare interface FormComponent {
3604
3996
  displayName?: string;
3605
3997
  }
3606
3998
 
3607
- export declare type FormProps<FormValues extends Record<string, any> = Record<string, any>> = Pick<React_2.ComponentProps<typeof Form_2>, "errors" | "actionsRef" | "validationMode" | "noValidate" | "ref" | "className" | "style"> & {
3999
+ export declare type FormProps<FormValues extends Record<string, any> = Record<string, any>> = Pick<React_2.ComponentProps<typeof Form_2>, "errors" | "actionsRef" | "validationMode" | "noValidate" | "ref" | "className" | "style" | "id"> & {
3608
4000
  children: React_2.ReactNode;
3609
4001
  /**
3610
4002
  * Low-level submit handler that receives the native `FormEvent`.
@@ -3627,42 +4019,174 @@ declare type FormSubmitEventDetails = NonNullable<React_2.ComponentProps<typeof
3627
4019
  export { getLocalTimeZone }
3628
4020
 
3629
4021
  /**
3630
- * Hand-rolled segmented-date-field state.
4022
+ * GlobalHeader — the app-wide top bar for {@link GlobalHeaderLayout}.
3631
4023
  *
3632
- * This is the logic react-aria's `useDateFieldState` would otherwise provide.
3633
- * We own it here: locale-driven segment ordering (via `DateFormatter`), per-
3634
- * segment spinbutton semantics (increment/decrement with context-aware limits),
3635
- * numeric type-to-fill with auto-advance, and value-type discrimination by
3636
- * `granularity`. No `Date` ever escapes — `onChange` emits `@internationalized/date`
3637
- * values (or `null`).
4024
+ * Codifies the header layout so consumers don't hand-assemble it: the app title
4025
+ * (from `AppShell`) and the route-driven breadcrumb sit on the left, and the
4026
+ * `actions` cluster (defaulting to the appearance switcher) on the right.
4027
+ *
4028
+ * Use it via the `GlobalHeaderLayout.DefaultHeader` namespace.
4029
+ *
4030
+ * @example
4031
+ * ```tsx
4032
+ * <GlobalHeaderLayout
4033
+ * header={
4034
+ * <GlobalHeaderLayout.DefaultHeader
4035
+ * actions={[<AccountMenu key="account" />, <AppearanceSwitcher key="appearance" />]}
4036
+ * />
4037
+ * }
4038
+ * />
4039
+ * ```
3638
4040
  */
3639
- declare type Granularity = "day" | "hour" | "minute" | "second";
3640
-
3641
- export declare const Grid: React_2.ForwardRefExoticComponent<Omit<GridProps, "ref"> & React_2.RefAttributes<HTMLDivElement>> & {
3642
- Item: React_2.ForwardRefExoticComponent<Omit<GridItemProps, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
4041
+ export declare const GlobalHeader: {
4042
+ ({ actions }: GlobalHeaderProps): JSX.Element;
4043
+ displayName: string;
3643
4044
  };
3644
4045
 
3645
4046
  /**
3646
- * Props for {@link Grid.Item} — a grid cell that spans or is placed explicitly.
4047
+ * GlobalHeaderLayout — the app-shell layout with an app-wide header above the
4048
+ * whole shell and a sidebar that collapses to a persistent icon rail.
3647
4049
  *
3648
- * Only needed when a child must span multiple tracks or be positioned; plain
3649
- * children render in a single cell without it.
4050
+ * It is a thin, opinionated wrapper over {@link SidebarLayout}: it wires the
4051
+ * global top bar, drops the sidebar's own header, and turns on the icon rail so
4052
+ * consumers get the intended experience without reconstructing it from
4053
+ * individual props. Reach for `SidebarLayout` directly when you need the
4054
+ * flexible primitive instead.
4055
+ *
4056
+ * @example
4057
+ * ```tsx
4058
+ * <GlobalHeaderLayout
4059
+ * header={<GlobalHeaderLayout.DefaultHeader actions={[<AppearanceSwitcher key="a" />]} />}
4060
+ * sidebar={
4061
+ * <GlobalHeaderLayout.DefaultSidebar>
4062
+ * <SidebarItem to="/" />
4063
+ * <SidebarGroup title="Main" icon={<LayersIcon />}>
4064
+ * <SidebarItem to="/dashboard" />
4065
+ * <SidebarItem to="/orders" />
4066
+ * </SidebarGroup>
4067
+ * </GlobalHeaderLayout.DefaultSidebar>
4068
+ * }
4069
+ * >
4070
+ * {({ Outlet }) => <Outlet />}
4071
+ * </GlobalHeaderLayout>
4072
+ * ```
3650
4073
  */
3651
- export declare interface GridItemProps extends React_2.ComponentProps<"div"> {
3652
- /** Number of columns to span, or `"full"` to span all columns. Responsive. */
3653
- colSpan?: Responsive<number | "full">;
3654
- /** Number of rows to span, or `"full"` to span all rows. Responsive. */
3655
- rowSpan?: Responsive<number | "full">;
3656
- /** 1-based column line to start at (`grid-column-start`). Responsive. */
3657
- colStart?: Responsive<number>;
3658
- /** 1-based column line to end at (`grid-column-end`). Responsive. */
3659
- colEnd?: Responsive<number>;
3660
- }
4074
+ export declare function GlobalHeaderLayout(props: GlobalHeaderLayoutProps): JSX.Element;
3661
4075
 
3662
- /**
3663
- * Props for the {@link Grid} component.
3664
- *
3665
- * `Grid` is a generic, presentational CSS-Grid container. It does not assume
4076
+ export declare namespace GlobalHeaderLayout {
4077
+ var DefaultHeader: {
4078
+ ({ actions }: GlobalHeaderProps): JSX.Element;
4079
+ displayName: string;
4080
+ };
4081
+ var DefaultSidebar: {
4082
+ ({ footer, ...rest }: DefaultSidebarProps): JSX.Element;
4083
+ displayName: string;
4084
+ };
4085
+ var ContentContainer: {
4086
+ ({ header, className, children }: ContentContainerProps): JSX.Element;
4087
+ displayName: string;
4088
+ };
4089
+ var Outlet: () => JSX.Element;
4090
+ var Trigger: {
4091
+ ({ className, onClick }: TriggerProps): JSX.Element;
4092
+ displayName: string;
4093
+ };
4094
+ var Breadcrumb: () => JSX.Element;
4095
+ }
4096
+
4097
+ /**
4098
+ * The eject: you own the whole region beside the sidebar (e.g. a table-of-
4099
+ * contents rail + content + an assistant panel), composed from the namespaced
4100
+ * building blocks. See {@link SidebarLayout}'s `body` slot.
4101
+ */
4102
+ declare type GlobalHeaderLayoutBodyProps = GlobalHeaderLayoutCommonProps & {
4103
+ body: React.ReactNode;
4104
+ children?: never;
4105
+ };
4106
+
4107
+ declare type GlobalHeaderLayoutCommonProps = {
4108
+ /**
4109
+ * The app-wide top bar, spanning above the sidebar and content.
4110
+ *
4111
+ * @default <GlobalHeaderLayout.DefaultHeader />
4112
+ */
4113
+ header?: React.ReactNode;
4114
+ /**
4115
+ * The primary sidebar.
4116
+ *
4117
+ * @default <GlobalHeaderLayout.DefaultSidebar />
4118
+ */
4119
+ sidebar?: React.ReactNode;
4120
+ /** Whether the sidebar is expanded by default on desktop. @default true */
4121
+ defaultOpen?: boolean;
4122
+ /** Whether the sidebar can be collapsed. @default true */
4123
+ collapsible?: boolean;
4124
+ };
4125
+
4126
+ /** Default content layout — you render the page via the `Outlet` render prop. */
4127
+ declare type GlobalHeaderLayoutDefaultProps = GlobalHeaderLayoutCommonProps & {
4128
+ children?: (props: {
4129
+ Outlet: () => React.ReactNode;
4130
+ }) => React.ReactNode;
4131
+ /** Not available alongside `children` — see the `body` overload. */
4132
+ body?: never;
4133
+ };
4134
+
4135
+ export declare type GlobalHeaderLayoutProps = GlobalHeaderLayoutDefaultProps | GlobalHeaderLayoutBodyProps;
4136
+
4137
+ export declare type GlobalHeaderProps = {
4138
+ /**
4139
+ * The right-hand cluster of the header. Rendered in a horizontal,
4140
+ * vertically-centered row with consistent spacing — you don't wrap it
4141
+ * yourself. Accepts a single node or an array of nodes.
4142
+ *
4143
+ * **`actions` replaces the entire right-hand cluster, including the
4144
+ * appearance switcher.** When omitted, it defaults to just the
4145
+ * `<AppearanceSwitcher />`. Include `<AppearanceSwitcher />` in your array to
4146
+ * keep it. Passing `actions={[]}` renders an empty right side.
4147
+ *
4148
+ * @default [<AppearanceSwitcher />]
4149
+ */
4150
+ actions?: React.ReactNode | React.ReactNode[];
4151
+ };
4152
+
4153
+ /**
4154
+ * Hand-rolled segmented-date-field state.
4155
+ *
4156
+ * This is the logic react-aria's `useDateFieldState` would otherwise provide.
4157
+ * We own it here: locale-driven segment ordering (via `DateFormatter`), per-
4158
+ * segment spinbutton semantics (increment/decrement with context-aware limits),
4159
+ * numeric type-to-fill with auto-advance, and value-type discrimination by
4160
+ * `granularity`. No `Date` ever escapes — `onChange` emits `@internationalized/date`
4161
+ * values (or `null`).
4162
+ */
4163
+ declare type Granularity = "day" | "hour" | "minute" | "second";
4164
+
4165
+ export declare const Grid: React_2.ForwardRefExoticComponent<Omit<GridProps, "ref"> & React_2.RefAttributes<HTMLDivElement>> & {
4166
+ Item: React_2.ForwardRefExoticComponent<Omit<GridItemProps, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
4167
+ };
4168
+
4169
+ /**
4170
+ * Props for {@link Grid.Item} — a grid cell that spans or is placed explicitly.
4171
+ *
4172
+ * Only needed when a child must span multiple tracks or be positioned; plain
4173
+ * children render in a single cell without it.
4174
+ */
4175
+ export declare interface GridItemProps extends React_2.ComponentProps<"div"> {
4176
+ /** Number of columns to span, or `"full"` to span all columns. Responsive. */
4177
+ colSpan?: Responsive<number | "full">;
4178
+ /** Number of rows to span, or `"full"` to span all rows. Responsive. */
4179
+ rowSpan?: Responsive<number | "full">;
4180
+ /** 1-based column line to start at (`grid-column-start`). Responsive. */
4181
+ colStart?: Responsive<number>;
4182
+ /** 1-based column line to end at (`grid-column-end`). Responsive. */
4183
+ colEnd?: Responsive<number>;
4184
+ }
4185
+
4186
+ /**
4187
+ * Props for the {@link Grid} component.
4188
+ *
4189
+ * `Grid` is a generic, presentational CSS-Grid container. It does not assume
3666
4190
  * any data shape — children flow into the tracks defined by `columns`/`rows`.
3667
4191
  */
3668
4192
  export declare interface GridProps extends React_2.ComponentProps<"div"> {
@@ -3754,6 +4278,13 @@ declare namespace Head {
3754
4278
  var displayName: string;
3755
4279
  }
3756
4280
 
4281
+ /**
4282
+ * Fixed strip above the transcript: a leading graphic and title on the left,
4283
+ * an open action slot on the right, closed by a rule that runs the full width
4284
+ * of the surface.
4285
+ */
4286
+ declare function Header({ title, icon, actions, className }: AIChatHeaderProps): JSX.Element;
4287
+
3757
4288
  /**
3758
4289
  * Layout.Header — Page-level header with title, actions, and an optional
3759
4290
  * full-width slot.
@@ -3793,36 +4324,36 @@ declare namespace Head {
3793
4324
  * </Layout>
3794
4325
  * ```
3795
4326
  */
3796
- declare function Header({ title, actions, children }: LayoutHeaderProps): JSX.Element;
4327
+ declare function Header_2({ title, actions, children }: LayoutHeaderProps): JSX.Element;
3797
4328
 
3798
- declare namespace Header {
4329
+ declare namespace Header_2 {
3799
4330
  var displayName: string;
3800
4331
  }
3801
4332
 
3802
4333
  /** The table header section (`<thead>`). */
3803
- declare function Header_2({ className, ...props }: React_2.ComponentProps<"thead">): JSX.Element;
4334
+ declare function Header_3({ className, ...props }: React_2.ComponentProps<"thead">): JSX.Element;
3804
4335
 
3805
- declare namespace Header_2 {
4336
+ declare namespace Header_3 {
3806
4337
  var displayName: string;
3807
4338
  }
3808
4339
 
3809
- declare function Header_3({ className, title, description, children, ...props }: HeaderProps): JSX.Element;
4340
+ declare function Header_4({ className, title, description, children, ...props }: HeaderProps): JSX.Element;
3810
4341
 
3811
- declare namespace Header_3 {
4342
+ declare namespace Header_4 {
3812
4343
  var displayName: string;
3813
4344
  }
3814
4345
 
3815
4346
  /** A layout wrapper for the dialog title and description. */
3816
- declare function Header_4({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
4347
+ declare function Header_5({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
3817
4348
 
3818
- declare namespace Header_4 {
4349
+ declare namespace Header_5 {
3819
4350
  var displayName: string;
3820
4351
  }
3821
4352
 
3822
4353
  /** A layout wrapper for the sheet title, close button, and optional action buttons. */
3823
- declare function Header_5({ className, action, children, ...props }: SheetHeaderProps): JSX.Element;
4354
+ declare function Header_6({ className, action, children, ...props }: SheetHeaderProps): JSX.Element;
3824
4355
 
3825
- declare namespace Header_5 {
4356
+ declare namespace Header_6 {
3826
4357
  var displayName: string;
3827
4358
  }
3828
4359
 
@@ -4032,7 +4563,7 @@ export declare const Layout: LayoutComponent;
4032
4563
  */
4033
4564
  declare type LayoutComponent = typeof LayoutRoot & {
4034
4565
  Column: typeof Column_2;
4035
- Header: typeof Header;
4566
+ Header: typeof Header_2;
4036
4567
  };
4037
4568
 
4038
4569
  /**
@@ -4061,12 +4592,7 @@ export declare interface LayoutProps {
4061
4592
  className?: string;
4062
4593
  /** Inline styles */
4063
4594
  style?: CSSProperties;
4064
- /**
4065
- * Gap between columns (default: 4 = 16px)
4066
- *
4067
- * @deprecated Remove the `gap` prop and use `className` with the `astw:` prefix
4068
- * (e.g. `className="astw:gap-6"`) to override the default gap.
4069
- */
4595
+ /** Gap between columns (default: 4 = 16px; supported steps: 4, 6, and 8). */
4070
4596
  gap?: number;
4071
4597
  /** Header title - displayed at the top of the layout
4072
4598
  *
@@ -4155,9 +4681,9 @@ export declare interface MappedItem {
4155
4681
  }
4156
4682
 
4157
4683
  export declare const Menu: {
4158
- Root: typeof Root_9;
4159
- Trigger: typeof Trigger_2;
4160
- Content: typeof Content_3;
4684
+ Root: typeof Root_10;
4685
+ Trigger: typeof Trigger_3;
4686
+ Content: typeof Content_4;
4161
4687
  Item: typeof Item_2;
4162
4688
  LinkItem: typeof LinkItem;
4163
4689
  CheckboxItem: typeof CheckboxItem;
@@ -4183,6 +4709,21 @@ declare namespace MenuSeparator {
4183
4709
  var displayName: string;
4184
4710
  }
4185
4711
 
4712
+ /**
4713
+ * One turn in the conversation. User turns render as a right-aligned primary
4714
+ * bubble; assistant turns take the full width with no bubble, leaving room
4715
+ * for reasoning, tool calls, and citations to stack above the response text.
4716
+ * `data-from` is the styling hook for callers who need to target a turn from
4717
+ * outside.
4718
+ */
4719
+ declare function Message({ className, from, children, ...props }: MessageProps): JSX.Element;
4720
+
4721
+ declare type MessageProps = Omit<React_2.ComponentProps<"div">, "children"> & {
4722
+ /** Who sent the turn — styles the alignment and bubble. */
4723
+ from: "user" | "assistant";
4724
+ children: React_2.ReactNode;
4725
+ };
4726
+
4186
4727
  declare type MetadataFieldFilterOptions<TType extends FilterConfig["type"] = FilterConfig["type"]> = {
4187
4728
  operators?: NonEmptyReadonlyArray<DataTableUiFilterOperatorByType[TType]>;
4188
4729
  };
@@ -4571,6 +5112,44 @@ export declare interface RangeCalendarProps<T extends DateValue = DateValue> {
4571
5112
  locale?: string;
4572
5113
  }
4573
5114
 
5115
+ /**
5116
+ * Collapsible "thinking" block for models that stream reasoning before the
5117
+ * final answer. Follows the stream — open while tokens arrive, closed once
5118
+ * they stop — until the reader toggles it, after which their choice sticks.
5119
+ *
5120
+ * @example
5121
+ * ```tsx
5122
+ * <AIChat.Reasoning isStreaming={reasoning.streaming} duration={reasoning.duration}>
5123
+ * <AIChat.ReasoningTrigger />
5124
+ * <AIChat.ReasoningContent>{reasoning.text}</AIChat.ReasoningContent>
5125
+ * </AIChat.Reasoning>
5126
+ * ```
5127
+ */
5128
+ declare function Reasoning({ className, isStreaming, duration, defaultOpen, children, ...props }: ReasoningProps): JSX.Element;
5129
+
5130
+ declare function ReasoningContent({ children, className, ...props }: ReasoningContentProps): JSX.Element;
5131
+
5132
+ declare type ReasoningContentProps = Omit<ComponentProps<typeof DisclosurePanel>, "children"> & {
5133
+ children: string;
5134
+ };
5135
+
5136
+ declare type ReasoningProps = ComponentProps<"div"> & {
5137
+ /** True while reasoning tokens are still arriving. */
5138
+ isStreaming?: boolean;
5139
+ /** Seconds spent thinking; shown in the trigger once streaming ends. */
5140
+ duration?: number;
5141
+ /** Keep the block open even when no tokens are streaming. */
5142
+ defaultOpen?: boolean;
5143
+ children: ReactNode;
5144
+ };
5145
+
5146
+ declare function ReasoningTrigger({ label, className, ...props }: ReasoningTriggerProps): JSX.Element;
5147
+
5148
+ declare type ReasoningTriggerProps = Omit<ComponentProps<typeof DisclosureTrigger>, "children"> & {
5149
+ /** Overrides the default "Thinking… / Thought for Ns" label. */
5150
+ label?: string;
5151
+ };
5152
+
4574
5153
  /**
4575
5154
  * Redirect to another path.
4576
5155
  *
@@ -4629,6 +5208,20 @@ declare type ResourceMeta = {
4629
5208
  breadcrumbTitle?: string | ((segment: string) => string);
4630
5209
  };
4631
5210
 
5211
+ /**
5212
+ * Renders the markdown subset a streamed LLM response actually emits — bold,
5213
+ * inline code, links, headings, and bullet/numbered lists — without a
5214
+ * markdown dependency. For full CommonMark (tables, nested lists, math), swap
5215
+ * this for `react-markdown` or the AI SDK's `streamdown`; call sites keep the
5216
+ * same `<AIChat.Response>{text}</AIChat.Response>` shape either way.
5217
+ */
5218
+ declare function Response_2({ children, className }: ResponseProps): JSX.Element;
5219
+
5220
+ declare type ResponseProps = {
5221
+ children: string;
5222
+ className?: string;
5223
+ };
5224
+
4632
5225
  /**
4633
5226
  * A value that can either be a single value applied at all breakpoints, or an
4634
5227
  * object keyed by breakpoint for responsive behavior.
@@ -4641,12 +5234,47 @@ declare type ResourceMeta = {
4641
5234
  */
4642
5235
  declare type Responsive<T> = T | Partial<Record<Breakpoint, T>>;
4643
5236
 
4644
- declare function Root({ className, variant, action, dismissible, onDismiss, children, ...props }: RootProps): JSX.Element | null;
5237
+ /**
5238
+ * The root component that manages tooltip open/close state.
5239
+ *
5240
+ * @example
5241
+ * ```tsx
5242
+ * <Tooltip.Root>
5243
+ * <Tooltip.Trigger render={<Button variant="outline" />}>
5244
+ * Hover me
5245
+ * </Tooltip.Trigger>
5246
+ * <Tooltip.Content>Helpful information</Tooltip.Content>
5247
+ * </Tooltip.Root>
5248
+ * ```
5249
+ */
5250
+ declare function Root({ children, ...props }: TooltipRootProps): JSX.Element;
4645
5251
 
4646
5252
  declare namespace Root {
4647
5253
  var displayName: string;
4648
5254
  }
4649
5255
 
5256
+ /**
5257
+ * The root component that manages menu open/close state.
5258
+ *
5259
+ * @example
5260
+ * ```tsx
5261
+ * <Menu.Root>
5262
+ * <Menu.Trigger>Open menu</Menu.Trigger>
5263
+ * <Menu.Content>
5264
+ * <Menu.Item>Edit</Menu.Item>
5265
+ * <Menu.Item>Duplicate</Menu.Item>
5266
+ * <Menu.Separator />
5267
+ * <Menu.Item>Delete</Menu.Item>
5268
+ * </Menu.Content>
5269
+ * </Menu.Root>
5270
+ * ```
5271
+ */
5272
+ declare function Root_10({ children, ...props }: MenuRootProps): JSX.Element;
5273
+
5274
+ declare namespace Root_10 {
5275
+ var displayName: string;
5276
+ }
5277
+
4650
5278
  /**
4651
5279
  * The root component that manages sheet open/close state.
4652
5280
  * The `side` prop controls which edge of the screen the sheet slides in from.
@@ -4667,9 +5295,9 @@ declare namespace Root {
4667
5295
  * </Sheet.Root>
4668
5296
  * ```
4669
5297
  */
4670
- declare function Root_10({ side, modal, ...props }: SheetRootProps): JSX.Element;
5298
+ declare function Root_11({ side, modal, ...props }: SheetRootProps): JSX.Element;
4671
5299
 
4672
- declare namespace Root_10 {
5300
+ declare namespace Root_11 {
4673
5301
  var displayName: string;
4674
5302
  }
4675
5303
 
@@ -4690,26 +5318,7 @@ declare namespace Root_10 {
4690
5318
  * </Tabs.Root>
4691
5319
  * ```
4692
5320
  */
4693
- declare function Root_11({ className, children, variant, size, ...props }: RootProps_3): JSX.Element;
4694
-
4695
- declare namespace Root_11 {
4696
- var displayName: string;
4697
- }
4698
-
4699
- /**
4700
- * The root component that manages tooltip open/close state.
4701
- *
4702
- * @example
4703
- * ```tsx
4704
- * <Tooltip.Root>
4705
- * <Tooltip.Trigger render={<Button variant="outline" />}>
4706
- * Hover me
4707
- * </Tooltip.Trigger>
4708
- * <Tooltip.Content>Helpful information</Tooltip.Content>
4709
- * </Tooltip.Root>
4710
- * ```
4711
- */
4712
- declare function Root_12({ children, ...props }: TooltipRootProps): JSX.Element;
5321
+ declare function Root_12({ className, children, variant, size, ...props }: RootProps_3): JSX.Element;
4713
5322
 
4714
5323
  declare namespace Root_12 {
4715
5324
  var displayName: string;
@@ -4735,12 +5344,18 @@ declare namespace Root_13 {
4735
5344
  var displayName: string;
4736
5345
  }
4737
5346
 
4738
- declare function Root_2<T extends ActivityCardBaseItem>({ items, title, maxVisible, overflowLabel, groupBy, className, children, }: ActivityCardRootProps<T>): JSX.Element;
5347
+ declare function Root_2({ className, variant, action, dismissible, onDismiss, children, ...props }: RootProps): JSX.Element | null;
4739
5348
 
4740
5349
  declare namespace Root_2 {
4741
5350
  var displayName: string;
4742
5351
  }
4743
5352
 
5353
+ declare function Root_3<T extends ActivityCardBaseItem>({ items, title, maxVisible, overflowLabel, groupBy, className, children, }: ActivityCardRootProps<T>): JSX.Element;
5354
+
5355
+ declare namespace Root_3 {
5356
+ var displayName: string;
5357
+ }
5358
+
4744
5359
  /**
4745
5360
  * Root container for an avatar (image with optional fallback).
4746
5361
  *
@@ -4754,9 +5369,9 @@ declare namespace Root_2 {
4754
5369
  * </Avatar.Root>
4755
5370
  * ```
4756
5371
  */
4757
- declare function Root_3({ className, size, ...props }: AvatarProps): JSX.Element;
5372
+ declare function Root_4({ className, size, ...props }: AvatarProps): JSX.Element;
4758
5373
 
4759
- declare namespace Root_3 {
5374
+ declare namespace Root_4 {
4760
5375
  var displayName: string;
4761
5376
  }
4762
5377
 
@@ -4783,15 +5398,15 @@ declare namespace Root_3 {
4783
5398
  * </Table.Root>
4784
5399
  * ```
4785
5400
  */
4786
- declare function Root_4({ className, containerClassName, containerRef, ...props }: RootProps_2): JSX.Element;
5401
+ declare function Root_5({ className, containerClassName, containerRef, ...props }: RootProps_2): JSX.Element;
4787
5402
 
4788
- declare namespace Root_4 {
5403
+ declare namespace Root_5 {
4789
5404
  var displayName: string;
4790
5405
  }
4791
5406
 
4792
- declare function Root_5({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
5407
+ declare function Root_6({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
4793
5408
 
4794
- declare namespace Root_5 {
5409
+ declare namespace Root_6 {
4795
5410
  var displayName: string;
4796
5411
  }
4797
5412
 
@@ -4815,9 +5430,9 @@ declare namespace Root_5 {
4815
5430
  * </Dialog.Root>
4816
5431
  * ```
4817
5432
  */
4818
- declare function Root_6({ ...props }: DialogRootProps): JSX.Element;
5433
+ declare function Root_7({ ...props }: DialogRootProps): JSX.Element;
4819
5434
 
4820
- declare namespace Root_6 {
5435
+ declare namespace Root_7 {
4821
5436
  var displayName: string;
4822
5437
  }
4823
5438
 
@@ -4868,37 +5483,15 @@ declare namespace Root_6 {
4868
5483
  * > error routing, add `name={field.name}` to `Field.Root` so errors can be
4869
5484
  * > matched by field name.
4870
5485
  */
4871
- declare function Root_7({ className, children, isTouched, isDirty, invalid, error, isValidating: _isValidating, ...props }: FieldRootProps & {
5486
+ declare function Root_8({ className, children, isTouched, isDirty, invalid, error, isValidating: _isValidating, ...props }: FieldRootProps & {
4872
5487
  isValidating?: unknown;
4873
5488
  }): JSX.Element;
4874
5489
 
4875
- declare namespace Root_7 {
4876
- var displayName: string;
4877
- }
4878
-
4879
- declare function Root_8({ className, ...props }: FieldsetRootProps): JSX.Element;
4880
-
4881
5490
  declare namespace Root_8 {
4882
5491
  var displayName: string;
4883
5492
  }
4884
5493
 
4885
- /**
4886
- * The root component that manages menu open/close state.
4887
- *
4888
- * @example
4889
- * ```tsx
4890
- * <Menu.Root>
4891
- * <Menu.Trigger>Open menu</Menu.Trigger>
4892
- * <Menu.Content>
4893
- * <Menu.Item>Edit</Menu.Item>
4894
- * <Menu.Item>Duplicate</Menu.Item>
4895
- * <Menu.Separator />
4896
- * <Menu.Item>Delete</Menu.Item>
4897
- * </Menu.Content>
4898
- * </Menu.Root>
4899
- * ```
4900
- */
4901
- declare function Root_9({ children, ...props }: MenuRootProps): JSX.Element;
5494
+ declare function Root_9({ className, ...props }: FieldsetRootProps): JSX.Element;
4902
5495
 
4903
5496
  declare namespace Root_9 {
4904
5497
  var displayName: string;
@@ -5217,6 +5810,36 @@ declare interface SelectPropsBase<T> {
5217
5810
  "aria-labelledby"?: string;
5218
5811
  /** ID applied to the combobox trigger element. */
5219
5812
  id?: string;
5813
+ /**
5814
+ * Identifies the field when a form is submitted. Base UI renders a hidden
5815
+ * input under this name, so the selected value is picked up by **native**
5816
+ * form submission (`new FormData(form)`, a plain `<form>`, server actions).
5817
+ *
5818
+ * For non-string items, pair this with `itemToStringValue` to control how
5819
+ * the value is serialised.
5820
+ *
5821
+ * **Inside a `Field.Root`, the field's `name` wins and this prop is ignored** —
5822
+ * the hidden input is named after the field. Set it only when the control is
5823
+ * used outside a `Field.Root` (or when it must differ from the field name,
5824
+ * which it cannot).
5825
+ */
5826
+ name?: string;
5827
+ /**
5828
+ * `id` of the form that owns the hidden input. Use when the select is
5829
+ * rendered outside the `<form>` element it belongs to.
5830
+ */
5831
+ form?: string;
5832
+ /** Whether a value must be chosen before the owning form can be submitted. */
5833
+ required?: boolean;
5834
+ /** Ref to the hidden input that carries the value during form submission. */
5835
+ inputRef?: React_2.Ref<HTMLInputElement>;
5836
+ /**
5837
+ * Converts a non-string item to the string written into the hidden input on
5838
+ * form submission. Items shaped `{ value, label }` use `value` automatically.
5839
+ *
5840
+ * Distinct from `mapItem`, which controls what the user sees.
5841
+ */
5842
+ itemToStringValue?: (item: T) => string;
5220
5843
  }
5221
5844
 
5222
5845
  declare interface SelectPropsMultiple<T> extends SelectPropsBase<T> {
@@ -5249,7 +5872,7 @@ declare namespace SelectRoot {
5249
5872
  var displayName: string;
5250
5873
  }
5251
5874
 
5252
- declare type SelectRootProps<Value, Multiple extends boolean | undefined = false> = Pick<React_2.ComponentProps<typeof Select_2.Root<Value, Multiple>>, "value" | "defaultValue" | "onValueChange" | "open" | "onOpenChange" | "modal" | "multiple" | "itemToStringLabel" | "disabled" | "children">;
5875
+ declare type SelectRootProps<Value, Multiple extends boolean | undefined = false> = Pick<React_2.ComponentProps<typeof Select_2.Root<Value, Multiple>>, "value" | "defaultValue" | "onValueChange" | "open" | "onOpenChange" | "modal" | "multiple" | "itemToStringLabel" | "itemToStringValue" | "disabled" | "children" | "name" | "form" | "required" | "inputRef" | "id">;
5253
5876
 
5254
5877
  declare function SelectSeparator({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
5255
5878
 
@@ -5469,11 +6092,11 @@ declare type SharedAppShellProps = React.PropsWithChildren<{
5469
6092
  }>;
5470
6093
 
5471
6094
  export declare const Sheet: {
5472
- Root: typeof Root_10;
5473
- Trigger: typeof Trigger_3;
6095
+ Root: typeof Root_11;
6096
+ Trigger: typeof Trigger_4;
5474
6097
  Close: typeof Close_2;
5475
- Content: typeof Content_4;
5476
- Header: typeof Header_5;
6098
+ Content: typeof Content_5;
6099
+ Header: typeof Header_6;
5477
6100
  Footer: typeof Footer_3;
5478
6101
  Title: typeof Title_3;
5479
6102
  Description: typeof Description_4;
@@ -5637,28 +6260,70 @@ export declare namespace SidebarLayout {
5637
6260
  ({ actions }: DefaultHeaderProps): JSX.Element;
5638
6261
  displayName: string;
5639
6262
  };
6263
+ var ContentContainer: {
6264
+ ({ header, className, children }: ContentContainerProps): JSX.Element;
6265
+ displayName: string;
6266
+ };
6267
+ var Outlet: () => JSX.Element;
6268
+ var Trigger: {
6269
+ ({ className, onClick }: TriggerProps): JSX.Element;
6270
+ displayName: string;
6271
+ };
5640
6272
  }
5641
6273
 
5642
- export declare type SidebarLayoutProps = {
6274
+ /**
6275
+ * The eject: you own the whole region beside the sidebar, including where the
6276
+ * header goes. `header` and `children` are unavailable here by construction —
6277
+ * they describe a content column you are now supplying yourself.
6278
+ */
6279
+ declare type SidebarLayoutBodyProps = SidebarLayoutCommonProps & {
5643
6280
  /**
5644
- * Custom content renderer.
6281
+ * Replaces everything to the right of the sidebar — the escape hatch for
6282
+ * page layouts the default content column can't express, such as a
6283
+ * table-of-contents rail or an assistant panel docked flush against the
6284
+ * viewport edge.
6285
+ *
6286
+ * Whatever you pass becomes a flex row alongside the sidebar, so it widens
6287
+ * and narrows with the sidebar automatically. Compose it from the namespaced
6288
+ * building blocks rather than rebuilding them:
6289
+ *
6290
+ * - `<SidebarLayout.ContentContainer>` — the stock content column (inset
6291
+ * padding, pinned header slot, scroll region, `useAppShellScrollContainer()`)
6292
+ * - `<SidebarLayout.Outlet />` — the current page
6293
+ * - `<SidebarLayout.DefaultHeader />` — the built-in top bar
6294
+ * - `<SidebarLayout.Trigger />` — the sidebar collapse toggle
6295
+ * - `useAppShellSidebar()` — subscribe to the sidebar's collapsed state
6296
+ *
6297
+ * The header lives inside `body` too — pass it to `ContentContainer` so it
6298
+ * stays pinned above that column's scroll region.
5645
6299
  *
5646
6300
  * @example
5647
6301
  * ```tsx
5648
- * <SidebarLayout>
5649
- * {({ Outlet }) => (
6302
+ * <SidebarLayout
6303
+ * body={
5650
6304
  * <>
5651
- * <CustomHeader />
5652
- * <Outlet />
5653
- * <CustomFooter />
6305
+ * <aside className="w-64 shrink-0 border-r overflow-y-auto">
6306
+ * <TableOfContents />
6307
+ * </aside>
6308
+ * <SidebarLayout.ContentContainer header={<SidebarLayout.DefaultHeader />}>
6309
+ * <SidebarLayout.Outlet />
6310
+ * </SidebarLayout.ContentContainer>
6311
+ * <aside className="w-96 shrink-0 border-l overflow-y-auto">
6312
+ * <AssistantPanel />
6313
+ * </aside>
5654
6314
  * </>
5655
- * )}
5656
- * </SidebarLayout>
6315
+ * }
6316
+ * />
5657
6317
  * ```
5658
6318
  */
5659
- children?: (props: {
5660
- Outlet: () => React.ReactNode;
5661
- }) => React.ReactNode;
6319
+ body: React.ReactNode;
6320
+ /** Place your header inside `body`, via `<SidebarLayout.ContentContainer header={…}>`. */
6321
+ header?: never;
6322
+ /** Place your content inside `body`, via `<SidebarLayout.Outlet />`. */
6323
+ children?: never;
6324
+ };
6325
+
6326
+ declare type SidebarLayoutCommonProps = {
5662
6327
  /**
5663
6328
  * Custom sidebar content. Replaces the whole sidebar region.
5664
6329
  *
@@ -5669,6 +6334,42 @@ export declare type SidebarLayoutProps = {
5669
6334
  * ```
5670
6335
  */
5671
6336
  sidebar?: React.ReactNode;
6337
+ /**
6338
+ * Whether the sidebar is open by default on desktop.
6339
+ *
6340
+ * @default true
6341
+ */
6342
+ defaultOpen?: boolean;
6343
+ /**
6344
+ * Whether the sidebar can be collapsed.
6345
+ * When set to `false`, the sidebar is always visible and cannot be toggled.
6346
+ * `defaultOpen` is ignored when this is `false`.
6347
+ *
6348
+ * @default true
6349
+ */
6350
+ collapsible?: boolean;
6351
+ /**
6352
+ * A global top bar rendered above **everything** — spanning the full width
6353
+ * across the top of the primary sidebar and the content region alike. The
6354
+ * sidebar and content then sit in a row beneath it.
6355
+ *
6356
+ * This is distinct from the content `header` (which sits above the content
6357
+ * column only): use `topBar` when you want a single app-wide bar over the
6358
+ * whole layout. Pair it with `<SidebarLayout.DefaultSidebar hideHeader />`
6359
+ * (and often `iconRail`) so the sidebar defers its own header to the bar.
6360
+ *
6361
+ * The bar should be `3.5rem` (h-14) tall: the fixed sidebar is offset to start
6362
+ * just beneath it (via the internal `--appshell-topbar-h`, fixed at `3.5rem`
6363
+ * while a `topBar` is present).
6364
+ */
6365
+ topBar?: React.ReactNode;
6366
+ };
6367
+
6368
+ /**
6369
+ * The default layout: AppShell owns the content column, you customise its
6370
+ * header and content.
6371
+ */
6372
+ declare type SidebarLayoutDefaultProps = SidebarLayoutCommonProps & {
5672
6373
  /**
5673
6374
  * Custom header content. Replaces the whole top-bar region.
5674
6375
  *
@@ -5694,21 +6395,48 @@ export declare type SidebarLayoutProps = {
5694
6395
  */
5695
6396
  header?: React.ReactNode;
5696
6397
  /**
5697
- * Whether the sidebar is open by default on desktop.
5698
- *
5699
- * @default true
5700
- */
5701
- defaultOpen?: boolean;
5702
- /**
5703
- * Whether the sidebar can be collapsed.
5704
- * When set to `false`, the sidebar is always visible and cannot be toggled.
5705
- * `defaultOpen` is ignored when this is `false`.
6398
+ * Custom content renderer.
5706
6399
  *
5707
- * @default true
6400
+ * @example
6401
+ * ```tsx
6402
+ * <SidebarLayout>
6403
+ * {({ Outlet }) => (
6404
+ * <>
6405
+ * <CustomHeader />
6406
+ * <Outlet />
6407
+ * <CustomFooter />
6408
+ * </>
6409
+ * )}
6410
+ * </SidebarLayout>
6411
+ * ```
5708
6412
  */
5709
- collapsible?: boolean;
6413
+ children?: (props: {
6414
+ Outlet: () => React.ReactNode;
6415
+ }) => React.ReactNode;
6416
+ /** Not available alongside `header`/`children` — see the `body` overload. */
6417
+ body?: never;
5710
6418
  };
5711
6419
 
6420
+ /**
6421
+ * Either the default layout (`header` + `children`) or the ejected one (`body`)
6422
+ * — never both. Passing `body` alongside `header`/`children` is a type error,
6423
+ * because `body` replaces the very region those two describe.
6424
+ */
6425
+ export declare type SidebarLayoutProps = SidebarLayoutDefaultProps | SidebarLayoutBodyProps;
6426
+
6427
+ export declare function SidebarMenuButton({ render, isActive, variant, size, tooltip, className, children, onClick, ...props }: React_2.ComponentProps<"button"> & {
6428
+ render?: React_2.ReactElement;
6429
+ isActive?: boolean;
6430
+ tooltip?: string | React_2.ComponentProps<typeof Tooltip.Content>;
6431
+ } & VariantProps<typeof sidebarMenuButtonVariants>): JSX.Element;
6432
+
6433
+ declare const sidebarMenuButtonVariants: (props?: ({
6434
+ variant?: "default" | "outline" | null | undefined;
6435
+ size?: "default" | "sm" | "lg" | null | undefined;
6436
+ } & ClassProp) | undefined) => string;
6437
+
6438
+ export declare function SidebarMenuItem({ className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
6439
+
5712
6440
  /**
5713
6441
  * A visual divider for sidebar navigation.
5714
6442
  *
@@ -5762,6 +6490,59 @@ export declare interface SortState {
5762
6490
  direction: "Asc" | "Desc";
5763
6491
  }
5764
6492
 
6493
+ declare function Source({ title, className, ...props }: SourceProps): JSX.Element;
6494
+
6495
+ declare type SourceProps = Omit<ComponentProps<"button">, "title"> & {
6496
+ /** Display name of the cited document. */
6497
+ title: string;
6498
+ };
6499
+
6500
+ /**
6501
+ * Collapsible citation list for a grounded answer. Renders a compact
6502
+ * "Used N sources" trigger under the answer; expanding lists each source the
6503
+ * model actually consulted.
6504
+ *
6505
+ * @example
6506
+ * ```tsx
6507
+ * <AIChat.Sources>
6508
+ * <AIChat.SourcesTrigger count={sources.length} />
6509
+ * <AIChat.SourcesContent>
6510
+ * {sources.map((s) => (
6511
+ * <AIChat.Source key={s.id} title={s.title} onClick={() => open(s.id)} />
6512
+ * ))}
6513
+ * </AIChat.SourcesContent>
6514
+ * </AIChat.Sources>
6515
+ * ```
6516
+ */
6517
+ declare function Sources({ className, children, ...props }: SourcesProps): JSX.Element;
6518
+
6519
+ declare function SourcesContent({ className, ...props }: SourcesContentProps): JSX.Element;
6520
+
6521
+ declare type SourcesContentProps = ComponentProps<typeof DisclosurePanel>;
6522
+
6523
+ declare type SourcesProps = Omit<ComponentProps<typeof DisclosureRoot>, "children"> & {
6524
+ children: ReactNode;
6525
+ };
6526
+
6527
+ declare function SourcesTrigger({ count, className, ...props }: SourcesTriggerProps): JSX.Element;
6528
+
6529
+ declare type SourcesTriggerProps = Omit<ComponentProps<typeof DisclosureTrigger>, "children"> & {
6530
+ count: number;
6531
+ };
6532
+
6533
+ export declare function Spinner({ className, size, width, height, ...props }: SpinnerProps): JSX.Element;
6534
+
6535
+ declare const SPINNER_SIZES: {
6536
+ readonly xs: 12;
6537
+ readonly sm: 14;
6538
+ readonly default: 16;
6539
+ readonly lg: 20;
6540
+ };
6541
+
6542
+ export declare type SpinnerProps = React_2.ComponentProps<"svg"> & {
6543
+ size?: keyof typeof SPINNER_SIZES;
6544
+ };
6545
+
5765
6546
  /** Groups all parts of a submenu. */
5766
6547
  declare function SubmenuRoot({ children, ...props }: SubmenuRootProps): JSX.Element;
5767
6548
 
@@ -5780,6 +6561,23 @@ declare namespace SubmenuTrigger {
5780
6561
  var displayName: string;
5781
6562
  }
5782
6563
 
6564
+ /**
6565
+ * A starter-prompt chip. Submits `suggestion` as if the user had typed and
6566
+ * sent it — the fastest way to teach people what the assistant is good at.
6567
+ */
6568
+ declare function Suggestion({ suggestion, onSelect, className, disabled, children }: SuggestionProps): JSX.Element;
6569
+
6570
+ declare type SuggestionProps = Pick<React_2.ComponentProps<typeof Button>, "className" | "disabled" | "children"> & {
6571
+ /** Prompt text; submitted through `onSelect`, and shown unless `children` overrides it. */
6572
+ suggestion: string;
6573
+ onSelect?: (suggestion: string) => void;
6574
+ };
6575
+
6576
+ /** Wraps a row of starter-prompt chips for the empty conversation state. */
6577
+ declare function Suggestions({ className, children, ...props }: SuggestionsProps): JSX.Element;
6578
+
6579
+ declare type SuggestionsProps = React_2.ComponentProps<"div">;
6580
+
5783
6581
  /** An individual interactive tab button that toggles the corresponding panel. */
5784
6582
  declare function Tab({ className, children, ...props }: React_2.ComponentProps<typeof Tabs_2.Tab>): JSX.Element;
5785
6583
 
@@ -5788,8 +6586,8 @@ declare namespace Tab {
5788
6586
  }
5789
6587
 
5790
6588
  export declare const Table: {
5791
- Root: typeof Root_4;
5792
- Header: typeof Header_2;
6589
+ Root: typeof Root_5;
6590
+ Header: typeof Header_3;
5793
6591
  Body: typeof Body_2;
5794
6592
  Footer: typeof Footer;
5795
6593
  Row: typeof Row;
@@ -5851,7 +6649,7 @@ export declare type TableOrderableFieldName<TTable extends TableMetadata> = Extr
5851
6649
  } ? N extends string ? N : never : never;
5852
6650
 
5853
6651
  export declare const Tabs: {
5854
- Root: typeof Root_11;
6652
+ Root: typeof Root_12;
5855
6653
  List: typeof List;
5856
6654
  Tab: typeof Tab;
5857
6655
  Panel: typeof Panel;
@@ -6307,10 +7105,68 @@ declare namespace Title_3 {
6307
7105
 
6308
7106
  export { To }
6309
7107
 
7108
+ /**
7109
+ * Collapsible tool-call card. Shows which tool the model invoked and its live
7110
+ * status in the header; expanding reveals the input parameters and the result
7111
+ * (or error) as JSON.
7112
+ *
7113
+ * @example
7114
+ * ```tsx
7115
+ * <AIChat.Tool>
7116
+ * <AIChat.ToolHeader toolName="search_kb" state={call.state} />
7117
+ * <AIChat.ToolContent>
7118
+ * <AIChat.ToolInput input={call.input} />
7119
+ * <AIChat.ToolOutput output={call.output} errorText={call.errorText} />
7120
+ * </AIChat.ToolContent>
7121
+ * </AIChat.Tool>
7122
+ * ```
7123
+ */
7124
+ declare function Tool({ className, children, ...props }: ToolProps): JSX.Element;
7125
+
7126
+ declare function ToolContent({ className, ...props }: ToolContentProps): JSX.Element;
7127
+
7128
+ declare type ToolContentProps = ComponentProps<typeof DisclosurePanel>;
7129
+
7130
+ declare function ToolHeader({ toolName, state, title, className, ...props }: ToolHeaderProps): JSX.Element;
7131
+
7132
+ declare type ToolHeaderProps = Omit<ComponentProps<typeof DisclosureTrigger>, "children" | "title"> & {
7133
+ toolName: string;
7134
+ state: ToolState;
7135
+ /** Human-readable label shown instead of the raw tool name. */
7136
+ title?: string;
7137
+ };
7138
+
7139
+ declare function ToolInput({ input, className, ...props }: ToolInputProps): JSX.Element;
7140
+
7141
+ declare type ToolInputProps = ComponentProps<"div"> & {
7142
+ input: unknown;
7143
+ };
7144
+
7145
+ declare function ToolOutput({ output, errorText, className, ...props }: ToolOutputProps): JSX.Element | null;
7146
+
7147
+ declare type ToolOutputProps = ComponentProps<"div"> & {
7148
+ output?: unknown;
7149
+ errorText?: string;
7150
+ };
7151
+
7152
+ declare type ToolProps = Omit<ComponentProps<typeof DisclosureRoot>, "children"> & {
7153
+ children: ReactNode;
7154
+ };
7155
+
7156
+ /**
7157
+ * Maps 1:1 to the AI SDK's tool-part lifecycle, so a streaming loop can
7158
+ * update a call in place as parts arrive:
7159
+ * - `input-streaming` — the model is still writing the arguments
7160
+ * - `input-available` — arguments complete, tool executing
7161
+ * - `output-available` — finished with a result
7162
+ * - `output-error` — finished with an error
7163
+ */
7164
+ export declare type ToolState = "input-streaming" | "input-available" | "output-available" | "output-error";
7165
+
6310
7166
  export declare const Tooltip: {
6311
- Root: typeof Root_12;
6312
- Trigger: typeof Trigger_4;
6313
- Content: typeof Content_5;
7167
+ Root: typeof Root;
7168
+ Trigger: typeof Trigger;
7169
+ Content: typeof Content;
6314
7170
  Provider: typeof Provider;
6315
7171
  };
6316
7172
 
@@ -6318,34 +7174,44 @@ declare type TooltipRootProps = Pick<React_2.ComponentProps<typeof Tooltip_2.Roo
6318
7174
  children: React_2.ReactNode;
6319
7175
  };
6320
7176
 
6321
- /** The element that opens the dialog when clicked. */
6322
- declare function Trigger({ ...props }: React_2.ComponentProps<typeof Dialog_2.Trigger>): JSX.Element;
7177
+ /** The element that triggers the tooltip on hover or focus. */
7178
+ declare function Trigger({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
6323
7179
 
6324
7180
  declare namespace Trigger {
6325
7181
  var displayName: string;
6326
7182
  }
6327
7183
 
6328
- /** The element that opens the menu when clicked. */
6329
- declare function Trigger_2({ ...props }: React_2.ComponentProps<typeof Menu_2.Trigger>): JSX.Element;
7184
+ /** The element that opens the dialog when clicked. */
7185
+ declare function Trigger_2({ ...props }: React_2.ComponentProps<typeof Dialog_2.Trigger>): JSX.Element;
6330
7186
 
6331
7187
  declare namespace Trigger_2 {
6332
7188
  var displayName: string;
6333
7189
  }
6334
7190
 
6335
- /** The element that opens the sheet when clicked. */
6336
- declare function Trigger_3({ ...props }: React_2.ComponentProps<typeof Drawer.Trigger>): JSX.Element;
7191
+ /** The element that opens the menu when clicked. */
7192
+ declare function Trigger_3({ ...props }: React_2.ComponentProps<typeof Menu_2.Trigger>): JSX.Element;
6337
7193
 
6338
7194
  declare namespace Trigger_3 {
6339
7195
  var displayName: string;
6340
7196
  }
6341
7197
 
6342
- /** The element that triggers the tooltip on hover or focus. */
6343
- declare function Trigger_4({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
7198
+ /** The element that opens the sheet when clicked. */
7199
+ declare function Trigger_4({ ...props }: React_2.ComponentProps<typeof Drawer.Trigger>): JSX.Element;
6344
7200
 
6345
7201
  declare namespace Trigger_4 {
6346
7202
  var displayName: string;
6347
7203
  }
6348
7204
 
7205
+ declare type TriggerProps = {
7206
+ /** Extra classes for the trigger button. */
7207
+ className?: string;
7208
+ /**
7209
+ * Runs before the sidebar toggles. The toggle itself is not cancellable —
7210
+ * use `useAppShellSidebar()` if you need to drive the state directly.
7211
+ */
7212
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
7213
+ };
7214
+
6349
7215
  /**
6350
7216
  * Metadata-aware collection variables that remain assignable to the broad
6351
7217
  * `CollectionVariables` shape expected by GraphQL clients.
@@ -6462,6 +7328,23 @@ export declare const useAppShellData: () => AppShellDataContextType;
6462
7328
  */
6463
7329
  export declare function useAppShellScrollContainer(): RefObject<HTMLElement | null>;
6464
7330
 
7331
+ /**
7332
+ * Read and control the AppShell sidebar's collapsed state.
7333
+ *
7334
+ * Use this instead of observing `[data-slot="sidebar"][data-state]` or clicking
7335
+ * the trigger through the DOM — those reach into internals that can change
7336
+ * between releases.
7337
+ *
7338
+ * ```tsx
7339
+ * const { open, toggle } = useAppShellSidebar();
7340
+ * return <button onClick={toggle}>{open ? "Hide nav" : "Show nav"}</button>;
7341
+ * ```
7342
+ *
7343
+ * Outside a `SidebarLayout` there is no sidebar to describe, so this reports
7344
+ * `open: true` with no-op setters rather than throwing.
7345
+ */
7346
+ export declare function useAppShellSidebar(): AppShellSidebarState;
7347
+
6465
7348
  /**
6466
7349
  * Hook that encapsulates the async select pattern — fetching on open,
6467
7350
  * request cancellation via `AbortController`, and loading/error state.
@@ -7294,6 +8177,19 @@ export declare const usePageMeta: (path: string) => PageMeta | null;
7294
8177
 
7295
8178
  export { useParams }
7296
8179
 
8180
+ /**
8181
+ * Hook to retrieve the current path segments and their corresponding titles.
8182
+ */
8183
+ export declare const usePathSegments: () => {
8184
+ basePath: string | null;
8185
+ segments: {
8186
+ segment: string;
8187
+ path: string;
8188
+ title: string;
8189
+ clickable: boolean;
8190
+ }[];
8191
+ };
8192
+
7297
8193
  /**
7298
8194
  * Declaratively register contextual actions to the CommandPalette.
7299
8195
  *
@@ -7566,52 +8462,52 @@ declare namespace Root {
7566
8462
  }
7567
8463
 
7568
8464
 
7569
- declare namespace Title {
8465
+ declare namespace Viewport {
7570
8466
  var displayName: string;
7571
8467
  }
7572
8468
 
7573
8469
 
7574
- declare namespace Description {
8470
+ declare namespace Row {
7575
8471
  var displayName: string;
7576
8472
  }
7577
8473
 
7578
8474
 
7579
- declare namespace Root {
8475
+ declare namespace Interval {
7580
8476
  var displayName: string;
7581
8477
  }
7582
8478
 
7583
8479
 
7584
- declare namespace Image {
8480
+ declare namespace TimelineLink {
7585
8481
  var displayName: string;
7586
8482
  }
7587
8483
 
7588
8484
 
7589
- declare namespace Fallback {
8485
+ declare namespace Root {
7590
8486
  var displayName: string;
7591
8487
  }
7592
8488
 
7593
8489
 
7594
- declare namespace Root {
8490
+ declare namespace Title {
7595
8491
  var displayName: string;
7596
8492
  }
7597
8493
 
7598
8494
 
7599
- declare namespace Viewport {
8495
+ declare namespace Description {
7600
8496
  var displayName: string;
7601
8497
  }
7602
8498
 
7603
8499
 
7604
- declare namespace Row {
8500
+ declare namespace Root {
7605
8501
  var displayName: string;
7606
8502
  }
7607
8503
 
7608
8504
 
7609
- declare namespace Interval {
8505
+ declare namespace Image {
7610
8506
  var displayName: string;
7611
8507
  }
7612
8508
 
7613
8509
 
7614
- declare namespace TimelineLink {
8510
+ declare namespace Fallback {
7615
8511
  var displayName: string;
7616
8512
  }
7617
8513
 
@@ -7621,7 +8517,7 @@ declare namespace Root {
7621
8517
  }
7622
8518
 
7623
8519
 
7624
- declare namespace Trigger {
8520
+ declare namespace Header {
7625
8521
  var displayName: string;
7626
8522
  }
7627
8523
 
@@ -7631,497 +8527,497 @@ declare namespace Content {
7631
8527
  }
7632
8528
 
7633
8529
 
7634
- declare namespace Item {
8530
+ declare namespace Root {
7635
8531
  var displayName: string;
7636
8532
  }
7637
8533
 
7638
8534
 
7639
- declare namespace LinkItem {
8535
+ declare namespace Legend {
7640
8536
  var displayName: string;
7641
8537
  }
7642
8538
 
7643
8539
 
7644
- declare namespace CheckboxItem {
8540
+ declare namespace Root {
7645
8541
  var displayName: string;
7646
8542
  }
7647
8543
 
7648
8544
 
7649
- declare namespace CheckboxItemIndicator {
8545
+ declare namespace Trigger {
7650
8546
  var displayName: string;
7651
8547
  }
7652
8548
 
7653
8549
 
7654
- declare namespace RadioItem {
8550
+ declare namespace Close {
7655
8551
  var displayName: string;
7656
8552
  }
7657
8553
 
7658
8554
 
7659
- declare namespace RadioItemIndicator {
8555
+ declare namespace Content {
7660
8556
  var displayName: string;
7661
8557
  }
7662
8558
 
7663
8559
 
7664
- declare namespace RadioGroup {
8560
+ declare namespace Header {
7665
8561
  var displayName: string;
7666
8562
  }
7667
8563
 
7668
8564
 
7669
- declare namespace Group {
8565
+ declare namespace Footer {
7670
8566
  var displayName: string;
7671
8567
  }
7672
8568
 
7673
8569
 
7674
- declare namespace GroupLabel {
8570
+ declare namespace Title {
7675
8571
  var displayName: string;
7676
8572
  }
7677
8573
 
7678
8574
 
7679
- declare namespace MenuSeparator {
8575
+ declare namespace Description {
7680
8576
  var displayName: string;
7681
8577
  }
7682
8578
 
7683
8579
 
7684
- declare namespace SubmenuRoot {
8580
+ declare namespace Root {
7685
8581
  var displayName: string;
7686
8582
  }
7687
8583
 
7688
8584
 
7689
- declare namespace SubmenuTrigger {
8585
+ declare namespace Header {
7690
8586
  var displayName: string;
7691
8587
  }
7692
8588
 
7693
8589
 
7694
- declare namespace Root {
8590
+ declare namespace Body {
7695
8591
  var displayName: string;
7696
8592
  }
7697
8593
 
7698
8594
 
7699
- declare namespace List {
8595
+ declare namespace Footer {
7700
8596
  var displayName: string;
7701
8597
  }
7702
8598
 
7703
8599
 
7704
- declare namespace Tab {
8600
+ declare namespace Row {
7705
8601
  var displayName: string;
7706
8602
  }
7707
8603
 
7708
8604
 
7709
- declare namespace Panel {
8605
+ declare namespace Head {
7710
8606
  var displayName: string;
7711
8607
  }
7712
8608
 
7713
8609
 
7714
- declare namespace Root {
8610
+ declare namespace Cell {
7715
8611
  var displayName: string;
7716
8612
  }
7717
8613
 
7718
8614
 
7719
- declare namespace Trigger {
8615
+ declare namespace Caption {
7720
8616
  var displayName: string;
7721
8617
  }
7722
8618
 
7723
8619
 
7724
- declare namespace Close {
8620
+ declare namespace Root {
7725
8621
  var displayName: string;
7726
8622
  }
7727
8623
 
7728
8624
 
7729
- declare namespace Content {
8625
+ declare namespace Label {
7730
8626
  var displayName: string;
7731
8627
  }
7732
8628
 
7733
8629
 
7734
- declare namespace Header {
8630
+ declare namespace Control {
7735
8631
  var displayName: string;
7736
8632
  }
7737
8633
 
7738
8634
 
7739
- declare namespace Footer {
8635
+ declare namespace Description {
7740
8636
  var displayName: string;
7741
8637
  }
7742
8638
 
7743
8639
 
7744
- declare namespace Title {
8640
+ declare namespace Error {
7745
8641
  var displayName: string;
7746
8642
  }
7747
8643
 
7748
8644
 
7749
- declare namespace Description {
8645
+ declare namespace Validity {
7750
8646
  var displayName: string;
7751
8647
  }
7752
8648
 
7753
8649
 
7754
- declare namespace Root {
8650
+ declare namespace Provider {
7755
8651
  var displayName: string;
7756
8652
  }
7757
8653
 
7758
8654
 
7759
- declare namespace Header {
8655
+ declare namespace Root {
7760
8656
  var displayName: string;
7761
8657
  }
7762
8658
 
7763
8659
 
7764
- declare namespace Body {
8660
+ declare namespace Trigger {
7765
8661
  var displayName: string;
7766
8662
  }
7767
8663
 
7768
8664
 
7769
- declare namespace Footer {
8665
+ declare namespace Content {
7770
8666
  var displayName: string;
7771
8667
  }
7772
8668
 
7773
8669
 
7774
- declare namespace Row {
8670
+ declare namespace SelectRoot {
7775
8671
  var displayName: string;
7776
8672
  }
7777
8673
 
7778
8674
 
7779
- declare namespace Head {
8675
+ declare namespace SelectTrigger {
7780
8676
  var displayName: string;
7781
8677
  }
7782
8678
 
7783
8679
 
7784
- declare namespace Cell {
8680
+ declare namespace SelectValue {
7785
8681
  var displayName: string;
7786
8682
  }
7787
8683
 
7788
8684
 
7789
- declare namespace Caption {
8685
+ declare namespace SelectContent {
7790
8686
  var displayName: string;
7791
8687
  }
7792
8688
 
7793
8689
 
7794
- declare namespace Provider {
8690
+ declare namespace SelectItem {
7795
8691
  var displayName: string;
7796
8692
  }
7797
8693
 
7798
8694
 
7799
- declare namespace Root {
8695
+ declare namespace SelectGroup {
7800
8696
  var displayName: string;
7801
8697
  }
7802
8698
 
7803
8699
 
7804
- declare namespace Trigger {
8700
+ declare namespace SelectGroupLabel {
7805
8701
  var displayName: string;
7806
8702
  }
7807
8703
 
7808
8704
 
7809
- declare namespace Content {
8705
+ declare namespace SelectSeparator {
7810
8706
  var displayName: string;
7811
8707
  }
7812
8708
 
7813
8709
 
7814
- declare namespace Root {
8710
+ declare namespace ComboboxRoot {
7815
8711
  var displayName: string;
7816
8712
  }
7817
8713
 
7818
8714
 
7819
- declare namespace Header {
8715
+ declare namespace ComboboxInput {
7820
8716
  var displayName: string;
7821
8717
  }
7822
8718
 
7823
8719
 
7824
- declare namespace Content {
8720
+ declare namespace ComboboxTrigger {
7825
8721
  var displayName: string;
7826
8722
  }
7827
8723
 
7828
8724
 
7829
- declare namespace SelectRoot {
8725
+ declare namespace ComboboxInputGroup {
7830
8726
  var displayName: string;
7831
8727
  }
7832
8728
 
7833
8729
 
7834
- declare namespace SelectTrigger {
8730
+ declare namespace ComboboxContent {
7835
8731
  var displayName: string;
7836
8732
  }
7837
8733
 
7838
8734
 
7839
- declare namespace SelectValue {
8735
+ declare namespace ComboboxList {
7840
8736
  var displayName: string;
7841
8737
  }
7842
8738
 
7843
8739
 
7844
- declare namespace SelectContent {
8740
+ declare namespace ComboboxItem {
7845
8741
  var displayName: string;
7846
8742
  }
7847
8743
 
7848
8744
 
7849
- declare namespace SelectItem {
8745
+ declare namespace ComboboxEmpty {
7850
8746
  var displayName: string;
7851
8747
  }
7852
8748
 
7853
8749
 
7854
- declare namespace SelectGroup {
8750
+ declare namespace ComboboxGroup {
7855
8751
  var displayName: string;
7856
8752
  }
7857
8753
 
7858
8754
 
7859
- declare namespace SelectGroupLabel {
8755
+ declare namespace ComboboxGroupLabel {
7860
8756
  var displayName: string;
7861
8757
  }
7862
8758
 
7863
8759
 
7864
- declare namespace SelectSeparator {
8760
+ declare namespace ComboboxClear {
7865
8761
  var displayName: string;
7866
8762
  }
7867
8763
 
7868
8764
 
7869
- declare namespace Root {
8765
+ declare namespace ComboboxChips {
7870
8766
  var displayName: string;
7871
8767
  }
7872
8768
 
7873
8769
 
7874
- declare namespace Trigger {
8770
+ declare namespace ComboboxChip {
7875
8771
  var displayName: string;
7876
8772
  }
7877
8773
 
7878
8774
 
7879
- declare namespace Close {
8775
+ declare namespace ComboboxChipRemove {
7880
8776
  var displayName: string;
7881
8777
  }
7882
8778
 
7883
8779
 
7884
- declare namespace Content {
8780
+ declare namespace ComboboxValue {
7885
8781
  var displayName: string;
7886
8782
  }
7887
8783
 
7888
8784
 
7889
- declare namespace Header {
8785
+ declare namespace ComboboxStatus {
7890
8786
  var displayName: string;
7891
8787
  }
7892
8788
 
7893
8789
 
7894
- declare namespace Footer {
8790
+ declare namespace ComboboxCollection {
7895
8791
  var displayName: string;
7896
8792
  }
7897
8793
 
7898
8794
 
7899
- declare namespace Title {
8795
+ declare namespace Root {
7900
8796
  var displayName: string;
7901
8797
  }
7902
8798
 
7903
8799
 
7904
- declare namespace Description {
8800
+ declare namespace Trigger {
7905
8801
  var displayName: string;
7906
8802
  }
7907
8803
 
7908
8804
 
7909
- declare namespace ComboboxRoot {
8805
+ declare namespace Close {
7910
8806
  var displayName: string;
7911
8807
  }
7912
8808
 
7913
8809
 
7914
- declare namespace ComboboxInput {
8810
+ declare namespace Content {
7915
8811
  var displayName: string;
7916
8812
  }
7917
8813
 
7918
8814
 
7919
- declare namespace ComboboxTrigger {
8815
+ declare namespace Header {
7920
8816
  var displayName: string;
7921
8817
  }
7922
8818
 
7923
8819
 
7924
- declare namespace ComboboxInputGroup {
8820
+ declare namespace Footer {
7925
8821
  var displayName: string;
7926
8822
  }
7927
8823
 
7928
8824
 
7929
- declare namespace ComboboxContent {
8825
+ declare namespace Title {
7930
8826
  var displayName: string;
7931
8827
  }
7932
8828
 
7933
8829
 
7934
- declare namespace ComboboxList {
8830
+ declare namespace Description {
7935
8831
  var displayName: string;
7936
8832
  }
7937
8833
 
7938
8834
 
7939
- declare namespace ComboboxItem {
8835
+ declare namespace DataTableRoot {
7940
8836
  var displayName: string;
7941
8837
  }
7942
8838
 
7943
8839
 
7944
- declare namespace ComboboxEmpty {
8840
+ declare namespace DataTableTable {
7945
8841
  var displayName: string;
7946
8842
  }
7947
8843
 
7948
8844
 
7949
- declare namespace ComboboxGroup {
8845
+ declare namespace DataTableFooter {
7950
8846
  var displayName: string;
7951
8847
  }
7952
8848
 
7953
8849
 
7954
- declare namespace ComboboxGroupLabel {
8850
+ declare namespace AutocompleteStandalone {
7955
8851
  var displayName: string;
7956
8852
  }
7957
8853
 
7958
8854
 
7959
- declare namespace ComboboxClear {
8855
+ declare namespace AutocompleteAsyncStandalone {
7960
8856
  var displayName: string;
7961
8857
  }
7962
8858
 
7963
8859
 
7964
- declare namespace ComboboxChips {
8860
+ declare namespace AutocompleteRoot {
7965
8861
  var displayName: string;
7966
8862
  }
7967
8863
 
7968
8864
 
7969
- declare namespace ComboboxChip {
8865
+ declare namespace AutocompleteValue {
7970
8866
  var displayName: string;
7971
8867
  }
7972
8868
 
7973
8869
 
7974
- declare namespace ComboboxChipRemove {
8870
+ declare namespace AutocompleteInput {
7975
8871
  var displayName: string;
7976
8872
  }
7977
8873
 
7978
8874
 
7979
- declare namespace ComboboxValue {
8875
+ declare namespace AutocompleteTrigger {
7980
8876
  var displayName: string;
7981
8877
  }
7982
8878
 
7983
8879
 
7984
- declare namespace ComboboxStatus {
8880
+ declare namespace AutocompleteInputGroup {
7985
8881
  var displayName: string;
7986
8882
  }
7987
8883
 
7988
8884
 
7989
- declare namespace ComboboxCollection {
8885
+ declare namespace AutocompleteContent {
7990
8886
  var displayName: string;
7991
8887
  }
7992
8888
 
7993
8889
 
7994
- declare namespace Root {
8890
+ declare namespace AutocompleteList {
7995
8891
  var displayName: string;
7996
8892
  }
7997
8893
 
7998
8894
 
7999
- declare namespace Label {
8895
+ declare namespace AutocompleteItem {
8000
8896
  var displayName: string;
8001
8897
  }
8002
8898
 
8003
8899
 
8004
- declare namespace Control {
8900
+ declare namespace AutocompleteEmpty {
8005
8901
  var displayName: string;
8006
8902
  }
8007
8903
 
8008
8904
 
8009
- declare namespace Description {
8905
+ declare namespace AutocompleteClear {
8010
8906
  var displayName: string;
8011
8907
  }
8012
8908
 
8013
8909
 
8014
- declare namespace Error {
8910
+ declare namespace AutocompleteGroup {
8015
8911
  var displayName: string;
8016
8912
  }
8017
8913
 
8018
8914
 
8019
- declare namespace Validity {
8915
+ declare namespace AutocompleteGroupLabel {
8020
8916
  var displayName: string;
8021
8917
  }
8022
8918
 
8023
8919
 
8024
- declare namespace AutocompleteRoot {
8920
+ declare namespace AutocompleteCollection {
8025
8921
  var displayName: string;
8026
8922
  }
8027
8923
 
8028
8924
 
8029
- declare namespace AutocompleteValue {
8925
+ declare namespace AutocompleteStatus {
8030
8926
  var displayName: string;
8031
8927
  }
8032
8928
 
8033
8929
 
8034
- declare namespace AutocompleteInput {
8930
+ declare namespace Root {
8035
8931
  var displayName: string;
8036
8932
  }
8037
8933
 
8038
8934
 
8039
- declare namespace AutocompleteTrigger {
8935
+ declare namespace List {
8040
8936
  var displayName: string;
8041
8937
  }
8042
8938
 
8043
8939
 
8044
- declare namespace AutocompleteInputGroup {
8940
+ declare namespace Tab {
8045
8941
  var displayName: string;
8046
8942
  }
8047
8943
 
8048
8944
 
8049
- declare namespace AutocompleteContent {
8945
+ declare namespace Panel {
8050
8946
  var displayName: string;
8051
8947
  }
8052
8948
 
8053
8949
 
8054
- declare namespace AutocompleteList {
8950
+ declare namespace Root {
8055
8951
  var displayName: string;
8056
8952
  }
8057
8953
 
8058
8954
 
8059
- declare namespace AutocompleteItem {
8955
+ declare namespace Trigger {
8060
8956
  var displayName: string;
8061
8957
  }
8062
8958
 
8063
8959
 
8064
- declare namespace AutocompleteEmpty {
8960
+ declare namespace Content {
8065
8961
  var displayName: string;
8066
8962
  }
8067
8963
 
8068
8964
 
8069
- declare namespace AutocompleteClear {
8965
+ declare namespace Item {
8070
8966
  var displayName: string;
8071
8967
  }
8072
8968
 
8073
8969
 
8074
- declare namespace AutocompleteGroup {
8970
+ declare namespace LinkItem {
8075
8971
  var displayName: string;
8076
8972
  }
8077
8973
 
8078
8974
 
8079
- declare namespace AutocompleteGroupLabel {
8975
+ declare namespace CheckboxItem {
8080
8976
  var displayName: string;
8081
8977
  }
8082
8978
 
8083
8979
 
8084
- declare namespace AutocompleteCollection {
8980
+ declare namespace CheckboxItemIndicator {
8085
8981
  var displayName: string;
8086
8982
  }
8087
8983
 
8088
8984
 
8089
- declare namespace AutocompleteStatus {
8985
+ declare namespace RadioItem {
8090
8986
  var displayName: string;
8091
8987
  }
8092
8988
 
8093
8989
 
8094
- declare namespace AutocompleteStandalone {
8990
+ declare namespace RadioItemIndicator {
8095
8991
  var displayName: string;
8096
8992
  }
8097
8993
 
8098
8994
 
8099
- declare namespace AutocompleteAsyncStandalone {
8995
+ declare namespace RadioGroup {
8100
8996
  var displayName: string;
8101
8997
  }
8102
8998
 
8103
8999
 
8104
- declare namespace Root {
9000
+ declare namespace Group {
8105
9001
  var displayName: string;
8106
9002
  }
8107
9003
 
8108
9004
 
8109
- declare namespace Legend {
9005
+ declare namespace GroupLabel {
8110
9006
  var displayName: string;
8111
9007
  }
8112
9008
 
8113
9009
 
8114
- declare namespace DataTableRoot {
9010
+ declare namespace MenuSeparator {
8115
9011
  var displayName: string;
8116
9012
  }
8117
9013
 
8118
9014
 
8119
- declare namespace DataTableTable {
9015
+ declare namespace SubmenuRoot {
8120
9016
  var displayName: string;
8121
9017
  }
8122
9018
 
8123
9019
 
8124
- declare namespace DataTableFooter {
9020
+ declare namespace SubmenuTrigger {
8125
9021
  var displayName: string;
8126
9022
  }
8127
9023