@zovaris/sephiro 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,161 +1,190 @@
1
- import * as react from 'react';
2
- import { HTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, RefObject, TableHTMLAttributes } from 'react';
3
- import { ExternalToast, ToasterProps } from 'sonner';
4
- export { toast } from 'sonner';
5
-
1
+ import { ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, RefObject, TableHTMLAttributes, TextareaHTMLAttributes, TimeHTMLAttributes, useLayoutEffect } from "react";
2
+ import { ExternalToast, ToasterProps, toast } from "sonner";
3
+ //#region src/atoms/AnimatedNumber/index.d.ts
4
+ type AnimatedNumberProps = Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
5
+ value: number;
6
+ from?: number;
7
+ duration?: number;
8
+ format?: (value: number) => string;
9
+ };
10
+ export declare function AnimatedNumber({ value, from, duration, format, className, ...props }: AnimatedNumberProps): import("react").JSX.Element;
11
+ //#endregion
12
+ //#region src/lib/control.d.ts
6
13
  type ControlSize = "sm" | "md" | "lg";
7
-
14
+ type ControlDensity = "default" | "compact";
15
+ //#endregion
16
+ //#region src/atoms/Avatar/index.d.ts
8
17
  type AvatarStatus = "online" | "offline" | "busy" | "away";
9
18
  type AvatarProps = Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
10
- /** Image URL. Falls back to `name` initials when it fails to load. */
11
- src?: string;
12
- name?: string;
13
- size?: ControlSize;
14
- status?: AvatarStatus;
15
- };
16
- declare function Avatar({ src, name, size, status, className, ...props }: AvatarProps): react.JSX.Element;
17
-
19
+ /** Image URL. Falls back to `name` initials when it fails to load. */
20
+ src?: string;
21
+ name?: string;
22
+ size?: ControlSize;
23
+ status?: AvatarStatus;
24
+ };
25
+ export declare function Avatar({ src, name, size, status, className, ...props }: AvatarProps): import("react").JSX.Element;
26
+ //#endregion
27
+ //#region src/lib/node.d.ts
18
28
  type RenderableElement = {
19
- type: any;
20
- props: any;
21
- key?: any;
29
+ type: any;
30
+ props: any;
31
+ key?: any;
22
32
  };
23
33
  type Renderable = string | number | boolean | null | undefined | Iterable<Renderable> | RenderableElement;
24
-
34
+ //#endregion
35
+ //#region src/atoms/Badge/index.d.ts
25
36
  type BadgeProps = Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
26
- variant?: "neutral" | "accent" | "success" | "warning" | "danger";
27
- size?: ControlSize;
28
- children?: Renderable;
37
+ variant?: "neutral" | "accent" | "success" | "warning" | "danger";
38
+ size?: ControlSize;
39
+ children?: Renderable;
29
40
  };
30
- declare function Badge({ variant, size, className, children, ...props }: BadgeProps): react.JSX.Element;
31
-
41
+ export declare function Badge({ variant, size, className, children, ...props }: BadgeProps): import("react").JSX.Element;
42
+ //#endregion
43
+ //#region src/atoms/Button/index.d.ts
32
44
  type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
33
- variant?: "primary" | "secondary" | "quiet";
34
- size?: ControlSize;
35
- loading?: boolean;
36
- children?: Renderable;
45
+ variant?: "primary" | "secondary" | "quiet";
46
+ size?: ControlSize;
47
+ density?: ControlDensity;
48
+ motion?: "lift" | "none";
49
+ loading?: boolean;
50
+ children?: Renderable;
37
51
  };
38
- declare function Button({ variant, size, loading, disabled, className, type, children, "aria-busy": ariaBusy, ...props }: ButtonProps): react.JSX.Element;
39
-
52
+ export declare function Button({ variant, size, density, motion, loading, disabled, className, type, children, onClick, "aria-busy": ariaBusy, "aria-disabled": ariaDisabled, ...props }: ButtonProps): import("react").JSX.Element;
53
+ //#endregion
54
+ //#region src/atoms/Checkbox/index.d.ts
40
55
  type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & {
41
- label?: Renderable;
42
- size?: ControlSize;
43
- invalid?: boolean;
56
+ label?: Renderable;
57
+ size?: ControlSize;
58
+ invalid?: boolean;
44
59
  };
45
- declare function Checkbox({ label, size, invalid, className, ...props }: CheckboxProps): react.JSX.Element;
46
-
60
+ export declare function Checkbox({ label, size, invalid, className, ...props }: CheckboxProps): import("react").JSX.Element;
61
+ //#endregion
62
+ //#region src/atoms/IconButton/index.d.ts
47
63
  type IconButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
48
- icon: Renderable;
49
- label: string;
50
- size?: ControlSize;
51
- variant?: "ghost" | "solid" | "outline";
52
- loading?: boolean;
53
- };
54
- declare function IconButton({ icon, label, size, variant, loading, disabled, className, type, ...props }: IconButtonProps): react.JSX.Element;
55
-
64
+ icon: Renderable;
65
+ label: string;
66
+ size?: ControlSize;
67
+ density?: ControlDensity;
68
+ variant?: "ghost" | "solid" | "outline";
69
+ loading?: boolean;
70
+ };
71
+ export declare function IconButton({ icon, label, size, density, variant, loading, disabled, className, type, onClick, ...props }: IconButtonProps): import("react").JSX.Element;
72
+ //#endregion
73
+ //#region src/atoms/Input/index.d.ts
56
74
  type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & {
57
- invalid?: boolean;
58
- size?: ControlSize;
75
+ invalid?: boolean;
76
+ size?: ControlSize;
59
77
  };
60
- declare function Input({ invalid, size, className, "aria-invalid": ariaInvalid, ...props }: InputProps): react.JSX.Element;
61
-
78
+ export declare function Input({ invalid, size, className, "aria-invalid": ariaInvalid, ...props }: InputProps): import("react").JSX.Element;
79
+ //#endregion
80
+ //#region src/atoms/Kbd/index.d.ts
62
81
  type KbdProps = {
63
- /**
64
- * Key caps to render. An array draws one cap per entry (`["⌘", "K"]`);
65
- * a single value draws one cap (`"Esc"`).
66
- */
67
- keys: Renderable;
68
- className?: string;
69
- };
70
- declare function Kbd({ keys, className }: KbdProps): react.JSX.Element;
71
-
82
+ /**
83
+ * Key caps to render. An array draws one cap per entry (`["⌘", "K"]`);
84
+ * a single value draws one cap (`"Esc"`).
85
+ */
86
+ keys: Renderable;
87
+ className?: string;
88
+ };
89
+ export declare function Kbd({ keys, className }: KbdProps): import("react").JSX.Element;
90
+ //#endregion
91
+ //#region src/atoms/Progress/index.d.ts
72
92
  type ProgressProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
73
- /** Completion from 0 to 100. Omit it for the indeterminate sweep. */
74
- value?: number;
75
- label?: string;
76
- size?: ControlSize;
93
+ /** Completion from 0 to 100. Omit it for the indeterminate sweep. */
94
+ value?: number;
95
+ label?: string;
96
+ size?: ControlSize;
77
97
  };
78
- declare function Progress({ value, label, size, className, ...props }: ProgressProps): react.JSX.Element;
79
-
98
+ export declare function Progress({ value, label, size, className, ...props }: ProgressProps): import("react").JSX.Element;
99
+ //#endregion
100
+ //#region src/atoms/ScrollArea/index.d.ts
80
101
  type ScrollAreaProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
81
- orientation?: "vertical" | "horizontal" | "both";
82
- children?: Renderable;
102
+ orientation?: "vertical" | "horizontal" | "both";
103
+ children?: Renderable;
83
104
  };
84
- declare function ScrollArea({ orientation, className, children, ...props }: ScrollAreaProps): react.JSX.Element;
85
-
105
+ export declare function ScrollArea({ orientation, className, children, ...props }: ScrollAreaProps): import("react").JSX.Element;
106
+ //#endregion
107
+ //#region src/atoms/Separator/index.d.ts
86
108
  type SeparatorProps = Omit<HTMLAttributes<HTMLHRElement>, "children"> & {
87
- orientation?: "horizontal" | "vertical";
88
- decorative?: boolean;
109
+ orientation?: "horizontal" | "vertical";
110
+ decorative?: boolean;
89
111
  };
90
- declare function Separator({ orientation, decorative, className, ...props }: SeparatorProps): react.JSX.Element;
91
-
112
+ export declare function Separator({ orientation, decorative, className, ...props }: SeparatorProps): import("react").JSX.Element;
113
+ //#endregion
114
+ //#region src/atoms/Skeleton/index.d.ts
92
115
  type SkeletonProps = HTMLAttributes<HTMLSpanElement> & {
93
- width?: string | number;
94
- height?: string | number;
116
+ width?: string | number;
117
+ height?: string | number;
95
118
  };
96
- declare function Skeleton({ width, height, className, style, "aria-label": ariaLabel, ...props }: SkeletonProps): react.JSX.Element;
97
-
119
+ export declare function Skeleton({ width, height, className, style, "aria-label": ariaLabel, ...props }: SkeletonProps): import("react").JSX.Element;
120
+ //#endregion
121
+ //#region src/atoms/Slider/index.d.ts
98
122
  type SliderProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type" | "value" | "defaultValue" | "onChange" | "children" | "min" | "max" | "step"> & {
99
- value: number;
100
- onValueChange: (value: number) => void;
101
- label: Renderable;
102
- min?: number;
103
- max?: number;
104
- step?: number;
105
- size?: ControlSize;
106
- valueLabel?: Renderable;
107
- invalid?: boolean;
108
- };
109
- declare function Slider({ value, onValueChange, label, min, max, step, size, valueLabel, invalid, className, disabled, style, id, "aria-label": ariaLabel, "aria-valuetext": ariaValueText, "aria-invalid": ariaInvalid, ...props }: SliderProps): react.JSX.Element;
110
-
123
+ value: number;
124
+ onValueChange: (value: number) => void;
125
+ label: Renderable;
126
+ min?: number;
127
+ max?: number;
128
+ step?: number;
129
+ size?: ControlSize;
130
+ valueLabel?: Renderable;
131
+ invalid?: boolean;
132
+ };
133
+ export declare function Slider({ value, onValueChange, label, min, max, step, size, valueLabel, invalid, className, disabled, style, id, "aria-label": ariaLabel, "aria-valuetext": ariaValueText, "aria-invalid": ariaInvalid, ...props }: SliderProps): import("react").JSX.Element;
134
+ //#endregion
135
+ //#region src/atoms/Spinner/index.d.ts
111
136
  type SpinnerProps = HTMLAttributes<HTMLSpanElement> & {
112
- size?: ControlSize;
113
- label?: string;
137
+ size?: ControlSize;
138
+ label?: string;
114
139
  };
