@bysages/react 0.0.1 → 0.2.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.mts CHANGED
@@ -1,27 +1,32 @@
1
1
  import { Accordion as Accordion$1 } from "@ark-ui/react/accordion";
2
- import { AnchorHTMLAttributes, ButtonHTMLAttributes, CSSProperties, HTMLAttributes, ReactNode } from "react";
3
- import { Collapsible as Collapsible$1 } from "@ark-ui/react/collapsible";
2
+ import { AnchorHTMLAttributes, ButtonHTMLAttributes, CSSProperties, ComponentProps, HTMLAttributes, InputHTMLAttributes, ReactNode, Ref, TextareaHTMLAttributes } from "react";
4
3
  import { Field as Field$1 } from "@ark-ui/react/field";
4
+ import { Popover as Popover$1 } from "@ark-ui/react/popover";
5
+ import { Collapsible as Collapsible$1 } from "@ark-ui/react/collapsible";
5
6
  import { AngleSlider as AngleSlider$1 } from "@ark-ui/react/angle-slider";
7
+ import { CollectionItem, CollectionOptions, FilePathTreeNode, FlatTreeNode, GridCollection, GridCollectionOptions, ListCollection, TreeCollection, TreeCollectionOptions, TreeNode, UseAsyncListProps, UseAsyncListReturn, UseListCollectionProps, UseListCollectionReturn, UseListSelectionProps, UseListSelectionReturn, createFileTreeCollection, createGridCollection, createTreeCollection, useAsyncList, useListCollection, useListSelection } from "@ark-ui/react/collection";
8
+ import { Combobox as Combobox$1 } from "@ark-ui/react/combobox";
6
9
  import { Avatar as Avatar$1 } from "@ark-ui/react/avatar";
7
10
  import { DatePicker as DatePicker$1, DatePickerFocusChangeDetails, DatePickerOpenChangeDetails, DatePickerRootProps, DatePickerValueChangeDetails, DatePickerViewChangeDetails, DatePickerVisibleRangeChangeDetails } from "@ark-ui/react/date-picker";
8
11
  import { Carousel as Carousel$1 } from "@ark-ui/react/carousel";
9
12
  import { Checkbox as Checkbox$1 } from "@ark-ui/react/checkbox";
10
13
  import { Clipboard as Clipboard$1 } from "@ark-ui/react/clipboard";
14
+ import { ClientOnly, ClientOnlyProps } from "@ark-ui/react/client-only";
11
15
  import { ColorPicker as ColorPicker$1 } from "@ark-ui/react/color-picker";
12
- import { Combobox as Combobox$1 } from "@ark-ui/react/combobox";
13
- import { DateInput as DateInput$1, DateInputFocusChangeDetails, DateInputValueChangeDetails } from "@ark-ui/react/date-input";
14
16
  import { Dialog as Dialog$1, DialogOpenChangeDetails } from "@ark-ui/react/dialog";
17
+ import { DateInput as DateInput$1, DateInputFocusChangeDetails, DateInputValueChangeDetails } from "@ark-ui/react/date-input";
18
+ import { DownloadTrigger, DownloadTriggerBaseProps, DownloadTriggerProps, DownloadableData, UseDownloadProps, UseDownloadReturn, useDownload } from "@ark-ui/react/download-trigger";
15
19
  import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
16
20
  import { Editable as Editable$1 } from "@ark-ui/react/editable";
17
21
  import { Fieldset as Fieldset$1 } from "@ark-ui/react/fieldset";
18
22
  import { FileUpload as FileUpload$1 } from "@ark-ui/react/file-upload";
19
23
  import { FloatingPanel as FloatingPanel$1 } from "@ark-ui/react/floating-panel";
24
+ import { FocusTrap, FocusTrapBaseProps, FocusTrapProps } from "@ark-ui/react/focus-trap";
20
25
  import { Format as Format$1 } from "@ark-ui/react/format";
21
26
  import { HoverCard as HoverCard$1 } from "@ark-ui/react/hover-card";
22
27
  import { ImageCropper as ImageCropper$1 } from "@ark-ui/react/image-cropper";
23
28
  import { JsonTreeView as JsonTreeView$1 } from "@ark-ui/react/json-tree-view";
24
- import { Listbox as Listbox$1, createListCollection } from "@ark-ui/react/listbox";
29
+ import { Listbox as Listbox$1 } from "@ark-ui/react/listbox";
25
30
  import { Marquee as Marquee$1 } from "@ark-ui/react/marquee";
26
31
  import { Menu as Menu$1 } from "@ark-ui/react/menu";
27
32
  import { NavigationMenu as NavigationMenu$1 } from "@ark-ui/react/navigation-menu";
@@ -29,7 +34,7 @@ import { NumberInput as NumberInput$1 } from "@ark-ui/react/number-input";
29
34
  import { Pagination as Pagination$1 } from "@ark-ui/react/pagination";
30
35
  import { PasswordInput as PasswordInput$1 } from "@ark-ui/react/password-input";
31
36
  import { PinInput as PinInput$1 } from "@ark-ui/react/pin-input";
32
- import { Popover as Popover$1 } from "@ark-ui/react/popover";
37
+ import { Presence, PresenceBaseProps, PresenceProps, PresenceProvider, UsePresenceContext, UsePresenceProps, UsePresenceReturn, usePresence, usePresenceContext } from "@ark-ui/react/presence";
33
38
  import { Progress as Progress$1 } from "@ark-ui/react/progress";
34
39
  import { QrCode as QrCode$1 } from "@ark-ui/react/qr-code";
35
40
  import { RadioGroup as RadioGroup$1 } from "@ark-ui/react/radio-group";
@@ -63,7 +68,269 @@ export * from "@bysages/core";
63
68
  * API is Ark's own — Root, Item, ItemTrigger, ItemContent, ItemIndicator. */
64
69
  export declare const Accordion: typeof Accordion$1;
65
70
  //#endregion
