cortena-ui 1.1.1 → 1.3.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.
package/dist/index.d.ts CHANGED
@@ -1,37 +1,38 @@
1
1
  "use client";
2
2
  import { ClassValue } from "clsx";
3
+ import { z } from "zod";
3
4
  import * as React$1 from "react";
4
5
  import { ReactNode } from "react";
5
- import { Area, AreaChart, Bar, BarChart, CartesianGrid, Cell, ComposedChart, Funnel, FunnelChart, LabelList, Legend as RechartsLegend, LegendPayload, LegendProps, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Radar, RadarChart, ReferenceLine, ResponsiveContainer, Scatter, ScatterChart, Tooltip as RechartsTooltip, TooltipContentProps as TooltipContentProps$1, TooltipProps, XAxis, YAxis } from "recharts";
6
- import { Button as Button$1 } from "@base-ui/react/button";
7
6
  import { VariantProps } from "class-variance-authority";
7
+ import { Button as Button$1 } from "@base-ui/react/button";
8
+ import { Area, AreaChart, Bar, BarChart, CartesianGrid, Cell, ComposedChart, Funnel, FunnelChart, LabelList, Legend as RechartsLegend, LegendPayload, LegendProps, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Radar, RadarChart, ReferenceLine, ResponsiveContainer, Scatter, ScatterChart, Tooltip as RechartsTooltip, TooltipContentProps as TooltipContentProps$1, TooltipProps, XAxis, YAxis } from "recharts";
9
+ import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
8
10
  import { Menu } from "@base-ui/react/menu";
9
11
  import { Select as Select$1 } from "@base-ui/react/select";
10
12
  import { Cell as Cell$2, Column, ColumnDef, ColumnHelper, ReactTable, Row, RowData, TableState } from "@tanstack/react-table";
11
- import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
12
- import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
13
- import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
14
13
  import { DateRange, DayButtonProps, DayPickerProps } from "react-day-picker";
15
- import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
16
- import { Command as Command$1 } from "cmdk";
17
- import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
18
14
  import { Popover as Popover$1 } from "@base-ui/react/popover";
19
- import { Accept, DropzoneState, FileRejection } from "react-dropzone";
20
15
  import { Field as Field$1 } from "@base-ui/react/field";
21
16
  import { Fieldset as Fieldset$1 } from "@base-ui/react/fieldset";
22
- import { ControllerProps, FieldError as FieldError$1, FieldPath, FieldValues, SubmitHandler, UseFormReturn, useForm } from "react-hook-form";
23
- import { zodResolver } from "@hookform/resolvers/zod";
24
17
  import { Components, Options } from "react-markdown";
25
18
  import { Options as Options$1 } from "rehype-sanitize";
26
19
  import { Progress as Progress$1 } from "@base-ui/react/progress";
27
20
  import { Radio } from "@base-ui/react/radio";
28
21
  import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
29
- import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
30
22
  import { Separator as Separator$1 } from "@base-ui/react/separator";
31
- import { DraggableAttributes, UniqueIdentifier } from "@dnd-kit/core";
32
- import { arrayMove } from "@dnd-kit/sortable";
33
23
  import { Switch as Switch$1 } from "@base-ui/react/switch";
34
24
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
25
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
26
+ import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
27
+ import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
28
+ import { Command as Command$1 } from "cmdk";
29
+ import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
30
+ import { Accept, DropzoneState, FileRejection } from "react-dropzone";
31
+ import { ControllerProps, FieldError as FieldError$1, FieldPath, FieldValues, SubmitHandler, UseFormReturn, useForm } from "react-hook-form";
32
+ import { zodResolver } from "@hookform/resolvers/zod";
33
+ import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
34
+ import { DraggableAttributes, UniqueIdentifier } from "@dnd-kit/core";
35
+ import { arrayMove } from "@dnd-kit/sortable";
35
36
  import { Toast as Toast$1 } from "@base-ui/react/toast";
36
37
  import { Tooltip as Tooltip$2 } from "@base-ui/react/tooltip";
37
38
  //#region src/lib/cn.d.ts
@@ -41,6 +42,236 @@ import { Tooltip as Tooltip$2 } from "@base-ui/react/tooltip";
41
42
  */
42
43
  export declare function cn(...inputs: ClassValue[]): string;
43
44
  //#endregion