115
- declare function Spinner({ size, label, className, ...props }: SpinnerProps): react.JSX.Element;
116
-
140
+ export declare function Spinner({ size, label, className, ...props }: SpinnerProps): import("react").JSX.Element;
141
+ //#endregion
142
+ //#region src/atoms/Surface/index.d.ts
117
143
  type SurfaceProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
118
- children?: Renderable;
119
- tone?: "base" | "elevated" | "raised";
120
- padding?: "none" | "sm" | "md" | "lg";
144
+ children?: Renderable;
145
+ tone?: "base" | "elevated" | "raised";
146
+ padding?: "none" | "sm" | "md" | "lg";
121
147
  };
122
- declare function Surface({ tone, padding, className, children, ...props }: SurfaceProps): react.JSX.Element;
123
-
148
+ export declare function Surface({ tone, padding, className, children, ...props }: SurfaceProps): import("react").JSX.Element;
149
+ //#endregion
150
+ //#region src/atoms/Textarea/index.d.ts
124
151
  type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
125
- invalid?: boolean;
126
- size?: ControlSize;
152
+ invalid?: boolean;
153
+ size?: ControlSize;
127
154
  };
128
- declare function Textarea({ invalid, size, className, "aria-invalid": ariaInvalid, ...props }: TextareaProps): react.JSX.Element;
129
-
155
+ export declare function Textarea({ invalid, size, className, "aria-invalid": ariaInvalid, ...props }: TextareaProps): import("react").JSX.Element;
156
+ //#endregion
157
+ //#region src/atoms/Toggle/index.d.ts
130
158
  type ToggleProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "onClick"> & {
131
- checked: boolean;
132
- onCheckedChange: (checked: boolean) => void;
133
- label: string;
134
- size?: ControlSize;
135
- onClick?: (event: {
136
- preventDefault(): void;
137
- }) => void;
138
- };
139
- declare function Toggle({ checked, onCheckedChange, label, className, disabled, onClick, size, "aria-checked": ariaChecked, "aria-label": ariaLabel, ...props }: ToggleProps): react.JSX.Element;
140
-
159
+ checked: boolean;
160
+ onCheckedChange: (checked: boolean) => void;
161
+ label: string;
162
+ size?: ControlSize;
163
+ onClick?: (event: {
164
+ preventDefault(): void;
165
+ }) => void;
166
+ };
167
+ export declare function Toggle({ checked, onCheckedChange, label, className, disabled, onClick, size, "aria-checked": ariaChecked, "aria-label": ariaLabel, ...props }: ToggleProps): import("react").JSX.Element;
168
+ //#endregion
169
+ //#region src/lib/presence.d.ts
141
170
  type MotionSpeed = "fast" | "normal" | "slow";
142
171
  /** Parses a CSS time string ("180ms", "0.18s", "0ms") into milliseconds. */
143
- declare function parseDurationMs(value: string): number;
172
+ export declare function parseDurationMs(value: string): number;
144
173
  /**
145
174
  * Reads the motion token in effect for an element, honouring theme
146
175
  * overrides, `prefers-reduced-motion`, and `data-sephiro-motion="off"`.
147
176
  * Returns 0 when there is nothing to wait for.
148
177
  */
149
- declare function motionDurationMs(element: HTMLElement | null, speed: MotionSpeed): number;
178
+ export declare function motionDurationMs(element: HTMLElement | null, speed: MotionSpeed): number;
150
179
  type Presence<E extends HTMLElement = HTMLElement> = {
151
- /** Keep rendering the overlay while its exit animation plays. */
152
- present: boolean;
153
- /** True once the overlay has begun leaving; drive exit styles with it. */
154
- leaving: boolean;
155
- /** `open` while settled, `closed` once leaving. */
156
- state: "open" | "closed";
157
- /** Attach to the overlay element so its exit duration can be measured. */
158
- ref: RefObject<E | null>;
180
+ /** Keep rendering the overlay while its exit animation plays. */
181
+ present: boolean;
182
+ /** True once the overlay has begun leaving; drive exit styles with it. */
183
+ leaving: boolean;
184
+ /** `open` while settled, `closed` once leaving. */
185
+ state: "open" | "closed";
186
+ /** Attach to the overlay element so its exit duration can be measured. */
187
+ ref: RefObject<E | null>;
159
188
  };
160
189
  /**
161
190
  * Holds an overlay mounted for exactly as long as its exit animation runs.
@@ -168,421 +197,1006 @@ type Presence<E extends HTMLElement = HTMLElement> = {
168
197
  * return present ? <div ref={ref} data-state={state} /> : null;
169
198
  * ```
170
199
  */
171
- declare function usePresence<E extends HTMLElement = HTMLElement>(open: boolean, speed?: MotionSpeed): Presence<E>;
172
-
200
+ export declare function usePresence<E extends HTMLElement = HTMLElement>(open: boolean, speed?: MotionSpeed): Presence<E>;
201
+ //#endregion
202
+ //#region src/molecules/Accordion/index.d.ts
203
+ type AccordionItem = {
204
+ /** Identifies the panel across `value` and `defaultValue`. */
205
+ value: string;
206
+ trigger: Renderable;
207
+ children?: Renderable;
208
+ disabled?: boolean;
209
+ };
210
+ type AccordionProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "value" | "defaultValue"> & {
211
+ items: AccordionItem[];
212
+ /** `single` (default) keeps one panel open; `multiple` allows many. */
213
+ type?: "single" | "multiple";
214
+ /** Controlled set of open panels. */
215
+ value?: string[];
216
+ /** Panels open on first render. */
217
+ defaultValue?: string[];
218
+ onValueChange?: (value: string[]) => void;
219
+ };
220
+ export declare function Accordion({ items, type, value, defaultValue, onValueChange, className, ...props }: AccordionProps): import("react").JSX.Element;
221
+ //#endregion
222
+ //#region src/molecules/Alert/index.d.ts
173
223
  type AlertProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "title"> & {
174
- variant?: "info" | "success" | "warning" | "danger";
175
- title?: Renderable;
176
- children?: Renderable;
177
- dismissible?: boolean;
178
- onDismiss?: () => void;
179
- };
180
- declare function Alert({ variant, title, children, dismissible, onDismiss, className, role, ...props }: AlertProps): react.JSX.Element | null;
181
- declare const Notice: typeof Alert;
224
+ variant?: "info" | "success" | "warning" | "danger";
225
+ title?: Renderable;
226
+ children?: Renderable;
227
+ dismissible?: boolean;
228
+ onDismiss?: () => void;
229
+ };
230
+ export declare function Alert({ variant, title, children, dismissible, onDismiss, className, role, ...props }: AlertProps): import("react").JSX.Element | null;
231
+ export declare const Notice: typeof Alert;
182
232
  type NoticeProps = AlertProps;
183
-
233
+ //#endregion
234
+ //#region src/molecules/Attachment/index.d.ts
235
+ type AttachmentStatus = "uploading" | "done" | "error";
236
+ type AttachmentFile = {
237
+ id: string;
238
+ name: string;
239
+ size: string;
240
+ status?: AttachmentStatus;
241
+ progress?: number;
242
+ hint?: string;
243
+ href?: string;
244
+ };
245
+ type AttachmentProps = {
246
+ files: AttachmentFile[];
247
+ onRemove?: (id: string) => void;
248
+ ariaLabel?: string;
249
+ className?: string;
250
+ };
251
+ /** Exit delay that lets the leave transition run before the row unmounts. */
252
+ export declare function Attachment({ files, onRemove, ariaLabel, className }: AttachmentProps): import("react").JSX.Element;
253
+ //#endregion
254
+ //#region src/molecules/AvatarGroup/index.d.ts
184
255
  type AvatarGroupItem = Pick<AvatarProps, "src" | "name" | "status">;
185
256
  type AvatarGroupProps = Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
186
- avatars: AvatarGroupItem[];
187
- /** Avatars shown before collapsing the rest into a `+N` chip. */
188
- max?: number;
189
- size?: ControlSize;
257
+ avatars: AvatarGroupItem[];
258
+ /** Avatars shown before collapsing the rest into a `+N` chip. */
259
+ max?: number;
260
+ size?: ControlSize;
190
261
  };