66
- //#region ../../node_modules/.pnpm/@ai-sdk+provider@4.0.14/node_modules/@ai-sdk/provider/dist/index.d.ts
71
+ //#region src/components/affix/index.d.ts
72
+ /**
73
+ * A nail: the wrapped content travels with the page until it reaches its
74
+ * offset, then stays put while the page moves on. The semantics are
75
+ * plain `position: sticky` — pinning is relative to the nearest
76
+ * *scrolling* ancestor, so the element works inside a scrollable panel
77
+ * exactly as it does on the page itself, and a parent with
78
+ * `overflow: hidden` clips the pin. Both offsets may be given: the
79
+ * content then holds its place inside that band.
80
+ */
81
+ export interface AffixProps extends HTMLAttributes<HTMLDivElement> {
82
+ /** Where the content pins when it reaches the top of the scrolling
83
+ * ancestor — the height of any fixed header it must clear. */
84
+ offsetTop?: string;
85
+ /** Where it pins from the bottom instead, for footers and action bars. */
86
+ offsetBottom?: string;
87
+ }
88
+ export declare function Affix({ offsetTop, offsetBottom, ...rest }: AffixProps): import("react").JSX.Element;
89
+ //#endregion
90
+ //#region src/components/ai-action/index.d.ts
91
+ /** A quiet icon button — copy, retry, thumbs. The label names it to
92
+ * assistive tech and as the hover title. The control itself is the
93
+ * shared Button in its ghost register. */
94
+ export interface ActionProps extends ButtonHTMLAttributes<HTMLButtonElement> {
95
+ /** What the button does, spoken to assistive tech and shown as the
96
+ * hover title — copy, retry, thumbs. */
97
+ label: string;
98
+ children?: ReactNode;
99
+ }
100
+ export declare function Action({ label, children, ...rest }: ActionProps): import("react").JSX.Element;
101
+ //#endregion
102
+ //#region src/components/ai-message/index.d.ts
103
+ /** Whose stroke this is — the user's words sit in a recessed bubble,
104
+ * the assistant speaks flat on the paper. */
105
+ export interface MessageProps extends HTMLAttributes<HTMLElement> {
106
+ role?: "user" | "assistant" | "system";
107
+ children?: ReactNode;
108
+ }
109
+ export declare function Message({ role, children, ...rest }: MessageProps): import("react").JSX.Element;
110
+ //#endregion
111
+ //#region src/components/mentions/use-mentions.d.ts
112
+ interface UseMentionsOptions {
113
+ /** The candidates offered once the trigger character is typed. */
114
+ items: MentionEntry[];
115
+ /** The character that summons the candidates. */
116
+ trigger?: string;
117
+ }
118
+ interface UseMentionsHandlers {
119
+ /** The text the field holds right now — read at keystroke time, never
120
+ * from a controlled prop that lags a render behind the caret. */
121
+ getText: () => string;
122
+ /** Writes the field's next text: a mention inserted at the token. */
123
+ setText: (value: string) => void;
124
+ }
125
+ /** Whatever carries a key press — a native KeyboardEvent or a React
126
+ * synthetic one; the detector only needs the key's name and the power
127
+ * to hold the key back. */
128
+ interface MentionKeyEvent {
129
+ key: string;
130
+ preventDefault: () => void;
131
+ }
132
+ /** The @-detection machinery behind a mention field: watch the caret,
133
+ * offer the matching candidates, and answer for the keys that drive
134
+ * them. The field element arrives as a getter because hosts wrap it
135
+ * differently (a bare textarea, a field part's ref).
136
+ *
137
+ * `onKeydown` answers whether the vessel consumed the key, so a host
138
+ * with its own Enter semantics — a composer that sends — can yield to
139
+ * the candidates first and act only when the vessel stands down. */
140
+ export declare function useMentions(options: UseMentionsOptions | (() => UseMentionsOptions), textarea: () => HTMLTextAreaElement | null, handlers: UseMentionsHandlers): {
141
+ open: boolean;
142
+ matches: MentionEntry[];
143
+ active: number;
144
+ setActive: import("react").Dispatch<import("react").SetStateAction<number>>;
145
+ insert: (entry: MentionEntry) => void;
146
+ close: () => void;
147
+ onInput: () => void;
148
+ onKeydown: (event: MentionKeyEvent) => boolean;
149
+ };
150
+ //#endregion
151
+ //#region src/components/mentions/index.d.ts
152
+ export interface MentionEntry {
153
+ label: string;
154
+ value: string;
155
+ }
156
+ export interface MentionsVesselProps {
157
+ /** Whether the candidates are up. */
158
+ open?: boolean;
159
+ /** The candidates on offer. */
160
+ matches?: MentionEntry[];
161
+ /** The keyboard's active row. */
162
+ active?: number;
163
+ /** The rectangle the vessel points at — the host's textarea. */
164
+ anchor?: HTMLTextAreaElement | null;
165
+ /** A candidate was chosen. */
166
+ onInsert?: (entry: MentionEntry) => void;
167
+ /** The pointer moved to a row. */
168
+ onActiveChange?: (index: number) => void;
169
+ /** The vessel was dismissed. */
170
+ onOpenChange?: (open: boolean) => void;
171
+ }
172
+ /** The vessel: the candidates themselves as a floating card. The anchor
173
+ * is virtual — a live rectangle off the host's field — so a host keeps
174
+ * its own anatomy (the textarea rides where the host puts it) and the
175
+ * vessel still points at the right place. Shares the detection state
176
+ * with the host through `useMentions`. */
177
+ export declare function MentionsVessel({ open, matches, active, anchor, onInsert, onActiveChange, onOpenChange }: MentionsVesselProps): import("react").JSX.Element;
178
+ /**
179
+ * @-mentions: a plain textarea that, when the text before the caret ends
180
+ * with the trigger character followed by a token, offers the matching
181
+ * candidates in a small anchored vessel; choosing one replaces the token
182
+ * with `trigger + label` and hands the whole text back through
183
+ * `onValueChange`. Arrows move, Enter inserts, Escape dismisses.
184
+ *
185
+ * The field is the shared `Field.Textarea` — field wiring (label ids,
186
+ * the invalid state, autoresize) rides on it for free — and the vessel
187
+ * anchors to the field as a whole (popover machinery), not to the caret
188
+ * coordinates; caret-precise positioning would need a second
189
+ * positioning system for no practical gain at typical field sizes.
190
+ * Composers that keep their own field anatomy (the AI prompt input)
191
+ * skip this shell and wire `useMentions` plus `MentionsVessel`
192
+ * themselves.
193
+ */
194
+ export interface MentionsProps extends HTMLAttributes<HTMLDivElement> {
195
+ /** The candidates offered once the trigger character is typed. */
196
+ items?: MentionEntry[];
197
+ /** The text held by the field. Supply it to control the field;
198
+ * changes are reported via `onValueChange`. */
199
+ value?: string;
200
+ /** The character that summons the candidates. */
201
+ trigger?: string;
202
+ placeholder?: string;
203
+ /** Let the field grow with its text instead of holding `rows`. */
204
+ autoresize?: boolean;
205
+ /** Standing alone, the field styles itself from this flag; inside a
206
+ * `Field.Root` the field's own invalid state takes over. */
207
+ invalid?: boolean;
208
+ /** Reports the field's next text. */
209
+ onValueChange?: (value: string) => void;
210
+ }
211
+ export declare function Mentions({ items, value, trigger, placeholder, autoresize, invalid, onValueChange, children, ...rest }: MentionsProps): import("react").JSX.Element;
212
+ //#endregion
213
+ //#region src/components/ai-prompt-input/index.d.ts
214
+ /**
215
+ * The prompt vessel: the shared field textarea — self-growing on the
216
+ * machine's autoresize — with the submit seal riding its last line.
217
+ * Around the body, props answer the composer's anatomy: `header` for
218
+ * attachments riding above, `leading` for the tools at the text's
219
+ * left, `trailing` for the seal itself, `footer` for the tools beneath,
220
+ * and `footerEnd` for the controls that close the footer row — the
221
+ * seal falls there by default, so a model picker dropped in rides the
222
+ * send's shoulder. Controlled — bind `value` and take the text on
223
+ * `submit`. Enter sends; Shift+Enter breaks the line. While `busy`
224
+ * the seal becomes a stop seal and Enter holds its breath.
225
+ */
226
+ export interface PromptInputProps extends Omit<HTMLAttributes<HTMLFormElement>, "onSubmit"> {
227
+ /** The draft in the vessel — bind `value`; it clears itself on a
228
+ * successful submit. */
229
+ value: string;
230
+ onValueChange?: (value: string) => void;
231
+ onSubmit?: (value: string) => void;
232
+ onStop?: () => void;
233
+ /** The quiet invitation before the reader types. */
234
+ placeholder?: string;
235
+ /** Still the words on the canvas, but the submit seal does nothing
236
+ * and Enter stays a line break. */
237
+ disabled?: boolean;
238
+ /** The machine is working — the seal becomes a stop seal and Enter
239
+ * holds its breath. */
240
+ busy?: boolean;
241
+ /** Mention candidates for the field: pass the roster and the summon
242
+ * character (`@` unless told otherwise) and the vessel rides the
243
+ * textarea. While candidates are up, Enter inserts and the send
244
+ * waits. */
245
+ mentions?: {
246
+ items: MentionEntry[];
247
+ trigger?: string;
248
+ };
249
+ header?: ReactNode;
250
+ leading?: ReactNode;
251
+ trailing?: ReactNode;
252
+ footer?: ReactNode;
253
+ footerEnd?: ReactNode;
254
+ }
255
+ export declare function PromptInput({ value, onValueChange, onSubmit, onStop, placeholder, disabled, busy, mentions, header, leading, trailing, footer, footerEnd, ...rest }: PromptInputProps): import("react").JSX.Element;
256
+ //#endregion
257
+ //#region src/components/ai-reasoning/index.d.ts
258
+ /** The model's thought, folded by the shared collapsible in its quiet
259
+ * register: bare ink for a trigger, the thought on one hairline. */
260
+ export interface ReasoningProps extends HTMLAttributes<HTMLDivElement> {
261
+ /** The trigger's words — the fold arrives open under them. */
262
+ label?: string;
263
+ defaultOpen?: boolean;
264
+ children?: ReactNode;
265
+ }
266
+ export declare function Reasoning({ label, children, ...rest }: ReasoningProps): import("react").JSX.Element;
267
+ //#endregion
268
+ //#region src/components/ai-response/index.d.ts
269
+ /** Markdown set on the paper. Rendering goes through
270
+ * `@tanstack/markdown`, whose defaults leave raw HTML and executable
271
+ * links inert — streaming-safe by construction. An optional
272
+ * highlighter re-inks fenced code; the component stays agnostic about
273
+ * which engine provides it. */
274
+ export interface ResponseProps extends HTMLAttributes<HTMLDivElement> {
275
+ /** The markdown text to set on the paper — streamed in freely; raw
276
+ * HTML and executable links stay inert. */
277
+ content: string;
278
+ /** Optional code-highlighting function re-inking fenced blocks; the
279
+ * component stays agnostic about which engine provides it. */
280
+ highlighter?: (code: string, lang?: string) => string;
281
+ /** The copy stamp's accessible name before the copy lands. */
282
+ copyLabel?: string;
283
+ /** The copy stamp's accessible name once the text has landed. */
284
+ copiedLabel?: string;
285
+ }
286
+ declare function Response$1({ content, highlighter, copyLabel, copiedLabel, ...rest }: ResponseProps): import("react").JSX.Element;
287
+ //#endregion
288
+ //#region src/components/ai-source/index.d.ts
289
+ /** One place the ink came from; href and the rest ride the anchor. */
290
+ export interface SourceProps extends HTMLAttributes<HTMLAnchorElement> {
291
+ /** Where the ink came from — also the link text when no children are
292
+ * given; opens in a new tab, referrer-free. */
293
+ href: string;
294
+ children?: ReactNode;
295
+ }
296
+ export declare function Source({ href, children, ...rest }: SourceProps): import("react").JSX.Element;
297
+ /** The reading list under a response: where this ink came from. */
298
+ export interface SourcesProps extends HTMLAttributes<HTMLOListElement> {
299
+ children?: ReactNode;
300
+ }
301
+ export declare function Sources({ children, ...rest }: SourcesProps): import("react").JSX.Element;
302
+ //#endregion
303
+ //#region src/components/ai-suggestion/index.d.ts
304
+ /** A seal-cut button proposing the next stroke; selection hands back
305
+ * the prompt. The shared Button in its outline register. */
306
+ export interface SuggestionProps extends Omit<HTMLAttributes<HTMLButtonElement>, "onSelect"> {
307
+ /** The next stroke this seal proposes — also its label; handed back
308
+ * whole on `onSelect`. */
309
+ prompt: string;
310
+ onSelect?: (prompt: string) => void;
311
+ }
312
+ export declare function Suggestion({ prompt, onSelect, ...rest }: SuggestionProps): import("react").JSX.Element;
313
+ //#endregion
314
+ //#region src/components/ai-tool/index.d.ts
315
+ export type ToolStatus = "pending" | "running" | "completed" | "error";
316
+ /** A tool call: the shared collapsible as the vessel — the name it was
317
+ * reached by and the state it reached in on the trigger, its input and
318
+ * output folded inside. */
319
+ export interface ToolProps extends HTMLAttributes<HTMLDivElement> {
320
+ /** The name the tool was reached by — shown raw on the trigger
321
+ * unless a `label` speaks friendlier words ("Searching pages…"). */
322
+ name: string;
323
+ label?: ReactNode;
324
+ /** The state the call reached — pending, running, completed, or
325
+ * error; stamped on the fold and whispered in the status chip. */
326
+ status?: ToolStatus;
327
+ defaultOpen?: boolean;
328
+ input?: ReactNode;
329
+ output?: ReactNode;
330
+ }
331
+ export declare function Tool({ name, label, status, input, output, ...rest }: ToolProps): import("react").JSX.Element;
332
+ //#endregion
333
+ //#region ../../node_modules/.pnpm/@ai-sdk+provider@4.0.17/node_modules/@ai-sdk/provider/dist/index.d.ts
67
334
  /**
68
335
  * Audio format configuration shared by provider V4 model specifications.
69
336
  */
@@ -143,7 +410,7 @@ type SharedV4Headers = Record<string, string>;
143
410
  * A JSON value can be a string, number, boolean, object, array, or null.
144
411
  * JSON values can be serialized and deserialized by the JSON.stringify and JSON.parse methods.
145
412
  */
146
- type JSONValue = null | string | number | boolean | JSONObject | JSONArray;
413
+ type JSONValue = null | string | number | boolean | Readonly<JSONObject> | readonly JSONValue[];
147
414
  type JSONObject = {
148
415
  [key: string]: JSONValue | undefined;
149
416
  };
@@ -7584,7 +7851,7 @@ interface ToJSONSchemaContext {
7584
7851
  } | undefined;
7585
7852
  }
7586
7853
  declare namespace util_d_exports {
7587
- export { AnyFunc, AssertEqual$1 as AssertEqual, AssertExtends, AssertNotEqual, BIGINT_FORMAT_RANGES, BuiltIn, CONSTANT_CATCH, Class, CleanKey, Constructor, EmptyObject, EmptyToNever, EnumLike, EnumValue, Exactly, Extend, ExtractIndexSignature, Flatten, FromCleanMap, HasLength, HasSize, HashAlgorithm, HashEncoding, HashFormat, IPVersion, Identity, InexactPartial, IsAny$1 as IsAny, IsProp, JSONType, JWTAlgorithm, KeyOf, Keys, KeysArray, KeysEnum, Literal, LiteralArray, LoosePartial, MakePartial, MakeReadonly, MakeRequired, Mapped, Mask, MaybeAsync, MimeTypes, NUMBER_FORMAT_RANGES, NoNever, NoNeverKeys, NoUndefined, Normalize$1 as Normalize, Numeric, Omit$1 as Omit, OmitIndexSignature, OmitKeys, ParsedTypes, Prettify, Primitive, PrimitiveArray, PrimitiveSet, PropValues, ProtoOf, SafeParseError, SafeParseResult, SafeParseSuccess, SchemaClass, ShapeGetter, SomeObject, ToCleanMap, ToEnum, TupleItems, Whatever, Widen, Writeable, aborted, allowsEval, assert, assertEqual, assertIs, assertNever, assertNotEqual, assignProp, attachSchema, base64ToUint8Array, base64urlToUint8Array, cached, captureStackTrace, cleanEnum, cleanRegex, clone, cloneDef, codePointLength, constantCatch, createTransparentProxy, defineLazy, defineLazyInternal, derived, esc, escapeRegex, explicitlyAborted, extend, finalizeIssue, floatSafeRemainder, getElementAtPath, getEnumValues, getLengthableOrigin, getParsedType, getSizableOrigin, hexToUint8Array, hide, installLazyProp, isObject, isPlainObject, issue, joinValues, jsonStringifyReplacer, members, merge, mergeDefs, normalizeParams, nullish, numKeys, objectClone, omit, optionalKeys$1 as optionalKeys, own, parsedType, partial, pick, prefixIssues, primitiveTypes, promiseAllObject, propertyKeyTypes, randomString, rawShape, required, safeExtend, shallowClone, slugify, stringifyPrimitive, toZod, uint8ArrayToBase64, uint8ArrayToBase64url, uint8ArrayToHex, unwrapMessage };
7854
+ export { AnyFunc, AssertEqual$1 as AssertEqual, AssertExtends, AssertNotEqual, BIGINT_FORMAT_RANGES, BuiltIn, CONSTANT_CATCH, Class, CleanKey, Constructor, EmptyObject, EmptyToNever, EnumLike, EnumValue, Exactly, Extend, ExtractIndexSignature, Flatten, FromCleanMap, HasLength, HasSize, HashAlgorithm, HashEncoding, HashFormat, IPVersion, Identity, InexactPartial, IsAny$1 as IsAny, IsProp, JSONType, JWTAlgorithm, KeyOf, Keys, KeysArray, KeysEnum, Literal, LiteralArray, LoosePartial, MakePartial, MakeReadonly, MakeRequired, Mapped, Mask, MaybeAsync, MimeTypes, NUMBER_FORMAT_RANGES, NoNever, NoNeverKeys, NoUndefined, Normalize$1 as Normalize, Numeric, Omit$1 as Omit, OmitIndexSignature, OmitKeys, ParsedTypes, Prettify, Primitive, PrimitiveArray, PrimitiveSet, PropValues, ProtoOf, SafeParseError, SafeParseResult, SafeParseSuccess, SchemaClass, ShapeGetter, SomeObject, ToCleanMap, ToEnum, TupleItems, Whatever, Widen, Writeable, aborted, allowsEval, assert, assertEqual, assertIs, assertNever, assertNotEqual, assignProp, attachSchema, base64ToUint8Array, base64urlToUint8Array, cached, captureStackTrace, cleanEnum, cleanRegex, clone, cloneDef, codePointLength, constantCatch, createTransparentProxy, defineLazy, defineLazyInternal, derived, esc, escapeRegex, explicitlyAborted, extend, finalizeIssue, floatSafeRemainder, getElementAtPath, getEnumValues, getLengthableOrigin, getParsedType, getSizableOrigin, hexToUint8Array, hide, installLazyProp, isObject, isPlainObject, issue, joinValues, jsonStringifyReplacer, members, merge, mergeDefs, normalizeParams, nullish, numKeys, objectClone, omit, optionalKeys$1 as optionalKeys, own, parsedType, partial, pick, prefixIssues, primitiveTypes, promiseAllObject, propertyKeyTypes, randomString, rawShape, required$1 as required, safeExtend, shallowClone, slugify, stringifyPrimitive, toZod, uint8ArrayToBase64, uint8ArrayToBase64url, uint8ArrayToHex, unwrapMessage };
7588
7855
  }