45
+ //#region src/a2ui/message.d.ts
46
+ /**
47
+ * A2UI message layer.
48
+ *
49
+ * The wire format cortena-ui accepts, and the fold from a stream of messages
50
+ * onto a set of surfaces. Deliberately free of React so it can be reused by a
51
+ * canvas host, a test fixture, or the catalogue doc generator.
52
+ *
53
+ * ## Two dialects, one fold
54
+ *
55
+ * **v0.9** is the current A2UI protocol (`createSurface`, `updateComponents`,
56
+ * `updateDataModel`, `deleteSurface`) and is what an agent should emit.
57
+ *
58
+ * **v0.8** is what Cortena already speaks: core bundles Google's A2UI Lit
59
+ * renderer at `src/canvas-host/a2ui/` and its `A2uiMessageProcessor` handles
60
+ * `beginRendering`, `surfaceUpdate`, `dataModelUpdate` and `deleteSurface`.
61
+ * The `canvas` agent tool pushes exactly those, as JSON lines, through
62
+ * `canvas.a2ui.pushJSONL`. Accepting both means one renderer serves the chat,
63
+ * the web canvas panel and every payload already written against the native
64
+ * nodes.
65
+ *
66
+ * ## Transport
67
+ *
68
+ * Per `05-agent-ui.md`, an A2UI block travels as an AG-UI `CUSTOM` event. The
69
+ * event value is a message, an array of messages, or the JSONL text the canvas
70
+ * tool sends; {@link parseA2UIMessages} takes all three.
71
+ */
72
+ /** Surface id used when a message omits one, matching core's Lit processor. */
73
+ export declare const A2UI_DEFAULT_SURFACE_ID = "@default";
74
+ /** Protocol version this package speaks. */
75
+ export declare const A2UI_VERSION = "v0.9";
76
+ /** A reference to a value in the surface's data model, as a JSON pointer. */
77
+ interface A2UIDataBinding {
78
+ path: string;
79
+ }
80
+ /**
81
+ * A property value as an agent writes it: a literal, a data binding, or one of
82
+ * the v0.8 literal wrappers the Lit renderer accepts.
83
+ */
84
+ type A2UIPropertyValue = string | number | boolean | null | A2UIDataBinding | {
85
+ literal: unknown;
86
+ } | {
87
+ literalString: string;
88
+ } | readonly A2UIPropertyValue[] | {
89
+ readonly [key: string]: unknown;
90
+ };
91
+ /**
92
+ * A component's children. v0.9 uses a plain id array or a `{ componentId, path }`
93
+ * template; v0.8 wraps the same two in `explicitList` / `template`.
94
+ */
95
+ type A2UIChildList = readonly string[] | {
96
+ componentId: string;
97
+ path: string;
98
+ } | {
99
+ explicitList: readonly string[];
100
+ } | {
101
+ template: {
102
+ componentId: string;
103
+ dataBinding: string;
104
+ };
105
+ };
106
+ /** An action an agent attaches to an interactive property. */
107
+ type A2UIActionSpec = string | {
108
+ event: {
109
+ name: string;
110
+ context?: Record<string, unknown>;
111
+ };
112
+ } | {
113
+ name: string;
114
+ context?: Record<string, unknown>;
115
+ };
116
+ /**
117
+ * One component in a surface.
118
+ *
119
+ * v0.9 is flat — `{ id, component: "Text", text: "hi" }` — and v0.8 wraps the
120
+ * properties under the type name — `{ id, component: { Text: { text: "hi" } } }`.
121
+ */
122
+ interface A2UIComponentSpec {
123
+ id: string;
124
+ component: string | Record<string, Record<string, unknown>>;
125
+ children?: A2UIChildList;
126
+ /** v0.8 flex weight; carried through but not used for layout here. */
127
+ weight?: number | string;
128
+ [property: string]: unknown;
129
+ }
130
+ interface A2UICreateSurface {
131
+ surfaceId?: string;
132
+ catalogId?: string;
133
+ /** Not in the v0.9 schema; accepted so a single message can seed a surface. */
134
+ root?: string;
135
+ sendDataModel?: boolean;
136
+ }
137
+ interface A2UIUpdateComponents {
138
+ surfaceId?: string;
139
+ components: A2UIComponentSpec[];
140
+ root?: string;
141
+ }
142
+ interface A2UIUpdateDataModel {
143
+ surfaceId?: string;
144
+ path?: string;
145
+ value?: unknown;
146
+ /** v0.8 spelling of `value`. */
147
+ contents?: unknown;
148
+ }
149
+ interface A2UIBeginRendering {
150
+ surfaceId?: string;
151
+ root?: string;
152
+ styles?: Record<string, unknown>;
153
+ }
154
+ interface A2UIDeleteSurface {
155
+ surfaceId?: string;
156
+ }
157
+ /** One message on the wire. Exactly one operation key is read per message. */
158
+ interface A2UIMessage {
159
+ version?: string;
160
+ createSurface?: A2UICreateSurface;
161
+ updateComponents?: A2UIUpdateComponents;
162
+ updateDataModel?: A2UIUpdateDataModel;
163
+ deleteSurface?: A2UIDeleteSurface;
164
+ /** v0.8 */
165
+ beginRendering?: A2UIBeginRendering;
166
+ /** v0.8 */
167
+ surfaceUpdate?: A2UIUpdateComponents;
168
+ /** v0.8 */
169
+ dataModelUpdate?: A2UIUpdateDataModel;
170
+ }
171
+ /**
172
+ * Everything the renderer's `message` prop takes: one message, a list of them
173
+ * (the AG-UI `CUSTOM` payload), or JSONL / a JSON array as text (the canvas
174
+ * tool's `a2ui_push`).
175
+ */
176
+ type A2UIMessageInput = A2UIMessage | readonly A2UIMessage[] | string | null | undefined;
177
+ /** A folded surface: what the renderer draws. */
178
+ interface A2UISurface {
179
+ id: string;
180
+ /** Id of the root component; `undefined` until a message names one. */
181
+ root: string | undefined;
182
+ components: ReadonlyMap<string, A2UIComponentSpec>;
183
+ dataModel: Record<string, unknown>;
184
+ styles: Record<string, unknown>;
185
+ }
186
+ interface A2UIFoldResult {
187
+ surfaces: A2UISurface[];
188
+ /** One line per malformed message; the renderer shows these in an error card. */
189
+ errors: string[];
190
+ }
191
+ /** True when a value is a `{ path }` data binding rather than a literal object. */
192
+ export declare function isDataBinding(value: unknown): value is A2UIDataBinding;
193
+ /**
194
+ * Parse whatever arrived into a message list.
195
+ *
196
+ * A string is tried as JSON first (an array or a single message) and then as
197
+ * JSONL, which is the form `canvas.a2ui.pushJSONL` sends. A line that does not
198
+ * parse is reported rather than dropped: silently rendering three of four
199
+ * pushed messages is the failure mode this returns errors for.
200
+ */
201
+ export declare function parseA2UIMessages(input: A2UIMessageInput): {
202
+ messages: A2UIMessage[];
203
+ errors: string[];
204
+ };
205
+ /**
206
+ * Fold a message stream onto surfaces.
207
+ *
208
+ * Updates accumulate: a later `updateComponents` replaces the components it
209
+ * names and leaves the rest, and a later `updateDataModel` writes at its path
210
+ * only. That is what makes the JSONL push form work — the agent sends the
211
+ * shell, then the rows, then a correction, and each one folds onto the same
212
+ * surface.
213
+ */
214
+ export declare function foldMessages(input: A2UIMessageInput): A2UIFoldResult;
215
+ /** Split a JSON pointer into its unescaped segments. */
216
+ export declare function pointerSegments(pointer: string): string[];
217
+ /** Resolve a possibly relative pointer against a data context. */
218
+ export declare function resolvePointer(path: string, contextPath: string): string;
219
+ /** Read a JSON pointer out of the data model. */
220
+ export declare function getAtPointer(model: unknown, pointer: string): unknown;
221
+ /**
222
+ * Write a JSON pointer into the data model, returning a new model.
223
+ *
224
+ * Immutable because the renderer keeps the model in React state: a mutation in
225
+ * place would not re-render, which is the kind of silent nothing-happens bug
226
+ * that is hard to see in a browser test.
227
+ */
228
+ export declare function setAtPointer(model: Record<string, unknown>, pointer: string, value: unknown): Record<string, unknown>;
229
+ /** Normalise the children of a component spec into a single description. */
230
+ type A2UIChildren = {
231
+ kind: "list";
232
+ ids: readonly string[];
233
+ } | {
234
+ kind: "template";
235
+ componentId: string;
236
+ path: string;
237
+ } | {
238
+ kind: "none";
239
+ };
240
+ export declare function readChildren(spec: A2UIComponentSpec, properties: Record<string, unknown>): A2UIChildren;
241
+ /**
242
+ * Split a component spec into its type name and its raw (unresolved) properties,
243
+ * across both dialects. Returns `undefined` when the spec names no type.
244
+ */
245
+ export declare function readComponent(spec: A2UIComponentSpec): {
246
+ name: string;
247
+ properties: Record<string, unknown>;
248
+ } | undefined;
249
+ /**
250
+ * Resolve one property value against the data model.
251
+ *
252
+ * `{ path }` reads the model, `{ literal }` / `{ literalString }` unwrap, and
253
+ * everything else is returned as written, recursing through arrays and objects
254
+ * so a binding nested inside a prop object still resolves.
255
+ */
256
+ export declare function resolveValue(value: unknown, model: Record<string, unknown>, contextPath: string): unknown;
257
+ /** A user action leaving the renderer, shaped like A2UI's client-to-server action. */
258
+ interface A2UIAction {
259
+ surfaceId: string;
260
+ componentId: string;
261
+ name: string;
262
+ payload: Record<string, unknown>;
263
+ }
264
+ /**
265
+ * Normalise an action property into `{ name, context }`.
266
+ *
267
+ * Accepts v0.9's `{ event: { name, context } }`, the bare `{ name, context }`
268
+ * shape, and a plain string, which is what an agent writes most often.
269
+ */
270
+ export declare function readAction(value: unknown): {
271
+ name: string;
272
+ context: Record<string, unknown>;
273
+ } | undefined;
274
+ //#endregion
44
275
  //#region src/components/chart/types.d.ts
45
276
  /**
46
277
  * Chart types and the data shape each one expects.
@@ -63,7 +294,10 @@ export declare function cn(...inputs: ClassValue[]): string;
63
294
  * (the Nivo line shape the webchat emits). `ChartRow[]` is also accepted.
64
295
  * - **pie**, **donut**, **funnel**: `ChartSlice[]` — `[{ id, label?, value }]`.
65
296
  * - **scatter** (alias `scatterplot`): `ChartSeries[]` — one series per group.
66
- * - **heatmap**: `ChartSeries[]` — Nivo heatmap shape, `[{ id: row, data: [{ x: column, y: value }] }]`.
297
+ * - **heatmap**: `ChartSeries[]` — Nivo heatmap shape, `[{ id: row, data: [{ x: column, y: value }] }]` —
298
+ * or `ChartMatrix`, the categorical form a correlation / confusion matrix
299
+ * already has: `{ rows, columns, values }` with `values[r][c]` at
300
+ * `rows[r] × columns[c]`.
67
301
  * - **calendar**: `ChartDay[]` — `[{ day: "2026-01-31", value }]`; `from`/`to`
68
302
  * default to the data's range.
69
303
  * - **treemap**, **sunburst**: `ChartTree` — Nivo tree, `{ id, children?: [...], value? }`
@@ -91,6 +325,17 @@ interface ChartSlice {
91
325
  label?: string;
92
326
  value: number;
93
327
  }
328
+ /**
329
+ * A categorical matrix: `values[r][c]` is the cell at `rows[r]` × `columns[c]`.
330
+ * The shape a correlation matrix, a confusion matrix or a day × hour grid is
331
+ * already in, so it needs no pivot at the call site. Short rows are padded
332
+ * with `null` (drawn as the empty colour) rather than treated as zero.
333
+ */
334
+ interface ChartMatrix {
335
+ rows: string[];
336
+ columns: string[];
337
+ values: Array<Array<number | null | undefined>>;
338
+ }
94
339
  /** One day of a calendar heatmap. */