191
- declare function AvatarGroup({ avatars, max, size, className, ...props }: AvatarGroupProps): react.JSX.Element;
192
-
262
+ export declare function AvatarGroup({ avatars, max, size, className, ...props }: AvatarGroupProps): import("react").JSX.Element;
263
+ //#endregion
264
+ //#region src/molecules/Breadcrumb/index.d.ts
265
+ type BreadcrumbItem = {
266
+ label: Renderable;
267
+ /** Renders the crumb as a link. Wins over `onClick`. */
268
+ href?: string;
269
+ /** Renders the crumb as a button when there is no `href`. */
270
+ onClick?: () => void;
271
+ /** Leading icon shown before the label. */
272
+ icon?: Renderable;
273
+ };
274
+ type BreadcrumbProps = Omit<HTMLAttributes<HTMLElement>, "children"> & {
275
+ items: BreadcrumbItem[];
276
+ /** Separator drawn between crumbs. Defaults to a caret. */
277
+ separator?: Renderable;
278
+ /** Accessible name for the navigation landmark. */
279
+ label?: string;
280
+ };
281
+ export declare function Breadcrumb({ items, separator, label, className, ...props }: BreadcrumbProps): import("react").JSX.Element;
282
+ //#endregion
283
+ //#region src/molecules/Calendar/index.d.ts
284
+ type CalendarRange = {
285
+ start: string | null;
286
+ end: string | null;
287
+ };
288
+ type CalendarProps = {
289
+ /** Selected day as `YYYY-MM-DD`. */
290
+ value?: string;
291
+ onValueChange?: (value: string) => void;
292
+ /** Displayed month as `YYYY-MM`. Uncontrolled pages keep their own state. */
293
+ month?: string;
294
+ onMonthChange?: (month: string) => void;
295
+ /** Earliest / latest selectable day (inclusive), as `YYYY-MM-DD`. */
296
+ min?: string;
297
+ max?: string;
298
+ /** First weekday: 0 = Sunday, 1 = Monday. Defaults to Monday. */
299
+ weekStartsOn?: 0 | 1;
300
+ mode?: "single" | "range";
301
+ range?: CalendarRange;
302
+ defaultRange?: CalendarRange;
303
+ onRangeChange?: (range: CalendarRange) => void;
304
+ months?: 1 | 2;
305
+ ariaLabel?: string;
306
+ className?: string;
307
+ };
308
+ export declare function Calendar({ value, onValueChange, month, onMonthChange, min, max, weekStartsOn, mode, range, defaultRange, onRangeChange, months, ariaLabel, className }: CalendarProps): import("react").JSX.Element;
309
+ //#endregion
310
+ //#region src/molecules/Card/index.d.ts
193
311
  type CardProps = Omit<HTMLAttributes<HTMLElement>, "children" | "title"> & {
194
- title?: Renderable;
195
- description?: Renderable;
196
- header?: Renderable;
197
- footer?: Renderable;
198
- children?: Renderable;
199
- interactive?: boolean;
200
- selected?: boolean;
201
- };
202
- declare function Card({ title, description, header, footer, children, interactive, selected, className, ...props }: CardProps): react.JSX.Element;
203
-
312
+ title?: Renderable;
313
+ description?: Renderable;
314
+ header?: Renderable;
315
+ footer?: Renderable;
316
+ children?: Renderable;
317
+ interactive?: boolean;
318
+ selected?: boolean;
319
+ };
320
+ export declare function Card({ title, description, header, footer, children, interactive, selected, className, ...props }: CardProps): import("react").JSX.Element;
321
+ //#endregion
322
+ //#region src/molecules/Collapsible/index.d.ts
204
323
  type CollapsibleProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
205
- trigger: Renderable;
206
- children?: Renderable;
207
- open?: boolean;
208
- defaultOpen?: boolean;
209
- onOpenChange?: (open: boolean) => void;
210
- disabled?: boolean;
211
- };
212
- declare function Collapsible({ trigger, children, open, defaultOpen, onOpenChange, disabled, className, ...props }: CollapsibleProps): react.JSX.Element;
213
-
324
+ trigger: Renderable;
325
+ children?: Renderable;
326
+ open?: boolean;
327
+ defaultOpen?: boolean;
328
+ onOpenChange?: (open: boolean) => void;
329
+ disabled?: boolean;
330
+ };
331
+ export declare function Collapsible({ trigger, children, open, defaultOpen, onOpenChange, disabled, className, ...props }: CollapsibleProps): import("react").JSX.Element;
332
+ //#endregion
333
+ //#region src/molecules/Combobox/index.d.ts
214
334
  type ComboboxOption = {
215
- value: string;
216
- label: Renderable;
217
- disabled?: boolean;
218
- /** Groups options under a heading; ungrouped options come first. */
219
- group?: string;
220
- /** Extra terms matched by the filter but never highlighted. */
221
- keywords?: string;
335
+ value: string;
336
+ label: Renderable;
337
+ disabled?: boolean;
338
+ /** Groups options under a heading; ungrouped options come first. */
339
+ group?: string;
340
+ /** Extra terms matched by the filter but never highlighted. */
341
+ keywords?: string;
222
342
  };
223
343
  type ComboboxProps = {
224
- options: ComboboxOption[];
225
- /** Single-select value. Omit it and pass `values` for multi-select. */
226
- value?: string;
227
- /** Multi-select values; selecting keeps the popup open. */
228
- values?: string[];
229
- onValueChange?: (value: string) => void;
230
- onValuesChange?: (values: string[]) => void;
231
- placeholder?: Renderable;
232
- searchPlaceholder?: string;
233
- emptyMessage?: Renderable;
234
- disabled?: boolean;
235
- size?: ControlSize;
236
- id?: string;
237
- ariaLabel?: string;
238
- className?: string;
239
- };
240
- declare function Combobox({ options, value, values, onValueChange, onValuesChange, placeholder, searchPlaceholder, emptyMessage, disabled, size, id, ariaLabel, className, }: ComboboxProps): react.JSX.Element;
241
-
344
+ options: ComboboxOption[];
345
+ /** Single-select value. Omit it and pass `values` for multi-select. */
346
+ value?: string;
347
+ /** Multi-select values; selecting keeps the popup open. */
348
+ values?: string[];
349
+ onValueChange?: (value: string) => void;
350
+ onValuesChange?: (values: string[]) => void;
351
+ placeholder?: Renderable;
352
+ searchPlaceholder?: string;
353
+ emptyMessage?: Renderable;
354
+ disabled?: boolean;
355
+ size?: ControlSize;
356
+ id?: string;
357
+ ariaLabel?: string;
358
+ className?: string;
359
+ };
360
+ export declare function Combobox({ options, value, values, onValueChange, onValuesChange, placeholder, searchPlaceholder, emptyMessage, disabled, size, id, ariaLabel, className }: ComboboxProps): import("react").JSX.Element;
361
+ //#endregion
362
+ //#region src/molecules/Menu/MenuContent.d.ts
363
+ type MenuItem = {
364
+ value?: string;
365
+ label?: Renderable;
366
+ icon?: Renderable;
367
+ shortcut?: Renderable;
368
+ disabled?: boolean;
369
+ danger?: boolean;
370
+ separator?: boolean;
371
+ };
372
+ //#endregion
373
+ //#region src/molecules/ContextMenu/index.d.ts
374
+ type ContextMenuProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "onContextMenu" | "onSelect"> & {
375
+ children: Renderable;
376
+ items: MenuItem[];
377
+ onSelect?: (value: string) => void;
378
+ disabled?: boolean;
379
+ label?: string;
380
+ };
381
+ /**
382
+ * A menu that opens under the pointer: right-click (or the ContextMenu key)
383
+ * on the surface, the popup clamps itself to the viewport and hands focus to
384
+ * its first item. Escape and selection return focus to the surface.
385
+ */
386
+ export declare function ContextMenu({ children, items, onSelect, disabled, label, className, ...props }: ContextMenuProps): import("react").JSX.Element;
387
+ //#endregion
388
+ //#region src/molecules/Dialog/index.d.ts
242
389
  type DialogProps = {
243
- open: boolean;
244
- onClose: () => void;
245
- title: Renderable;
246
- description?: Renderable;
247
- children?: Renderable;
248
- footer?: Renderable;
249
- closeLabel?: string;
250
- closeOnOverlayClick?: boolean;
251
- className?: string;
252
- };
253
- declare function Dialog({ open, onClose, title, description, children, footer, closeLabel, closeOnOverlayClick, className, }: DialogProps): react.JSX.Element | null;
254
-
390
+ open: boolean;
391
+ onClose: () => void;
392
+ title: Renderable;
393
+ description?: Renderable;
394
+ children?: Renderable;
395
+ footer?: Renderable;
396
+ closeLabel?: string;
397
+ closeOnOverlayClick?: boolean;
398
+ closeOnEscape?: boolean;
399
+ initialFocus?: () => HTMLElement | null;
400
+ returnFocus?: boolean | (() => HTMLElement | null);
401
+ className?: string;
402
+ };
403
+ export declare function Dialog({ open, onClose, title, description, children, footer, closeLabel, closeOnOverlayClick, closeOnEscape, initialFocus, returnFocus, className }: DialogProps): import("react").JSX.Element | null;
404
+ //#endregion
405
+ //#region src/molecules/Drawer/index.d.ts
255
406
  type DrawerSide = "left" | "right" | "bottom";
256
407
  type DrawerProps = {
257
- open: boolean;
258
- onClose: () => void;
259
- title: Renderable;
260
- description?: Renderable;
261
- children?: Renderable;
262
- footer?: Renderable;
263
- side?: DrawerSide;
264
- size?: "sm" | "md" | "lg";
265
- closeLabel?: string;
266
- closeOnOverlayClick?: boolean;
267
- className?: string;
268
- };
269
- declare function Drawer({ open, onClose, title, description, children, footer, side, size, closeLabel, closeOnOverlayClick, className, }: DrawerProps): react.JSX.Element | null;
270
-
408
+ open: boolean;
409
+ onClose: () => void;
410
+ title: Renderable;
411
+ description?: Renderable;
412
+ children?: Renderable;
413
+ footer?: Renderable;
414
+ side?: DrawerSide;
415
+ size?: "sm" | "md" | "lg";
416
+ closeLabel?: string;
417
+ closeOnOverlayClick?: boolean;
418
+ closeOnEscape?: boolean;
419
+ initialFocus?: () => HTMLElement | null;
420
+ returnFocus?: boolean | (() => HTMLElement | null);
421
+ className?: string;
422
+ };
423
+ export declare function Drawer({ open, onClose, title, description, children, footer, side, size, closeLabel, closeOnOverlayClick, closeOnEscape, initialFocus, returnFocus, className }: DrawerProps): import("react").JSX.Element | null;
424
+ //#endregion
425
+ //#region src/molecules/FieldMessage/index.d.ts
271
426
  type FieldMessageProps = Omit<HTMLAttributes<HTMLParagraphElement>, "children"> & {
272
- variant?: "hint" | "error" | "success";
273
- children?: Renderable;
427
+ variant?: "hint" | "error" | "success";
428
+ children?: Renderable;
274
429
  };