7589
7856
  type JSONType = string | number | boolean | null | JSONType[] | {
7590
7857
  [key: string]: JSONType;
@@ -7755,7 +8022,7 @@ declare function extend(schema: $ZodObject, shape: $ZodShape): any;
7755
8022
  declare function safeExtend(schema: $ZodObject, shape: $ZodShape): any;
7756
8023
  declare function merge(a: $ZodObject, b: $ZodObject): any;
7757
8024
  declare function partial(Class: SchemaClass<$ZodOptional> | null, schema: $ZodObject, mask: object | undefined, name?: string): any;
7758
- declare function required(Class: SchemaClass<$ZodNonOptional>, schema: $ZodObject, mask: object | undefined): any;
8025
+ declare function required$1(Class: SchemaClass<$ZodNonOptional>, schema: $ZodObject, mask: object | undefined): any;
7759
8026
  type Constructor<T, Def extends any[] = any[]> = new (...args: Def) => T;
7760
8027
  declare function aborted(x: ParsePayload, startIndex?: number): boolean;
7761
8028
  declare function explicitlyAborted(x: ParsePayload, startIndex?: number): boolean;
@@ -9590,7 +9857,7 @@ interface $ZodConfig {
9590
9857
  declare const globalConfig: $ZodConfig;
9591
9858
  declare function config(newConfig?: Partial<$ZodConfig>): $ZodConfig;
9592
9859
  //#endregion
9593
- //#region ../../node_modules/.pnpm/@ai-sdk+provider-utils@5.0.40_zod@4.6.5/node_modules/@ai-sdk/provider-utils/dist/index.d.ts
9860
+ //#region ../../node_modules/.pnpm/@ai-sdk+provider-utils@5.0.45_zod@4.6.5/node_modules/@ai-sdk/provider-utils/dist/index.d.ts
9594
9861
  /**
9595
9862
  * A value that can be provided either as a single item, an array of items,
9596
9863
  * or be left undefined.
@@ -10137,13 +10404,13 @@ type Schema<OBJECT = unknown> = {
10137
10404
  };
10138
10405
  type LazySchema<SCHEMA> = () => Schema<SCHEMA>;
10139
10406
  type ZodSchema<SCHEMA = any> = ZodType<SCHEMA, ZodTypeDef, any> | $ZodType<SCHEMA, any>;
10140
- type StandardSchema<SCHEMA = any> = StandardSchemaV1$2<unknown, SCHEMA> & {
10407
+ type StandardSchema$1<SCHEMA = any> = StandardSchemaV1$2<unknown, SCHEMA> & {
10141
10408
  readonly '~standard': StandardSchemaV1$2.Props<unknown, SCHEMA> & {
10142
10409
  readonly jsonSchema?: StandardJSONSchemaV1.Converter;
10143
10410
  };
10144
10411
  };
10145
- type FlexibleSchema<SCHEMA = any> = Schema<SCHEMA> | LazySchema<SCHEMA> | ZodSchema<SCHEMA> | StandardSchema<SCHEMA>;
10146
- type InferSchema<SCHEMA> = SCHEMA extends ZodSchema<infer T> ? T : SCHEMA extends StandardSchema<infer T> ? T : SCHEMA extends LazySchema<infer T> ? T : SCHEMA extends Schema<infer T> ? T : never;
10412
+ type FlexibleSchema<SCHEMA = any> = Schema<SCHEMA> | LazySchema<SCHEMA> | ZodSchema<SCHEMA> | StandardSchema$1<SCHEMA>;
10413
+ type InferSchema<SCHEMA> = SCHEMA extends ZodSchema<infer T> ? T : SCHEMA extends StandardSchema$1<infer T> ? T : SCHEMA extends LazySchema<infer T> ? T : SCHEMA extends Schema<infer T> ? T : never;
10147
10414
  /**
10148
10415
  * A context object that is passed into tool execution.
10149
10416
  */
@@ -10551,6 +10818,13 @@ type ToolOutputProperties<INPUT, OUTPUT, CONTEXT extends Context | unknown | nev
10551
10818
  * Common properties shared by all tool kinds.
10552
10819
  */
10553
10820
  type BaseTool<INPUT extends JSONValue | unknown | never = any, OUTPUT extends JSONValue | unknown | never = any, CONTEXT extends Context | unknown | never = any> = {
10821
+ /**
10822
+ * Defer exposing this tool until it is discovered by `toolSearch`.
10823
+ * Supports direct calls and local callers that announce tools in conversation
10824
+ * messages (code mode with `toolDiscovery: 'conversation'`). Discovered tools
10825
+ * become available on the next model step.
10826
+ */
10827
+ deferLoading?: boolean;
10554
10828
  /**
10555
10829
  * An optional title of the tool.
10556
10830
  *
@@ -10807,7 +11081,7 @@ type Normalize<OBJECT> = { [KEY in keyof OBJECT]: OBJECT[KEY]; };
10807
11081
  */
10808
11082
  type InferToolSetContext<TOOLS extends ToolSet> = Normalize<RequiredToolSetContext<TOOLS> & OptionalToolSetContext<TOOLS>>;
10809
11083
  //#endregion
10810
- //#region ../../node_modules/.pnpm/ai@7.0.99_zod@4.6.5/node_modules/ai/dist/index.d.ts
11084
+ //#region ../../node_modules/.pnpm/ai@7.0.107_zod@4.6.5/node_modules/ai/dist/index.d.ts
10811
11085
  /**
10812
11086
  * Embedding.
10813
11087
  */
@@ -12296,6 +12570,10 @@ type UIToolInvocation<TOOL extends UITool | Tool$1> = {
12296
12570
  } | {
12297
12571
  state: 'output-error';
12298
12572
  input: asUITool<TOOL>['input'] | undefined;
12573
+ /**
12574
+ * @deprecated Use `input` instead. This field will be removed in the next
12575
+ * major version.
12576
+ */
12299
12577
  rawInput?: unknown;
12300
12578
  output?: never;
12301
12579
  errorText: string;
@@ -13167,6 +13445,7 @@ declare global {
13167
13445
  * String model ids are resolved to the default provider and model id.
13168
13446
  *
13169
13447
  * If not set, the default provider is the Vercel AI gateway provider.
13448
+ * Experimental evaluation requires an explicitly configured evaluation-capable provider.
13170
13449
  *
13171
13450
  * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
13172
13451
  */
@@ -13192,76 +13471,8 @@ declare global {
13192
13471
  }
13193
13472
  //#endregion
13194
13473
  //#region src/components/ai/index.d.ts
13195
- export type ToolStatus = "pending" | "running" | "completed" | "error";
13196
- /** Whose stroke this is — the user's words sit in a recessed bubble,
13197
- * the assistant speaks flat on the paper. */
13198
- export interface MessageProps extends HTMLAttributes<HTMLElement> {
13199
- role?: "user" | "assistant" | "system";
13200
- children?: ReactNode;
13201
- }
13202
- export declare function Message({ role, children, ...rest }: MessageProps): import("react").JSX.Element;
13203
- /** Markdown set on the paper. Rendering goes through
13204
- * `@tanstack/markdown`, whose defaults leave raw HTML and executable
13205
- * links inert — streaming-safe by construction. */
13206
- export interface ResponseProps extends HTMLAttributes<HTMLDivElement> {
13207
- content: string;
13208
- }
13209
- declare function Response$1({ content, ...rest }: ResponseProps): import("react").JSX.Element;
13210
- /** The model's thought, folded by the shared collapsible in its quiet
13211
- * register: bare ink for a trigger, the thought on one hairline. */
13212
- export interface ReasoningProps extends HTMLAttributes<HTMLDivElement> {
13213
- label?: string;
13214
- defaultOpen?: boolean;
13215
- children?: ReactNode;
13216
- }
13217
- export declare function Reasoning({ label, children, ...rest }: ReasoningProps): import("react").JSX.Element;
13218
- /** A tool call: the shared collapsible as the vessel — the name it was
13219
- * reached by and the state it reached in on the trigger, its input and
13220
- * output folded inside. */
13221
- export interface ToolProps extends HTMLAttributes<HTMLDivElement> {
13222
- name: string;
13223
- /** Friendlier trigger words than the raw tool name (a `label` slot
13224
- * in the Vue/Svelte wrappers). */
13225
- label?: ReactNode;
13226
- status?: ToolStatus;
13227
- defaultOpen?: boolean;
13228
- input?: ReactNode;
13229
- output?: ReactNode;
13230
- }
13231
- export declare function Tool({ name, label, status, input, output, ...rest }: ToolProps): import("react").JSX.Element;
13232
- /** One place the ink came from; href and the rest ride the anchor. */
13233
- export interface SourceProps extends HTMLAttributes<HTMLAnchorElement> {
13234
- href: string;
13235
- children?: ReactNode;
13236
- }
13237
- export declare function Source({ href, children, ...rest }: SourceProps): import("react").JSX.Element;
13238
- /** A quiet icon button — copy, retry, thumbs. The label names it to
13239
- * assistive tech and as the hover title. The control itself is the
13240
- * shared Button in its ghost register. */
13241
- export interface ActionProps extends HTMLAttributes<HTMLButtonElement> {
13242
- label: string;
13243
- children?: ReactNode;
13244
- }
13245
- export declare function Action({ label, children, ...rest }: ActionProps): import("react").JSX.Element;
13246
- /** A seal-cut button proposing the next stroke; selection hands back
13247
- * the prompt. The shared Button in its outline register. */
13248
- export interface SuggestionProps extends Omit<HTMLAttributes<HTMLButtonElement>, "onSelect"> {
13249
- prompt: string;
13250
- onSelect?: (prompt: string) => void;
13251
- }
13252
- export declare function Suggestion({ prompt, onSelect, ...rest }: SuggestionProps): import("react").JSX.Element;
13253
- /** The prompt vessel: the shared field textarea — self-growing on the
13254
- * machine's autoresize — over a footer row carrying the submit seal.
13255
- * Controlled — bind `value` and take the text on `submit`. Enter
13256
- * sends; Shift+Enter breaks the line. */
13257
- export interface PromptInputProps extends Omit<HTMLAttributes<HTMLFormElement>, "onSubmit"> {
13258
- value: string;
13259
- onValueChange?: (value: string) => void;
13260
- onSubmit?: (value: string) => void;
13261
- placeholder?: string;
13262
- disabled?: boolean;
13263
- }
13264
- export declare function PromptInput({ value, onValueChange, onSubmit, placeholder, disabled, ...rest }: PromptInputProps): import("react").JSX.Element;
13474
+ /** The whole family under one handle — `Ai.Conversation`,
13475
+ * `Ai.Message`, and the rest, exactly as before the split. */
13265
13476
  export declare const Ai: {
13266
13477
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13267
13478
  displayName: string;
@@ -13270,32 +13481,46 @@ export declare const Ai: {
13270
13481
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13271
13482
  displayName: string;
13272
13483
  };
13273
- Message: typeof Message;
13274
13484
  MessageContent: {
13275
13485
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13276
13486
  displayName: string;
13277
13487
  };
13278
- Response: typeof Response$1;
13279
- Reasoning: typeof Reasoning;
13280
- Tool: typeof Tool;
13281
- Sources: {
13488
+ Actions: {
13282
13489
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13283
13490
  displayName: string;
13284
13491
  };
13285
- Source: typeof Source;
13286
- Actions: {
13492
+ Loader: {
13287
13493
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13288
13494
  displayName: string;
13289
13495
  };
13496
+ Message: typeof Message;
13497
+ Response: typeof Response$1;
13498
+ Reasoning: typeof Reasoning;
13499
+ Tool: typeof Tool;
13500
+ Sources: typeof Sources;
13501
+ Source: typeof Source;
13290
13502
  Action: typeof Action;
13291
13503
  Suggestion: typeof Suggestion;
13292
13504
  PromptInput: typeof PromptInput;
13293
- Loader: {
13294
- ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13295
- displayName: string;
13296
- };
13297
13505
  };
13298
13506
  //#endregion
13507
+ //#region src/components/ai-attachments/index.d.ts
13508
+ /** One file riding the prompt: its glyph by extension, its name and
13509
+ * human size, and a quiet way to take it back off. Uploading reads as
13510
+ * a dashed ghost, error as danger ink. */
13511
+ export interface AttachmentProps extends HTMLAttributes<HTMLSpanElement> {
13512
+ /** The file's name — it picks the glyph by extension. */
13513
+ name: string;
13514
+ /** The file's size in bytes, when known — rendered human. */
13515
+ size?: number;
13516
+ /** The upload's state on the wire. */
13517
+ status?: "uploading" | "ready" | "error";
13518
+ onRemove?: () => void;
13519
+ }
13520
+ export declare function Attachment({ name, size, status, onRemove, ...rest }: AttachmentProps): import("react").JSX.Element;
13521
+ /** The row the files ride in — a wrapping line of chips. */
13522
+ export declare function Attachments({ children, ...rest }: HTMLAttributes<HTMLSpanElement>): import("react").JSX.Element;
13523
+ //#endregion
13299
13524
  //#region src/components/alert/index.d.ts
13300
13525
  export type AlertStatus = "ink" | "info" | "success" | "warning" | "danger";
13301
13526
  /** A notice drawn on the page: a wash of the status pigment, one heavier
@@ -13306,13 +13531,13 @@ export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
13306
13531
  children?: ReactNode;
13307
13532
  }
13308
13533
  declare function AlertRoot({ status, children, ...rest }: AlertProps): import("react").JSX.Element;
13309
- declare function Icon(): import("react").JSX.Element;
13534
+ declare function Icon$1(): import("react").JSX.Element;
13310
13535
  declare function Body({ children, ...rest }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
13311
13536
  declare function Title({ children, ...rest }: HTMLAttributes<HTMLParagraphElement>): import("react").JSX.Element;
13312
13537
  declare function Description({ children, ...rest }: HTMLAttributes<HTMLParagraphElement>): import("react").JSX.Element;
13313
13538
  export declare const Alert: typeof AlertRoot & {
13314
13539
  Root: typeof AlertRoot;
13315
- Icon: typeof Icon;
13540
+ Icon: typeof Icon$1;
13316
13541
  Body: typeof Body;
13317
13542
  Title: typeof Title;
13318
13543
  Description: typeof Description;
@@ -13325,11 +13550,50 @@ export declare const Alert: typeof AlertRoot & {
13325
13550
  * Marker, HiddenInput. */
13326
13551
  export declare const AngleSlider: typeof AngleSlider$1;
13327
13552
  //#endregion
13553
+ //#region src/components/aspect-ratio/index.d.ts
13554
+ /** A frame that keeps its shape: the box holds the given ratio whatever
13555
+ * the width it is dealt, and the child fills the frame it is given. */
13556
+ export interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
13557
+ /** A CSS `aspect-ratio` value — "16 / 9", "4 / 3", "1 / 1". */
13558
+ ratio?: string;
13559
+ }
13560
+ export declare function AspectRatio({ ratio, ...rest }: AspectRatioProps): import("react").JSX.Element;
13561
+ //#endregion
13562
+ //#region src/components/autocomplete/index.d.ts
13563
+ /**
13564
+ * Free text with suggestions: the reader types anything, the list
13565
+ * narrows to help, and both a pick and a custom value end up in the
13566
+ * same `value`. A preset of the combobox machinery — same parts, same
13567
+ * styling, one job. `items` seeds the suggestion list once; matching is
13568
+ * a case-insensitive substring unless `filter` says otherwise.
13569
+ */
13570
+ export interface AutoCompleteProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onSelect"> {
13571
+ value?: string;
13572
+ items?: string[];
13573
+ placeholder?: string;
13574
+ /** Field text to match against; defaults to the item itself. */
13575
+ filter?: (item: string, input: string) => boolean;
13576
+ onValueChange?: (value: string) => void;
13577
+ }
13578
+ export declare function AutoComplete({ value, items, placeholder, filter, onValueChange, ...rest }: AutoCompleteProps): import("react").JSX.Element;
13579
+ //#endregion
13328
13580
  //#region src/components/avatar/index.d.ts
13329
- /** Ark's Avatar, dressed in the paper-and-ink system: a circular seal on
13330
- * inset paper that holds initials until the image loads over them. The
13331
- * API is Ark's own — Root, Image, Fallback. */
13332
- export declare const Avatar: typeof Avatar$1;
13581
+ /** Avatar, dressed in the paper-and-ink system: a circular seal on
13582
+ * inset paper that holds initials until the image loads over them.
13583
+ * `size` picks a control-height rung for the seal — the core styles
13584
+ * re-point `--bs-avatar-size` per rung, and scenes can still retune the
13585
+ * variable directly. */
13586
+ export type AvatarSize = "sm" | "md" | "lg";
13587
+ export interface AvatarProps extends ComponentProps<typeof Avatar$1.Root> {
13588
+ /** Seal diameter: the small, medium, or large control rung. The
13589
+ * default (large) stands as tall as the biggest control so an avatar
13590
+ * rides a row without stretching it. */
13591
+ size?: AvatarSize;
13592
+ }
13593
+ declare function AvatarRoot({ size, ...rest }: AvatarProps): import("react").JSX.Element;
13594
+ export declare const Avatar: typeof Avatar$1 & {
13595
+ Root: typeof AvatarRoot;
13596
+ };
13333
13597
  //#endregion
13334
13598
  //#region src/components/avatar-group/index.d.ts
13335
13599
  /** Avatars overlapping one row, each rimmed in the ground so the pile
@@ -13337,6 +13601,34 @@ export declare const Avatar: typeof Avatar$1;
13337
13601
  export type AvatarGroupProps = HTMLAttributes<HTMLDivElement>;
13338
13602
  export declare function AvatarGroup({ children, ...rest }: AvatarGroupProps): import("react").JSX.Element;
13339
13603
  //#endregion
13604
+ //#region src/components/back-top/index.d.ts
13605
+ export interface BackTopProps extends HTMLAttributes<HTMLButtonElement> {
13606
+ /** How far the reader must have travelled (px) before the affordance
13607
+ * appears. */
13608
+ threshold?: number;
13609
+ /** The accessible name; the control is icon-only by default. */
13610
+ label?: string;
13611
+ /** Ride a scrolling element of your own instead of the page: the
13612
+ * control moors inside that element's corner and watches its
13613
+ * scrollTop. The host supplies the positioning context. */
13614
+ scrollEl?: () => HTMLElement | null;
13615
+ }
13616
+ /**
13617
+ * A way home: after the page has scrolled past `threshold`, a small
13618
+ * floating control rises at the page's corner and returns the reader to
13619
+ * the top. The scroll itself stays native — `window.scrollTo` defers to
13620
+ * the stylesheet's `scroll-behavior: smooth`, which reduced motion turns
13621
+ * back into an instant jump (a moored control asks the media query
13622
+ * directly, since a scroller of its own has no stylesheet to defer to).
13623
+ * The button stays mounted either way so the entrance is a transition,
13624
+ * never a pop.
13625
+ *
13626
+ * The control itself is the shared `Button` (outline, square) — the
13627
+ * paper, hairline and halo are its; this family owns only the floating
13628
+ * and the entrance.
13629
+ */
13630
+ export declare function BackTop({ threshold, label, scrollEl, ...rest }: BackTopProps): import("react").JSX.Element;
13631
+ //#endregion
13340
13632
  //#region src/components/badge/index.d.ts
13341
13633
  /** A small seal of state. Ink is the neutral tone; the four semantic
13342
13634
  * pigments are fixed. Subtle and outline re-register the same pigment. */
@@ -13395,6 +13687,29 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
13395
13687
  }
13396
13688
  export declare function Button({ variant, tone, size, square, asChild, disabled, type, children, ...rest }: ButtonProps): import("react").JSX.Element | null;
13397
13689
  //#endregion
13690
+ //#region src/components/button-group/index.d.ts
13691
+ export interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
13692
+ /** The seam runs across the group (default) or down it. */
13693
+ orientation?: "horizontal" | "vertical";
13694
+ /** One register for every member: falls onto data-size for the
13695
+ * stylesheet to retune the buttons' heights. */
13696
+ size?: "sm" | "md" | "lg";
13697
+ /** The members' corner register: retunes --bs-radius-control for the
13698
+ * whole fused shape — edges and trimmed seams keep one story. */
13699
+ radius?: "sm" | "md" | "lg" | "xl" | "2xl" | "full";
13700
+ children?: ReactNode;
13701
+ }
13702
+ /**
13703
+ * Buttons fused into one control: the group owns only the joinery, so
13704
+ * members keep every variant they were given — a solid action can sit
13705
+ * beside an outline one and the seam still reads. Selection belongs to
13706
+ * the toggle group; this is layout alone.
13707
+ */
13708
+ declare function Root$3({ orientation, size, radius, children, ...rest }: ButtonGroupProps): import("react").JSX.Element;
13709
+ export declare const ButtonGroup: typeof Root$3 & {
13710
+ Root: typeof Root$3;
13711
+ };
13712
+ //#endregion
13398
13713
  //#region src/components/banner/index.d.ts
13399
13714
  export type BannerStatus = "ink" | "info" | "success" | "warning" | "danger";
13400
13715
  export interface BannerRootProps extends HTMLAttributes<HTMLElement> {
@@ -13422,7 +13737,7 @@ export declare const Banner: (({ status, children, ...rest }: BannerRootProps) =
13422
13737
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13423
13738
  displayName: string;
13424
13739
  };
13425
- Close: ({ children, ...rest }: HTMLAttributes<HTMLButtonElement>) => import("react").JSX.Element;
13740
+ Close: (rest: ButtonHTMLAttributes<HTMLButtonElement>) => import("react").JSX.Element;
13426
13741
  };
13427
13742
  //#endregion
13428
13743
  //#region src/components/calendar/index.d.ts
@@ -13485,6 +13800,34 @@ declare const Card$1: {
13485
13800
  };
13486
13801
  };
13487
13802
  //#endregion
13803
+ //#region src/components/cascade-select/index.d.ts
13804
+ export interface CascadeSelectNode {
13805
+ label: string;
13806
+ value: string;
13807
+ children?: CascadeSelectNode[];
13808
+ disabled?: boolean;
13809
+ }
13810
+ /**
13811
+ * A corridor of linked columns: pick a branch and the next column
13812
+ * dissolves open beside it, until a leaf click settles the whole path.
13813
+ * `value` is the selected path (or paths, when `multiple`) — the joined
13814
+ * labels ride the trigger. `highlightTrigger: "hover"` turns the
13815
+ * classic cascading menu: pointing is enough to unfold. `filterable`
13816
+ * swaps the corridor for a flat list of matching paths while a query
13817
+ * runs — each hit still reads as its full route.
13818
+ */
13819
+ export interface CascadeSelectProps extends HTMLAttributes<HTMLDivElement> {
13820
+ value?: string[][];
13821
+ data: CascadeSelectNode[];
13822
+ placeholder?: string;
13823
+ highlightTrigger?: "click" | "hover";
13824
+ filterable?: boolean;
13825
+ multiple?: boolean;
13826
+ disabled?: boolean;
13827
+ onValueChange?: (value: string[][]) => void;
13828
+ }
13829
+ export declare function CascadeSelect({ value, data, placeholder, highlightTrigger, filterable, multiple, disabled, onValueChange, ...rest }: CascadeSelectProps): import("react").JSX.Element;
13830
+ //#endregion
13488
13831
  //#region src/components/carousel/index.d.ts
13489
13832
  /** Ark's Carousel, dressed in the paper-and-ink system: slides ride in one
13490
13833
  * hairline-clipped lane, the triggers are quiet outline controls, and the
@@ -13500,6 +13843,30 @@ export declare const Carousel: typeof Carousel$1;
13500
13843
  * HiddenInput. */
13501
13844
  export declare const Checkbox: typeof Checkbox$1;
13502
13845
  //#endregion
13846
+ //#region src/components/checkbox-group/index.d.ts
13847
+ export interface CheckboxOption {
13848
+ label: string;
13849
+ value: string;
13850
+ disabled?: boolean;
13851
+ }
13852
+ export interface CheckboxGroupProps extends HTMLAttributes<HTMLDivElement> {
13853
+ value?: string[];
13854
+ options: CheckboxOption[];
13855
+ layout?: "vertical" | "horizontal";
13856
+ invalid?: boolean;
13857
+ disabled?: boolean;
13858
+ onValueChange?: (value: string[]) => void;
13859
+ }
13860
+ /**
13861
+ * One question, many answers: a labelled stack (or row) of the seal-cut
13862
+ * checkboxes bound to a single array. Toggling a box adds or removes its
13863
+ * value; the group itself is semantics (`role="group"`), the boxes stay
13864
+ * the machine-driven originals. Inside a `Field.Root` the group picks up
13865
+ * the field context, so the invalid and disabled states a Form routes to
13866
+ * its name dress every box at once.
13867
+ */
13868
+ export declare function CheckboxGroup({ value, options, layout, invalid, disabled, onValueChange, ...rest }: CheckboxGroupProps): import("react").JSX.Element;
13869
+ //#endregion
13503
13870
  //#region src/components/chip/index.d.ts
13504
13871
  /** A counting coin: the numeric value, capped at `max` with an ellipsis
13505
13872
  * of the remainder ("99+"). */
@@ -13543,6 +13910,115 @@ export declare const ColorPicker: typeof ColorPicker$1;
13543
13910
  * Item, ItemText, ItemIndicator, ItemGroup, ItemGroupLabel. */
13544
13911
  export declare const Combobox: typeof Combobox$1;
13545
13912
  //#endregion
13913
+ //#region src/components/command/index.d.ts
13914
+ export interface CommandEntry {
13915
+ label: string;
13916
+ value: string;
13917
+ /** Entries sharing a group are listed under one heading. */
13918
+ group?: string;
13919
+ /** A short affordance note, set as a keycap at the row's end. */
13920
+ hint?: string;
13921
+ }
13922
+ /**
13923
+ * The command palette: a modal sheet at the top of the page carrying a
13924
+ * search field over the caller's commands, grouped as a ledger with a
13925
+ * keycap hint at each row. The shell is the dialog machinery — scrim,
13926
+ * focus trap, Escape — and the searching is the combobox machinery
13927
+ * driving our own list: the vessel and the list live inside the sheet,
13928
+ * so the combobox renders no separate popup and the machine's content
13929
+ * grafts onto the sheet's list.
13930
+ */
13931
+ export interface CommandProps {
13932
+ /** The commands on offer, grouped as they arrive. */
13933
+ items?: CommandEntry[];
13934
+ placeholder?: string;
13935
+ /** Whether the palette is up. Supply it to control the palette;
13936
+ * changes are reported via `onOpenChange`. */
13937
+ open?: boolean;
13938
+ /** Whether the shell narrows `items` as the reader types. Turn it off
13939
+ * when the caller owns the searching — a ranked engine or a remote
13940
+ * source — and hands down the already-narrowed list. */
13941
+ autoFilter?: boolean;
13942
+ /** The field's text under the caller's control; changes are reported
13943
+ * via `onInputValueChange`. */
13944
+ inputValue?: string;
13945
+ /** What the list whispers when nothing matches. */
13946
+ emptyText?: string;
13947
+ /** Called with the chosen entry's `value`; the palette closes after. */
13948
+ onSelect?: (value: string) => void;
13949
+ /** Reports the palette's next state. */
13950
+ onOpenChange?: (open: boolean) => void;
13951
+ /** Reports the field's live text. */
13952
+ onInputValueChange?: (value: string) => void;
13953
+ }
13954
+ export declare function Command({ items, placeholder, open, autoFilter, inputValue, emptyText, onSelect, onOpenChange, onInputValueChange }: CommandProps): import("react").JSX.Element;
13955
+ //#endregion
13956
+ //#region src/components/comment/index.d.ts
13957
+ /**
13958
+ * A voice on the record: the portrait hangs left (the `avatar` prop),
13959
+ * the body carries the byline from `author` and `datetime`, the ink is
13960
+ * the children, and `actions` is the row of answers.
13961
+ */
13962
+ export interface CommentProps extends HTMLAttributes<HTMLElement> {
13963
+ author?: string;
13964
+ datetime?: string;
13965
+ /** The portrait at the row's head. */
13966
+ avatar?: ReactNode;
13967
+ /** The row of answers beneath the ink. */
13968
+ actions?: ReactNode;
13969
+ }
13970
+ export declare function Comment({ author, datetime, avatar, actions, children, ...rest }: CommentProps): import("react").JSX.Element;
13971
+ //#endregion
13972
+ //#region src/components/config-provider/index.d.ts
13973
+ /** The four density tiers the token layer's `[data-density]` selectors
13974
+ * name — whitespace and control heights compress, readability never
13975
+ * does. */
13976
+ export type ConfigDensity = "compact" | "default" | "comfortable" | "spacious";
13977
+ /** The configuration a provider lays over its subtree. Every field is
13978
+ * optional: an absent field changes nothing, and the page's own
13979
+ * attributes keep ruling. */
13980
+ export interface ConfigContext {
13981
+ density?: ConfigDensity;
13982
+ /** A mineral pigment theme (qinghua, celadon, zhusha, …) landing as
13983
+ * `[data-accent]` on the host element. */
13984
+ accent?: string;
13985
+ /** Writing direction, landing as the native `dir` attribute. */
13986
+ dir?: "ltr" | "rtl";
13987
+ /** BCP-47 locale, landing as the native `lang` attribute. */
13988
+ locale?: string;
13989
+ }
13990
+ /** The nearest provider's snapshot, or an empty one when no provider
13991
+ * wraps the caller — the hook the date and format families will consume
13992
+ * to localize their output. */
13993
+ export declare function useConfig(): ConfigContext;
13994
+ export interface ConfigProviderProps extends HTMLAttributes<HTMLDivElement> {
13995
+ density?: ConfigDensity;
13996
+ accent?: string;
13997
+ dir?: "ltr" | "rtl";
13998
+ locale?: string;
13999
+ children?: ReactNode;
14000
+ }
14001
+ /**
14002
+ * The declarative host for global configuration: one element that both
14003
+ * carries the token layer's attributes — `[data-density]` and
14004
+ * `[data-accent]` fire on any element — and provides the same values to
14005
+ * descendants through `useConfig`, so interactive behavior (formatting,
14006
+ * messages) and visual theming stay one decision.
14007
+ */
14008
+ export declare function ConfigProvider({ density, accent, dir, locale, children, ...rest }: ConfigProviderProps): import("react").JSX.Element;
14009
+ //#endregion
14010
+ //#region src/components/container/index.d.ts
14011
+ /** The reading frame: content held to a measure and centered on the
14012
+ * page. The sizes name typographic measures, not breakpoints — the page
14013
+ * owns its edges, the container only owns how long a line of ink runs. */
14014
+ export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
14015
+ size?: "narrow" | "readable" | "wide" | "full";
14016
+ /** Keep the ink off the page edges when the viewport runs narrower
14017
+ * than the measure. */
14018
+ padding?: boolean;
14019
+ }
14020
+ export declare function Container({ size, padding, ...rest }: ContainerProps): import("react").JSX.Element;
14021
+ //#endregion
13546
14022
  //#region src/components/date-input/index.d.ts
