@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.cjs +9545 -99
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +4149 -23
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +3517 -22
- package/dist/index.d.ts +3517 -22
- package/dist/index.mjs +9347 -99
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.mjs +9347 -99
- package/dist/styles.css +1 -1
- package/package.json +21 -14
package/dist/index.d.cts
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
|
|
175
|
+
* the current theme mode (`light`, `dark`, `system`), resolved theme, and active ChellaaTheme.
|
|
23
176
|
*/
|
|
24
|
-
declare function useTheme():
|
|
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
|
|
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
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
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(
|
|
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,
|
|
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
|
-
|
|
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 };
|