275
- declare function FieldMessage({ variant, className, children, ...props }: FieldMessageProps): react.JSX.Element | null;
276
-
430
+ export declare function FieldMessage({ variant, className, children, ...props }: FieldMessageProps): import("react").JSX.Element | null;
431
+ //#endregion
432
+ //#region src/molecules/Field/index.d.ts
277
433
  type FieldProps = {
278
- label?: Renderable;
279
- htmlFor?: string;
280
- description?: Renderable;
281
- message?: Renderable;
282
- messageType?: FieldMessageProps["variant"];
283
- required?: boolean;
284
- className?: string;
285
- children?: Renderable;
286
- };
287
- declare function Field({ label, htmlFor, description, message, messageType, required, className, children, }: FieldProps): react.JSX.Element;
288
-
434
+ label?: Renderable;
435
+ htmlFor?: string;
436
+ description?: Renderable;
437
+ message?: Renderable;
438
+ messageType?: FieldMessageProps["variant"];
439
+ required?: boolean;
440
+ className?: string;
441
+ children?: Renderable;
442
+ };
443
+ export declare function Field({ label, htmlFor, description, message, messageType, required, className, children }: FieldProps): import("react").JSX.Element;
444
+ //#endregion
445
+ //#region src/lib/overlay.d.ts
289
446
  type OverlaySide = "top" | "bottom" | "left" | "right";
290
-
447
+ //#endregion
448
+ //#region src/molecules/HoverCard/index.d.ts
291
449
  type HoverCardProps = {
292
- trigger: Renderable;
293
- children: Renderable;
294
- /** Grace before opening, so passing the trigger never flickers. */
295
- openDelay?: number;
296
- /** Grace before closing, so the pointer can travel into the card. */
297
- closeDelay?: number;
298
- placement?: OverlaySide;
299
- ariaLabel?: string;
300
- className?: string;
301
- };
302
- declare function HoverCard({ trigger, children, openDelay, closeDelay, placement, ariaLabel, className, }: HoverCardProps): react.JSX.Element;
303
-
304
- type MenuItem = {
305
- value?: string;
306
- label?: Renderable;
307
- icon?: Renderable;
308
- shortcut?: Renderable;
309
- disabled?: boolean;
310
- danger?: boolean;
311
- separator?: boolean;
450
+ trigger: Renderable;
451
+ children: Renderable;
452
+ /** Grace before opening, so passing the trigger never flickers. */
453
+ openDelay?: number;
454
+ /** Grace before closing, so the pointer can travel into the card. */
455
+ closeDelay?: number;
456
+ placement?: OverlaySide;
457
+ ariaLabel?: string;
458
+ asChild?: boolean;
459
+ className?: string;
312
460
  };
461
+ export declare function HoverCard({ trigger, children, openDelay, closeDelay, placement, ariaLabel, asChild, className }: HoverCardProps): import("react").JSX.Element;
462
+ //#endregion
463
+ //#region src/molecules/Menu/index.d.ts
313
464
  type MenuProps = {
314
- trigger: Renderable;
315
- items: MenuItem[];
316
- onSelect?: (value: string) => void;
317
- label?: string;
318
- align?: "start" | "end";
319
- disabled?: boolean;
320
- className?: string;
321
- };
322
- declare function Menu({ trigger, items, onSelect, label, align, disabled, className, }: MenuProps): react.JSX.Element;
323
-
465
+ trigger: Renderable;
466
+ items: MenuItem[];
467
+ onSelect?: (value: string) => void;
468
+ /** Controlled open state. */
469
+ open?: boolean;
470
+ /** Fires whenever the menu asks to open or close. */
471
+ onOpenChange?: (open: boolean) => void;
472
+ label?: string;
473
+ align?: "start" | "end";
474
+ disabled?: boolean;
475
+ asChild?: boolean;
476
+ className?: string;
477
+ };
478
+ export declare function Menu({ trigger, items, onSelect, label, align, open: openProp, onOpenChange, disabled, asChild, className }: MenuProps): import("react").JSX.Element;
479
+ //#endregion
480
+ //#region src/molecules/OTPInput/index.d.ts
481
+ type OTPPattern = "numeric" | "alphanumeric" | RegExp;
482
+ type OTPState = "idle" | "verifying" | "success" | "error";
483
+ type OTPInputProps = {
484
+ /** The full code, owned by the parent. */
485
+ value: string;
486
+ onChange?: (value: string) => void;
487
+ /** Fires once when the last cell fills. */
488
+ onComplete?: (value: string) => void;
489
+ /** Number of cells. Defaults to 6. */
490
+ length?: number;
491
+ groups?: number[];
492
+ pattern?: OTPPattern;
493
+ state?: OTPState;
494
+ placeholder?: string;
495
+ clearOnError?: boolean;
496
+ disabled?: boolean;
497
+ invalid?: boolean;
498
+ autoFocus?: boolean;
499
+ ariaLabel?: string;
500
+ id?: string;
501
+ name?: string;
502
+ "aria-describedby"?: string;
503
+ className?: string;
504
+ };
505
+ export declare function OTPInput({ value, onChange, onComplete, length, groups, pattern, state, placeholder, clearOnError, disabled, invalid, autoFocus, ariaLabel, id, name, "aria-describedby": describedBy, className }: OTPInputProps): import("react").JSX.Element;
506
+ //#endregion
507
+ //#region src/molecules/Pagination/index.d.ts
508
+ type PaginationProps = Omit<HTMLAttributes<HTMLElement>, "onChange"> & {
509
+ /** Current page, 1-based. */
510
+ page: number;
511
+ pageCount: number;
512
+ onPageChange?: (page: number) => void;
513
+ /** Numbers shown either side of the current page. Default 1. */
514
+ siblings?: number;
515
+ /** Readout drawn on the right: "1–20 of 340". */
516
+ status?: Renderable;
517
+ /** Accessible name for the nav landmark. */
518
+ label?: string;
519
+ };
520
+ export declare function Pagination({ page, pageCount, onPageChange, siblings, status, label, className, ...props }: PaginationProps): import("react").JSX.Element | null;
521
+ //#endregion
522
+ //#region src/molecules/Popover/index.d.ts
324
523
  type PopoverProps = {
325
- trigger: Renderable;
326
- children: Renderable;
327
- open?: boolean;
328
- defaultOpen?: boolean;
329
- onOpenChange?: (open: boolean) => void;
330
- ariaLabel?: string;
331
- placement?: "start" | "end";
332
- disabled?: boolean;
333
- className?: string;
334
- };
335
- declare function Popover({ trigger, children, open, defaultOpen, onOpenChange, ariaLabel, placement, disabled, className, }: PopoverProps): react.JSX.Element;
336
-
524
+ trigger: Renderable;
525
+ children: Renderable;
526
+ open?: boolean;
527
+ defaultOpen?: boolean;
528
+ onOpenChange?: (open: boolean) => void;
529
+ ariaLabel?: string;
530
+ placement?: "start" | "end";
531
+ disabled?: boolean;
532
+ asChild?: boolean;
533
+ className?: string;
534
+ };
535
+ export declare function Popover({ trigger, children, open, defaultOpen, onOpenChange, ariaLabel, placement, disabled, asChild, className }: PopoverProps): import("react").JSX.Element;
536
+ //#endregion
537
+ //#region src/molecules/QuestionCard/index.d.ts
538
+ type QuestionOption = {
539
+ value: string;
540
+ label: Renderable;
541
+ /** Secondary line under the label. */
542
+ hint?: Renderable;
543
+ disabled?: boolean;
544
+ };
545
+ type QuestionCardProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "value" | "defaultValue"> & {
546
+ question: Renderable;
547
+ /** Helper line under the question. */
548
+ description?: Renderable;
549
+ options: QuestionOption[];
550
+ /** Controlled selected option. */
551
+ value?: string;
552
+ /** Selected option on first render. */
553
+ defaultValue?: string;
554
+ onValueChange?: (value: string) => void;
555
+ /** Correct option. Setting it locks the card and shows the verdict. */
556
+ answer?: string;
557
+ /** Row under the options: submit buttons, hints, score. */
558
+ footer?: Renderable;
559
+ disabled?: boolean;
560
+ };
561
+ export declare function QuestionCard({ question, description, options, value, defaultValue, onValueChange, answer, footer, disabled, className, ...props }: QuestionCardProps): import("react").JSX.Element;
562
+ //#endregion
563
+ //#region src/molecules/RadioGroup/index.d.ts
337
564
  type RadioOption = {
338
- value: string;
339
- label: Renderable;
340
- description?: Renderable;
341
- disabled?: boolean;
565
+ value: string;
566
+ label: Renderable;
567
+ description?: Renderable;
568
+ disabled?: boolean;
342
569
  };
343
570
  type RadioGroupProps = {
344
- value: string;
345
- options: RadioOption[];
346
- onValueChange: (value: string) => void;
347
- name: string;
348
- label?: Renderable;
349
- description?: Renderable;
350
- size?: ControlSize;
351
- orientation?: "horizontal" | "vertical";
352
- disabled?: boolean;
353
- className?: string;
354
- };
355
- declare function RadioGroup({ value, options, onValueChange, name, label, description, size, orientation, disabled, className, }: RadioGroupProps): react.JSX.Element;
356
-
571
+ value: string;
572
+ options: RadioOption[];
573
+ onValueChange: (value: string) => void;
574
+ name: string;
575
+ label?: Renderable;
576
+ description?: Renderable;
577
+ size?: ControlSize;
578
+ orientation?: "horizontal" | "vertical";
579
+ disabled?: boolean;
580
+ className?: string;
581
+ };
582
+ export declare function RadioGroup({ value, options, onValueChange, name, label, description, size, orientation, disabled, className }: RadioGroupProps): import("react").JSX.Element;
583
+ //#endregion
584
+ //#region src/molecules/Reveal/index.d.ts
585
+ type RevealProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
586
+ children: Renderable;
587
+ trigger?: "mount" | "scroll";
588
+ direction?: "up" | "down" | "left" | "right" | "none";
589
+ distance?: number;
590
+ delay?: number;
591
+ speed?: MotionSpeed;
592
+ once?: boolean;
593
+ };
594
+ export declare function Reveal({ children, trigger, direction, distance, delay, speed, once, className, style, ...props }: RevealProps): import("react").JSX.Element;
595
+ //#endregion
596
+ //#region src/molecules/Select/index.d.ts
357
597
  type SelectOption = {
358
- value: string;
359
- label: Renderable;
360
- disabled?: boolean;
598
+ value: string;
599
+ label: Renderable;
600
+ disabled?: boolean;
361
601
  };