13547
14023
  /** Ark's DateInput, dressed in the paper-and-ink system: a segmented
13548
14024
  * field where the focused segment takes the flat ink fill. The API is
@@ -13559,6 +14035,30 @@ export declare const DateInput: typeof DateInput$1;
13559
14035
  * NextTrigger, Table*, MonthSelect, YearSelect, PresetTrigger. */
13560
14036
  export declare const DatePicker: typeof DatePicker$1;
13561
14037
  //#endregion
14038
+ //#region src/components/descriptions/index.d.ts
14039
+ /** A ledger laid flat: term and detail pairs in one quiet grid. The
14040
+ * horizontal layout reads as a table of two columns; the vertical one
14041
+ * stacks each pair for narrow measures. */
14042
+ export interface DescriptionsRootProps extends HTMLAttributes<HTMLDListElement> {
14043
+ layout?: "horizontal" | "vertical";
14044
+ }
14045
+ export declare function DescriptionsRoot({ layout, children, ...rest }: DescriptionsRootProps): import("react").JSX.Element;
14046
+ export declare const Descriptions: {
14047
+ Root: typeof DescriptionsRoot;
14048
+ Item: {
14049
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14050
+ displayName: string;
14051
+ };
14052
+ Term: {
14053
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14054
+ displayName: string;
14055
+ };
14056
+ Detail: {
14057
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14058
+ displayName: string;
14059
+ };
14060
+ };
14061
+ //#endregion
13562
14062
  //#region src/components/dialog/index.d.ts
