@chellaa/react 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,50 +1,235 @@
1
1
  import * as React from 'react';
2
+ import React__default, { CSSProperties } from 'react';
3
+ import * as _emotion_styled from '@emotion/styled';
4
+ import { FloatingContext, ExtendedRefs, MiddlewareData } from '@floating-ui/react';
2
5
 
6
+ type ColorMode = "light" | "dark";
7
+ interface PaletteColor {
8
+ light: string;
9
+ main: string;
10
+ dark: string;
11
+ contrastText: string;
12
+ }
13
+ interface TypeText {
14
+ primary: string;
15
+ secondary: string;
16
+ disabled: string;
17
+ }
18
+ interface TypeBackground {
19
+ default: string;
20
+ paper: string;
21
+ surface: string;
22
+ }
23
+ interface TypeAction {
24
+ active: string;
25
+ hover: string;
26
+ hoverOpacity: number;
27
+ selected: string;
28
+ selectedOpacity: number;
29
+ disabled: string;
30
+ disabledBackground: string;
31
+ focus: string;
32
+ focusOpacity: number;
33
+ }
34
+ interface Palette {
35
+ mode: ColorMode;
36
+ primary: PaletteColor;
37
+ secondary: PaletteColor;
38
+ error: PaletteColor;
39
+ warning: PaletteColor;
40
+ info: PaletteColor;
41
+ success: PaletteColor;
42
+ text: TypeText;
43
+ background: TypeBackground;
44
+ divider: string;
45
+ action: TypeAction;
46
+ }
47
+ type BreakpointKey = "xs" | "sm" | "md" | "lg" | "xl";
48
+ interface Breakpoints {
49
+ values: Record<BreakpointKey, number>;
50
+ up: (key: BreakpointKey | number) => string;
51
+ down: (key: BreakpointKey | number) => string;
52
+ between: (start: BreakpointKey | number, end: BreakpointKey | number) => string;
53
+ only: (key: BreakpointKey) => string;
54
+ }
55
+ type TypographyVariant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "subtitle1" | "subtitle2" | "body1" | "body2" | "button" | "caption" | "overline";
56
+ interface TypographyStyle {
57
+ fontFamily?: string;
58
+ fontWeight?: number | string;
59
+ fontSize?: string;
60
+ lineHeight?: number | string;
61
+ letterSpacing?: string;
62
+ textTransform?: React.CSSProperties["textTransform"];
63
+ }
64
+ interface TypographyTheme {
65
+ fontFamily: string;
66
+ fontSize: number;
67
+ fontWeightLight: number;
68
+ fontWeightRegular: number;
69
+ fontWeightMedium: number;
70
+ fontWeightBold: number;
71
+ h1: TypographyStyle;
72
+ h2: TypographyStyle;
73
+ h3: TypographyStyle;
74
+ h4: TypographyStyle;
75
+ h5: TypographyStyle;
76
+ h6: TypographyStyle;
77
+ subtitle1: TypographyStyle;
78
+ subtitle2: TypographyStyle;
79
+ body1: TypographyStyle;
80
+ body2: TypographyStyle;
81
+ button: TypographyStyle;
82
+ caption: TypographyStyle;
83
+ overline: TypographyStyle;
84
+ }
85
+ interface Transitions {
86
+ easing: {
87
+ easeInOut: string;
88
+ easeOut: string;
89
+ easeIn: string;
90
+ sharp: string;
91
+ };
92
+ duration: {
93
+ shortest: number;
94
+ shorter: number;
95
+ short: number;
96
+ standard: number;
97
+ complex: number;
98
+ enteringScreen: number;
99
+ leavingScreen: number;
100
+ };
101
+ create: (props: string | string[], options?: {
102
+ duration?: number | string;
103
+ easing?: string;
104
+ delay?: number | string;
105
+ }) => string;
106
+ }
107
+ interface ZIndex {
108
+ mobileStepper: number;
109
+ fab: number;
110
+ speedDial: number;
111
+ appBar: number;
112
+ drawer: number;
113
+ modal: number;
114
+ snackbar: number;
115
+ tooltip: number;
116
+ }
117
+ interface ComponentOverride<P = any> {
118
+ defaultProps?: Partial<P>;
119
+ styleOverrides?: {
120
+ [slot: string]: React.CSSProperties | ((params: {
121
+ theme: ChellaaTheme;
122
+ ownerState: P;
123
+ }) => React.CSSProperties);
124
+ };
125
+ }
126
+ interface ChellaaTheme {
127
+ palette: Palette;
128
+ typography: TypographyTheme;
129
+ spacing: (...factors: (number | string)[]) => string;
130
+ shape: {
131
+ borderRadius: number;
132
+ };
133
+ breakpoints: Breakpoints;
134
+ shadows: string[];
135
+ transitions: Transitions;
136
+ zIndex: ZIndex;
137
+ components?: Record<string, ComponentOverride>;
138
+ }
139
+ type DeepPartial<T> = {
140
+ [P in keyof T]?: T[P] extends Function ? T[P] : T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends object ? DeepPartial<T[P]> : T[P];
141
+ };
142
+ type ThemeOptions = DeepPartial<ChellaaTheme>;
143
+
144
+ declare module "@emotion/react" {
145
+ interface Theme extends ChellaaTheme {
146
+ }
147
+ }
3
148
  type ThemeMode = "light" | "dark" | "system" | string;
4
149
  interface ThemeContextValue {
5
150
  theme: ThemeMode;
6
151
  setTheme: (theme: ThemeMode) => void;
7
152
  resolvedTheme: "light" | "dark";
8
153
  systemTheme: "light" | "dark" | undefined;
154
+ activeTheme: ChellaaTheme;
155
+ colorMode: ColorMode;
156
+ setColorMode: (mode: ColorMode) => void;
9
157
  }
10
158
  interface ThemeProviderProps {
11
159
  children?: React.ReactNode;
160
+ theme?: ChellaaTheme | ThemeOptions;
12
161
  defaultTheme?: ThemeMode;
13
162
  storageKey?: string;
14
163
  enableSystem?: boolean;
15
164
  tokens?: Record<string, string>;
16
165
  attribute?: string;
17
166
  }
18
- declare function ThemeProvider({ children, defaultTheme, storageKey, enableSystem, tokens, attribute, }: ThemeProviderProps): React.JSX.Element;
167
+ declare function ThemeProvider({ children, theme: customThemeProp, defaultTheme: defaultThemeMode, storageKey, enableSystem, tokens, attribute, }: ThemeProviderProps): React.JSX.Element;
19
168
 
169
+ interface ExtendedThemeContextValue extends ThemeContextValue {
170
+ /** The active ChellaaTheme object (colors, typography, spacing, shadows) */
171
+ themeObject: ChellaaTheme;
172
+ }
20
173
  /**
21
174
  * Accesses the active theme context, allowing components to read and update
22
- * the current theme mode (`light`, `dark`, `system`), resolved theme, and system preference.
175
+ * the current theme mode (`light`, `dark`, `system`), resolved theme, and active ChellaaTheme.
23
176
  */
24
- declare function useTheme(): ThemeContextValue;
177
+ declare function useTheme(): ExtendedThemeContextValue;
25
178
 
26
- interface CustomThemeConfig {
27
- name: string;
28
- tokens: Record<string, string>;
29
- }
30
- interface CustomThemeResult {
31
- name: string;
32
- tokens: Record<string, string>;
33
- cssText: string;
34
- }
35
179
  /**
36
- * Creates a structured custom theme definition and compiles it to valid CSS custom property text.
180
+ * Creates a Chellaa Material Theme with 24-level elevation shadows,
181
+ * 8px spacing, and complete Google Material 3 design tokens.
37
182
  *
38
183
  * @example
39
- * const emeraldTheme = createTheme({
40
- * name: 'emerald',
41
- * tokens: {
42
- * '--cl-color-primary-base': '#059669',
43
- * '--cl-color-primary-hover': '#047857',
44
- * }
184
+ * const theme = createTheme({
185
+ * palette: {
186
+ * mode: 'dark',
187
+ * primary: { main: '#6366f1' }
188
+ * },
189
+ * shape: { borderRadius: 8 }
45
190
  * });
46
191
  */
47
- declare function createTheme(config: CustomThemeConfig): CustomThemeResult;
192
+ declare function createTheme(options?: ThemeOptions): ChellaaTheme;
193
+ declare const defaultTheme: ChellaaTheme;
194
+ declare const defaultDarkTheme: ChellaaTheme;
195
+
196
+ /**
197
+ * Google Material Design 24-Level Elevation Shadow Matrix
198
+ *
199
+ * Each shadow is composed of 3 distinct light-source formulas:
200
+ * 1. Umbra: Key direct light source shadow
201
+ * 2. Penumbra: Secondary ambient light shadow
202
+ * 3. Ambient: Atmospheric fill shadow
203
+ */
204
+ declare function createShadows(): string[];
205
+ declare const defaultShadows: string[];
206
+
207
+ /**
208
+ * Google Material Design 8px Spacing Grid Function
209
+ *
210
+ * Supports single and multi-argument invocations:
211
+ * - spacing(1) => '8px'
212
+ * - spacing(2) => '16px'
213
+ * - spacing(1, 2) => '8px 16px'
214
+ * - spacing(1, 2, 3, 4) => '8px 16px 24px 32px'
215
+ * - spacing('auto') => 'auto'
216
+ */
217
+ declare function createSpacing(base?: number): (...factors: (number | string)[]) => string;
218
+ declare const defaultSpacing: (...factors: (number | string)[]) => string;
219
+
220
+ declare const breakpointKeys: BreakpointKey[];
221
+ declare function createBreakpoints(customValues?: Partial<Record<BreakpointKey, number>>): Breakpoints;
222
+ declare const defaultBreakpoints: Breakpoints;
223
+
224
+ declare const lightPalette: Palette;
225
+ declare const darkPalette: Palette;
226
+ declare function createPalette(mode?: ColorMode): Palette;
227
+
228
+ declare const defaultTypography: TypographyTheme;
229
+
230
+ declare const defaultTransitions: Transitions;
231
+
232
+ declare const defaultZIndex: ZIndex;
48
233
 