362
602
  type SelectProps = {
363
- value: string;
364
- options: SelectOption[];
365
- onValueChange: (value: string) => void;
366
- id?: string;
367
- className?: string;
368
- placeholder?: Renderable;
369
- ariaLabel?: string;
370
- ariaLabelledBy?: string;
371
- disabled?: boolean;
372
- size?: ControlSize;
373
- };
374
- declare function Select({ value, options, onValueChange, id, className, placeholder, ariaLabel, ariaLabelledBy, disabled, size, }: SelectProps): react.JSX.Element;
375
-
603
+ value: string;
604
+ options: SelectOption[];
605
+ onValueChange: (value: string) => void;
606
+ id?: string;
607
+ className?: string;
608
+ placeholder?: Renderable;
609
+ ariaLabel?: string;
610
+ ariaLabelledBy?: string;
611
+ disabled?: boolean;
612
+ size?: ControlSize;
613
+ };
614
+ export declare function Select({ value, options, onValueChange, id, className, placeholder, ariaLabel, ariaLabelledBy, disabled, size }: SelectProps): import("react").JSX.Element;
615
+ //#endregion
616
+ //#region src/molecules/Stat/index.d.ts
617
+ type StatProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
618
+ label: Renderable;
619
+ value: Renderable;
620
+ hint?: Renderable;
621
+ };
622
+ export declare function Stat({ label, value, hint, className, ...props }: StatProps): import("react").JSX.Element;
623
+ type StatGroupProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
624
+ children: Renderable;
625
+ columns?: number;
626
+ };
627
+ export declare function StatGroup({ children, columns, className, style, ...props }: StatGroupProps): import("react").JSX.Element;
628
+ type DeltaProps = Omit<HTMLAttributes<HTMLSpanElement>, "children" | "title"> & {
629
+ value: number;
630
+ format?: (value: number) => string;
631
+ };
632
+ export declare function Delta({ value, format, className, ...props }: DeltaProps): import("react").JSX.Element;
633
+ //#endregion
634
+ //#region src/molecules/Tabs/index.d.ts
376
635
  type TabItem = {
377
- value: string;
378
- label: Renderable;
379
- disabled?: boolean;
380
- content?: Renderable;
636
+ value: string;
637
+ label: Renderable;
638
+ disabled?: boolean;
639
+ content?: Renderable;
381
640
  };
382
641
  type TabsProps = {
383
- items: TabItem[];
384
- value?: string;
385
- defaultValue?: string;
386
- onValueChange?: (value: string) => void;
387
- children?: Renderable;
388
- ariaLabel?: string;
389
- orientation?: "horizontal" | "vertical";
390
- className?: string;
391
- };
392
- declare function Tabs({ items, value, defaultValue, onValueChange, children, ariaLabel, orientation, className, }: TabsProps): react.JSX.Element;
393
-
642
+ items: TabItem[];
643
+ value?: string;
644
+ defaultValue?: string;
645
+ onValueChange?: (value: string) => void;
646
+ children?: Renderable;
647
+ ariaLabel?: string;
648
+ orientation?: "horizontal" | "vertical";
649
+ className?: string;
650
+ };
651
+ export declare function Tabs({ items, value, defaultValue, onValueChange, children, ariaLabel, orientation, className }: TabsProps): import("react").JSX.Element;
652
+ //#endregion
653
+ //#region src/molecules/TaskList/index.d.ts
654
+ type TaskState = "todo" | "doing" | "done";
655
+ type TaskListItem = {
656
+ /** Stable id reported back through `onStateChange`. */
657
+ id: string;
658
+ label: Renderable;
659
+ state?: TaskState;
660
+ /** Trailing meta: due date, assignee, counters. */
661
+ meta?: Renderable;
662
+ disabled?: boolean;
663
+ };
664
+ type TaskListProps = Omit<HTMLAttributes<HTMLUListElement>, "children" | "onChange"> & {
665
+ items: TaskListItem[];
666
+ /**
667
+ * Fires with the next state when a row's check is pressed:
668
+ * todo → doing → done → todo.
669
+ */
670
+ onStateChange?: (id: string, state: TaskState) => void;
671
+ /** Accessible name for the list. */
672
+ label?: string;
673
+ };
674
+ export declare function TaskList({ items, onStateChange, label, className, ...props }: TaskListProps): import("react").JSX.Element;
675
+ //#endregion
676
+ //#region src/molecules/Timeline/index.d.ts
677
+ type TimelineItem = {
678
+ /** Event title. */
679
+ title: Renderable;
680
+ /** Body rendered under the head. */
681
+ children?: Renderable;
682
+ /** Right-aligned time or meta. */
683
+ timestamp?: Renderable;
684
+ /** Leading icon in place of the default dot. */
685
+ icon?: Renderable;
686
+ tone?: "default" | "accent" | "success" | "danger";
687
+ /** Marks the latest event: its marker keeps breathing. */
688
+ current?: boolean;
689
+ };
690
+ type TimelineProps = Omit<HTMLAttributes<HTMLElement>, "children"> & {
691
+ items: TimelineItem[];
692
+ /** Accessible name for the list. */
693
+ label?: string;
694
+ };
695
+ export declare function Timeline({ items, label, className, ...props }: TimelineProps): import("react").JSX.Element;
696
+ //#endregion
697
+ //#region src/molecules/Toast/index.d.ts
394
698
  type ToastProps = {
395
- open?: boolean;
396
- id?: string | number;
397
- title: Renderable;
398
- description?: Renderable;
399
- variant?: "neutral" | "success" | "warning" | "danger";
400
- action?: ExternalToast["action"];
401
- duration?: number;
402
- closeButton?: boolean;
403
- className?: string;
404
- };
405
- declare function Toast({ open, id, title, description, variant, action, duration, closeButton, className, }: ToastProps): null;
699
+ open?: boolean;
700
+ id?: string | number;
701
+ title: Renderable;
702
+ description?: Renderable;
703
+ variant?: "neutral" | "success" | "warning" | "danger";
704
+ action?: ExternalToast["action"];
705
+ duration?: number;
706
+ closeButton?: boolean;
707
+ className?: string;
708
+ };
709
+ export declare function Toast({ open, id, title, description, variant, action, duration, closeButton, className }: ToastProps): null;
406
710
  type ToastViewportProps = Omit<ToasterProps, "className" | "containerAriaLabel" | "icons" | "toastOptions"> & {
407
- label?: string;
408
- className?: string;
409
- toastOptions?: ToasterProps["toastOptions"];
711
+ label?: string;
712
+ className?: string;
713
+ toastOptions?: ToasterProps["toastOptions"];
410
714
  };
411
- declare function ToastViewport({ label, className, toastOptions, theme, position, closeButton, expand, ...props }: ToastViewportProps): react.JSX.Element;
412
-
715
+ export declare function ToastViewport({ label, className, toastOptions, theme, position, closeButton, expand, ...props }: ToastViewportProps): import("react").JSX.Element;
716
+ //#endregion
717
+ //#region src/molecules/Toolbar/index.d.ts
413
718
  type ToolbarProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
414
- label?: string;
415
- orientation?: "horizontal" | "vertical";
416
- size?: ControlSize;
417
- start?: Renderable;
418
- end?: Renderable;
419
- children?: Renderable;
420
- };
421
- declare function Toolbar({ label, orientation, size, start, end, children, className, ...props }: ToolbarProps): react.JSX.Element;
422
-
719
+ label?: string;
720
+ orientation?: "horizontal" | "vertical";
721
+ size?: ControlSize;
722
+ start?: Renderable;
723
+ end?: Renderable;
724
+ children?: Renderable;
725
+ };
726
+ export declare function Toolbar({ label, orientation, size, start, end, children, className, ...props }: ToolbarProps): import("react").JSX.Element;
727
+ //#endregion
728
+ //#region src/molecules/Tooltip/index.d.ts
423
729
  type TooltipProps = {
424
- content: Renderable;
425
- children: Renderable;
426
- side?: "top" | "right" | "bottom" | "left";
427
- delay?: number;
428
- disabled?: boolean;
429
- className?: string;
430
- };
431
- declare function Tooltip({ content, children, side, delay, disabled, className, }: TooltipProps): react.JSX.Element;
432
-
730
+ content: Renderable;
731
+ children: Renderable;
732
+ side?: "top" | "right" | "bottom" | "left";
733
+ delay?: number;
734
+ disabled?: boolean;
735
+ className?: string;
736
+ };
737
+ type TooltipGroupProps = {
738
+ delay?: number;
739
+ skipDelay?: number;
740
+ children?: Renderable;
741
+ };
742
+ export declare function TooltipGroup({ delay, skipDelay, children }: TooltipGroupProps): import("react").JSX.Element;
743
+ export declare function Tooltip({ content, children, side, delay, disabled, className }: TooltipProps): import("react").JSX.Element;
744
+ //#endregion
745
+ //#region src/organisms/Chart/index.d.ts
746
+ type ChartSeries = {
747
+ name: string;
748
+ /** One entry per category; `null` breaks the line into segments. */
749
+ values: (number | null)[];
750
+ tone?: "accent" | "success" | "danger" | "muted";
751
+ };
752
+ type ChartProps = Omit<HTMLAttributes<HTMLElement>, "children"> & {
753
+ /** Labels along the x-axis. */
754
+ categories: string[];
755
+ series: ChartSeries[];
756
+ /** Marks drawn on the plot. Default "line". */
757
+ variant?: "line" | "bar" | "area";
758
+ /** Plot height in pixels. Default 160. */
759
+ height?: number;
760
+ /** Curve the line (Catmull-Rom). Default false. */
761
+ smooth?: boolean;
762
+ /** Target y-axis ticks; nice numbers win. Default 4. */
763
+ ticks?: number;
764
+ /** Formats axis and tooltip values. Trims decimals by default. */
765
+ format?: (value: number) => string;
766
+ /** Show the legend. Defaults to shown for more than one series. */
767
+ legend?: boolean;
768
+ /** Accessible summary for the plot. */
769
+ label?: string;
770
+ };
771
+ export declare function Chart({ categories, series, variant, height, smooth, ticks, format, legend, label, className, ...props }: ChartProps): import("react").JSX.Element;
772
+ //#endregion
773
+ //#region src/organisms/CommandPalette/index.d.ts
433
774
  type CommandItem = {
434
- id?: string;
435
- label: Renderable;
436
- /** Value reported to `onSelect` when omitted (falls back to the label). */
437
- value?: string;
438
- icon?: Renderable;
439
- /** Groups options under a heading; ungrouped options always come first. */
440
- group?: string;
441
- /** Muted text trailing the option (chevrons are drawn for parents). */
442
- hint?: Renderable;
443
- badge?: Renderable;
444
- shortcut?: string[];
445
- /** Extra terms matched by the filter but never highlighted. */
446
- keywords?: string;
447
- disabled?: boolean;
448
- /** Sub-options: activating this option drills into a new level. */
449
- children?: CommandItem[];
775
+ id?: string;
776
+ label: Renderable;
777
+ value?: string;
778
+ icon?: Renderable;
779
+ group?: string;
780
+ hint?: Renderable;
781
+ badge?: Renderable;
782
+ shortcut?: string[];
783
+ keywords?: string;
784
+ disabled?: boolean;
785
+ children?: CommandItem[];
450
786
  };
