@aviala-design/spiral 0.0.2 → 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.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, HTMLAttributes, AnchorHTMLAttributes } from 'react';
2
+ import { ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, ComponentPropsWithoutRef, HTMLAttributes, ImgHTMLAttributes, MouseEvent, AnchorHTMLAttributes } from 'react';
3
3
  import { ThemeMode, PaletteConfig, BaseNumbersDensity, ThemePreset } from '@aviala-design/tokens';
4
4
  export { BaseNumbersDensity, DEFAULT_PALETTE_CONFIG, HueFamily, PALETTE_HUE_FAMILIES, PaletteConfig } from '@aviala-design/tokens';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -10,159 +10,155 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
10
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
11
11
  import * as SwitchPrimitive from '@radix-ui/react-switch';
12
12
  import * as PopoverPrimitive from '@radix-ui/react-popover';
13
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
13
14
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
15
+ import * as SliderPrimitive from '@radix-ui/react-slider';
14
16
  import { ClassValue } from 'clsx';
15
17
 
16
- type ThemeProviderProps = {
17
- children: ReactNode;
18
- defaultMode?: ThemeMode;
19
- defaultPrimary?: string;
20
- defaultPresetId?: string;
21
- defaultPaletteConfig?: PaletteConfig;
22
- defaultDensity?: BaseNumbersDensity;
23
- storageKey?: string;
24
- onThemeChange?: (vars: Record<string, string>) => void;
25
- };
26
- type ThemeContextValue = {
27
- mode: ThemeMode;
28
- setMode: (mode: ThemeMode) => void;
29
- primaryColor: string;
30
- setPrimaryColor: (color: string) => void;
31
- presetId: string | undefined;
32
- applyPreset: (id: string) => void;
33
- presets: ThemePreset[];
34
- /** True when the active preset is a frozen ALD theme (palette engine bypassed). */
35
- isStaticTheme: boolean;
36
- density: BaseNumbersDensity;
37
- setDensity: (density: BaseNumbersDensity) => void;
38
- paletteConfig: PaletteConfig;
39
- setPaletteConfig: (config: Partial<PaletteConfig>) => void;
40
- resetPaletteConfig: () => void;
41
- themeVars: Record<string, string>;
42
- };
43
- declare function ThemeProvider({ children, defaultMode, defaultPrimary, defaultPresetId, defaultPaletteConfig, defaultDensity, storageKey, onThemeChange, }: ThemeProviderProps): react.JSX.Element;
44
- declare function useTheme(): ThemeContextValue;
45
- declare function ThemeScript({ storageKey, defaultMode, defaultPrimary, defaultDensity, }: {
46
- storageKey?: string;
47
- defaultMode?: ThemeMode;
48
- defaultPrimary?: string;
49
- defaultDensity?: BaseNumbersDensity;
18
+ type ThemeProviderProps = {
19
+ children: ReactNode;
20
+ defaultMode?: ThemeMode;
21
+ defaultPrimary?: string;
22
+ defaultPresetId?: string;
23
+ defaultPaletteConfig?: PaletteConfig;
24
+ defaultDensity?: BaseNumbersDensity;
25
+ storageKey?: string;
26
+ onThemeChange?: (vars: Record<string, string>) => void;
27
+ };
28
+ type ThemeContextValue = {
29
+ mode: ThemeMode;
30
+ setMode: (mode: ThemeMode) => void;
31
+ primaryColor: string;
32
+ setPrimaryColor: (color: string) => void;
33
+ presetId: string | undefined;
34
+ applyPreset: (id: string) => void;
35
+ presets: ThemePreset[];
36
+ /** True when the active preset is a frozen ALD theme (palette engine bypassed). */
37
+ isStaticTheme: boolean;
38
+ density: BaseNumbersDensity;
39
+ setDensity: (density: BaseNumbersDensity) => void;
40
+ paletteConfig: PaletteConfig;
41
+ setPaletteConfig: (config: Partial<PaletteConfig>) => void;
42
+ resetPaletteConfig: () => void;
43
+ themeVars: Record<string, string>;
44
+ };
45
+ declare function ThemeProvider({ children, defaultMode, defaultPrimary, defaultPresetId, defaultPaletteConfig, defaultDensity, storageKey, onThemeChange, }: ThemeProviderProps): react.JSX.Element;
46
+ declare function useTheme(): ThemeContextValue;
47
+ /** Layout key for remeasuring size-sensitive UI when theme density/mode changes. */
48
+ declare function useThemeLayoutKey(): string | null;
49
+ declare function ThemeScript({ storageKey, defaultMode, defaultPrimary, defaultDensity, }: {
50
+ storageKey?: string;
51
+ defaultMode?: ThemeMode;
52
+ defaultPrimary?: string;
53
+ defaultDensity?: BaseNumbersDensity;
50
54
  }): react.JSX.Element;
51
55
 
52
- /** Figma Components → Basic Input → Button */
53
- type ButtonMode = "primary" | "second" | "default" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | "destructive";
54
- type ButtonSize = "tiny" | "small" | "regular" | "big";
55
- declare const buttonVariants: (props?: ({
56
- mode?: "primary" | "destructive" | "default" | "second" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | null | undefined;
57
- size?: "big" | "small" | "tiny" | "regular" | null | undefined;
58
- allRound?: boolean | null | undefined;
59
- iconOnly?: boolean | null | undefined;
60
- } & class_variance_authority_types.ClassProp) | undefined) => string;
61
- type LegacyVariant = "default" | "secondary" | "outline" | "ghost" | "destructive" | "link";
62
- type LegacySize = "default" | "sm" | "lg" | "icon";
63
- type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & Omit<VariantProps<typeof buttonVariants>, "mode" | "size"> & {
64
- /** Figma `Mode` — preferred over legacy `variant`. */
65
- mode?: ButtonMode;
66
- /** Figma `Size` — preferred over legacy shadcn sizes. */
67
- size?: ButtonSize | LegacySize;
68
- /** Figma `All-Round` */
69
- allRound?: boolean;
70
- /** Figma `IconOnly` */
71
- iconOnly?: boolean;
72
- /** @deprecated Use `mode` instead. */
73
- variant?: LegacyVariant;
74
- loading?: boolean;
75
- /** @deprecated Use `leftIcon`. */
76
- icon?: ReactNode;
77
- leftIcon?: ReactNode;
78
- rightIcon?: ReactNode;
79
- asChild?: boolean;
80
- };
81
- declare const Button: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & Omit<VariantProps<(props?: ({
82
- mode?: "primary" | "destructive" | "default" | "second" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | null | undefined;
83
- size?: "big" | "small" | "tiny" | "regular" | null | undefined;
84
- allRound?: boolean | null | undefined;
85
- iconOnly?: boolean | null | undefined;
86
- } & class_variance_authority_types.ClassProp) | undefined) => string>, "mode" | "size"> & {
87
- /** Figma `Mode` — preferred over legacy `variant`. */
88
- mode?: ButtonMode;
89
- /** Figma `Size` — preferred over legacy shadcn sizes. */
90
- size?: ButtonSize | LegacySize;
91
- /** Figma `All-Round` */
92
- allRound?: boolean;
93
- /** Figma `IconOnly` */
94
- iconOnly?: boolean;
95
- /** @deprecated Use `mode` instead. */
96
- variant?: LegacyVariant;
97
- loading?: boolean;
98
- /** @deprecated Use `leftIcon`. */
99
- icon?: ReactNode;
100
- leftIcon?: ReactNode;
101
- rightIcon?: ReactNode;
102
- asChild?: boolean;
56
+ /** Figma Components → Basic Input → Button */
57
+ type ButtonMode = "primary" | "second" | "default" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | "destructive";
58
+ type ButtonSize = "tiny" | "small" | "regular" | "big";
59
+ declare const buttonVariants: (props?: ({
60
+ mode?: "default" | "primary" | "second" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | "destructive" | null | undefined;
61
+ allRound?: boolean | null | undefined;
62
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
63
+ type LegacyVariant = "default" | "secondary" | "outline" | "ghost" | "destructive" | "link";
64
+ type LegacySize = "default" | "sm" | "lg" | "icon";
65
+ type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & Omit<VariantProps<typeof buttonVariants>, "mode"> & {
66
+ /** Figma `Mode` preferred over legacy `variant`. */
67
+ mode?: ButtonMode;
68
+ /** Figma `Size` — preferred over legacy shadcn sizes. */
69
+ size?: ButtonSize | LegacySize;
70
+ /** Figma `All-Round` */
71
+ allRound?: boolean;
72
+ /** Figma `IconOnly` */
73
+ iconOnly?: boolean;
74
+ /** @deprecated Use `mode` instead. */
75
+ variant?: LegacyVariant;
76
+ loading?: boolean;
77
+ /** @deprecated Use `leftIcon`. */
78
+ icon?: ReactNode;
79
+ leftIcon?: ReactNode;
80
+ rightIcon?: ReactNode;
81
+ asChild?: boolean;
82
+ };
83
+ declare const Button: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & Omit<VariantProps<(props?: ({
84
+ mode?: "default" | "primary" | "second" | "defaultCustom" | "noBackground" | "noBackgroundCustom" | "destructive" | null | undefined;
85
+ allRound?: boolean | null | undefined;
86
+ } & class_variance_authority_types.ClassProp) | undefined) => string>, "mode"> & {
87
+ /** Figma `Mode` preferred over legacy `variant`. */
88
+ mode?: ButtonMode;
89
+ /** Figma `Size` preferred over legacy shadcn sizes. */
90
+ size?: ButtonSize | LegacySize;
91
+ /** Figma `All-Round` */
92
+ allRound?: boolean;
93
+ /** Figma `IconOnly` */
94
+ iconOnly?: boolean;
95
+ /** @deprecated Use `mode` instead. */
96
+ variant?: LegacyVariant;
97
+ loading?: boolean;
98
+ /** @deprecated Use `leftIcon`. */
99
+ icon?: ReactNode;
100
+ leftIcon?: ReactNode;
101
+ rightIcon?: ReactNode;
102
+ asChild?: boolean;
103
103
  } & react.RefAttributes<HTMLButtonElement>>;
104
104
 
105
- /** Figma Components → Information Collect → BaseInput */
106
- type InputSize = "regular" | "big";
107
- declare const inputRootVariants: (props?: ({
108
- size?: "big" | "regular" | null | undefined;
109
- allRound?: boolean | null | undefined;
110
- fullWidth?: boolean | null | undefined;
111
- } & class_variance_authority_types.ClassProp) | undefined) => string;
112
- type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<typeof inputRootVariants> & {
113
- /** Figma `Size` */
114
- size?: InputSize;
115
- /** Figma `All-Round` */
116
- allRound?: boolean;
117
- leftIcon?: ReactNode;
118
- rightIcon?: ReactNode;
119
- /** Figma badge area — left slot inside BaseInput */
120
- leftBadge?: ReactNode;
121
- /** Figma badge area right slot inside BaseInput */
122
- rightBadge?: ReactNode;
123
- /** When false, input sizes to content (e.g. ColorPicker panel row) */
124
- fullWidth?: boolean;
125
- error?: boolean;
126
- };
127
- declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<(props?: ({
128
- size?: "big" | "regular" | null | undefined;
129
- allRound?: boolean | null | undefined;
130
- fullWidth?: boolean | null | undefined;
131
- } & class_variance_authority_types.ClassProp) | undefined) => string> & {
132
- /** Figma `Size` */
133
- size?: InputSize;
134
- /** Figma `All-Round` */
135
- allRound?: boolean;
136
- leftIcon?: ReactNode;
137
- rightIcon?: ReactNode;
138
- /** Figma badge area left slot inside BaseInput */
139
- leftBadge?: ReactNode;
140
- /** Figma badge area — right slot inside BaseInput */
141
- rightBadge?: ReactNode;
142
- /** When false, input sizes to content (e.g. ColorPicker panel row) */
143
- fullWidth?: boolean;
144
- error?: boolean;
105
+ /** Figma Components → Information Collect → BaseInput */
106
+ type InputSize = "regular" | "big";
107
+ declare const inputRootVariants: (props?: ({
108
+ fullWidth?: boolean | null | undefined;
109
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
110
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<typeof inputRootVariants> & {
111
+ /** Figma `Size` */
112
+ size?: InputSize;
113
+ /** Figma `All-Round` */
114
+ allRound?: boolean;
115
+ leftIcon?: ReactNode;
116
+ rightIcon?: ReactNode;
117
+ /** Figma badge area — left slot inside BaseInput */
118
+ leftBadge?: ReactNode;
119
+ /** Figma badge area — right slot inside BaseInput */
120
+ rightBadge?: ReactNode;
121
+ /** When false, input sizes to content (e.g. ColorPicker panel row) */
122
+ fullWidth?: boolean;
123
+ error?: boolean;
124
+ };
125
+ declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<(props?: ({
126
+ fullWidth?: boolean | null | undefined;
127
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
128
+ /** Figma `Size` */
129
+ size?: InputSize;
130
+ /** Figma `All-Round` */
131
+ allRound?: boolean;
132
+ leftIcon?: ReactNode;
133
+ rightIcon?: ReactNode;
134
+ /** Figma badge area — left slot inside BaseInput */
135
+ leftBadge?: ReactNode;
136
+ /** Figma badge area — right slot inside BaseInput */
137
+ rightBadge?: ReactNode;
138
+ /** When false, input sizes to content (e.g. ColorPicker panel row) */
139
+ fullWidth?: boolean;
140
+ error?: boolean;
145
141
  } & react.RefAttributes<HTMLInputElement>>;
146
142
 
147
- /** Figma Components → Information Collect → TextareaInput */
148
- type TextareaSize = "regular" | "big";
149
- type TextareaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
150
- /** Figma `Size` */
151
- size?: TextareaSize;
152
- leftIcon?: ReactNode;
153
- rightIcon?: ReactNode;
154
- /** Figma `Controller` — character counter + resize affordance */
155
- showController?: boolean;
156
- error?: boolean;
157
- };
158
- declare const Textarea: react.ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
159
- /** Figma `Size` */
160
- size?: TextareaSize;
161
- leftIcon?: ReactNode;
162
- rightIcon?: ReactNode;
163
- /** Figma `Controller` — character counter + resize affordance */
164
- showController?: boolean;
165
- error?: boolean;
143
+ /** Figma Components → Information Collect → TextareaInput */
144
+ type TextareaSize = "regular" | "big";
145
+ type TextareaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
146
+ /** Figma `Size` */
147
+ size?: TextareaSize;
148
+ leftIcon?: ReactNode;
149
+ rightIcon?: ReactNode;
150
+ /** Figma `Controller` — character counter + resize affordance */
151
+ showController?: boolean;
152
+ error?: boolean;
153
+ };
154
+ declare const Textarea: react.ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & {
155
+ /** Figma `Size` */
156
+ size?: TextareaSize;
157
+ leftIcon?: ReactNode;
158
+ rightIcon?: ReactNode;
159
+ /** Figma `Controller` — character counter + resize affordance */
160
+ showController?: boolean;
161
+ error?: boolean;
166
162
  } & react.RefAttributes<HTMLTextAreaElement>>;
167
163
 
168
164
  /** Figma Components → Information Collect → Select */
@@ -319,653 +315,1648 @@ declare function SelectItemGroup({ label, showDivider, children, className, }: S
319
315
 
320
316
  declare const Label: react.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & react.RefAttributes<HTMLLabelElement>, "ref"> & react.RefAttributes<HTMLLabelElement>>;
321
317
 
322
- /** Figma Components → Information Display → Badge (also used in BaseInput badge area) */
323
- type BadgeProps = HTMLAttributes<HTMLSpanElement> & {
324
- leftIcon?: ReactNode;
325
- rightIcon?: ReactNode;
326
- children: ReactNode;
327
- };
328
- declare const Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & {
329
- leftIcon?: ReactNode;
330
- rightIcon?: ReactNode;
331
- children: ReactNode;
318
+ /** Figma Components → Information Display → Badge (166:137) */
319
+ type BadgeStyle = "theme" | "info" | "fail" | "warning" | "success" | "normal";
320
+ type BadgeLevel = "caption" | "text";
321
+ type BadgeLineHeightFix = "text" | "subtitle" | "off";
322
+ declare const badgeVariants: (props?: ({
323
+ style?: "theme" | "info" | "fail" | "warning" | "success" | "normal" | null | undefined;
324
+ level?: "text" | "caption" | null | undefined;
325
+ primary?: boolean | null | undefined;
326
+ lineHeightFix?: "subtitle" | "text" | "off" | null | undefined;
327
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
328
+ type BadgeProps = Omit<HTMLAttributes<HTMLSpanElement>, "style"> & Omit<VariantProps<typeof badgeVariants>, "lineHeightFix" | "primary"> & {
329
+ leftIcon?: ReactNode;
330
+ rightIcon?: ReactNode;
331
+ children: ReactNode;
332
+ /** Figma `Primary` — filled primary surface vs secondary surface */
333
+ primary?: boolean;
334
+ /**
335
+ * Figma `LineHeightFix`.
336
+ * - `true` / omitted: Caption → AlignToTextLevel, Text → AlignToSubtitleLevel
337
+ * - `false` / `"off"`: OFF
338
+ */
339
+ lineHeightFix?: boolean | BadgeLineHeightFix;
340
+ };
341
+ declare const Badge: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLSpanElement>, "style"> & Omit<VariantProps<(props?: ({
342
+ style?: "theme" | "info" | "fail" | "warning" | "success" | "normal" | null | undefined;
343
+ level?: "text" | "caption" | null | undefined;
344
+ primary?: boolean | null | undefined;
345
+ lineHeightFix?: "subtitle" | "text" | "off" | null | undefined;
346
+ } & class_variance_authority_types.ClassProp) | undefined) => string>, "primary" | "lineHeightFix"> & {
347
+ leftIcon?: ReactNode;
348
+ rightIcon?: ReactNode;
349
+ children: ReactNode;
350
+ /** Figma `Primary` — filled primary surface vs secondary surface */
351
+ primary?: boolean;
352
+ /**
353
+ * Figma `LineHeightFix`.
354
+ * - `true` / omitted: Caption → AlignToTextLevel, Text → AlignToSubtitleLevel
355
+ * - `false` / `"off"`: OFF
356
+ */
357
+ lineHeightFix?: boolean | BadgeLineHeightFix;
358
+ } & react.RefAttributes<HTMLSpanElement>>;
359
+
360
+ /** Figma Components → Information Display → Avata (305:7013) */
361
+ type AvatarLevel = "display" | "headline1" | "headline2" | "title" | "subtitle" | "text";
362
+ type AvatarContent = "text" | "picture" | "icon";
363
+ declare const avatarVariants: (props?: ({
364
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | null | undefined;
365
+ content?: "text" | "picture" | "icon" | null | undefined;
366
+ lineHeightFix?: boolean | null | undefined;
367
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
368
+ type AvatarProps = HTMLAttributes<HTMLSpanElement> & VariantProps<typeof avatarVariants> & {
369
+ /** Initials / text content when `content="text"` */
370
+ children?: ReactNode;
371
+ /** Image URL when `content="picture"` */
372
+ src?: string;
373
+ alt?: string;
374
+ /** Icon node when `content="icon"` */
375
+ icon?: ReactNode;
376
+ imgProps?: Omit<ImgHTMLAttributes<HTMLImageElement>, "src" | "alt">;
377
+ };
378
+ declare const Avatar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
379
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | null | undefined;
380
+ content?: "text" | "picture" | "icon" | null | undefined;
381
+ lineHeightFix?: boolean | null | undefined;
382
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
383
+ /** Initials / text content when `content="text"` */
384
+ children?: ReactNode;
385
+ /** Image URL when `content="picture"` */
386
+ src?: string;
387
+ alt?: string;
388
+ /** Icon node when `content="icon"` */
389
+ icon?: ReactNode;
390
+ imgProps?: Omit<ImgHTMLAttributes<HTMLImageElement>, "src" | "alt">;
391
+ } & react.RefAttributes<HTMLSpanElement>>;
392
+
393
+ /** Figma Components → Information Display → Tag (617:55892) */
394
+ type TagLevel = "caption" | "text";
395
+ type TagContent = "text" | "people";
396
+ type TagLineHeightFix = "text" | "subtitle" | "off";
397
+ declare const tagVariants: (props?: ({
398
+ level?: "text" | "caption" | null | undefined;
399
+ content?: "text" | "people" | null | undefined;
400
+ lineHeightFix?: "subtitle" | "text" | "off" | null | undefined;
401
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
402
+ type TagProps = HTMLAttributes<HTMLSpanElement> & Omit<VariantProps<typeof tagVariants>, "lineHeightFix"> & {
403
+ leftIcon?: ReactNode;
404
+ rightIcon?: ReactNode;
405
+ children: ReactNode;
406
+ disabled?: boolean;
407
+ /** People content — avatar image or initials */
408
+ avatar?: ReactNode;
409
+ avatarSrc?: string;
410
+ avatarText?: ReactNode;
411
+ closable?: boolean;
412
+ onClose?: (event: MouseEvent<HTMLButtonElement>) => void;
413
+ closeLabel?: string;
414
+ lineHeightFix?: boolean | TagLineHeightFix;
415
+ };
416
+ type TagCloseProps = ButtonHTMLAttributes<HTMLButtonElement>;
417
+ declare const TagClose: react.ForwardRefExoticComponent<TagCloseProps & react.RefAttributes<HTMLButtonElement>>;
418
+ declare const Tag: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & Omit<VariantProps<(props?: ({
419
+ level?: "text" | "caption" | null | undefined;
420
+ content?: "text" | "people" | null | undefined;
421
+ lineHeightFix?: "subtitle" | "text" | "off" | null | undefined;
422
+ } & class_variance_authority_types.ClassProp) | undefined) => string>, "lineHeightFix"> & {
423
+ leftIcon?: ReactNode;
424
+ rightIcon?: ReactNode;
425
+ children: ReactNode;
426
+ disabled?: boolean;
427
+ /** People content — avatar image or initials */
428
+ avatar?: ReactNode;
429
+ avatarSrc?: string;
430
+ avatarText?: ReactNode;
431
+ closable?: boolean;
432
+ onClose?: (event: MouseEvent<HTMLButtonElement>) => void;
433
+ closeLabel?: string;
434
+ lineHeightFix?: boolean | TagLineHeightFix;
332
435
  } & react.RefAttributes<HTMLSpanElement>>;
333
436
 
334
- /** Figma Components → Loading Icon */
335
- type LoadingLevel = "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption";
336
- type LoadingMode = "theme" | "themeText" | "black" | "white" | "inherit";
337
- declare const loadingVariants: (props?: ({
338
- level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
339
- mode?: "theme" | "themeText" | "black" | "white" | "inherit" | null | undefined;
340
- lineHeightFix?: boolean | null | undefined;
341
- } & class_variance_authority_types.ClassProp) | undefined) => string;
342
- declare const BUTTON_SIZE_TO_LOADING_LEVEL: {
343
- readonly tiny: "caption";
344
- readonly small: "text";
345
- readonly regular: "text";
346
- readonly big: "text";
347
- };
348
- type LoadingButtonSize = keyof typeof BUTTON_SIZE_TO_LOADING_LEVEL;
349
- declare function loadingLevelForButtonSize(size: LoadingButtonSize): LoadingLevel;
350
- type LoadingProps = HTMLAttributes<HTMLSpanElement> & VariantProps<typeof loadingVariants> & {
351
- /** Accessible name; omit when decorative (`aria-hidden`). */
352
- label?: string;
353
- };
354
- declare const Loading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
355
- level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
356
- mode?: "theme" | "themeText" | "black" | "white" | "inherit" | null | undefined;
357
- lineHeightFix?: boolean | null | undefined;
358
- } & class_variance_authority_types.ClassProp) | undefined) => string> & {
359
- /** Accessible name; omit when decorative (`aria-hidden`). */
360
- label?: string;
437
+ /** Figma Components → Response And Feedback → Progress (589:55818) */
438
+ type ProgressType = "default" | "success" | "fail";
439
+ type ProgressSize = "default" | "big";
440
+ type ProgressShape = "bar" | "ring";
441
+ declare const progressVariants: (props?: ({
442
+ type?: "default" | "fail" | "success" | null | undefined;
443
+ size?: "default" | "big" | null | undefined;
444
+ shape?: "bar" | "ring" | null | undefined;
445
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
446
+ type ProgressProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof progressVariants> & {
447
+ /** 0–100 */
448
+ value?: number;
449
+ /** Show percent label (bar shape only) */
450
+ showLabel?: boolean;
451
+ label?: string;
452
+ };
453
+ declare const Progress: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
454
+ type?: "default" | "fail" | "success" | null | undefined;
455
+ size?: "default" | "big" | null | undefined;
456
+ shape?: "bar" | "ring" | null | undefined;
457
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
458
+ /** 0–100 */
459
+ value?: number;
460
+ /** Show percent label (bar shape only) */
461
+ showLabel?: boolean;
462
+ label?: string;
463
+ } & react.RefAttributes<HTMLDivElement>>;
464
+
465
+ /** Figma Components → System Composition → Scroll (301:6312) */
466
+ type ScrollSize = "default" | "small";
467
+ type ScrollOrientation = "vertical" | "horizontal";
468
+ declare const scrollVariants: (props?: ({
469
+ size?: "default" | "small" | null | undefined;
470
+ orientation?: "horizontal" | "vertical" | null | undefined;
471
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
472
+ type ScrollProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof scrollVariants> & {
473
+ children?: ReactNode;
474
+ };
475
+ /**
476
+ * Scrollable region with Aviala-styled scrollbar (track + thumb).
477
+ * Figma documents the thumb/track chrome; this wraps content with that chrome.
478
+ */
479
+ declare const Scroll: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
480
+ size?: "default" | "small" | null | undefined;
481
+ orientation?: "horizontal" | "vertical" | null | undefined;
482
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
483
+ children?: ReactNode;
484
+ } & react.RefAttributes<HTMLDivElement>>;
485
+
486
+ /** Figma Components → Loading Icon */
487
+ type LoadingLevel = "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption";
488
+ type LoadingMode = "theme" | "themeText" | "black" | "white" | "inherit";
489
+ declare const loadingVariants: (props?: ({
490
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
491
+ mode?: "theme" | "themeText" | "black" | "white" | "inherit" | null | undefined;
492
+ lineHeightFix?: boolean | null | undefined;
493
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
494
+ declare const BUTTON_SIZE_TO_LOADING_LEVEL: {
495
+ readonly tiny: "caption";
496
+ readonly small: "text";
497
+ readonly regular: "text";
498
+ readonly big: "text";
499
+ };
500
+ type LoadingButtonSize = keyof typeof BUTTON_SIZE_TO_LOADING_LEVEL;
501
+ declare function loadingLevelForButtonSize(size: LoadingButtonSize): LoadingLevel;
502
+ type LoadingProps = HTMLAttributes<HTMLSpanElement> & VariantProps<typeof loadingVariants> & {
503
+ /** Accessible name; omit when decorative (`aria-hidden`). */
504
+ label?: string;
505
+ };
506
+ declare const Loading: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
507
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
508
+ mode?: "theme" | "themeText" | "black" | "white" | "inherit" | null | undefined;
509
+ lineHeightFix?: boolean | null | undefined;
510
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
511
+ /** Accessible name; omit when decorative (`aria-hidden`). */
512
+ label?: string;
361
513
  } & react.RefAttributes<HTMLSpanElement>>;
362
514
 
363
- /** Figma Components → Information Collect → Checkbox */
364
- type CheckboxGroupDirection = "vertical" | "horizontal";
365
- type CheckboxProps = ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {
366
- /** Figma Checkbox `Round` */
367
- round?: boolean;
368
- };
369
- declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
370
- /** Figma Checkbox `Round` */
371
- round?: boolean;
372
- } & react.RefAttributes<HTMLButtonElement>>;
373
- type CheckboxGroupProps = ComponentPropsWithoutRef<"div"> & {
374
- /** Figma Checkbox Input Group `Direction` */
375
- direction?: CheckboxGroupDirection;
376
- };
377
- declare const CheckboxGroup: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
378
- /** Figma Checkbox Input Group `Direction` */
379
- direction?: CheckboxGroupDirection;
380
- } & react.RefAttributes<HTMLDivElement>>;
381
- type CheckboxInputProps = Omit<CheckboxProps, "children"> & {
382
- /** Figma Typeface primary line */
383
- title: ReactNode;
384
- /** Figma Typeface caption line */
385
- description?: ReactNode;
386
- icon?: ReactNode;
387
- };
388
- declare const CheckboxInput: react.ForwardRefExoticComponent<Omit<CheckboxProps, "children"> & {
389
- /** Figma Typeface primary line */
390
- title: ReactNode;
391
- /** Figma Typeface caption line */
392
- description?: ReactNode;
393
- icon?: ReactNode;
515
+ /** Figma Components → Information Collect → Checkbox */
516
+ type CheckboxGroupDirection = "vertical" | "horizontal";
517
+ type CheckboxProps = ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {
518
+ /** Figma Checkbox `Round` */
519
+ round?: boolean;
520
+ };
521
+ declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
522
+ /** Figma Checkbox `Round` */
523
+ round?: boolean;
524
+ } & react.RefAttributes<HTMLButtonElement>>;
525
+ type CheckboxGroupProps = ComponentPropsWithoutRef<"div"> & {
526
+ /** Figma Checkbox Input Group `Direction` */
527
+ direction?: CheckboxGroupDirection;
528
+ };
529
+ declare const CheckboxGroup: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
530
+ /** Figma Checkbox Input Group `Direction` */
531
+ direction?: CheckboxGroupDirection;
532
+ } & react.RefAttributes<HTMLDivElement>>;
533
+ type CheckboxInputProps = Omit<CheckboxProps, "children"> & {
534
+ /** Figma Typeface primary line */
535
+ title: ReactNode;
536
+ /** Figma Typeface caption line */
537
+ description?: ReactNode;
538
+ icon?: ReactNode;
539
+ };
540
+ declare const CheckboxInput: react.ForwardRefExoticComponent<Omit<CheckboxProps, "children"> & {
541
+ /** Figma Typeface primary line */
542
+ title: ReactNode;
543
+ /** Figma Typeface caption line */
544
+ description?: ReactNode;
545
+ icon?: ReactNode;
394
546
  } & react.RefAttributes<HTMLButtonElement>>;
395
547
 
396
- /** Figma Components → Information Collect → Radio */
397
- type RadioGroupDirection = "vertical" | "horizontal";
398
- type RadioInputVariant = "normal" | "card";
399
- type RadioGroupProps = ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> & {
400
- /** Figma Radio Input Group `Direction` */
401
- direction?: RadioGroupDirection;
402
- };
403
- declare const RadioGroup: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
404
- /** Figma Radio Input Group `Direction` */
405
- direction?: RadioGroupDirection;
406
- } & react.RefAttributes<HTMLDivElement>>;
407
- type RadioGroupItemProps = ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
408
- declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
409
- type RadioInputProps = Omit<RadioGroupItemProps, "children"> & {
410
- /** Figma Typeface primary line */
411
- title: ReactNode;
412
- /** Figma Typeface caption line */
413
- description?: ReactNode;
414
- icon?: ReactNode;
415
- /** Figma Radio Input `Style` */
416
- variant?: RadioInputVariant;
417
- };
418
- declare const RadioInput: react.ForwardRefExoticComponent<Omit<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref">, "children"> & {
419
- /** Figma Typeface primary line */
420
- title: ReactNode;
421
- /** Figma Typeface caption line */
422
- description?: ReactNode;
423
- icon?: ReactNode;
424
- /** Figma Radio Input `Style` */
425
- variant?: RadioInputVariant;
548
+ /** Figma Components → Information Collect → Radio */
549
+ type RadioGroupDirection = "vertical" | "horizontal";
550
+ type RadioInputVariant = "normal" | "card";
551
+ type RadioGroupProps = ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> & {
552
+ /** Figma Radio Input Group `Direction` */
553
+ direction?: RadioGroupDirection;
554
+ };
555
+ declare const RadioGroup: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
556
+ /** Figma Radio Input Group `Direction` */
557
+ direction?: RadioGroupDirection;
558
+ } & react.RefAttributes<HTMLDivElement>>;
559
+ type RadioGroupItemProps = ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
560
+ declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
561
+ type RadioInputProps = Omit<RadioGroupItemProps, "children"> & {
562
+ /** Figma Typeface primary line */
563
+ title: ReactNode;
564
+ /** Figma Typeface caption line */
565
+ description?: ReactNode;
566
+ icon?: ReactNode;
567
+ /** Figma Radio Input `Style` */
568
+ variant?: RadioInputVariant;
569
+ };
570
+ declare const RadioInput: react.ForwardRefExoticComponent<Omit<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref">, "children"> & {
571
+ /** Figma Typeface primary line */
572
+ title: ReactNode;
573
+ /** Figma Typeface caption line */
574
+ description?: ReactNode;
575
+ icon?: ReactNode;
576
+ /** Figma Radio Input `Style` */
577
+ variant?: RadioInputVariant;
426
578
  } & react.RefAttributes<HTMLButtonElement>>;
427
579
 
428
- /** Figma Components → Basic Input → Switch */
429
- type SwitchSize = "regular" | "small";
430
- type SwitchProps = ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> & {
431
- size?: SwitchSize;
432
- };
433
- declare const Switch: react.ForwardRefExoticComponent<Omit<SwitchPrimitive.SwitchProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
434
- size?: SwitchSize;
580
+ /** Figma Components → Basic Input → Switch */
581
+ type SwitchSize = "regular" | "small";
582
+ type SwitchProps = ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> & {
583
+ size?: SwitchSize;
584
+ };
585
+ declare const Switch: react.ForwardRefExoticComponent<Omit<SwitchPrimitive.SwitchProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
586
+ size?: SwitchSize;
435
587
  } & react.RefAttributes<HTMLButtonElement>>;
436
588
 
437
- /** Figma Components → Basic Input → Link */
438
- type LinkLevel = "caption" | "text";
439
- type LinkMode = "noBackground" | "noBackgroundCustom";
440
- type LinkProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "disabled"> & {
441
- level?: LinkLevel;
442
- mode?: LinkMode;
443
- iconOnly?: boolean;
444
- leftIcon?: ReactNode;
445
- rightIcon?: ReactNode;
446
- asChild?: boolean;
447
- disabled?: boolean;
448
- };
449
- declare const Link: react.ForwardRefExoticComponent<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "disabled"> & {
450
- level?: LinkLevel;
451
- mode?: LinkMode;
452
- iconOnly?: boolean;
453
- leftIcon?: ReactNode;
454
- rightIcon?: ReactNode;
455
- asChild?: boolean;
456
- disabled?: boolean;
589
+ /** Figma Components → Basic Input → Link */
590
+ type LinkLevel = "caption" | "text";
591
+ type LinkMode = "noBackground" | "noBackgroundCustom";
592
+ type LinkProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "disabled"> & {
593
+ level?: LinkLevel;
594
+ mode?: LinkMode;
595
+ iconOnly?: boolean;
596
+ leftIcon?: ReactNode;
597
+ rightIcon?: ReactNode;
598
+ asChild?: boolean;
599
+ disabled?: boolean;
600
+ };
601
+ declare const Link: react.ForwardRefExoticComponent<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "disabled"> & {
602
+ level?: LinkLevel;
603
+ mode?: LinkMode;
604
+ iconOnly?: boolean;
605
+ leftIcon?: ReactNode;
606
+ rightIcon?: ReactNode;
607
+ asChild?: boolean;
608
+ disabled?: boolean;
609
+ } & react.RefAttributes<HTMLAnchorElement>>;
610
+
611
+ /** Figma Components → System Composition → Anchor */
612
+ type AnchorIndentLevel = 0 | 1 | 2 | 3;
613
+ type AnchorProps = HTMLAttributes<HTMLElement> & {
614
+ as?: "nav" | "div";
615
+ };
616
+ declare const Anchor: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
617
+ as?: "nav" | "div";
618
+ } & react.RefAttributes<HTMLElement>>;
619
+ type AnchorItemProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> & {
620
+ activated?: boolean;
621
+ indentLevel?: AnchorIndentLevel;
622
+ asChild?: boolean;
623
+ children: ReactNode;
624
+ };
625
+ declare const AnchorItem: react.ForwardRefExoticComponent<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> & {
626
+ activated?: boolean;
627
+ indentLevel?: AnchorIndentLevel;
628
+ asChild?: boolean;
629
+ children: ReactNode;
457
630
  } & react.RefAttributes<HTMLAnchorElement>>;
458
631
 
459
- /** Figma Components → Basic Input → Segmentator */
460
- type SegmentatorMode = "nested" | "tiled";
461
- type SegmentatorGroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & {
462
- value?: string;
463
- defaultValue?: string;
464
- onValueChange?: (value: string) => void;
465
- mode?: SegmentatorMode;
466
- allRound?: boolean;
467
- disabled?: boolean;
468
- };
469
- declare const SegmentatorGroup: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & {
470
- value?: string;
471
- defaultValue?: string;
472
- onValueChange?: (value: string) => void;
473
- mode?: SegmentatorMode;
474
- allRound?: boolean;
475
- disabled?: boolean;
476
- } & react.RefAttributes<HTMLDivElement>>;
477
- type SegmentatorItemProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
478
- value: string;
479
- leftIcon?: ReactNode;
480
- rightIcon?: ReactNode;
481
- iconOnly?: boolean;
482
- };
483
- declare const SegmentatorItem: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
484
- value: string;
485
- leftIcon?: ReactNode;
486
- rightIcon?: ReactNode;
487
- iconOnly?: boolean;
632
+ /** Figma Components → Basic Input → Segmentator */
633
+ type SegmentatorMode = "nested" | "tiled";
634
+ type SegmentatorGroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & {
635
+ value?: string;
636
+ defaultValue?: string;
637
+ onValueChange?: (value: string) => void;
638
+ mode?: SegmentatorMode;
639
+ allRound?: boolean;
640
+ disabled?: boolean;
641
+ };
642
+ declare const SegmentatorGroup: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> & {
643
+ value?: string;
644
+ defaultValue?: string;
645
+ onValueChange?: (value: string) => void;
646
+ mode?: SegmentatorMode;
647
+ allRound?: boolean;
648
+ disabled?: boolean;
649
+ } & react.RefAttributes<HTMLDivElement>>;
650
+ type SegmentatorItemProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
651
+ value: string;
652
+ leftIcon?: ReactNode;
653
+ rightIcon?: ReactNode;
654
+ iconOnly?: boolean;
655
+ };
656
+ declare const SegmentatorItem: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
657
+ value: string;
658
+ leftIcon?: ReactNode;
659
+ rightIcon?: ReactNode;
660
+ iconOnly?: boolean;
488
661
  } & react.RefAttributes<HTMLButtonElement>>;
489
662
 
490
- type FormFieldProps = HTMLAttributes<HTMLDivElement> & {
491
- label?: string;
492
- htmlFor?: string;
493
- description?: ReactNode;
494
- error?: string;
495
- required?: boolean;
496
- };
497
- declare const FormField: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
498
- label?: string;
499
- htmlFor?: string;
500
- description?: ReactNode;
501
- error?: string;
502
- required?: boolean;
503
- } & react.RefAttributes<HTMLDivElement>>;
504
-
505
- /** Figma Components → System Composition → Typography (128:85) */
506
- type TypographyLevel = "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption";
507
- type TypographyContent = "text" | "number";
508
- type TypographyTone = "default" | "white";
509
- declare const typographyVariants: (props?: ({
510
- level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
511
- } & class_variance_authority_types.ClassProp) | undefined) => string;
512
- type TypographyProps = HTMLAttributes<HTMLElement> & VariantProps<typeof typographyVariants> & {
513
- /** Figma `Content` — text vs numeric styling */
514
- content?: TypographyContent;
515
- /** Figma `White` — light text on dark surfaces */
516
- tone?: TypographyTone;
517
- asChild?: boolean;
518
- as?: "p" | "span" | "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label";
519
- };
520
- declare const Typography: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & VariantProps<(props?: ({
521
- level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
522
- } & class_variance_authority_types.ClassProp) | undefined) => string> & {
523
- /** Figma `Content` — text vs numeric styling */
524
- content?: TypographyContent;
525
- /** Figma `White` — light text on dark surfaces */
526
- tone?: TypographyTone;
527
- asChild?: boolean;
528
- as?: "p" | "span" | "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label";
663
+ type FormFieldProps = HTMLAttributes<HTMLDivElement> & {
664
+ label?: string;
665
+ htmlFor?: string;
666
+ description?: ReactNode;
667
+ error?: string;
668
+ required?: boolean;
669
+ };
670
+ declare const FormField: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
671
+ label?: string;
672
+ htmlFor?: string;
673
+ description?: ReactNode;
674
+ error?: string;
675
+ required?: boolean;
676
+ } & react.RefAttributes<HTMLDivElement>>;
677
+
678
+ /** Figma Components → System Composition → Typography (128:85) */
679
+ type TypographyLevel = "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption";
680
+ type TypographyContent = "text" | "number";
681
+ type TypographyTone = "default" | "white";
682
+ declare const typographyVariants: (props?: ({
683
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
684
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
685
+ type TypographyProps = HTMLAttributes<HTMLElement> & VariantProps<typeof typographyVariants> & {
686
+ /** Figma `Content` — text vs numeric styling */
687
+ content?: TypographyContent;
688
+ /** Figma `White` — light text on dark surfaces */
689
+ tone?: TypographyTone;
690
+ asChild?: boolean;
691
+ as?: "p" | "span" | "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label";
692
+ };
693
+ declare const Typography: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & VariantProps<(props?: ({
694
+ level?: "display" | "headline1" | "headline2" | "title" | "subtitle" | "text" | "caption" | null | undefined;
695
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
696
+ /** Figma `Content` — text vs numeric styling */
697
+ content?: TypographyContent;
698
+ /** Figma `White` — light text on dark surfaces */
699
+ tone?: TypographyTone;
700
+ asChild?: boolean;
701
+ as?: "p" | "span" | "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "label";
529
702
  } & react.RefAttributes<HTMLSpanElement>>;
530
703
 
531
- /** Figma Components → System Composition → Typeface (527:56311) */
532
- type TypefaceContent = "allCustom" | "textCaption" | "textCaptionSubtitle" | "textTitle" | "textHeadline2" | "textHeadline1";
533
- type TypefaceProps = Omit<HTMLAttributes<HTMLDivElement>, "content"> & {
534
- /** Figma `Content` preset */
535
- content?: TypefaceContent;
536
- /** Primary line — overrides preset first line */
537
- primary?: ReactNode;
538
- /** Secondary line — overrides preset second line */
539
- secondary?: ReactNode;
540
- /** Tertiary line — used by `textCaptionSubtitle` */
541
- tertiary?: ReactNode;
542
- /** Per-line content mode for numeric text */
543
- primaryContent?: TypographyContent;
544
- secondaryContent?: TypographyContent;
545
- tertiaryContent?: TypographyContent;
546
- tone?: TypographyTone;
547
- };
548
- declare const Typeface: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "content"> & {
549
- /** Figma `Content` preset */
550
- content?: TypefaceContent;
551
- /** Primary line — overrides preset first line */
552
- primary?: ReactNode;
553
- /** Secondary line — overrides preset second line */
554
- secondary?: ReactNode;
555
- /** Tertiary line — used by `textCaptionSubtitle` */
556
- tertiary?: ReactNode;
557
- /** Per-line content mode for numeric text */
558
- primaryContent?: TypographyContent;
559
- secondaryContent?: TypographyContent;
560
- tertiaryContent?: TypographyContent;
561
- tone?: TypographyTone;
562
- } & react.RefAttributes<HTMLDivElement>>;
563
- /** Convenience helper for two-line label + caption pairs (Radio, Checkbox, etc.) */
564
- type TypefacePairProps = Omit<TypefaceProps, "content"> & {
565
- title: ReactNode;
566
- description?: ReactNode;
567
- };
568
- declare const TypefacePair: react.ForwardRefExoticComponent<Omit<TypefaceProps, "content"> & {
569
- title: ReactNode;
570
- description?: ReactNode;
571
- } & react.RefAttributes<HTMLDivElement>>;
572
-
573
- type InputGroupProps = HTMLAttributes<HTMLDivElement> & {
574
- orientation?: "horizontal" | "vertical";
575
- };
576
- declare const InputGroup: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
577
- orientation?: "horizontal" | "vertical";
578
- } & react.RefAttributes<HTMLDivElement>>;
704
+ /** Figma Components → System Composition → Typeface (527:56311) */
705
+ type TypefaceContent = "allCustom" | "textCaption" | "textCaptionSubtitle" | "textTitle" | "textHeadline2" | "textHeadline1";
706
+ type TypefaceProps = Omit<HTMLAttributes<HTMLDivElement>, "content"> & {
707
+ /** Figma `Content` preset */
708
+ content?: TypefaceContent;
709
+ /** Primary line — overrides preset first line */
710
+ primary?: ReactNode;
711
+ /** Secondary line — overrides preset second line */
712
+ secondary?: ReactNode;
713
+ /** Tertiary line — used by `textCaptionSubtitle` */
714
+ tertiary?: ReactNode;
715
+ /** Per-line content mode for numeric text */
716
+ primaryContent?: TypographyContent;
717
+ secondaryContent?: TypographyContent;
718
+ tertiaryContent?: TypographyContent;
719
+ tone?: TypographyTone;
720
+ };
721
+ declare const Typeface: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "content"> & {
722
+ /** Figma `Content` preset */
723
+ content?: TypefaceContent;
724
+ /** Primary line — overrides preset first line */
725
+ primary?: ReactNode;
726
+ /** Secondary line — overrides preset second line */
727
+ secondary?: ReactNode;
728
+ /** Tertiary line — used by `textCaptionSubtitle` */
729
+ tertiary?: ReactNode;
730
+ /** Per-line content mode for numeric text */
731
+ primaryContent?: TypographyContent;
732
+ secondaryContent?: TypographyContent;
733
+ tertiaryContent?: TypographyContent;
734
+ tone?: TypographyTone;
735
+ } & react.RefAttributes<HTMLDivElement>>;
736
+ /** Convenience helper for two-line label + caption pairs (Radio, Checkbox, etc.) */
737
+ type TypefacePairProps = Omit<TypefaceProps, "content"> & {
738
+ title: ReactNode;
739
+ description?: ReactNode;
740
+ };
741
+ declare const TypefacePair: react.ForwardRefExoticComponent<Omit<TypefaceProps, "content"> & {
742
+ title: ReactNode;
743
+ description?: ReactNode;
744
+ } & react.RefAttributes<HTMLDivElement>>;
745
+
746
+ type InputGroupProps = HTMLAttributes<HTMLDivElement> & {
747
+ orientation?: "horizontal" | "vertical";
748
+ };
749
+ declare const InputGroup: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
750
+ orientation?: "horizontal" | "vertical";
751
+ } & react.RefAttributes<HTMLDivElement>>;
579
752
  declare const InputGroupAddon: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
580
753
 
581
- type StackProps = HTMLAttributes<HTMLDivElement> & {
582
- gap?: "inside" | "component" | "content" | "block" | "page";
583
- direction?: "row" | "column";
584
- };
585
- declare const Stack: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
586
- gap?: "inside" | "component" | "content" | "block" | "page";
587
- direction?: "row" | "column";
588
- } & react.RefAttributes<HTMLDivElement>>;
589
- declare const Fieldset: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFieldSetElement> & {
590
- legend?: string;
754
+ type StackProps = HTMLAttributes<HTMLDivElement> & {
755
+ gap?: "inside" | "component" | "content" | "block" | "page";
756
+ direction?: "row" | "column";
757
+ };
758
+ declare const Stack: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
759
+ gap?: "inside" | "component" | "content" | "block" | "page";
760
+ direction?: "row" | "column";
761
+ } & react.RefAttributes<HTMLDivElement>>;
762
+ declare const Fieldset: react.ForwardRefExoticComponent<HTMLAttributes<HTMLFieldSetElement> & {
763
+ legend?: string;
591
764
  } & react.RefAttributes<HTMLFieldSetElement>>;
592
765
 
593
- type ColorFormat = "hex" | "rgb" | "hsl";
594
- type HSVA = {
595
- h: number;
596
- s: number;
597
- v: number;
598
- a: number;
599
- };
766
+ type ColorFormat = "hex" | "rgb" | "hsl";
767
+ type HSVA = {
768
+ h: number;
769
+ s: number;
770
+ v: number;
771
+ a: number;
772
+ };
600
773
  declare const DEFAULT_COLOR = "#FF0000";
601
774
 
602
- type ColorPickerChangeMeta = {
603
- source?: string;
604
- };
605
- type UseColorPickerStateOptions = {
606
- value?: string;
607
- defaultValue?: string;
608
- onChange?: (value: string, meta?: ColorPickerChangeMeta) => void;
609
- format?: ColorFormat;
610
- defaultFormat?: ColorFormat;
611
- onFormatChange?: (format: ColorFormat) => void;
612
- };
613
- declare function useColorPickerState({ value: controlledValue, defaultValue, onChange, format: controlledFormat, defaultFormat, onFormatChange, }: UseColorPickerStateOptions): {
614
- value: string;
615
- format: ColorFormat;
616
- setValue: (next: string, meta?: ColorPickerChangeMeta) => void;
617
- hsva: HSVA;
618
- setHsva: (partial: Partial<HSVA>, meta?: ColorPickerChangeMeta) => void;
619
- setFormat: (next: ColorFormat) => void;
620
- };
621
-
622
- type ColorPickerProps = UseColorPickerStateOptions & {
623
- children: ReactNode;
624
- className?: string;
625
- disabled?: boolean;
626
- presets?: string[];
627
- onPresetsChange?: (presets: string[]) => void;
628
- maxPresets?: number;
629
- open?: boolean;
630
- defaultOpen?: boolean;
631
- onOpenChange?: (open: boolean) => void;
632
- };
633
- declare function ColorPicker({ children, className, disabled, presets, onPresetsChange, maxPresets, value, defaultValue, onChange, format, defaultFormat, onFormatChange, open: controlledOpen, defaultOpen, onOpenChange, }: ColorPickerProps): react.JSX.Element;
634
- type ColorPickerTriggerProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> & {
635
- size?: "regular" | "big";
636
- allRound?: boolean;
637
- placeholder?: string;
638
- className?: string;
639
- };
640
- declare const ColorPickerTrigger: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
641
- size?: "regular" | "big";
642
- allRound?: boolean;
643
- placeholder?: string;
644
- className?: string;
645
- } & react.RefAttributes<HTMLButtonElement>>;
646
- type ColorPickerContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
647
- showEyedropper?: boolean;
648
- showPresets?: boolean;
649
- };
650
- declare const ColorPickerContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
651
- showEyedropper?: boolean;
652
- showPresets?: boolean;
653
- } & react.RefAttributes<HTMLDivElement>>;
654
-
655
- type ColorPickerPanelProps = UseColorPickerStateOptions & {
656
- className?: string;
657
- disabled?: boolean;
658
- presets?: string[];
659
- onPresetsChange?: (presets: string[]) => void;
660
- maxPresets?: number;
661
- showEyedropper?: boolean;
662
- showPresets?: boolean;
663
- };
775
+ type ColorPickerChangeMeta = {
776
+ source?: string;
777
+ };
778
+ type UseColorPickerStateOptions = {
779
+ value?: string;
780
+ defaultValue?: string;
781
+ onChange?: (value: string, meta?: ColorPickerChangeMeta) => void;
782
+ format?: ColorFormat;
783
+ defaultFormat?: ColorFormat;
784
+ onFormatChange?: (format: ColorFormat) => void;
785
+ };
786
+ declare function useColorPickerState({ value: controlledValue, defaultValue, onChange, format: controlledFormat, defaultFormat, onFormatChange, }: UseColorPickerStateOptions): {
787
+ value: string;
788
+ format: ColorFormat;
789
+ setValue: (next: string, meta?: ColorPickerChangeMeta) => void;
790
+ hsva: HSVA;
791
+ setHsva: (partial: Partial<HSVA>, meta?: ColorPickerChangeMeta) => void;
792
+ setFormat: (next: ColorFormat) => void;
793
+ };
794
+
795
+ type ColorPickerProps = UseColorPickerStateOptions & {
796
+ children: ReactNode;
797
+ className?: string;
798
+ disabled?: boolean;
799
+ presets?: string[];
800
+ onPresetsChange?: (presets: string[]) => void;
801
+ maxPresets?: number;
802
+ open?: boolean;
803
+ defaultOpen?: boolean;
804
+ onOpenChange?: (open: boolean) => void;
805
+ };
806
+ declare function ColorPicker({ children, className, disabled, presets, onPresetsChange, maxPresets, value, defaultValue, onChange, format, defaultFormat, onFormatChange, open: controlledOpen, defaultOpen, onOpenChange, }: ColorPickerProps): react.JSX.Element;
807
+ type ColorPickerTriggerProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> & {
808
+ size?: "regular" | "big";
809
+ allRound?: boolean;
810
+ placeholder?: string;
811
+ className?: string;
812
+ };
813
+ declare const ColorPickerTrigger: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
814
+ size?: "regular" | "big";
815
+ allRound?: boolean;
816
+ placeholder?: string;
817
+ className?: string;
818
+ } & react.RefAttributes<HTMLButtonElement>>;
819
+ type ColorPickerContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
820
+ showEyedropper?: boolean;
821
+ showPresets?: boolean;
822
+ };
823
+ declare const ColorPickerContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
824
+ showEyedropper?: boolean;
825
+ showPresets?: boolean;
826
+ } & react.RefAttributes<HTMLDivElement>>;
827
+
828
+ type ColorPickerPanelProps = UseColorPickerStateOptions & {
829
+ className?: string;
830
+ disabled?: boolean;
831
+ presets?: string[];
832
+ onPresetsChange?: (presets: string[]) => void;
833
+ maxPresets?: number;
834
+ showEyedropper?: boolean;
835
+ showPresets?: boolean;
836
+ };
664
837
  declare function ColorPickerPanel({ className, disabled, presets, onPresetsChange, maxPresets, showEyedropper, showPresets, value, defaultValue, onChange, format, defaultFormat, onFormatChange, }: ColorPickerPanelProps): react.JSX.Element;
665
838
 
666
- type ColorPickButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
667
- color: string;
668
- selected?: boolean;
669
- };
670
- declare const ColorPickButton: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
671
- color: string;
672
- selected?: boolean;
839
+ type ColorPickButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
840
+ color: string;
841
+ selected?: boolean;
842
+ };
843
+ declare const ColorPickButton: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> & {
844
+ color: string;
845
+ selected?: boolean;
673
846
  } & react.RefAttributes<HTMLButtonElement>>;
674
847
 
675
- type ColorPickerAreaProps = {
676
- className?: string;
677
- disabled?: boolean;
678
- } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange">;
848
+ type ColorPickerAreaProps = {
849
+ className?: string;
850
+ disabled?: boolean;
851
+ } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange">;
679
852
  declare function ColorPickerArea({ className, disabled, value: valueProp, defaultValue, onChange, }: ColorPickerAreaProps): react.JSX.Element;
680
853
 
681
- type ColorPickerSliderKind = "hue" | "alpha";
682
- type ColorPickerSliderProps = {
683
- kind: ColorPickerSliderKind;
684
- className?: string;
685
- disabled?: boolean;
686
- } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange">;
854
+ type ColorPickerSliderKind = "hue" | "alpha";
855
+ type ColorPickerSliderProps = {
856
+ kind: ColorPickerSliderKind;
857
+ className?: string;
858
+ disabled?: boolean;
859
+ } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange">;
687
860
  declare function ColorPickerSlider({ kind, className, disabled, value: valueProp, defaultValue, onChange, }: ColorPickerSliderProps): react.JSX.Element;
688
861
 
689
- declare global {
690
- interface Window {
691
- EyeDropper?: new () => {
692
- open: () => Promise<{
693
- sRGBHex: string;
694
- }>;
695
- };
696
- }
697
- }
698
- type ColorPickerInputsProps = {
699
- className?: string;
700
- disabled?: boolean;
701
- showEyedropper?: boolean;
702
- } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange" | "format" | "onFormatChange">;
862
+ declare global {
863
+ interface Window {
864
+ EyeDropper?: new () => {
865
+ open: () => Promise<{
866
+ sRGBHex: string;
867
+ }>;
868
+ };
869
+ }
870
+ }
871
+ type ColorPickerInputsProps = {
872
+ className?: string;
873
+ disabled?: boolean;
874
+ showEyedropper?: boolean;
875
+ } & Pick<UseColorPickerStateOptions, "value" | "defaultValue" | "onChange" | "format" | "onFormatChange">;
703
876
  declare function ColorPickerInputs({ className, disabled, showEyedropper, value: valueProp, defaultValue, onChange, format: formatProp, onFormatChange, }: ColorPickerInputsProps): react.JSX.Element;
704
877
 
705
- type ColorPickerPresetsProps = {
706
- className?: string;
707
- presets?: string[];
708
- onPresetsChange?: (presets: string[]) => void;
709
- maxPresets?: number;
710
- disabled?: boolean;
711
- };
878
+ type ColorPickerPresetsProps = {
879
+ className?: string;
880
+ presets?: string[];
881
+ onPresetsChange?: (presets: string[]) => void;
882
+ maxPresets?: number;
883
+ disabled?: boolean;
884
+ };
712
885
  declare function ColorPickerPresets({ className, presets: presetsProp, onPresetsChange: onPresetsChangeProp, maxPresets: maxPresetsProp, disabled, }: ColorPickerPresetsProps): react.JSX.Element;
713
886
 
714
- /** Figma Components → Information Collect → Cascader Input */
715
- type CascaderSize = "regular" | "big";
716
- /** Figma Cascader Menu Item `Function` variant */
717
- type CascaderItemFunction = "simple" | "checkbox" | "form-checkbox" | "radio" | "form-radio" | "search" | "custom";
718
- /** Figma Cascader Menu Item `Type` variant */
719
- type CascaderItemLayout = "default" | "title" | "custom";
720
- type CascaderOption = {
721
- value: string;
722
- label: ReactNode;
723
- disabled?: boolean;
724
- children?: CascaderOption[];
725
- };
726
- type CascaderProps = {
727
- children: ReactNode;
728
- options?: CascaderOption[];
729
- value?: string[];
730
- defaultValue?: string[];
731
- onValueChange?: (value: string[], selectedOptions: CascaderOption[]) => void;
732
- open?: boolean;
733
- defaultOpen?: boolean;
734
- onOpenChange?: (open: boolean) => void;
735
- disabled?: boolean;
736
- size?: CascaderSize;
737
- /** Select parent nodes — Figma allows any-level selection (default true). */
738
- changeOnSelect?: boolean;
739
- className?: string;
740
- };
741
- /**
742
- * Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only
743
- * blur-initiated closes; pointer-down (outside click, item select, trigger toggle)
744
- * and Escape must still dismiss on the first interaction.
745
- */
746
- declare function Cascader({ children, options, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, disabled, size, changeOnSelect, className, }: CascaderProps): react.JSX.Element;
747
- type CascaderTriggerProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> & {
748
- size?: CascaderSize;
749
- allRound?: boolean;
750
- leftIcon?: ReactNode;
751
- rightIcon?: ReactNode;
752
- placeholder?: string;
753
- error?: boolean;
754
- /** Override display when using manual composition without `options`. */
755
- displayValue?: ReactNode;
756
- separator?: string;
757
- className?: string;
758
- };
759
- declare const CascaderTrigger: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
760
- size?: CascaderSize;
761
- allRound?: boolean;
762
- leftIcon?: ReactNode;
763
- rightIcon?: ReactNode;
764
- placeholder?: string;
765
- error?: boolean;
766
- /** Override display when using manual composition without `options`. */
767
- displayValue?: ReactNode;
768
- separator?: string;
769
- className?: string;
770
- } & react.RefAttributes<HTMLButtonElement>>;
771
- type CascaderContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
772
- portalled?: boolean;
773
- className?: string;
774
- };
775
- declare const CascaderContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
776
- portalled?: boolean;
777
- className?: string;
778
- } & react.RefAttributes<HTMLDivElement>>;
779
- type CascaderMenuProps = {
780
- children?: ReactNode;
781
- className?: string;
782
- };
783
- /** Figma Cascader Menu — horizontal column container (`348:13915`). */
784
- declare const CascaderMenu: react.ForwardRefExoticComponent<CascaderMenuProps & react.RefAttributes<HTMLDivElement>>;
785
- type CascaderColumnProps = {
786
- children: ReactNode;
787
- className?: string;
788
- /** Slide + fade in when a new cascade column appears (options-driven menus set this automatically). */
789
- animateEnter?: boolean;
790
- /** Slide + fade out before unmount when a cascade column is removed (options-driven menus set this automatically). */
791
- animateExit?: boolean;
792
- /** Frozen layout slot for exit overlay columns (keeps flex width stable while animating out). */
793
- exitLayout?: {
794
- left: number;
795
- width: number;
796
- };
797
- };
798
- /** Figma Cascader Menu Item Group Group — single cascade column (`345:20543`). */
799
- declare const CascaderColumn: react.ForwardRefExoticComponent<CascaderColumnProps & react.RefAttributes<HTMLDivElement>>;
800
- type CascaderItemGroupProps = {
801
- label?: ReactNode;
802
- showDivider?: boolean;
803
- children: ReactNode;
804
- className?: string;
805
- };
806
- /** Figma Cascader Menu Item Group (`345:16552`). */
807
- declare function CascaderItemGroup({ label, showDivider, children, className, }: CascaderItemGroupProps): react.JSX.Element;
808
- type CascaderItemProps = {
809
- value: string;
810
- pathPrefix?: string[];
811
- itemFunction?: CascaderItemFunction;
812
- layout?: CascaderItemLayout;
813
- leftIcon?: ReactNode;
814
- showLeftIcon?: boolean;
815
- rightIcon?: ReactNode;
816
- showRightIcon?: boolean;
817
- badge?: ReactNode;
818
- showBadge?: boolean;
819
- showFunctionIcon?: boolean;
820
- icon?: ReactNode;
821
- disabled?: boolean;
822
- children?: ReactNode;
823
- className?: string;
824
- hasChildren?: boolean;
825
- };
826
- /** Figma Cascader Menu Item (`345:12487`). */
827
- declare const CascaderItem: react.ForwardRefExoticComponent<CascaderItemProps & react.RefAttributes<HTMLButtonElement>>;
828
- type CascaderOptionsMenuProps = {
829
- className?: string;
830
- };
831
- /** Renders cascade columns from `Cascader` `options` prop. */
832
- declare function CascaderOptionsMenu({ className }: CascaderOptionsMenuProps): react.JSX.Element;
833
- type CascaderFieldProps = Omit<CascaderProps, "children"> & Omit<CascaderTriggerProps, "displayValue"> & {
834
- contentClassName?: string;
835
- menuClassName?: string;
836
- };
837
- /** Convenience field — trigger + options-driven menu. */
838
- declare function CascaderField({ options, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, disabled, size, changeOnSelect, className, contentClassName, menuClassName, allRound, leftIcon, rightIcon, placeholder, error, separator, ...triggerProps }: CascaderFieldProps): react.JSX.Element;
839
-
840
- type PopoverProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Root>;
841
- /**
842
- * Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only
843
- * blur-initiated closes; pointer-down (outside click, trigger toggle) and Escape
844
- * must still dismiss on the first interaction.
845
- */
846
- declare function Popover({ open: openProp, defaultOpen, onOpenChange, modal, ...props }: PopoverProps): react.JSX.Element;
847
- declare const PopoverTrigger: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>>;
848
- declare const PopoverAnchor: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & react.RefAttributes<HTMLDivElement>>;
849
- type PopoverContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
850
- /** Render without Portal — use inside nested overlays. */
851
- portalled?: boolean;
852
- /** Show a caret arrow pointing at the trigger (Figma with-arrow variant). */
853
- showArrow?: boolean;
854
- };
855
- declare const PopoverContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
856
- /** Render without Portal — use inside nested overlays. */
857
- portalled?: boolean;
858
- /** Show a caret arrow pointing at the trigger (Figma with-arrow variant). */
859
- showArrow?: boolean;
860
- } & react.RefAttributes<HTMLDivElement>>;
861
-
862
- /** Default show delay — 300ms per ALD / Radix convention. */
863
- declare const TOOLTIP_DELAY_DURATION = 300;
864
- type TooltipProviderProps = ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>;
865
- declare function TooltipProvider({ delayDuration, skipDelayDuration, ...props }: TooltipProviderProps): react.JSX.Element;
866
- declare const Tooltip: react.FC<TooltipPrimitive.TooltipProps>;
867
- declare const TooltipTrigger: react.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & react.RefAttributes<HTMLButtonElement>>;
868
- type TooltipContentProps = ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {
869
- /** Show a caret arrow pointing at the trigger (default true). */
870
- showArrow?: boolean;
871
- };
872
- declare const TooltipContent: react.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
873
- /** Show a caret arrow pointing at the trigger (default true). */
874
- showArrow?: boolean;
875
- } & react.RefAttributes<HTMLDivElement>>;
876
-
877
- /** Figma List item `Type` variant (738:148304, 647:87555) */
878
- type ListItemType = "action" | "switch" | "select";
879
- /** Figma List item `left icon setting` variant */
880
- type ListItemLeading = "shaped" | "default" | "none";
881
- type ListProps = HTMLAttributes<HTMLDivElement> & {
882
- /** Optional section title above the list card */
883
- title?: ReactNode;
884
- };
885
- /** Figma Structure Navigation → List root */
886
- declare const List: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
887
- /** Optional section title above the list card */
888
- title?: ReactNode;
889
- } & react.RefAttributes<HTMLDivElement>>;
890
- type ListTitleProps = HTMLAttributes<HTMLDivElement>;
891
- /** Figma List title row Typography text level */
892
- declare const ListTitle: react.ForwardRefExoticComponent<ListTitleProps & react.RefAttributes<HTMLDivElement>>;
893
- type ListGroupProps = HTMLAttributes<HTMLDivElement>;
894
- /** Figma List card container — rounded white surface for items */
895
- declare const ListGroup: react.ForwardRefExoticComponent<ListGroupProps & react.RefAttributes<HTMLDivElement>>;
896
- type ListItemGroupProps = {
897
- label?: ReactNode;
898
- children: ReactNode;
899
- className?: string;
900
- };
901
- /** Convenience wrapper — titled list section (Figma List title + card) */
902
- declare function ListItemGroup({ label, children, className }: ListItemGroupProps): react.JSX.Element;
903
- type ListDividerProps = HTMLAttributes<HTMLSpanElement>;
904
- /** Vertical divider between trailing actions (Figma `last` separator) */
905
- declare const ListDivider: react.ForwardRefExoticComponent<ListDividerProps & react.RefAttributes<HTMLSpanElement>>;
906
- type ListSeparatorProps = HTMLAttributes<HTMLHRElement>;
907
- /** Horizontal separator between list groups */
908
- declare const ListSeparator: react.ForwardRefExoticComponent<ListSeparatorProps & react.RefAttributes<HTMLHRElement>>;
909
- type ListItemProps = ComponentPropsWithoutRef<"div"> & {
910
- /** Figma `Type` variant */
911
- itemType?: ListItemType;
912
- /** Figma `left icon setting` variant */
913
- leading?: ListItemLeading;
914
- /** Leading icon node — defaults to GeneralSetting */
915
- icon?: ReactNode;
916
- /** Primary line (Typeface text) */
917
- title: ReactNode;
918
- /** Secondary line (Typeface caption) */
919
- subtitle?: ReactNode;
920
- /** Primary trailing button label */
921
- actionLabel?: ReactNode;
922
- /** Override primary trailing button */
923
- action?: ReactNode;
924
- /** Secondary icon-only button for `action` type */
925
- secondaryAction?: ReactNode;
926
- /** Trailing select slot for `select` type */
927
- select?: ReactNode;
928
- /** Trailing switch props for `switch` type */
929
- switchProps?: Omit<SwitchProps, "size">;
930
- /** Fully custom trailing region — overrides type presets */
931
- trailing?: ReactNode;
932
- selected?: boolean;
933
- disabled?: boolean;
934
- /** Enables hover highlight (auto when `onClick` is set) */
935
- interactive?: boolean;
936
- };
937
- /** Figma Structure Navigation → List item */
938
- declare const ListItem: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
939
- /** Figma `Type` variant */
940
- itemType?: ListItemType;
941
- /** Figma `left icon setting` variant */
942
- leading?: ListItemLeading;
943
- /** Leading icon node defaults to GeneralSetting */
944
- icon?: ReactNode;
945
- /** Primary line (Typeface text) */
946
- title: ReactNode;
947
- /** Secondary line (Typeface caption) */
948
- subtitle?: ReactNode;
949
- /** Primary trailing button label */
950
- actionLabel?: ReactNode;
951
- /** Override primary trailing button */
952
- action?: ReactNode;
953
- /** Secondary icon-only button for `action` type */
954
- secondaryAction?: ReactNode;
955
- /** Trailing select slot for `select` type */
956
- select?: ReactNode;
957
- /** Trailing switch props for `switch` type */
958
- switchProps?: Omit<SwitchProps, "size">;
959
- /** Fully custom trailing region — overrides type presets */
960
- trailing?: ReactNode;
961
- selected?: boolean;
962
- disabled?: boolean;
963
- /** Enables hover highlight (auto when `onClick` is set) */
964
- interactive?: boolean;
965
- } & react.RefAttributes<HTMLDivElement>>;
966
-
967
- /** Toggle `html[data-aviala-keyboard-focus]` for keyboard-only focus ring CSS. */
968
- declare function initKeyboardFocus(): void;
887
+ /** Figma Components → Information Collect → Cascader Input */
888
+ type CascaderSize = "regular" | "big";
889
+ /** Figma Cascader Menu Item `Function` variant */
890
+ type CascaderItemFunction = "simple" | "checkbox" | "form-checkbox" | "radio" | "form-radio" | "search" | "custom";
891
+ /** Figma Cascader Menu Item `Type` variant */
892
+ type CascaderItemLayout = "default" | "title" | "custom";
893
+ type CascaderOption = {
894
+ value: string;
895
+ label: ReactNode;
896
+ disabled?: boolean;
897
+ children?: CascaderOption[];
898
+ };
899
+ type CascaderProps = {
900
+ children: ReactNode;
901
+ options?: CascaderOption[];
902
+ value?: string[];
903
+ defaultValue?: string[];
904
+ onValueChange?: (value: string[], selectedOptions: CascaderOption[]) => void;
905
+ open?: boolean;
906
+ defaultOpen?: boolean;
907
+ onOpenChange?: (open: boolean) => void;
908
+ disabled?: boolean;
909
+ size?: CascaderSize;
910
+ /** Select parent nodes — Figma allows any-level selection (default true). */
911
+ changeOnSelect?: boolean;
912
+ className?: string;
913
+ };
914
+ /**
915
+ * Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only
916
+ * blur-initiated closes; pointer-down (outside click, item select, trigger toggle)
917
+ * and Escape must still dismiss on the first interaction.
918
+ */
919
+ declare function Cascader({ children, options, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, disabled, size, changeOnSelect, className, }: CascaderProps): react.JSX.Element;
920
+ type CascaderTriggerProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> & {
921
+ size?: CascaderSize;
922
+ allRound?: boolean;
923
+ leftIcon?: ReactNode;
924
+ rightIcon?: ReactNode;
925
+ expandIcon?: ReactNode;
926
+ placeholder?: string;
927
+ error?: boolean;
928
+ /** Override display when using manual composition without `options`. */
929
+ displayValue?: ReactNode;
930
+ separator?: string;
931
+ className?: string;
932
+ };
933
+ declare const CascaderTrigger: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
934
+ size?: CascaderSize;
935
+ allRound?: boolean;
936
+ leftIcon?: ReactNode;
937
+ rightIcon?: ReactNode;
938
+ expandIcon?: ReactNode;
939
+ placeholder?: string;
940
+ error?: boolean;
941
+ /** Override display when using manual composition without `options`. */
942
+ displayValue?: ReactNode;
943
+ separator?: string;
944
+ className?: string;
945
+ } & react.RefAttributes<HTMLButtonElement>>;
946
+ type CascaderContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
947
+ portalled?: boolean;
948
+ className?: string;
949
+ };
950
+ declare const CascaderContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
951
+ portalled?: boolean;
952
+ className?: string;
953
+ } & react.RefAttributes<HTMLDivElement>>;
954
+ type CascaderMenuProps = {
955
+ children?: ReactNode;
956
+ className?: string;
957
+ };
958
+ /** Figma Cascader Menu — horizontal column container (`348:13915`). */
959
+ declare const CascaderMenu: react.ForwardRefExoticComponent<CascaderMenuProps & react.RefAttributes<HTMLDivElement>>;
960
+ type CascaderColumnProps = {
961
+ children: ReactNode;
962
+ className?: string;
963
+ /** Slide + fade in when a new cascade column appears (options-driven menus set this automatically). */
964
+ animateEnter?: boolean;
965
+ /** Slide + fade out before unmount when a cascade column is removed (options-driven menus set this automatically). */
966
+ animateExit?: boolean;
967
+ /** Frozen layout slot for exit overlay columns (keeps flex width stable while animating out). */
968
+ exitLayout?: {
969
+ left: number;
970
+ width: number;
971
+ };
972
+ };
973
+ /** Figma Cascader Menu Item Group Group — single cascade column (`345:20543`). */
974
+ declare const CascaderColumn: react.ForwardRefExoticComponent<CascaderColumnProps & react.RefAttributes<HTMLDivElement>>;
975
+ type CascaderItemGroupProps = {
976
+ label?: ReactNode;
977
+ showDivider?: boolean;
978
+ children: ReactNode;
979
+ className?: string;
980
+ };
981
+ /** Figma Cascader Menu Item Group (`345:16552`). */
982
+ declare function CascaderItemGroup({ label, showDivider, children, className, }: CascaderItemGroupProps): react.JSX.Element;
983
+ type CascaderItemProps = {
984
+ value: string;
985
+ pathPrefix?: string[];
986
+ itemFunction?: CascaderItemFunction;
987
+ layout?: CascaderItemLayout;
988
+ leftIcon?: ReactNode;
989
+ showLeftIcon?: boolean;
990
+ rightIcon?: ReactNode;
991
+ showRightIcon?: boolean;
992
+ badge?: ReactNode;
993
+ showBadge?: boolean;
994
+ showFunctionIcon?: boolean;
995
+ icon?: ReactNode;
996
+ disabled?: boolean;
997
+ children?: ReactNode;
998
+ className?: string;
999
+ hasChildren?: boolean;
1000
+ };
1001
+ /** Figma Cascader Menu Item (`345:12487`). */
1002
+ declare const CascaderItem: react.ForwardRefExoticComponent<CascaderItemProps & react.RefAttributes<HTMLButtonElement>>;
1003
+ type CascaderOptionsMenuProps = {
1004
+ className?: string;
1005
+ };
1006
+ /** Renders cascade columns from `Cascader` `options` prop. */
1007
+ declare function CascaderOptionsMenu({ className }: CascaderOptionsMenuProps): react.JSX.Element;
1008
+ type CascaderFieldProps = Omit<CascaderProps, "children"> & Omit<CascaderTriggerProps, "displayValue"> & {
1009
+ contentClassName?: string;
1010
+ menuClassName?: string;
1011
+ };
1012
+ /** Convenience field — trigger + options-driven menu. */
1013
+ declare function CascaderField({ options, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, disabled, size, changeOnSelect, className, contentClassName, menuClassName, allRound, leftIcon, rightIcon, expandIcon, placeholder, error, separator, ...triggerProps }: CascaderFieldProps): react.JSX.Element;
1014
+
1015
+ /** Calendar helpers no external date library. */
1016
+ type DateRange = {
1017
+ from?: Date;
1018
+ to?: Date;
1019
+ };
1020
+ declare function formatDisplayDate(date: Date, locale?: string): string;
1021
+ declare function formatMonthYear(date: Date, locale?: string): string;
1022
+ declare function formatTimeValue(hours: number, minutes: number): string;
1023
+
1024
+ /** Figma Components → Information Collect → DatePicker Input */
1025
+ type DatePickerSize = "regular" | "big";
1026
+ type DatePickerMode = "single" | "range";
1027
+ type DatePickerPanel = "date" | "time";
1028
+ type DatePickerTimeValue = {
1029
+ hours: number;
1030
+ minutes: number;
1031
+ };
1032
+
1033
+ type DatePickerBaseProps = {
1034
+ children: ReactNode;
1035
+ mode?: DatePickerMode;
1036
+ open?: boolean;
1037
+ defaultOpen?: boolean;
1038
+ onOpenChange?: (open: boolean) => void;
1039
+ disabled?: boolean;
1040
+ size?: DatePickerSize;
1041
+ minDate?: Date;
1042
+ maxDate?: Date;
1043
+ className?: string;
1044
+ /** Figma DatePickerLIstGroup — footer date/time Segmentator */
1045
+ enableTime?: boolean;
1046
+ timeValue?: DatePickerTimeValue;
1047
+ defaultTimeValue?: DatePickerTimeValue;
1048
+ onTimeChange?: (value: DatePickerTimeValue) => void;
1049
+ };
1050
+ type DatePickerSingleProps = DatePickerBaseProps & {
1051
+ mode?: "single";
1052
+ value?: Date;
1053
+ defaultValue?: Date;
1054
+ onValueChange?: (value: Date | undefined) => void;
1055
+ };
1056
+ type DatePickerRangeProps = DatePickerBaseProps & {
1057
+ mode: "range";
1058
+ value?: DateRange;
1059
+ defaultValue?: DateRange;
1060
+ onValueChange?: (value: DateRange) => void;
1061
+ };
1062
+ type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;
1063
+ /**
1064
+ * Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only
1065
+ * blur-initiated closes; pointer-down and Escape must still dismiss on first interaction.
1066
+ */
1067
+ declare function DatePicker(props: DatePickerProps): react.JSX.Element;
1068
+ type DatePickerTriggerProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
1069
+ size?: DatePickerSize;
1070
+ allRound?: boolean;
1071
+ leftIcon?: ReactNode;
1072
+ rightIcon?: ReactNode;
1073
+ placeholder?: string;
1074
+ rangePlaceholder?: string;
1075
+ error?: boolean;
1076
+ displayValue?: ReactNode;
1077
+ rangeSeparator?: string;
1078
+ className?: string;
1079
+ };
1080
+ declare const DatePickerTrigger: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
1081
+ size?: DatePickerSize;
1082
+ allRound?: boolean;
1083
+ leftIcon?: ReactNode;
1084
+ rightIcon?: ReactNode;
1085
+ placeholder?: string;
1086
+ rangePlaceholder?: string;
1087
+ error?: boolean;
1088
+ displayValue?: ReactNode;
1089
+ rangeSeparator?: string;
1090
+ className?: string;
1091
+ } & react.RefAttributes<HTMLButtonElement>>;
1092
+ type DatePickerContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
1093
+ portalled?: boolean;
1094
+ };
1095
+ declare const DatePickerContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1096
+ portalled?: boolean;
1097
+ } & react.RefAttributes<HTMLDivElement>>;
1098
+ type DatePickerCalendarProps = {
1099
+ className?: string;
1100
+ };
1101
+ declare function DatePickerCalendar({ className }: DatePickerCalendarProps): react.JSX.Element;
1102
+ type DatePickerFieldProps = Omit<DatePickerTriggerProps, "displayValue"> & {
1103
+ contentClassName?: string;
1104
+ calendarClassName?: string;
1105
+ mode?: DatePickerMode;
1106
+ open?: boolean;
1107
+ defaultOpen?: boolean;
1108
+ onOpenChange?: (open: boolean) => void;
1109
+ disabled?: boolean;
1110
+ size?: DatePickerSize;
1111
+ minDate?: Date;
1112
+ maxDate?: Date;
1113
+ className?: string;
1114
+ value?: Date | DateRange;
1115
+ defaultValue?: Date | DateRange;
1116
+ onValueChange?: ((value: Date | undefined) => void) | ((value: DateRange) => void);
1117
+ enableTime?: boolean;
1118
+ timeValue?: DatePickerTimeValue;
1119
+ defaultTimeValue?: DatePickerTimeValue;
1120
+ onTimeChange?: (value: DatePickerTimeValue) => void;
1121
+ };
1122
+ /** Convenience field trigger + calendar panel. */
1123
+ declare function DatePickerField({ contentClassName, calendarClassName, className, size, mode, allRound, leftIcon, rightIcon, placeholder, rangePlaceholder, error, rangeSeparator, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, disabled, minDate, maxDate, enableTime, timeValue, defaultTimeValue, onTimeChange, }: DatePickerFieldProps): react.JSX.Element;
1124
+
1125
+ /** Figma Components → Information Collect → TimePicker */
1126
+ type TimePickerSize = "regular" | "big";
1127
+ type TimePickerValue = {
1128
+ hours: number;
1129
+ minutes: number;
1130
+ };
1131
+
1132
+ type TimePickerProps = {
1133
+ children: ReactNode;
1134
+ value?: TimePickerValue;
1135
+ defaultValue?: TimePickerValue;
1136
+ onValueChange?: (value: TimePickerValue) => void;
1137
+ open?: boolean;
1138
+ defaultOpen?: boolean;
1139
+ onOpenChange?: (open: boolean) => void;
1140
+ disabled?: boolean;
1141
+ size?: TimePickerSize;
1142
+ className?: string;
1143
+ };
1144
+ declare function TimePicker({ children, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, disabled, size, className, }: TimePickerProps): react.JSX.Element;
1145
+ type TimePickerTriggerProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
1146
+ size?: TimePickerSize;
1147
+ allRound?: boolean;
1148
+ leftIcon?: ReactNode;
1149
+ rightIcon?: ReactNode;
1150
+ placeholder?: string;
1151
+ error?: boolean;
1152
+ displayValue?: string | null;
1153
+ };
1154
+ declare const TimePickerTrigger: react.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> & {
1155
+ size?: TimePickerSize;
1156
+ allRound?: boolean;
1157
+ leftIcon?: ReactNode;
1158
+ rightIcon?: ReactNode;
1159
+ placeholder?: string;
1160
+ error?: boolean;
1161
+ displayValue?: string | null;
1162
+ } & react.RefAttributes<HTMLButtonElement>>;
1163
+ type TimePickerContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
1164
+ portalled?: boolean;
1165
+ };
1166
+ declare const TimePickerContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1167
+ portalled?: boolean;
1168
+ } & react.RefAttributes<HTMLDivElement>>;
1169
+ type TimePickerPanelProps = {
1170
+ className?: string;
1171
+ };
1172
+ declare function TimePickerPanel({ className }: TimePickerPanelProps): react.JSX.Element;
1173
+ type TimePickerFieldProps = Omit<TimePickerTriggerProps, "displayValue"> & {
1174
+ contentClassName?: string;
1175
+ panelClassName?: string;
1176
+ value?: TimePickerValue;
1177
+ defaultValue?: TimePickerValue;
1178
+ onValueChange?: (value: TimePickerValue) => void;
1179
+ open?: boolean;
1180
+ defaultOpen?: boolean;
1181
+ onOpenChange?: (open: boolean) => void;
1182
+ disabled?: boolean;
1183
+ size?: TimePickerSize;
1184
+ className?: string;
1185
+ };
1186
+ /** Convenience field — trigger + time wheel panel. */
1187
+ declare function TimePickerField({ contentClassName, panelClassName, className, size, allRound, leftIcon, rightIcon, placeholder, error, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, disabled, }: TimePickerFieldProps): react.JSX.Element;
1188
+
1189
+ type TimePickerWheelsValue = {
1190
+ hours: number;
1191
+ minutes: number;
1192
+ };
1193
+ type TimePickerWheelsProps = {
1194
+ value: TimePickerWheelsValue;
1195
+ onChange: (value: TimePickerWheelsValue) => void;
1196
+ className?: string;
1197
+ };
1198
+ declare function TimePickerWheels({ value, onChange, className }: TimePickerWheelsProps): react.JSX.Element;
1199
+
1200
+ type PopoverProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Root>;
1201
+ /**
1202
+ * Radix Popover closes on `window` blur (e.g. focusing DevTools). Suppress only
1203
+ * blur-initiated closes; pointer-down (outside click, trigger toggle) and Escape
1204
+ * must still dismiss on the first interaction.
1205
+ */
1206
+ declare function Popover({ open: openProp, defaultOpen, onOpenChange, modal, ...props }: PopoverProps): react.JSX.Element;
1207
+ declare const PopoverTrigger: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1208
+ declare const PopoverAnchor: react.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & react.RefAttributes<HTMLDivElement>>;
1209
+ type PopoverContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {
1210
+ /** Render without Portal — use inside nested overlays. */
1211
+ portalled?: boolean;
1212
+ /** Show a caret arrow pointing at the trigger (Figma with-arrow variant). */
1213
+ showArrow?: boolean;
1214
+ };
1215
+ declare const PopoverContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1216
+ /** Render without Portal — use inside nested overlays. */
1217
+ portalled?: boolean;
1218
+ /** Show a caret arrow pointing at the trigger (Figma with-arrow variant). */
1219
+ showArrow?: boolean;
1220
+ } & react.RefAttributes<HTMLDivElement>>;
1221
+
1222
+ /** Figma Components → Information Display → Modal (553:58593) */
1223
+ type ModalSize = "default" | "large";
1224
+ declare const modalContentVariants: (props?: ({
1225
+ size?: "default" | "large" | null | undefined;
1226
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1227
+ type ModalProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
1228
+ declare const Modal: react.FC<DialogPrimitive.DialogProps>;
1229
+ declare const ModalTrigger: react.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1230
+ declare const ModalPortal: react.FC<DialogPrimitive.DialogPortalProps>;
1231
+ declare const ModalClose: react.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & react.RefAttributes<HTMLButtonElement>>;
1232
+ type ModalOverlayProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
1233
+ declare const ModalOverlay: react.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1234
+ type ModalContentProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & VariantProps<typeof modalContentVariants> & {
1235
+ /** Render without Portal — use inside nested overlays. */
1236
+ portalled?: boolean;
1237
+ /** Show the default overlay scrim. */
1238
+ showOverlay?: boolean;
1239
+ };
1240
+ declare const ModalContent: react.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
1241
+ size?: "default" | "large" | null | undefined;
1242
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
1243
+ /** Render without Portal — use inside nested overlays. */
1244
+ portalled?: boolean;
1245
+ /** Show the default overlay scrim. */
1246
+ showOverlay?: boolean;
1247
+ } & react.RefAttributes<HTMLDivElement>>;
1248
+ type ModalHeaderProps = HTMLAttributes<HTMLDivElement> & {
1249
+ /** Optional leading status icon */
1250
+ icon?: ReactNode;
1251
+ /** Show the leading icon slot */
1252
+ showIcon?: boolean;
1253
+ /** Show the header close control */
1254
+ showClose?: boolean;
1255
+ closeLabel?: string;
1256
+ };
1257
+ declare const ModalHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1258
+ /** Optional leading status icon */
1259
+ icon?: ReactNode;
1260
+ /** Show the leading icon slot */
1261
+ showIcon?: boolean;
1262
+ /** Show the header close control */
1263
+ showClose?: boolean;
1264
+ closeLabel?: string;
1265
+ } & react.RefAttributes<HTMLDivElement>>;
1266
+ type ModalTitleProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
1267
+ declare const ModalTitle: react.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & react.RefAttributes<HTMLHeadingElement>, "ref"> & react.RefAttributes<HTMLHeadingElement>>;
1268
+ type ModalDescriptionProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
1269
+ declare const ModalDescription: react.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & react.RefAttributes<HTMLParagraphElement>, "ref"> & react.RefAttributes<HTMLParagraphElement>>;
1270
+ /** Convenience wrapper — Figma header Typeface (text + caption). */
1271
+ type ModalHeaderTextProps = Omit<ModalHeaderProps, "children"> & {
1272
+ title: ReactNode;
1273
+ description?: ReactNode;
1274
+ };
1275
+ declare function ModalHeaderText({ title, description, ...props }: ModalHeaderTextProps): react.JSX.Element;
1276
+ type ModalBodyProps = HTMLAttributes<HTMLDivElement> & {
1277
+ /** Figma `Content=Text` — title + body copy preset */
1278
+ layout?: "default" | "text";
1279
+ title?: ReactNode;
1280
+ description?: ReactNode;
1281
+ };
1282
+ declare const ModalBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1283
+ /** Figma `Content=Text` — title + body copy preset */
1284
+ layout?: "default" | "text";
1285
+ title?: ReactNode;
1286
+ description?: ReactNode;
1287
+ } & react.RefAttributes<HTMLDivElement>>;
1288
+ type ModalFooterProps = HTMLAttributes<HTMLDivElement>;
1289
+ declare const ModalFooter: react.ForwardRefExoticComponent<ModalFooterProps & react.RefAttributes<HTMLDivElement>>;
1290
+
1291
+ /** Default show delay — 300ms per ALD / Radix convention. */
1292
+ declare const TOOLTIP_DELAY_DURATION = 300;
1293
+ type TooltipProviderProps = ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>;
1294
+ declare function TooltipProvider({ delayDuration, skipDelayDuration, ...props }: TooltipProviderProps): react.JSX.Element;
1295
+ declare const Tooltip: react.FC<TooltipPrimitive.TooltipProps>;
1296
+ declare const TooltipTrigger: react.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1297
+ type TooltipContentProps = ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {
1298
+ /** Show a caret arrow pointing at the trigger (default true). */
1299
+ showArrow?: boolean;
1300
+ };
1301
+ declare const TooltipContent: react.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1302
+ /** Show a caret arrow pointing at the trigger (default true). */
1303
+ showArrow?: boolean;
1304
+ } & react.RefAttributes<HTMLDivElement>>;
1305
+
1306
+ /** Figma Components → Response And Feedback → Feedback (553:58620) */
1307
+ type FeedbackType = "information" | "warning" | "wrong" | "success" | "normal";
1308
+ type FeedbackSize = "default" | "small";
1309
+ type FeedbackMode = "default" | "primary";
1310
+ declare const feedbackVariants: (props?: ({
1311
+ type?: "warning" | "success" | "normal" | "information" | "wrong" | null | undefined;
1312
+ size?: "default" | "small" | null | undefined;
1313
+ mode?: "default" | "primary" | null | undefined;
1314
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1315
+ type FeedbackProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof feedbackVariants> & {
1316
+ /** Primary line — bold on default size */
1317
+ title: ReactNode;
1318
+ /** Secondary caption line — default size only */
1319
+ description?: ReactNode;
1320
+ /** Status icon override */
1321
+ icon?: ReactNode;
1322
+ /** Figma `Show Close Button` */
1323
+ showClose?: boolean;
1324
+ onClose?: (event: MouseEvent<HTMLAnchorElement>) => void;
1325
+ closeLabel?: string;
1326
+ /** Figma `Show Quick Action` — inline link in body row */
1327
+ action?: ReactNode;
1328
+ onAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1329
+ };
1330
+ declare const Feedback: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
1331
+ type?: "warning" | "success" | "normal" | "information" | "wrong" | null | undefined;
1332
+ size?: "default" | "small" | null | undefined;
1333
+ mode?: "default" | "primary" | null | undefined;
1334
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
1335
+ /** Primary line — bold on default size */
1336
+ title: ReactNode;
1337
+ /** Secondary caption line — default size only */
1338
+ description?: ReactNode;
1339
+ /** Status icon override */
1340
+ icon?: ReactNode;
1341
+ /** Figma `Show Close Button` */
1342
+ showClose?: boolean;
1343
+ onClose?: (event: MouseEvent<HTMLAnchorElement>) => void;
1344
+ closeLabel?: string;
1345
+ /** Figma `Show Quick Action` — inline link in body row */
1346
+ action?: ReactNode;
1347
+ onAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1348
+ } & react.RefAttributes<HTMLDivElement>>;
1349
+
1350
+ /** Figma Components → Response And Feedback → Alert (527:56855) */
1351
+ type AlertType = "info" | "warning" | "error" | "success" | "neutral";
1352
+ type AlertSize = "default" | "small";
1353
+ /** Figma `Style` — bordered light surface vs filled secondary surface */
1354
+ type AlertAppearance = "default" | "light";
1355
+ declare const alertVariants: (props?: ({
1356
+ type?: "info" | "warning" | "success" | "error" | "neutral" | null | undefined;
1357
+ size?: "default" | "small" | null | undefined;
1358
+ appearance?: "light" | "default" | null | undefined;
1359
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1360
+ type AlertProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants> & {
1361
+ /** Primary line — bold on default size */
1362
+ title: ReactNode;
1363
+ /** Secondary caption line — default size only */
1364
+ description?: ReactNode;
1365
+ /** Status icon override */
1366
+ icon?: ReactNode;
1367
+ /** Show the leading status icon */
1368
+ showIcon?: boolean;
1369
+ /** Figma `Show Close Button` */
1370
+ dismissible?: boolean;
1371
+ onDismiss?: (event: MouseEvent<HTMLAnchorElement>) => void;
1372
+ closeLabel?: string;
1373
+ /** Figma `Show Quick Action` — inline link in body row */
1374
+ quickAction?: ReactNode;
1375
+ onQuickAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1376
+ /** Figma footer primary action */
1377
+ action?: ReactNode;
1378
+ onAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1379
+ /** Figma footer secondary action */
1380
+ secondaryAction?: ReactNode;
1381
+ onSecondaryAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1382
+ /** Figma `Show Action` — footer action row */
1383
+ showActions?: boolean;
1384
+ };
1385
+ declare const Alert: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
1386
+ type?: "info" | "warning" | "success" | "error" | "neutral" | null | undefined;
1387
+ size?: "default" | "small" | null | undefined;
1388
+ appearance?: "light" | "default" | null | undefined;
1389
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
1390
+ /** Primary line — bold on default size */
1391
+ title: ReactNode;
1392
+ /** Secondary caption line — default size only */
1393
+ description?: ReactNode;
1394
+ /** Status icon override */
1395
+ icon?: ReactNode;
1396
+ /** Show the leading status icon */
1397
+ showIcon?: boolean;
1398
+ /** Figma `Show Close Button` */
1399
+ dismissible?: boolean;
1400
+ onDismiss?: (event: MouseEvent<HTMLAnchorElement>) => void;
1401
+ closeLabel?: string;
1402
+ /** Figma `Show Quick Action` — inline link in body row */
1403
+ quickAction?: ReactNode;
1404
+ onQuickAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1405
+ /** Figma footer primary action */
1406
+ action?: ReactNode;
1407
+ onAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1408
+ /** Figma footer secondary action */
1409
+ secondaryAction?: ReactNode;
1410
+ onSecondaryAction?: (event: MouseEvent<HTMLAnchorElement>) => void;
1411
+ /** Figma `Show Action` — footer action row */
1412
+ showActions?: boolean;
1413
+ } & react.RefAttributes<HTMLDivElement>>;
1414
+
1415
+ /** Figma List item `Type` variant (738:148304, 647:87555) */
1416
+ type ListItemType = "action" | "switch" | "select";
1417
+ /** Figma List item `left icon setting` variant */
1418
+ type ListItemLeading = "shaped" | "default" | "none";
1419
+ type ListProps = HTMLAttributes<HTMLDivElement> & {
1420
+ /** Optional section title above the list card */
1421
+ title?: ReactNode;
1422
+ };
1423
+ /** Figma Structure Navigation → List root */
1424
+ declare const List: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1425
+ /** Optional section title above the list card */
1426
+ title?: ReactNode;
1427
+ } & react.RefAttributes<HTMLDivElement>>;
1428
+ type ListTitleProps = HTMLAttributes<HTMLDivElement>;
1429
+ /** Figma List title row — Typography text level */
1430
+ declare const ListTitle: react.ForwardRefExoticComponent<ListTitleProps & react.RefAttributes<HTMLDivElement>>;
1431
+ type ListGroupProps = HTMLAttributes<HTMLDivElement>;
1432
+ /** Figma List card container — rounded white surface for items */
1433
+ declare const ListGroup: react.ForwardRefExoticComponent<ListGroupProps & react.RefAttributes<HTMLDivElement>>;
1434
+ type ListItemGroupProps = {
1435
+ label?: ReactNode;
1436
+ children: ReactNode;
1437
+ className?: string;
1438
+ };
1439
+ /** Convenience wrapper — titled list section (Figma List title + card) */
1440
+ declare function ListItemGroup({ label, children, className }: ListItemGroupProps): react.JSX.Element;
1441
+ type ListDividerProps = HTMLAttributes<HTMLSpanElement>;
1442
+ /** Vertical divider between trailing actions (Figma `last` separator) */
1443
+ declare const ListDivider: react.ForwardRefExoticComponent<ListDividerProps & react.RefAttributes<HTMLSpanElement>>;
1444
+ type ListSeparatorProps = HTMLAttributes<HTMLHRElement>;
1445
+ /** Horizontal separator between list groups */
1446
+ declare const ListSeparator: react.ForwardRefExoticComponent<ListSeparatorProps & react.RefAttributes<HTMLHRElement>>;
1447
+ type ListItemProps = ComponentPropsWithoutRef<"div"> & {
1448
+ /** Figma `Type` variant */
1449
+ itemType?: ListItemType;
1450
+ /** Figma `left icon setting` variant */
1451
+ leading?: ListItemLeading;
1452
+ /** Leading icon node — defaults to GeneralSetting */
1453
+ icon?: ReactNode;
1454
+ /** Primary line (Typeface text) */
1455
+ title: ReactNode;
1456
+ /** Secondary line (Typeface caption) */
1457
+ subtitle?: ReactNode;
1458
+ /** Primary trailing button label */
1459
+ actionLabel?: ReactNode;
1460
+ /** Override primary trailing button */
1461
+ action?: ReactNode;
1462
+ /** Secondary icon-only button for `action` type */
1463
+ secondaryAction?: ReactNode;
1464
+ /** Trailing select slot for `select` type */
1465
+ select?: ReactNode;
1466
+ /** Trailing switch props for `switch` type */
1467
+ switchProps?: Omit<SwitchProps, "size">;
1468
+ /** Fully custom trailing region — overrides type presets */
1469
+ trailing?: ReactNode;
1470
+ selected?: boolean;
1471
+ disabled?: boolean;
1472
+ /** Enables hover highlight (auto when `onClick` is set) */
1473
+ interactive?: boolean;
1474
+ };
1475
+ /** Figma Structure Navigation → List item */
1476
+ declare const ListItem: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1477
+ /** Figma `Type` variant */
1478
+ itemType?: ListItemType;
1479
+ /** Figma `left icon setting` variant */
1480
+ leading?: ListItemLeading;
1481
+ /** Leading icon node — defaults to GeneralSetting */
1482
+ icon?: ReactNode;
1483
+ /** Primary line (Typeface text) */
1484
+ title: ReactNode;
1485
+ /** Secondary line (Typeface caption) */
1486
+ subtitle?: ReactNode;
1487
+ /** Primary trailing button label */
1488
+ actionLabel?: ReactNode;
1489
+ /** Override primary trailing button */
1490
+ action?: ReactNode;
1491
+ /** Secondary icon-only button for `action` type */
1492
+ secondaryAction?: ReactNode;
1493
+ /** Trailing select slot for `select` type */
1494
+ select?: ReactNode;
1495
+ /** Trailing switch props for `switch` type */
1496
+ switchProps?: Omit<SwitchProps, "size">;
1497
+ /** Fully custom trailing region — overrides type presets */
1498
+ trailing?: ReactNode;
1499
+ selected?: boolean;
1500
+ disabled?: boolean;
1501
+ /** Enables hover highlight (auto when `onClick` is set) */
1502
+ interactive?: boolean;
1503
+ } & react.RefAttributes<HTMLDivElement>>;
1504
+
1505
+ /** Figma Navigation `Background` variant (624:61777) */
1506
+ type NavigationBackground = "none" | "default";
1507
+ /** Figma Navigation `direction` variant */
1508
+ type NavigationDirection = "horizontal" | "vertical";
1509
+ /** Figma Structure Navigation → Navigation root (624:92194) */
1510
+ type NavigationProps = HTMLAttributes<HTMLElement> & {
1511
+ as?: "nav" | "div";
1512
+ background?: NavigationBackground;
1513
+ direction?: NavigationDirection;
1514
+ /** Figma `Dividing line` variant */
1515
+ dividingLine?: boolean;
1516
+ };
1517
+ declare const Navigation: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
1518
+ as?: "nav" | "div";
1519
+ background?: NavigationBackground;
1520
+ direction?: NavigationDirection;
1521
+ /** Figma `Dividing line` variant */
1522
+ dividingLine?: boolean;
1523
+ } & react.RefAttributes<HTMLElement>>;
1524
+ type NavigationBrandProps = HTMLAttributes<HTMLDivElement>;
1525
+ /** Figma Navigation Items `Content=Brand` (624:119379) */
1526
+ declare const NavigationBrand: react.ForwardRefExoticComponent<NavigationBrandProps & react.RefAttributes<HTMLDivElement>>;
1527
+ type NavigationBrandTitleProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> & {
1528
+ asChild?: boolean;
1529
+ children: ReactNode;
1530
+ };
1531
+ declare const NavigationBrandTitle: react.ForwardRefExoticComponent<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> & {
1532
+ asChild?: boolean;
1533
+ children: ReactNode;
1534
+ } & react.RefAttributes<HTMLAnchorElement>>;
1535
+ type NavigationSectionProps = HTMLAttributes<HTMLDivElement> & {
1536
+ children: ReactNode;
1537
+ };
1538
+ /** Section label — docs grouping above tab items */
1539
+ declare const NavigationSection: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1540
+ children: ReactNode;
1541
+ } & react.RefAttributes<HTMLDivElement>>;
1542
+ type NavigationGroupProps = HTMLAttributes<HTMLDivElement>;
1543
+ /** Figma Navigation Tab Items Group (1651:20222) */
1544
+ declare const NavigationGroup: react.ForwardRefExoticComponent<NavigationGroupProps & react.RefAttributes<HTMLDivElement>>;
1545
+ type NavigationItemGroupProps = HTMLAttributes<HTMLDivElement> & {
1546
+ /** When set, animates expand/collapse. Omit for always-visible groups. */
1547
+ expanded?: boolean;
1548
+ };
1549
+ /** Figma Navigation Vertical Tab Child Items Group (643:127007) */
1550
+ declare const NavigationItemGroup: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1551
+ /** When set, animates expand/collapse. Omit for always-visible groups. */
1552
+ expanded?: boolean;
1553
+ } & react.RefAttributes<HTMLDivElement>>;
1554
+ /** Figma Navigation Items `Type` variant */
1555
+ type NavigationItemType = "default" | "child";
1556
+ type NavigationItemProps = ComponentPropsWithoutRef<"a"> & {
1557
+ /** Figma `Starting=Active` — also inferred from `aria-current="page"` */
1558
+ active?: boolean;
1559
+ itemType?: NavigationItemType;
1560
+ leftIcon?: ReactNode;
1561
+ rightIcon?: ReactNode;
1562
+ asChild?: boolean;
1563
+ children: ReactNode;
1564
+ };
1565
+ /** Figma Navigation Items `Content=Tab Item` (624:119382, 624:119385, 643:118728) */
1566
+ declare const NavigationItem: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & {
1567
+ /** Figma `Starting=Active` — also inferred from `aria-current="page"` */
1568
+ active?: boolean;
1569
+ itemType?: NavigationItemType;
1570
+ leftIcon?: ReactNode;
1571
+ rightIcon?: ReactNode;
1572
+ asChild?: boolean;
1573
+ children: ReactNode;
1574
+ } & react.RefAttributes<HTMLAnchorElement>>;
1575
+ type NavigationActionsProps = HTMLAttributes<HTMLDivElement>;
1576
+ /** Figma Navigation Items `Content=Aciton Group` (624:119388) */
1577
+ declare const NavigationActions: react.ForwardRefExoticComponent<NavigationActionsProps & react.RefAttributes<HTMLDivElement>>;
1578
+ type NavigationActionsSlotProps = HTMLAttributes<HTMLDivElement>;
1579
+ declare const NavigationActionsSlot: react.ForwardRefExoticComponent<NavigationActionsSlotProps & react.RefAttributes<HTMLDivElement>>;
1580
+ type NavigationItemMenuProps = {
1581
+ /** Selected child value — similar to Select `value`. */
1582
+ value?: string;
1583
+ defaultValue?: string;
1584
+ onValueChange?: (value: string) => void;
1585
+ open?: boolean;
1586
+ onOpenChange?: (open: boolean) => void;
1587
+ children: ReactNode;
1588
+ };
1589
+ declare function NavigationItemMenu({ value: valueProp, defaultValue, onValueChange, open: openProp, onOpenChange, children, }: NavigationItemMenuProps): react.JSX.Element;
1590
+ type NavigationItemMenuTriggerProps = Omit<ComponentPropsWithoutRef<"button">, "children"> & {
1591
+ /** Defaults to highlighted when the menu has a selected child. */
1592
+ active?: boolean;
1593
+ leftIcon?: ReactNode;
1594
+ rightIcon?: ReactNode;
1595
+ children: ReactNode;
1596
+ };
1597
+ /** Parent item — renders as a Navigation tab item and anchors the flyout. */
1598
+ declare const NavigationItemMenuTrigger: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & {
1599
+ /** Defaults to highlighted when the menu has a selected child. */
1600
+ active?: boolean;
1601
+ leftIcon?: ReactNode;
1602
+ rightIcon?: ReactNode;
1603
+ children: ReactNode;
1604
+ } & react.RefAttributes<HTMLButtonElement>>;
1605
+ type NavigationItemMenuContentProps = ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>;
1606
+ /** Flyout surface — right of the item in vertical, below it in horizontal. */
1607
+ declare const NavigationItemMenuContent: react.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1608
+ type NavigationItemMenuItemProps = Omit<ComponentPropsWithoutRef<"button">, "children" | "value"> & {
1609
+ value: string;
1610
+ /** Defaults to highlighted when it matches the menu value. */
1611
+ selected?: boolean;
1612
+ leftIcon?: ReactNode;
1613
+ rightIcon?: ReactNode;
1614
+ children: ReactNode;
1615
+ };
1616
+ /** Child option — highlighted when selected, no check icon by default. */
1617
+ declare const NavigationItemMenuItem: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children" | "value"> & {
1618
+ value: string;
1619
+ /** Defaults to highlighted when it matches the menu value. */
1620
+ selected?: boolean;
1621
+ leftIcon?: ReactNode;
1622
+ rightIcon?: ReactNode;
1623
+ children: ReactNode;
1624
+ } & react.RefAttributes<HTMLButtonElement>>;
1625
+
1626
+ /** Figma Components → Information Collect → Slider (384:21585) */
1627
+ type SliderSize = "default" | "big";
1628
+ type SliderType = "default" | "range";
1629
+ declare const sliderVariants: (props?: ({
1630
+ size?: "default" | "big" | null | undefined;
1631
+ type?: "default" | "range" | null | undefined;
1632
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1633
+ type SliderProps = Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, "orientation"> & VariantProps<typeof sliderVariants> & {
1634
+ /** Figma `Type` — single thumb vs range (two thumbs) */
1635
+ type?: SliderType;
1636
+ };
1637
+ declare const Slider: react.ForwardRefExoticComponent<Omit<Omit<SliderPrimitive.SliderProps & react.RefAttributes<HTMLSpanElement>, "ref">, "orientation"> & VariantProps<(props?: ({
1638
+ size?: "default" | "big" | null | undefined;
1639
+ type?: "default" | "range" | null | undefined;
1640
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
1641
+ /** Figma `Type` — single thumb vs range (two thumbs) */
1642
+ type?: SliderType;
1643
+ } & react.RefAttributes<HTMLSpanElement>>;
1644
+
1645
+ /** Figma Components → Information Collect → Upload (527:56239) */
1646
+ type UploadStyle = "default" | "large";
1647
+ declare const uploadVariants: (props?: ({
1648
+ style?: "default" | "large" | null | undefined;
1649
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1650
+ type UploadProps = Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "style"> & VariantProps<typeof uploadVariants> & {
1651
+ /** Primary line — Large style */
1652
+ title?: ReactNode;
1653
+ /** Secondary line — Large style */
1654
+ description?: ReactNode;
1655
+ /** Default style button label */
1656
+ label?: ReactNode;
1657
+ accept?: string;
1658
+ multiple?: boolean;
1659
+ disabled?: boolean;
1660
+ /** Enable drag-and-drop (Large style defaults to true) */
1661
+ dragAndDrop?: boolean;
1662
+ onChange?: (files: FileList | null) => void;
1663
+ inputProps?: Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "accept" | "multiple" | "disabled" | "onChange">;
1664
+ };
1665
+ declare const Upload: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "style" | "onChange"> & VariantProps<(props?: ({
1666
+ style?: "default" | "large" | null | undefined;
1667
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
1668
+ /** Primary line — Large style */
1669
+ title?: ReactNode;
1670
+ /** Secondary line — Large style */
1671
+ description?: ReactNode;
1672
+ /** Default style button label */
1673
+ label?: ReactNode;
1674
+ accept?: string;
1675
+ multiple?: boolean;
1676
+ disabled?: boolean;
1677
+ /** Enable drag-and-drop (Large style defaults to true) */
1678
+ dragAndDrop?: boolean;
1679
+ onChange?: (files: FileList | null) => void;
1680
+ inputProps?: Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "accept" | "multiple" | "disabled" | "onChange">;
1681
+ } & react.RefAttributes<HTMLDivElement>>;
1682
+
1683
+ type ScrollPickerProps = HTMLAttributes<HTMLDivElement>;
1684
+ declare function ScrollPicker({ className, children, ...props }: ScrollPickerProps): react.JSX.Element;
1685
+ type ScrollPickerColumnProps<T = string> = {
1686
+ className?: string;
1687
+ values: readonly T[];
1688
+ value: T;
1689
+ onChange: (value: T) => void;
1690
+ "aria-label": string;
1691
+ loop?: boolean;
1692
+ formatValue?: (value: T) => ReactNode;
1693
+ getValueKey?: (value: T, index: number) => string;
1694
+ };
1695
+ declare function ScrollPickerColumn<T = string>({ className, values, value, onChange, "aria-label": ariaLabel, loop, formatValue, getValueKey, }: ScrollPickerColumnProps<T>): react.JSX.Element;
1696
+ type ScrollPickerItemProps = {
1697
+ id?: string;
1698
+ selected?: boolean;
1699
+ children?: ReactNode;
1700
+ className?: string;
1701
+ onSelect?: () => void;
1702
+ };
1703
+ declare function ScrollPickerItem({ id, selected, children, className, onSelect, }: ScrollPickerItemProps): react.JSX.Element;
1704
+
1705
+ /** Figma Components → Structure Navigation → Breadcrumb (622:7883) */
1706
+ type BreadcrumbSize = "default" | "small";
1707
+ declare const breadcrumbVariants: (props?: ({
1708
+ size?: "default" | "small" | null | undefined;
1709
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1710
+ type BreadcrumbProps = HTMLAttributes<HTMLElement> & VariantProps<typeof breadcrumbVariants>;
1711
+ declare const Breadcrumb: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & VariantProps<(props?: ({
1712
+ size?: "default" | "small" | null | undefined;
1713
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & react.RefAttributes<HTMLElement>>;
1714
+ type BreadcrumbItemProps = ComponentPropsWithoutRef<"li"> & {
1715
+ href?: string;
1716
+ current?: boolean;
1717
+ icon?: ReactNode;
1718
+ onClick?: () => void;
1719
+ };
1720
+ declare const BreadcrumbItem: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
1721
+ href?: string;
1722
+ current?: boolean;
1723
+ icon?: ReactNode;
1724
+ onClick?: () => void;
1725
+ } & react.RefAttributes<HTMLLIElement>>;
1726
+ type BreadcrumbSeparatorProps = HTMLAttributes<HTMLLIElement> & {
1727
+ children?: ReactNode;
1728
+ };
1729
+ declare const BreadcrumbSeparator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & {
1730
+ children?: ReactNode;
1731
+ } & react.RefAttributes<HTMLLIElement>>;
1732
+ type BreadcrumbEllipsisItemProps = Omit<ComponentPropsWithoutRef<"a">, "type"> & {
1733
+ href?: string;
1734
+ onClick?: () => void;
1735
+ /** Figma Select Menu Item trailing chevron — default true */
1736
+ showChevron?: boolean;
1737
+ };
1738
+ /** Figma Select Menu Item inside Storage item button activated=ON */
1739
+ declare const BreadcrumbEllipsisItem: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref">, "type"> & {
1740
+ href?: string;
1741
+ onClick?: () => void;
1742
+ /** Figma Select Menu Item trailing chevron — default true */
1743
+ showChevron?: boolean;
1744
+ } & react.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
1745
+ type BreadcrumbEllipsisProps = Omit<ComponentPropsWithoutRef<"button">, "type"> & {
1746
+ className?: string;
1747
+ /**
1748
+ * Figma `activated` on Storage item button.
1749
+ * OFF = muted ellipsis; ON = full opacity + open Select Menu (when `menu` is set).
1750
+ */
1751
+ activated?: boolean;
1752
+ defaultActivated?: boolean;
1753
+ onActivatedChange?: (activated: boolean) => void;
1754
+ /** Collapsed middle-path items shown in the Select Menu when activated */
1755
+ menu?: ReactNode;
1756
+ };
1757
+ /** Figma `Storage item button` — collapsed middle path */
1758
+ declare const BreadcrumbEllipsis: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "type"> & {
1759
+ className?: string;
1760
+ /**
1761
+ * Figma `activated` on Storage item button.
1762
+ * OFF = muted ellipsis; ON = full opacity + open Select Menu (when `menu` is set).
1763
+ */
1764
+ activated?: boolean;
1765
+ defaultActivated?: boolean;
1766
+ onActivatedChange?: (activated: boolean) => void;
1767
+ /** Collapsed middle-path items shown in the Select Menu when activated */
1768
+ menu?: ReactNode;
1769
+ } & react.RefAttributes<HTMLLIElement>>;
1770
+
1771
+ /** Figma Components → Structure Navigation → Pagehead (643:172156) */
1772
+ type PageheadProps = HTMLAttributes<HTMLElement> & {
1773
+ /** Optional leading control (typically back button) */
1774
+ back?: ReactNode;
1775
+ /** Optional breadcrumb above the title */
1776
+ breadcrumb?: ReactNode;
1777
+ /** Primary title line */
1778
+ title?: ReactNode;
1779
+ /** Secondary caption under title */
1780
+ description?: ReactNode;
1781
+ /** Trailing actions slot */
1782
+ actions?: ReactNode;
1783
+ };
1784
+ declare const Pagehead: react.ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & {
1785
+ /** Optional leading control (typically back button) */
1786
+ back?: ReactNode;
1787
+ /** Optional breadcrumb above the title */
1788
+ breadcrumb?: ReactNode;
1789
+ /** Primary title line */
1790
+ title?: ReactNode;
1791
+ /** Secondary caption under title */
1792
+ description?: ReactNode;
1793
+ /** Trailing actions slot */
1794
+ actions?: ReactNode;
1795
+ } & react.RefAttributes<HTMLElement>>;
1796
+
1797
+ /** Figma Components → Structure Navigation → Steps (791:143425) */
1798
+ type StepsDirection = "horizontal" | "vertical";
1799
+ type StepsState = "done" | "fail" | "warning" | "waiting" | "inProgress" | "default";
1800
+ declare const stepsVariants: (props?: ({
1801
+ direction?: "horizontal" | "vertical" | null | undefined;
1802
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1803
+ type StepsProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof stepsVariants>;
1804
+ declare const Steps: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
1805
+ direction?: "horizontal" | "vertical" | null | undefined;
1806
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & react.RefAttributes<HTMLDivElement>>;
1807
+ type StepsIconProps = HTMLAttributes<HTMLSpanElement> & {
1808
+ state?: StepsState;
1809
+ /** Step number shown for default / inProgress / waiting */
1810
+ index?: number;
1811
+ children?: ReactNode;
1812
+ };
1813
+ declare const StepsIcon: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & {
1814
+ state?: StepsState;
1815
+ /** Step number shown for default / inProgress / waiting */
1816
+ index?: number;
1817
+ children?: ReactNode;
1818
+ } & react.RefAttributes<HTMLSpanElement>>;
1819
+ type StepsItemProps = HTMLAttributes<HTMLDivElement> & {
1820
+ state?: StepsState;
1821
+ title?: ReactNode;
1822
+ description?: ReactNode;
1823
+ index?: number;
1824
+ icon?: ReactNode;
1825
+ };
1826
+ declare const StepsItem: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1827
+ state?: StepsState;
1828
+ title?: ReactNode;
1829
+ description?: ReactNode;
1830
+ index?: number;
1831
+ icon?: ReactNode;
1832
+ } & react.RefAttributes<HTMLDivElement>>;
1833
+
1834
+ type PaginationProps = Omit<HTMLAttributes<HTMLDivElement>, "onChange"> & {
1835
+ page?: number;
1836
+ defaultPage?: number;
1837
+ pageCount: number;
1838
+ onPageChange?: (page: number) => void;
1839
+ showJump?: boolean;
1840
+ showSizeChanger?: boolean;
1841
+ pageSize?: number;
1842
+ defaultPageSize?: number;
1843
+ pageSizeOptions?: number[];
1844
+ onPageSizeChange?: (pageSize: number) => void;
1845
+ jumpLabel?: ReactNode;
1846
+ sizeLabel?: ReactNode;
1847
+ sizeOptionLabel?: (size: number) => ReactNode;
1848
+ };
1849
+ declare const Pagination: react.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onChange"> & {
1850
+ page?: number;
1851
+ defaultPage?: number;
1852
+ pageCount: number;
1853
+ onPageChange?: (page: number) => void;
1854
+ showJump?: boolean;
1855
+ showSizeChanger?: boolean;
1856
+ pageSize?: number;
1857
+ defaultPageSize?: number;
1858
+ pageSizeOptions?: number[];
1859
+ onPageSizeChange?: (pageSize: number) => void;
1860
+ jumpLabel?: ReactNode;
1861
+ sizeLabel?: ReactNode;
1862
+ sizeOptionLabel?: (size: number) => ReactNode;
1863
+ } & react.RefAttributes<HTMLDivElement>>;
1864
+
1865
+ /** Figma Components → Structure Navigation → Card (738:145715) */
1866
+ type CardSlotType = "action" | "switch" | "select";
1867
+ type CardProps = HTMLAttributes<HTMLDivElement>;
1868
+ declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
1869
+ type CardHeadProps = ComponentPropsWithoutRef<"div"> & {
1870
+ slotType?: CardSlotType;
1871
+ icon?: ReactNode;
1872
+ title?: ReactNode;
1873
+ description?: ReactNode;
1874
+ actionLabel?: ReactNode;
1875
+ action?: ReactNode;
1876
+ secondaryAction?: ReactNode;
1877
+ select?: ReactNode;
1878
+ switchProps?: Omit<SwitchProps, "size">;
1879
+ trailing?: ReactNode;
1880
+ };
1881
+ declare const CardHead: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1882
+ slotType?: CardSlotType;
1883
+ icon?: ReactNode;
1884
+ title?: ReactNode;
1885
+ description?: ReactNode;
1886
+ actionLabel?: ReactNode;
1887
+ action?: ReactNode;
1888
+ secondaryAction?: ReactNode;
1889
+ select?: ReactNode;
1890
+ switchProps?: Omit<SwitchProps, "size">;
1891
+ trailing?: ReactNode;
1892
+ } & react.RefAttributes<HTMLDivElement>>;
1893
+ type CardBodyProps = HTMLAttributes<HTMLDivElement>;
1894
+ declare const CardBody: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLDivElement>>;
1895
+ type CardBottomProps = ComponentPropsWithoutRef<"div"> & {
1896
+ slotType?: CardSlotType;
1897
+ actionLabel?: ReactNode;
1898
+ action?: ReactNode;
1899
+ secondaryAction?: ReactNode;
1900
+ select?: ReactNode;
1901
+ switchProps?: Omit<SwitchProps, "size">;
1902
+ trailing?: ReactNode;
1903
+ };
1904
+ declare const CardBottom: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1905
+ slotType?: CardSlotType;
1906
+ actionLabel?: ReactNode;
1907
+ action?: ReactNode;
1908
+ secondaryAction?: ReactNode;
1909
+ select?: ReactNode;
1910
+ switchProps?: Omit<SwitchProps, "size">;
1911
+ trailing?: ReactNode;
1912
+ } & react.RefAttributes<HTMLDivElement>>;
1913
+
1914
+ /** Figma Components → Information Display → Table (1457:1475) */
1915
+ type TableCellContent = "text" | "icon+text" | "people" | "badge" | "switch" | "action" | "checkbox";
1916
+ type TableProps = HTMLAttributes<HTMLDivElement>;
1917
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLDivElement>>;
1918
+ type TableRowProps = HTMLAttributes<HTMLDivElement> & {
1919
+ header?: boolean;
1920
+ };
1921
+ declare const TableRow: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1922
+ header?: boolean;
1923
+ } & react.RefAttributes<HTMLDivElement>>;
1924
+ type TableHeadProps = ComponentPropsWithoutRef<"div"> & {
1925
+ content?: Extract<TableCellContent, "text" | "checkbox">;
1926
+ };
1927
+ declare const TableHead: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1928
+ content?: Extract<TableCellContent, "text" | "checkbox">;
1929
+ } & react.RefAttributes<HTMLDivElement>>;
1930
+ type TableCellProps = ComponentPropsWithoutRef<"div"> & {
1931
+ content?: TableCellContent;
1932
+ icon?: ReactNode;
1933
+ text?: ReactNode;
1934
+ people?: ReactNode;
1935
+ badge?: ReactNode;
1936
+ badgeLabel?: ReactNode;
1937
+ switchProps?: SwitchProps;
1938
+ actions?: ReactNode;
1939
+ checkboxProps?: ComponentPropsWithoutRef<typeof Checkbox>;
1940
+ };
1941
+ declare const TableCell: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
1942
+ content?: TableCellContent;
1943
+ icon?: ReactNode;
1944
+ text?: ReactNode;
1945
+ people?: ReactNode;
1946
+ badge?: ReactNode;
1947
+ badgeLabel?: ReactNode;
1948
+ switchProps?: SwitchProps;
1949
+ actions?: ReactNode;
1950
+ checkboxProps?: ComponentPropsWithoutRef<typeof Checkbox>;
1951
+ } & react.RefAttributes<HTMLDivElement>>;
1952
+
969
1953
  declare function cn(...inputs: ClassValue[]): string;
970
1954
 
971
- export { Badge, type BadgeProps, Button, type ButtonMode, type ButtonProps, type ButtonSize, Cascader, CascaderColumn, type CascaderColumnProps, CascaderContent, type CascaderContentProps, CascaderField, type CascaderFieldProps, CascaderItem, type CascaderItemFunction, CascaderItemGroup, type CascaderItemGroupProps, type CascaderItemLayout, type CascaderItemProps, CascaderMenu, type CascaderMenuProps, type CascaderOption, CascaderOptionsMenu, type CascaderOptionsMenuProps, type CascaderProps, type CascaderSize, CascaderTrigger, type CascaderTriggerProps, Checkbox, CheckboxGroup, type CheckboxGroupDirection, type CheckboxGroupProps, CheckboxInput, type CheckboxInputProps, type CheckboxProps, type ColorFormat, ColorPickButton, type ColorPickButtonProps, ColorPicker, ColorPickerArea, type ColorPickerAreaProps, ColorPickerContent, type ColorPickerContentProps, ColorPickerInputs, type ColorPickerInputsProps, ColorPickerPanel, type ColorPickerPanelProps, ColorPickerPresets, type ColorPickerPresetsProps, type ColorPickerProps, ColorPickerSlider, type ColorPickerSliderProps, ColorPickerTrigger, type ColorPickerTriggerProps, DEFAULT_COLOR, Fieldset, FormField, type FormFieldProps, type HSVA, Input, InputGroup, InputGroupAddon, type InputGroupProps, type InputProps, type InputSize, Label, Link, type LinkLevel, type LinkMode, type LinkProps, List, ListDivider, type ListDividerProps, ListGroup, type ListGroupProps, ListItem, ListItemGroup, type ListItemGroupProps, type ListItemLeading, type ListItemProps, type ListItemType, type ListProps, ListSeparator, type ListSeparatorProps, ListTitle, type ListTitleProps, Loading, type LoadingButtonSize, type LoadingLevel, type LoadingMode, type LoadingProps, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, RadioGroup, type RadioGroupDirection, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RadioInput, type RadioInputProps, type RadioInputVariant, SegmentatorGroup, type SegmentatorGroupProps, SegmentatorItem, type SegmentatorItemProps, type SegmentatorMode, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemFunction, SelectItemGroup, type SelectItemGroupProps, type SelectItemLayout, SelectItemPeople, type SelectItemPeopleProps, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectSeparator, type SelectSeparatorProps, type SelectSize, SelectSubItem, SelectSubItemPeople, type SelectSubItemPeopleProps, type SelectSubItemProps, SelectSubMenu, type SelectSubMenuProps, SelectTrigger, type SelectTriggerProps, SelectValue, Stack, type StackProps, Switch, type SwitchProps, type SwitchSize, TOOLTIP_DELAY_DURATION, Textarea, type TextareaProps, type TextareaSize, ThemeProvider, type ThemeProviderProps, ThemeScript, initKeyboardFocus, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, Typeface, type TypefaceContent, TypefacePair, type TypefacePairProps, type TypefaceProps, Typography, type TypographyContent, type TypographyLevel, type TypographyProps, type TypographyTone, type UseColorPickerStateOptions, buttonVariants, cn, inputRootVariants, loadingLevelForButtonSize, typographyVariants, useColorPickerState, useTheme };
1955
+ /**
1956
+ * @deprecated Focus rings now use native `:focus-visible` via `.aviala-focus-ring`
1957
+ * in `@aviala-design/tokens/focus-effects.css` (also bundled in `styles.css`).
1958
+ * This function is a no-op kept for backward compatibility.
1959
+ */
1960
+ declare function initKeyboardFocus(): void;
1961
+
1962
+ export { Alert, type AlertAppearance, type AlertProps, type AlertSize, type AlertType, Anchor, type AnchorIndentLevel, AnchorItem, type AnchorItemProps, type AnchorProps, Avatar, type AvatarContent, type AvatarLevel, type AvatarProps, Badge, type BadgeLevel, type BadgeLineHeightFix, type BadgeProps, type BadgeStyle, Breadcrumb, BreadcrumbEllipsis, BreadcrumbEllipsisItem, type BreadcrumbEllipsisItemProps, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, type BreadcrumbSize, Button, type ButtonMode, type ButtonProps, type ButtonSize, Card, CardBody, type CardBodyProps, CardBottom, type CardBottomProps, CardHead, type CardHeadProps, type CardProps, type CardSlotType, Cascader, CascaderColumn, type CascaderColumnProps, CascaderContent, type CascaderContentProps, CascaderField, type CascaderFieldProps, CascaderItem, type CascaderItemFunction, CascaderItemGroup, type CascaderItemGroupProps, type CascaderItemLayout, type CascaderItemProps, CascaderMenu, type CascaderMenuProps, type CascaderOption, CascaderOptionsMenu, type CascaderOptionsMenuProps, type CascaderProps, type CascaderSize, CascaderTrigger, type CascaderTriggerProps, Checkbox, CheckboxGroup, type CheckboxGroupDirection, type CheckboxGroupProps, CheckboxInput, type CheckboxInputProps, type CheckboxProps, type ColorFormat, ColorPickButton, type ColorPickButtonProps, ColorPicker, ColorPickerArea, type ColorPickerAreaProps, ColorPickerContent, type ColorPickerContentProps, ColorPickerInputs, type ColorPickerInputsProps, ColorPickerPanel, type ColorPickerPanelProps, ColorPickerPresets, type ColorPickerPresetsProps, type ColorPickerProps, ColorPickerSlider, type ColorPickerSliderProps, ColorPickerTrigger, type ColorPickerTriggerProps, DEFAULT_COLOR, DatePicker, DatePickerCalendar, type DatePickerCalendarProps, DatePickerContent, type DatePickerContentProps, DatePickerField, type DatePickerFieldProps, type DatePickerMode, type DatePickerPanel, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerSize, type DatePickerTimeValue, DatePickerTrigger, type DatePickerTriggerProps, type DateRange, Feedback, type FeedbackMode, type FeedbackProps, type FeedbackSize, type FeedbackType, Fieldset, FormField, type FormFieldProps, type HSVA, Input, InputGroup, InputGroupAddon, type InputGroupProps, type InputProps, type InputSize, Label, Link, type LinkLevel, type LinkMode, type LinkProps, List, ListDivider, type ListDividerProps, ListGroup, type ListGroupProps, ListItem, ListItemGroup, type ListItemGroupProps, type ListItemLeading, type ListItemProps, type ListItemType, type ListProps, ListSeparator, type ListSeparatorProps, ListTitle, type ListTitleProps, Loading, type LoadingButtonSize, type LoadingLevel, type LoadingMode, type LoadingProps, Modal, ModalBody, type ModalBodyProps, ModalClose, ModalContent, type ModalContentProps, ModalDescription, type ModalDescriptionProps, ModalFooter, type ModalFooterProps, ModalHeader, type ModalHeaderProps, ModalHeaderText, type ModalHeaderTextProps, ModalOverlay, type ModalOverlayProps, ModalPortal, type ModalProps, type ModalSize, ModalTitle, type ModalTitleProps, ModalTrigger, Navigation, NavigationActions, type NavigationActionsProps, NavigationActionsSlot, type NavigationActionsSlotProps, type NavigationBackground, NavigationBrand, type NavigationBrandProps, NavigationBrandTitle, type NavigationBrandTitleProps, type NavigationDirection, NavigationGroup, type NavigationGroupProps, NavigationItem, NavigationItemGroup, type NavigationItemGroupProps, NavigationItemMenu, NavigationItemMenuContent, type NavigationItemMenuContentProps, NavigationItemMenuItem, type NavigationItemMenuItemProps, type NavigationItemMenuProps, NavigationItemMenuTrigger, type NavigationItemMenuTriggerProps, type NavigationItemProps, type NavigationItemType, type NavigationProps, NavigationSection, type NavigationSectionProps, Pagehead, type PageheadProps, Pagination, type PaginationProps, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, type ProgressShape, type ProgressSize, type ProgressType, RadioGroup, type RadioGroupDirection, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RadioInput, type RadioInputProps, type RadioInputVariant, Scroll, type ScrollOrientation, ScrollPicker, ScrollPickerColumn, type ScrollPickerColumnProps, ScrollPickerItem, type ScrollPickerItemProps, type ScrollPickerProps, type ScrollProps, type ScrollSize, SegmentatorGroup, type SegmentatorGroupProps, SegmentatorItem, type SegmentatorItemProps, type SegmentatorMode, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemFunction, SelectItemGroup, type SelectItemGroupProps, type SelectItemLayout, SelectItemPeople, type SelectItemPeopleProps, type SelectItemProps, SelectLabel, type SelectLabelProps, SelectSeparator, type SelectSeparatorProps, type SelectSize, SelectSubItem, SelectSubItemPeople, type SelectSubItemPeopleProps, type SelectSubItemProps, SelectSubMenu, type SelectSubMenuProps, SelectTrigger, type SelectTriggerProps, SelectValue, Slider, type SliderProps, type SliderSize, type SliderType, Stack, type StackProps, Steps, type StepsDirection, StepsIcon, type StepsIconProps, StepsItem, type StepsItemProps, type StepsProps, type StepsState, Switch, type SwitchProps, type SwitchSize, TOOLTIP_DELAY_DURATION, Table, TableCell, type TableCellContent, type TableCellProps, TableHead, type TableHeadProps, type TableProps, TableRow, type TableRowProps, Tag, TagClose, type TagCloseProps, type TagContent, type TagLevel, type TagLineHeightFix, type TagProps, Textarea, type TextareaProps, type TextareaSize, ThemeProvider, type ThemeProviderProps, ThemeScript, TimePicker, TimePickerContent, type TimePickerContentProps, TimePickerField, type TimePickerFieldProps, TimePickerPanel, type TimePickerPanelProps, type TimePickerProps, type TimePickerSize, TimePickerTrigger, type TimePickerTriggerProps, type TimePickerValue, TimePickerWheels, type TimePickerWheelsValue, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, Typeface, type TypefaceContent, TypefacePair, type TypefacePairProps, type TypefaceProps, Typography, type TypographyContent, type TypographyLevel, type TypographyProps, type TypographyTone, Upload, type UploadProps, type UploadStyle, type UseColorPickerStateOptions, alertVariants, buttonVariants, cn, formatDisplayDate, formatMonthYear, formatTimeValue, initKeyboardFocus, inputRootVariants, loadingLevelForButtonSize, modalContentVariants, typographyVariants, useColorPickerState, useTheme, useThemeLayoutKey };