49
234
  interface ThemeScriptProps {
50
235
  storageKey?: string;
@@ -58,6 +243,182 @@ interface ThemeScriptProps {
58
243
  */
59
244
  declare function ThemeScript({ storageKey, defaultTheme, attribute, nonce, }: ThemeScriptProps): React.JSX.Element;
60
245
 
246
+ /**
247
+ * Responsive value supports:
248
+ * 1. Single value: 2 | "100%"
249
+ * 2. Array syntax: [1, 2, 4] (mapped to xs, sm, md...)
250
+ * 3. Object syntax: { xs: 1, sm: 2, md: 4 }
251
+ */
252
+ type ResponsiveValue<T> = T | (T | null | undefined)[] | Partial<Record<BreakpointKey, T>>;
253
+ /**
254
+ * Shorthand and theme-aware system properties
255
+ */
256
+ interface SystemStyleProperties {
257
+ m?: ResponsiveValue<number | string>;
258
+ margin?: ResponsiveValue<number | string>;
259
+ mt?: ResponsiveValue<number | string>;
260
+ marginTop?: ResponsiveValue<number | string>;
261
+ mr?: ResponsiveValue<number | string>;
262
+ marginRight?: ResponsiveValue<number | string>;
263
+ mb?: ResponsiveValue<number | string>;
264
+ marginBottom?: ResponsiveValue<number | string>;
265
+ ml?: ResponsiveValue<number | string>;
266
+ marginLeft?: ResponsiveValue<number | string>;
267
+ mx?: ResponsiveValue<number | string>;
268
+ marginInline?: ResponsiveValue<number | string>;
269
+ my?: ResponsiveValue<number | string>;
270
+ marginBlock?: ResponsiveValue<number | string>;
271
+ p?: ResponsiveValue<number | string>;
272
+ padding?: ResponsiveValue<number | string>;
273
+ pt?: ResponsiveValue<number | string>;
274
+ paddingTop?: ResponsiveValue<number | string>;
275
+ pr?: ResponsiveValue<number | string>;
276
+ paddingRight?: ResponsiveValue<number | string>;
277
+ pb?: ResponsiveValue<number | string>;
278
+ paddingBottom?: ResponsiveValue<number | string>;
279
+ pl?: ResponsiveValue<number | string>;
280
+ paddingLeft?: ResponsiveValue<number | string>;
281
+ px?: ResponsiveValue<number | string>;
282
+ paddingInline?: ResponsiveValue<number | string>;
283
+ py?: ResponsiveValue<number | string>;
284
+ paddingBlock?: ResponsiveValue<number | string>;
285
+ gap?: ResponsiveValue<number | string>;
286
+ rowGap?: ResponsiveValue<number | string>;
287
+ columnGap?: ResponsiveValue<number | string>;
288
+ color?: ResponsiveValue<string>;
289
+ bgcolor?: ResponsiveValue<string>;
290
+ backgroundColor?: ResponsiveValue<string>;
291
+ borderColor?: ResponsiveValue<string>;
292
+ elevation?: ResponsiveValue<number>;
293
+ boxShadow?: ResponsiveValue<number | string>;
294
+ borderRadius?: ResponsiveValue<number | string>;
295
+ zIndex?: ResponsiveValue<number | string>;
296
+ display?: ResponsiveValue<CSSProperties["display"]>;
297
+ flexDirection?: ResponsiveValue<CSSProperties["flexDirection"]>;
298
+ flexWrap?: ResponsiveValue<CSSProperties["flexWrap"]>;
299
+ justifyContent?: ResponsiveValue<CSSProperties["justifyContent"]>;
300
+ alignItems?: ResponsiveValue<CSSProperties["alignItems"]>;
301
+ alignContent?: ResponsiveValue<CSSProperties["alignContent"]>;
302
+ flexGrow?: ResponsiveValue<CSSProperties["flexGrow"]>;
303
+ flexShrink?: ResponsiveValue<CSSProperties["flexShrink"]>;
304
+ flexBasis?: ResponsiveValue<CSSProperties["flexBasis"]>;
305
+ flex?: ResponsiveValue<CSSProperties["flex"]>;
306
+ width?: ResponsiveValue<number | string>;
307
+ minWidth?: ResponsiveValue<number | string>;
308
+ maxWidth?: ResponsiveValue<number | string>;
309
+ height?: ResponsiveValue<number | string>;
310
+ minHeight?: ResponsiveValue<number | string>;
311
+ maxHeight?: ResponsiveValue<number | string>;
312
+ position?: ResponsiveValue<CSSProperties["position"]>;
313
+ top?: ResponsiveValue<number | string>;
314
+ right?: ResponsiveValue<number | string>;
315
+ bottom?: ResponsiveValue<number | string>;
316
+ left?: ResponsiveValue<number | string>;
317
+ overflow?: ResponsiveValue<CSSProperties["overflow"]>;
318
+ opacity?: ResponsiveValue<CSSProperties["opacity"]>;
319
+ }
320
+ type StandardCSSProperties = {
321
+ [K in keyof CSSProperties]?: ResponsiveValue<CSSProperties[K]>;
322
+ };
323
+ type SystemCssProperties = SystemStyleProperties & StandardCSSProperties;
324
+ interface SxObject extends SystemCssProperties {
325
+ [key: string]: ResponsiveValue<any> | SxObject | ((theme: ChellaaTheme) => SxObject) | undefined;
326
+ }
327
+ type SxPropValue = SxObject | ((theme: ChellaaTheme) => SxObject) | boolean | undefined | null;
328
+ type SxProps = SxPropValue | SxPropValue[];
329
+ interface StyledOptions<Props extends object = {}> {
330
+ /**
331
+ * Component name for theme overrides and debugging (e.g. 'ChellaaButton')
332
+ */
333
+ name?: string;
334
+ /**
335
+ * Component slot name (e.g. 'root', 'startIcon', 'thumb')
336
+ */
337
+ slot?: string;
338
+ /**
339
+ * Filter predicate determining which props should be forwarded to DOM element
340
+ */
341
+ shouldForwardProp?: (prop: PropertyKey) => boolean;
342
+ /**
343
+ * Descriptive label for generated emotion classes
344
+ */
345
+ label?: string;
346
+ /**
347
+ * CSS target class
348
+ */
349
+ target?: string;
350
+ /**
351
+ * If true, bypasses automatic sx prop resolution
352
+ */
353
+ skipSx?: boolean;
354
+ /**
355
+ * Optional custom resolver for theme style overrides
356
+ */
357
+ overridesResolver?: (props: Props, styles: Record<string, any>) => Record<string, any> | undefined;
358
+ }
359
+
360
+ /**
361
+ * Creates a shouldForwardProp predicate function for Emotion styled components.
362
+ * Automatically filters out transient props starting with '$' and default system props.
363
+ *
364
+ * @param customBlocked Array or Set of additional prop names to prevent forwarding to DOM
365
+ */
366
+ declare function createShouldForwardProp(customBlocked?: (string | PropertyKey)[] | Set<string | PropertyKey>): (prop: PropertyKey) => boolean;
367
+ /**
368
+ * Default root shouldForwardProp filter.
369
+ * Blocks 'sx', 'theme', 'as', 'ownerState', 'slotProps', and '$*'.
370
+ */
371
+ declare const rootShouldForwardProp: (prop: PropertyKey) => boolean;
372
+
373
+ /**
374
+ * Core responsive `sx` parser function.
375
+ * Evaluates `sx` prop against current theme, expanding:
376
+ * - Theme spacing shortcuts (m, p, mx, my, px, py, etc.)
377
+ * - Theme palette tokens (color, bgcolor: 'primary.main', 'text.secondary')
378
+ * - Elevation shadows (elevation: 0..24, boxShadow: 0..24)
379
+ * - Breakpoint responsive arrays ([1, 2, 4]) and objects ({ xs: 1, md: 4 })
380
+ * - Pseudo-classes (&:hover, &:focus) and nested selectors
381
+ * - Theme function callbacks: `(theme) => ({ ... })`
382
+ * - Array of sx items: `[sx1, condition && sx2, (theme) => sx3]`
383
+ */
384
+ declare function parseSx(themeInput?: ChellaaTheme, sx?: SxProps): Record<string, any>;
385
+
386
+ interface ComponentOverrideOptions {
387
+ name?: string;
388
+ slot?: string;
389
+ overridesResolver?: (props: any, styles: Record<string, any>) => Record<string, any> | undefined;
390
+ }
391
+ /**
392
+ * Resolves component-level style overrides defined in theme.components[name].styleOverrides
393
+ * Supports both static style objects and dynamic functions: `({ theme, ownerState }) => ({ ... })`
394
+ */
395
+ declare function resolveComponentOverrides(theme: ChellaaTheme, options: ComponentOverrideOptions, props: Record<string, any>): Record<string, any> | undefined;
396
+
397
+ type StyleInterpolation<Props extends object = {}> = Record<string, any> | ((props: Props & {
398
+ theme: ChellaaTheme;
399
+ }) => Record<string, any> | undefined | null | false);
400
+ /**
401
+ * Creates an Emotion-powered styled component with:
402
+ * 1. Automatic `sx` prop parsing with responsive breakpoints & 8px theme spacing.
403
+ * 2. Automatic resolution of `theme.components[name].styleOverrides[slot]`.
404
+ * 3. Safe DOM prop filtering via `shouldForwardProp` preventing `sx` and private props from leaking.
405
+ * 4. First-class polymorphism via `as` prop.
406
+ *
407
+ * @example
408
+ * const MyBox = styled('div', {
409
+ * name: 'ChellaaBox',
410
+ * slot: 'Root'
411
+ * })({
412
+ * boxSizing: 'border-box'
413
+ * });
414
+ */
415
+ declare function styled<Component extends React__default.ElementType, ExtraProps extends object = {}>(component: Component, options?: StyledOptions<ExtraProps>): <Props extends object = ExtraProps>(...interpolations: StyleInterpolation<Props & {
416
+ sx?: SxProps;
417
+ as?: React__default.ElementType;
418
+ }>[]) => _emotion_styled.StyledComponent<any, {}, {
419
+ ref?: React__default.Ref<any>;
420
+ }>;
421
+
61
422
  type ButtonVariant = "solid" | "outline" | "ghost" | "subtle" | "link";
62
423
  type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
63
424
  type ButtonColorScheme = "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "neutral";
@@ -119,6 +480,15 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
119
480
  * @default false
120
481
  */
121
482
  asChild?: boolean;
483
+ /**
484
+ * If true, disables the tactile touch ripple effect.
485
+ * @default false
486
+ */
487
+ disableRipple?: boolean | undefined;
488
+ /**
489
+ * System-aware sx styling prop
490
+ */
491
+ sx?: SxProps;
122
492
  /**
123
493
  * Button content or label.
124
494
  */
@@ -129,7 +499,8 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
129
499
  * Chellaa React Button component.
130
500
  *
131
501
  * Fundamental action primitive supporting 5 variants, 5 sizes, 7 color schemes,
132
- * loading states, icons, keyboard interaction, and polymorphic slot delegation via `asChild`.
502
+ * tactile touch ripple feedback, loading states, icons, keyboard interaction,
503
+ * theme overrides, and polymorphic slot delegation via `asChild`.
133
504
  */
134
505
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
135
506
 
@@ -200,4 +571,3128 @@ declare const ButtonGroupContext: React.Context<ButtonGroupContextValue | undefi
200
571
  */
201
572
  declare function useButtonGroupContext(): ButtonGroupContextValue | undefined;
202
573
 
203
- export { Button, type ButtonColorScheme, ButtonGroup, ButtonGroupContext, type ButtonGroupContextValue, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonLoadingPosition, type ButtonProps, type ButtonSize, type ButtonVariant, type CustomThemeConfig, type CustomThemeResult, type ThemeContextValue, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, createTheme, useButtonGroupContext, useTheme };
574
+ interface BoxProps extends React.HTMLAttributes<HTMLElement> {
575
+ /**
576
+ * If true, delegating rendering to immediate child element using Slot
577
+ */
578
+ asChild?: boolean;
579
+ /**
580
+ * The underlying HTML element or component to render (alias of `as`)
581
+ */
582
+ component?: React.ElementType;
583
+ /**
584
+ * The underlying HTML element or component to render
585
+ */
586
+ as?: React.ElementType;
587
+ /**
588
+ * The system-aware sx prop
589
+ */
590
+ sx?: SxProps;
591
+ children?: React.ReactNode;
592
+ }
593
+ /**
594
+ * Universal polymorphic layout container with theme-aware `sx` styling and `asChild` composition.
595
+ *
596
+ * @example
597
+ * <Box sx={{ p: 2, bgcolor: 'background.paper', borderRadius: 2 }}>
598
+ * Content
599
+ * </Box>
600
+ */
601
+ declare const Box: React.ForwardRefExoticComponent<BoxProps & React.RefAttributes<HTMLElement>>;
602
+
603
+ type StackDirection = "row" | "row-reverse" | "column" | "column-reverse";
604
+ interface StackOwnerState {
605
+ direction?: ResponsiveValue<StackDirection> | undefined;
606
+ spacing?: ResponsiveValue<number | string> | undefined;
607
+ alignItems?: ResponsiveValue<CSSProperties["alignItems"]> | undefined;
608
+ justifyContent?: ResponsiveValue<CSSProperties["justifyContent"]> | undefined;
609
+ flexWrap?: ResponsiveValue<CSSProperties["flexWrap"]> | undefined;
610
+ useFlexGap?: boolean | undefined;
611
+ }
612
+ interface StackProps extends React.HTMLAttributes<HTMLElement>, StackOwnerState {
613
+ /**
614
+ * If true, delegate rendering to immediate child element using Slot
615
+ */
616
+ asChild?: boolean;
617
+ /**
618
+ * Underlying HTML element or component
619
+ */
620
+ component?: React.ElementType;
621
+ /**
622
+ * Underlying HTML element or component
623
+ */
624
+ as?: React.ElementType;
625
+ /**
626
+ * Element placed between each child
627
+ */
628
+ divider?: React.ReactNode;
629
+ /**
630
+ * System-aware sx styling prop
631
+ */
632
+ sx?: SxProps;
633
+ children?: React.ReactNode;
634
+ }
635
+ /**
636
+ * 1D Flexbox layout container managing direction, spacing, alignment, and dividers.
637
+ *
638
+ * @example
639
+ * <Stack direction="row" spacing={2} alignItems="center">
640
+ * <Item>1</Item>
641
+ * <Item>2</Item>
642
+ * </Stack>
643
+ */
644
+ declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLElement>>;
645
+
646
+ interface FlexOwnerState {
647
+ direction?: ResponsiveValue<StackDirection> | undefined;
648
+ spacing?: ResponsiveValue<number | string> | undefined;
649
+ gap?: ResponsiveValue<number | string> | undefined;
650
+ alignItems?: ResponsiveValue<CSSProperties["alignItems"]> | undefined;
651
+ align?: ResponsiveValue<CSSProperties["alignItems"]> | undefined;
652
+ justifyContent?: ResponsiveValue<CSSProperties["justifyContent"]> | undefined;
653
+ justify?: ResponsiveValue<CSSProperties["justifyContent"]> | undefined;
654
+ flexWrap?: ResponsiveValue<CSSProperties["flexWrap"]> | undefined;
655
+ wrap?: ResponsiveValue<CSSProperties["flexWrap"]> | undefined;
656
+ inline?: boolean | undefined;
657
+ center?: boolean | undefined;
658
+ }
659
+ interface FlexProps extends React.HTMLAttributes<HTMLElement>, FlexOwnerState {
660
+ /**
661
+ * If true, delegate rendering to immediate child element using Slot
662
+ */
663
+ asChild?: boolean | undefined;
664
+ /**
665
+ * Underlying HTML element or component
666
+ */
667
+ component?: React.ElementType | undefined;
668
+ /**
669
+ * Underlying HTML element or component
670
+ */
671
+ as?: React.ElementType | undefined;
672
+ /**
673
+ * Element placed between each child
674
+ */
675
+ divider?: React.ReactNode | undefined;
676
+ /**
677
+ * System-aware sx styling prop
678
+ */
679
+ sx?: SxProps;
680
+ children?: React.ReactNode;
681
+ }
682
+ /**
683
+ * 1D Flexbox layout container defaulting to horizontal row flow with convenient
684
+ * shorthands: `center`, `inline`, `align`, `justify`, `wrap`, and `gap`.
685
+ *
686
+ * @example
687
+ * <Flex center gap={2}>
688
+ * <Avatar />
689
+ * <Text>User Name</Text>
690
+ * </Flex>
691
+ */
692
+ declare const Flex: React.ForwardRefExoticComponent<FlexProps & React.RefAttributes<HTMLElement>>;
693
+
694
+ interface ContainerOwnerState {
695
+ maxWidth?: BreakpointKey | false | undefined;
696
+ fixed?: boolean | undefined;
697
+ disableGutters?: boolean | undefined;
698
+ }
699
+ interface ContainerProps extends React.HTMLAttributes<HTMLElement>, ContainerOwnerState {
700
+ /**
701
+ * If true, delegate rendering to immediate child element using Slot
702
+ */
703
+ asChild?: boolean;
704
+ /**
705
+ * The underlying HTML element or component
706
+ */
707
+ component?: React.ElementType;
708
+ /**
709
+ * The underlying HTML element or component
710
+ */
711
+ as?: React.ElementType;
712
+ /**
713
+ * The system-aware sx prop
714
+ */
715
+ sx?: SxProps;
716
+ children?: React.ReactNode;
717
+ }
718
+ /**
719
+ * Centered responsive max-width container with fluid gutters.
720
+ *
721
+ * @example
722
+ * <Container maxWidth="md">
723
+ * <Typography variant="h1">Header</Typography>
724
+ * </Container>
725
+ */
726
+ declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLElement>>;
727
+
728
+ type GridSize = boolean | "auto" | number;
729
+ type GridWrap = "nowrap" | "wrap" | "wrap-reverse";
730
+ type GridDirection = "row" | "row-reverse" | "column" | "column-reverse";
731
+ interface GridOwnerState {
732
+ container?: boolean | undefined;
733
+ item?: boolean | undefined;
734
+ columns?: number | undefined;
735
+ spacing?: ResponsiveValue<number | string> | undefined;
736
+ rowSpacing?: ResponsiveValue<number | string> | undefined;
737
+ columnSpacing?: ResponsiveValue<number | string> | undefined;
738
+ direction?: ResponsiveValue<GridDirection> | undefined;
739
+ wrap?: GridWrap | undefined;
740
+ alignItems?: ResponsiveValue<CSSProperties["alignItems"]> | undefined;
741
+ justifyContent?: ResponsiveValue<CSSProperties["justifyContent"]> | undefined;
742
+ xs?: GridSize | undefined;
743
+ sm?: GridSize | undefined;
744
+ md?: GridSize | undefined;
745
+ lg?: GridSize | undefined;
746
+ xl?: GridSize | undefined;
747
+ }
748
+ interface GridProps extends React.HTMLAttributes<HTMLElement>, GridOwnerState {
749
+ /**
750
+ * If true, delegate rendering to immediate child element using Slot
751
+ */
752
+ asChild?: boolean;
753
+ /**
754
+ * The underlying HTML element or component
755
+ */
756
+ component?: React.ElementType;
757
+ /**
758
+ * The underlying HTML element or component
759
+ */
760
+ as?: React.ElementType;
761
+ /**
762
+ * The system-aware sx prop
763
+ */
764
+ sx?: SxProps;
765
+ children?: React.ReactNode;
766
+ }
767
+ /**
768
+ * Material 12-column responsive layout grid.
769
+ *
770
+ * @example
771
+ * <Grid container spacing={2}>
772
+ * <Grid item xs={12} md={6}>Item 1</Grid>
773
+ * <Grid item xs={12} md={6}>Item 2</Grid>
774
+ * </Grid>
775
+ */
776
+ declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLElement>>;
777
+
778
+ type DividerOrientation = "horizontal" | "vertical";
779
+ type DividerVariant = "fullWidth" | "inset" | "middle";
780
+ type DividerTextAlign = "center" | "left" | "right";
781
+ type DividerLineStyle = "solid" | "dashed" | "dotted";
782
+ interface DividerOwnerState {
783
+ orientation?: DividerOrientation | undefined;
784
+ variant?: DividerVariant | undefined;
785
+ lineStyle?: DividerLineStyle | undefined;
786
+ flexItem?: boolean | undefined;
787
+ light?: boolean | undefined;
788
+ textAlign?: DividerTextAlign | undefined;
789
+ hasChildren?: boolean | undefined;
790
+ }
791
+ interface DividerProps extends React.HTMLAttributes<HTMLElement>, DividerOwnerState {
792
+ /**
793
+ * If true, delegate rendering to immediate child element using Slot
794
+ */
795
+ asChild?: boolean;
796
+ /**
797
+ * The underlying HTML element or component
798
+ */
799
+ component?: React.ElementType;
800
+ /**
801
+ * The underlying HTML element or component
802
+ */
803
+ as?: React.ElementType;
804
+ /**
805
+ * The system-aware sx prop
806
+ */
807
+ sx?: SxProps;
808
+ children?: React.ReactNode;
809
+ }
810
+ /**
811
+ * Divider visual separator for grouping, lists, toolbars, and labeled sections.
812
+ *
813
+ * @example
814
+ * <Divider />
815
+ * <Divider>OR</Divider>
816
+ * <Divider orientation="vertical" flexItem />
817
+ */
818
+ declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLElement>>;
819
+
820
+ type TypographyAlign = "inherit" | "left" | "center" | "right" | "justify";
821
+ interface TypographyOwnerState {
822
+ variant?: TypographyVariant | undefined;
823
+ align?: TypographyAlign | undefined;
824
+ color?: string | undefined;
825
+ gutterBottom?: boolean | undefined;
826
+ noWrap?: boolean | undefined;
827
+ lineClamp?: number | undefined;
828
+ }
829
+ interface TypographyProps extends React.HTMLAttributes<HTMLElement>, TypographyOwnerState {
830
+ /**
831
+ * If true, delegate rendering to immediate child element using Slot
832
+ */
833
+ asChild?: boolean;
834
+ /**
835
+ * The underlying HTML element or component
836
+ */
837
+ component?: React.ElementType;
838
+ /**
839
+ * Alias for component
840
+ */
841
+ as?: React.ElementType;
842
+ /**
843
+ * The system-aware sx prop
844
+ */
845
+ sx?: SxProps;
846
+ children?: React.ReactNode;
847
+ }
848
+ declare function resolveTypographyColor(theme: ChellaaTheme, color?: string): string | undefined;
849
+ /**
850
+ * Foundational Typography component supporting all Material Design 3 scale variants,
851
+ * truncation, line clamping, and semantic element delegation.
852
+ *
853
+ * @example
854
+ * <Typography variant="h1">Display Header</Typography>
855
+ * <Typography variant="body1" color="text.secondary">Body text</Typography>
856
+ * <Typography noWrap>Single line truncated text</Typography>
857
+ */
858
+ declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
859
+
860
+ type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
861
+ interface HeadingProps extends Omit<TypographyProps, "variant"> {
862
+ /**
863
+ * Semantic heading level (1 to 6).
864
+ * Determines both default HTML tag (h1..h6) and typography scale variant unless overridden.
865
+ * @default 2
866
+ */
867
+ level?: HeadingLevel | undefined;
868
+ /**
869
+ * Optional visual scale variant to decouple styling from heading level.
870
+ */
871
+ variant?: TypographyVariant | undefined;
872
+ }
873
+ /**
874
+ * Ergonomic semantic heading primitive.
875
+ *
876
+ * @example
877
+ * <Heading level={1}>Page Title</Heading>
878
+ * <Heading level={2} variant="h4">Visually smaller Section Title</Heading>
879
+ */
880
+ declare const Heading: React.ForwardRefExoticComponent<HeadingProps & React.RefAttributes<HTMLElement>>;
881
+
882
+ type TextSize = "xs" | "sm" | "md" | "lg" | "xl";
883
+ interface TextProps extends TypographyProps {
884
+ /**
885
+ * Shorthand text size mapping to theme typographic scale:
886
+ * - "xs": caption (12px)
887
+ * - "sm": body2 (14px)
888
+ * - "md": body1 (16px)
889
+ * - "lg": subtitle1 (16px/medium)
890
+ * - "xl": h6 (20px)
891
+ */
892
+ size?: TextSize | undefined;
893
+ /**
894
+ * If true, renders as block element ('div' or 'p'). Otherwise renders as inline 'span'.
895
+ * @default false
896
+ */
897
+ block?: boolean | undefined;
898
+ }
899
+ /**
900
+ * Ergonomic inline or block textual primitive.
901
+ *
902
+ * @example
903
+ * <Text size="sm" color="text.secondary">Secondary caption</Text>
904
+ * <Text block noWrap>Single line block item</Text>
905
+ */
906
+ declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
907
+
908
+ interface ParagraphProps extends TypographyProps {
909
+ /**
910
+ * Shorthand spacing multiplier for bottom margin (defaults to standard gutterBottom).
911
+ */
912
+ spacing?: number | string | undefined;
913
+ }
914
+ /**
915
+ * Ergonomic paragraph block primitive with standard reading margins.
916
+ *
917
+ * @example
918
+ * <Paragraph>
919
+ * This is standard paragraph text with built-in reading spacing.
920
+ * </Paragraph>
921
+ */
922
+ declare const Paragraph: React.ForwardRefExoticComponent<ParagraphProps & React.RefAttributes<HTMLElement>>;
923
+
924
+ type CodeColorScheme = "default" | "primary" | "secondary";
925
+ interface CodeOwnerState {
926
+ colorScheme?: CodeColorScheme | undefined;
927
+ }
928
+ interface CodeProps extends React.HTMLAttributes<HTMLElement>, CodeOwnerState {
929
+ asChild?: boolean | undefined;
930
+ component?: React.ElementType | undefined;
931
+ as?: React.ElementType | undefined;
932
+ sx?: SxProps;
933
+ children?: React.ReactNode;
934
+ }
935
+ /**
936
+ * Inline monospace code chip primitive for identifiers, filenames, and CLI snippets.
937
+ *
938
+ * @example
939
+ * <Text>Run <Code>npm install</Code> to install dependencies.</Text>
940
+ * <Code colorScheme="primary">package.json</Code>
941
+ */
942
+ declare const Code: React.ForwardRefExoticComponent<CodeProps & React.RefAttributes<HTMLElement>>;
943
+
944
+ type KbdSize = "sm" | "md" | "lg";
945
+ type KbdVariant = "outline" | "subtle" | "solid";
946
+ type KbdModifier = "command" | "cmd" | "shift" | "option" | "alt" | "control" | "ctrl" | "enter" | "escape" | "esc" | "tab" | "backspace" | "delete" | "del" | "up" | "down" | "left" | "right";
947
+ declare const MODIFIER_SYMBOLS: Record<KbdModifier, string>;
948
+ interface KbdOwnerState {
949
+ size?: KbdSize | undefined;
950
+ variant?: KbdVariant | undefined;
951
+ modifier?: KbdModifier | undefined;
952
+ }
953
+ interface KbdProps extends React.HTMLAttributes<HTMLElement>, KbdOwnerState {
954
+ /**
955
+ * If true, delegate rendering to immediate child element using Slot
956
+ */
957
+ asChild?: boolean;
958
+ /**
959
+ * The underlying HTML element or component
960
+ */
961
+ component?: React.ElementType;
962
+ /**
963
+ * Alias for component
964
+ */
965
+ as?: React.ElementType;
966
+ /**
967
+ * The system-aware sx prop
968
+ */
969
+ sx?: SxProps;
970
+ children?: React.ReactNode;
971
+ }
972
+ /**
973
+ * Tactile keyboard shortcut keycap primitive representing user input keystrokes.
974
+ *
975
+ * @example
976
+ * <Kbd>Ctrl</Kbd> + <Kbd>K</Kbd>
977
+ * <Kbd modifier="command" />
978
+ * <Kbd size="sm" variant="subtle">Esc</Kbd>
979
+ */
980
+ declare const Kbd: React.ForwardRefExoticComponent<KbdProps & React.RefAttributes<HTMLElement>>;
981
+
982
+ type InputVariant = "outlined" | "filled" | "standard" | "unstyled";
983
+ type InputSize = "sm" | "md" | "lg";
984
+ interface InputOwnerState {
985
+ variant?: InputVariant | undefined;
986
+ size?: InputSize | undefined;
987
+ fullWidth?: boolean | undefined;
988
+ error?: boolean | undefined;
989
+ disabled?: boolean | undefined;
990
+ readOnly?: boolean | undefined;
991
+ hasStartAdornment?: boolean | undefined;
992
+ hasEndAdornment?: boolean | undefined;
993
+ focused?: boolean | undefined;
994
+ }
995
+ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "color">, InputOwnerState {
996
+ /**
997
+ * If true, delegate rendering to immediate child element using Slot
998
+ */
999
+ asChild?: boolean | undefined;
1000
+ /**
1001
+ * The underlying HTML element or component for root wrapper
1002
+ */
1003
+ component?: React.ElementType | undefined;
1004
+ /**
1005
+ * Alias for component
1006
+ */
1007
+ as?: React.ElementType | undefined;
1008
+ /**
1009
+ * The system-aware sx prop for dynamic runtime overrides
1010
+ */
1011
+ sx?: SxProps;
1012
+ /**
1013
+ * Additional props forwarded to native input element
1014
+ */
1015
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
1016
+ /**
1017
+ * Content rendered at the start of the input track
1018
+ */
1019
+ startAdornment?: React.ReactNode | undefined;
1020
+ /**
1021
+ * Content rendered at the end of the input track
1022
+ */
1023
+ endAdornment?: React.ReactNode | undefined;
1024
+ /**
1025
+ * If true, displays an interactive clear button when text is present
1026
+ * @default false
1027
+ */
1028
+ clearable?: boolean | undefined;
1029
+ /**
1030
+ * Callback fired when the clear button is clicked
1031
+ */
1032
+ onClear?: () => void;
1033
+ /**
1034
+ * Ref forwarded directly to the native <input> element
1035
+ */
1036
+ inputRef?: React.Ref<HTMLInputElement>;
1037
+ /**
1038
+ * Slotted child element when asChild is true
1039
+ */
1040
+ children?: React.ReactNode;
1041
+ }
1042
+
1043
+ /**
1044
+ * Headless raw input primitive for backward compatibility.
1045
+ */
1046
+ declare const InputBase: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & {
1047
+ ownerState?: InputOwnerState;
1048
+ } & React.RefAttributes<HTMLInputElement>>;
1049
+ /**
1050
+ * Chellaa React Input component.
1051
+ *
1052
+ * Fundamental single-line text entry primitive with Material Design 3 surface variants,
1053
+ * precompiled CSS cascade layers (@layer cl-components), zero-runtime static styling,
1054
+ * dynamic sx override bridge, and accessible form integration.
1055
+ */
1056
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLDivElement>>;
1057
+
1058
+ interface TextFieldProps extends InputProps {
1059
+ /**
1060
+ * The label text displayed above the input.
1061
+ */
1062
+ label?: React.ReactNode | undefined;
1063
+ /**
1064
+ * Explanatory helper text displayed below the input.
1065
+ */
1066
+ helperText?: React.ReactNode | undefined;
1067
+ /**
1068
+ * Error message displayed below the input when error is true.
1069
+ */
1070
+ errorMessage?: React.ReactNode | undefined;
1071
+ /**
1072
+ * If true, displays a required asterisk next to the label and marks input required.
1073
+ * @default false
1074
+ */
1075
+ required?: boolean | undefined;
1076
+ }
1077
+ /**
1078
+ * Enterprise composite form control combining label, input, helper text, and validation messaging.
1079
+ *
1080
+ * @example
1081
+ * <TextField
1082
+ * label="Email Address"
1083
+ * type="email"
1084
+ * placeholder="user@example.com"
1085
+ * helperText="We will never share your email."
1086
+ * required
1087
+ * />
1088
+ */
1089
+ declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLDivElement>>;
1090
+
1091
+ interface InputAdornmentProps extends React.HTMLAttributes<HTMLDivElement> {
1092
+ /**
1093
+ * Position of the adornment within the input track.
1094
+ */
1095
+ position: "start" | "end";
1096
+ /**
1097
+ * If true, prevents pointer events on the adornment (e.g. for purely decorative icons).
1098
+ * @default false
1099
+ */
1100
+ disablePointerEvents?: boolean | undefined;
1101
+ /**
1102
+ * The system-aware sx prop
1103
+ */
1104
+ sx?: SxProps;
1105
+ children?: React.ReactNode;
1106
+ }
1107
+ declare const InputAdornment: React.ForwardRefExoticComponent<InputAdornmentProps & React.RefAttributes<HTMLDivElement>>;
1108
+
1109
+ type TextareaVariant = "outlined" | "filled" | "standard" | "unstyled";
1110
+ type TextareaSize = "sm" | "md" | "lg";
1111
+ type TextareaResize = "none" | "vertical" | "horizontal" | "both";
1112
+ interface TextareaOwnerState {
1113
+ variant?: TextareaVariant | undefined;
1114
+ size?: TextareaSize | undefined;
1115
+ fullWidth?: boolean | undefined;
1116
+ error?: boolean | undefined;
1117
+ disabled?: boolean | undefined;
1118
+ readOnly?: boolean | undefined;
1119
+ autoResize?: boolean | undefined;
1120
+ resize?: TextareaResize | undefined;
1121
+ hasCount?: boolean | undefined;
1122
+ }
1123
+ interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size" | "color">, TextareaOwnerState {
1124
+ /**
1125
+ * If true, delegate rendering to immediate child element using Slot
1126
+ */
1127
+ asChild?: boolean | undefined;
1128
+ /**
1129
+ * The underlying HTML element or component for root wrapper
1130
+ */
1131
+ component?: React.ElementType | undefined;
1132
+ /**
1133
+ * Alias for component
1134
+ */
1135
+ as?: React.ElementType | undefined;
1136
+ /**
1137
+ * The system-aware sx prop
1138
+ */
1139
+ sx?: SxProps;
1140
+ /**
1141
+ * Minimum visible text lines when autoResize is enabled
1142
+ * @default 3
1143
+ */
1144
+ minRows?: number | undefined;
1145
+ /**
1146
+ * Maximum visible text lines before scrollbars appear when autoResize is enabled
1147
+ */
1148
+ maxRows?: number | undefined;
1149
+ /**
1150
+ * If true, displays live character counter below the input
1151
+ * @default false
1152
+ */
1153
+ showCount?: boolean | undefined;
1154
+ /**
1155
+ * Ref forwarded directly to native <textarea> element
1156
+ */
1157
+ textareaRef?: React.Ref<HTMLTextAreaElement>;
1158
+ /**
1159
+ * Additional HTML attributes forwarded to the native HTMLTextAreaElement.
1160
+ */
1161
+ textareaProps?: React.TextareaHTMLAttributes<HTMLTextAreaElement> | undefined;
1162
+ /**
1163
+ * Slotted child element when asChild is true
1164
+ */
1165
+ children?: React.ReactNode;
1166
+ }
1167
+
1168
+ /**
1169
+ * Multi-line plain text editing control with Material Design surface variants,
1170
+ * auto-expansion support, and character counter capabilities.
1171
+ */
1172
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLDivElement>>;
1173
+
1174
+ interface FormFieldProps extends React.HTMLAttributes<HTMLDivElement> {
1175
+ id?: string | undefined;
1176
+ name?: string | undefined;
1177
+ required?: boolean | undefined;
1178
+ isRequired?: boolean | undefined;
1179
+ disabled?: boolean | undefined;
1180
+ isDisabled?: boolean | undefined;
1181
+ readOnly?: boolean | undefined;
1182
+ isReadOnly?: boolean | undefined;
1183
+ error?: boolean | undefined;
1184
+ isInvalid?: boolean | undefined;
1185
+ fullWidth?: boolean | undefined;
1186
+ asChild?: boolean | undefined;
1187
+ component?: React.ElementType | undefined;
1188
+ as?: React.ElementType | undefined;
1189
+ sx?: SxProps;
1190
+ children?: React.ReactNode | undefined;
1191
+ }
1192
+ /**
1193
+ * Root form control container and accessibility context provider.
1194
+ * Automatically generates IDs and cascades validation states to child controls.
1195
+ *
1196
+ * @example
1197
+ * <FormField required error={hasError}>
1198
+ * <FormLabel>Email Address</FormLabel>
1199
+ * <Input type="email" placeholder="alex@company.com" />
1200
+ * <FormHelperText>We will never share your email.</FormHelperText>
1201
+ * <FormErrorMessage>Invalid email address.</FormErrorMessage>
1202
+ * </FormField>
1203
+ */
1204
+ declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
1205
+
1206
+ interface FormLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
1207
+ /**
1208
+ * If true, displays a required asterisk. Inherits from FormField context if omitted.
1209
+ */
1210
+ required?: boolean | undefined;
1211
+ /**
1212
+ * If true, highlights label in error palette color. Inherits from FormField context if omitted.
1213
+ */
1214
+ error?: boolean | undefined;
1215
+ /**
1216
+ * If true, styles label in disabled state. Inherits from FormField context if omitted.
1217
+ */
1218
+ disabled?: boolean | undefined;
1219
+ /**
1220
+ * If true, delegates rendering to immediate child using Slot.
1221
+ */
1222
+ asChild?: boolean | undefined;
1223
+ /**
1224
+ * The underlying HTML element or component
1225
+ */
1226
+ component?: React.ElementType | undefined;
1227
+ /**
1228
+ * Alias for component
1229
+ */
1230
+ as?: React.ElementType | undefined;
1231
+ /**
1232
+ * The system-aware sx prop
1233
+ */
1234
+ sx?: SxProps;
1235
+ children?: React.ReactNode | undefined;
1236
+ }
1237
+ /**
1238
+ * Accessible form label automatically linked to its associated input control.
1239
+ *
1240
+ * @example
1241
+ * <FormLabel>Email Address</FormLabel>
1242
+ */
1243
+ declare const FormLabel: React.ForwardRefExoticComponent<FormLabelProps & React.RefAttributes<HTMLLabelElement>>;
1244
+
1245
+ interface FormHelperTextProps extends React.HTMLAttributes<HTMLParagraphElement> {
1246
+ /**
1247
+ * If true, styles helper text in disabled state.
1248
+ */
1249
+ disabled?: boolean | undefined;
1250
+ /**
1251
+ * If true, delegates rendering to immediate child using Slot.
1252
+ */
1253
+ asChild?: boolean | undefined;
1254
+ /**
1255
+ * The underlying HTML element or component
1256
+ */
1257
+ component?: React.ElementType | undefined;
1258
+ /**
1259
+ * Alias for component
1260
+ */
1261
+ as?: React.ElementType | undefined;
1262
+ /**
1263
+ * The system-aware sx prop
1264
+ */
1265
+ sx?: SxProps;
1266
+ children?: React.ReactNode | undefined;
1267
+ }
1268
+ /**
1269
+ * Contextual explanation text rendered beneath an input control,
1270
+ * automatically linked via aria-describedby.
1271
+ *
1272
+ * @example
1273
+ * <FormHelperText>We will never share your personal email.</FormHelperText>
1274
+ */
1275
+ declare const FormHelperText: React.ForwardRefExoticComponent<FormHelperTextProps & React.RefAttributes<HTMLParagraphElement>>;
1276
+
1277
+ interface FormErrorMessageProps extends React.HTMLAttributes<HTMLParagraphElement> {
1278
+ /**
1279
+ * If true, forces the error message to mount even if error is false.
1280
+ * @default false
1281
+ */
1282
+ forceMount?: boolean | undefined;
1283
+ /**
1284
+ * If true, delegates rendering to immediate child using Slot.
1285
+ */
1286
+ asChild?: boolean | undefined;
1287
+ /**
1288
+ * The underlying HTML element or component
1289
+ */
1290
+ component?: React.ElementType | undefined;
1291
+ /**
1292
+ * Alias for component
1293
+ */
1294
+ as?: React.ElementType | undefined;
1295
+ /**
1296
+ * The system-aware sx prop
1297
+ */
1298
+ sx?: SxProps;
1299
+ children?: React.ReactNode | undefined;
1300
+ }
1301
+ /**
1302
+ * Accessible error message primitive rendered conditionally when error is true,
1303
+ * possessing role="alert" for immediate screen reader announcement.
1304
+ *
1305
+ * @example
1306
+ * <FormErrorMessage>Please enter a valid email address.</FormErrorMessage>
1307
+ */
1308
+ declare const FormErrorMessage: React.ForwardRefExoticComponent<FormErrorMessageProps & React.RefAttributes<HTMLParagraphElement>>;
1309
+
1310
+ interface FormFieldContextValue {
1311
+ id: string;
1312
+ name?: string | undefined;
1313
+ required?: boolean | undefined;
1314
+ disabled?: boolean | undefined;
1315
+ readOnly?: boolean | undefined;
1316
+ error?: boolean | undefined;
1317
+ labelId: string;
1318
+ helperTextId: string;
1319
+ errorMessageId: string;
1320
+ hasHelperText: boolean;
1321
+ hasErrorMessage: boolean;
1322
+ setHasHelperText: (has: boolean) => void;
1323
+ setHasErrorMessage: (has: boolean) => void;
1324
+ }
1325
+ declare const FormFieldContext: React.Context<FormFieldContextValue | undefined>;
1326
+ /**
1327
+ * Hook to consume form field state, IDs, and validation flags.
1328
+ * Returns undefined if used outside a <FormField>.
1329
+ */
1330
+ declare function useFormField(): FormFieldContextValue | undefined;
1331
+
1332
+ type CheckboxSize = "sm" | "md" | "lg";
1333
+ type CheckboxColorScheme = "primary" | "secondary" | "success" | "error" | "warning" | "info" | "default";
1334
+ interface CheckboxOwnerState {
1335
+ size: CheckboxSize;
1336
+ colorScheme: CheckboxColorScheme;
1337
+ checked: boolean;
1338
+ indeterminate: boolean;
1339
+ disabled: boolean;
1340
+ readOnly: boolean;
1341
+ error: boolean;
1342
+ hasLabel: boolean;
1343
+ }
1344
+ interface CheckboxProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange"> {
1345
+ /**
1346
+ * If true, the checkbox is checked (controlled).
1347
+ */
1348
+ checked?: boolean | undefined;
1349
+ /**
1350
+ * The default checked state when uncontrolled.
1351
+ * @default false
1352
+ */
1353
+ defaultChecked?: boolean | undefined;
1354
+ /**
1355
+ * If true, displays a dash icon and sets aria-checked="mixed".
1356
+ * Takes visual precedence over checked state.
1357
+ * @default false
1358
+ */
1359
+ indeterminate?: boolean | undefined;
1360
+ /**
1361
+ * Callback fired when the checked state changes.
1362
+ */
1363
+ onChange?: ((event: React.ChangeEvent<HTMLInputElement>) => void) | undefined;
1364
+ /**
1365
+ * The value of the checkbox when used inside a CheckboxGroup.
1366
+ */
1367
+ value?: string | undefined;
1368
+ /**
1369
+ * The name attribute of the hidden input element.
1370
+ */
1371
+ name?: string | undefined;
1372
+ /**
1373
+ * Size of the checkbox control box and label.
1374
+ * @default 'md'
1375
+ */
1376
+ size?: CheckboxSize | undefined;
1377
+ /**
1378
+ * Color palette theme scheme.
1379
+ * @default 'primary'
1380
+ */
1381
+ colorScheme?: CheckboxColorScheme | undefined;
1382
+ /**
1383
+ * If true, disables interaction and dims visual elements.
1384
+ * @default false
1385
+ */
1386
+ disabled?: boolean | undefined;
1387
+ /**
1388
+ * If true, prevents toggling while remaining focusable.
1389
+ * @default false
1390
+ */
1391
+ readOnly?: boolean | undefined;
1392
+ /**
1393
+ * If true, the input will be marked as required.
1394
+ * @default false
1395
+ */
1396
+ required?: boolean | undefined;
1397
+ /**
1398
+ * If true, displays an error state outline.
1399
+ * @default false
1400
+ */
1401
+ error?: boolean | undefined;
1402
+ /**
1403
+ * Ref forwarded directly to the hidden native HTMLInputElement.
1404
+ */
1405
+ inputRef?: React.Ref<HTMLInputElement> | undefined;
1406
+ /**
1407
+ * Additional HTML attributes forwarded to the hidden native HTMLInputElement.
1408
+ */
1409
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
1410
+ /**
1411
+ * If true, delegates rendering to immediate child element using Slot.
1412
+ * @default false
1413
+ */
1414
+ asChild?: boolean | undefined;
1415
+ /**
1416
+ * The underlying HTML element or component.
1417
+ */
1418
+ component?: React.ElementType | undefined;
1419
+ /**
1420
+ * Alias for component.
1421
+ */
1422
+ as?: React.ElementType | undefined;
1423
+ /**
1424
+ * System-aware sx prop.
1425
+ */
1426
+ sx?: SxProps;
1427
+ children?: React.ReactNode | undefined;
1428
+ }
1429
+ interface CheckboxGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
1430
+ /**
1431
+ * The controlled array of selected checkbox values.
1432
+ */
1433
+ value?: string[] | undefined;
1434
+ /**
1435
+ * The uncontrolled initial array of selected checkbox values.
1436
+ * @default []
1437
+ */
1438
+ defaultValue?: string[] | undefined;
1439
+ /**
1440
+ * Callback fired when selection changes.
1441
+ */
1442
+ onChange?: ((value: string[]) => void) | undefined;
1443
+ /**
1444
+ * The name attribute cascaded to all child checkboxes.
1445
+ */
1446
+ name?: string | undefined;
1447
+ /**
1448
+ * The size cascaded to all child checkboxes.
1449
+ * @default 'md'
1450
+ */
1451
+ size?: CheckboxSize | undefined;
1452
+ /**
1453
+ * The color scheme cascaded to all child checkboxes.
1454
+ * @default 'primary'
1455
+ */
1456
+ colorScheme?: CheckboxColorScheme | undefined;
1457
+ /**
1458
+ * The layout orientation of the group.
1459
+ * @default 'vertical'
1460
+ */
1461
+ orientation?: "vertical" | "horizontal" | undefined;
1462
+ /**
1463
+ * Spacing between individual checkboxes in the group.
1464
+ * Can be a theme spacing unit multiplier or custom CSS dimension.
1465
+ * @default 2
1466
+ */
1467
+ spacing?: number | string | undefined;
1468
+ /**
1469
+ * If true, disables all child checkboxes.
1470
+ * @default false
1471
+ */
1472
+ disabled?: boolean | undefined;
1473
+ /**
1474
+ * If true, marks all child checkboxes as read-only.
1475
+ * @default false
1476
+ */
1477
+ readOnly?: boolean | undefined;
1478
+ /**
1479
+ * If true, marks all child checkboxes with error state.
1480
+ * @default false
1481
+ */
1482
+ error?: boolean | undefined;
1483
+ /**
1484
+ * If true, delegates rendering to immediate child element using Slot.
1485
+ * @default false
1486
+ */
1487
+ asChild?: boolean | undefined;
1488
+ /**
1489
+ * The underlying HTML element or component.
1490
+ */
1491
+ component?: React.ElementType | undefined;
1492
+ /**
1493
+ * Alias for component.
1494
+ */
1495
+ as?: React.ElementType | undefined;
1496
+ /**
1497
+ * System-aware sx prop.
1498
+ */
1499
+ sx?: SxProps;
1500
+ children?: React.ReactNode | undefined;
1501
+ }
1502
+ interface CheckboxContextValue {
1503
+ value: string[];
1504
+ name?: string | undefined;
1505
+ size?: CheckboxSize | undefined;
1506
+ colorScheme?: CheckboxColorScheme | undefined;
1507
+ disabled?: boolean | undefined;
1508
+ readOnly?: boolean | undefined;
1509
+ error?: boolean | undefined;
1510
+ toggleValue: (itemValue: string) => void;
1511
+ }
1512
+
1513
+ /**
1514
+ * Checkbox primitive with tri-state selection, custom color palettes,
1515
+ * keyboard accessibility, and automatic CheckboxGroup / FormField binding.
1516
+ *
1517
+ * @example
1518
+ * <Checkbox defaultChecked>Subscribe to updates</Checkbox>
1519
+ * <Checkbox indeterminate>Select all items</Checkbox>
1520
+ */
1521
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLLabelElement>>;
1522
+
1523
+ /**
1524
+ * CheckboxGroup manages selection state for a set of related checkboxes,
1525
+ * cascading shared properties and orchestrating multi-selection arrays.
1526
+ *
1527
+ * @example
1528
+ * <CheckboxGroup defaultValue={['react']} onChange={(val) => console.log(val)}>
1529
+ * <Checkbox value="react">React</Checkbox>
1530
+ * <Checkbox value="vue">Vue</Checkbox>
1531
+ * <Checkbox value="svelte">Svelte</Checkbox>
1532
+ * </CheckboxGroup>
1533
+ */
1534
+ declare const CheckboxGroup: React.ForwardRefExoticComponent<CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
1535
+
1536
+ declare const CheckboxContext: React.Context<CheckboxContextValue | undefined>;
1537
+ /**
1538
+ * Hook to consume parent CheckboxGroup context.
1539
+ * Returns undefined if the checkbox is rendered standalone.
1540
+ */
1541
+ declare function useCheckboxGroup(): CheckboxContextValue | undefined;
1542
+
1543
+ type RadioSize = "sm" | "md" | "lg";
1544
+ type RadioColorScheme = "primary" | "secondary" | "success" | "error" | "warning" | "info" | "default";
1545
+ interface RadioOwnerState {
1546
+ size: RadioSize;
1547
+ colorScheme: RadioColorScheme;
1548
+ checked: boolean;
1549
+ disabled: boolean;
1550
+ readOnly: boolean;
1551
+ error: boolean;
1552
+ hasLabel: boolean;
1553
+ }
1554
+ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange"> {
1555
+ /**
1556
+ * If true, the radio button is selected (controlled).
1557
+ */
1558
+ checked?: boolean | undefined;
1559
+ /**
1560
+ * The default checked state when uncontrolled.
1561
+ * @default false
1562
+ */
1563
+ defaultChecked?: boolean | undefined;
1564
+ /**
1565
+ * Callback fired when the radio state changes.
1566
+ */
1567
+ onChange?: ((event: React.ChangeEvent<HTMLInputElement>) => void) | undefined;
1568
+ /**
1569
+ * Distinct value of this radio option.
1570
+ */
1571
+ value?: string | number | undefined;
1572
+ /**
1573
+ * Name attribute of the native input element. Inherited from RadioGroup if omitted.
1574
+ */
1575
+ name?: string | undefined;
1576
+ /**
1577
+ * Size of the radio control circle and label.
1578
+ * @default 'md'
1579
+ */
1580
+ size?: RadioSize | undefined;
1581
+ /**
1582
+ * Color palette theme scheme.
1583
+ * @default 'primary'
1584
+ */
1585
+ colorScheme?: RadioColorScheme | undefined;
1586
+ /**
1587
+ * If true, disables interaction and dims visual elements.
1588
+ * @default false
1589
+ */
1590
+ disabled?: boolean | undefined;
1591
+ /**
1592
+ * If true, prevents toggling while remaining focusable.
1593
+ * @default false
1594
+ */
1595
+ readOnly?: boolean | undefined;
1596
+ /**
1597
+ * If true, the input will be marked as required.
1598
+ * @default false
1599
+ */
1600
+ required?: boolean | undefined;
1601
+ /**
1602
+ * If true, displays an error state outline.
1603
+ * @default false
1604
+ */
1605
+ error?: boolean | undefined;
1606
+ /**
1607
+ * Ref forwarded directly to the hidden native HTMLInputElement.
1608
+ */
1609
+ inputRef?: React.Ref<HTMLInputElement> | undefined;
1610
+ /**
1611
+ * Additional HTML attributes forwarded to the hidden native HTMLInputElement.
1612
+ */
1613
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
1614
+ /**
1615
+ * If true, delegates rendering to immediate child element using Slot.
1616
+ * @default false
1617
+ */
1618
+ asChild?: boolean | undefined;
1619
+ /**
1620
+ * The underlying HTML element or component.
1621
+ */
1622
+ component?: React.ElementType | undefined;
1623
+ /**
1624
+ * Alias for component.
1625
+ */
1626
+ as?: React.ElementType | undefined;
1627
+ /**
1628
+ * System-aware sx prop.
1629
+ */
1630
+ sx?: SxProps;
1631
+ children?: React.ReactNode | undefined;
1632
+ }
1633
+ interface RadioGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
1634
+ /**
1635
+ * The controlled value of the selected radio button.
1636
+ */
1637
+ value?: string | number | undefined;
1638
+ /**
1639
+ * The uncontrolled initial value of the selected radio button.
1640
+ */
1641
+ defaultValue?: string | number | undefined;
1642
+ /**
1643
+ * Callback fired when selection changes.
1644
+ */
1645
+ onChange?: ((value: string | number) => void) | undefined;
1646
+ /**
1647
+ * The name attribute cascaded to all child radio buttons.
1648
+ * If omitted, a unique name is auto-generated.
1649
+ */
1650
+ name?: string | undefined;
1651
+ /**
1652
+ * The size cascaded to all child radio buttons.
1653
+ * @default 'md'
1654
+ */
1655
+ size?: RadioSize | undefined;
1656
+ /**
1657
+ * The color scheme cascaded to all child radio buttons.
1658
+ * @default 'primary'
1659
+ */
1660
+ colorScheme?: RadioColorScheme | undefined;
1661
+ /**
1662
+ * The layout orientation of the group.
1663
+ * @default 'vertical'
1664
+ */
1665
+ orientation?: "vertical" | "horizontal" | undefined;
1666
+ /**
1667
+ * Spacing between individual radio buttons in the group.
1668
+ * @default 2
1669
+ */
1670
+ spacing?: number | string | undefined;
1671
+ /**
1672
+ * If true, disables all child radio buttons.
1673
+ * @default false
1674
+ */
1675
+ disabled?: boolean | undefined;
1676
+ /**
1677
+ * If true, marks all child radio buttons as read-only.
1678
+ * @default false
1679
+ */
1680
+ readOnly?: boolean | undefined;
1681
+ /**
1682
+ * If true, marks all child radio buttons with error state.
1683
+ * @default false
1684
+ */
1685
+ error?: boolean | undefined;
1686
+ /**
1687
+ * If true, delegates rendering to immediate child element using Slot.
1688
+ * @default false
1689
+ */
1690
+ asChild?: boolean | undefined;
1691
+ /**
1692
+ * The underlying HTML element or component.
1693
+ */
1694
+ component?: React.ElementType | undefined;
1695
+ /**
1696
+ * Alias for component.
1697
+ */
1698
+ as?: React.ElementType | undefined;
1699
+ /**
1700
+ * System-aware sx prop.
1701
+ */
1702
+ sx?: SxProps;
1703
+ children?: React.ReactNode | undefined;
1704
+ }
1705
+ interface RadioContextValue {
1706
+ value?: string | number | undefined;
1707
+ name?: string | undefined;
1708
+ size?: RadioSize | undefined;
1709
+ colorScheme?: RadioColorScheme | undefined;
1710
+ disabled?: boolean | undefined;
1711
+ readOnly?: boolean | undefined;
1712
+ error?: boolean | undefined;
1713
+ onChange: (value: string | number) => void;
1714
+ }
1715
+
1716
+ /**
1717
+ * Radio primitive for single-choice selection with animated circular dot indicator,
1718
+ * accessible keyboard arrow navigation, and automatic RadioGroup / FormField binding.
1719
+ *
1720
+ * @example
1721
+ * <Radio value="express">Express Delivery</Radio>
1722
+ */
1723
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
1724
+
1725
+ /**
1726
+ * RadioGroup manages single-selection state across a group of mutually exclusive Radios,
1727
+ * providing native roving keyboard navigation and shared property cascade.
1728
+ *
1729
+ * @example
1730
+ * <RadioGroup defaultValue="standard" onChange={(val) => console.log(val)}>
1731
+ * <Radio value="standard">Standard Shipping (3-5 days)</Radio>
1732
+ * <Radio value="express">Express Shipping (1-2 days)</Radio>
1733
+ * <Radio value="overnight">Overnight Delivery</Radio>
1734
+ * </RadioGroup>
1735
+ */
1736
+ declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
1737
+
1738
+ declare const RadioContext: React.Context<RadioContextValue | undefined>;
1739
+ /**
1740
+ * Hook to consume parent RadioGroup context.
1741
+ * Returns undefined if the radio is rendered standalone.
1742
+ */
1743
+ declare function useRadioGroup(): RadioContextValue | undefined;
1744
+
1745
+ type SwitchSize = "sm" | "md" | "lg";
1746
+ type SwitchColorScheme = "primary" | "secondary" | "success" | "error" | "warning" | "info" | "default";
1747
+ type SwitchLabelPlacement = "end" | "start" | "top" | "bottom";
1748
+ interface SwitchOwnerState {
1749
+ size: SwitchSize;
1750
+ colorScheme: SwitchColorScheme;
1751
+ checked: boolean;
1752
+ disabled: boolean;
1753
+ readOnly: boolean;
1754
+ loading: boolean;
1755
+ error: boolean;
1756
+ labelPlacement: SwitchLabelPlacement;
1757
+ hasLabel: boolean;
1758
+ }
1759
+ interface SwitchProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange"> {
1760
+ /**
1761
+ * If true, the switch is toggled on (controlled).
1762
+ */
1763
+ checked?: boolean | undefined;
1764
+ /**
1765
+ * The default checked state when uncontrolled.
1766
+ * @default false
1767
+ */
1768
+ defaultChecked?: boolean | undefined;
1769
+ /**
1770
+ * Callback fired when the switch state changes.
1771
+ */
1772
+ onChange?: ((event: React.ChangeEvent<HTMLInputElement>) => void) | undefined;
1773
+ /**
1774
+ * The value of the switch for native form submission.
1775
+ */
1776
+ value?: string | undefined;
1777
+ /**
1778
+ * The name attribute of the hidden input element.
1779
+ */
1780
+ name?: string | undefined;
1781
+ /**
1782
+ * Size of the switch track and thumb.
1783
+ * @default 'md'
1784
+ */
1785
+ size?: SwitchSize | undefined;
1786
+ /**
1787
+ * Color palette theme scheme when active.
1788
+ * @default 'primary'
1789
+ */
1790
+ colorScheme?: SwitchColorScheme | undefined;
1791
+ /**
1792
+ * If true, disables interaction and dims visual elements.
1793
+ * @default false
1794
+ */
1795
+ disabled?: boolean | undefined;
1796
+ /**
1797
+ * If true, prevents toggling while remaining focusable.
1798
+ * @default false
1799
+ */
1800
+ readOnly?: boolean | undefined;
1801
+ /**
1802
+ * If true, the input will be marked as required.
1803
+ * @default false
1804
+ */
1805
+ required?: boolean | undefined;
1806
+ /**
1807
+ * If true, displays an error state outline.
1808
+ * @default false
1809
+ */
1810
+ error?: boolean | undefined;
1811
+ /**
1812
+ * If true, disables switch and renders a micro-loading spinner inside thumb.
1813
+ * @default false
1814
+ */
1815
+ loading?: boolean | undefined;
1816
+ /**
1817
+ * Custom icon rendered inside the thumb when checked.
1818
+ */
1819
+ checkedIcon?: React.ReactNode | undefined;
1820
+ /**
1821
+ * Custom icon rendered inside the thumb when unchecked.
1822
+ */
1823
+ uncheckedIcon?: React.ReactNode | undefined;
1824
+ /**
1825
+ * Position of the label relative to the switch track.
1826
+ * @default 'end'
1827
+ */
1828
+ labelPlacement?: SwitchLabelPlacement | undefined;
1829
+ /**
1830
+ * Ref forwarded directly to the hidden native HTMLInputElement.
1831
+ */
1832
+ inputRef?: React.Ref<HTMLInputElement> | undefined;
1833
+ /**
1834
+ * Additional HTML attributes forwarded to the hidden native HTMLInputElement.
1835
+ */
1836
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
1837
+ /**
1838
+ * If true, delegates rendering to immediate child element using Slot.
1839
+ * @default false
1840
+ */
1841
+ asChild?: boolean | undefined;
1842
+ /**
1843
+ * The underlying HTML element or component.
1844
+ */
1845
+ component?: React.ElementType | undefined;
1846
+ /**
1847
+ * Alias for component.
1848
+ */
1849
+ as?: React.ElementType | undefined;
1850
+ /**
1851
+ * System-aware sx prop.
1852
+ */
1853
+ sx?: SxProps;
1854
+ children?: React.ReactNode | undefined;
1855
+ }
1856
+
1857
+ /**
1858
+ * Switch primitive representing an immediate binary toggle setting.
1859
+ * Conforms to the W3C WAI-ARIA 1.2 Switch Pattern (`role="switch"`).
1860
+ *
1861
+ * @example
1862
+ * <Switch defaultChecked>Enable Notifications</Switch>
1863
+ */
1864
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLLabelElement>>;
1865
+
1866
+ type PaperVariant = "elevation" | "outlined";
1867
+ interface PaperOwnerState {
1868
+ elevation?: number | undefined;
1869
+ variant?: PaperVariant | undefined;
1870
+ square?: boolean | undefined;
1871
+ }
1872
+ interface PaperProps extends React.HTMLAttributes<HTMLElement>, PaperOwnerState {
1873
+ /**
1874
+ * If true, delegate rendering to immediate child element using Slot
1875
+ */
1876
+ asChild?: boolean | undefined;
1877
+ /**
1878
+ * The underlying HTML element or component
1879
+ */
1880
+ component?: React.ElementType | undefined;
1881
+ /**
1882
+ * The underlying HTML element or component
1883
+ */
1884
+ as?: React.ElementType | undefined;
1885
+ /**
1886
+ * The system-aware sx prop
1887
+ */
1888
+ sx?: SxProps;
1889
+ children?: React.ReactNode;
1890
+ }
1891
+
1892
+ /**
1893
+ * Material Paper elevation surface container with 24-level elevation shadows,
1894
+ * dark-mode surface elevation overlays, and outlined variants.
1895
+ *
1896
+ * @example
1897
+ * <Paper elevation={3} sx={{ p: 2 }}>
1898
+ * Elevated Content
1899
+ * </Paper>
1900
+ */
1901
+ declare const Paper: React.ForwardRefExoticComponent<PaperProps & React.RefAttributes<HTMLElement>>;
1902
+
1903
+ type CardVariant = "elevated" | "outlined" | "filled" | "outline";
1904
+ type CardSize = "sm" | "md" | "lg";
1905
+ interface CardOwnerState {
1906
+ variant: CardVariant;
1907
+ elevation: number;
1908
+ size: CardSize;
1909
+ hoverable: boolean;
1910
+ square: boolean;
1911
+ }
1912
+ interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
1913
+ /** When true, delegates rendering to child element via Slot */
1914
+ asChild?: boolean;
1915
+ sx?: SxProps;
1916
+ }
1917
+ interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
1918
+ /** When true, delegates rendering to child element via Slot */
1919
+ asChild?: boolean;
1920
+ sx?: SxProps;
1921
+ }
1922
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
1923
+ /**
1924
+ * Visual surface treatment of the card.
1925
+ * @default "elevated"
1926
+ */
1927
+ variant?: CardVariant;
1928
+ /**
1929
+ * Numeric M3 elevation level (0–24). Only applies to the "elevated" variant.
1930
+ * @default 1
1931
+ */
1932
+ elevation?: number;
1933
+ /**
1934
+ * Spatial padding scale applied to all inner sub-components.
1935
+ * @default "md"
1936
+ */
1937
+ size?: CardSize;
1938
+ /**
1939
+ * When true, raises elevation and lifts the card on hover.
1940
+ * @default false
1941
+ */
1942
+ hoverable?: boolean;
1943
+ /**
1944
+ * When true, changes cursor to pointer and enables interactive hover lift.
1945
+ * @default false
1946
+ */
1947
+ isClickable?: boolean;
1948
+ /**
1949
+ * If true, removes the card's border-radius.
1950
+ * @default false
1951
+ */
1952
+ square?: boolean;
1953
+ /**
1954
+ * If true, delegates rendering to the immediate child element via Slot.
1955
+ * @default false
1956
+ */
1957
+ asChild?: boolean;
1958
+ /** Override the root HTML element. */
1959
+ component?: React.ElementType;
1960
+ /** Alias for component. */
1961
+ as?: React.ElementType;
1962
+ /** System-aware sx styling prop. */
1963
+ sx?: SxProps;
1964
+ children?: React.ReactNode;
1965
+ }
1966
+ interface CardHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
1967
+ /** Leading avatar or icon node. */
1968
+ avatar?: React.ReactNode;
1969
+ /** Trailing action node (icon button, menu trigger). */
1970
+ action?: React.ReactNode;
1971
+ /** Primary title text or node. */
1972
+ title?: React.ReactNode;
1973
+ /** Secondary subtitle text or node. */
1974
+ subheader?: React.ReactNode;
1975
+ /** Props forwarded to the inner title `<span>`. */
1976
+ titleTypographyProps?: React.HTMLAttributes<HTMLSpanElement>;
1977
+ /** Props forwarded to the inner subheader `<span>`. */
1978
+ subheaderTypographyProps?: React.HTMLAttributes<HTMLSpanElement>;
1979
+ /** Delegates rendering to immediate child via Slot. */
1980
+ asChild?: boolean;
1981
+ sx?: SxProps;
1982
+ }
1983
+ interface CardMediaProps extends React.HTMLAttributes<HTMLDivElement> {
1984
+ /**
1985
+ * URL for the background-image shorthand. For semantic HTML prefer `<img>` children.
1986
+ */
1987
+ image?: string;
1988
+ /**
1989
+ * Alt text applied as `aria-label` when using the `image` prop.
1990
+ */
1991
+ alt?: string;
1992
+ /**
1993
+ * CSS aspect-ratio value e.g. "16/9", "4/3", "1".
1994
+ * @default "16/9"
1995
+ */
1996
+ aspectRatio?: string;
1997
+ /** Override the rendered HTML element. @default "div" */
1998
+ component?: React.ElementType;
1999
+ sx?: SxProps;
2000
+ }
2001
+ interface CardBodyProps extends React.HTMLAttributes<HTMLDivElement> {
2002
+ sx?: SxProps;
2003
+ }
2004
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
2005
+ /**
2006
+ * When true, renders a 1px top divider between the body and footer.
2007
+ * @default false
2008
+ */
2009
+ divider?: boolean;
2010
+ sx?: SxProps;
2011
+ }
2012
+ interface CardActionsProps extends React.HTMLAttributes<HTMLDivElement> {
2013
+ /**
2014
+ * When true, removes the default negative horizontal margins that
2015
+ * align icon-buttons flush to the card's padding box.
2016
+ * @default false
2017
+ */
2018
+ disableSpacing?: boolean;
2019
+ /**
2020
+ * Horizontal alignment of action triggers.
2021
+ * @default "start"
2022
+ */
2023
+ align?: "start" | "center" | "end" | "between";
2024
+ sx?: SxProps;
2025
+ }
2026
+
2027
+ /**
2028
+ * Material Design 3-aligned surface container with compound sub-components.
2029
+ * Supports 3 visual variants, numeric M3 elevation, dark-mode overlay tinting,
2030
+ * and an optional hoverable lift mode.
2031
+ *
2032
+ * @example
2033
+ * <Card hoverable>
2034
+ * <CardMedia image="/hero.jpg" alt="Hero" />
2035
+ * <CardHeader title="Title" subheader="Subtitle" />
2036
+ * <CardBody>Content here</CardBody>
2037
+ * <CardActions>
2038
+ * <Button>Action</Button>
2039
+ * </CardActions>
2040
+ * </Card>
2041
+ */
2042
+ declare const CardRoot: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
2043
+ /**
2044
+ * Header zone of a Card. Supports avatar, title, subheader, and trailing action slots.
2045
+ * Automatically inherits `size` from the parent Card via CardContext.
2046
+ */
2047
+ declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
2048
+ /**
2049
+ * Aspect-ratio-locked media zone that bleeds edge-to-edge within the card.
2050
+ * Use the `image` prop for a CSS background shorthand, or place an `<img>`
2051
+ * child for semantic HTML (preferred for accessibility).
2052
+ */
2053
+ declare const CardMedia: React.ForwardRefExoticComponent<CardMediaProps & React.RefAttributes<HTMLDivElement>>;
2054
+ /**
2055
+ * Main flexible content zone of a Card.
2056
+ * Inherits `size` from parent Card for consistent padding.
2057
+ */
2058
+ declare const CardBody: React.ForwardRefExoticComponent<CardBodyProps & React.RefAttributes<HTMLDivElement>>;
2059
+ /**
2060
+ * Semantic footer zone of a Card. Use for metadata, tags, timestamps.
2061
+ * Set `divider` to render a 1px separator between the body and footer.
2062
+ */
2063
+ declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
2064
+ /**
2065
+ * Flex action strip for Button / Link controls inside a Card.
2066
+ * By default applies a slight negative margin to align icon-buttons
2067
+ * flush to the card's padding box. Use `disableSpacing` to remove this.
2068
+ */
2069
+ declare const CardActions: React.ForwardRefExoticComponent<CardActionsProps & React.RefAttributes<HTMLDivElement>>;
2070
+ /**
2071
+ * Semantic heading component for a Card, typically rendered inside CardHeader.
2072
+ * Supports `asChild` for slot delegation to custom heading levels.
2073
+ */
2074
+ declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2075
+ /**
2076
+ * Supporting subtext or subtitle paragraph for a Card.
2077
+ * Supports `asChild` for slot delegation.
2078
+ */
2079
+ declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
2080
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>> & {
2081
+ Root: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
2082
+ Header: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
2083
+ Title: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2084
+ Description: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
2085
+ Body: React.ForwardRefExoticComponent<CardBodyProps & React.RefAttributes<HTMLDivElement>>;
2086
+ Footer: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
2087
+ Media: React.ForwardRefExoticComponent<CardMediaProps & React.RefAttributes<HTMLDivElement>>;
2088
+ Actions: React.ForwardRefExoticComponent<CardActionsProps & React.RefAttributes<HTMLDivElement>>;
2089
+ };
2090
+
2091
+ interface RippleItem {
2092
+ key: number;
2093
+ rippleX: number;
2094
+ rippleY: number;
2095
+ rippleSize: number;
2096
+ pulsating?: boolean;
2097
+ leaving?: boolean;
2098
+ }
2099
+ interface TouchRippleRef {
2100
+ start: (event?: React.SyntheticEvent, options?: {
2101
+ pulsate?: boolean;
2102
+ center?: boolean;
2103
+ }) => void;
2104
+ stop: (event?: React.SyntheticEvent) => void;
2105
+ pulsate: () => void;
2106
+ }
2107
+ interface TouchRippleProps extends React.HTMLAttributes<HTMLSpanElement> {
2108
+ /**
2109
+ * If true, the ripple will center on the element rather than pointer coordinates
2110
+ */
2111
+ center?: boolean;
2112
+ className?: string;
2113
+ }
2114
+ /**
2115
+ * TouchRipple component delivers tactile Material Design touch/click ripple animations.
2116
+ */
2117
+ declare const TouchRipple: React.ForwardRefExoticComponent<TouchRippleProps & React.RefAttributes<TouchRippleRef>>;
2118
+
2119
+ interface UseRippleOptions {
2120
+ disabled?: boolean;
2121
+ disableRipple?: boolean;
2122
+ center?: boolean;
2123
+ }
2124
+ interface UseRippleReturn {
2125
+ rippleRef: React.RefObject<TouchRippleRef>;
2126
+ rippleProps: TouchRippleProps & {
2127
+ ref: React.RefObject<TouchRippleRef>;
2128
+ };
2129
+ getRippleHandlers: <T extends Record<string, any>>(props?: T) => T;
2130
+ }
2131
+ /**
2132
+ * Hook connecting user interactions (pointer/touch/keyboard) to TouchRipple.
2133
+ */
2134
+ declare function useRipple(options?: UseRippleOptions): UseRippleReturn;
2135
+
2136
+ interface SlotProps extends React.HTMLAttributes<HTMLElement> {
2137
+ children?: React.ReactNode;
2138
+ }
2139
+ /**
2140
+ * Merges Slot props onto its immediate child element.
2141
+ * Preserves child identity, merges classNames, styles, ref forwarding, and event handlers.
2142
+ */
2143
+ declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
2144
+
2145
+ interface PortalProps {
2146
+ children?: React.ReactNode;
2147
+ container?: HTMLElement | null;
2148
+ }
2149
+ /**
2150
+ * Renders child elements into a DOM container outside the parent component tree (default: document.body).
2151
+ * Preserves React Context across the portal boundary and is completely SSR/hydration safe.
2152
+ */
2153
+ declare function Portal({ children, container, }: PortalProps): React.ReactPortal | null;
2154
+ declare namespace Portal {
2155
+ var displayName: string;
2156
+ }
2157
+
2158
+ type TooltipPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
2159
+ interface TooltipProps {
2160
+ /** The text content or descriptive React element to display inside the tooltip */
2161
+ content: React.ReactNode;
2162
+ /** The interactive trigger element that activates the tooltip */
2163
+ children: React.ReactElement;
2164
+ /** Preferred placement relative to the trigger. Defaults to "top" */
2165
+ placement?: TooltipPlacement;
2166
+ /** Delay in milliseconds before opening after pointer enters trigger. Defaults to 200 */
2167
+ openDelay?: number;
2168
+ /** Delay in milliseconds before closing after pointer leaves. Defaults to 150 */
2169
+ closeDelay?: number;
2170
+ /** Controlled open state */
2171
+ isOpen?: boolean;
2172
+ /** Initial open state when uncontrolled. Defaults to false */
2173
+ defaultOpen?: boolean;
2174
+ /** Callback fired when the open state changes */
2175
+ onOpenChange?: (isOpen: boolean) => void;
2176
+ /** Whether to render a decorative pointer arrow. Defaults to true */
2177
+ hasArrow?: boolean;
2178
+ /** Whether the tooltip is completely disabled and prevented from opening. Defaults to false */
2179
+ isDisabled?: boolean;
2180
+ /** Offset distance in pixels between the trigger and tooltip. Defaults to 8 */
2181
+ offset?: number;
2182
+ /** Optional keyboard shortcut string to render inside tooltip (e.g. "Ctrl+S") */
2183
+ shortcut?: string;
2184
+ /** Additional custom CSS class name applied to the tooltip container */
2185
+ className?: string;
2186
+ /** Additional inline CSS properties applied to the tooltip container */
2187
+ style?: React.CSSProperties;
2188
+ }
2189
+ interface TooltipOwnerState {
2190
+ placement: TooltipPlacement;
2191
+ isOpen: boolean;
2192
+ hasArrow: boolean;
2193
+ }
2194
+
2195
+ /**
2196
+ * Tooltip provides a lightweight, accessible floating text popup anchored to a target
2197
+ * trigger element, triggered via pointer hover or keyboard focus.
2198
+ *
2199
+ * Conforms to WCAG 2.2 AA (SC 1.4.13 Content on Hover or Focus) and WAI-ARIA APG Tooltip Pattern.
2200
+ */
2201
+ declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
2202
+
2203
+ type PopoverPlacement = TooltipPlacement;
2204
+ interface PopoverRootProps {
2205
+ children: React.ReactNode;
2206
+ /** Controlled open state of the popover */
2207
+ isOpen?: boolean;
2208
+ /** Uncontrolled default open state of the popover */
2209
+ defaultOpen?: boolean;
2210
+ /** Callback fired when the open state changes */
2211
+ onOpenChange?: (open: boolean) => void;
2212
+ /** Preferred placement relative to the trigger. Defaults to "bottom" */
2213
+ placement?: PopoverPlacement;
2214
+ /** Offset distance in pixels from the trigger. Defaults to 8 */
2215
+ offset?: number;
2216
+ /** Whether to trap focus inside the popover content. Defaults to true */
2217
+ trapFocus?: boolean;
2218
+ /** Whether to close the popover on blur. Defaults to true */
2219
+ closeOnBlur?: boolean;
2220
+ /** Whether to close the popover when the Escape key is pressed. Defaults to true */
2221
+ closeOnEsc?: boolean;
2222
+ /** Ref to the element that should receive focus when opened */
2223
+ initialFocusRef?: React.RefObject<HTMLElement | null>;
2224
+ /** Ref to the element that should receive focus when closed */
2225
+ returnFocusRef?: React.RefObject<HTMLElement | null>;
2226
+ }
2227
+ interface PopoverProps extends PopoverRootProps {
2228
+ }
2229
+ interface PopoverTriggerProps {
2230
+ children: React.ReactElement;
2231
+ /** Whether to delegate props to the child element via Slot primitive */
2232
+ asChild?: boolean;
2233
+ }
2234
+ interface PopoverPortalProps {
2235
+ children: React.ReactNode;
2236
+ /** Custom container element to portal into. Defaults to document.body */
2237
+ container?: HTMLElement | null;
2238
+ }
2239
+ interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement> {
2240
+ children: React.ReactNode;
2241
+ /** Whether to render a decorative pointer arrow. Defaults to true */
2242
+ hasArrow?: boolean;
2243
+ className?: string;
2244
+ style?: React.CSSProperties;
2245
+ }
2246
+ interface PopoverCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2247
+ children?: React.ReactNode;
2248
+ /** Whether to delegate props to the child element via Slot primitive */
2249
+ asChild?: boolean;
2250
+ className?: string;
2251
+ }
2252
+ interface PopoverArrowProps extends React.HTMLAttributes<HTMLDivElement> {
2253
+ className?: string;
2254
+ style?: React.CSSProperties;
2255
+ }
2256
+ interface PopoverHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
2257
+ children: React.ReactNode;
2258
+ className?: string;
2259
+ }
2260
+ interface PopoverTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
2261
+ children: React.ReactNode;
2262
+ className?: string;
2263
+ }
2264
+ interface PopoverBodyProps extends React.HTMLAttributes<HTMLDivElement> {
2265
+ children: React.ReactNode;
2266
+ className?: string;
2267
+ }
2268
+ interface PopoverFooterProps extends React.HTMLAttributes<HTMLDivElement> {
2269
+ children: React.ReactNode;
2270
+ className?: string;
2271
+ }
2272
+ interface PopoverContextValue {
2273
+ isOpen: boolean;
2274
+ open: () => void;
2275
+ close: () => void;
2276
+ toggle: () => void;
2277
+ placement: PopoverPlacement;
2278
+ actualPlacement: PopoverPlacement;
2279
+ trapFocus: boolean;
2280
+ id: string;
2281
+ titleId: string;
2282
+ hasTitle: boolean;
2283
+ setHasTitle: (hasTitle: boolean) => void;
2284
+ hasPortalParent: boolean;
2285
+ setHasPortalParent: (hasPortal: boolean) => void;
2286
+ initialFocusRef?: React.RefObject<HTMLElement | null> | undefined;
2287
+ returnFocusRef?: React.RefObject<HTMLElement | null> | undefined;
2288
+ }
2289
+
2290
+ interface PopoverInternalContextValue extends PopoverContextValue {
2291
+ floatingContext: FloatingContext;
2292
+ getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
2293
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
2294
+ refs: ExtendedRefs<Element>;
2295
+ floatingStyles: React.CSSProperties;
2296
+ middlewareData: MiddlewareData;
2297
+ arrowRef: React.RefObject<HTMLDivElement | null>;
2298
+ }
2299
+ declare function usePopoverContext(): PopoverInternalContextValue;
2300
+ /**
2301
+ * Popover.Root (or <Popover>) manages the open state and floating positioning context
2302
+ * for anchored rich interactive popup overlays.
2303
+ */
2304
+ declare function PopoverRoot({ children, isOpen: controlledOpen, defaultOpen, onOpenChange, placement, offset: offsetProp, trapFocus, closeOnEsc, initialFocusRef, returnFocusRef, }: PopoverRootProps): React.JSX.Element;
2305
+ declare namespace PopoverRoot {
2306
+ var displayName: string;
2307
+ }
2308
+ /**
2309
+ * Popover.Trigger wraps the anchor element, binding click and aria attributes.
2310
+ */
2311
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLElement>>;
2312
+ /**
2313
+ * Popover.Portal mounts popover content into document.body or a custom container.
2314
+ */
2315
+ declare function PopoverPortal({ children, container }: PopoverPortalProps): React.JSX.Element | null;
2316
+ declare namespace PopoverPortal {
2317
+ var displayName: string;
2318
+ }
2319
+ /**
2320
+ * Popover.Content renders the floating dialog container with focus trapping and styling.
2321
+ */
2322
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
2323
+ /**
2324
+ * Popover.Arrow renders the directional pointer diamond.
2325
+ */
2326
+ declare const PopoverArrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<HTMLDivElement>>;
2327
+ /**
2328
+ * Popover.Close renders a dismiss button or decorates a child button via asChild.
2329
+ */
2330
+ declare const PopoverClose: React.ForwardRefExoticComponent<PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
2331
+ /**
2332
+ * Popover.Header provides the top bar of the popover.
2333
+ */
2334
+ declare const PopoverHeader: React.ForwardRefExoticComponent<PopoverHeaderProps & React.RefAttributes<HTMLDivElement>>;
2335
+ /**
2336
+ * Popover.Title provides the dialog title and links via aria-labelledby.
2337
+ */
2338
+ declare const PopoverTitle: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2339
+ /**
2340
+ * Popover.Body provides the main interactive container inside the popover.
2341
+ */
2342
+ declare const PopoverBody: React.ForwardRefExoticComponent<PopoverBodyProps & React.RefAttributes<HTMLDivElement>>;
2343
+ /**
2344
+ * Popover.Footer provides the action footer of the popover.
2345
+ */
2346
+ declare const PopoverFooter: React.ForwardRefExoticComponent<PopoverFooterProps & React.RefAttributes<HTMLDivElement>>;
2347
+ /**
2348
+ * Popover compound component aggregation.
2349
+ */
2350
+ declare const Popover: typeof PopoverRoot & {
2351
+ Root: typeof PopoverRoot;
2352
+ Trigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLElement>>;
2353
+ Portal: typeof PopoverPortal;
2354
+ Content: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
2355
+ Close: React.ForwardRefExoticComponent<PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
2356
+ Arrow: React.ForwardRefExoticComponent<PopoverArrowProps & React.RefAttributes<HTMLDivElement>>;
2357
+ Header: React.ForwardRefExoticComponent<PopoverHeaderProps & React.RefAttributes<HTMLDivElement>>;
2358
+ Title: React.ForwardRefExoticComponent<PopoverTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2359
+ Body: React.ForwardRefExoticComponent<PopoverBodyProps & React.RefAttributes<HTMLDivElement>>;
2360
+ Footer: React.ForwardRefExoticComponent<PopoverFooterProps & React.RefAttributes<HTMLDivElement>>;
2361
+ };
2362
+
2363
+ type AlertStatus = "info" | "success" | "warning" | "danger" | "neutral";
2364
+ type AlertVariant = "subtle" | "solid" | "outline" | "left-accent";
2365
+ interface AlertContextValue {
2366
+ status: AlertStatus;
2367
+ variant: AlertVariant;
2368
+ onClose?: (() => void) | undefined;
2369
+ handleClose: () => void;
2370
+ isClosed: boolean;
2371
+ }
2372
+ interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
2373
+ /** Semantic status determining colors, icons, and ARIA roles. Defaults to "info" */
2374
+ status?: AlertStatus | undefined;
2375
+ /** Visual treatment of the alert surface. Defaults to "subtle" */
2376
+ variant?: AlertVariant | undefined;
2377
+ /** Whether the alert can be dismissed with a close button */
2378
+ isClosable?: boolean | undefined;
2379
+ /** Callback fired when the close button is clicked */
2380
+ onClose?: (() => void) | undefined;
2381
+ /** Polymorphic slot delegation */
2382
+ asChild?: boolean | undefined;
2383
+ children?: React.ReactNode | undefined;
2384
+ }
2385
+ type AlertRootProps = AlertProps;
2386
+ interface AlertIconProps extends React.SVGAttributes<SVGSVGElement> {
2387
+ /** Custom icon override */
2388
+ icon?: React.ReactNode | undefined;
2389
+ }
2390
+ interface AlertTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
2391
+ children?: React.ReactNode | undefined;
2392
+ }
2393
+ interface AlertDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
2394
+ children?: React.ReactNode | undefined;
2395
+ }
2396
+ interface AlertBodyProps extends React.HTMLAttributes<HTMLDivElement> {
2397
+ children?: React.ReactNode | undefined;
2398
+ }
2399
+ interface AlertActionProps extends React.HTMLAttributes<HTMLDivElement> {
2400
+ children?: React.ReactNode | undefined;
2401
+ }
2402
+ interface AlertCloseButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2403
+ }
2404
+
2405
+ declare function useAlertContext(): AlertContextValue;
2406
+ /**
2407
+ * Alert.Root (or <Alert>) provides in-flow contextual feedback with accessible live-region semantics.
2408
+ */
2409
+ declare const AlertRoot: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
2410
+ /**
2411
+ * Alert.Icon renders an accessible status indicator SVG or custom icon override.
2412
+ */
2413
+ declare const AlertIcon: React.ForwardRefExoticComponent<AlertIconProps & React.RefAttributes<SVGSVGElement>>;
2414
+ /**
2415
+ * Alert.Body wraps the title and description in a flex column layout.
2416
+ */
2417
+ declare const AlertBody: React.ForwardRefExoticComponent<AlertBodyProps & React.RefAttributes<HTMLDivElement>>;
2418
+ /**
2419
+ * Alert.Title renders the prominent heading for the alert notice.
2420
+ */
2421
+ declare const AlertTitle: React.ForwardRefExoticComponent<AlertTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2422
+ /**
2423
+ * Alert.Description renders the accompanying body text for the alert notice.
2424
+ */
2425
+ declare const AlertDescription: React.ForwardRefExoticComponent<AlertDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
2426
+ /**
2427
+ * Alert.Action contains contextual action buttons (e.g. Retry, Learn More).
2428
+ */
2429
+ declare const AlertAction: React.ForwardRefExoticComponent<AlertActionProps & React.RefAttributes<HTMLDivElement>>;
2430
+ /**
2431
+ * Alert.CloseButton renders an accessible dismiss button for the alert.
2432
+ */
2433
+ declare const AlertCloseButton: React.ForwardRefExoticComponent<AlertCloseButtonProps & React.RefAttributes<HTMLButtonElement>>;
2434
+ /**
2435
+ * Alert compound component aggregation.
2436
+ */
2437
+ declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>> & {
2438
+ Root: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
2439
+ Icon: React.ForwardRefExoticComponent<AlertIconProps & React.RefAttributes<SVGSVGElement>>;
2440
+ Body: React.ForwardRefExoticComponent<AlertBodyProps & React.RefAttributes<HTMLDivElement>>;
2441
+ Title: React.ForwardRefExoticComponent<AlertTitleProps & React.RefAttributes<HTMLHeadingElement>>;
2442
+ Description: React.ForwardRefExoticComponent<AlertDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
2443
+ Action: React.ForwardRefExoticComponent<AlertActionProps & React.RefAttributes<HTMLDivElement>>;
2444
+ CloseButton: React.ForwardRefExoticComponent<AlertCloseButtonProps & React.RefAttributes<HTMLButtonElement>>;
2445
+ };
2446
+
2447
+ type ToastPosition = "top" | "top-left" | "top-right" | "bottom" | "bottom-left" | "bottom-right";
2448
+ type ToastStatus = "info" | "success" | "warning" | "danger" | "neutral";
2449
+ interface ToastOptions {
2450
+ /** Optional unique identifier for toast */
2451
+ id?: string | undefined;
2452
+ /** Primary headline text */
2453
+ title?: React.ReactNode | undefined;
2454
+ /** Secondary descriptive copy */
2455
+ description?: React.ReactNode | undefined;
2456
+ /** Semantic color and icon intent */
2457
+ status?: ToastStatus | undefined;
2458
+ /** Lifetime in ms before auto-dismissal. Set null for persistent toast */
2459
+ duration?: number | null | undefined;
2460
+ /** Whether a manual close button is rendered */
2461
+ isClosable?: boolean | undefined;
2462
+ /** Viewport anchor corner */
2463
+ position?: ToastPosition | undefined;
2464
+ /** Custom action slot (e.g. Undo button) */
2465
+ action?: React.ReactNode | undefined;
2466
+ /** Callback fired when toast is dismissed */
2467
+ onClose?: (() => void) | undefined;
2468
+ }
2469
+ interface ToastRecord extends ToastOptions {
2470
+ id: string;
2471
+ createdAt: number;
2472
+ duration: number | null;
2473
+ position: ToastPosition;
2474
+ isClosable: boolean;
2475
+ status: ToastStatus;
2476
+ }
2477
+ interface UseToastReturn {
2478
+ (options: ToastOptions): string;
2479
+ close: (id: string) => void;
2480
+ closeAll: () => void;
2481
+ update: (id: string, options: Partial<ToastOptions>) => void;
2482
+ isActive: (id: string) => boolean;
2483
+ }
2484
+ interface ToastProviderProps {
2485
+ children?: React.ReactNode | undefined;
2486
+ /** Default lifetime in ms before auto-dismissal. Defaults to 5000 */
2487
+ defaultDuration?: number | undefined;
2488
+ /** Default viewport position. Defaults to "bottom-right" */
2489
+ defaultPosition?: ToastPosition | undefined;
2490
+ /** Max visible toasts per position. Defaults to 5 */
2491
+ maxVisibleToasts?: number | undefined;
2492
+ }
2493
+ interface SnackbarProps extends React.HTMLAttributes<HTMLDivElement> {
2494
+ /** Controlled open state of the snackbar */
2495
+ isOpen?: boolean | undefined;
2496
+ /** Primary headline message */
2497
+ message?: React.ReactNode | undefined;
2498
+ /** Secondary descriptive copy */
2499
+ description?: React.ReactNode | undefined;
2500
+ /** Semantic color and icon intent */
2501
+ status?: ToastStatus | undefined;
2502
+ /** Lifetime in ms before auto-dismissal. Set null for persistent toast */
2503
+ duration?: number | null | undefined;
2504
+ /** Viewport anchor corner */
2505
+ position?: ToastPosition | undefined;
2506
+ /** Custom action slot (e.g. Undo button) */
2507
+ action?: React.ReactNode | undefined;
2508
+ /** Whether a manual close button is rendered */
2509
+ isClosable?: boolean | undefined;
2510
+ /** Callback fired when snackbar is dismissed */
2511
+ onClose?: (() => void) | undefined;
2512
+ children?: React.ReactNode | undefined;
2513
+ }
2514
+
2515
+ /**
2516
+ * Snackbar provides a declarative component API for viewport-anchored transient notifications.
2517
+ */
2518
+ declare const Snackbar: React.ForwardRefExoticComponent<SnackbarProps & React.RefAttributes<HTMLDivElement>>;
2519
+ /**
2520
+ * Toast is the approved alias for Snackbar.
2521
+ */
2522
+ declare const Toast: React.ForwardRefExoticComponent<SnackbarProps & React.RefAttributes<HTMLDivElement>>;
2523
+
2524
+ declare const ToastContext: React.Context<UseToastReturn | null>;
2525
+ /**
2526
+ * Individual Toast Item with pauseable timer and accessible live-region semantics.
2527
+ */
2528
+ declare const ToastItem: React.ForwardRefExoticComponent<{
2529
+ toast: ToastRecord;
2530
+ onClose: () => void;
2531
+ } & React.RefAttributes<HTMLDivElement>>;
2532
+ /**
2533
+ * ToastProvider manages notification queue, automatic dismissals, and portal layout.
2534
+ */
2535
+ declare function ToastProvider({ children, defaultDuration, defaultPosition, maxVisibleToasts, }: ToastProviderProps): React.JSX.Element;
2536
+
2537
+ /**
2538
+ * Hook to imperatively trigger, update, or dismiss toast notifications.
2539
+ */
2540
+ declare function useToast(): UseToastReturn;
2541
+
2542
+ type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
2543
+ type AvatarShape = "circular" | "rounded" | "square";
2544
+ type AvatarStatus = "online" | "offline" | "busy" | "away";
2545
+ type AvatarPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end";
2546
+ type ImageLoadingStatus = "idle" | "loading" | "loaded" | "error";
2547
+ interface AvatarContextValue {
2548
+ size: AvatarSize;
2549
+ shape: AvatarShape;
2550
+ imageStatus: ImageLoadingStatus;
2551
+ setImageStatus: (status: ImageLoadingStatus) => void;
2552
+ }
2553
+ interface AvatarGroupContextValue {
2554
+ size?: AvatarSize | undefined;
2555
+ shape?: AvatarShape | undefined;
2556
+ }
2557
+ interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
2558
+ /** Source URL of the avatar image */
2559
+ src?: string | undefined;
2560
+ /** Responsive image srcset attribute */
2561
+ srcSet?: string | undefined;
2562
+ /** Alternate text for accessibility and screen readers */
2563
+ alt?: string | undefined;
2564
+ /** Entity or user name used to automatically derive initials */
2565
+ name?: string | undefined;
2566
+ /** Standardized optical size scale */
2567
+ size?: AvatarSize | undefined;
2568
+ /** Geometric border radius shape */
2569
+ shape?: AvatarShape | undefined;
2570
+ /** Custom fallback element rendered when image is absent or errors */
2571
+ fallback?: React.ReactNode | undefined;
2572
+ /** Custom generic icon rendered when initials and image are absent */
2573
+ icon?: React.ReactNode | undefined;
2574
+ /** Delegate root DOM element rendering via Slot primitive */
2575
+ asChild?: boolean | undefined;
2576
+ /** Callback fired when image fails to load */
2577
+ onError?: React.ReactEventHandler<HTMLImageElement> | undefined;
2578
+ /** Callback fired when image loads successfully */
2579
+ onLoad?: React.ReactEventHandler<HTMLImageElement> | undefined;
2580
+ }
2581
+ interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
2582
+ /** Delegate image DOM element rendering via Slot primitive */
2583
+ asChild?: boolean | undefined;
2584
+ }
2585
+ interface AvatarFallbackProps extends React.HTMLAttributes<HTMLSpanElement> {
2586
+ /** Delegate fallback DOM element rendering via Slot primitive */
2587
+ asChild?: boolean | undefined;
2588
+ /** Optional delay in ms before rendering fallback to avoid flashing */
2589
+ delayMs?: number | undefined;
2590
+ }
2591
+ interface AvatarBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
2592
+ /** Presence indicator status intent */
2593
+ status?: AvatarStatus | undefined;
2594
+ /** Corner anchor position relative to avatar */
2595
+ placement?: AvatarPlacement | undefined;
2596
+ /** Delegate badge DOM element rendering via Slot primitive */
2597
+ asChild?: boolean | undefined;
2598
+ }
2599
+ interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
2600
+ /** Maximum number of avatars to render before displaying +N excess count */
2601
+ max?: number | undefined;
2602
+ /** Propagated size scale across all child avatars */
2603
+ size?: AvatarSize | undefined;
2604
+ /** Propagated geometric shape across all child avatars */
2605
+ shape?: AvatarShape | undefined;
2606
+ /** Overlap margin offset (default: -8px) */
2607
+ spacing?: number | string | undefined;
2608
+ /** Avatar elements to group */
2609
+ children: React.ReactNode;
2610
+ }
2611
+
2612
+ declare const AvatarGroupContext: React.Context<AvatarGroupContextValue>;
2613
+ declare const useAvatarGroupContext: () => AvatarGroupContextValue;
2614
+ /**
2615
+ * AvatarGroup stacks multiple avatars with negative margin overlap and calculates +N excess items.
2616
+ */
2617
+ declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
2618
+
2619
+ declare const AvatarContext: React.Context<AvatarContextValue | null>;
2620
+ declare const useAvatarContext: () => AvatarContextValue | null;
2621
+ /**
2622
+ * Extracts up to two uppercase initials from a given name string.
2623
+ * Handles single names, multi-word names, hyphens, and unicode characters.
2624
+ */
2625
+ declare function getInitials(name?: string): string;
2626
+ /**
2627
+ * Avatar.Image renders the image element with automatic error and load management.
2628
+ */
2629
+ declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
2630
+ /**
2631
+ * Avatar.Fallback renders fallback initials, icons, or custom elements when image has not loaded.
2632
+ */
2633
+ declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
2634
+ /**
2635
+ * Avatar.Badge renders presence status indicator dot anchored to an avatar corner.
2636
+ */
2637
+ declare const AvatarBadge: React.ForwardRefExoticComponent<AvatarBadgeProps & React.RefAttributes<HTMLSpanElement>>;
2638
+ /**
2639
+ * Avatar represents a user, entity, or organization identity with automated fallbacks and presence indicators.
2640
+ */
2641
+ declare const AvatarBase: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
2642
+ interface AvatarComponent extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {
2643
+ Root: typeof AvatarBase;
2644
+ Image: typeof AvatarImage;
2645
+ Fallback: typeof AvatarFallback;
2646
+ Badge: typeof AvatarBadge;
2647
+ Group: typeof AvatarGroup;
2648
+ }
2649
+ declare const Avatar: AvatarComponent;
2650
+ declare const AvatarRoot: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
2651
+
2652
+ type AccordionType = "single" | "multiple";
2653
+ type AccordionVariant = "outline" | "separated" | "flush";
2654
+ interface AccordionSingleProps {
2655
+ /** Single expansion mode */
2656
+ type?: "single" | undefined;
2657
+ /** Controlled active item value in single mode */
2658
+ value?: string | undefined;
2659
+ /** Default active item value in uncontrolled single mode */
2660
+ defaultValue?: string | undefined;
2661
+ /** Callback fired when the active item value changes in single mode */
2662
+ onValueChange?: ((value: string) => void) | undefined;
2663
+ /** Whether the active item can be collapsed when clicked */
2664
+ collapsible?: boolean | undefined;
2665
+ }
2666
+ interface AccordionMultipleProps {
2667
+ /** Multiple simultaneous expansion mode */
2668
+ type: "multiple";
2669
+ /** Controlled active item values in multiple mode */
2670
+ value?: string[] | undefined;
2671
+ /** Default active item values in uncontrolled multiple mode */
2672
+ defaultValue?: string[] | undefined;
2673
+ /** Callback fired when the active item values change in multiple mode */
2674
+ onValueChange?: ((value: string[]) => void) | undefined;
2675
+ /** Not applicable in multiple mode */
2676
+ collapsible?: never | undefined;
2677
+ }
2678
+ type AccordionRootProps = (AccordionSingleProps | AccordionMultipleProps) & Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue"> & {
2679
+ /** Visual style treatment: outline, separated, or flush */
2680
+ variant?: AccordionVariant | undefined;
2681
+ /** Whether all accordion items are globally disabled */
2682
+ isDisabled?: boolean | undefined;
2683
+ /** Child Accordion.Item elements */
2684
+ children: React.ReactNode;
2685
+ };
2686
+ type AccordionProps = AccordionRootProps;
2687
+ interface AccordionContextValue {
2688
+ type: AccordionType;
2689
+ variant: AccordionVariant;
2690
+ collapsible: boolean;
2691
+ isDisabled: boolean;
2692
+ expandedValues: string[];
2693
+ toggleItem: (value: string) => void;
2694
+ rootRef: React.RefObject<HTMLDivElement | null>;
2695
+ }
2696
+ interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
2697
+ /** Unique identifier for the accordion item */
2698
+ value: string;
2699
+ /** Whether this individual item is disabled */
2700
+ isDisabled?: boolean | undefined;
2701
+ /** Subcomponents: Accordion.Header and Accordion.Content */
2702
+ children: React.ReactNode;
2703
+ }
2704
+ interface AccordionItemContextValue {
2705
+ value: string;
2706
+ isOpen: boolean;
2707
+ isDisabled: boolean;
2708
+ triggerId: string;
2709
+ panelId: string;
2710
+ }
2711
+ interface AccordionHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {
2712
+ /** Semantic HTML heading tag level (h2 - h6). Defaults to 3 (h3) */
2713
+ level?: 2 | 3 | 4 | 5 | 6 | undefined;
2714
+ /** Child Accordion.Trigger element */
2715
+ children: React.ReactNode;
2716
+ }
2717
+ interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2718
+ /** Delegate button element rendering via Slot primitive */
2719
+ asChild?: boolean | undefined;
2720
+ /** Trigger text and optional Accordion.Icon */
2721
+ children: React.ReactNode;
2722
+ }
2723
+ interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
2724
+ /** Panel body elements */
2725
+ children: React.ReactNode;
2726
+ }
2727
+ interface AccordionIconProps extends React.SVGAttributes<SVGSVGElement> {
2728
+ className?: string | undefined;
2729
+ }
2730
+
2731
+ declare const AccordionContext: React.Context<AccordionContextValue | null>;
2732
+ declare const useAccordionContext: () => AccordionContextValue;
2733
+ declare const AccordionItemContext: React.Context<AccordionItemContextValue | null>;
2734
+ declare const useAccordionItemContext: () => AccordionItemContextValue;
2735
+ /**
2736
+ * Accordion.Root provides expansion state management and keyboard navigation for accordion items.
2737
+ */
2738
+ declare const AccordionRoot: React.ForwardRefExoticComponent<AccordionRootProps & React.RefAttributes<HTMLDivElement>>;
2739
+ /**
2740
+ * Accordion.Item encapsulates a single collapsible panel and header.
2741
+ */
2742
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
2743
+ /**
2744
+ * Accordion.Header renders a semantic heading wrapper (h2 - h6) around the trigger button.
2745
+ */
2746
+ declare const AccordionHeader: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
2747
+ /**
2748
+ * Accordion.Trigger renders the interactive button that toggles expansion.
2749
+ */
2750
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
2751
+ /**
2752
+ * Accordion.Content renders the collapsible body region with CSS grid height transition.
2753
+ */
2754
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
2755
+ /**
2756
+ * Accordion.Icon renders a 16x16 chevron SVG icon that rotates 180° when expanded.
2757
+ */
2758
+ declare const AccordionIcon: React.ForwardRefExoticComponent<AccordionIconProps & React.RefAttributes<SVGSVGElement>>;
2759
+ interface AccordionComponent extends React.ForwardRefExoticComponent<AccordionRootProps & React.RefAttributes<HTMLDivElement>> {
2760
+ Root: typeof AccordionRoot;
2761
+ Item: typeof AccordionItem;
2762
+ Header: typeof AccordionHeader;
2763
+ Trigger: typeof AccordionTrigger;
2764
+ Content: typeof AccordionContent;
2765
+ Icon: typeof AccordionIcon;
2766
+ }
2767
+ declare const Accordion: AccordionComponent;
2768
+
2769
+ type TabsOrientation = "horizontal" | "vertical";
2770
+ type TabsVariant = "line" | "enclosed" | "pill" | "unstyled";
2771
+ type TabsSize = "sm" | "md" | "lg";
2772
+ type TabsActivationMode = "automatic" | "manual";
2773
+ interface TabsRootProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
2774
+ /** Controlled active tab value */
2775
+ value?: string | undefined;
2776
+ /** Uncontrolled default active tab value */
2777
+ defaultValue?: string | undefined;
2778
+ /** Callback fired when the active tab value changes */
2779
+ onValueChange?: ((value: string) => void) | undefined;
2780
+ /** Layout orientation: horizontal (default) or vertical */
2781
+ orientation?: TabsOrientation | undefined;
2782
+ /** Visual style variant: line (default), enclosed, pill, unstyled */
2783
+ variant?: TabsVariant | undefined;
2784
+ /** Sizing scale: sm (32px), md (40px, default), lg (48px) */
2785
+ size?: TabsSize | undefined;
2786
+ /** Tab activation mode: automatic (on focus) or manual (on Enter/Space) */
2787
+ activationMode?: TabsActivationMode | undefined;
2788
+ /** When true, inactive tab panels are unmounted instead of hidden */
2789
+ isLazy?: boolean | undefined;
2790
+ /** Child elements: Tabs.List and Tabs.Content */
2791
+ children: React.ReactNode;
2792
+ }
2793
+ type TabsProps = TabsRootProps;
2794
+ interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
2795
+ /** Accessible label for the tablist */
2796
+ "aria-label"?: string | undefined;
2797
+ /** Tab trigger buttons */
2798
+ children: React.ReactNode;
2799
+ }
2800
+ interface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2801
+ /** Unique identifier matching a Tabs.Content panel */
2802
+ value: string;
2803
+ /** Whether the tab is disabled and cannot be activated */
2804
+ isDisabled?: boolean | undefined;
2805
+ /** When true, delegates rendering to child element via Slot */
2806
+ asChild?: boolean | undefined;
2807
+ /** Tab label and optional icons */
2808
+ children: React.ReactNode;
2809
+ }
2810
+ interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {
2811
+ /** Unique identifier matching a Tabs.Trigger */
2812
+ value: string;
2813
+ /** Panel content */
2814
+ children: React.ReactNode;
2815
+ }
2816
+ interface TabsIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
2817
+ className?: string | undefined;
2818
+ }
2819
+ interface TabsContextValue {
2820
+ selectedValue: string;
2821
+ setSelectedValue: (value: string) => void;
2822
+ orientation: TabsOrientation;
2823
+ variant: TabsVariant;
2824
+ size: TabsSize;
2825
+ activationMode: TabsActivationMode;
2826
+ isLazy: boolean;
2827
+ baseId: string;
2828
+ listRef: React.RefObject<HTMLDivElement | null>;
2829
+ }
2830
+
2831
+ declare const TabsContext: React.Context<TabsContextValue | null>;
2832
+ declare function useTabsContext(): TabsContextValue;
2833
+ /**
2834
+ * Tabs.Root (Tabs) provides context, state synchronization, and orientation management.
2835
+ */
2836
+ declare const TabsRoot: React.ForwardRefExoticComponent<TabsRootProps & React.RefAttributes<HTMLDivElement>>;
2837
+ /**
2838
+ * Tabs.List renders the semantic role="tablist" container with roving keyboard navigation.
2839
+ */
2840
+ declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
2841
+ /**
2842
+ * Tabs.Trigger renders the interactive tab button adhering to WAI-ARIA APG roving tabindex.
2843
+ */
2844
+ declare const TabsTrigger: React.ForwardRefExoticComponent<TabsTriggerProps & React.RefAttributes<HTMLButtonElement>>;
2845
+ /**
2846
+ * Tabs.Content renders the role="tabpanel" for a corresponding tab trigger.
2847
+ */
2848
+ declare const TabsContent: React.ForwardRefExoticComponent<TabsContentProps & React.RefAttributes<HTMLDivElement>>;
2849
+ /**
2850
+ * Tabs.Indicator renders an optional visual indicator track.
2851
+ */
2852
+ declare const TabsIndicator: React.ForwardRefExoticComponent<TabsIndicatorProps & React.RefAttributes<HTMLDivElement>>;
2853
+ /**
2854
+ * Compound export namespace adhering to Chellaa React standards.
2855
+ */
2856
+ declare const Tabs: React.ForwardRefExoticComponent<TabsRootProps & React.RefAttributes<HTMLDivElement>> & {
2857
+ Root: React.ForwardRefExoticComponent<TabsRootProps & React.RefAttributes<HTMLDivElement>>;
2858
+ List: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
2859
+ Trigger: React.ForwardRefExoticComponent<TabsTriggerProps & React.RefAttributes<HTMLButtonElement>>;
2860
+ Content: React.ForwardRefExoticComponent<TabsContentProps & React.RefAttributes<HTMLDivElement>>;
2861
+ Indicator: React.ForwardRefExoticComponent<TabsIndicatorProps & React.RefAttributes<HTMLDivElement>>;
2862
+ };
2863
+
2864
+ type PaginationSize = "sm" | "md" | "lg";
2865
+ type PaginationVariant = "outline" | "solid" | "ghost" | "subtle";
2866
+ interface PaginationRootProps extends React.HTMLAttributes<HTMLElement> {
2867
+ /** Total number of items across all pages */
2868
+ total: number;
2869
+ /** Number of items displayed per page. Default is 10 */
2870
+ pageSize?: number | undefined;
2871
+ /** Controlled current active page number (1-indexed) */
2872
+ page?: number | undefined;
2873
+ /** Uncontrolled default active page number. Default is 1 */
2874
+ defaultPage?: number | undefined;
2875
+ /** Callback fired when the active page changes */
2876
+ onPageChange?: ((page: number) => void) | undefined;
2877
+ /** Callback fired when the page size is modified */
2878
+ onPageSizeChange?: ((pageSize: number) => void) | undefined;
2879
+ /** Number of adjacent sibling page buttons around active page. Default is 1 */
2880
+ siblingCount?: number | undefined;
2881
+ /** Number of boundary page buttons shown at beginning and end. Default is 1 */
2882
+ boundaryCount?: number | undefined;
2883
+ /** Sizing scale: sm (28px), md (36px, default), lg (44px) */
2884
+ size?: PaginationSize | undefined;
2885
+ /** Visual button variant: outline (default), solid, ghost, subtle */
2886
+ variant?: PaginationVariant | undefined;
2887
+ /** Globally disables all pagination controls */
2888
+ isDisabled?: boolean | undefined;
2889
+ /** Whether to render the integrated page size selector dropdown */
2890
+ showSizeChanger?: boolean | undefined;
2891
+ /** Available page size options for showSizeChanger. Default [10, 20, 50, 100] */
2892
+ pageSizeOptions?: number[] | undefined;
2893
+ /** Whether to render the direct page number quick jumper box */
2894
+ showQuickJumper?: boolean | undefined;
2895
+ /** Accessible label for the navigation landmark */
2896
+ "aria-label"?: string | undefined;
2897
+ /** Child elements or custom composition. When omitted, standard pagination layout is auto-generated */
2898
+ children?: React.ReactNode | undefined;
2899
+ }
2900
+ type PaginationProps = PaginationRootProps;
2901
+ interface PaginationListProps extends React.HTMLAttributes<HTMLUListElement> {
2902
+ children?: React.ReactNode | undefined;
2903
+ }
2904
+ interface PaginationItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2905
+ /** The 1-indexed page number represented by this button */
2906
+ page: number;
2907
+ /** Whether this button represents the currently active page */
2908
+ isCurrent?: boolean | undefined;
2909
+ /** When true, delegates rendering to child element via Slot */
2910
+ asChild?: boolean | undefined;
2911
+ /** Custom content, defaults to page number */
2912
+ children?: React.ReactNode | undefined;
2913
+ }
2914
+ interface PaginationActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
2915
+ /** When true, delegates rendering to child element via Slot */
2916
+ asChild?: boolean | undefined;
2917
+ children?: React.ReactNode | undefined;
2918
+ }
2919
+ interface PaginationEllipsisProps extends React.HTMLAttributes<HTMLSpanElement> {
2920
+ children?: React.ReactNode | undefined;
2921
+ }
2922
+ interface PaginationSizeSelectProps extends Omit<React.HTMLAttributes<HTMLElement>, "onChange"> {
2923
+ /** Available page size options. Default [10, 20, 50, 100] */
2924
+ options?: number[] | undefined;
2925
+ /** Optional callback fired when page size changes */
2926
+ onChange?: ((pageSize: number) => void) | undefined;
2927
+ /** Accessible label for the select trigger button. Default "Page size" */
2928
+ "aria-label"?: string | undefined;
2929
+ /** Whether the selector is disabled */
2930
+ isDisabled?: boolean | undefined;
2931
+ }
2932
+ interface PaginationJumperProps extends React.HTMLAttributes<HTMLSpanElement> {
2933
+ children?: React.ReactNode | undefined;
2934
+ }
2935
+ interface PaginationContextValue {
2936
+ currentPage: number;
2937
+ totalPages: number;
2938
+ pageSize: number;
2939
+ setPage: (page: number) => void;
2940
+ setPageSize: (pageSize: number) => void;
2941
+ size: PaginationSize;
2942
+ variant: PaginationVariant;
2943
+ isDisabled: boolean;
2944
+ siblingCount: number;
2945
+ boundaryCount: number;
2946
+ }
2947
+
2948
+ declare const PaginationContext: React.Context<PaginationContextValue | null>;
2949
+ declare function usePaginationContext(): PaginationContextValue;
2950
+ type PaginationRangeItem = number | "ellipsis-start" | "ellipsis-end";
2951
+ /**
2952
+ * Calculates a windowed range of page items with ellipsis compression.
2953
+ */
2954
+ declare function getPaginationRange({ totalPages, currentPage, siblingCount, boundaryCount, }: {
2955
+ totalPages: number;
2956
+ currentPage: number;
2957
+ siblingCount?: number;
2958
+ boundaryCount?: number;
2959
+ }): PaginationRangeItem[];
2960
+ /**
2961
+ * Pagination.Root (Pagination) manages pagination state, page mathematics, and accessibility landmark.
2962
+ */
2963
+ declare const PaginationRoot: React.ForwardRefExoticComponent<PaginationRootProps & React.RefAttributes<HTMLElement>>;
2964
+ /**
2965
+ * Pagination.List renders the semantic <ul role="list"> wrapper for page controls.
2966
+ */
2967
+ declare const PaginationList: React.ForwardRefExoticComponent<PaginationListProps & React.RefAttributes<HTMLUListElement>>;
2968
+ /**
2969
+ * Pagination.Item renders a numeric page button with aria-current marking.
2970
+ */
2971
+ declare const PaginationItem: React.ForwardRefExoticComponent<PaginationItemProps & React.RefAttributes<HTMLButtonElement>>;
2972
+ /**
2973
+ * Pagination.Prev navigates to the preceding page.
2974
+ */
2975
+ declare const PaginationPrev: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
2976
+ /**
2977
+ * Pagination.Next navigates to the succeeding page.
2978
+ */
2979
+ declare const PaginationNext: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
2980
+ /**
2981
+ * Pagination.First jumps directly to the first page (Page 1).
2982
+ */
2983
+ declare const PaginationFirst: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
2984
+ /**
2985
+ * Pagination.Last jumps directly to the final page.
2986
+ */
2987
+ declare const PaginationLast: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
2988
+ /**
2989
+ * Pagination.Ellipsis renders the non-interactive truncation indicator.
2990
+ */
2991
+ declare const PaginationEllipsis: React.ForwardRefExoticComponent<PaginationEllipsisProps & React.RefAttributes<HTMLSpanElement>>;
2992
+ /**
2993
+ * Pagination.SizeSelect renders the page size dropdown reusing @chellaa/react's Select component.
2994
+ */
2995
+ declare const PaginationSizeSelect: React.ForwardRefExoticComponent<PaginationSizeSelectProps & React.RefAttributes<HTMLButtonElement>>;
2996
+ /**
2997
+ * Pagination.Jumper renders a direct page jump number input.
2998
+ */
2999
+ declare const PaginationJumper: React.ForwardRefExoticComponent<PaginationJumperProps & React.RefAttributes<HTMLSpanElement>>;
3000
+ /**
3001
+ * Compound export object adhering to Chellaa React component architecture.
3002
+ */
3003
+ declare const Pagination: React.ForwardRefExoticComponent<PaginationRootProps & React.RefAttributes<HTMLElement>> & {
3004
+ Root: React.ForwardRefExoticComponent<PaginationRootProps & React.RefAttributes<HTMLElement>>;
3005
+ List: React.ForwardRefExoticComponent<PaginationListProps & React.RefAttributes<HTMLUListElement>>;
3006
+ Item: React.ForwardRefExoticComponent<PaginationItemProps & React.RefAttributes<HTMLButtonElement>>;
3007
+ Prev: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
3008
+ Next: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
3009
+ First: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
3010
+ Last: React.ForwardRefExoticComponent<PaginationActionProps & React.RefAttributes<HTMLButtonElement>>;
3011
+ Ellipsis: React.ForwardRefExoticComponent<PaginationEllipsisProps & React.RefAttributes<HTMLSpanElement>>;
3012
+ SizeSelect: React.ForwardRefExoticComponent<PaginationSizeSelectProps & React.RefAttributes<HTMLButtonElement>>;
3013
+ Jumper: React.ForwardRefExoticComponent<PaginationJumperProps & React.RefAttributes<HTMLSpanElement>>;
3014
+ };
3015
+
3016
+ type ComboboxSize = "sm" | "md" | "lg";
3017
+ type ComboboxVariant = "outline" | "filled" | "flushed";
3018
+ interface ComboboxOption {
3019
+ value: string;
3020
+ label?: React.ReactNode;
3021
+ disabled?: boolean;
3022
+ }
3023
+ interface ComboboxRootProps<TValue = string | string[]> extends Omit<React.HTMLAttributes<HTMLDivElement>, "value" | "defaultValue" | "onChange"> {
3024
+ /** Value of the combobox in controlled mode */
3025
+ value?: TValue | undefined;
3026
+ /** Initial value in uncontrolled mode */
3027
+ defaultValue?: TValue | undefined;
3028
+ /** Callback fired when selection changes */
3029
+ onValueChange?: ((value: TValue) => void) | undefined;
3030
+ /** Current text inside search input in controlled mode */
3031
+ searchValue?: string | undefined;
3032
+ /** Initial search text in uncontrolled mode */
3033
+ defaultSearchValue?: string | undefined;
3034
+ /** Callback fired when search text changes */
3035
+ onSearchChange?: ((search: string) => void) | undefined;
3036
+ /** Open state of the listbox popup in controlled mode */
3037
+ isOpen?: boolean | undefined;
3038
+ /** Initial open state in uncontrolled mode */
3039
+ defaultOpen?: boolean | undefined;
3040
+ /** Callback fired when listbox popup opens or closes */
3041
+ onOpenChange?: ((open: boolean) => void) | undefined;
3042
+ /** Whether the combobox is globally disabled */
3043
+ isDisabled?: boolean | undefined;
3044
+ /** Whether the combobox is in an error / invalid state */
3045
+ isInvalid?: boolean | undefined;
3046
+ /** Whether search or asynchronous data fetch is loading */
3047
+ isLoading?: boolean | undefined;
3048
+ /** Whether multi-selection mode is enabled */
3049
+ isMulti?: boolean | undefined;
3050
+ /** Sizing scale: sm (32px), md (40px, default), lg (48px) */
3051
+ size?: ComboboxSize | undefined;
3052
+ /** Visual variant matching Input: outline (default), filled, flushed */
3053
+ variant?: ComboboxVariant | undefined;
3054
+ /** Optional custom filter function. Set false to disable local filtering */
3055
+ filter?: ((itemValue: string, itemText: string, search: string) => boolean) | false | undefined;
3056
+ /** Optional flat options array for convenience auto-layout */
3057
+ options?: ComboboxOption[] | undefined;
3058
+ /** Placeholder for the auto-layout input */
3059
+ placeholder?: string | undefined;
3060
+ /** Name of the input element for form submission */
3061
+ name?: string | undefined;
3062
+ /** Whether the combobox input is required */
3063
+ isRequired?: boolean | undefined;
3064
+ /** Accessible description element ID */
3065
+ "aria-describedby"?: string | undefined;
3066
+ /** Compound children or custom layout */
3067
+ children?: React.ReactNode | undefined;
3068
+ }
3069
+ type ComboboxProps<TValue = string | string[]> = ComboboxRootProps<TValue>;
3070
+ interface ComboboxControlProps extends React.HTMLAttributes<HTMLDivElement> {
3071
+ /** When true, delegates rendering to child element via Slot */
3072
+ asChild?: boolean | undefined;
3073
+ }
3074
+ interface ComboboxInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> {
3075
+ /** When true, delegates rendering to child element via Slot */
3076
+ asChild?: boolean | undefined;
3077
+ }
3078
+ interface ComboboxTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3079
+ /** When true, delegates rendering to child element via Slot */
3080
+ asChild?: boolean | undefined;
3081
+ }
3082
+ interface ComboboxPortalProps {
3083
+ children: React.ReactNode;
3084
+ container?: HTMLElement | null | undefined;
3085
+ }
3086
+ interface ComboboxContentProps extends React.HTMLAttributes<HTMLDivElement> {
3087
+ /** When true, delegates rendering to child element via Slot */
3088
+ asChild?: boolean | undefined;
3089
+ }
3090
+ interface ComboboxItemProps extends React.HTMLAttributes<HTMLDivElement> {
3091
+ /** Unique value represented by this option */
3092
+ value: string;
3093
+ /** Optional text label for search matching and display */
3094
+ label?: string | undefined;
3095
+ /** Whether this specific item is disabled */
3096
+ isDisabled?: boolean | undefined;
3097
+ /** When true, delegates rendering to child element via Slot */
3098
+ asChild?: boolean | undefined;
3099
+ /** Option contents */
3100
+ children: React.ReactNode;
3101
+ }
3102
+ interface ComboboxGroupProps extends React.HTMLAttributes<HTMLDivElement> {
3103
+ /** Optional heading text or node */
3104
+ heading?: React.ReactNode | undefined;
3105
+ }
3106
+ interface ComboboxGroupLabelProps extends React.HTMLAttributes<HTMLDivElement> {
3107
+ }
3108
+ interface ComboboxEmptyProps extends React.HTMLAttributes<HTMLDivElement> {
3109
+ }
3110
+ interface ComboboxTagProps extends React.HTMLAttributes<HTMLSpanElement> {
3111
+ /** Value of the item represented by this tag */
3112
+ value: string;
3113
+ /** Callback fired when remove button is clicked */
3114
+ onRemove?: (() => void) | undefined;
3115
+ /** Whether remove action is disabled */
3116
+ isDisabled?: boolean | undefined;
3117
+ }
3118
+ interface ComboboxClearProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3119
+ }
3120
+ interface RegisteredItem {
3121
+ id: string;
3122
+ value: string;
3123
+ text: string;
3124
+ disabled: boolean;
3125
+ isVisible: boolean;
3126
+ }
3127
+ interface ComboboxContextValue {
3128
+ value: any;
3129
+ selectItem: (value: string, text: string) => void;
3130
+ removeItem: (value: string) => void;
3131
+ clearSelection: () => void;
3132
+ searchValue: string;
3133
+ setSearchValue: (search: string) => void;
3134
+ isOpen: boolean;
3135
+ setIsOpen: (open: boolean) => void;
3136
+ activeId: string | null;
3137
+ setActiveId: (id: string | null) => void;
3138
+ inputRef: React.MutableRefObject<HTMLInputElement | null>;
3139
+ controlRef: (node: HTMLElement | null) => void;
3140
+ contentRef: (node: HTMLElement | null) => void;
3141
+ floatingStyles: React.CSSProperties;
3142
+ listboxId: string;
3143
+ inputId: string;
3144
+ isMulti: boolean;
3145
+ isDisabled: boolean;
3146
+ isInvalid: boolean;
3147
+ isLoading: boolean;
3148
+ size: ComboboxSize;
3149
+ variant: ComboboxVariant;
3150
+ filter: ((itemValue: string, itemText: string, search: string) => boolean) | false;
3151
+ isFiltering: boolean;
3152
+ setIsFiltering: (filtering: boolean) => void;
3153
+ pendingHighlight: "first" | "last" | "selected" | null;
3154
+ setPendingHighlight: (target: "first" | "last" | "selected" | null) => void;
3155
+ openWithHighlight: (target: "first" | "last" | "selected") => void;
3156
+ ariaDescribedBy?: string | undefined;
3157
+ isRequired?: boolean | undefined;
3158
+ name?: string | undefined;
3159
+ registerItem: (item: RegisteredItem) => () => void;
3160
+ updateItemVisibility: (id: string, isVisible: boolean) => void;
3161
+ visibleItems: RegisteredItem[];
3162
+ filteredCount: number;
3163
+ }
3164
+
3165
+ declare function useComboboxContext(): ComboboxContextValue;
3166
+ declare const useCombobox: typeof useComboboxContext;
3167
+ declare const ComboboxRoot: React.ForwardRefExoticComponent<ComboboxRootProps<string | string[]> & React.RefAttributes<HTMLDivElement>>;
3168
+ declare const ComboboxControl: React.ForwardRefExoticComponent<ComboboxControlProps & React.RefAttributes<HTMLDivElement>>;
3169
+ declare const ComboboxInput: React.ForwardRefExoticComponent<ComboboxInputProps & React.RefAttributes<HTMLInputElement>>;
3170
+ declare const ComboboxTrigger: React.ForwardRefExoticComponent<ComboboxTriggerProps & React.RefAttributes<HTMLButtonElement>>;
3171
+ declare const ComboboxPortal: React.FC<ComboboxPortalProps>;
3172
+ declare const ComboboxContent: React.ForwardRefExoticComponent<ComboboxContentProps & React.RefAttributes<HTMLDivElement>>;
3173
+ declare const ComboboxItem: React.ForwardRefExoticComponent<ComboboxItemProps & React.RefAttributes<HTMLDivElement>>;
3174
+ declare const ComboboxGroupLabel: React.ForwardRefExoticComponent<ComboboxGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
3175
+ declare const ComboboxGroup: React.ForwardRefExoticComponent<ComboboxGroupProps & React.RefAttributes<HTMLDivElement>>;
3176
+ declare const ComboboxEmpty: React.ForwardRefExoticComponent<ComboboxEmptyProps & React.RefAttributes<HTMLDivElement>>;
3177
+ declare const ComboboxTag: React.ForwardRefExoticComponent<ComboboxTagProps & React.RefAttributes<HTMLSpanElement>>;
3178
+ declare const ComboboxClear: React.ForwardRefExoticComponent<ComboboxClearProps & React.RefAttributes<HTMLButtonElement>>;
3179
+ interface ComboboxComponent extends React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLDivElement>> {
3180
+ Root: typeof ComboboxRoot;
3181
+ Control: typeof ComboboxControl;
3182
+ Input: typeof ComboboxInput;
3183
+ Trigger: typeof ComboboxTrigger;
3184
+ Portal: typeof ComboboxPortal;
3185
+ Content: typeof ComboboxContent;
3186
+ Item: typeof ComboboxItem;
3187
+ Group: typeof ComboboxGroup;
3188
+ GroupLabel: typeof ComboboxGroupLabel;
3189
+ Empty: typeof ComboboxEmpty;
3190
+ Tag: typeof ComboboxTag;
3191
+ Clear: typeof ComboboxClear;
3192
+ }
3193
+ declare const Combobox: ComboboxComponent;
3194
+ declare const Autocomplete: ComboboxComponent;
3195
+
3196
+ type SelectVariant = "outline" | "filled" | "flushed";
3197
+ type SelectSize = "xs" | "sm" | "md" | "lg" | "xl";
3198
+ interface SelectOption {
3199
+ value: string;
3200
+ label: string;
3201
+ disabled?: boolean | undefined;
3202
+ }
3203
+ interface SelectContextValue<TValue extends string = string> {
3204
+ value: TValue | undefined;
3205
+ setValue: (value: TValue) => void;
3206
+ isOpen: boolean;
3207
+ setIsOpen: (open: boolean) => void;
3208
+ highlightedValue: string | null;
3209
+ setHighlightedValue: (value: string | null) => void;
3210
+ size: SelectSize;
3211
+ variant: SelectVariant;
3212
+ isDisabled: boolean;
3213
+ isInvalid: boolean;
3214
+ isRequired: boolean;
3215
+ name?: string | undefined;
3216
+ triggerId: string;
3217
+ contentId: string;
3218
+ triggerRef: React.MutableRefObject<HTMLButtonElement | null>;
3219
+ contentRef: React.MutableRefObject<HTMLDivElement | null>;
3220
+ selectedLabel: string | null;
3221
+ registerItem: (value: string, label: string) => () => void;
3222
+ refs: {
3223
+ setReference: (node: HTMLElement | null) => void;
3224
+ setFloating: (node: HTMLElement | null) => void;
3225
+ };
3226
+ floatingStyles: React.CSSProperties;
3227
+ }
3228
+ interface SelectRootProps<TValue extends string = string> {
3229
+ value?: TValue | undefined;
3230
+ defaultValue?: TValue | undefined;
3231
+ onValueChange?: ((value: TValue) => void) | undefined;
3232
+ isOpen?: boolean | undefined;
3233
+ defaultOpen?: boolean | undefined;
3234
+ onOpenChange?: ((open: boolean) => void) | undefined;
3235
+ size?: SelectSize | undefined;
3236
+ variant?: SelectVariant | undefined;
3237
+ isDisabled?: boolean | undefined;
3238
+ isInvalid?: boolean | undefined;
3239
+ isRequired?: boolean | undefined;
3240
+ name?: string | undefined;
3241
+ placeholder?: string | undefined;
3242
+ options?: SelectOption[] | undefined;
3243
+ children?: React.ReactNode;
3244
+ className?: string | undefined;
3245
+ "aria-describedby"?: string | undefined;
3246
+ }
3247
+ interface SelectTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3248
+ asChild?: boolean | undefined;
3249
+ children?: React.ReactNode;
3250
+ className?: string | undefined;
3251
+ }
3252
+ interface SelectValueProps extends React.HTMLAttributes<HTMLSpanElement> {
3253
+ placeholder?: string | undefined;
3254
+ children?: React.ReactNode;
3255
+ className?: string | undefined;
3256
+ }
3257
+ interface SelectIconProps extends React.HTMLAttributes<HTMLSpanElement> {
3258
+ children?: React.ReactNode;
3259
+ className?: string | undefined;
3260
+ }
3261
+ interface SelectPortalProps {
3262
+ children: React.ReactNode;
3263
+ container?: HTMLElement | null | undefined;
3264
+ }
3265
+ interface SelectContentProps extends React.HTMLAttributes<HTMLDivElement> {
3266
+ position?: "popper" | "item-aligned" | undefined;
3267
+ sideOffset?: number | undefined;
3268
+ children?: React.ReactNode;
3269
+ className?: string | undefined;
3270
+ }
3271
+ interface SelectItemProps<TValue extends string = string> extends React.HTMLAttributes<HTMLDivElement> {
3272
+ value: TValue;
3273
+ isDisabled?: boolean | undefined;
3274
+ textValue?: string | undefined;
3275
+ children?: React.ReactNode;
3276
+ className?: string | undefined;
3277
+ }
3278
+ interface SelectItemTextProps extends React.HTMLAttributes<HTMLSpanElement> {
3279
+ children?: React.ReactNode;
3280
+ className?: string | undefined;
3281
+ }
3282
+ interface SelectItemIndicatorProps extends React.HTMLAttributes<HTMLSpanElement> {
3283
+ children?: React.ReactNode;
3284
+ className?: string | undefined;
3285
+ }
3286
+ interface SelectGroupProps extends React.HTMLAttributes<HTMLDivElement> {
3287
+ children?: React.ReactNode;
3288
+ className?: string | undefined;
3289
+ }
3290
+ interface SelectLabelProps extends React.HTMLAttributes<HTMLDivElement> {
3291
+ children?: React.ReactNode;
3292
+ className?: string | undefined;
3293
+ }
3294
+ interface SelectSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
3295
+ className?: string | undefined;
3296
+ }
3297
+
3298
+ declare function useSelectContext<TValue extends string = string>(): SelectContextValue<TValue>;
3299
+ declare const SelectRoot: React.ForwardRefExoticComponent<SelectRootProps<string> & React.RefAttributes<HTMLDivElement>>;
3300
+ declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
3301
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
3302
+ declare const SelectIcon: React.ForwardRefExoticComponent<SelectIconProps & React.RefAttributes<HTMLSpanElement>>;
3303
+ declare function SelectPortal({ children, container }: SelectPortalProps): React.JSX.Element | null;
3304
+ declare const SelectContent: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
3305
+ declare const SelectItem: React.ForwardRefExoticComponent<SelectItemProps<string> & React.RefAttributes<HTMLDivElement>>;
3306
+ declare const SelectItemText: React.ForwardRefExoticComponent<SelectItemTextProps & React.RefAttributes<HTMLSpanElement>>;
3307
+ declare const SelectItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
3308
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
3309
+ declare const SelectLabel: React.ForwardRefExoticComponent<SelectLabelProps & React.RefAttributes<HTMLDivElement>>;
3310
+ declare const SelectSeparator: React.ForwardRefExoticComponent<SelectSeparatorProps & React.RefAttributes<HTMLDivElement>>;
3311
+ declare const Select: React.ForwardRefExoticComponent<SelectRootProps<string> & React.RefAttributes<HTMLDivElement>> & {
3312
+ Root: React.ForwardRefExoticComponent<SelectRootProps<string> & React.RefAttributes<HTMLDivElement>>;
3313
+ Trigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
3314
+ Value: React.ForwardRefExoticComponent<SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
3315
+ Icon: React.ForwardRefExoticComponent<SelectIconProps & React.RefAttributes<HTMLSpanElement>>;
3316
+ Portal: typeof SelectPortal;
3317
+ Content: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
3318
+ Item: React.ForwardRefExoticComponent<SelectItemProps<string> & React.RefAttributes<HTMLDivElement>>;
3319
+ ItemText: React.ForwardRefExoticComponent<SelectItemTextProps & React.RefAttributes<HTMLSpanElement>>;
3320
+ ItemIndicator: React.ForwardRefExoticComponent<SelectItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
3321
+ Group: React.ForwardRefExoticComponent<SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
3322
+ Label: React.ForwardRefExoticComponent<SelectLabelProps & React.RefAttributes<HTMLDivElement>>;
3323
+ Separator: React.ForwardRefExoticComponent<SelectSeparatorProps & React.RefAttributes<HTMLDivElement>>;
3324
+ };
3325
+
3326
+ type DialogSize = "sm" | "md" | "lg" | "xl" | "full";
3327
+ interface DialogRootProps {
3328
+ /**
3329
+ * Controlled open state of the dialog.
3330
+ */
3331
+ isOpen?: boolean | undefined;
3332
+ /**
3333
+ * Initial open state when uncontrolled.
3334
+ * @default false
3335
+ */
3336
+ defaultOpen?: boolean | undefined;
3337
+ /**
3338
+ * Callback fired when dismissal is requested (via Escape, overlay, or close button).
3339
+ */
3340
+ onClose?: (() => void) | undefined;
3341
+ /**
3342
+ * If true, pressing Escape dismisses the dialog.
3343
+ * @default true
3344
+ */
3345
+ closeOnEsc?: boolean | undefined;
3346
+ /**
3347
+ * If true, clicking the backdrop overlay dismisses the dialog.
3348
+ * @default true
3349
+ */
3350
+ closeOnOverlayClick?: boolean | undefined;
3351
+ /**
3352
+ * Explicit DOM element to focus when the dialog opens.
3353
+ */
3354
+ initialFocusRef?: React.RefObject<HTMLElement | null> | undefined;
3355
+ /**
3356
+ * Explicit DOM element to focus when the dialog closes.
3357
+ * Defaults to the triggering element.
3358
+ */
3359
+ finalFocusRef?: React.RefObject<HTMLElement | null> | undefined;
3360
+ /**
3361
+ * Dialog spatial max-width scale.
3362
+ * @default "md"
3363
+ */
3364
+ size?: DialogSize | undefined;
3365
+ /**
3366
+ * If true, vertically centers the dialog in the viewport.
3367
+ * @default true
3368
+ */
3369
+ isCentered?: boolean | undefined;
3370
+ children: React.ReactNode;
3371
+ }
3372
+ interface DialogTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3373
+ /**
3374
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
3375
+ * @default false
3376
+ */
3377
+ asChild?: boolean | undefined;
3378
+ children: React.ReactNode;
3379
+ }
3380
+ interface DialogPortalProps {
3381
+ /**
3382
+ * Container element to mount the portal into. Defaults to document.body.
3383
+ */
3384
+ container?: HTMLElement | null | undefined;
3385
+ children: React.ReactNode;
3386
+ }
3387
+ interface DialogOverlayProps extends React.HTMLAttributes<HTMLDivElement> {
3388
+ asChild?: boolean | undefined;
3389
+ }
3390
+ interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement> {
3391
+ asChild?: boolean | undefined;
3392
+ }
3393
+ interface DialogHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
3394
+ }
3395
+ interface DialogTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
3396
+ asChild?: boolean | undefined;
3397
+ }
3398
+ interface DialogDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
3399
+ asChild?: boolean | undefined;
3400
+ }
3401
+ interface DialogBodyProps extends React.HTMLAttributes<HTMLDivElement> {
3402
+ }
3403
+ interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {
3404
+ }
3405
+ interface DialogCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3406
+ asChild?: boolean | undefined;
3407
+ children?: React.ReactNode;
3408
+ }
3409
+ type ModalSize = DialogSize;
3410
+ type ModalRootProps = DialogRootProps;
3411
+ type ModalTriggerProps = DialogTriggerProps;
3412
+ type ModalPortalProps = DialogPortalProps;
3413
+ type ModalOverlayProps = DialogOverlayProps;
3414
+ type ModalContentProps = DialogContentProps;
3415
+ type ModalHeaderProps = DialogHeaderProps;
3416
+ type ModalTitleProps = DialogTitleProps;
3417
+ type ModalDescriptionProps = DialogDescriptionProps;
3418
+ type ModalBodyProps = DialogBodyProps;
3419
+ type ModalFooterProps = DialogFooterProps;
3420
+ type ModalCloseProps = DialogCloseProps;
3421
+
3422
+ /**
3423
+ * DialogRoot component - manages controlled/uncontrolled visibility and dialog context.
3424
+ */
3425
+ declare const DialogRoot: React.FC<DialogRootProps>;
3426
+ /**
3427
+ * DialogTrigger component - wraps or renders a button that opens the dialog.
3428
+ */
3429
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLElement>>;
3430
+ /**
3431
+ * DialogPortal component - mounts dialog children into document.body or container.
3432
+ */
3433
+ declare const DialogPortal: React.FC<DialogPortalProps>;
3434
+ /**
3435
+ * DialogOverlay component - background backdrop with static CSS centering.
3436
+ */
3437
+ declare const DialogOverlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
3438
+ /**
3439
+ * DialogContent component - main dialog window with focus trap and scroll locking.
3440
+ */
3441
+ declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
3442
+ /**
3443
+ * DialogHeader component - header slot containing title, description, or close button.
3444
+ */
3445
+ declare const DialogHeader: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
3446
+ /**
3447
+ * DialogTitle component - accessible title that binds aria-labelledby.
3448
+ */
3449
+ declare const DialogTitle: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
3450
+ /**
3451
+ * DialogDescription component - accessible description that binds aria-describedby.
3452
+ */
3453
+ declare const DialogDescription: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
3454
+ /**
3455
+ * DialogBody component - scrollable content body.
3456
+ */
3457
+ declare const DialogBody: React.ForwardRefExoticComponent<DialogBodyProps & React.RefAttributes<HTMLDivElement>>;
3458
+ /**
3459
+ * DialogFooter component - footer slot containing actions.
3460
+ */
3461
+ declare const DialogFooter: React.ForwardRefExoticComponent<DialogFooterProps & React.RefAttributes<HTMLDivElement>>;
3462
+ /**
3463
+ * DialogClose component - button that dismisses the dialog when clicked.
3464
+ */
3465
+ declare const DialogClose: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
3466
+ /**
3467
+ * Compound Dialog export
3468
+ */
3469
+ declare const Dialog: React.FC<DialogRootProps> & {
3470
+ Root: React.FC<DialogRootProps>;
3471
+ Trigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLElement>>;
3472
+ Portal: React.FC<DialogPortalProps>;
3473
+ Overlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
3474
+ Content: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
3475
+ Header: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
3476
+ Title: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
3477
+ Description: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
3478
+ Body: React.ForwardRefExoticComponent<DialogBodyProps & React.RefAttributes<HTMLDivElement>>;
3479
+ Footer: React.ForwardRefExoticComponent<DialogFooterProps & React.RefAttributes<HTMLDivElement>>;
3480
+ Close: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
3481
+ };
3482
+ /**
3483
+ * Exact compatibility alias for Modal
3484
+ */
3485
+ declare const Modal: React.FC<DialogRootProps> & {
3486
+ Root: React.FC<DialogRootProps>;
3487
+ Trigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLElement>>;
3488
+ Portal: React.FC<DialogPortalProps>;
3489
+ Overlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
3490
+ Content: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
3491
+ Header: React.ForwardRefExoticComponent<DialogHeaderProps & React.RefAttributes<HTMLDivElement>>;
3492
+ Title: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
3493
+ Description: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
3494
+ Body: React.ForwardRefExoticComponent<DialogBodyProps & React.RefAttributes<HTMLDivElement>>;
3495
+ Footer: React.ForwardRefExoticComponent<DialogFooterProps & React.RefAttributes<HTMLDivElement>>;
3496
+ Close: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
3497
+ };
3498
+
3499
+ type BadgeVariant = "subtle" | "solid" | "outline";
3500
+ type BadgeSize = "sm" | "md" | "lg";
3501
+ type BadgeColorScheme = "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "neutral";
3502
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
3503
+ /**
3504
+ * Visual aesthetic treatment of the badge.
3505
+ * @default "subtle"
3506
+ */
3507
+ variant?: BadgeVariant | undefined;
3508
+ /**
3509
+ * Spatial sizing scale.
3510
+ * @default "md"
3511
+ */
3512
+ size?: BadgeSize | undefined;
3513
+ /**
3514
+ * Semantic color intent.
3515
+ * @default "neutral"
3516
+ */
3517
+ colorScheme?: BadgeColorScheme | undefined;
3518
+ /**
3519
+ * If true, renders with fully rounded pill corners (`--cl-rad-full`).
3520
+ * @default false
3521
+ */
3522
+ isPill?: boolean | undefined;
3523
+ /**
3524
+ * If true, renders a small colored status dot before children.
3525
+ * @default false
3526
+ */
3527
+ hasDot?: boolean | undefined;
3528
+ /**
3529
+ * If true, delegates rendering to the immediate child element.
3530
+ * @default false
3531
+ */
3532
+ asChild?: boolean | undefined;
3533
+ /**
3534
+ * The system-aware sx prop
3535
+ */
3536
+ sx?: SxProps | undefined;
3537
+ children?: React.ReactNode | undefined;
3538
+ }
3539
+
3540
+ /**
3541
+ * Badge component - A compact visual indicator communicating status, counts, or categorization.
3542
+ */
3543
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
3544
+
3545
+ type TableVariant = "simple" | "striped" | "bordered";
3546
+ type TableSize = "sm" | "md" | "lg";
3547
+ interface TableRootProps extends React.TableHTMLAttributes<HTMLTableElement> {
3548
+ /**
3549
+ * Visual aesthetic treatment of the table.
3550
+ * @default "simple"
3551
+ */
3552
+ variant?: TableVariant | undefined;
3553
+ /**
3554
+ * Spatial density scale governing padding and font size.
3555
+ * @default "md"
3556
+ */
3557
+ size?: TableSize | undefined;
3558
+ /**
3559
+ * If true, enables background hover transitions on table body rows.
3560
+ * @default false
3561
+ */
3562
+ isHoverable?: boolean | undefined;
3563
+ /**
3564
+ * If true, pins the table header row to the top of the scrolling container.
3565
+ * @default false
3566
+ */
3567
+ isStickyHeader?: boolean | undefined;
3568
+ children?: React.ReactNode | undefined;
3569
+ }
3570
+ interface TableContainerProps extends React.HTMLAttributes<HTMLDivElement> {
3571
+ /**
3572
+ * If true, applies a rounded border, background surface, and subtle shadow.
3573
+ * @default false
3574
+ */
3575
+ bordered?: boolean | undefined;
3576
+ children?: React.ReactNode | undefined;
3577
+ }
3578
+ interface TableCaptionProps extends React.HTMLAttributes<HTMLTableCaptionElement> {
3579
+ /**
3580
+ * Placement of the caption relative to the table.
3581
+ * @default "bottom"
3582
+ */
3583
+ placement?: "top" | "bottom" | undefined;
3584
+ children?: React.ReactNode | undefined;
3585
+ }
3586
+ interface TableTheadProps extends React.HTMLAttributes<HTMLTableSectionElement> {
3587
+ children?: React.ReactNode | undefined;
3588
+ }
3589
+ interface TableTbodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
3590
+ children?: React.ReactNode | undefined;
3591
+ }
3592
+ interface TableTfootProps extends React.HTMLAttributes<HTMLTableSectionElement> {
3593
+ children?: React.ReactNode | undefined;
3594
+ }
3595
+ interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
3596
+ /**
3597
+ * If true, enables hover background highlight on this row specifically.
3598
+ */
3599
+ isHoverable?: boolean | undefined;
3600
+ /**
3601
+ * If true, applies selected background styling to this row.
3602
+ * @default false
3603
+ */
3604
+ isSelected?: boolean | undefined;
3605
+ children?: React.ReactNode | undefined;
3606
+ }
3607
+ interface TableHeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
3608
+ /**
3609
+ * If true, aligns text to the right and applies tabular-nums font styling.
3610
+ * @default false
3611
+ */
3612
+ isNumeric?: boolean | undefined;
3613
+ /**
3614
+ * Text alignment of the cell content.
3615
+ */
3616
+ align?: "left" | "center" | "right" | undefined;
3617
+ /**
3618
+ * If true, renders the header with interactive sort affordance styling.
3619
+ * @default false
3620
+ */
3621
+ isSortable?: boolean | undefined;
3622
+ /**
3623
+ * Current sort direction for accessible aria-sort attribute.
3624
+ * @default "none"
3625
+ */
3626
+ sortDirection?: "asc" | "desc" | "none" | undefined;
3627
+ children?: React.ReactNode | undefined;
3628
+ }
3629
+ interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
3630
+ /**
3631
+ * If true, aligns text to the right and applies tabular-nums font styling.
3632
+ * @default false
3633
+ */
3634
+ isNumeric?: boolean | undefined;
3635
+ /**
3636
+ * Text alignment of the cell content.
3637
+ */
3638
+ align?: "left" | "center" | "right" | undefined;
3639
+ children?: React.ReactNode | undefined;
3640
+ }
3641
+ interface TableContextValue {
3642
+ size: TableSize;
3643
+ variant: TableVariant;
3644
+ isHoverable: boolean;
3645
+ }
3646
+
3647
+ /**
3648
+ * TableRoot component - Container for structured row and column data.
3649
+ */
3650
+ declare const TableRoot: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>>;
3651
+ /**
3652
+ * TableContainer component - Responsive touch scroll container.
3653
+ */
3654
+ declare const TableContainer: React.ForwardRefExoticComponent<TableContainerProps & React.RefAttributes<HTMLDivElement>>;
3655
+ /**
3656
+ * TableCaption component - Programmatic description of table data.
3657
+ */
3658
+ declare const TableCaption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
3659
+ /**
3660
+ * TableThead component - Semantic table header section.
3661
+ */
3662
+ declare const TableThead: React.ForwardRefExoticComponent<TableTheadProps & React.RefAttributes<HTMLTableSectionElement>>;
3663
+ /**
3664
+ * TableTbody component - Semantic table body section.
3665
+ */
3666
+ declare const TableTbody: React.ForwardRefExoticComponent<TableTbodyProps & React.RefAttributes<HTMLTableSectionElement>>;
3667
+ /**
3668
+ * TableTfoot component - Semantic table footer section.
3669
+ */
3670
+ declare const TableTfoot: React.ForwardRefExoticComponent<TableTfootProps & React.RefAttributes<HTMLTableSectionElement>>;
3671
+ /**
3672
+ * TableTr component - Semantic table row element.
3673
+ */
3674
+ declare const TableTr: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
3675
+ /**
3676
+ * TableTh component - Semantic table header cell with scope="col" default.
3677
+ */
3678
+ declare const TableTh: React.ForwardRefExoticComponent<TableHeaderCellProps & React.RefAttributes<HTMLTableCellElement>>;
3679
+ /**
3680
+ * TableTd component - Semantic table data cell with isNumeric and align support.
3681
+ */
3682
+ declare const TableTd: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
3683
+ /**
3684
+ * Compound Table component export
3685
+ */
3686
+ declare const Table: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>> & {
3687
+ Root: React.ForwardRefExoticComponent<TableRootProps & React.RefAttributes<HTMLTableElement>>;
3688
+ Container: React.ForwardRefExoticComponent<TableContainerProps & React.RefAttributes<HTMLDivElement>>;
3689
+ Caption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
3690
+ Thead: React.ForwardRefExoticComponent<TableTheadProps & React.RefAttributes<HTMLTableSectionElement>>;
3691
+ Tbody: React.ForwardRefExoticComponent<TableTbodyProps & React.RefAttributes<HTMLTableSectionElement>>;
3692
+ Tfoot: React.ForwardRefExoticComponent<TableTfootProps & React.RefAttributes<HTMLTableSectionElement>>;
3693
+ Tr: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
3694
+ Th: React.ForwardRefExoticComponent<TableHeaderCellProps & React.RefAttributes<HTMLTableCellElement>>;
3695
+ Td: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
3696
+ };
3697
+
3698
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionContext, type AccordionContextValue, AccordionHeader, type AccordionHeaderProps, AccordionIcon, type AccordionIconProps, AccordionItem, AccordionItemContext, type AccordionItemContextValue, type AccordionItemProps, type AccordionMultipleProps, type AccordionProps, AccordionRoot, type AccordionRootProps, type AccordionSingleProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionVariant, Alert, AlertAction, type AlertActionProps, AlertBody, type AlertBodyProps, AlertCloseButton, type AlertCloseButtonProps, type AlertContextValue, AlertDescription, type AlertDescriptionProps, AlertIcon, type AlertIconProps, type AlertProps, AlertRoot, type AlertRootProps, type AlertStatus, AlertTitle, type AlertTitleProps, type AlertVariant, Autocomplete, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarContext, type AvatarContextValue, AvatarFallback, type AvatarFallbackProps, AvatarGroup, AvatarGroupContext, type AvatarGroupContextValue, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarPlacement, type AvatarProps, AvatarRoot, type AvatarShape, type AvatarSize, type AvatarStatus, Badge, type BadgeColorScheme, type BadgeProps, type BadgeSize, type BadgeVariant, Box, type BoxProps, type BreakpointKey, type Breakpoints, Button, type ButtonColorScheme, ButtonGroup, ButtonGroupContext, type ButtonGroupContextValue, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonLoadingPosition, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardActions, type CardActionsProps, CardBody, type CardBodyProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardMedia, type CardMediaProps, type CardOwnerState, type CardProps, CardRoot, type CardSize, CardTitle, type CardTitleProps, type CardVariant, Checkbox, type CheckboxColorScheme, CheckboxContext, type CheckboxContextValue, CheckboxGroup, type CheckboxGroupProps, type CheckboxOwnerState, type CheckboxProps, type CheckboxSize, type ChellaaTheme, Code, type CodeColorScheme, type CodeOwnerState, type CodeProps, type ColorMode, Combobox, ComboboxClear, type ComboboxClearProps, ComboboxContent, type ComboboxContentProps, type ComboboxContextValue, ComboboxControl, type ComboboxControlProps, ComboboxEmpty, type ComboboxEmptyProps, ComboboxGroup, ComboboxGroupLabel, type ComboboxGroupLabelProps, type ComboboxGroupProps, ComboboxInput, type ComboboxInputProps, ComboboxItem, type ComboboxItemProps, type ComboboxOption, ComboboxPortal, type ComboboxPortalProps, type ComboboxProps, ComboboxRoot, type ComboboxRootProps, type ComboboxSize, ComboboxTag, type ComboboxTagProps, ComboboxTrigger, type ComboboxTriggerProps, type ComboboxVariant, type ComponentOverride, type ComponentOverrideOptions, Container, type ContainerOwnerState, type ContainerProps, type DeepPartial, Dialog, DialogBody, type DialogBodyProps, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, DialogRoot, type DialogRootProps, type DialogSize, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, Divider, type DividerLineStyle, type DividerOrientation, type DividerOwnerState, type DividerProps, type DividerTextAlign, type DividerVariant, type ExtendedThemeContextValue, Flex, type FlexOwnerState, type FlexProps, FormErrorMessage, type FormErrorMessageProps, FormField, FormFieldContext, type FormFieldContextValue, type FormFieldProps, FormHelperText, type FormHelperTextProps, FormLabel, type FormLabelProps, Grid, type GridDirection, type GridOwnerState, type GridProps, type GridSize, type GridWrap, Heading, type HeadingLevel, type HeadingProps, type ImageLoadingStatus, Input, InputAdornment, type InputAdornmentProps, InputBase, type InputOwnerState, type InputProps, type InputSize, type InputVariant, Kbd, type KbdModifier, type KbdOwnerState, type KbdProps, type KbdSize, type KbdVariant, MODIFIER_SYMBOLS, Modal, type ModalBodyProps, type ModalCloseProps, type ModalContentProps, type ModalDescriptionProps, type ModalFooterProps, type ModalHeaderProps, type ModalOverlayProps, type ModalPortalProps, type ModalRootProps, type ModalSize, type ModalTitleProps, type ModalTriggerProps, Pagination, type PaginationActionProps, PaginationContext, type PaginationContextValue, PaginationEllipsis, type PaginationEllipsisProps, PaginationFirst, PaginationItem, type PaginationItemProps, PaginationJumper, type PaginationJumperProps, PaginationLast, PaginationList, type PaginationListProps, PaginationNext, PaginationPrev, type PaginationProps, PaginationRoot, type PaginationRootProps, type PaginationSize, PaginationSizeSelect, type PaginationSizeSelectProps, type PaginationVariant, type Palette, type PaletteColor, Paper, type PaperOwnerState, type PaperProps, type PaperVariant, Paragraph, type ParagraphProps, Popover, PopoverArrow, type PopoverArrowProps, PopoverBody, type PopoverBodyProps, PopoverClose, type PopoverCloseProps, PopoverContent, type PopoverContentProps, type PopoverContextValue, PopoverFooter, type PopoverFooterProps, PopoverHeader, type PopoverHeaderProps, type PopoverPlacement, PopoverPortal, type PopoverPortalProps, type PopoverProps, PopoverRoot, type PopoverRootProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Radio, type RadioColorScheme, RadioContext, type RadioContextValue, RadioGroup, type RadioGroupProps, type RadioOwnerState, type RadioProps, type RadioSize, type RegisteredItem, type ResponsiveValue, type RippleItem, Select, SelectContent, type SelectContentProps, type SelectContextValue, SelectGroup, type SelectGroupProps, SelectIcon, type SelectIconProps, SelectItem, SelectItemIndicator, type SelectItemIndicatorProps, type SelectItemProps, SelectItemText, type SelectItemTextProps, SelectLabel, type SelectLabelProps, type SelectOption, SelectPortal, type SelectPortalProps, SelectRoot, type SelectRootProps, SelectSeparator, type SelectSeparatorProps, type SelectSize, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, type SelectVariant, Slot, type SlotProps, Snackbar, type SnackbarProps, Stack, type StackDirection, type StackOwnerState, type StackProps, type StandardCSSProperties, type StyleInterpolation, type StyledOptions, Switch, type SwitchColorScheme, type SwitchLabelPlacement, type SwitchOwnerState, type SwitchProps, type SwitchSize, type SxObject, type SxPropValue, type SxProps, type SystemCssProperties, type SystemStyleProperties, Table, TableCaption, type TableCaptionProps, type TableCellProps, TableContainer, type TableContainerProps, type TableContextValue, type TableHeaderCellProps, TableRoot, type TableRootProps, type TableRowProps, type TableSize, TableTbody, type TableTbodyProps, TableTd, TableTfoot, type TableTfootProps, TableTh, TableThead, type TableTheadProps, TableTr, type TableVariant, Tabs, type TabsActivationMode, TabsContent, type TabsContentProps, TabsContext, type TabsContextValue, TabsIndicator, type TabsIndicatorProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, TabsRoot, type TabsRootProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, Text, TextField, type TextFieldProps, type TextProps, type TextSize, Textarea, type TextareaOwnerState, type TextareaProps, type TextareaResize, type TextareaSize, type TextareaVariant, type ThemeContextValue, type ThemeMode, type ThemeOptions, ThemeProvider, type ThemeProviderProps, ThemeScript, type ThemeScriptProps, Toast, ToastContext, ToastItem, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastRecord, type ToastStatus, Tooltip, type TooltipOwnerState, type TooltipPlacement, type TooltipProps, TouchRipple, type TouchRippleProps, type TouchRippleRef, type Transitions, type TypeAction, type TypeBackground, type TypeText, Typography, type TypographyAlign, type TypographyOwnerState, type TypographyProps, type TypographyStyle, type TypographyTheme, type TypographyVariant, type UseRippleOptions, type UseRippleReturn, type UseToastReturn, type ZIndex, breakpointKeys, createBreakpoints, createPalette, createShadows, createShouldForwardProp, createSpacing, createTheme, darkPalette, defaultBreakpoints, defaultDarkTheme, defaultShadows, defaultSpacing, defaultTheme, defaultTransitions, defaultTypography, defaultZIndex, getInitials, getPaginationRange, lightPalette, parseSx, resolveComponentOverrides, resolveTypographyColor, rootShouldForwardProp, styled, useAccordionContext, useAccordionItemContext, useAlertContext, useAvatarContext, useAvatarGroupContext, useButtonGroupContext, useCheckboxGroup, useCombobox, useComboboxContext, useFormField, usePaginationContext, usePopoverContext, useRadioGroup, useRipple, useSelectContext, useTabsContext, useTheme, useToast };