95
340
  interface ChartDay {
96
341
  day: string;
@@ -105,7 +350,7 @@ interface ChartTree {
105
350
  [key: string]: unknown;
106
351
  }
107
352
  /** The data type accepted for each chart type. */
108
- type ChartDataFor<T extends ChartType> = T extends "bar" | "radar" ? ChartRow[] | ChartSeries[] : T extends "line" | "area" ? ChartSeries[] | ChartRow[] : T extends "pie" | "donut" | "funnel" ? ChartSlice[] : T extends "scatter" | "scatterplot" | "heatmap" ? ChartSeries[] : T extends "calendar" ? ChartDay[] : T extends "treemap" | "sunburst" ? ChartTree : never;
353
+ type ChartDataFor<T extends ChartType> = T extends "bar" | "radar" ? ChartRow[] | ChartSeries[] : T extends "line" | "area" ? ChartSeries[] | ChartRow[] : T extends "pie" | "donut" | "funnel" ? ChartSlice[] : T extends "heatmap" ? ChartSeries[] | ChartMatrix : T extends "scatter" | "scatterplot" ? ChartSeries[] : T extends "calendar" ? ChartDay[] : T extends "treemap" | "sunburst" ? ChartTree : never;
109
354
  /**
110
355
  * Per-series presentation, keyed by series id (the `keys` of a row chart, the
111
356
  * `id` of a series or slice). Colours default to `var(--ds-viz-1..n)` in key
@@ -151,6 +396,19 @@ interface ChartContainerProps extends Omit<React$1.ComponentProps<"div">, "child
151
396
  * `responsive={false}`.
152
397
  */
153
398
  responsive?: boolean;
399
+ /**
400
+ * Give the drawing area a floor of 600×300 so it draws where the layout
401
+ * gives it none.
402
+ *
403
+ * Both engines size themselves from the parent box. Under jsdom nothing has
404
+ * layout — every element measures 0×0 — so a page test that renders a screen
405
+ * containing a Chart gets an empty `<div>` and can assert nothing about it.
406
+ * `testMode` sets `min-width` / `min-height` on the container and hands the
407
+ * same floor to Recharts' ResponsiveContainer, so the chart draws at
408
+ * 600×300. It is a floor, not a fixed size: a parent that *does* give the
409
+ * chart 900px still gets 900px, so a screenshot test is unaffected.
410
+ */
411
+ testMode?: boolean;
154
412
  children: React$1.ReactNode;
155
413
  }
156
414
  /**
@@ -161,7 +419,7 @@ interface ChartContainerProps extends Omit<React$1.ComponentProps<"div">, "child
161
419
  * cursor classes from tokens with a caption-sm floor for text, so a custom
162
420
  * chart composed inside it needs no local colours or fonts.
163
421
  */
164
- declare function ChartContainer({ config, height, responsive, className, style, children, ...props }: ChartContainerProps): React$1.JSX.Element;
422
+ declare function ChartContainer({ config, height, responsive, testMode, className, style, children, ...props }: ChartContainerProps): React$1.JSX.Element;
165
423
  /** "No data" placeholder; rendered by Chart when the data is empty. */