451
787
  type CommandPaletteProps = {
452
- open: boolean;
453
- onOpenChange: (open: boolean) => void;
454
- items: CommandItem[];
455
- onSelect?: (item: CommandItem) => void;
456
- placeholder?: string;
457
- emptyMessage?: Renderable;
458
- /** Label of the breadcrumb that returns to the root level. */
459
- homeLabel?: string;
460
- ariaLabel?: string;
461
- /** Bind Cmd/Ctrl+K to toggle the palette. Default: true. */
462
- hotkey?: boolean;
463
- className?: string;
464
- };
465
- declare function CommandPalette({ open, onOpenChange, items, onSelect, placeholder, emptyMessage, homeLabel, ariaLabel, hotkey, className, }: CommandPaletteProps): react.ReactPortal | null;
466
-
788
+ open: boolean;
789
+ onOpenChange: (open: boolean) => void;
790
+ items: CommandItem[];
791
+ onSelect?: (item: CommandItem) => void;
792
+ placeholder?: string;
793
+ emptyMessage?: Renderable;
794
+ homeLabel?: string;
795
+ ariaLabel?: string;
796
+ hotkey?: boolean;
797
+ className?: string;
798
+ filter?: (item: CommandItem, query: string) => boolean;
799
+ };
800
+ export declare function CommandPalette({ open, onOpenChange, items, onSelect, placeholder, emptyMessage, homeLabel, ariaLabel, hotkey, className, filter }: CommandPaletteProps): import("react").ReactPortal | null;
801
+ //#endregion
802
+ //#region src/organisms/EmptyState/index.d.ts
467
803
  type EmptyStateProps = Omit<HTMLAttributes<HTMLElement>, "children" | "title"> & {
468
- title: Renderable;
469
- description?: Renderable;
470
- icon?: Renderable;
471
- action?: Renderable;
472
- compact?: boolean;
473
- };
474
- declare function EmptyState({ title, description, icon, action, compact, className, ...props }: EmptyStateProps): react.JSX.Element;
475
-
804
+ title: Renderable;
805
+ description?: Renderable;
806
+ icon?: Renderable;
807
+ action?: Renderable;
808
+ compact?: boolean;
809
+ };
810
+ export declare function EmptyState({ title, description, icon, action, compact, className, ...props }: EmptyStateProps): import("react").JSX.Element;
811
+ //#endregion
812
+ //#region src/organisms/MagneticDropzone/index.d.ts
813
+ type DropzoneRejectReason = "type" | "size" | "count";
814
+ type DropzoneFileLike = {
815
+ name: string;
816
+ type: string;
817
+ size: number;
818
+ };
819
+ type DropzoneValidation = {
820
+ accept?: string;
821
+ multiple?: boolean;
822
+ maxFiles?: number;
823
+ maxSize?: number;
824
+ };
825
+ type DropzoneValidationResult<T extends DropzoneFileLike> = {
826
+ accepted: T[];
827
+ rejected: {
828
+ reason: DropzoneRejectReason;
829
+ files: T[];
830
+ }[];
831
+ };
476
832
  type MagneticDropzoneProps = Omit<React.HTMLAttributes<HTMLDivElement>, "onDrop" | "onDragOver" | "children"> & {
477
- /** Idle content: an icon, instructions, a choose-file button. */
478
- children?: Renderable;
479
- /** Replaces `children` while files hover over the zone. */
480
- activeContent?: Renderable;
481
- onFiles?: (files: File[]) => void;
482
- /** Forwarded to the hidden file input, e.g. "image/*,.pdf". */
483
- accept?: string;
484
- multiple?: boolean;
485
- disabled?: boolean;
486
- className?: string;
833
+ /** Idle content: an icon, instructions, a choose-file button. */
834
+ children?: Renderable;
835
+ /** Replaces `children` while files hover over the zone. */
836
+ activeContent?: Renderable;
837
+ onFiles?: (files: File[]) => void;
838
+ onReject?: (files: File[], reason: DropzoneRejectReason) => void;
839
+ /** Forwarded to the hidden file input, e.g. "image/*,.pdf". */
840
+ accept?: string;
841
+ multiple?: boolean;
842
+ maxFiles?: number;
843
+ maxSize?: number;
844
+ disabled?: boolean;
845
+ label?: string;
846
+ trigger?: "zone" | "children";
847
+ className?: string;
487
848
  };
849
+ export declare function validateDropzoneFiles<T extends DropzoneFileLike>(files: readonly T[], { accept, multiple, maxFiles, maxSize }?: DropzoneValidation): DropzoneValidationResult<T>;
850
+ export declare function describeDropzoneResult(result: DropzoneValidationResult<DropzoneFileLike>): string;
488
851
  /**
489
852
  * A drop zone whose content leans toward the pointer while files hover —
490
853
  * the pull is a CSS variable updated on dragover, so the attraction stays
491
854
  * cheap and collapses with the motion tokens.
492
855
  */
493
- declare function MagneticDropzone({ children, activeContent, onFiles, accept, multiple, disabled, className, ...props }: MagneticDropzoneProps): react.JSX.Element;
494
-
856
+ export declare function MagneticDropzone({ children, activeContent, onFiles, onReject, accept, multiple, maxFiles, maxSize, disabled, label, trigger, className, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, onPaste, ...props }: MagneticDropzoneProps): import("react").JSX.Element;
857
+ //#endregion
858
+ //#region src/organisms/Menubar/index.d.ts
859
+ type MenubarMenu = {
860
+ /** Accessible name for the menu and its trigger. */
861
+ label: string;
862
+ /** Rich trigger content; falls back to the label. */
863
+ trigger?: Renderable;
864
+ items: MenuItem[];
865
+ disabled?: boolean;
866
+ };
867
+ type MenubarProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "onSelect"> & {
868
+ menus: MenubarMenu[];
869
+ onSelect?: (value: string) => void;
870
+ /** Accessible name for the bar itself. */
871
+ label?: string;
872
+ };
873
+ /**
874
+ * The classic application menu bar. Menus run controlled off a single
875
+ * `openIndex`: hovering a closed bar opens after a short intent delay, an
876
+ * already-open bar slides straight across, and the arrow keys walk the
877
+ * triggers with wrap-around.
878
+ */
879
+ export declare function Menubar({ menus, onSelect, label, className, ...props }: MenubarProps): import("react").JSX.Element;
880
+ //#endregion
881
+ //#region src/organisms/ReasoningSteps/index.d.ts
495
882
  type ReasoningStep = {
496
- id?: string;
497
- title: Renderable;
498
- detail?: Renderable;
499
- status?: "pending" | "active" | "done";
883
+ id?: string;
884
+ title: Renderable;
885
+ detail?: Renderable;
886
+ status?: "pending" | "active" | "done";
500
887
  };
501
888
  type ReasoningStepsProps = {
502
- steps: ReasoningStep[];
503
- /** Header label. Default: "Reasoning". */
504
- label?: Renderable;
505
- open?: boolean;
506
- defaultOpen?: boolean;
507
- onOpenChange?: (open: boolean) => void;
508
- className?: string;
509
- };
510
- declare function ReasoningSteps({ steps, label, open, defaultOpen, onOpenChange, className, }: ReasoningStepsProps): react.JSX.Element;
511
-
889
+ steps: ReasoningStep[];
890
+ label?: Renderable;
891
+ open?: boolean;
892
+ defaultOpen?: boolean;
893
+ onOpenChange?: (open: boolean) => void;
894
+ className?: string;
895
+ };
896
+ export declare function ReasoningSteps({ steps, label, open, defaultOpen, onOpenChange, className }: ReasoningStepsProps): import("react").JSX.Element;
897
+ //#endregion
898
+ //#region src/organisms/Resizable/index.d.ts
512
899
  type ResizableProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
513
- /** The panes, in visual order. A handle is rendered between each pair. */
514
- panes: Renderable[];
515
- direction?: "horizontal" | "vertical";
516
- /** Controlled pane sizes in percent; they should sum to 100. */
517
- sizes?: number[];
518
- defaultSizes?: number[];
519
- onSizesChange?: (sizes: number[]) => void;
520
- /** Smallest share a pane may keep, in percent. Default: 10. */
521
- min?: number;
522
- handleLabel?: string;
523
- };
524
- declare function Resizable({ panes, direction, sizes, defaultSizes, onSizesChange, min, handleLabel, className, ...props }: ResizableProps): react.JSX.Element;
525
-
900
+ /** The panes, in visual order. A handle is rendered between each pair. */
901
+ panes: Renderable[];
902
+ direction?: "horizontal" | "vertical";
903
+ /** Controlled pane sizes in percent; they should sum to 100. */
904
+ sizes?: number[];
905
+ defaultSizes?: number[];
906
+ onSizesChange?: (sizes: number[]) => void;
907
+ /** Smallest share a pane may keep, in percent. Default: 10. */
908
+ min?: number;
909
+ handleLabel?: string;
910
+ };
911
+ export declare function Resizable({ panes, direction, sizes, defaultSizes, onSizesChange, min, handleLabel, className, ...props }: ResizableProps): import("react").JSX.Element;
912
+ //#endregion
913
+ //#region src/organisms/Sidebar/index.d.ts
526
914
  type SidebarItem = {
527
- value: string;
528
- label: Renderable;
529
- icon?: Renderable;
530
- badge?: Renderable;
531
- disabled?: boolean;
915
+ value: string;
916
+ label: Renderable;
917
+ icon?: Renderable;
918
+ badge?: Renderable;
919
+ disabled?: boolean;
532
920
  };