13563
14063
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
13564
14064
  * in on elevation, the backdrop fades, and nested overlays stack through
@@ -13574,6 +14074,31 @@ export declare const Dialog: typeof Dialog$1;
13574
14074
  * Description, CloseTrigger, SwipeArea. */
13575
14075
  export declare const Drawer: typeof Drawer$1;
13576
14076
  //#endregion
14077
+ //#region src/components/dynamic-input/index.d.ts
14078
+ export interface DynamicInputProps extends HTMLAttributes<HTMLDivElement> {
14079
+ /** The rows' values; the group renders one Input per entry. */
14080
+ value?: string[];
14081
+ /** The fewest rows the group keeps; the remove seals yield first. */
14082
+ min?: number;
14083
+ /** The most rows the group grows to; the add control yields then. */
14084
+ max?: number;
14085
+ placeholder?: string;
14086
+ /** The add control's visible words. */
14087
+ addLabel?: string;
14088
+ disabled?: boolean;
14089
+ invalid?: boolean;
14090
+ onValueChange?: (value: string[]) => void;
14091
+ }
14092
+ /**
14093
+ * A column of entry rows: one Input per line, each with a quiet remove
14094
+ * seal, and an add row at the tail. The list is controlled — every edit
14095
+ * reports a fresh array through `onValueChange` and the caller's array
14096
+ * stays the only truth. Deleting never drops below `min`, adding never
14097
+ * grows past `max`, and the group always keeps one row: an entry list
14098
+ * that emptied itself would leave the reader no place to type.
14099
+ */
14100
+ export declare function DynamicInput({ value, min, max, placeholder, addLabel, disabled, invalid, onValueChange, children: _children, ...rest }: DynamicInputProps): import("react").JSX.Element;
14101
+ //#endregion
13577
14102
  //#region src/components/editable/index.d.ts
13578
14103
  /** Ark's Editable, dressed in the paper-and-ink system: bare ink while
13579
14104
  * reading, the full field recipe while editing. The API is Ark's own —
@@ -13581,6 +14106,15 @@ export declare const Drawer: typeof Drawer$1;
13581
14106
  * CancelTrigger, Control. */
13582
14107
  export declare const Editable: typeof Editable$1;
13583
14108
  //#endregion
14109
+ //#region src/components/ellipsis/index.d.ts
14110
+ /** The overflow knife: text cut at one line, or held to N lines. The
14111
+ * primitive only draws the cut — reaching the full text (title,
14112
+ * tooltip) stays the consumer's decision. */
14113
+ export interface EllipsisProps extends HTMLAttributes<HTMLElement> {
14114
+ lines?: number;
14115
+ }
14116
+ export declare function Ellipsis({ lines, ...rest }: EllipsisProps): import("react").JSX.Element;
14117
+ //#endregion
13584
14118
  //#region src/components/empty/index.d.ts