166
424
  declare function ChartEmpty({ children, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
167
425
  /** Error placeholder; rendered by Chart for an `error` prop or a failed Nivo chunk. */
@@ -243,6 +501,14 @@ interface ChartProps<T extends ChartType = ChartType> extends Omit<ChartContaine
243
501
  * Colours, fonts, axes, grid, tooltip, legend and the empty, loading and
244
502
  * error states all come from cortena-design tokens; a consumer passes data
245
503
  * and, optionally, a `config` of labels.
504
+ *
505
+ * `heatmap` takes either the Nivo series shape or a categorical
506
+ * {@link ChartMatrix} — `{ rows, columns, values }` — for the correlation and
507
+ * confusion matrices that are already in that form.
508
+ *
509
+ * `testMode` gives the drawing area a 600×300 floor so a chart still draws
510
+ * where the layout gives it no size; see {@link ChartContainerProps.testMode}
511
+ * and README.md, "Charts in tests".
246
512
  */
247
513
  declare function Chart<T extends ChartType>({ type, data, config, renderer, indexBy, keys, stacked, scale, legend, grid, tooltip, valueFormatter, from, to, loading, error, emptyMessage, className, height, ...props }: ChartProps<T>): React$1.JSX.Element;
248
514
  //#endregion
@@ -728,12 +994,22 @@ interface DataTableViewProps<Row extends RowData> {
728
994
  /** Error to show above the table, in addition to the server source's. */
729
995
  error?: string | Error | null;
730
996
  onRowClick?: (row: Row, event: React$1.MouseEvent<HTMLTableRowElement>) => void;
997
+ /**
998
+ * The row a detail pane is currently showing, matched against the row id
999
+ * (`getRowId`, the row index when that is not set). It gets `data-active`
1000
+ * and the `--ds-primary-soft` tint, independent of checkbox selection — a
1001
+ * master/detail list highlights one row without selecting it, and a table
1002
+ * with both can show a selected set and one open row at once.
1003
+ */
1004
+ activeRowId?: string | null;
1005
+ /** Extra classes per row, e.g. to dim rows the app considers stale. */
1006
+ rowClassName?: (row: Row) => string | undefined;
731
1007
  }
732
1008
  type DataTableProps<Row extends RowData> = DataTableViewProps<Row> & ({
733
1009
  instance: DataTableInstance<Row>;
734
1010
  } | UseDataTableOptions<Row>);
735
1011
  declare function DataTable<Row extends RowData>(props: DataTableProps<Row>): React$1.JSX.Element;
736
- declare function DataTableView<Row extends RowData>({ instance, className, maxHeight, virtualize, rowHeight, stickyHeader, density, renderSubComponent, toolbar, bulkActions, toolbarActions, searchPlaceholder, emptyState, emptyMessage, pageSizeOptions, enableExport, exportFileName, loading, error, onRowClick }: DataTableViewProps<Row> & {
1012
+ declare function DataTableView<Row extends RowData>({ instance, className, maxHeight, virtualize, rowHeight, stickyHeader, density, renderSubComponent, toolbar, bulkActions, toolbarActions, searchPlaceholder, emptyState, emptyMessage, pageSizeOptions, enableExport, exportFileName, loading, error, onRowClick, activeRowId, rowClassName }: DataTableViewProps<Row> & {
737
1013
  instance: DataTableInstance<Row>;
738
1014
  }): React$1.JSX.Element;
739
1015
  //#endregion
@@ -841,6 +1117,196 @@ export declare function downloadCsv<Row extends RowData>(table: DataTableTable<R
841
1117
  */
842
1118
  export declare function downloadExcel<Row extends RowData>(table: DataTableTable<Row>, fileName?: string, rows?: DataTableRow<Row>[]): Promise<void>;
843
1119
  //#endregion
1120
+ //#region src/a2ui/views.d.ts
1121
+ /** A row in an agent-drawn table. Every value is opaque until a column reads it. */
1122
+ type A2UIRow = Record<string, unknown>;
1123
+ /** Where a node sits, carried into every action the view emits. */
1124
+ interface A2UINodeInfo {
1125
+ surfaceId: string;
1126
+ componentId: string;
1127
+ /** JSON pointer this node's relative bindings resolve against. */
1128
+ dataContextPath: string;
1129
+ }
1130
+ /** A normalised action attached to an interactive property. */
1131
+ interface A2UIResolvedAction {
1132
+ name: string;
1133
+ context?: Record<string, unknown>;
1134
+ }
1135
+ /** What every view receives. */
1136
+ interface A2UIViewProps<P> {
1137
+ props: P;
1138
+ node: A2UINodeInfo;
1139
+ /** Already-rendered child nodes, in the order the component listed them. */
1140
+ children: React$1.ReactNode[];
1141
+ /** The surface data model, for actions that report the whole form. */
1142
+ dataModel: Record<string, unknown>;
1143
+ /**
1144
+ * Send an action. `action` is what the agent attached to the property; when
1145
+ * it is absent the event still fires under `fallbackName` so a host can
1146
+ * observe interactions the agent did not ask for.
1147
+ */
1148
+ emit: (action: A2UIResolvedAction | undefined, fallbackName: string, payload?: Record<string, unknown>) => void;
1149
+ /** Write a value back to the data model where this prop was bound. No-op for a literal. */
1150
+ writeBack: (property: string, value: unknown) => void;
1151
+ /** Resolve a `{ kind: "server", sourceId }` handle into a real data source. */
1152
+ resolveDataSource: (sourceId: string) => DataSource<A2UIRow> | undefined;
1153
+ /** Debounce applied to continuous inputs before they become actions. */
1154
+ debounceMs: number;
1155
+ }
1156
+ type A2UIView<P> = React$1.FC<A2UIViewProps<P>>;
1157
+ interface A2UIColumn {
1158
+ id: string;
1159
+ label?: string;
1160
+ align?: "start" | "center" | "end";
1161
+ filter?: "faceted" | "text";
1162
+ width?: number;
1163
+ }
1164
+ /**
1165
+ * Where a table's rows come from.
1166
+ *
1167
+ * `client` carries the rows inline, which suits a short result an agent
1168
+ * already has. `server` carries a handle instead: the agent obtains a
1169
+ * `sourceId` from a tool and the host resolves it through
1170
+ * `resolveDataSource`, so search, sort and paging run on the backend and the
1171
+ * agent never has to put ten thousand rows in a message.
1172
+ */
1173
+ type A2UITableSource = {
1174
+ kind: "client";
1175
+ rows: A2UIRow[];
1176
+ } | {
1177
+ kind: "server";
1178
+ sourceId: string;
1179
+ };
1180
+ /**
1181
+ * What the renderer draws instead of a component it cannot draw.
1182
+ *
1183
+ * Never raw markup and never the offending payload as HTML: the detail is set
1184
+ * as text, so a malformed message cannot inject anything. This is the
1185
+ * "fallback: an error card on malformed payloads" of `05-agent-ui.md`.
1186
+ */
1187
+ export declare function A2UIErrorCard({ title, detail, componentId }: {
1188
+ title: string;
1189
+ detail?: string;
1190
+ componentId?: string;
1191
+ }): React$1.JSX.Element;
1192
+ //#endregion
1193
+ //#region src/a2ui/catalogue.d.ts
1194
+ /** The five families the doc and the prompt group components by. */
1195
+ type A2UIGroup = "layout" | "text" | "input" | "feedback" | "data";
1196
+ /** A ready-to-render example: the components, plus any data model they bind to. */
1197
+ interface A2UIExample {
1198
+ /** Components for this entry. The first is the one being demonstrated. */
1199
+ components: A2UIComponentSpec[];
1200
+ /** Seed data for `{ path }` bindings used by the example. */
1201
+ data?: Record<string, unknown>;
1202
+ }
1203
+ interface A2UICatalogueEntry<P = unknown> {
1204
+ /** The name an agent writes in `component`. */
1205
+ name: string;
1206
+ group: A2UIGroup;
1207
+ /** One sentence, used verbatim in the generated prompt section. */
1208
+ summary: string;
1209
+ /** Schema of the resolved properties. */
1210
+ props: z.ZodType<P>;
1211
+ /** Event names this component can raise through `onAction`. */
1212
+ events: readonly string[];
1213
+ /** `many` takes a `children` list; `none` ignores one. */
1214
+ children: "none" | "many";
1215
+ example: A2UIExample;
1216
+ view: A2UIView<P>;
1217
+ }
1218
+ type A2UICatalogue = Readonly<Record<string, A2UICatalogueEntry<never>>>;
1219
+ /**
1220
+ * The catalogue an agent draws from, and the renderer's default.
1221
+ *
1222
+ * A host may narrow it (hand the renderer a subset) but should not widen it
1223
+ * with components the prompt does not describe: an agent can only usefully
1224
+ * emit what `catalogue-doc.ts` told it about.
1225
+ */
1226
+ export declare const defaultCatalogue: A2UICatalogue;
1227
+ /** Catalogue id an agent may echo in `createSurface.catalogId`. */
1228
+ export declare const A2UI_CATALOGUE_ID = "https://cortena.ai/a2ui/catalogues/cortena-ui/v1.json";
1229
+ /** Every component name in the catalogue, sorted. */
1230
+ export declare function catalogueNames(catalogue?: A2UICatalogue): string[];
1231
+ //#endregion
1232
+ //#region src/a2ui/catalogue-doc.d.ts
1233
+ /** A JSON Schema object, as far as this module cares. */
1234
+ type JsonSchema = Record<string, unknown>;
1235
+ interface A2UIComponentDoc {
1236
+ name: string;
1237
+ group: A2UIGroup;
1238
+ summary: string;
1239
+ /** Whether the component takes a `children` list. */
1240
+ children: "none" | "many";
1241
+ /** Event names the component raises through `onAction`. */
1242
+ events: string[];
1243
+ /** JSON Schema of the resolved properties, derived from the zod schema. */
1244
+ props: JsonSchema;
1245
+ /** Property names that must be present. */
1246
+ required: string[];
1247
+ /** A complete, renderable example: the components and any data they bind to. */
1248
+ example: {
1249
+ components: A2UIComponentSpec[];
1250
+ data?: Record<string, unknown>;
1251
+ };
1252
+ }
1253
+ interface A2UICatalogueDoc {
1254
+ catalogueId: string;
1255
+ protocol: string;
1256
+ generator: string;
1257
+ components: A2UIComponentDoc[];
1258
+ }
1259
+ /** Build the machine-readable catalogue document. */
1260
+ export declare function buildCatalogueDoc(catalogue?: A2UICatalogue): A2UICatalogueDoc;
1261
+ /**
1262
+ * Render the catalogue document as markdown.
1263
+ *
1264
+ * The output is written to be pasted into a system prompt: one table per
1265
+ * component listing every property with its type, whether it is required and
1266
+ * what it means, then a fenced example an agent can copy.
1267
+ */
1268
+ export declare function catalogueMarkdown(doc?: A2UICatalogueDoc): string;
1269
+ /** Turn an entry's example into the messages an agent would actually send. */
1270
+ export declare function exampleMessages(component: A2UIComponentDoc): unknown[];
1271
+ //#endregion
1272
+ //#region src/a2ui/renderer.d.ts
1273
+ interface A2UIRendererProps {
1274
+ /**
1275
+ * The payload. One message, the list an AG-UI `CUSTOM` event carries, or the
1276
+ * JSONL text `canvas.a2ui.pushJSONL` sends. Later messages fold onto earlier
1277
+ * ones, so a push stream can be accumulated by the host and handed here whole.
1278
+ */
1279
+ message: A2UIMessageInput;
1280
+ /** The component vocabulary. Defaults to the whole cortena-ui catalogue. */
1281
+ catalogue?: A2UICatalogue;
1282
+ /** Receives every user event, shaped like A2UI's client-to-server action. */
1283
+ onAction?: (action: A2UIAction) => void;
1284
+ /**
1285
+ * Resolves a `{ kind: "server", sourceId }` table handle into a real data
1286
+ * source. Without it, a server table renders an error card rather than an
1287
+ * empty one, because a silently empty table reads as "no results".
1288
+ */
1289
+ resolveDataSource?: (sourceId: string) => DataSource<A2UIRow> | undefined;
1290
+ /** Render only this surface. Default: every surface, in arrival order. */
1291
+ surfaceId?: string;
1292
+ /** Debounce before a continuous input becomes an action. @default 300 */
1293
+ debounceMs?: number;
1294
+ className?: string;
1295
+ }
1296
+ /**
1297
+ * A2UIRenderer — draws A2UI messages through cortena-ui.
1298
+ *
1299
+ * ```tsx
1300
+ * <A2UIRenderer
1301
+ * message={customEvent.value}
1302
+ * catalogue={defaultCatalogue}
1303
+ * onAction={(action) => agent.send(action)}
1304
+ * resolveDataSource={(id) => sources[id]}
1305
+ * />
1306
+ * ```
1307
+ */
1308
+ export declare function A2UIRenderer({ message, catalogue, onAction, resolveDataSource, surfaceId, debounceMs, className }: A2UIRendererProps): React$1.JSX.Element;
1309
+ //#endregion
844
1310
  //#region src/components/accordion.d.ts
845
1311
  /**
846
1312
  * Accordion.
@@ -860,13 +1326,8 @@ declare function AccordionTrigger({ className, children, ...props }: Accordion$1
860
1326
  declare function AccordionContent({ className, children, ...props }: Accordion$1.Panel.Props): import("react").JSX.Element;
861
1327
  //#endregion
862
1328
  //#region src/components/alert.d.ts
863
- /**
864
- * Alert — an inline callout. Tinted variants use the `-soft` fill for the
865
- * background and the tone colour for the border and icon; the body text stays
866
- * on the foreground token so it reads in both themes.
867
- */
868
1329
  declare const alertVariants: (props?: ({
869
- variant?: "default" | "success" | "warn" | "danger" | "info" | null | undefined;
1330
+ variant?: "default" | "success" | "warn" | "destructive" | "danger" | "info" | null | undefined;
870
1331
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
871
1332
  interface AlertProps extends React$1.ComponentProps<"div">, VariantProps<typeof alertVariants> {}
872
1333
  declare function Alert({ className, variant, ...props }: AlertProps): React$1.JSX.Element;
@@ -889,17 +1350,98 @@ declare function AvatarImage({ className, ...props }: Avatar$1.Image.Props): imp
889
1350
  declare function AvatarFallback({ className, ...props }: Avatar$1.Fallback.Props): import("react").JSX.Element;
890
1351
  //#endregion
891
1352
  //#region src/components/badge.d.ts
892
- /**
893
- * Badge — the mono, uppercase status label. Each tone pairs a `-soft` fill
894
- * with its foreground token; `warn`, `danger` and `secondary` are aliases kept
895
- * for cortenaweb call sites.
896
- */
897
1353
  declare const badgeVariants: (props?: ({
898
- variant?: "default" | "success" | "warning" | "warn" | "danger" | "destructive" | "info" | "neutral" | "secondary" | "outline" | null | undefined;
1354
+ variant?: "default" | "success" | "warn" | "destructive" | "danger" | "info" | "warning" | "neutral" | "secondary" | "outline" | null | undefined;
899
1355
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
900
1356
  interface BadgeProps extends React$1.ComponentProps<"span">, VariantProps<typeof badgeVariants> {}
901
1357
  declare function Badge({ className, variant, ...props }: BadgeProps): React$1.JSX.Element;
902
1358
  //#endregion
1359
+ //#region src/lib/render.d.ts
1360
+ /**
1361
+ * The `render` prop for the components that are plain markup rather than Base
1362
+ * UI primitives (Card, SectionCard, ButtonLink, BreadcrumbLink).
1363
+ *
1364
+ * Base UI parts take their own `render` and need nothing from here. The rest
1365
+ * are a `<div>` or an `<a>` this package writes itself, and a consumer
1366
+ * sometimes needs a different element under the same styling: a Card that is
1367
+ * the page's `<aside>` landmark, or a link that is the router's `<Link>`.
1368
+ * Passing an element rather than a component keeps the call site readable and
1369
+ * lets the caller set props on it (`render={<Link to="/x" />}`).
1370
+ *
1371
+ * `props` wins over the passed element's own props, so the `className` and
1372
+ * handlers a component computed are not silently dropped, while the element's
1373
+ * own props (`href`, `to`, `aria-labelledby`) come through untouched. What a
1374
+ * component lets a *caller* override is decided by the order it builds `props`
1375
+ * in, not here. Children are `children`, falling back to the element's.
1376
+ */
1377
+ type RenderProp = React$1.ReactElement<Record<string, unknown>>;
1378
+ //#endregion
1379
+ //#region src/components/breadcrumb.d.ts
1380
+ /**
1381
+ * Breadcrumb — the trail above a page title.
1382
+ *
1383
+ * A `<nav aria-label="Breadcrumb">` around an ordered list, which is what
1384
+ * assistive technology expects: the list order is the hierarchy, so a screen
1385
+ * reader announces "list, 4 items" and reads the path in order. Separators are
1386
+ * decorative list items, not text inside the links, so a link's accessible
1387
+ * name is the crumb and nothing else.
1388
+ *
1389
+ * The last crumb is `BreadcrumbPage`, not a link: it is the page you are on,
1390
+ * so it carries `aria-current="page"` and is not focusable. Everything before
1391
+ * it is a `BreadcrumbLink`.
1392
+ *
1393
+ * ```tsx
1394
+ * <Breadcrumb>
1395
+ * <BreadcrumbList>
1396
+ * <BreadcrumbItem>
1397
+ * <BreadcrumbLink href="/">Home</BreadcrumbLink>
1398
+ * </BreadcrumbItem>
1399
+ * <BreadcrumbSeparator />
1400
+ * <BreadcrumbItem>
1401
+ * <BreadcrumbEllipsis />
1402
+ * </BreadcrumbItem>
1403
+ * <BreadcrumbSeparator />
1404
+ * <BreadcrumbItem>
1405
+ * <BreadcrumbPage>Invoice 4021</BreadcrumbPage>
1406
+ * </BreadcrumbItem>
1407
+ * </BreadcrumbList>
1408
+ * </Breadcrumb>
1409
+ * ```
1410
+ *
1411
+ * **Router links.** `BreadcrumbLink` renders an `<a>` by default. Pass
1412
+ * `render` with the router's link component and the class name, `href` and
1413
+ * handlers are merged onto it, the same contract as `ButtonLink`:
1414
+ * `render={<NextLink href="/projects" />}` or
1415
+ * `render={<Link to="/projects" />}`. This is deliberately not Base UI's
1416
+ * `render` — a breadcrumb is markup, not a Base UI primitive — but it takes
1417
+ * the same shape so there is one thing to remember.
1418
+ */
1419
+ declare function Breadcrumb({ className, ...props }: React$1.ComponentProps<"nav">): React$1.JSX.Element;
1420
+ declare function BreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): React$1.JSX.Element;
1421
+ declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
1422
+ interface BreadcrumbLinkProps extends React$1.ComponentProps<"a"> {
1423
+ /** Replace the rendered `<a>` with a router link; props are merged onto it. */
1424
+ render?: RenderProp;
1425
+ }
1426
+ declare function BreadcrumbLink({ className, render, children, ...props }: BreadcrumbLinkProps): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
1427
+ /**
1428
+ * The current page: the last crumb, which is not a link.
1429
+ *
1430
+ * A plain `<span aria-current="page">`, deliberately not `role="link"` with
1431
+ * `aria-disabled` — a disabled link that cannot be focused is a fiction, and
1432
+ * it makes `getByRole("link")` return a crumb that navigates nowhere. With a
1433
+ * span, the roles in the trail are exactly the crumbs you can travel to.
1434
+ */
1435
+ declare function BreadcrumbPage({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
1436
+ /** Decorative divider between two crumbs; a chevron unless children replace it. */
1437
+ declare function BreadcrumbSeparator({ className, children, ...props }: React$1.ComponentProps<"li">): React$1.JSX.Element;
1438
+ /**
1439
+ * Stands in for the crumbs a long trail collapses; put it inside a
1440
+ * BreadcrumbItem. The glyph is hidden and the label is not: an ellipsis that
1441
+ * announces nothing leaves a screen-reader user with a gap in the path.
1442
+ */
1443
+ declare function BreadcrumbEllipsis({ className, children, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
1444
+ //#endregion
903
1445
  //#region src/components/button.d.ts
904
1446
  /**
905
1447
  * Button.
@@ -912,7 +1454,7 @@ declare function Badge({ className, variant, ...props }: BadgeProps): React$1.JS
912
1454
  * rendered element, which is Base UI's equivalent.
913
1455
  */
914
1456
  declare const buttonVariants: (props?: ({
915
- variant?: "destructive" | "secondary" | "outline" | "primary" | "ghost" | "soft" | "link" | null | undefined;
1457
+ variant?: "link" | "destructive" | "secondary" | "outline" | "primary" | "ghost" | "soft" | null | undefined;
916
1458
  size?: "sm" | "md" | "lg" | "icon" | "icon-sm" | null | undefined;
917
1459
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
918
1460
  interface ButtonProps extends React$1.ComponentProps<typeof Button$1>, VariantProps<typeof buttonVariants> {}
@@ -935,10 +1477,10 @@ declare function Button({ className, variant, size, ...props }: ButtonProps): Re
935
1477
  interface ButtonLinkProps extends Omit<React$1.ComponentProps<"a">, "children">, Pick<ButtonProps, "variant" | "size"> {
936
1478
  children?: React$1.ReactNode;
937
1479
  /** Replace the rendered `<a>` with a router link; props are merged onto it. */
938
- render?: React$1.ReactElement<Record<string, unknown>>;
1480
+ render?: RenderProp;
939
1481
  disabled?: boolean;
940
1482
  }
941
- declare function ButtonLink({ className, variant, size, render, disabled, children, ...props }: ButtonLinkProps): React$1.JSX.Element;
1483
+ declare function ButtonLink({ className, variant, size, render, disabled, children, ...props }: ButtonLinkProps): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
942
1484
  //#endregion
943
1485
  //#region src/components/calendar.d.ts
944
1486
  /**
@@ -969,8 +1511,21 @@ interface CardProps extends React$1.ComponentProps<"div"> {
969
1511
  hover?: boolean;
970
1512
  /** Draw the border in the ring colour, for a selected or highlighted card. */
971
1513
  accent?: boolean;
1514
+ /**
1515
+ * Replace the rendered `<div>` with another element, so a card can *be* the
1516
+ * landmark rather than sit inside a wrapper that is one:
1517
+ * `render={<aside />}` for a sidebar panel, `render={<section />}` (with an
1518
+ * `aria-labelledby` pointing at its title) for a labelled region,
1519
+ * `render={<article />}` for a self-contained item in a feed. Props set on
1520
+ * the passed element come through; the card's own styling wins.
1521
+ */
1522
+ render?: RenderProp;
972
1523
  }
973
- declare function Card({ className, hover, accent, ...props }: CardProps): React$1.JSX.Element;
1524
+ /**
1525
+ * Card — the bordered surface everything else sits on. `render` changes the
1526
+ * element without changing the look, which is how a card becomes a landmark.
1527
+ */
1528
+ declare function Card({ className, hover, accent, render, children, ...props }: CardProps): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
974
1529
  declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
975
1530
  declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
976
1531
  declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
@@ -1301,6 +1856,10 @@ interface DropzoneProps extends Omit<React$1.ComponentProps<"div">, "children" |
1301
1856
  /** Most files accepted per drop; `0` means unlimited. */
1302
1857
  maxFiles?: number;
1303
1858
  disabled?: boolean;
1859
+ /** Do not open the file dialog on click; for a zone that wraps clickable content. @default false */
1860
+ noClick?: boolean;
1861
+ /** Do not open the file dialog on Enter or Space; pair with `noClick`. @default false */
1862
+ noKeyboard?: boolean;
1304
1863
  /** Primary line of the default body. */
1305
1864
  label?: React$1.ReactNode;
1306
1865
  /** Muted second line of the default body; derived from `accept` and `maxSize` when omitted. */
@@ -1308,7 +1867,7 @@ interface DropzoneProps extends Omit<React$1.ComponentProps<"div">, "children" |
1308
1867
  /** Replace the default body. A function receives react-dropzone's state. */
1309
1868
  children?: React$1.ReactNode | ((state: DropzoneState) => React$1.ReactNode);
1310
1869
  }
1311
- declare function Dropzone({ onFiles, onReject, accept, multiple, maxSize, maxFiles, disabled, label, hint, children, className, ref, ...props }: DropzoneProps): React$1.JSX.Element;
1870
+ declare function Dropzone({ onFiles, onReject, accept, multiple, maxSize, maxFiles, disabled, noClick, noKeyboard, label, hint, children, className, ref, ...props }: DropzoneProps): React$1.JSX.Element;
1312
1871
  interface FileListProps extends Omit<React$1.ComponentProps<"ul">, "children"> {
1313
1872
  files: readonly File[];
1314
1873
  /** Called with the file and its index when its remove button is pressed; the button is hidden when omitted. */
@@ -1375,7 +1934,7 @@ declare function ErrorBanner({ message, onDismiss, onRetry, className, ...props
1375
1934
  * list) it renders whenever the list has a message.
1376
1935
  */
1377
1936
  declare const fieldVariants: (props?: ({
1378
- orientation?: "vertical" | "horizontal" | null | undefined;
1937
+ orientation?: "horizontal" | "vertical" | null | undefined;
1379
1938
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
1380
1939
  interface FieldProps extends React$1.ComponentProps<typeof Field$1.Root>, VariantProps<typeof fieldVariants> {}
1381
1940
  declare function Field({ className, orientation, invalid, ...props }: FieldProps): React$1.JSX.Element;
@@ -1642,6 +2201,10 @@ interface SectionCardProps extends Omit<CardProps, "title"> {
1642
2201
  * SectionCard — a Card with a header row (title, description, actions), a
1643
2202
  * body and an optional footer. It composes the Card parts rather than
1644
2203
  * restyling them, so a SectionCard and a hand-built Card look identical.
2204
+ *
2205
+ * `render` is Card's and reaches the outer element, so a section card can be
2206
+ * the landmark it is named after: `render={<section aria-labelledby={id} />}`
2207
+ * with the same `id` on the title, or `render={<aside />}` for a side panel.
1645
2208
  */
1646
2209
  declare function SectionCard({ title, description, actions, footer, flush, bodyClassName, children, ...props }: SectionCardProps): React$1.JSX.Element;
1647
2210
  //#endregion
@@ -1683,8 +2246,33 @@ declare function Segmented<T extends string = string>({ className, value, onValu
1683
2246
  * - `onValueChange` receives `(value, eventDetails)`.
1684
2247
  * - `SelectContent` defaults to the dropdown layout; pass
1685
2248
  * `alignItemWithTrigger` for Base UI's native-like overlay of the selected item.
2249
+ *
2250
+ * ## Typing the value
2251
+ *
2252
+ * `null` is the cleared / placeholder state, so `onValueChange` always hands
2253
+ * back `Value | null`, never bare `Value`. Name the value type on the element
2254
+ * to keep that union at `string | null` instead of letting inference widen it:
2255
+ *
2256
+ * ```tsx
2257
+ * const [status, setStatus] = useState("");
2258
+ *
2259
+ * <Select<string>
2260
+ * // "" is not a value any item carries; `|| null` is the placeholder state,
2261
+ * // which is what makes SelectValue fall back to its `placeholder`.
2262
+ * value={status || null}
2263
+ * onValueChange={(next) => setStatus(next ?? "")} // next: string | null
2264
+ * >
2265
+ * ```
2266
+ *
2267
+ * Without the explicit `<string>` the type argument is inferred from `value`,
2268
+ * so a `string | null` value widens `Value` and the handler's parameter turns
2269
+ * into `string | null | null`. Multi-select narrows too:
2270
+ * `<Select<string, true> multiple>` hands back `string[]`, never `null`.
2271
+ *
2272
+ * `SelectProps` is the same props type, for a wrapper that forwards them.
1686
2273
  */
1687
- declare function Select<Value, Multiple extends boolean | undefined = false>(props: Select$1.Root.Props<Value, Multiple>): import("react").JSX.Element;
2274
+ type SelectProps<Value = string, Multiple extends boolean | undefined = false> = Select$1.Root.Props<Value, Multiple>;
2275
+ declare function Select<Value, Multiple extends boolean | undefined = false>(props: SelectProps<Value, Multiple>): import("react").JSX.Element;
1688
2276
  declare function SelectGroup({ className, ...props }: Select$1.Group.Props): import("react").JSX.Element;
1689
2277
  declare function SelectValue({ className, ...props }: Select$1.Value.Props): import("react").JSX.Element;
1690
2278
  interface SelectTriggerProps extends Select$1.Trigger.Props {
@@ -1716,15 +2304,15 @@ interface SeparatorProps extends React$1.ComponentProps<typeof Separator$1> {
1716
2304
  declare function Separator({ className, orientation, decorative, ...props }: SeparatorProps): React$1.JSX.Element;
1717
2305
  //#endregion
1718
2306
  //#region src/components/sheet.d.ts
1719
- /**
1720
- * Sheet: a Dialog whose Popup is anchored to one edge of the viewport.
1721
- *
1722
- * Same Base UI parts as Dialog (Root, Trigger, Portal, Backdrop, Popup, Title,
1723
- * Description, Close); only the Popup's placement differs, chosen by `side`.
1724
- * `SheetContent` composes Portal + Backdrop + Popup so consumers keep writing
1725
- * `<SheetContent side="right">…</SheetContent>`.
1726
- */
1727
- declare function Sheet(props: Dialog$1.Root.Props): React$1.JSX.Element;
2307
+ interface SheetProps extends Dialog$1.Root.Props {
2308
+ /**
2309
+ * `true` (default) traps focus, locks page scroll and draws a backdrop.
2310
+ * `false` draws no backdrop and traps nothing, for a panel read alongside
2311
+ * the app. `"trap-focus"` keeps focus in but leaves the page scrollable.
2312
+ */
2313
+ modal?: boolean | "trap-focus";
2314
+ }
2315
+ declare function Sheet({ modal, ...props }: SheetProps): React$1.JSX.Element;
1728
2316
  declare function SheetTrigger(props: Dialog$1.Trigger.Props): React$1.JSX.Element;
1729
2317
  declare function SheetClose(props: Dialog$1.Close.Props): React$1.JSX.Element;
1730
2318
  declare function SheetPortal(props: Dialog$1.Portal.Props): React$1.JSX.Element;
@@ -1753,20 +2341,6 @@ declare function SheetDescription({ className, ...props }: Dialog$1.Description.
1753
2341
  declare function Skeleton({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
1754
2342
  //#endregion
1755
2343
  //#region src/components/sortable-list.d.ts
1756
- /**
1757
- * SortableList.
1758
- *
1759
- * A reorderable list over dnd-kit: `DndContext` + `SortableContext` around one
1760
- * `useSortable` item per entry. The list owns nothing — it calls `onReorder`
1761
- * with the next array and the consumer stores it. Pointer and keyboard sensors
1762
- * are wired (Space picks up, arrows move, Space drops, Escape cancels) and a
1763
- * `DragOverlay` paints the lifted copy with `--ds-shadow-lg` while the item
1764
- * left behind dims and takes the ring colour.
1765
- *
1766
- * By default the whole row is the drag activator. Pass `handle` to restrict
1767
- * dragging to a `<SortableHandle>` (or any element given `handleProps`) so
1768
- * buttons and inputs inside a row stay clickable.
1769
- */
1770
2344
  /** Spread onto the element that should start a drag. */
1771
2345
  interface SortableHandleProps extends Partial<DraggableAttributes> {
1772
2346
  ref: (element: HTMLElement | null) => void;
@@ -1781,17 +2355,39 @@ interface SortableRenderState {
1781
2355
  /** True for the item being dragged (and for the overlay copy). */
1782
2356
  isDragging: boolean;
1783
2357
  }
2358
+ /** What moved where, passed to `onReorder` alongside the reordered array. */
2359
+ interface SortableReorderDetails {
2360
+ /** Index the item came from, in the array as it was passed in. */
2361
+ from: number;
2362
+ /** Index it landed on. */
2363
+ to: number;
2364
+ /** Id of the item that moved (`getId` of the dragged item). */
2365
+ activeId: UniqueIdentifier;
2366
+ /** Id of the item it was dropped onto. */
2367
+ overId: UniqueIdentifier;
2368
+ }
1784
2369
  interface SortableListProps<T> extends Omit<React$1.ComponentProps<"ul">, "children"> {
1785
2370
  items: readonly T[];
1786
2371
  /** Stable id per item; must be unique within the list. */
1787
2372
  getId: (item: T) => UniqueIdentifier;
1788
- /** Called with the reordered array after a successful drop. */
1789
- onReorder: (next: T[]) => void;
2373
+ /**
2374
+ * Called with the reordered array after a successful drop, and with the move
2375
+ * itself — `{ from, to, activeId, overId }` — for a server that persists a
2376
+ * position rather than the whole list.
2377
+ */
2378
+ onReorder: (next: T[], details: SortableReorderDetails) => void;
1790
2379
  renderItem: (item: T, state: SortableRenderState) => React$1.ReactNode;
1791
2380
  /** Layout axis; also selects the sorting strategy. */
1792
2381
  orientation?: "vertical" | "horizontal";
1793
2382
  /** Only a `<SortableHandle>` (or an element given `handleProps`) starts a drag. */
1794
2383
  handle?: boolean;
2384
+ /**
2385
+ * Let a finger scroll the page over the rows. Defaults to `handle`: `true`
2386
+ * in handle mode, `false` in whole-row mode, which is what each already did.
2387
+ * `true` on a whole-row list drops `touch-none` and uses a TouchSensor with
2388
+ * delay activation, so a swipe scrolls and a held press drags.
2389
+ */
2390
+ touchScroll?: boolean;
1795
2391
  /** Disables every sensor and hides the handles. */
1796
2392
  disabled?: boolean;
1797
2393
  /** Class name for each item wrapper. */
@@ -1803,21 +2399,41 @@ interface SortableListProps<T> extends Omit<React$1.ComponentProps<"ul">, "child
1803
2399
  * `renderItem`. Hidden (kept in layout) when the list is disabled.
1804
2400
  */
1805
2401
  declare function SortableHandle({ className, children, ...props }: React$1.ComponentProps<"button">): React$1.JSX.Element;
1806
- declare function SortableList<T>({ items, getId, onReorder, renderItem, orientation, handle, disabled, itemClassName: itemClass, className, ...props }: SortableListProps<T>): React$1.JSX.Element;
2402
+ declare function SortableList<T>({ items, getId, onReorder, renderItem, orientation, handle, disabled, touchScroll, itemClassName: itemClass, className, ...props }: SortableListProps<T>): React$1.JSX.Element;
1807
2403
  //#endregion
1808
2404
  //#region src/components/spinner.d.ts
1809
2405
  interface SpinnerProps extends React$1.ComponentProps<"span"> {
1810
2406
  /** Diameter in px. Defaults to 16. */
1811
2407
  size?: number;
2408
+ /**
2409
+ * `inverse` for a spinner on a filled surface — inside a primary or
2410
+ * destructive Button, on a toast, on any `-foreground` pairing. The default
2411
+ * ring is `--ds-border` with a `--ds-primary` leading edge, which all but
2412
+ * disappears on a primary fill; `inverse` draws both from
2413
+ * `--ds-primary-foreground` instead.
2414
+ */
2415
+ tone?: "default" | "inverse";
1812
2416
  }
1813
2417
  /**
1814
- * Spinner — a ring with a primary-coloured leading edge. Announces itself as
2418
+ * Spinner — a ring with a coloured leading edge. Announces itself as
1815
2419
  * `role="status"` with a "Loading" label; pass `aria-label` to override.
2420
+ *
2421
+ * ```tsx
2422
+ * <Button disabled>
2423
+ * <Spinner tone="inverse" /> Saving…
2424
+ * </Button>
2425
+ * ```
1816
2426
  */
1817
- declare function Spinner({ className, size, style, ...props }: SpinnerProps): React$1.JSX.Element;
2427
+ declare function Spinner({ className, size, tone, style, ...props }: SpinnerProps): React$1.JSX.Element;
1818
2428
  //#endregion
1819
2429
  //#region src/components/status-dot.d.ts
1820
- type StatusDotTone = "accent" | "success" | "warning" | "danger" | "info" | "neutral";
2430
+ /**
2431
+ * The error tone is `destructive`, the same spelling Button, Alert and Badge
2432
+ * use. `danger` is a deprecated alias of it and paints the same.
2433
+ */
2434
+ type StatusDotTone = "accent" | "success" | "warning" | "destructive" |
2435
+ /** @deprecated Use `destructive`; this alias paints the same. */
2436
+ "danger" | "info" | "neutral";
1821
2437
  interface StatusDotProps extends Omit<React$1.ComponentProps<"span">, "children"> {
1822
2438
  tone?: StatusDotTone;
1823
2439
  /** Adds a pinging halo behind the dot for "currently active" states. */
@@ -1902,7 +2518,7 @@ declare function Textarea({ className, autoGrow, onChange, ref, ...props }: Text
1902
2518
  * `toastManager` to `Toaster` when you need to fire toasts outside React.
1903
2519
  */
1904
2520
  declare const toastVariants: (props?: ({
1905
- variant?: "default" | "success" | "warning" | "destructive" | null | undefined;
2521
+ variant?: "default" | "success" | "destructive" | "warning" | null | undefined;
1906
2522
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
1907
2523
  /** The Base UI toast manager: `{ toasts, add, close, update, promise }`. */
1908
2524
  declare const useToast: typeof Toast$1.useToastManager;
@@ -2059,5 +2675,5 @@ export declare function themeFromBackground(background: unknown): ResolvedCorten
2059
2675
  export declare function themeFromMessage(data: unknown): CortenaTheme | null;
2060
2676
  export declare function useCortenaTheme(options?: UseCortenaThemeOptions): UseCortenaThemeResult;
2061
2677
  //#endregion
2062
- export { type Accept, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertIcon, type AlertProps, AlertTitle, Area, AreaChart, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Bar, BarChart, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, Calendar, CalendarDayButton, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, CartesianGrid, Cell, Chart, type ChartConfig, ChartContainer, type ChartContainerProps, type ChartDataFor, type ChartDay, ChartEmpty, type ChartEngine, ChartError, ChartLegend, ChartLegendContent, type ChartLegendContentProps, ChartLoading, type ChartPoint, type ChartProps, type ChartRenderer, type ChartRow, type ChartScale, type ChartScales, type ChartSeries, type ChartSlice, ChartTooltip, ChartTooltipContent, type ChartTooltipContentProps, type ChartTree, type ChartType, Checkbox, type CheckboxProps, Chip, type ChipProps, type ClientSource, type CodeRendererProps, Combobox, ComboboxChip, type ComboboxChipProps, ComboboxChips, type ComboboxChipsProps, ComboboxClear, ComboboxCollection, ComboboxContent, type ComboboxContentProps, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, type ComboboxInputProps, ComboboxItem, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, type CommandItemProps, CommandList, CommandLoading, CommandSeparator, CommandShortcut, ComposedChart, type CortenaTheme, type CortenaThemeMessage, type DataSource, DataTable, type DataTableCell, type DataTableColumn, type DataTableColumnDef, DataTableColumnHeader, type DataTableColumnHeaderProps, type DataTableColumnMeta, type DataTableEditable, type DataTableEditingCell, DataTableExportMenu, type DataTableExportMenuProps, DataTableFacetedFilter, type DataTableFacetedFilterOption, type DataTableFacetedFilterProps, type DataTableFeatures, type DataTableInstance, DataTablePagination, type DataTablePaginationMode, type DataTablePaginationProps, type DataTableProps, type DataTableRow, type DataTableState, type DataTableTable, DataTableToolbar, type DataTableToolbarProps, DataTableView, DataTableViewOptions, type DataTableViewOptionsProps, type DataTableViewProps, DateField, type DateFieldProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, DialogBody, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, Dropzone, type DropzoneProps, type DropzoneState, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ExportCell, type ExportSheet, Field, FieldContent, FieldControl, type FieldControlProps, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorItem, type FieldErrorProps, FieldGroup, FieldLabel, type FieldLabelProps, type FieldProps, Fieldset, FieldsetLegend, type FieldsetLegendProps, type FieldsetProps, FileList, type FileListProps, type FileRejection, Form, FormControl, type FormControlProps, FormDescription, type FormDescriptionProps, FormField, FormItem, type FormItemProps, FormLabel, type FormLabelProps, FormMessage, type FormMessageProps, Funnel, FunnelChart, Input, type InputProps, Kbd, Label, LabelList, type LabelProps, Line, LineChart, LoadingSkeleton, type LoadingSkeletonPreset, type LoadingSkeletonProps, Markdown, type Components as MarkdownComponents, type MarkdownProps, type NivoTheme, PageHeader, type PageHeaderProps, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Popover, PopoverClose, PopoverContent, type PopoverContentProps, PopoverDescription, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, Radar, RadarChart, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RechartsLegend, RechartsTooltip, ReferenceLine, type ResolvedCortenaTheme, ResponsiveContainer, Scatter, ScatterChart, ScrollArea, type ScrollAreaProps, ScrollBar, SectionCard, type SectionCardProps, Segmented, type SegmentedOption, type SegmentedProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type SeparatorProps, type ServerSource, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, SortableHandle, type SortableHandleProps, SortableList, type SortableListProps, type SortableRenderState, Spinner, type SpinnerProps, StatusDot, type StatusDotProps, type StatusDotTone, type SubmitHandler, Switch, type SwitchProps, type TableQuery, type TableResult, Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, Textarea, type TextareaProps, Toast, type ToastProps, Toaster, type ToasterProps, Toolbar, ToolbarEnd, type ToolbarProps, ToolbarSeparator, ToolbarStart, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseCortenaThemeOptions, type UseCortenaThemeResult, type UseDataTableOptions, type UseFormFieldReturn, type UseFormReturn, XAxis, YAxis, alertVariants, arrayMove, badgeVariants, buttonVariants, chipVariants, fieldVariants, formatDateDefault, formatDateISO, formatDateLong, formatDateShort, formatFileSize, formatRelative, inputClassName, labelVariants, markdownSanitizeSchema, parseDateDefault, parseDateISO, sheetVariants, textareaClassName, toastVariants, useComboboxFilter, useForm, useFormField, useToast, zodResolver };
2678
+ export { type A2UIAction, type A2UIActionSpec, type A2UIBeginRendering, type A2UICatalogue, type A2UICatalogueDoc, type A2UICatalogueEntry, type A2UIChildList, type A2UIChildren, type A2UIColumn, type A2UIComponentDoc, type A2UIComponentSpec, type A2UICreateSurface, type A2UIDataBinding, type A2UIDeleteSurface, type A2UIExample, type A2UIFoldResult, type A2UIGroup, type A2UIMessage, type A2UIMessageInput, type A2UINodeInfo, type A2UIPropertyValue, type A2UIRendererProps, type A2UIResolvedAction, type A2UIRow, type A2UISurface, type A2UITableSource, type A2UIUpdateComponents, type A2UIUpdateDataModel, type A2UIView, type A2UIViewProps, type Accept, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertIcon, type AlertProps, AlertTitle, Area, AreaChart, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Bar, BarChart, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, Calendar, CalendarDayButton, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, CartesianGrid, Cell, Chart, type ChartConfig, ChartContainer, type ChartContainerProps, type ChartDataFor, type ChartDay, ChartEmpty, type ChartEngine, ChartError, ChartLegend, ChartLegendContent, type ChartLegendContentProps, ChartLoading, type ChartMatrix, type ChartPoint, type ChartProps, type ChartRenderer, type ChartRow, type ChartScale, type ChartScales, type ChartSeries, type ChartSlice, ChartTooltip, ChartTooltipContent, type ChartTooltipContentProps, type ChartTree, type ChartType, Checkbox, type CheckboxProps, Chip, type ChipProps, type ClientSource, type CodeRendererProps, Combobox, ComboboxChip, type ComboboxChipProps, ComboboxChips, type ComboboxChipsProps, ComboboxClear, ComboboxCollection, ComboboxContent, type ComboboxContentProps, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, type ComboboxInputProps, ComboboxItem, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, type CommandItemProps, CommandList, CommandLoading, CommandSeparator, CommandShortcut, ComposedChart, type CortenaTheme, type CortenaThemeMessage, type DataSource, DataTable, type DataTableCell, type DataTableColumn, type DataTableColumnDef, DataTableColumnHeader, type DataTableColumnHeaderProps, type DataTableColumnMeta, type DataTableEditable, type DataTableEditingCell, DataTableExportMenu, type DataTableExportMenuProps, DataTableFacetedFilter, type DataTableFacetedFilterOption, type DataTableFacetedFilterProps, type DataTableFeatures, type DataTableInstance, DataTablePagination, type DataTablePaginationMode, type DataTablePaginationProps, type DataTableProps, type DataTableRow, type DataTableState, type DataTableTable, DataTableToolbar, type DataTableToolbarProps, DataTableView, DataTableViewOptions, type DataTableViewOptionsProps, type DataTableViewProps, DateField, type DateFieldProps, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, Dialog, DialogBody, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, Dropzone, type DropzoneProps, type DropzoneState, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ExportCell, type ExportSheet, Field, FieldContent, FieldControl, type FieldControlProps, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorItem, type FieldErrorProps, FieldGroup, FieldLabel, type FieldLabelProps, type FieldProps, Fieldset, FieldsetLegend, type FieldsetLegendProps, type FieldsetProps, FileList, type FileListProps, type FileRejection, Form, FormControl, type FormControlProps, FormDescription, type FormDescriptionProps, FormField, FormItem, type FormItemProps, FormLabel, type FormLabelProps, FormMessage, type FormMessageProps, Funnel, FunnelChart, Input, type InputProps, type JsonSchema, Kbd, Label, LabelList, type LabelProps, Line, LineChart, LoadingSkeleton, type LoadingSkeletonPreset, type LoadingSkeletonProps, Markdown, type Components as MarkdownComponents, type MarkdownProps, type NivoTheme, PageHeader, type PageHeaderProps, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Popover, PopoverClose, PopoverContent, type PopoverContentProps, PopoverDescription, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, Radar, RadarChart, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RechartsLegend, RechartsTooltip, ReferenceLine, type ResolvedCortenaTheme, ResponsiveContainer, Scatter, ScatterChart, ScrollArea, type ScrollAreaProps, ScrollBar, SectionCard, type SectionCardProps, Segmented, type SegmentedOption, type SegmentedProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type SeparatorProps, type ServerSource, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, type SheetProps, SheetTitle, SheetTrigger, Skeleton, SortableHandle, type SortableHandleProps, SortableList, type SortableListProps, type SortableRenderState, type SortableReorderDetails, Spinner, type SpinnerProps, StatusDot, type StatusDotProps, type StatusDotTone, type SubmitHandler, Switch, type SwitchProps, type TableQuery, type TableResult, Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, Textarea, type TextareaProps, Toast, type ToastProps, Toaster, type ToasterProps, Toolbar, ToolbarEnd, type ToolbarProps, ToolbarSeparator, ToolbarStart, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseCortenaThemeOptions, type UseCortenaThemeResult, type UseDataTableOptions, type UseFormFieldReturn, type UseFormReturn, XAxis, YAxis, alertVariants, arrayMove, badgeVariants, buttonVariants, chipVariants, fieldVariants, formatDateDefault, formatDateISO, formatDateLong, formatDateShort, formatFileSize, formatRelative, inputClassName, labelVariants, markdownSanitizeSchema, parseDateDefault, parseDateISO, sheetVariants, textareaClassName, toastVariants, useComboboxFilter, useForm, useFormField, useToast, zodResolver };
2063
2679
  //# sourceMappingURL=index.d.ts.map