533
921
  type SidebarSection = {
534
- title?: string;
535
- items: SidebarItem[];
922
+ title?: string;
923
+ items: SidebarItem[];
536
924
  };
537
925
  type SidebarProps = Omit<HTMLAttributes<HTMLElement>, "children" | "onSelect"> & {
538
- sections: SidebarSection[];
539
- /** Controlled active item. */
540
- value?: string;
541
- defaultValue?: string;
542
- onSelect?: (value: string) => void;
543
- header?: Renderable;
544
- footer?: Renderable;
545
- /** Show the collapse toggle. Default: false. */
546
- collapsible?: boolean;
547
- collapsed?: boolean;
548
- defaultCollapsed?: boolean;
549
- onCollapsedChange?: (collapsed: boolean) => void;
550
- ariaLabel?: string;
551
- };
552
- declare function Sidebar({ sections, value, defaultValue, onSelect, header, footer, collapsible, collapsed, defaultCollapsed, onCollapsedChange, ariaLabel, className, ...props }: SidebarProps): react.JSX.Element;
553
-
926
+ sections: SidebarSection[];
927
+ /** Controlled active item. */
928
+ value?: string;
929
+ defaultValue?: string;
930
+ onSelect?: (value: string) => void;
931
+ header?: Renderable;
932
+ footer?: Renderable;
933
+ /** Show the collapse toggle. Default: false. */
934
+ collapsible?: boolean;
935
+ collapsed?: boolean;
936
+ defaultCollapsed?: boolean;
937
+ onCollapsedChange?: (collapsed: boolean) => void;
938
+ ariaLabel?: string;
939
+ };
940
+ export declare function Sidebar({ sections, value, defaultValue, onSelect, header, footer, collapsible, collapsed, defaultCollapsed, onCollapsedChange, ariaLabel, className, ...props }: SidebarProps): import("react").JSX.Element;
941
+ //#endregion
942
+ //#region src/organisms/StreamingText/index.d.ts
554
943
  type StreamingTextProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
555
- text: string;
556
- /** Delay between word entrances, in ms. Default: 30. */
557
- speed?: number;
558
- /** Reveal words progressively. Default: true. */
559
- animated?: boolean;
944
+ text: string;
945
+ /** Delay between word entrances, in ms. Default: 30. */
946
+ speed?: number;
947
+ /** Reveal words progressively. Default: true. */
948
+ animated?: boolean;
560
949
  };
561
950
  /**
562
951
  * Words arrive one at a time — and because each word animates only when it
563
952
  * mounts, appending to `text` streams naturally without any JS timing: the
564
953
  * new words cascade in while finished ones stay put.
565
954
  */
566
- declare function StreamingText({ text, speed, animated, className, ...props }: StreamingTextProps): react.JSX.Element;
567
-
955
+ export declare function StreamingText({ text, speed, animated, className, ...props }: StreamingTextProps): import("react").JSX.Element;
956
+ //#endregion
957
+ //#region src/organisms/Table/rows.d.ts
958
+ type TableSortDirection = "asc" | "desc";
959
+ type TableSort = {
960
+ key: string;
961
+ direction: TableSortDirection;
962
+ };
963
+ //#endregion
964
+ //#region src/organisms/Table/index.d.ts
568
965
  type TableColumn<Row extends Record<string, unknown> = Record<string, unknown>> = {
569
- key: string;
570
- label: Renderable;
571
- align?: "start" | "center" | "end";
572
- width?: string;
573
- render?: (row: Row, index: number) => Renderable;
966
+ key: string;
967
+ label: Renderable;
968
+ align?: "start" | "center" | "end";
969
+ width?: string;
970
+ render?: (row: Row, index: number) => Renderable;
971
+ sortable?: boolean;
972
+ sortValue?: (row: Row) => unknown;
973
+ compare?: (a: Row, b: Row) => number;
574
974
  };