13585
14119
  export declare const Empty: {
13586
14120
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
@@ -13630,6 +14164,58 @@ export declare const Fieldset: typeof Fieldset$1;
13630
14164
  * Context. */
13631
14165
  export declare const FileUpload: typeof FileUpload$1;
13632
14166
  //#endregion
14167
+ //#region src/components/float-button/index.d.ts
14168
+ export type FloatButtonPlacement = "bottom-end" | "bottom-start" | "top-end" | "top-start";
14169
+ /** The group's openness, shared from the mooring to its parts. */
14170
+ export interface FloatButtonContextValue {
14171
+ open: boolean;
14172
+ toggle: () => void;
14173
+ /** Folds the fan — an Item calls this once its action fires, the way
14174
+ * a speed dial closes after a choice. */
14175
+ close: () => void;
14176
+ }
14177
+ /** Context for {@link FloatButtonContextValue}, exported so a custom
14178
+ * part can read the group's state. */
14179
+ export declare const FLOAT_BUTTON_CONTEXT: import("react").Context<FloatButtonContextValue | null>;
14180
+ export interface FloatButtonRootProps extends HTMLAttributes<HTMLDivElement> {
14181
+ /** Controlled openness: leave unset to let the group hold its own
14182
+ * state; while set, the Trigger reports back through
14183
+ * `onOpenChange`. */
14184
+ open?: boolean;
14185
+ /** Which corner the group moors at. */
14186
+ placement?: FloatButtonPlacement;
14187
+ onOpenChange?: (open: boolean) => void;
14188
+ children?: ReactNode;
14189
+ }
14190
+ /**
14191
+ * A floating action and its fanned-out alternatives — FAB and speed
14192
+ * dial in one family. The Root moors the group at a page corner and
14193
+ * holds the openness (mirrored from `open` when controlled); the
14194
+ * Trigger flips it; each Item is a round action with its name surfacing
14195
+ * beside it while the group is open. The buttons are the shared recipe
14196
+ * (vessels here: round); this family owns only the mooring, the fan
14197
+ * and the fold.
14198
+ */
14199
+ declare function Root$2({ open: openProp, placement, onOpenChange, children, ...rest }: FloatButtonRootProps): import("react").JSX.Element;
14200
+ declare function Trigger({ label, children }: {
14201
+ label?: string;
14202
+ children?: ReactNode;
14203
+ }): import("react").JSX.Element;
14204
+ interface FloatButtonItemProps {
14205
+ /** The action's name: the button's accessible name and the
14206
+ * annotation surfaced beside it while the group is open. */
14207
+ label: string;
14208
+ disabled?: boolean;
14209
+ onClick?: () => void;
14210
+ children?: ReactNode;
14211
+ }
14212
+ declare function Item({ label, disabled, onClick, children }: FloatButtonItemProps): import("react").JSX.Element;
14213
+ export declare const FloatButton: typeof Root$2 & {
14214
+ Root: typeof Root$2;
14215
+ Trigger: typeof Trigger;
14216
+ Item: typeof Item;
14217
+ };
14218
+ //#endregion
13633
14219
  //#region src/components/floating-panel/index.d.ts
13634
14220
  /** Ark's FloatingPanel, dressed in the paper-and-ink system: the shared
13635
14221
  * popup vessel let loose — a draggable, resizable sheet whose header is the
@@ -13638,6 +14224,79 @@ export declare const FileUpload: typeof FileUpload$1;
13638
14224
  * Body. */
13639
14225
  export declare const FloatingPanel: typeof FloatingPanel$1;
13640
14226
  //#endregion
14227
+ //#region src/components/form/index.d.ts
14228
+ /** The one error a field can carry: where it lives in the form state
14229
+ * (dot notation for nested objects, indexes for arrays) and what went
14230
+ * wrong. */
14231
+ export interface FormError {
14232
+ name: string;
14233
+ message: string;
14234
+ }
14235
+ /** The Standard Schema surface this package understands — the slice
14236
+ * valibot, zod, arktype and friends all expose. Declared structurally
14237
+ * so no spec package becomes a dependency. */
14238
+ export interface StandardSchema<Input = unknown> {
14239
+ readonly "~standard": {
14240
+ readonly validate: (value: Input) => Promise<ValidateResult> | ValidateResult;
14241
+ };
14242
+ }
14243
+ interface ValidateResult {
14244
+ readonly value?: unknown;
14245
+ readonly issues?: ReadonlyArray<{
14246
+ readonly message: string;
14247
+ readonly path?: ReadonlyArray<PropertyKey | {
14248
+ readonly key: PropertyKey;
14249
+ }>;
14250
+ }>;
14251
+ }
14252
+ export type FormInputEvent = "input" | "change" | "blur";
14253
+ /** The imperative handle a caller holds through `ref`: the scheduled
14254
+ * validation, the error surgery, and the live error map itself. */
14255
+ export interface FormHandle {
14256
+ validate: () => Promise<Map<string, string>>;
14257
+ clear: (name?: string | RegExp) => void;
14258
+ setErrors: (errors: FormError[]) => void;
14259
+ getErrors: (name?: string | RegExp) => FormError[];
14260
+ errors: Map<string, string>;
14261
+ }
14262
+ export interface FormProps extends Omit<HTMLAttributes<HTMLFormElement>, "onSubmit" | "onError"> {
14263
+ state: Record<string, unknown>;
14264
+ schema?: StandardSchema;
14265
+ validate?: (state: Record<string, unknown>) => FormError[] | Promise<FormError[]>;
14266
+ validateOn?: FormInputEvent[];
14267
+ disabled?: boolean;
14268
+ onSubmit?: (state: Record<string, unknown>) => void;
14269
+ onError?: (errors: FormError[]) => void;
14270
+ ref?: Ref<FormHandle>;
14271
+ }
14272
+ /**
14273
+ * The validation scheduler: one error map, a submit that validates
14274
+ * before it fires, live re-validation on the events the `validateOn`
14275
+ * prop names, and the imperative handle. The schema is any Standard
14276
+ * Schema (valibot, zod, arktype, …) — none are bundled; a `validate`
14277
+ * function composes with it for the cases schemas can't express. Errors
14278
+ * reach their field by name, through FormField.
14279
+ */
14280
+ export declare function Form({ state, schema, validate, validateOn, disabled, onSubmit, onError, ref, children, ...rest }: FormProps): import("react").JSX.Element;
14281
+ /**
14282
+ * The named slot in the grid: label, control, hint — and the error the
14283
+ * Form routed to this name, shown through the same parts the standalone
14284
+ * Field family styles. The Ark field context runs underneath, so our
14285
+ * Input and Textarea pick up the label wiring and the invalid state
14286
+ * without knowing the Form exists. Without a Form above it degrades to
14287
+ * a plain labelled field.
14288
+ */
14289
+ export interface FormFieldProps extends HTMLAttributes<HTMLDivElement> {
14290
+ name?: string;
14291
+ label?: string;
14292
+ hint?: string;
14293
+ required?: boolean;
14294
+ invalid?: boolean;
14295
+ disabled?: boolean;
14296
+ children?: ReactNode;
14297
+ }
14298
+ export declare function FormField({ name, label, hint, required, invalid, disabled, children, ...rest }: FormFieldProps): import("react").JSX.Element;
14299
+ //#endregion
13641
14300
  //#region src/components/format/index.d.ts
13642
14301
  /** Ark's Format, dressed in the paper-and-ink system: Intl formatting for
13643
14302
  * numbers, currency, bytes and relative time. The components render bare
@@ -13656,6 +14315,18 @@ export declare const Format: typeof Format$1;
13656
14315
  * to hook. The API is Ark's own. */
13657
14316
  export declare const Frame: import("react").ForwardRefExoticComponent<import("@ark-ui/react/frame").FrameProps & import("react").RefAttributes<HTMLIFrameElement>>;
13658
14317
  //#endregion
14318
+ //#region src/components/grid/index.d.ts
14319
+ /** An alignment lattice: tracks of equal measure, sized by column count
14320
+ * — or, with `minChildWidth`, as many tracks as the container fits. */
14321
+ export interface GridProps extends HTMLAttributes<HTMLDivElement> {
14322
+ columns?: number;
14323
+ gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
14324
+ /** Switch to the auto-fill lattice: each track is at least this wide,
14325
+ * and the container decides how many fit. */
14326
+ minChildWidth?: string;
14327
+ }
14328
+ export declare function Grid({ columns, gap, minChildWidth, ...rest }: GridProps): import("react").JSX.Element;
14329
+ //#endregion
13659
14330
  //#region src/components/highlight/index.d.ts
13660
14331
  /** Ark's Highlight, dressed in the paper-and-ink system: query hits are
13661
14332
  * strokes of pigment on the page — a quiet tint of the accent behind the
@@ -13669,6 +14340,36 @@ export declare const Highlight: (props: import("@ark-ui/react/highlight").Highli
13669
14340
  * API is Ark's own — Root, Trigger, Positioner, Content, Arrow, ArrowTip. */
13670
14341
  export declare const HoverCard: typeof HoverCard$1;
13671
14342
  //#endregion
14343
+ //#region src/components/icon/index.d.ts
14344
+ /** The inkwell: a standard box that keeps any inline svg at its optical
14345
+ * measure and in the text's own ink — the icon carries no pigment and no
14346
+ * size of its own. Bring the glyph; it ships no set. */
14347
+ export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
14348
+ /** Size steps follow the surrounding font size; `inherit` is the
14349
+ * default — one em of the text the icon sits in. */
14350
+ size?: "inherit" | "sm" | "md" | "lg";
14351
+ /** The accessible name. Without it the icon is presentation-only and
14352
+ * hidden from the accessibility tree. */
14353
+ label?: string;
14354
+ }
14355
+ export declare function Icon({ size, label, children, ...rest }: IconProps): import("react").JSX.Element;
14356
+ //#endregion
14357
+ //#region src/components/image/index.d.ts
14358
+ /** A framed picture: while the source loads, the frame keeps the
14359
+ * skeleton's breath; the picture dissolves in when it lands; a broken
14360
+ * source leaves the `fallback` — or the placeholder glyph when the
14361
+ * caller has nothing local to say. The frame's size is the consumer's
14362
+ * to give. */
14363
+ export interface ImageProps extends Omit<HTMLAttributes<HTMLElement>, "onError" | "onLoad"> {
14364
+ src: string;
14365
+ alt?: string;
14366
+ fit?: "cover" | "contain" | "fill" | "none";
14367
+ loading?: "lazy" | "eager";
14368
+ /** Shown in place of the picture when the source breaks. */
14369
+ fallback?: ReactNode;
14370
+ }
14371
+ export declare function Image({ src, alt, fit, loading, fallback, ...rest }: ImageProps): import("react").JSX.Element;
14372
+ //#endregion
13672
14373
  //#region src/components/image-cropper/index.d.ts
13673
14374
  /** Ark's ImageCropper, dressed in the paper-and-ink system: a rounded vessel
13674
14375
  * holding the photograph, one lit selection window framed by light hairlines.
@@ -13676,6 +14377,55 @@ export declare const HoverCard: typeof HoverCard$1;
13676
14377
  * Context. */
13677
14378
  export declare const ImageCropper: typeof ImageCropper$1;
13678
14379
  //#endregion
14380
+ //#region src/components/image-viewer/index.d.ts
14381
+ /**
14382
+ * A lightbox: the picture over a dimmed page, with a small toolbar
14383
+ * beneath it. Zoom is the reader's hand (half to three times, clamped),
14384
+ * a quarter turn at a time rotates, Escape and the scrim close — the
14385
+ * dialog machine carries the modal part. `open` may stay with the
14386
+ * caller; left undefined the viewer keeps it to itself.
14387
+ */
14388
+ export interface ImageViewerProps {
14389
+ src: string;
14390
+ alt?: string;
14391
+ open?: boolean;
14392
+ zoomable?: boolean;
14393
+ /** Reports the viewer's next state. */
14394
+ onOpenChange?: (open: boolean) => void;
14395
+ }
14396
+ export declare function ImageViewer({ src, alt, open, zoomable, onOpenChange }: ImageViewerProps): import("react").JSX.Element;
14397
+ //#endregion
14398
+ //#region src/components/input/index.d.ts
14399
+ /** The bare text input: the field recipe — border, surface, focus halo —
14400
+ * on a native control. Standing alone it styles itself from the `invalid`
14401
+ * prop; inside a `Field.Root` it consumes the field context, picking up
14402
+ * the label id, the described-by wiring and the invalid state for free,
14403
+ * which is also the seam the Form validation layer will drive. Disabled
14404
+ * rides the native attribute. */
14405
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size"> {
14406
+ value?: string | number;
14407
+ size?: "sm" | "md" | "lg";
14408
+ invalid?: boolean;
14409
+ onValueChange?: (value: string) => void;
14410
+ }
14411
+ export declare function Input({ value, size, invalid, onValueChange, ...rest }: InputProps): import("react").JSX.Element;
14412
+ //#endregion
14413
+ //#region src/components/input-group/index.d.ts
14414
+ export type InputGroupPartProps = HTMLAttributes<HTMLDivElement>;
14415
+ export declare const InputGroup: {
14416
+ ({ children, ...rest }: InputGroupPartProps): import("react").JSX.Element;
14417
+ displayName: string;
14418
+ } & {
14419
+ Root: {
14420
+ ({ children, ...rest }: InputGroupPartProps): import("react").JSX.Element;
14421
+ displayName: string;
14422
+ };
14423
+ Addon: {
14424
+ ({ children, ...rest }: InputGroupPartProps): import("react").JSX.Element;
14425
+ displayName: string;
14426
+ };
14427
+ };
14428
+ //#endregion
13679
14429
  //#region src/components/json-tree-view/index.d.ts
13680
14430
  /** Ark's JsonTreeView, dressed in the paper-and-ink system: the tree-view
13681
14431
  * recipes re-scoped, with value nodes reading as tabular data. The API is
@@ -13687,6 +14437,68 @@ export declare const JsonTreeView: typeof JsonTreeView$1;
13687
14437
  export type KbdProps = HTMLAttributes<HTMLElement>;
13688
14438
  export declare function Kbd({ children, ...rest }: KbdProps): import("react").JSX.Element;
13689
14439
  //#endregion
14440
+ //#region src/components/layout/index.d.ts
14441
+ /** Declare which edge the skeleton reserves for its sider — without
14442
+ * it the root is a single column. */
14443
+ export interface LayoutRootProps extends HTMLAttributes<HTMLDivElement> {
14444
+ sider?: "start" | "end";
14445
+ children?: ReactNode;
14446
+ }
14447
+ /** Which edge the enclosing root reserves for its rail — shared so the
14448
+ * sider's resize handle knows which way the hand pulls. */
14449
+ export interface LayoutContextValue {
14450
+ siderPlacement: () => "start" | "end" | undefined;
14451
+ }
14452
+ /**
14453
+ * The application skeleton: Root, Header, Sider, Content, Footer —
14454
+ * the admin arrangement dressed in the paper-and-ink surfaces. The
14455
+ * root is a full-height grid; a declared `sider` turns the columns
14456
+ * around to meet whichever edge the rail stands on.
14457
+ */
14458
+ declare function Root$1({ sider, children, ...rest }: LayoutRootProps): import("react").JSX.Element;
14459
+ export interface LayoutSiderProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
14460
+ /** The caller drives the fold; the sider mirrors it and echoes every
14461
+ * change back through `onCollapsedChange`. */
14462
+ collapsed?: boolean;
14463
+ /** The rail's resting inline size — a layout parameter, not a visual
14464
+ * token, so it rides an inline variable. */
14465
+ width?: string;
14466
+ /** The inline size when folded. */
14467
+ collapsedWidth?: string;
14468
+ /** Offer the hairline at the flow edge: the rail's width follows the
14469
+ * hand (and the arrow keys), clamped by `minWidth`/`maxWidth`, and
14470
+ * every change rides `onWidthChange`. */
14471
+ resizable?: boolean;
14472
+ /** The rail's narrowest inline size while resizing. */
14473
+ minWidth?: string;
14474
+ /** The rail's widest inline size while resizing. */
14475
+ maxWidth?: string;
14476
+ onCollapsedChange?: (collapsed: boolean) => void;
14477
+ onWidthChange?: (width: string) => void;
14478
+ /** The rail's contents; a function receives `{ collapsed }` so a
14479
+ * caller can swap label content while the edge moves. */
14480
+ children?: ReactNode | ((state: {
14481
+ collapsed: boolean;
14482
+ }) => ReactNode);
14483
+ }
14484
+ declare function Sider({ collapsed, width: widthProp, collapsedWidth, resizable, minWidth, maxWidth, style, onCollapsedChange, onWidthChange, children, ...rest }: LayoutSiderProps): import("react").JSX.Element;
14485
+ export declare const Layout: typeof Root$1 & {
14486
+ Root: typeof Root$1;
14487
+ Header: {
14488
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14489
+ displayName: string;
14490
+ };
14491
+ Sider: typeof Sider;
14492
+ Content: {
14493
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14494
+ displayName: string;
14495
+ };
14496
+ Footer: {
14497
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14498
+ displayName: string;
14499
+ };
14500
+ };
14501
+ //#endregion
13690
14502
  //#region src/components/link/index.d.ts
13691
14503
  export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
13692
14504
  underline?: "always" | "hover" | "none";
@@ -13696,6 +14508,44 @@ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
13696
14508
  * always, on hover, or never. */
13697
14509
  export declare function Link({ underline, children, ...rest }: LinkProps): import("react").JSX.Element;
13698
14510
  //#endregion
14511
+ //#region src/components/list/index.d.ts
14512
+ export interface ListRootProps extends HTMLAttributes<HTMLUListElement> {
14513
+ /** One hairline between rows. */
14514
+ bordered?: boolean;
14515
+ /** Every row answers the pointer with a wash. */
14516
+ hoverable?: boolean;
14517
+ }
14518
+ declare function Root({ bordered, hoverable, children, ...rest }: ListRootProps): import("react").JSX.Element;
14519
+ declare namespace Root {
14520
+ var displayName: string;
14521
+ }
14522
+ /** The row's words: `title` and `description` ride their own slots, the
14523
+ * children follow them for anything else. */
14524
+ export interface ListContentProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
14525
+ title?: ReactNode;
14526
+ description?: ReactNode;
14527
+ }
14528
+ declare function Content({ title, description, children, ...rest }: ListContentProps): import("react").JSX.Element;
14529
+ declare namespace Content {
14530
+ var displayName: string;
14531
+ }
14532
+ export declare const List: typeof Root & {
14533
+ Root: typeof Root;
14534
+ Item: {
14535
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14536
+ displayName: string;
14537
+ };
14538
+ Leading: {
14539
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14540
+ displayName: string;
14541
+ };
14542
+ Content: typeof Content;
14543
+ Actions: {
14544
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
14545
+ displayName: string;
14546
+ };
14547
+ };
14548
+ //#endregion
13699
14549
  //#region src/components/listbox/index.d.ts
13700
14550
  /** Ark's Listbox, dressed in the paper-and-ink system: quiet rows of ink
13701
14551
  * where the checked row alone takes the flat primary fill. The API is
@@ -13710,6 +14560,16 @@ export declare const Listbox: typeof Listbox$1;
13710
14560
  * cutting off. The API is Ark's own — Root, Viewport, Content, Edge, Item. */
13711
14561
  export declare const Marquee: typeof Marquee$1;
13712
14562
  //#endregion
14563
+ //#region src/components/masonry/index.d.ts
14564
+ /** A wall of uneven heights: items flow down each column before
14565
+ * crossing to the next, so the order is column-first. A row-flow wall
14566
+ * would need grid masonry, which browsers do not ship yet. */
14567
+ export interface MasonryProps extends HTMLAttributes<HTMLDivElement> {
14568
+ columns?: number;
14569
+ gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
14570
+ }
14571
+ export declare function Masonry({ columns, gap, ...rest }: MasonryProps): import("react").JSX.Element;
14572
+ //#endregion
13713
14573
  //#region src/components/menu/index.d.ts
13714
14574
  /** Ark's Menu, dressed in the paper-and-ink system: a quiet paper vessel on
13715
14575
  * elevation, hover as light on the row, checked items as the flat ink fill.
@@ -13718,6 +14578,37 @@ export declare const Marquee: typeof Marquee$1;
13718
14578
  * TriggerItem, Separator, Arrow, ArrowTip. */
13719
14579
  export declare const Menu: typeof Menu$1;
13720
14580
  //#endregion
14581
+ //#region src/components/menubar/index.d.ts
14582
+ export interface MenubarEntry {
14583
+ label: string;
14584
+ value: string;
14585
+ danger?: boolean;
14586
+ disabled?: boolean;
14587
+ }
14588
+ export interface MenubarGroup {
14589
+ label: string;
14590
+ items: MenubarEntry[];
14591
+ }
14592
+ /**
14593
+ * A desktop-style menu bar: a row of quiet ghost triggers, each opening
14594
+ * the same paper vessel as the menu family. The triggers are our own
14595
+ * buttons grafted onto the menu machine's trigger via `asChild` — the
14596
+ * machine keeps the trigger element (positioning, focus restore,
14597
+ * `data-state`) while the element wears the menubar scope. The popups
14598
+ * keep the menu parts untouched, so the menu stylesheet dresses them.
14599
+ *
14600
+ * Keyboard note: the triggers move between each other with Tab, not
14601
+ * arrow keys — cross-menu arrow traversal is out of scope for this
14602
+ * version. Inside an open menu the machine handles arrows and Escape.
14603
+ */
14604
+ export interface MenubarProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
14605
+ /** The menus across the bar, each with its entries. */
14606
+ items: MenubarGroup[];
14607
+ /** Called with the entry's `value` when it is chosen. */
14608
+ onSelect?: (value: string) => void;
14609
+ }
14610
+ export declare function Menubar({ items, onSelect, children, ...rest }: MenubarProps): import("react").JSX.Element;
14611
+ //#endregion
13721
14612
  //#region src/components/meter/index.d.ts