575
975
  type TableProps<Row extends Record<string, unknown> = Record<string, unknown>> = Omit<TableHTMLAttributes<HTMLTableElement>, "children" | "rows" | "className" | "cellPadding" | "cellSpacing"> & {
576
- columns: TableColumn<Row>[];
577
- rows: Row[];
578
- caption?: Renderable;
579
- emptyMessage?: Renderable;
580
- rowKey?: keyof Row & string;
581
- density?: "compact" | "comfortable";
582
- striped?: boolean;
583
- stickyHeader?: boolean;
584
- className?: string;
585
- };
586
- declare function Table<Row extends Record<string, unknown> = Record<string, unknown>>({ columns, rows, caption, emptyMessage, rowKey, density, striped, stickyHeader, className, ...props }: TableProps<Row>): react.JSX.Element;
587
-
588
- export { Alert, type AlertProps, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, type AvatarStatus, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, type ComboboxProps, type CommandItem, CommandPalette, type CommandPaletteProps, type ControlSize, Dialog, type DialogProps, Drawer, type DrawerProps, type DrawerSide, EmptyState, type EmptyStateProps, Field, FieldMessage, type FieldMessageProps, type FieldProps, HoverCard, type HoverCardProps, IconButton, type IconButtonProps, Input, type InputProps, Kbd, type KbdProps, MagneticDropzone, type MagneticDropzoneProps, Menu, type MenuItem, type MenuProps, type MotionSpeed, Notice, type NoticeProps, Popover, type PopoverProps, type Presence, Progress, type ProgressProps, RadioGroup, type RadioGroupProps, type RadioOption, type ReasoningStep, ReasoningSteps, type ReasoningStepsProps, type Renderable, type RenderableElement, Resizable, type ResizableProps, ScrollArea, type ScrollAreaProps, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sidebar, type SidebarItem, type SidebarProps, type SidebarSection, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, StreamingText, type StreamingTextProps, Surface, type SurfaceProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, Toast, type ToastProps, ToastViewport, type ToastViewportProps, Toggle, type ToggleProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, motionDurationMs, parseDurationMs, usePresence };
976
+ columns: TableColumn<Row>[];
977
+ rows: Row[];
978
+ caption?: Renderable;
979
+ emptyMessage?: Renderable;
980
+ rowKey?: keyof Row & string;
981
+ getRowId?: (row: Row, index: number) => string;
982
+ density?: "compact" | "comfortable";
983
+ striped?: boolean;
984
+ stickyHeader?: boolean;
985
+ stickyFirstColumn?: boolean;
986
+ sort?: TableSort[];
987
+ defaultSort?: TableSort[];
988
+ onSortChange?: (sort: TableSort[]) => void;
989
+ multiSort?: boolean;
990
+ manualSort?: boolean;
991
+ selectable?: boolean;
992
+ selected?: ReadonlySet<string> | readonly string[];
993
+ defaultSelected?: ReadonlySet<string> | readonly string[];
994
+ onSelectedChange?: (selected: string[]) => void;
995
+ rowLabel?: (row: Row, index: number) => string;
996
+ selectAllLabel?: string;
997
+ className?: string;
998
+ };
999
+ export declare function Table<Row extends Record<string, unknown> = Record<string, unknown>>({ columns, rows, caption, emptyMessage, rowKey, getRowId, density, striped, stickyHeader, stickyFirstColumn, sort, defaultSort, onSortChange, multiSort, manualSort, selectable, selected, defaultSelected, onSelectedChange, rowLabel, selectAllLabel, className, ...props }: TableProps<Row>): import("react").JSX.Element;
1000
+ //#endregion
1001
+ //#region src/atoms/StatusMark/index.d.ts
1002
+ type StatusMarkState = "idle" | "running" | "progress" | "success" | "error";
1003
+ type StatusMarkProps = Omit<HTMLAttributes<HTMLSpanElement>, "children" | "role" | "aria-label"> & {
1004
+ state?: StatusMarkState;
1005
+ value?: number;
1006
+ label: string;
1007
+ size?: ControlSize;
1008
+ className?: string;
1009
+ };
1010
+ export declare function StatusMark({ state, value, label, size, className, style, ...props }: StatusMarkProps): import("react").JSX.Element;
1011
+ //#endregion
1012
+ //#region src/atoms/Timestamp/index.d.ts
1013
+ type TimestampFormat = "relative" | "absolute" | "auto";
1014
+ type TimestampProps = Omit<TimeHTMLAttributes<HTMLTimeElement>, "children" | "dateTime"> & {
1015
+ date: Date | string | number;
1016
+ format?: TimestampFormat;
1017
+ locale?: string | string[];
1018
+ absoluteOptions?: Intl.DateTimeFormatOptions;
1019
+ live?: boolean;
1020
+ now?: Date | number;
1021
+ };
1022
+ export declare function Timestamp({ date, format, locale, absoluteOptions, live, now, className, ...props }: TimestampProps): import("react").JSX.Element;
1023
+ //#endregion
1024
+ //#region src/atoms/NumberInput/index.d.ts
1025
+ type NumberInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type" | "value" | "defaultValue" | "onChange" | "min" | "max" | "step" | "children"> & {
1026
+ value?: number | null;
1027
+ defaultValue?: number | null;
1028
+ onValueChange?: (value: number | null) => void;
1029
+ min?: number;
1030
+ max?: number;
1031
+ step?: number;
1032
+ largeStep?: number;
1033
+ precision?: number;
1034
+ format?: Intl.NumberFormatOptions;
1035
+ locale?: string;
1036
+ size?: ControlSize;
1037
+ invalid?: boolean;
1038
+ scrub?: boolean;
1039
+ label?: string;
1040
+ decrementLabel?: string;
1041
+ incrementLabel?: string;
1042
+ };
1043
+ export declare function NumberInput({ value, defaultValue, onValueChange, min, max, step, largeStep, precision, format, locale, size, invalid, disabled, readOnly, scrub, label, decrementLabel, incrementLabel, className, style, name, onKeyDown, onBlur, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-invalid": ariaInvalid, ...props }: NumberInputProps): import("react").JSX.Element;
1044
+ //#endregion
1045
+ //#region src/atoms/HoldButton/index.d.ts
1046
+ type HoldButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type"> & {
1047
+ onConfirm: () => void;
1048
+ children?: Renderable;
1049
+ holdLabel?: Renderable;
1050
+ confirmedLabel?: Renderable;
1051
+ hint?: string;
1052
+ duration?: number;
1053
+ variant?: "danger" | "primary" | "secondary";
1054
+ size?: ControlSize;
1055
+ };
1056
+ export declare function HoldButton({ onConfirm, children, holdLabel, confirmedLabel, hint, duration, variant, size, disabled, className, style, onPointerDown, onPointerUp, onPointerCancel, onPointerMove, onKeyDown, onKeyUp, onBlur, onContextMenu, onClick, "aria-describedby": ariaDescribedBy, ...props }: HoldButtonProps): import("react").JSX.Element;
1057
+ //#endregion
1058
+ //#region src/molecules/SegmentedControl/index.d.ts
1059
+ type SegmentedOption = {
1060
+ value: string;
1061
+ label: Renderable;
1062
+ icon?: Renderable;
1063
+ disabled?: boolean;
1064
+ };
1065
+ type SegmentedControlProps = {
1066
+ options: SegmentedOption[];
1067
+ ariaLabel: string;
1068
+ value?: string;
1069
+ defaultValue?: string;
1070
+ onValueChange?: (value: string) => void;
1071
+ size?: ControlSize;
1072
+ density?: ControlDensity;
1073
+ fullWidth?: boolean;
1074
+ disabled?: boolean;
1075
+ className?: string;
1076
+ };
1077
+ export declare function SegmentedControl({ options, ariaLabel, value, defaultValue, onValueChange, size, density, fullWidth, disabled, className }: SegmentedControlProps): import("react").JSX.Element;
1078
+ //#endregion
1079
+ //#region src/molecules/Stepper/index.d.ts
1080
+ type StepperStep = {
1081
+ id?: string;
1082
+ label: Renderable;
1083
+ description?: Renderable;
1084
+ };
1085
+ type StepperProps = {
1086
+ steps: StepperStep[];
1087
+ current: number;
1088
+ orientation?: "horizontal" | "vertical";
1089
+ size?: ControlSize;
1090
+ onStepSelect?: (index: number) => void;
1091
+ ariaLabel?: string;
1092
+ completedLabel?: string;
1093
+ className?: string;
1094
+ };
1095
+ export declare function Stepper({ steps, current, orientation, size, onStepSelect, ariaLabel, completedLabel, className }: StepperProps): import("react").JSX.Element;
1096
+ //#endregion
1097
+ //#region src/molecules/MetadataList/index.d.ts
1098
+ type MetadataEntry = {
1099
+ label: Renderable;
1100
+ value: Renderable;
1101
+ hint?: Renderable;
1102
+ id?: string;
1103
+ };
1104
+ type MetadataListLayout = "columns" | "stacked" | "inline";
1105
+ type MetadataListProps = Omit<HTMLAttributes<HTMLDListElement>, "children"> & {
1106
+ items: MetadataEntry[];
1107
+ layout?: MetadataListLayout;
1108
+ size?: ControlSize;
1109
+ dividers?: boolean;
1110
+ };
1111
+ export declare function MetadataList({ items, layout, size, dividers, className, ...props }: MetadataListProps): import("react").JSX.Element;
1112
+ //#endregion
1113
+ //#region src/molecules/OverflowList/index.d.ts
1114
+ type OverflowCollapse = "end" | "start";
1115
+ type OverflowListProps<T = unknown> = Omit<HTMLAttributes<HTMLUListElement>, "children"> & {
1116
+ items: T[];
1117
+ renderItem: (item: T, index: number) => Renderable;
1118
+ renderOverflow?: (hidden: T[]) => Renderable;
1119
+ renderOverflowItem?: (item: T, index: number) => Renderable;
1120
+ getKey?: (item: T, index: number) => string | number;
1121
+ minVisible?: number;
1122
+ collapseFrom?: OverflowCollapse;
1123
+ overflowLabel?: (count: number) => string;
1124
+ };
1125
+ export declare function OverflowList<T>({ items, renderItem, renderOverflow, renderOverflowItem, getKey, minVisible, collapseFrom, overflowLabel, className, ...props }: OverflowListProps<T>): import("react").JSX.Element;
1126
+ //#endregion
1127
+ //#region src/molecules/Citation/index.d.ts
1128
+ type CitationSource = {
1129
+ title: string;
1130
+ url?: string;
1131
+ site?: string;
1132
+ snippet?: string;
1133
+ favicon?: string;
1134
+ };
1135
+ type CitationProps = {
1136
+ sources: CitationSource[];
1137
+ index?: number;
1138
+ max?: number;
1139
+ placement?: OverlaySide;
1140
+ openDelay?: number;
1141
+ closeDelay?: number;
1142
+ className?: string;
1143
+ };
1144
+ export declare function Citation({ sources, index, max, placement, openDelay, closeDelay, className }: CitationProps): import("react").JSX.Element | null;
1145
+ //#endregion
1146
+ //#region src/molecules/ToolCalls/index.d.ts
1147
+ type ToolCall = {
1148
+ id: string;
1149
+ name: string;
1150
+ title?: Renderable;
1151
+ state: StatusMarkState;
1152
+ input?: Renderable;
1153
+ output?: Renderable;
1154
+ duration?: number;
1155
+ };
1156
+ type ToolCallsProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
1157
+ calls: ToolCall[];
1158
+ open?: boolean;
1159
+ defaultOpen?: boolean;
1160
+ onOpenChange?: (open: boolean) => void;
1161
+ label?: Renderable;
1162
+ };
1163
+ export declare function ToolCalls({ calls, open, defaultOpen, onOpenChange, label, className, ...props }: ToolCallsProps): import("react").JSX.Element;
1164
+ //#endregion
1165
+ //#region src/molecules/PlanCard/index.d.ts
1166
+ type PlanStep = {
1167
+ id: string;
1168
+ label: Renderable;
1169
+ detail?: Renderable;
1170
+ state?: StatusMarkState;
1171
+ };
1172
+ type PlanCardState = "pending" | "approved" | "rejected" | "running";
1173
+ type PlanCardProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "title"> & {
1174
+ title: Renderable;
1175
+ description?: Renderable;
1176
+ steps: PlanStep[];
1177
+ editable?: boolean;
1178
+ onApprove: (steps: PlanStep[]) => void;
1179
+ onReject?: () => void;
1180
+ approveLabel?: Renderable;
1181
+ rejectLabel?: Renderable;
1182
+ state?: PlanCardState;
1183
+ hotkey?: boolean;
1184
+ autoFocus?: boolean;
1185
+ };
1186
+ export declare function PlanCard({ title, description, steps, editable, onApprove, onReject, approveLabel, rejectLabel, state, hotkey, autoFocus, className, ...props }: PlanCardProps): import("react").JSX.Element;
1187
+ //#endregion
1188
+ //#region src/organisms/ChatScroller/index.d.ts
1189
+ type ChatScrollerProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
1190
+ children?: Renderable;
1191
+ itemCount?: number;
1192
+ newCount?: number;
1193
+ threshold?: number;
1194
+ ariaLabel?: string;
1195
+ jumpLabel?: string;
1196
+ contentClassName?: string;
1197
+ onPinnedChange?: (pinned: boolean) => void;
1198
+ };
1199
+ export declare function ChatScroller({ children, itemCount, newCount, threshold, ariaLabel, jumpLabel, contentClassName, onPinnedChange, className, ...props }: ChatScrollerProps): import("react").JSX.Element;
1200
+ //#endregion
1201
+ export { type AccordionItem, type AccordionProps, type AlertProps, type AnimatedNumberProps, type AttachmentFile, type AttachmentProps, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, type AvatarStatus, type BadgeProps, type BreadcrumbItem, type BreadcrumbProps, type ButtonProps, type CalendarProps, type CalendarRange, type CardProps, type ChartProps, type ChartSeries, type ChatScrollerProps, type CheckboxProps, type CitationProps, type CitationSource, type CollapsibleProps, type ComboboxOption, type ComboboxProps, type CommandItem, type CommandPaletteProps, type ContextMenuProps, type ControlDensity, type ControlSize, type DeltaProps, type DialogProps, type DrawerProps, type DrawerSide, type DropzoneRejectReason, type DropzoneValidation, type DropzoneValidationResult, type EmptyStateProps, type FieldMessageProps, type FieldProps, type HoldButtonProps, type HoverCardProps, type IconButtonProps, type InputProps, type KbdProps, type MagneticDropzoneProps, type MenuItem, type MenuProps, type MenubarMenu, type MenubarProps, type MetadataEntry, type MetadataListLayout, type MetadataListProps, type MotionSpeed, type NoticeProps, type NumberInputProps, type OTPInputProps, type OTPPattern, type OTPState, type OverflowListProps, type PaginationProps, type PlanCardProps, type PlanCardState, type PlanStep, type PopoverProps, type Presence, type ProgressProps, type QuestionCardProps, type QuestionOption, type RadioGroupProps, type RadioOption, type ReasoningStep, type ReasoningStepsProps, type Renderable, type RenderableElement, type ResizableProps, type RevealProps, type ScrollAreaProps, type SegmentedControlProps, type SegmentedOption, type SelectOption, type SelectProps, type SeparatorProps, type SidebarItem, type SidebarProps, type SidebarSection, type SkeletonProps, type SliderProps, type SpinnerProps, type StatGroupProps, type StatProps, type StatusMarkProps, type StatusMarkState, type StepperProps, type StepperStep, type StreamingTextProps, type SurfaceProps, type TabItem, type TableColumn, type TableProps, type TableSort, type TableSortDirection, type TabsProps, type TaskListItem, type TaskListProps, type TaskState, type TextareaProps, type TimelineItem, type TimelineProps, type TimestampFormat, type TimestampProps, type ToastProps, type ToastViewportProps, type ToggleProps, type ToolCall, type ToolCallsProps, type ToolbarProps, type TooltipGroupProps, type TooltipProps, toast };
1202
+ //# sourceMappingURL=index.d.ts.map