13722
14613
  export interface MeterRootProps extends HTMLAttributes<HTMLElement> {
13723
14614
  /** The measured value — clamped between min and max. */
@@ -13738,7 +14629,7 @@ export declare const Meter: (({ value, min, max, level, label, children, ...rest
13738
14629
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13739
14630
  displayName: string;
13740
14631
  };
13741
- Track: ({ children, ...rest }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
14632
+ Track: ({ ...rest }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
13742
14633
  };
13743
14634
  //#endregion
13744
14635
  //#region src/components/navigation-menu/index.d.ts
@@ -13777,6 +14668,25 @@ export declare const PasswordInput: typeof PasswordInput$1;
13777
14668
  * Root, Label, Control, Input, HiddenInput. */
13778
14669
  export declare const PinInput: typeof PinInput$1;
13779
14670
  //#endregion
14671
+ //#region src/components/popconfirm/index.d.ts
14672
+ /**
14673
+ * A question at the point of no return: the trigger opens a small
14674
+ * anchored vessel carrying the message and two answers. Confirmation
14675
+ * and cancellation are the caller's to act on — the panel closes
14676
+ * either way. The children are the trigger; give it a single element
14677
+ * (wrap a group in a span otherwise).
14678
+ */
14679
+ export interface PopconfirmProps {
14680
+ /** The question the reader is answering. */
14681
+ message: string;
14682
+ confirmText?: string;
14683
+ cancelText?: string;
14684
+ children?: ReactNode;
14685
+ onConfirm?: () => void;
14686
+ onCancel?: () => void;
14687
+ }
14688
+ export declare function Popconfirm({ message, confirmText, cancelText, children, onConfirm, onCancel }: PopconfirmProps): import("react").JSX.Element;
14689
+ //#endregion
13780
14690
  //#region src/components/popover/index.d.ts
13781
14691
  /** Ark's Popover, dressed in the paper-and-ink system: a paper vessel that
13782
14692
  * dissolves in on elevation, anchored to its trigger by a whisker arrow. The
@@ -13791,6 +14701,27 @@ export declare const Popover: typeof Popover$1;
13791
14701
  * CircleTrack, CircleRange. */
13792
14702
  export declare const Progress: typeof Progress$1;
13793
14703
  //#endregion
14704
+ //#region src/components/progress-group/index.d.ts
14705
+ /** One verdict on the bar. */
14706
+ export interface ProgressSegment {
14707
+ value: number;
14708
+ label?: string;
14709
+ pigment?: "primary" | "success" | "warning" | "danger" | "info";
14710
+ }
14711
+ /**
14712
+ * One bar, several verdicts: the segments stand shoulder to shoulder,
14713
+ * each as wide as its share of the whole and speaking its own pigment;
14714
+ * the legend reads them back beneath (swatch, label, value) unless the
14715
+ * caller declines it. The whole is the sum of the parts unless the
14716
+ * caller brings a larger one — the remainder then shows as groove.
14717
+ */
14718
+ export interface ProgressGroupProps extends HTMLAttributes<HTMLDivElement> {
14719
+ segments: ProgressSegment[];
14720
+ max?: number;
14721
+ showLegend?: boolean;
14722
+ }
14723
+ export declare function ProgressGroup({ segments, max, showLegend, ...rest }: ProgressGroupProps): import("react").JSX.Element;
14724
+ //#endregion
13794
14725
  //#region src/components/qr-code/index.d.ts
13795
14726
  /** Ark's QrCode, dressed in the paper-and-ink system: the pattern prints in
13796
14727
  * ink on the page, with an optional paper badge and a seal-cut download
@@ -13863,12 +14794,57 @@ export declare function Skeleton({ ...rest }: SkeletonProps): import("react").JS
13863
14794
  * Thumb, MarkerGroup, Marker, DraggingIndicator, HiddenInput. */
13864
14795
  export declare const Slider: typeof Slider$1;
13865
14796
  //#endregion
14797
+ //#region src/components/split-button/index.d.ts
14798
+ export interface SplitButtonEntry {
14799
+ label: string;
14800
+ /** Handed back with `onSelect` when the entry is chosen. */
14801
+ value: string;
14802
+ danger?: boolean;
14803
+ disabled?: boolean;
14804
+ }
14805
+ export interface SplitButtonProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
14806
+ /** The main action's label. */
14807
+ label: string;
14808
+ /** The dropdown's entries. */
14809
+ items?: SplitButtonEntry[];
14810
+ /** How both halves rest; the arrow always reads as one control with
14811
+ * the main button. */
14812
+ variant?: "solid" | "outline" | "ghost" | "subtle";
14813
+ tone?: "ink" | "info" | "success" | "warning" | "danger";
14814
+ size?: "sm" | "md" | "lg";
14815
+ disabled?: boolean;
14816
+ /** The main button was pressed. */
14817
+ onClick?: () => void;
14818
+ /** An entry was chosen; carries its `value`. */
14819
+ onSelect?: (value: string) => void;
14820
+ }
14821
+ /**
14822
+ * A primary action with its alternatives one seam away: the main button
14823
+ * fires `onClick`, the fitted arrow opens a paper vessel of the same
14824
+ * register whose entries report `onSelect` with their value. The arrow
14825
+ * is the menu machine's trigger grafting the button recipe — the
14826
+ * machine keeps the element (positioning, focus, `data-state`), the
14827
+ * button stylesheet's trigger register dresses it. The popup keeps the
14828
+ * menu parts untouched.
14829
+ */
14830
+ export declare function SplitButton({ label, items, variant, tone, size, disabled, onClick, onSelect, ...rest }: SplitButtonProps): import("react").JSX.Element;
14831
+ //#endregion
13866
14832
  //#region src/components/splitter/index.d.ts
13867
14833
  /** Ark's Splitter, dressed in the paper-and-ink system: panels divide on
13868
14834
  * a hairline and a small paper-seal thumb answers the hand. The API is
13869
14835
  * Ark's own — Root, Panel, ResizeTrigger, ResizeTriggerIndicator. */
13870
14836
  export declare const Splitter: typeof Splitter$1;
13871
14837
  //#endregion
14838
+ //#region src/components/stack/index.d.ts
14839
+ export interface StackProps extends HTMLAttributes<HTMLDivElement> {
14840
+ direction?: "column" | "row";
14841
+ gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
14842
+ wrap?: boolean;
14843
+ align?: string;
14844
+ justify?: string;
14845
+ }
14846
+ export declare function Stack({ direction, gap, wrap, align, justify, ...rest }: StackProps): import("react").JSX.Element;
14847
+ //#endregion
13872
14848
  //#region src/components/page-header/index.d.ts
13873
14849
  export declare const PageHeader: {
13874
14850
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
@@ -13911,6 +14887,7 @@ export declare function Spinner({ size, children, ...rest }: SpinnerProps): impo
13911
14887
  //#region src/components/stat/index.d.ts
13912
14888
  export interface StatDeltaProps extends HTMLAttributes<HTMLElement> {
13913
14889
  direction?: "up" | "down" | "flat";
14890
+ "data-direction"?: string;
13914
14891
  }
13915
14892
  export declare const Stat: {
13916
14893
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
@@ -14008,6 +14985,11 @@ export interface DataTableProps {
14008
14985
  sortable?: boolean;
14009
14986
  /** Render a global-filter toolbar and per-column filter inputs. */
14010
14987
  filterable?: boolean;
14988
+ /** Keep the built-in toolbar row above the table (default true when
14989
+ * `filterable`). Turn it off to host the global filter in your own
14990
+ * toolbar — the feature stays registered and the instance methods
14991
+ * keep working. */
14992
+ showToolbar?: boolean;
14011
14993
  /** Enable tree expansion over `subRows`; the first column hosts the
14012
14994
  * expander and depth indent. */
14013
14995
  tree?: boolean;
@@ -14047,6 +15029,19 @@ export interface DataTableProps {
14047
15029
  }
14048
15030
  export declare function DataTable(rawProps: DataTableProps): import("react").JSX.Element;
14049
15031
  //#endregion
15032
+ //#region src/components/textarea/index.d.ts
15033
+ /** The bare multi-line input: the field recipe on a `<textarea>`, sized
15034
+ * by rows and resizable in the block direction. Standing alone it styles
15035
+ * itself from the `invalid` prop; inside a `Field.Root` it consumes the
15036
+ * field context, picking up the label id, the described-by wiring and
15037
+ * the invalid state for free. Disabled rides the native attribute. */
15038
+ export interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
15039
+ value?: string;
15040
+ invalid?: boolean;
15041
+ onValueChange?: (value: string) => void;
15042
+ }
15043
+ export declare function Textarea({ value, invalid, onValueChange, ...rest }: TextareaProps): import("react").JSX.Element;
15044
+ //#endregion
14050
15045
  //#region src/components/timeline/index.d.ts
14051
15046
  export declare const Timeline: {
14052
15047
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
@@ -14150,6 +15145,52 @@ export declare const Tooltip: typeof Tooltip$1;
14150
15145
  * useTour. */
14151
15146
  export declare const Tour: typeof Tour$1;
14152
15147
  //#endregion
15148
+ //#region src/components/transfer/index.d.ts
15149
+ export interface TransferItem {
15150
+ label: string;
15151
+ value: string;
15152
+ disabled?: boolean;
15153
+ }
15154
+ export interface TransferProps extends HTMLAttributes<HTMLDivElement> {
15155
+ value?: string[];
15156
+ data: TransferItem[];
15157
+ titles?: string[];
15158
+ searchable?: boolean;
15159
+ disabled?: boolean;
15160
+ onValueChange?: (value: string[]) => void;
15161
+ }
15162
+ /**
15163
+ * Two ledgers and a crossing: items sit in the source column until the
15164
+ * reader checks them and walks them across — and back, the same way.
15165
+ * `value` is the target column's value list; everything else in `data`
15166
+ * stays on the left. `searchable` adds a filter line to each panel.
15167
+ */
15168
+ export declare function Transfer({ value, data, titles, searchable, disabled, onValueChange, ...rest }: TransferProps): import("react").JSX.Element;
15169
+ //#endregion
15170
+ //#region src/components/tree-select/index.d.ts
15171
+ export interface TreeSelectNode {
15172
+ label: string;
15173
+ value: string;
15174
+ children?: TreeSelectNode[];
15175
+ disabled?: boolean;
15176
+ }
15177
+ /**
15178
+ * A tree behind a field: the control reads like an input, the vessel
15179
+ * below walks the hierarchy, and one leaf click closes the deal. Single
15180
+ * selection — the chosen label rides on the control, its value rides in
15181
+ * `value`. `filterable` puts a filter line at the top of the vessel;
15182
+ * matches keep their ancestors and the branches fan open.
15183
+ */
15184
+ export interface TreeSelectProps extends HTMLAttributes<HTMLDivElement> {
15185
+ value?: string;
15186
+ data: TreeSelectNode[];
15187
+ placeholder?: string;
15188
+ filterable?: boolean;
15189
+ disabled?: boolean;
15190
+ onValueChange?: (value: string) => void;
15191
+ }
15192
+ export declare function TreeSelect({ value, data, placeholder, filterable, disabled, onValueChange, ...rest }: TreeSelectProps): import("react").JSX.Element;
15193
+ //#endregion
14153
15194
  //#region src/components/tree-view/index.d.ts
14154
15195
  /** Ark's TreeView, dressed in the paper-and-ink system: quiet rows where
14155
15196
  * selection is pure light on the paper, one hairline plumb line per depth,
@@ -14160,4 +15201,19 @@ export declare const Tour: typeof Tour$1;
14160
15201
  * NodeRenameInput, plus createTreeCollection. */
14161
15202
  export declare const TreeView: typeof TreeView$1;
14162
15203
  //#endregion
14163
- export { Card$1 as Card, type ColumnDef, type CreateToasterReturn, type DataUIPart, type DateInputFocusChangeDetails, type DateInputValueChangeDetails, type DatePickerFocusChangeDetails, type DatePickerOpenChangeDetails, type DatePickerValueChangeDetails, type DatePickerViewChangeDetails, type DatePickerVisibleRangeChangeDetails, type DialogOpenChangeDetails, type FileUIPart, FlexRender, type ReasoningUIPart, Response$1 as Response, type SortingState, type SourceDocumentUIPart, type SourceUrlUIPart, type StepStartUIPart, type TextUIPart, type ToolUIPart, type TourInteractOutsideEvent, type TourPointerDownOutsideEvent, type TourStepDetails, type TreeViewCheckedChangeDetails, type TreeViewExpandedChangeDetails, type TreeViewFocusChangeDetails, type TreeViewSelectionChangeDetails, type UIMessage, type UIMessagePart, createColumnHelper, createListCollection, createToaster, useTour };
15204
+ //#region src/components/watermark/index.d.ts
15205
+ export interface WatermarkProps extends HTMLAttributes<HTMLDivElement> {
15206
+ content: string;
15207
+ opacity?: number;
15208
+ rotate?: number;
15209
+ fontSize?: string;
15210
+ }
15211
+ /**
15212
+ * The paper bears its seal beneath the content: a canvas draws the
15213
+ * text once into a tile (rotated, faint, crisp at the screen's pixel
15214
+ * density) and the marks layer repeats it over the children. The seal
15215
+ * redraws itself when a prop turns — and it never takes a pointer.
15216
+ */
15217
+ export declare function Watermark({ content, opacity, rotate, fontSize, children, ...rest }: WatermarkProps): import("react").JSX.Element;
15218
+ //#endregion
15219
+ export { Action as AiAction, Attachment as AiAttachment, Attachments as AiAttachments, Message as AiMessage, PromptInput as AiPromptInput, Reasoning as AiReasoning, Response$1 as AiResponse, Response$1 as Response, Source as AiSource, Sources as AiSources, Suggestion as AiSuggestion, Tool as AiTool, Card$1 as Card, ClientOnly, type ClientOnlyProps, type CollectionItem, type CollectionOptions, type ColumnDef, type CreateToasterReturn, type DataUIPart, type DateInputFocusChangeDetails, type DateInputValueChangeDetails, type DatePickerFocusChangeDetails, type DatePickerOpenChangeDetails, type DatePickerValueChangeDetails, type DatePickerViewChangeDetails, type DatePickerVisibleRangeChangeDetails, type DialogOpenChangeDetails, DownloadTrigger, type DownloadTriggerBaseProps, type DownloadTriggerProps, type DownloadableData, type FilePathTreeNode, type FileUIPart, type FlatTreeNode, FlexRender, FocusTrap, type FocusTrapBaseProps, type FocusTrapProps, type GridCollection, type GridCollectionOptions, type ListCollection, Presence, type PresenceBaseProps, type PresenceProps, PresenceProvider, type ReasoningUIPart, type SortingState, type SourceDocumentUIPart, type SourceUrlUIPart, type StepStartUIPart, type TextUIPart, type ToolUIPart, type TourInteractOutsideEvent, type TourPointerDownOutsideEvent, type TourStepDetails, type TreeCollection, type TreeCollectionOptions, type TreeNode, type TreeViewCheckedChangeDetails, type TreeViewExpandedChangeDetails, type TreeViewFocusChangeDetails, type TreeViewSelectionChangeDetails, type UIMessage, type UIMessagePart, type UseAsyncListProps, type UseAsyncListReturn, type UseDownloadProps, type UseDownloadReturn, type UseListCollectionProps, type UseListCollectionReturn, type UseListSelectionProps, type UseListSelectionReturn, type UseMentionsHandlers, type UseMentionsOptions, type UsePresenceContext, type UsePresenceProps, type UsePresenceReturn, createColumnHelper, createFileTreeCollection, createGridCollection, createToaster, createTreeCollection, useAsyncList, useDownload, useListCollection, useListSelection, usePresence, usePresenceContext, useTour };