@takeoff-ui/react-spar 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -0
- package/dist/index.cjs +1452 -0
- package/dist/index.d.cts +1352 -0
- package/dist/index.d.ts +1352 -0
- package/dist/index.mjs +1436 -0
- package/package.json +80 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1352 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { HTMLAttributes, ElementType, ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
|
|
4
|
+
import { PolymorphicProps, AccordionProps as AccordionProps$1, AccordionItemProps as AccordionItemProps$1, AccordionHeaderProps as AccordionHeaderProps$1, AccordionContentProps as AccordionContentProps$1, ButtonProps as ButtonProps$1, CheckboxRenderProps as CheckboxRenderProps$1, CheckboxProps as CheckboxProps$1, DialogProps, DialogTriggerProps, DialogOverlayProps, DialogContentProps, DialogTitleProps, DialogCloseProps, FieldProps as FieldProps$1, FieldLabelProps as FieldLabelProps$1, FieldDescriptionProps as FieldDescriptionProps$1, FieldErrorMessageProps as FieldErrorMessageProps$1, InputProps as InputProps$1, InputFieldProps as InputFieldProps$1, RadioProps as RadioProps$1, RadioItemRenderProps, RadioItemProps as RadioItemProps$1, PopoverProps as PopoverProps$1, PopoverTriggerProps as PopoverTriggerProps$1, PopoverContentProps as PopoverContentProps$1, PopoverCloseProps as PopoverCloseProps$1, SelectProps as SelectProps$1, SelectTriggerProps as SelectTriggerProps$1, SelectValueProps as SelectValueProps$1, SelectContentProps as SelectContentProps$1, SelectItemProps as SelectItemProps$1, SelectGroupProps as SelectGroupProps$1, SelectLabelProps as SelectLabelProps$1, SelectItemTextProps as SelectItemTextProps$1, SelectSeparatorProps as SelectSeparatorProps$1, SwitchRenderProps as SwitchRenderProps$1, SwitchProps as SwitchProps$1, TooltipTriggerProps as TooltipTriggerProps$1, TooltipContentProps as TooltipContentProps$1, TooltipProps as TooltipProps$1, TooltipProviderProps as TooltipProviderProps$1 } from '@turkish-technology/spar';
|
|
5
|
+
|
|
6
|
+
/** Per-slot class map declared by a component base. Every slot is required. */
|
|
7
|
+
type SlotClassNames<TSlot extends string> = Record<TSlot, string>;
|
|
8
|
+
/** Per-slot className override map. Consumers only fill the slots they extend. */
|
|
9
|
+
type ClassNamesMap<TSlot extends string> = Partial<Record<TSlot, string>>;
|
|
10
|
+
/**
|
|
11
|
+
* Per-slot HTML-attribute override map. Defaults to a generic `HTMLAttributes`
|
|
12
|
+
* shape; components with element-specific slots may narrow `TAttrs`.
|
|
13
|
+
*/
|
|
14
|
+
type SlotPropsMap<TSlot extends string, TAttrs extends object = HTMLAttributes<HTMLElement>> = Partial<Record<TSlot, TAttrs>>;
|
|
15
|
+
/**
|
|
16
|
+
* Native HTML props that every takeoff-v2 wrapper owns — the wrapper-typed
|
|
17
|
+
* versions (`classNames`, `slotProps`) always replace the native names. Apply
|
|
18
|
+
* via {@link TakeoffHTMLProps} as the base for wrapper Props interfaces.
|
|
19
|
+
*
|
|
20
|
+
* Component-specific extra omits (e.g. native `defaultValue`/`onChange` when
|
|
21
|
+
* a headless prop owns the same name) are added at the call site.
|
|
22
|
+
*/
|
|
23
|
+
type TakeoffSlotOverrides = 'classNames' | 'slotProps';
|
|
24
|
+
/**
|
|
25
|
+
* Native props of `T` minus the props takeoff-v2 always owns. The shared base
|
|
26
|
+
* for wrapper Props interfaces — pairs with `Pick<SparXxxProps, ...>` to form
|
|
27
|
+
* the public boundary.
|
|
28
|
+
*/
|
|
29
|
+
type TakeoffHTMLProps<T extends ElementType> = Omit<ComponentPropsWithoutRef<T>, TakeoffSlotOverrides>;
|
|
30
|
+
|
|
31
|
+
type KebabCase<S extends string> = S extends `${infer First}${infer Rest}` ? First extends Lowercase<First> ? `${First}${KebabCase<Rest>}` : `-${Lowercase<First>}${KebabCase<Rest>}` : S;
|
|
32
|
+
type DataSlotName<TSlot extends string> = KebabCase<TSlot>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Per-component override config carried on the provider's `components` map.
|
|
36
|
+
* The provider applies its layers below the instance, so an instance prop
|
|
37
|
+
* always wins on conflict and the canonical `tk-*` class is never dropped.
|
|
38
|
+
*
|
|
39
|
+
* @typeParam TProps Public props of the component this entry targets.
|
|
40
|
+
* @typeParam TSlot Slot key union; defaults to `'root'` for single-slot entries.
|
|
41
|
+
* @typeParam TSlotProps Per-slot attribute map; narrow per element type when needed.
|
|
42
|
+
*/
|
|
43
|
+
interface ComponentThemeConfig<TProps = unknown, TSlot extends string = 'root', TSlotProps extends SlotPropsMap<TSlot, object> = SlotPropsMap<TSlot>> {
|
|
44
|
+
/** Applied only when the instance does not set the prop. */
|
|
45
|
+
defaultProps?: Partial<TProps>;
|
|
46
|
+
/** Shortcut equivalent to `classNames.root`; concatenated, never replaces the canonical class. */
|
|
47
|
+
className?: string;
|
|
48
|
+
/** Per-slot extra classes; concatenated, never replaces the canonical class. */
|
|
49
|
+
classNames?: ClassNamesMap<TSlot>;
|
|
50
|
+
/** Per-slot HTML-attribute overrides; shallow-merged below the wrapper's canonical attrs. */
|
|
51
|
+
slotProps?: TSlotProps;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Provider override config for **state-only roots** — components whose root
|
|
55
|
+
* renders no DOM (e.g. `Drawer`, `Tooltip`). Styling layers (`className`,
|
|
56
|
+
* `classNames`, `slotProps`) have no DOM target on a state-only root and
|
|
57
|
+
* would be silently dropped, so this variant exposes only `defaultProps`.
|
|
58
|
+
*
|
|
59
|
+
* Use this in the registry for any root whose JSX is a pure context
|
|
60
|
+
* provider. Children parts (e.g. `Drawer.Panel`, `Tooltip.Content`) still
|
|
61
|
+
* use {@link ComponentThemeConfig} because they render real DOM.
|
|
62
|
+
*
|
|
63
|
+
* @typeParam TProps Public props of the state-only root.
|
|
64
|
+
*/
|
|
65
|
+
interface StateOnlyComponentThemeConfig$1<TProps = unknown> {
|
|
66
|
+
/** Applied only when the instance does not set the prop. */
|
|
67
|
+
defaultProps?: Partial<TProps>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Registry of every component name the provider can override. Declared as
|
|
71
|
+
* `interface` so consumers can augment it via TypeScript declaration merging.
|
|
72
|
+
*/
|
|
73
|
+
interface ComponentThemeRegistry {
|
|
74
|
+
}
|
|
75
|
+
type ComponentName = keyof ComponentThemeRegistry;
|
|
76
|
+
/** Provider-facing override map. Each entry is optional. */
|
|
77
|
+
type ComponentsThemeMap = {
|
|
78
|
+
[K in ComponentName]?: ComponentThemeRegistry[K];
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
type ColorMode = 'light' | 'dark';
|
|
82
|
+
interface TakeoffSparProviderValue {
|
|
83
|
+
colorMode: ColorMode;
|
|
84
|
+
locale?: string;
|
|
85
|
+
components?: ComponentsThemeMap;
|
|
86
|
+
}
|
|
87
|
+
interface ThemeValue {
|
|
88
|
+
colorMode: ColorMode;
|
|
89
|
+
}
|
|
90
|
+
interface TakeoffSparProviderProps extends Partial<TakeoffSparProviderValue> {
|
|
91
|
+
children: ReactNode;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Top-level provider for Takeoff React components. Writes `data-theme` and
|
|
95
|
+
* `lang` to `document.documentElement` so styling and language attributes
|
|
96
|
+
* propagate to portal-mounted descendants (Dialog, Popover, Tooltip, …) and
|
|
97
|
+
* are picked up by global CSS selectors.
|
|
98
|
+
*
|
|
99
|
+
* Renders no DOM of its own — only a React context. For SSR apps, set
|
|
100
|
+
* `<html data-theme="…" lang="…">` on the server (e.g. with a small inline
|
|
101
|
+
* script that reads stored preferences) to avoid a first-paint flash before
|
|
102
|
+
* the provider's effect runs.
|
|
103
|
+
*/
|
|
104
|
+
declare const TakeoffSparProvider: ({ children, colorMode, locale, components }: TakeoffSparProviderProps) => react_jsx_runtime.JSX.Element;
|
|
105
|
+
/**
|
|
106
|
+
* Read the active theme value. The provider is **optional**: when no
|
|
107
|
+
* `TakeoffSparProvider` ancestor is present, the default theme
|
|
108
|
+
* (`{ colorMode: 'light' }`) is returned and a one-time dev-mode warning is
|
|
109
|
+
* emitted. Wrap the app in `TakeoffSparProvider` to customize `colorMode` or
|
|
110
|
+
* `locale`.
|
|
111
|
+
*/
|
|
112
|
+
declare const useTheme: () => ThemeValue;
|
|
113
|
+
/**
|
|
114
|
+
* Read the provider override config for a known component name. The return
|
|
115
|
+
* type narrows by key: `useComponentTheme('Accordion')` returns
|
|
116
|
+
* `ComponentThemeConfig<AccordionProps> | undefined`. Unknown names are a
|
|
117
|
+
* compile-time error.
|
|
118
|
+
*
|
|
119
|
+
* The provider is **optional** — when no `TakeoffSparProvider` ancestor is
|
|
120
|
+
* present, this hook returns `undefined` silently and the component falls
|
|
121
|
+
* back to its author defaults. No warning is emitted because the absence of
|
|
122
|
+
* a provider-level override is a legitimate use case (component used
|
|
123
|
+
* standalone).
|
|
124
|
+
*/
|
|
125
|
+
declare const useComponentTheme: <K extends ComponentName>(componentName: K) => ComponentThemeRegistry[K] | undefined;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Visual grouping vocabulary mirrored from Takeoff Core (`tk-accordion`).
|
|
129
|
+
*/
|
|
130
|
+
type AccordionType = 'grouped' | 'divided';
|
|
131
|
+
/**
|
|
132
|
+
* Density mode. `'compact'` reduces vertical rhythm; pairs with any
|
|
133
|
+
* {@link AccordionType}. Default `'default'`.
|
|
134
|
+
*/
|
|
135
|
+
type AccordionMode = 'default' | 'compact';
|
|
136
|
+
type AccordionSize = 'base' | 'large';
|
|
137
|
+
type AccordionHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
138
|
+
type AccordionValue = string | number;
|
|
139
|
+
/**
|
|
140
|
+
* Current panel identifier(s). Scalar in single mode, array when
|
|
141
|
+
* `multiple` is set.
|
|
142
|
+
*/
|
|
143
|
+
type AccordionCurrentValue = AccordionValue | AccordionValue[];
|
|
144
|
+
type AccordionValueChangeHandler = (next: AccordionCurrentValue) => void;
|
|
145
|
+
type AccordionSlot = 'root';
|
|
146
|
+
type AccordionItemSlot = 'root';
|
|
147
|
+
type AccordionHeaderSlot = 'root';
|
|
148
|
+
type AccordionTriggerSlot = 'root' | 'startContent' | 'title';
|
|
149
|
+
type AccordionIndicatorSlot = 'root';
|
|
150
|
+
type AccordionContentSlot = 'root';
|
|
151
|
+
/**
|
|
152
|
+
* State surface delivered to {@link AccordionIndicatorProps.children} when
|
|
153
|
+
* passed as a render function. Lets consumers swap icons by open state without
|
|
154
|
+
* pulling the item context themselves.
|
|
155
|
+
*/
|
|
156
|
+
interface AccordionIndicatorRenderState {
|
|
157
|
+
isOpen: boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Visual + slot props owned by takeoff-v2 for the Accordion root. Cascades to
|
|
161
|
+
* descendants through the visual context (`type`, `mode`, `size`, arrows).
|
|
162
|
+
*/
|
|
163
|
+
interface AccordionOwnProps {
|
|
164
|
+
/**
|
|
165
|
+
* Visual grouping.
|
|
166
|
+
* @defaultValue 'grouped'
|
|
167
|
+
*/
|
|
168
|
+
type?: AccordionType;
|
|
169
|
+
/**
|
|
170
|
+
* Density mode. Pairs with any {@link AccordionType}.
|
|
171
|
+
* @defaultValue 'default'
|
|
172
|
+
*/
|
|
173
|
+
mode?: AccordionMode;
|
|
174
|
+
/**
|
|
175
|
+
* Size scale.
|
|
176
|
+
* @defaultValue 'base'
|
|
177
|
+
*/
|
|
178
|
+
size?: AccordionSize;
|
|
179
|
+
/** Per-slot class name overrides. */
|
|
180
|
+
classNames?: ClassNamesMap<AccordionSlot>;
|
|
181
|
+
/** Per-slot HTML attribute overrides. */
|
|
182
|
+
slotProps?: SlotPropsMap<AccordionSlot>;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Public props for the Accordion root. Polymorphic via `as`; ref and the
|
|
186
|
+
* native attributes of the rendered element are inherited from Spar's
|
|
187
|
+
* `PolymorphicProps`.
|
|
188
|
+
*/
|
|
189
|
+
type AccordionProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, AccordionOwnProps & Pick<AccordionProps$1, 'multiple' | 'value' | 'defaultValue' | 'onValueChange' | 'collapsible' | 'disabled' | 'orientation'>>;
|
|
190
|
+
interface AccordionItemOwnProps {
|
|
191
|
+
/** Per-slot class name overrides. */
|
|
192
|
+
classNames?: ClassNamesMap<AccordionItemSlot>;
|
|
193
|
+
/** Per-slot HTML attribute overrides. */
|
|
194
|
+
slotProps?: SlotPropsMap<AccordionItemSlot>;
|
|
195
|
+
}
|
|
196
|
+
type AccordionItemProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, AccordionItemOwnProps & Pick<AccordionItemProps$1, 'value' | 'disabled'>>;
|
|
197
|
+
interface AccordionHeaderOwnProps {
|
|
198
|
+
/** Per-slot class name overrides. */
|
|
199
|
+
classNames?: ClassNamesMap<AccordionHeaderSlot>;
|
|
200
|
+
/** Per-slot HTML attribute overrides. */
|
|
201
|
+
slotProps?: SlotPropsMap<AccordionHeaderSlot>;
|
|
202
|
+
}
|
|
203
|
+
type AccordionHeaderProps<T extends ElementType = 'h3'> = PolymorphicProps<'h3', T, AccordionHeaderOwnProps & Pick<AccordionHeaderProps$1, 'level'>>;
|
|
204
|
+
interface AccordionTriggerOwnProps {
|
|
205
|
+
/**
|
|
206
|
+
* Leading content rendered before the title — typically an icon, but
|
|
207
|
+
* accepts any node. The wrapper element (class + `data-slot`) is invariant;
|
|
208
|
+
* only the inner node is consumer-supplied.
|
|
209
|
+
*/
|
|
210
|
+
startContent?: ReactNode;
|
|
211
|
+
/** Per-slot class name overrides. */
|
|
212
|
+
classNames?: ClassNamesMap<AccordionTriggerSlot>;
|
|
213
|
+
/** Per-slot HTML attribute overrides. */
|
|
214
|
+
slotProps?: SlotPropsMap<AccordionTriggerSlot>;
|
|
215
|
+
}
|
|
216
|
+
type AccordionTriggerProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, AccordionTriggerOwnProps>;
|
|
217
|
+
interface AccordionIndicatorOwnProps {
|
|
218
|
+
/**
|
|
219
|
+
* Override the default chevron. Accepts a ReactNode (rendered in every
|
|
220
|
+
* state) or a render function receiving the live `{ isOpen }` state — use
|
|
221
|
+
* the render-prop form to swap icons by open state without consuming the
|
|
222
|
+
* item context manually.
|
|
223
|
+
*/
|
|
224
|
+
children?: ReactNode | ((state: AccordionIndicatorRenderState) => ReactNode);
|
|
225
|
+
/** Per-slot class name overrides. */
|
|
226
|
+
classNames?: ClassNamesMap<AccordionIndicatorSlot>;
|
|
227
|
+
/** Per-slot HTML attribute overrides. */
|
|
228
|
+
slotProps?: SlotPropsMap<AccordionIndicatorSlot>;
|
|
229
|
+
}
|
|
230
|
+
type AccordionIndicatorProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, AccordionIndicatorOwnProps>;
|
|
231
|
+
interface AccordionContentOwnProps {
|
|
232
|
+
/** Per-slot class name overrides. */
|
|
233
|
+
classNames?: ClassNamesMap<AccordionContentSlot>;
|
|
234
|
+
/** Per-slot HTML attribute overrides. */
|
|
235
|
+
slotProps?: SlotPropsMap<AccordionContentSlot>;
|
|
236
|
+
}
|
|
237
|
+
type AccordionContentProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, AccordionContentOwnProps & Pick<AccordionContentProps$1, 'forceMount' | 'onBeforeMatch'>>;
|
|
238
|
+
declare module '../../core/theme' {
|
|
239
|
+
interface ComponentThemeRegistry {
|
|
240
|
+
Accordion: ComponentThemeConfig<AccordionProps>;
|
|
241
|
+
AccordionItem: ComponentThemeConfig<AccordionItemProps>;
|
|
242
|
+
AccordionHeader: ComponentThemeConfig<AccordionHeaderProps>;
|
|
243
|
+
AccordionTrigger: ComponentThemeConfig<AccordionTriggerProps, AccordionTriggerSlot>;
|
|
244
|
+
AccordionIndicator: ComponentThemeConfig<AccordionIndicatorProps, AccordionIndicatorSlot>;
|
|
245
|
+
AccordionContent: ComponentThemeConfig<AccordionContentProps>;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
declare const Accordion: {
|
|
250
|
+
<T extends react.ElementType = "div">(props: AccordionProps<T>): react_jsx_runtime.JSX.Element;
|
|
251
|
+
displayName: string;
|
|
252
|
+
} & {
|
|
253
|
+
Item: {
|
|
254
|
+
<T extends react.ElementType = "div">(props: AccordionItemProps<T>): react_jsx_runtime.JSX.Element;
|
|
255
|
+
displayName: string;
|
|
256
|
+
};
|
|
257
|
+
Header: {
|
|
258
|
+
<T extends react.ElementType = "h3">(props: AccordionHeaderProps<T>): react_jsx_runtime.JSX.Element;
|
|
259
|
+
displayName: string;
|
|
260
|
+
};
|
|
261
|
+
Trigger: {
|
|
262
|
+
<T extends react.ElementType = "button">(props: AccordionTriggerProps<T>): react_jsx_runtime.JSX.Element;
|
|
263
|
+
displayName: string;
|
|
264
|
+
};
|
|
265
|
+
Indicator: {
|
|
266
|
+
<T extends react.ElementType = "span">(props: AccordionIndicatorProps<T>): react_jsx_runtime.JSX.Element;
|
|
267
|
+
displayName: string;
|
|
268
|
+
};
|
|
269
|
+
Content: {
|
|
270
|
+
<T extends react.ElementType = "div">(props: AccordionContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
271
|
+
displayName: string;
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
type BadgeVariant = 'primary' | 'secondary' | 'neutral' | 'info' | 'success' | 'danger' | 'warning' | 'verified' | 'purple' | 'cyan' | 'business';
|
|
276
|
+
type BadgeAppearance = 'filled' | 'filledLight' | 'outlined' | 'text';
|
|
277
|
+
type BadgeSize = 'small' | 'base' | 'large';
|
|
278
|
+
type BadgeSlot = 'root' | 'label' | 'icon';
|
|
279
|
+
interface BadgeProps extends Omit<TakeoffHTMLProps<'span'>, 'children'> {
|
|
280
|
+
/**
|
|
281
|
+
* Color variant.
|
|
282
|
+
* @defaultValue 'primary'
|
|
283
|
+
*/
|
|
284
|
+
variant?: BadgeVariant;
|
|
285
|
+
/**
|
|
286
|
+
* Visual appearance.
|
|
287
|
+
* @defaultValue 'filled'
|
|
288
|
+
*/
|
|
289
|
+
appearance?: BadgeAppearance;
|
|
290
|
+
/**
|
|
291
|
+
* Size scale.
|
|
292
|
+
* @defaultValue 'base'
|
|
293
|
+
*/
|
|
294
|
+
size?: BadgeSize;
|
|
295
|
+
/**
|
|
296
|
+
* Renders a pill-shaped badge with fully rounded corners.
|
|
297
|
+
* @defaultValue false
|
|
298
|
+
*/
|
|
299
|
+
rounded?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Renders a minimal colored dot (6×6px) with no content.
|
|
302
|
+
* When true, children, startContent, and endContent are ignored.
|
|
303
|
+
* @defaultValue false
|
|
304
|
+
*/
|
|
305
|
+
dot?: boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Content rendered before children — typically an icon.
|
|
308
|
+
*/
|
|
309
|
+
startContent?: ReactNode;
|
|
310
|
+
/**
|
|
311
|
+
* Content rendered after children.
|
|
312
|
+
*/
|
|
313
|
+
endContent?: ReactNode;
|
|
314
|
+
/** Badge content. */
|
|
315
|
+
children?: ReactNode;
|
|
316
|
+
/** Ref forwarded to the root span element. */
|
|
317
|
+
ref?: Ref<HTMLSpanElement>;
|
|
318
|
+
/** Per-slot extra classes. */
|
|
319
|
+
classNames?: ClassNamesMap<BadgeSlot>;
|
|
320
|
+
/** Per-slot HTML-attribute overrides. */
|
|
321
|
+
slotProps?: SlotPropsMap<BadgeSlot>;
|
|
322
|
+
}
|
|
323
|
+
declare module '../../core/theme' {
|
|
324
|
+
interface ComponentThemeRegistry {
|
|
325
|
+
Badge: ComponentThemeConfig<BadgeProps, BadgeSlot>;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
declare const Badge: {
|
|
330
|
+
(props: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
331
|
+
displayName: string;
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
type ButtonVariant = 'primary' | 'secondary' | 'neutral' | 'info' | 'success' | 'danger' | 'warning' | 'white' | 'black';
|
|
335
|
+
type ButtonAppearance = 'filled' | 'filledLight' | 'outlined' | 'text';
|
|
336
|
+
type ButtonSize = 'small' | 'base' | 'large';
|
|
337
|
+
type ButtonSlot = 'root' | 'content' | 'label' | 'spinner';
|
|
338
|
+
/**
|
|
339
|
+
* Visual + slot props owned by takeoff-v2 (not exposed by Spar).
|
|
340
|
+
*/
|
|
341
|
+
interface ButtonOwnProps {
|
|
342
|
+
/**
|
|
343
|
+
* Color variant.
|
|
344
|
+
* @defaultValue 'primary'
|
|
345
|
+
*/
|
|
346
|
+
variant?: ButtonVariant;
|
|
347
|
+
/**
|
|
348
|
+
* Visual appearance.
|
|
349
|
+
* @defaultValue 'filled'
|
|
350
|
+
*/
|
|
351
|
+
appearance?: ButtonAppearance;
|
|
352
|
+
/**
|
|
353
|
+
* Size scale.
|
|
354
|
+
* @defaultValue 'base'
|
|
355
|
+
*/
|
|
356
|
+
size?: ButtonSize;
|
|
357
|
+
/**
|
|
358
|
+
* Renders a pill-shaped (circular) button. Ideal for icon-only actions.
|
|
359
|
+
* @defaultValue false
|
|
360
|
+
*/
|
|
361
|
+
rounded?: boolean;
|
|
362
|
+
/**
|
|
363
|
+
* Content rendered before children — typically an icon, but accepts any node
|
|
364
|
+
* (spinner, badge, kbd, etc.). Wrapped in the `icon` slot.
|
|
365
|
+
*/
|
|
366
|
+
startContent?: ReactNode;
|
|
367
|
+
/**
|
|
368
|
+
* Content rendered after children. Same shape as `startContent`.
|
|
369
|
+
*/
|
|
370
|
+
endContent?: ReactNode;
|
|
371
|
+
/** Per-slot extra classes. */
|
|
372
|
+
classNames?: ClassNamesMap<ButtonSlot>;
|
|
373
|
+
/** Per-slot HTML-attribute overrides. */
|
|
374
|
+
slotProps?: SlotPropsMap<ButtonSlot>;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Public props for the Button. Polymorphic via `as` (e.g. render as `<a>` for
|
|
378
|
+
* link-styled buttons) — `as`, ref, and the native attributes of the rendered
|
|
379
|
+
* element are inherited from Spar's `PolymorphicProps`.
|
|
380
|
+
*/
|
|
381
|
+
type ButtonProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, ButtonOwnProps & Pick<ButtonProps$1, 'isPressed' | 'onPressedChange' | 'isLoading'>>;
|
|
382
|
+
declare module '../../core/theme' {
|
|
383
|
+
interface ComponentThemeRegistry {
|
|
384
|
+
Button: ComponentThemeConfig<ButtonProps, ButtonSlot>;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
declare const Button: {
|
|
389
|
+
<T extends ElementType = "button">(props: ButtonProps<T>): react_jsx_runtime.JSX.Element;
|
|
390
|
+
displayName: string;
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
type CheckboxSize = 'small' | 'base';
|
|
394
|
+
type CheckboxType = 'default' | 'card';
|
|
395
|
+
type CheckboxSlot = 'root' | 'indicator' | 'icon';
|
|
396
|
+
/**
|
|
397
|
+
* Render props passed to the root `Checkbox` render-prop child. Re-exports
|
|
398
|
+
* Spar's shape verbatim — `checked` is the tri-state `CheckedState` here.
|
|
399
|
+
* Compound consumers should reach for `Checkbox.Indicator` instead so they
|
|
400
|
+
* receive the takeoff-spar `boolean` + `indeterminate` split.
|
|
401
|
+
*/
|
|
402
|
+
type CheckboxRenderProps = CheckboxRenderProps$1;
|
|
403
|
+
/**
|
|
404
|
+
* Render props passed to `Checkbox.Indicator` function-children. Exposes the
|
|
405
|
+
* takeoff-spar split rather than Spar's tri-state, matching the example in
|
|
406
|
+
* `packages/react-spar/docs/coding-standards.md`.
|
|
407
|
+
*/
|
|
408
|
+
interface CheckboxIndicatorRenderProps {
|
|
409
|
+
checked: boolean;
|
|
410
|
+
indeterminate: boolean;
|
|
411
|
+
}
|
|
412
|
+
interface CheckboxOwnProps {
|
|
413
|
+
/**
|
|
414
|
+
* Controlled checked state. Pair with `onChange`.
|
|
415
|
+
* @remarks `indeterminate` overrides this when set to `true`.
|
|
416
|
+
*/
|
|
417
|
+
checked?: boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Uncontrolled initial checked state.
|
|
420
|
+
* @defaultValue false
|
|
421
|
+
* @remarks `indeterminate` overrides this when set to `true`.
|
|
422
|
+
*/
|
|
423
|
+
defaultChecked?: boolean;
|
|
424
|
+
/**
|
|
425
|
+
* Indeterminate (mixed) visual + ARIA state. Overrides `checked` /
|
|
426
|
+
* `defaultChecked` when `true`; emits `aria-checked="mixed"`.
|
|
427
|
+
*
|
|
428
|
+
* Dynamic toggling of `indeterminate` is only fully reactive in controlled
|
|
429
|
+
* mode. In uncontrolled mode, set it at the initial render and clear it
|
|
430
|
+
* from your own state in response to `onChange`.
|
|
431
|
+
* @defaultValue false
|
|
432
|
+
*/
|
|
433
|
+
indeterminate?: boolean;
|
|
434
|
+
/**
|
|
435
|
+
* Fired when the user toggles the checkbox. Indeterminate transitions to
|
|
436
|
+
* `true` on the first toggle, so the callback's argument is always a
|
|
437
|
+
* plain `boolean`.
|
|
438
|
+
*/
|
|
439
|
+
onChange?: (checked: boolean) => void;
|
|
440
|
+
/**
|
|
441
|
+
* Marks the checkbox as visually invalid.
|
|
442
|
+
* @defaultValue false
|
|
443
|
+
*/
|
|
444
|
+
invalid?: boolean;
|
|
445
|
+
/**
|
|
446
|
+
* Size scale.
|
|
447
|
+
* @defaultValue 'base'
|
|
448
|
+
*/
|
|
449
|
+
size?: CheckboxSize;
|
|
450
|
+
/**
|
|
451
|
+
* Visual appearance. `'card'` mirrors Takeoff Core's bordered card variant
|
|
452
|
+
* for opt-in card-style selection rows.
|
|
453
|
+
* @defaultValue 'default'
|
|
454
|
+
*/
|
|
455
|
+
type?: CheckboxType;
|
|
456
|
+
/** Per-slot extra classes. */
|
|
457
|
+
classNames?: ClassNamesMap<CheckboxSlot>;
|
|
458
|
+
/** Per-slot HTML-attribute overrides. */
|
|
459
|
+
slotProps?: SlotPropsMap<CheckboxSlot>;
|
|
460
|
+
/**
|
|
461
|
+
* Compound children for the checkbox anatomy, or a render function
|
|
462
|
+
* exposing Spar's state. Compound children are the canonical composition
|
|
463
|
+
* path; the render-prop is preserved for parity with Spar's leaf primitive.
|
|
464
|
+
*/
|
|
465
|
+
children?: ReactNode | ((state: CheckboxRenderProps$1) => ReactNode);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Public props for `Checkbox`. Polymorphic via `as` — defaults to the Spar
|
|
469
|
+
* primitive's `<span role="checkbox">` element.
|
|
470
|
+
*/
|
|
471
|
+
type CheckboxProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, CheckboxOwnProps & Pick<CheckboxProps$1, 'disabled' | 'readOnly' | 'required' | 'name' | 'value' | 'form' | 'autoFocus'>>;
|
|
472
|
+
interface CheckboxIndicatorProps extends Omit<ComponentPropsWithoutRef<'span'>, 'children'> {
|
|
473
|
+
/**
|
|
474
|
+
* Indicator content. When omitted, the built-in placeholder check / dash
|
|
475
|
+
* glyph is rendered inside an `icon` slot (driven by `indeterminate`).
|
|
476
|
+
* When a function, receives the current `checked` and `indeterminate`
|
|
477
|
+
* state from the root and its return value replaces the default slot.
|
|
478
|
+
* Passing a `ReactNode` likewise replaces the inner slot entirely — the
|
|
479
|
+
* consumer becomes responsible for any `data-slot="icon"` wrapper they
|
|
480
|
+
* need for theming.
|
|
481
|
+
*/
|
|
482
|
+
children?: ReactNode | ((state: CheckboxIndicatorRenderProps) => ReactNode);
|
|
483
|
+
ref?: Ref<HTMLSpanElement>;
|
|
484
|
+
}
|
|
485
|
+
declare module '../../core/theme' {
|
|
486
|
+
interface ComponentThemeRegistry {
|
|
487
|
+
Checkbox: ComponentThemeConfig<CheckboxProps, CheckboxSlot>;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
declare const Checkbox: {
|
|
492
|
+
<T extends react.ElementType = "span">(props: CheckboxProps<T>): react_jsx_runtime.JSX.Element;
|
|
493
|
+
displayName: string;
|
|
494
|
+
} & {
|
|
495
|
+
Indicator: {
|
|
496
|
+
(props: CheckboxIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
497
|
+
displayName: string;
|
|
498
|
+
};
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
/**
|
|
502
|
+
* Side from which the drawer slides in.
|
|
503
|
+
* @defaultValue 'right'
|
|
504
|
+
*/
|
|
505
|
+
type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom' | 'full-screen';
|
|
506
|
+
type DrawerOverlaySlot = 'root';
|
|
507
|
+
type DrawerPanelSlot = 'root';
|
|
508
|
+
type DrawerHeaderSlot = 'root';
|
|
509
|
+
type DrawerTitleSlot = 'root';
|
|
510
|
+
type DrawerDescriptionSlot = 'root';
|
|
511
|
+
type DrawerBodySlot = 'root';
|
|
512
|
+
type DrawerFooterSlot = 'root';
|
|
513
|
+
type DrawerCloseButtonSlot = 'root';
|
|
514
|
+
/**
|
|
515
|
+
* Public props for the Drawer root. Wraps Spar's Dialog in modal mode to
|
|
516
|
+
* create a slide-in side panel. State-only — renders no DOM, so no
|
|
517
|
+
* polymorphic `as`, no native HTML props, no `className` / `classNames` /
|
|
518
|
+
* `slotProps` (state-driven styling lives on the Panel/Overlay/Header
|
|
519
|
+
* children, which read shared values from context).
|
|
520
|
+
*/
|
|
521
|
+
interface DrawerProps extends Pick<DialogProps, 'id' | 'open' | 'defaultOpen' | 'onOpenChange' | 'disabled'> {
|
|
522
|
+
/** Side the drawer slides in from. */
|
|
523
|
+
placement?: DrawerPlacement;
|
|
524
|
+
/** Whether the drawer can be dismissed by clicking outside or pressing Escape. @defaultValue true */
|
|
525
|
+
dismissable?: boolean;
|
|
526
|
+
children?: ReactNode;
|
|
527
|
+
}
|
|
528
|
+
interface DrawerTriggerOwnProps {
|
|
529
|
+
classNames?: ClassNamesMap<'root'>;
|
|
530
|
+
slotProps?: SlotPropsMap<'root'>;
|
|
531
|
+
}
|
|
532
|
+
type DrawerTriggerProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, DrawerTriggerOwnProps & Pick<DialogTriggerProps, 'children'>>;
|
|
533
|
+
type DrawerOverlayIntensity = 'lightest' | 'light' | 'base' | 'dark' | 'darkest';
|
|
534
|
+
interface DrawerOverlayOwnProps {
|
|
535
|
+
/** When true, the overlay is rendered but visually invisible. @defaultValue false */
|
|
536
|
+
invisible?: boolean;
|
|
537
|
+
/** Overlay backdrop intensity. @defaultValue 'base' */
|
|
538
|
+
intensity?: DrawerOverlayIntensity;
|
|
539
|
+
classNames?: ClassNamesMap<DrawerOverlaySlot>;
|
|
540
|
+
slotProps?: SlotPropsMap<DrawerOverlaySlot>;
|
|
541
|
+
}
|
|
542
|
+
type DrawerOverlayProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, DrawerOverlayOwnProps & Pick<DialogOverlayProps, 'container'>>;
|
|
543
|
+
interface DrawerPanelOwnProps {
|
|
544
|
+
classNames?: ClassNamesMap<DrawerPanelSlot>;
|
|
545
|
+
slotProps?: SlotPropsMap<DrawerPanelSlot>;
|
|
546
|
+
}
|
|
547
|
+
type DrawerPanelProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, DrawerPanelOwnProps & Pick<DialogContentProps, 'container' | 'trapFocus' | 'restoreFocus' | 'initialFocus' | 'finalFocus' | 'onOpenAutoFocus' | 'onCloseAutoFocus' | 'onEscapeKeyDown' | 'onPointerDownOutside' | 'onInteractOutside'>>;
|
|
548
|
+
type DrawerHeaderType = 'basic' | 'divided' | 'light' | 'dark' | 'primary';
|
|
549
|
+
interface DrawerHeaderOwnProps {
|
|
550
|
+
/** Type of the header. @defaultValue 'basic' */
|
|
551
|
+
headerType?: DrawerHeaderType;
|
|
552
|
+
classNames?: ClassNamesMap<DrawerHeaderSlot>;
|
|
553
|
+
slotProps?: SlotPropsMap<DrawerHeaderSlot>;
|
|
554
|
+
}
|
|
555
|
+
type DrawerHeaderProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, DrawerHeaderOwnProps>;
|
|
556
|
+
interface DrawerTitleOwnProps {
|
|
557
|
+
classNames?: ClassNamesMap<DrawerTitleSlot>;
|
|
558
|
+
slotProps?: SlotPropsMap<DrawerTitleSlot>;
|
|
559
|
+
}
|
|
560
|
+
type DrawerTitleProps<T extends ElementType = 'h2'> = PolymorphicProps<'h2', T, DrawerTitleOwnProps & Pick<DialogTitleProps, 'level'>>;
|
|
561
|
+
interface DrawerDescriptionOwnProps {
|
|
562
|
+
classNames?: ClassNamesMap<DrawerDescriptionSlot>;
|
|
563
|
+
slotProps?: SlotPropsMap<DrawerDescriptionSlot>;
|
|
564
|
+
}
|
|
565
|
+
type DrawerDescriptionProps<T extends ElementType = 'p'> = PolymorphicProps<'p', T, DrawerDescriptionOwnProps>;
|
|
566
|
+
interface DrawerBodyOwnProps {
|
|
567
|
+
classNames?: ClassNamesMap<DrawerBodySlot>;
|
|
568
|
+
slotProps?: SlotPropsMap<DrawerBodySlot>;
|
|
569
|
+
}
|
|
570
|
+
type DrawerBodyProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, DrawerBodyOwnProps>;
|
|
571
|
+
type DrawerFooterType = 'basic' | 'divided' | 'light';
|
|
572
|
+
interface DrawerFooterOwnProps {
|
|
573
|
+
/** Type of the footer. @defaultValue 'basic' */
|
|
574
|
+
footerType?: DrawerFooterType;
|
|
575
|
+
classNames?: ClassNamesMap<DrawerFooterSlot>;
|
|
576
|
+
slotProps?: SlotPropsMap<DrawerFooterSlot>;
|
|
577
|
+
}
|
|
578
|
+
type DrawerFooterProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, DrawerFooterOwnProps>;
|
|
579
|
+
interface DrawerCloseButtonOwnProps {
|
|
580
|
+
classNames?: ClassNamesMap<DrawerCloseButtonSlot>;
|
|
581
|
+
slotProps?: SlotPropsMap<DrawerCloseButtonSlot>;
|
|
582
|
+
}
|
|
583
|
+
type DrawerCloseButtonProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, DrawerCloseButtonOwnProps & Pick<DialogCloseProps, 'children'>>;
|
|
584
|
+
declare module '../../core/theme' {
|
|
585
|
+
interface ComponentThemeRegistry {
|
|
586
|
+
Drawer: StateOnlyComponentThemeConfig<DrawerProps>;
|
|
587
|
+
DrawerTrigger: ComponentThemeConfig<DrawerTriggerProps>;
|
|
588
|
+
DrawerOverlay: ComponentThemeConfig<DrawerOverlayProps>;
|
|
589
|
+
DrawerPanel: ComponentThemeConfig<DrawerPanelProps>;
|
|
590
|
+
DrawerHeader: ComponentThemeConfig<DrawerHeaderProps>;
|
|
591
|
+
DrawerTitle: ComponentThemeConfig<DrawerTitleProps>;
|
|
592
|
+
DrawerDescription: ComponentThemeConfig<DrawerDescriptionProps>;
|
|
593
|
+
DrawerBody: ComponentThemeConfig<DrawerBodyProps>;
|
|
594
|
+
DrawerFooter: ComponentThemeConfig<DrawerFooterProps>;
|
|
595
|
+
DrawerCloseButton: ComponentThemeConfig<DrawerCloseButtonProps>;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
declare const Drawer: {
|
|
600
|
+
(props: DrawerProps): react_jsx_runtime.JSX.Element;
|
|
601
|
+
displayName: string;
|
|
602
|
+
} & {
|
|
603
|
+
Trigger: {
|
|
604
|
+
<T extends react.ElementType = "button">(props: DrawerTriggerProps<T>): react_jsx_runtime.JSX.Element;
|
|
605
|
+
displayName: string;
|
|
606
|
+
};
|
|
607
|
+
Overlay: {
|
|
608
|
+
<T extends react.ElementType = "div">(props: DrawerOverlayProps<T>): react_jsx_runtime.JSX.Element;
|
|
609
|
+
displayName: string;
|
|
610
|
+
};
|
|
611
|
+
Panel: {
|
|
612
|
+
<T extends react.ElementType = "div">(props: DrawerPanelProps<T>): react_jsx_runtime.JSX.Element;
|
|
613
|
+
displayName: string;
|
|
614
|
+
};
|
|
615
|
+
Header: {
|
|
616
|
+
<T extends react.ElementType = "div">(props: DrawerHeaderProps<T>): react_jsx_runtime.JSX.Element;
|
|
617
|
+
displayName: string;
|
|
618
|
+
};
|
|
619
|
+
Title: {
|
|
620
|
+
<T extends react.ElementType = "h2">(props: DrawerTitleProps<T>): react_jsx_runtime.JSX.Element;
|
|
621
|
+
displayName: string;
|
|
622
|
+
};
|
|
623
|
+
Description: {
|
|
624
|
+
<T extends react.ElementType = "p">(props: DrawerDescriptionProps<T>): react_jsx_runtime.JSX.Element;
|
|
625
|
+
displayName: string;
|
|
626
|
+
};
|
|
627
|
+
Body: {
|
|
628
|
+
<T extends react.ElementType = "div">(props: DrawerBodyProps<T>): react_jsx_runtime.JSX.Element;
|
|
629
|
+
displayName: string;
|
|
630
|
+
};
|
|
631
|
+
Footer: {
|
|
632
|
+
<T extends react.ElementType = "div">(props: DrawerFooterProps<T>): react_jsx_runtime.JSX.Element;
|
|
633
|
+
displayName: string;
|
|
634
|
+
};
|
|
635
|
+
CloseButton: {
|
|
636
|
+
<T extends react.ElementType = "button">(props: DrawerCloseButtonProps<T>): react_jsx_runtime.JSX.Element;
|
|
637
|
+
displayName: string;
|
|
638
|
+
};
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
type FieldSlot = 'root';
|
|
642
|
+
type FieldLabelSlot = 'root' | 'asterisk';
|
|
643
|
+
type FieldDescriptionSlot = 'root';
|
|
644
|
+
type FieldErrorMessageSlot = 'root';
|
|
645
|
+
interface FieldOwnProps {
|
|
646
|
+
classNames?: ClassNamesMap<FieldSlot>;
|
|
647
|
+
slotProps?: SlotPropsMap<FieldSlot>;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Public props for the Field root. Provides shared ARIA context for nested
|
|
651
|
+
* form controls (Input, Switch, Checkbox, etc.) plus styled label, helper
|
|
652
|
+
* text, and error message slots.
|
|
653
|
+
*/
|
|
654
|
+
type FieldProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, FieldOwnProps & Pick<FieldProps$1, 'id' | 'invalid' | 'disabled' | 'required' | 'readOnly' | 'children'>>;
|
|
655
|
+
interface FieldLabelOwnProps {
|
|
656
|
+
classNames?: ClassNamesMap<FieldLabelSlot>;
|
|
657
|
+
slotProps?: SlotPropsMap<FieldLabelSlot>;
|
|
658
|
+
}
|
|
659
|
+
type FieldLabelProps<T extends ElementType = 'label'> = PolymorphicProps<'label', T, FieldLabelOwnProps & Pick<FieldLabelProps$1, 'children'>>;
|
|
660
|
+
interface FieldDescriptionOwnProps {
|
|
661
|
+
classNames?: ClassNamesMap<FieldDescriptionSlot>;
|
|
662
|
+
slotProps?: SlotPropsMap<FieldDescriptionSlot>;
|
|
663
|
+
}
|
|
664
|
+
type FieldDescriptionProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, FieldDescriptionOwnProps & Pick<FieldDescriptionProps$1, 'children'>>;
|
|
665
|
+
interface FieldErrorMessageOwnProps {
|
|
666
|
+
classNames?: ClassNamesMap<FieldErrorMessageSlot>;
|
|
667
|
+
slotProps?: SlotPropsMap<FieldErrorMessageSlot>;
|
|
668
|
+
}
|
|
669
|
+
type FieldErrorMessageProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, FieldErrorMessageOwnProps & Pick<FieldErrorMessageProps$1, 'children'>>;
|
|
670
|
+
declare module '../../core/theme' {
|
|
671
|
+
interface ComponentThemeRegistry {
|
|
672
|
+
Field: ComponentThemeConfig<FieldProps, FieldSlot>;
|
|
673
|
+
FieldLabel: ComponentThemeConfig<FieldLabelProps, FieldLabelSlot>;
|
|
674
|
+
FieldDescription: ComponentThemeConfig<FieldDescriptionProps, FieldDescriptionSlot>;
|
|
675
|
+
FieldErrorMessage: ComponentThemeConfig<FieldErrorMessageProps, FieldErrorMessageSlot>;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
declare const Field: {
|
|
680
|
+
<T extends react.ElementType = "div">(props: FieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
681
|
+
displayName: string;
|
|
682
|
+
} & {
|
|
683
|
+
Label: {
|
|
684
|
+
<T extends react.ElementType = "label">(props: FieldLabelProps<T>): react_jsx_runtime.JSX.Element;
|
|
685
|
+
displayName: string;
|
|
686
|
+
};
|
|
687
|
+
Description: {
|
|
688
|
+
<T extends react.ElementType = "div">(props: FieldDescriptionProps<T>): react_jsx_runtime.JSX.Element;
|
|
689
|
+
displayName: string;
|
|
690
|
+
};
|
|
691
|
+
ErrorMessage: {
|
|
692
|
+
<T extends react.ElementType = "div">(props: FieldErrorMessageProps<T>): react_jsx_runtime.JSX.Element;
|
|
693
|
+
displayName: string;
|
|
694
|
+
};
|
|
695
|
+
};
|
|
696
|
+
|
|
697
|
+
type InputSize = 'small' | 'base' | 'large';
|
|
698
|
+
type InputSlot = 'root';
|
|
699
|
+
type InputContainerSlot = 'root' | 'startContent' | 'endContent';
|
|
700
|
+
type InputFieldSlot = 'root';
|
|
701
|
+
type InputPrefixSlot = 'root';
|
|
702
|
+
type InputSuffixSlot = 'root';
|
|
703
|
+
/**
|
|
704
|
+
* Visual + slot props owned by takeoff-v2 for the Input root. The `size`
|
|
705
|
+
* cascades to descendants through a visual context so InputField renders at
|
|
706
|
+
* the same scale without consumers having to repeat the prop.
|
|
707
|
+
*/
|
|
708
|
+
interface InputOwnProps {
|
|
709
|
+
/**
|
|
710
|
+
* Size scale.
|
|
711
|
+
* @defaultValue 'base'
|
|
712
|
+
*/
|
|
713
|
+
size?: InputSize;
|
|
714
|
+
/** Per-slot class name overrides. */
|
|
715
|
+
classNames?: ClassNamesMap<InputSlot>;
|
|
716
|
+
/** Per-slot HTML attribute overrides. */
|
|
717
|
+
slotProps?: SlotPropsMap<InputSlot>;
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Public props for the Input root. Polymorphic via `as`; ref and the native
|
|
721
|
+
* attributes of the rendered element are inherited from Spar's
|
|
722
|
+
* `PolymorphicProps`.
|
|
723
|
+
*/
|
|
724
|
+
type InputProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, InputOwnProps & Pick<InputProps$1, 'id' | 'invalid' | 'disabled' | 'required' | 'readOnly'>>;
|
|
725
|
+
interface InputFieldOwnProps {
|
|
726
|
+
/** Per-slot class name overrides. */
|
|
727
|
+
classNames?: ClassNamesMap<InputFieldSlot>;
|
|
728
|
+
/** Per-slot HTML attribute overrides. */
|
|
729
|
+
slotProps?: SlotPropsMap<InputFieldSlot>;
|
|
730
|
+
}
|
|
731
|
+
type InputFieldProps<T extends ElementType = 'input'> = PolymorphicProps<'input', T, InputFieldOwnProps & Pick<InputFieldProps$1, 'autoFocus'>>;
|
|
732
|
+
/**
|
|
733
|
+
* Visual row wrapping the field plus optional prefix, suffix, leading/trailing
|
|
734
|
+
* icons. Mirrors the SCSS `.tk-input-container` and is where state attributes
|
|
735
|
+
* (`data-invalid`, `data-disabled`, `data-readonly`) land for styling the
|
|
736
|
+
* bordered input row.
|
|
737
|
+
*/
|
|
738
|
+
interface InputContainerOwnProps {
|
|
739
|
+
/**
|
|
740
|
+
* Content rendered before the field — typically an icon, but accepts any
|
|
741
|
+
* node (chip, button, etc.). Rendered inside the `startContent` slot
|
|
742
|
+
* (`.tk-input-start-content`).
|
|
743
|
+
*/
|
|
744
|
+
startContent?: ReactNode;
|
|
745
|
+
/**
|
|
746
|
+
* Content rendered after the field. Same shape as `startContent`, rendered
|
|
747
|
+
* inside the `endContent` slot (`.tk-input-end-content`).
|
|
748
|
+
*/
|
|
749
|
+
endContent?: ReactNode;
|
|
750
|
+
/** Per-slot class name overrides. */
|
|
751
|
+
classNames?: ClassNamesMap<InputContainerSlot>;
|
|
752
|
+
/** Per-slot HTML attribute overrides. */
|
|
753
|
+
slotProps?: SlotPropsMap<InputContainerSlot>;
|
|
754
|
+
children?: ReactNode;
|
|
755
|
+
}
|
|
756
|
+
type InputContainerProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, InputContainerOwnProps>;
|
|
757
|
+
interface InputPrefixOwnProps {
|
|
758
|
+
/** Per-slot class name overrides. */
|
|
759
|
+
classNames?: ClassNamesMap<InputPrefixSlot>;
|
|
760
|
+
/** Per-slot HTML attribute overrides. */
|
|
761
|
+
slotProps?: SlotPropsMap<InputPrefixSlot>;
|
|
762
|
+
children?: ReactNode;
|
|
763
|
+
}
|
|
764
|
+
type InputPrefixProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, InputPrefixOwnProps>;
|
|
765
|
+
interface InputSuffixOwnProps {
|
|
766
|
+
/** Per-slot class name overrides. */
|
|
767
|
+
classNames?: ClassNamesMap<InputSuffixSlot>;
|
|
768
|
+
/** Per-slot HTML attribute overrides. */
|
|
769
|
+
slotProps?: SlotPropsMap<InputSuffixSlot>;
|
|
770
|
+
children?: ReactNode;
|
|
771
|
+
}
|
|
772
|
+
type InputSuffixProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, InputSuffixOwnProps>;
|
|
773
|
+
declare module '../../core/theme' {
|
|
774
|
+
interface ComponentThemeRegistry {
|
|
775
|
+
Input: ComponentThemeConfig<InputProps, InputSlot>;
|
|
776
|
+
InputContainer: ComponentThemeConfig<InputContainerProps, InputContainerSlot>;
|
|
777
|
+
InputField: ComponentThemeConfig<InputFieldProps, InputFieldSlot>;
|
|
778
|
+
InputPrefix: ComponentThemeConfig<InputPrefixProps, InputPrefixSlot>;
|
|
779
|
+
InputSuffix: ComponentThemeConfig<InputSuffixProps, InputSuffixSlot>;
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
declare const Input: {
|
|
784
|
+
<T extends react.ElementType = "div">(props: InputProps<T>): react_jsx_runtime.JSX.Element;
|
|
785
|
+
displayName: string;
|
|
786
|
+
} & {
|
|
787
|
+
Container: {
|
|
788
|
+
<T extends react.ElementType = "div">(props: InputContainerProps<T>): react_jsx_runtime.JSX.Element;
|
|
789
|
+
displayName: string;
|
|
790
|
+
};
|
|
791
|
+
Field: {
|
|
792
|
+
<T extends react.ElementType = "input">(props: InputFieldProps<T>): react_jsx_runtime.JSX.Element;
|
|
793
|
+
displayName: string;
|
|
794
|
+
};
|
|
795
|
+
Prefix: {
|
|
796
|
+
<T extends react.ElementType = "span">(props: InputPrefixProps<T>): react_jsx_runtime.JSX.Element;
|
|
797
|
+
displayName: string;
|
|
798
|
+
};
|
|
799
|
+
Suffix: {
|
|
800
|
+
<T extends react.ElementType = "span">(props: InputSuffixProps<T>): react_jsx_runtime.JSX.Element;
|
|
801
|
+
displayName: string;
|
|
802
|
+
};
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
type RadioSize = 'small' | 'base' | 'large';
|
|
806
|
+
type RadioType = 'default' | 'card';
|
|
807
|
+
type RadioPosition = 'left' | 'right';
|
|
808
|
+
type RadioSlot = 'root';
|
|
809
|
+
type RadioItemSlot = 'root';
|
|
810
|
+
type RadioIndicatorSlot = 'root' | 'icon';
|
|
811
|
+
type RadioLabelSlot = 'root';
|
|
812
|
+
/**
|
|
813
|
+
* Render-prop state surface exposed by `Radio.Item` children.
|
|
814
|
+
*
|
|
815
|
+
* This is a callback-parameter shape, not a wrapper prop surface — but the
|
|
816
|
+
* spar-pick guard matches any `Spar*Props` identifier outside a `Pick<>` so
|
|
817
|
+
* we list the keys explicitly. Keep them in sync with Spar's
|
|
818
|
+
* `RadioItemRenderProps`.
|
|
819
|
+
*/
|
|
820
|
+
type RadioRenderProps = Pick<RadioItemRenderProps, 'isChecked' | 'select' | 'disabled' | 'isFocused'>;
|
|
821
|
+
interface RadioOwnProps {
|
|
822
|
+
/**
|
|
823
|
+
* Size scale. Cascades to descendant `Radio.Item`s via context.
|
|
824
|
+
* @defaultValue 'base'
|
|
825
|
+
*/
|
|
826
|
+
size?: RadioSize;
|
|
827
|
+
/**
|
|
828
|
+
* Visual variant. Cascades to descendant `Radio.Item`s via context.
|
|
829
|
+
* @defaultValue 'default'
|
|
830
|
+
*/
|
|
831
|
+
type?: RadioType;
|
|
832
|
+
/**
|
|
833
|
+
* Marks the group as visually invalid. Cascades to descendant `Radio.Item`s.
|
|
834
|
+
* When nested inside a `<Field>` with `invalid`, this is inherited
|
|
835
|
+
* automatically; a direct prop on `<Radio>` always wins. Maps to Spar's
|
|
836
|
+
* `invalid` for ARIA wiring (`aria-invalid`).
|
|
837
|
+
* @defaultValue false
|
|
838
|
+
*/
|
|
839
|
+
invalid?: boolean;
|
|
840
|
+
/**
|
|
841
|
+
* Stretches each item to share the group axis equally. Layout intent only —
|
|
842
|
+
* styling is recipe-side via `[data-spread] > [data-slot="root"]`.
|
|
843
|
+
* @defaultValue false
|
|
844
|
+
*/
|
|
845
|
+
spread?: boolean;
|
|
846
|
+
/**
|
|
847
|
+
* Default placement of an item's indicator relative to its label. Cascades
|
|
848
|
+
* to descendant `Radio.Item`s; per-item `position` overrides the group value.
|
|
849
|
+
* @defaultValue 'left'
|
|
850
|
+
*/
|
|
851
|
+
position?: RadioPosition;
|
|
852
|
+
/** Per-slot class name overrides. */
|
|
853
|
+
classNames?: ClassNamesMap<RadioSlot>;
|
|
854
|
+
/** Per-slot HTML attribute overrides. */
|
|
855
|
+
slotProps?: SlotPropsMap<RadioSlot>;
|
|
856
|
+
}
|
|
857
|
+
type RadioProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, RadioOwnProps & Pick<RadioProps$1, 'id' | 'value' | 'defaultValue' | 'onChange' | 'name' | 'disabled' | 'readOnly' | 'required' | 'orientation' | 'selectOnFocus' | 'autoFocus'>>;
|
|
858
|
+
interface RadioItemOwnProps {
|
|
859
|
+
/**
|
|
860
|
+
* Override the group-level `position` for this item only.
|
|
861
|
+
* @defaultValue inherited from group
|
|
862
|
+
*/
|
|
863
|
+
position?: RadioPosition;
|
|
864
|
+
/** Per-slot class name overrides. */
|
|
865
|
+
classNames?: ClassNamesMap<RadioItemSlot>;
|
|
866
|
+
/** Per-slot HTML attribute overrides. */
|
|
867
|
+
slotProps?: SlotPropsMap<RadioItemSlot>;
|
|
868
|
+
/** Compound children, or a render function exposing Spar's per-item state. */
|
|
869
|
+
children?: ReactNode | ((state: RadioRenderProps) => ReactNode);
|
|
870
|
+
}
|
|
871
|
+
type RadioItemProps<T extends ElementType = 'label'> = PolymorphicProps<'label', T, RadioItemOwnProps & Pick<RadioItemProps$1, 'value' | 'disabled'>>;
|
|
872
|
+
interface RadioIndicatorOwnProps {
|
|
873
|
+
/** Per-slot class name overrides — supports `root` and the internal `icon` slot. */
|
|
874
|
+
classNames?: ClassNamesMap<RadioIndicatorSlot>;
|
|
875
|
+
/** Per-slot HTML attribute overrides — supports `root` and the internal `icon` slot. */
|
|
876
|
+
slotProps?: SlotPropsMap<RadioIndicatorSlot>;
|
|
877
|
+
/**
|
|
878
|
+
* Optional custom content for the indicator. When omitted, the wrapper
|
|
879
|
+
* auto-renders the internal `icon` slot (the default dot). When provided,
|
|
880
|
+
* the children replace the default slot entirely — useful for swapping in
|
|
881
|
+
* a check icon or animated marker. The consumer owns checked/unchecked
|
|
882
|
+
* visibility (typically via the `[data-state="checked"]` ancestor selector
|
|
883
|
+
* emitted by Spar on `Radio.Item`).
|
|
884
|
+
*/
|
|
885
|
+
children?: ReactNode;
|
|
886
|
+
}
|
|
887
|
+
type RadioIndicatorProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, RadioIndicatorOwnProps>;
|
|
888
|
+
interface RadioLabelOwnProps {
|
|
889
|
+
/** Per-slot class name overrides. */
|
|
890
|
+
classNames?: ClassNamesMap<RadioLabelSlot>;
|
|
891
|
+
/** Per-slot HTML attribute overrides. */
|
|
892
|
+
slotProps?: SlotPropsMap<RadioLabelSlot>;
|
|
893
|
+
children?: ReactNode;
|
|
894
|
+
}
|
|
895
|
+
type RadioLabelProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, RadioLabelOwnProps>;
|
|
896
|
+
declare module '../../core/theme' {
|
|
897
|
+
interface ComponentThemeRegistry {
|
|
898
|
+
Radio: ComponentThemeConfig<RadioProps, RadioSlot>;
|
|
899
|
+
RadioItem: ComponentThemeConfig<RadioItemProps, RadioItemSlot>;
|
|
900
|
+
RadioIndicator: ComponentThemeConfig<RadioIndicatorProps, RadioIndicatorSlot>;
|
|
901
|
+
RadioLabel: ComponentThemeConfig<RadioLabelProps, RadioLabelSlot>;
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
declare const Radio: {
|
|
906
|
+
<T extends react.ElementType = "div">(props: RadioProps<T>): react_jsx_runtime.JSX.Element;
|
|
907
|
+
displayName: string;
|
|
908
|
+
} & {
|
|
909
|
+
Item: {
|
|
910
|
+
<T extends react.ElementType = "label">(props: RadioItemProps<T>): react_jsx_runtime.JSX.Element;
|
|
911
|
+
displayName: string;
|
|
912
|
+
};
|
|
913
|
+
Indicator: {
|
|
914
|
+
<T extends react.ElementType = "span">(props: RadioIndicatorProps<T>): react_jsx_runtime.JSX.Element;
|
|
915
|
+
displayName: string;
|
|
916
|
+
};
|
|
917
|
+
Label: {
|
|
918
|
+
<T extends react.ElementType = "span">(props: RadioLabelProps<T>): react_jsx_runtime.JSX.Element;
|
|
919
|
+
displayName: string;
|
|
920
|
+
};
|
|
921
|
+
};
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* Visual variant of the popover content.
|
|
925
|
+
* @defaultValue 'dark'
|
|
926
|
+
*/
|
|
927
|
+
type PopoverVariant = 'dark' | 'white' | 'info' | 'success' | 'warning' | 'danger' | 'neutral';
|
|
928
|
+
type PopoverTriggerSlot = 'root';
|
|
929
|
+
type PopoverContentSlot = 'root';
|
|
930
|
+
type PopoverHeaderSlot = 'root';
|
|
931
|
+
type PopoverDescriptionSlot = 'root';
|
|
932
|
+
type PopoverArrowSlot = 'root';
|
|
933
|
+
type PopoverCloseSlot = 'root';
|
|
934
|
+
/**
|
|
935
|
+
* Public props for the Popover root. State-only — renders no DOM, so no
|
|
936
|
+
* polymorphic `as` and no native HTML props.
|
|
937
|
+
*/
|
|
938
|
+
type PopoverProps = Pick<PopoverProps$1, 'id' | 'open' | 'defaultOpen' | 'onOpenChange' | 'modal' | 'disabled' | 'children'>;
|
|
939
|
+
interface PopoverTriggerOwnProps {
|
|
940
|
+
/** Per-slot extra classes. */
|
|
941
|
+
classNames?: ClassNamesMap<PopoverTriggerSlot>;
|
|
942
|
+
/** Per-slot HTML-attribute overrides. */
|
|
943
|
+
slotProps?: SlotPropsMap<PopoverTriggerSlot>;
|
|
944
|
+
}
|
|
945
|
+
type PopoverTriggerProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, PopoverTriggerOwnProps & Pick<PopoverTriggerProps$1, 'children'>>;
|
|
946
|
+
interface PopoverContentOwnProps {
|
|
947
|
+
/**
|
|
948
|
+
* Color variant.
|
|
949
|
+
* @defaultValue 'dark'
|
|
950
|
+
*/
|
|
951
|
+
variant?: PopoverVariant;
|
|
952
|
+
/** Per-slot extra classes. */
|
|
953
|
+
classNames?: ClassNamesMap<PopoverContentSlot>;
|
|
954
|
+
/** Per-slot HTML-attribute overrides. */
|
|
955
|
+
slotProps?: SlotPropsMap<PopoverContentSlot>;
|
|
956
|
+
}
|
|
957
|
+
type PopoverContentProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, PopoverContentOwnProps & Pick<PopoverContentProps$1, 'side' | 'align' | 'container' | 'trapFocus' | 'onOpenAutoFocus' | 'onCloseAutoFocus' | 'onEscapeKeyDown' | 'onPointerDownOutside' | 'onFocusOutside' | 'onInteractOutside'>>;
|
|
958
|
+
interface PopoverHeaderOwnProps {
|
|
959
|
+
/** Per-slot extra classes. */
|
|
960
|
+
classNames?: ClassNamesMap<PopoverHeaderSlot>;
|
|
961
|
+
/** Per-slot HTML-attribute overrides. */
|
|
962
|
+
slotProps?: SlotPropsMap<PopoverHeaderSlot>;
|
|
963
|
+
}
|
|
964
|
+
type PopoverHeaderProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, PopoverHeaderOwnProps>;
|
|
965
|
+
interface PopoverDescriptionOwnProps {
|
|
966
|
+
/** Per-slot extra classes. */
|
|
967
|
+
classNames?: ClassNamesMap<PopoverDescriptionSlot>;
|
|
968
|
+
/** Per-slot HTML-attribute overrides. */
|
|
969
|
+
slotProps?: SlotPropsMap<PopoverDescriptionSlot>;
|
|
970
|
+
}
|
|
971
|
+
type PopoverDescriptionProps<T extends ElementType = 'p'> = PolymorphicProps<'p', T, PopoverDescriptionOwnProps>;
|
|
972
|
+
interface PopoverArrowOwnProps {
|
|
973
|
+
/** Per-slot extra classes. */
|
|
974
|
+
classNames?: ClassNamesMap<PopoverArrowSlot>;
|
|
975
|
+
/** Per-slot HTML-attribute overrides. */
|
|
976
|
+
slotProps?: SlotPropsMap<PopoverArrowSlot>;
|
|
977
|
+
}
|
|
978
|
+
type PopoverArrowProps<T extends ElementType = 'svg'> = PolymorphicProps<'svg', T, PopoverArrowOwnProps>;
|
|
979
|
+
interface PopoverCloseOwnProps {
|
|
980
|
+
/** Per-slot extra classes. */
|
|
981
|
+
classNames?: ClassNamesMap<PopoverCloseSlot>;
|
|
982
|
+
/** Per-slot HTML-attribute overrides. */
|
|
983
|
+
slotProps?: SlotPropsMap<PopoverCloseSlot>;
|
|
984
|
+
}
|
|
985
|
+
type PopoverCloseProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, PopoverCloseOwnProps & Pick<PopoverCloseProps$1, 'children'>>;
|
|
986
|
+
declare module '../../core/theme' {
|
|
987
|
+
interface ComponentThemeRegistry {
|
|
988
|
+
Popover: StateOnlyComponentThemeConfig<PopoverProps>;
|
|
989
|
+
PopoverTrigger: ComponentThemeConfig<PopoverTriggerProps, PopoverTriggerSlot>;
|
|
990
|
+
PopoverContent: ComponentThemeConfig<PopoverContentProps, PopoverContentSlot>;
|
|
991
|
+
PopoverHeader: ComponentThemeConfig<PopoverHeaderProps, PopoverHeaderSlot>;
|
|
992
|
+
PopoverDescription: ComponentThemeConfig<PopoverDescriptionProps, PopoverDescriptionSlot>;
|
|
993
|
+
PopoverArrow: ComponentThemeConfig<PopoverArrowProps, PopoverArrowSlot>;
|
|
994
|
+
PopoverClose: ComponentThemeConfig<PopoverCloseProps, PopoverCloseSlot>;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
declare const Popover: {
|
|
999
|
+
(props: PopoverProps): react_jsx_runtime.JSX.Element;
|
|
1000
|
+
displayName: string;
|
|
1001
|
+
} & {
|
|
1002
|
+
Trigger: {
|
|
1003
|
+
<T extends react.ElementType = "button">(props: PopoverTriggerProps<T>): react_jsx_runtime.JSX.Element;
|
|
1004
|
+
displayName: string;
|
|
1005
|
+
};
|
|
1006
|
+
Content: {
|
|
1007
|
+
<T extends react.ElementType = "div">(props: PopoverContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
1008
|
+
displayName: string;
|
|
1009
|
+
};
|
|
1010
|
+
Header: {
|
|
1011
|
+
<T extends react.ElementType = "div">(props: PopoverHeaderProps<T>): react_jsx_runtime.JSX.Element;
|
|
1012
|
+
displayName: string;
|
|
1013
|
+
};
|
|
1014
|
+
Description: {
|
|
1015
|
+
<T extends react.ElementType = "p">(props: PopoverDescriptionProps<T>): react_jsx_runtime.JSX.Element;
|
|
1016
|
+
displayName: string;
|
|
1017
|
+
};
|
|
1018
|
+
Arrow: {
|
|
1019
|
+
<T extends react.ElementType = "svg">(props: PopoverArrowProps<T>): react_jsx_runtime.JSX.Element;
|
|
1020
|
+
displayName: string;
|
|
1021
|
+
};
|
|
1022
|
+
Close: {
|
|
1023
|
+
<T extends react.ElementType = "button">(props: PopoverCloseProps<T>): react_jsx_runtime.JSX.Element;
|
|
1024
|
+
displayName: string;
|
|
1025
|
+
};
|
|
1026
|
+
};
|
|
1027
|
+
|
|
1028
|
+
type SelectSize = 'small' | 'base' | 'large';
|
|
1029
|
+
type SelectSlot = 'root';
|
|
1030
|
+
type SelectTriggerSlot = 'root';
|
|
1031
|
+
type SelectValueSlot = 'root';
|
|
1032
|
+
type SelectContentSlot = 'root';
|
|
1033
|
+
type SelectItemSlot = 'root';
|
|
1034
|
+
type SelectGroupSlot = 'root';
|
|
1035
|
+
type SelectLabelSlot = 'root';
|
|
1036
|
+
type SelectItemTextSlot = 'root';
|
|
1037
|
+
type SelectSeparatorSlot = 'root';
|
|
1038
|
+
/**
|
|
1039
|
+
* Visual + slot props owned by takeoff-v2 for the Select root. `size` and
|
|
1040
|
+
* `invalid` cascade to the Trigger through a visual context so consumers
|
|
1041
|
+
* declare them once on the root.
|
|
1042
|
+
*/
|
|
1043
|
+
interface SelectOwnProps {
|
|
1044
|
+
/**
|
|
1045
|
+
* Size scale.
|
|
1046
|
+
* @defaultValue 'base'
|
|
1047
|
+
*/
|
|
1048
|
+
size?: SelectSize;
|
|
1049
|
+
/**
|
|
1050
|
+
* Invalid state for form validation styling.
|
|
1051
|
+
* @defaultValue false
|
|
1052
|
+
*/
|
|
1053
|
+
invalid?: boolean;
|
|
1054
|
+
/** Per-slot class name overrides. */
|
|
1055
|
+
classNames?: ClassNamesMap<SelectSlot>;
|
|
1056
|
+
/** Per-slot HTML attribute overrides. */
|
|
1057
|
+
slotProps?: SlotPropsMap<SelectSlot>;
|
|
1058
|
+
}
|
|
1059
|
+
/**
|
|
1060
|
+
* Public props for the Select root. Polymorphic via `as`; ref and the native
|
|
1061
|
+
* attributes of the rendered element are inherited from Spar's
|
|
1062
|
+
* `PolymorphicProps`.
|
|
1063
|
+
*/
|
|
1064
|
+
type SelectProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, SelectOwnProps & Pick<SelectProps$1, 'id' | 'value' | 'defaultValue' | 'onChange' | 'open' | 'defaultOpen' | 'onOpenChange' | 'disabled' | 'readOnly' | 'required' | 'name' | 'autoFocus'>>;
|
|
1065
|
+
interface SelectTriggerOwnProps {
|
|
1066
|
+
/** Per-slot class name overrides. */
|
|
1067
|
+
classNames?: ClassNamesMap<SelectTriggerSlot>;
|
|
1068
|
+
/** Per-slot HTML attribute overrides. */
|
|
1069
|
+
slotProps?: SlotPropsMap<SelectTriggerSlot>;
|
|
1070
|
+
}
|
|
1071
|
+
type SelectTriggerProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, SelectTriggerOwnProps & Pick<SelectTriggerProps$1, 'children'>>;
|
|
1072
|
+
interface SelectValueOwnProps {
|
|
1073
|
+
/** Per-slot class name overrides. */
|
|
1074
|
+
classNames?: ClassNamesMap<SelectValueSlot>;
|
|
1075
|
+
/** Per-slot HTML attribute overrides. */
|
|
1076
|
+
slotProps?: SlotPropsMap<SelectValueSlot>;
|
|
1077
|
+
}
|
|
1078
|
+
type SelectValueProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, SelectValueOwnProps & Pick<SelectValueProps$1, 'placeholder'>>;
|
|
1079
|
+
interface SelectContentOwnProps {
|
|
1080
|
+
/** Per-slot class name overrides. */
|
|
1081
|
+
classNames?: ClassNamesMap<SelectContentSlot>;
|
|
1082
|
+
/** Per-slot HTML attribute overrides. */
|
|
1083
|
+
slotProps?: SlotPropsMap<SelectContentSlot>;
|
|
1084
|
+
}
|
|
1085
|
+
type SelectContentProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, SelectContentOwnProps & Pick<SelectContentProps$1, 'side' | 'align' | 'container' | 'onEscapeKeyDown' | 'onPointerDownOutside' | 'onCloseAutoFocus'>>;
|
|
1086
|
+
interface SelectItemOwnProps {
|
|
1087
|
+
/** Per-slot class name overrides. */
|
|
1088
|
+
classNames?: ClassNamesMap<SelectItemSlot>;
|
|
1089
|
+
/** Per-slot HTML attribute overrides. */
|
|
1090
|
+
slotProps?: SlotPropsMap<SelectItemSlot>;
|
|
1091
|
+
}
|
|
1092
|
+
type SelectItemProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, SelectItemOwnProps & Pick<SelectItemProps$1, 'value' | 'disabled' | 'textValue' | 'children'>>;
|
|
1093
|
+
interface SelectGroupOwnProps {
|
|
1094
|
+
/** Per-slot class name overrides. */
|
|
1095
|
+
classNames?: ClassNamesMap<SelectGroupSlot>;
|
|
1096
|
+
/** Per-slot HTML attribute overrides. */
|
|
1097
|
+
slotProps?: SlotPropsMap<SelectGroupSlot>;
|
|
1098
|
+
}
|
|
1099
|
+
type SelectGroupProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, SelectGroupOwnProps & Pick<SelectGroupProps$1, 'children'>>;
|
|
1100
|
+
interface SelectLabelOwnProps {
|
|
1101
|
+
/** Per-slot class name overrides. */
|
|
1102
|
+
classNames?: ClassNamesMap<SelectLabelSlot>;
|
|
1103
|
+
/** Per-slot HTML attribute overrides. */
|
|
1104
|
+
slotProps?: SlotPropsMap<SelectLabelSlot>;
|
|
1105
|
+
}
|
|
1106
|
+
type SelectLabelProps<T extends ElementType = 'label'> = PolymorphicProps<'label', T, SelectLabelOwnProps & Pick<SelectLabelProps$1, 'children'>>;
|
|
1107
|
+
interface SelectItemTextOwnProps {
|
|
1108
|
+
/** Per-slot class name overrides. */
|
|
1109
|
+
classNames?: ClassNamesMap<SelectItemTextSlot>;
|
|
1110
|
+
/** Per-slot HTML attribute overrides. */
|
|
1111
|
+
slotProps?: SlotPropsMap<SelectItemTextSlot>;
|
|
1112
|
+
}
|
|
1113
|
+
type SelectItemTextProps<T extends ElementType = 'span'> = PolymorphicProps<'span', T, SelectItemTextOwnProps & Pick<SelectItemTextProps$1, 'children'>>;
|
|
1114
|
+
interface SelectSeparatorOwnProps {
|
|
1115
|
+
/** Per-slot class name overrides. */
|
|
1116
|
+
classNames?: ClassNamesMap<SelectSeparatorSlot>;
|
|
1117
|
+
/** Per-slot HTML attribute overrides. */
|
|
1118
|
+
slotProps?: SlotPropsMap<SelectSeparatorSlot>;
|
|
1119
|
+
}
|
|
1120
|
+
type SelectSeparatorProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, SelectSeparatorOwnProps & Pick<SelectSeparatorProps$1, 'children'>>;
|
|
1121
|
+
declare module '../../core/theme' {
|
|
1122
|
+
interface ComponentThemeRegistry {
|
|
1123
|
+
Select: ComponentThemeConfig<SelectProps, SelectSlot>;
|
|
1124
|
+
SelectTrigger: ComponentThemeConfig<SelectTriggerProps, SelectTriggerSlot>;
|
|
1125
|
+
SelectValue: ComponentThemeConfig<SelectValueProps, SelectValueSlot>;
|
|
1126
|
+
SelectContent: ComponentThemeConfig<SelectContentProps, SelectContentSlot>;
|
|
1127
|
+
SelectItem: ComponentThemeConfig<SelectItemProps, SelectItemSlot>;
|
|
1128
|
+
SelectGroup: ComponentThemeConfig<SelectGroupProps, SelectGroupSlot>;
|
|
1129
|
+
SelectLabel: ComponentThemeConfig<SelectLabelProps, SelectLabelSlot>;
|
|
1130
|
+
SelectItemText: ComponentThemeConfig<SelectItemTextProps, SelectItemTextSlot>;
|
|
1131
|
+
SelectSeparator: ComponentThemeConfig<SelectSeparatorProps, SelectSeparatorSlot>;
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
declare const Select: {
|
|
1136
|
+
<T extends react.ElementType = "div">(props: SelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
1137
|
+
displayName: string;
|
|
1138
|
+
} & {
|
|
1139
|
+
Trigger: {
|
|
1140
|
+
<T extends react.ElementType = "button">(props: SelectTriggerProps<T>): react_jsx_runtime.JSX.Element;
|
|
1141
|
+
displayName: string;
|
|
1142
|
+
};
|
|
1143
|
+
Value: {
|
|
1144
|
+
<T extends react.ElementType = "span">(props: SelectValueProps<T>): react_jsx_runtime.JSX.Element;
|
|
1145
|
+
displayName: string;
|
|
1146
|
+
};
|
|
1147
|
+
Content: {
|
|
1148
|
+
<T extends react.ElementType = "div">(props: SelectContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
1149
|
+
displayName: string;
|
|
1150
|
+
};
|
|
1151
|
+
Item: {
|
|
1152
|
+
<T extends react.ElementType = "div">(props: SelectItemProps<T>): react_jsx_runtime.JSX.Element;
|
|
1153
|
+
displayName: string;
|
|
1154
|
+
};
|
|
1155
|
+
ItemText: {
|
|
1156
|
+
<T extends react.ElementType = "span">(props: SelectItemTextProps<T>): react_jsx_runtime.JSX.Element;
|
|
1157
|
+
displayName: string;
|
|
1158
|
+
};
|
|
1159
|
+
Group: {
|
|
1160
|
+
<T extends react.ElementType = "div">(props: SelectGroupProps<T>): react_jsx_runtime.JSX.Element;
|
|
1161
|
+
displayName: string;
|
|
1162
|
+
};
|
|
1163
|
+
Label: {
|
|
1164
|
+
<T extends react.ElementType = "label">(props: SelectLabelProps<T>): react_jsx_runtime.JSX.Element;
|
|
1165
|
+
displayName: string;
|
|
1166
|
+
};
|
|
1167
|
+
Separator: {
|
|
1168
|
+
<T extends react.ElementType = "div">(props: SelectSeparatorProps<T>): react_jsx_runtime.JSX.Element;
|
|
1169
|
+
displayName: string;
|
|
1170
|
+
};
|
|
1171
|
+
};
|
|
1172
|
+
|
|
1173
|
+
type SwitchSize = 'xlarge' | 'large' | 'base' | 'small' | 'xsmall';
|
|
1174
|
+
type SwitchVariant = 'info' | 'success';
|
|
1175
|
+
type SwitchSlot = 'root' | 'indicator' | 'thumb';
|
|
1176
|
+
/**
|
|
1177
|
+
* Render props passed to the root `Switch` render-prop child. Re-exports
|
|
1178
|
+
* Spar's shape verbatim — consumers reading the state inside compound
|
|
1179
|
+
* children should use `Switch.Indicator` render-prop instead, which receives
|
|
1180
|
+
* the takeoff-spar split via context.
|
|
1181
|
+
*/
|
|
1182
|
+
type SwitchRenderProps = SwitchRenderProps$1;
|
|
1183
|
+
/**
|
|
1184
|
+
* Render props passed to `Switch.Indicator` function-children. Mirrors the
|
|
1185
|
+
* shape used by `Checkbox.Indicator`.
|
|
1186
|
+
*/
|
|
1187
|
+
interface SwitchIndicatorRenderProps {
|
|
1188
|
+
checked: boolean;
|
|
1189
|
+
disabled: boolean;
|
|
1190
|
+
readOnly: boolean;
|
|
1191
|
+
}
|
|
1192
|
+
interface SwitchOwnProps {
|
|
1193
|
+
/**
|
|
1194
|
+
* Size scale.
|
|
1195
|
+
* @defaultValue 'base'
|
|
1196
|
+
*/
|
|
1197
|
+
size?: SwitchSize;
|
|
1198
|
+
/**
|
|
1199
|
+
* Color variant used while checked.
|
|
1200
|
+
* @defaultValue 'info'
|
|
1201
|
+
*/
|
|
1202
|
+
variant?: SwitchVariant;
|
|
1203
|
+
/**
|
|
1204
|
+
* Marks the switch as visually invalid. When inside a `<Field>`, Spar
|
|
1205
|
+
* inherits the Field's invalid state automatically — pass this prop only
|
|
1206
|
+
* to override.
|
|
1207
|
+
* @defaultValue false
|
|
1208
|
+
*/
|
|
1209
|
+
invalid?: boolean;
|
|
1210
|
+
/** Per-slot extra classes. */
|
|
1211
|
+
classNames?: ClassNamesMap<SwitchSlot>;
|
|
1212
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1213
|
+
slotProps?: SlotPropsMap<SwitchSlot>;
|
|
1214
|
+
/**
|
|
1215
|
+
* Compound children for the switch anatomy, or a render function exposing
|
|
1216
|
+
* Spar's state. Compound children are the canonical composition path; the
|
|
1217
|
+
* render-prop is preserved for parity with Spar's leaf primitive.
|
|
1218
|
+
*/
|
|
1219
|
+
children?: ReactNode | ((state: SwitchRenderProps$1) => ReactNode);
|
|
1220
|
+
}
|
|
1221
|
+
/**
|
|
1222
|
+
* Public props for `Switch`. Polymorphic via `as` — defaults to Spar's
|
|
1223
|
+
* `<button role="switch">` element.
|
|
1224
|
+
*/
|
|
1225
|
+
type SwitchProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, SwitchOwnProps & Pick<SwitchProps$1, 'checked' | 'defaultChecked' | 'onChange' | 'disabled' | 'readOnly' | 'required' | 'name' | 'value' | 'form' | 'autoFocus'>>;
|
|
1226
|
+
interface SwitchIndicatorProps extends Omit<ComponentPropsWithoutRef<'span'>, 'children'> {
|
|
1227
|
+
/**
|
|
1228
|
+
* Indicator content. When omitted, the built-in track + thumb anatomy is
|
|
1229
|
+
* rendered automatically (a `thumb` slot is mounted inside the indicator
|
|
1230
|
+
* span). When a function, receives the current `checked` / `disabled` /
|
|
1231
|
+
* `readOnly` state from the root and its return value replaces the inner
|
|
1232
|
+
* slot. Passing a `ReactNode` likewise replaces the inner slot entirely —
|
|
1233
|
+
* the consumer becomes responsible for any `data-slot="thumb"` wrapper
|
|
1234
|
+
* they need for theming.
|
|
1235
|
+
*/
|
|
1236
|
+
children?: ReactNode | ((state: SwitchIndicatorRenderProps) => ReactNode);
|
|
1237
|
+
ref?: Ref<HTMLSpanElement>;
|
|
1238
|
+
}
|
|
1239
|
+
declare module '../../core/theme' {
|
|
1240
|
+
interface ComponentThemeRegistry {
|
|
1241
|
+
Switch: ComponentThemeConfig<SwitchProps, SwitchSlot>;
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
declare const Switch: {
|
|
1246
|
+
<T extends react.ElementType = "button">(props: SwitchProps<T>): react_jsx_runtime.JSX.Element;
|
|
1247
|
+
displayName: string;
|
|
1248
|
+
} & {
|
|
1249
|
+
Indicator: {
|
|
1250
|
+
(props: SwitchIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
1251
|
+
displayName: string;
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
|
|
1255
|
+
type TooltipVariant = 'dark' | 'white' | 'info' | 'success' | 'warning' | 'danger' | 'neutral';
|
|
1256
|
+
type TooltipTriggerSlot = 'root';
|
|
1257
|
+
type TooltipContentSlot = 'root';
|
|
1258
|
+
type TooltipHeaderSlot = 'root';
|
|
1259
|
+
type TooltipDescriptionSlot = 'root';
|
|
1260
|
+
type TooltipArrowSlot = 'root';
|
|
1261
|
+
/**
|
|
1262
|
+
* Public props for the Tooltip root. State-only — renders no DOM, so no
|
|
1263
|
+
* polymorphic `as` and no native HTML props.
|
|
1264
|
+
*/
|
|
1265
|
+
type TooltipProps = Pick<TooltipProps$1, 'id' | 'open' | 'defaultOpen' | 'onOpenChange' | 'delay' | 'hideDelay' | 'disabled' | 'children'>;
|
|
1266
|
+
/**
|
|
1267
|
+
* Public props for the Tooltip provider. State-only — renders no DOM.
|
|
1268
|
+
* Shares delay configuration across multiple sibling tooltips so that moving
|
|
1269
|
+
* between them within `skipDelayDuration` opens the next one instantly (WCAG 1.4.13).
|
|
1270
|
+
*/
|
|
1271
|
+
type TooltipProviderProps = Pick<TooltipProviderProps$1, 'children' | 'delayDuration' | 'skipDelayDuration' | 'disableHoverableContent'>;
|
|
1272
|
+
interface TooltipTriggerOwnProps {
|
|
1273
|
+
/** Per-slot extra classes. */
|
|
1274
|
+
classNames?: ClassNamesMap<TooltipTriggerSlot>;
|
|
1275
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1276
|
+
slotProps?: SlotPropsMap<TooltipTriggerSlot>;
|
|
1277
|
+
}
|
|
1278
|
+
type TooltipTriggerProps<T extends ElementType = 'button'> = PolymorphicProps<'button', T, TooltipTriggerOwnProps & Pick<TooltipTriggerProps$1, 'children'>>;
|
|
1279
|
+
interface TooltipContentOwnProps {
|
|
1280
|
+
/**
|
|
1281
|
+
* Color variant.
|
|
1282
|
+
* @defaultValue 'dark'
|
|
1283
|
+
*/
|
|
1284
|
+
variant?: TooltipVariant;
|
|
1285
|
+
/** Per-slot extra classes. */
|
|
1286
|
+
classNames?: ClassNamesMap<TooltipContentSlot>;
|
|
1287
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1288
|
+
slotProps?: SlotPropsMap<TooltipContentSlot>;
|
|
1289
|
+
}
|
|
1290
|
+
type TooltipContentProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, TooltipContentOwnProps & Pick<TooltipContentProps$1, 'side' | 'align' | 'container' | 'onEscapeKeyDown' | 'onPointerDownOutside' | 'onOpenAutoFocus' | 'onCloseAutoFocus'>>;
|
|
1291
|
+
interface TooltipHeaderOwnProps {
|
|
1292
|
+
/** Per-slot extra classes. */
|
|
1293
|
+
classNames?: ClassNamesMap<TooltipHeaderSlot>;
|
|
1294
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1295
|
+
slotProps?: SlotPropsMap<TooltipHeaderSlot>;
|
|
1296
|
+
}
|
|
1297
|
+
type TooltipHeaderProps<T extends ElementType = 'div'> = PolymorphicProps<'div', T, TooltipHeaderOwnProps>;
|
|
1298
|
+
interface TooltipDescriptionOwnProps {
|
|
1299
|
+
/** Per-slot extra classes. */
|
|
1300
|
+
classNames?: ClassNamesMap<TooltipDescriptionSlot>;
|
|
1301
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1302
|
+
slotProps?: SlotPropsMap<TooltipDescriptionSlot>;
|
|
1303
|
+
}
|
|
1304
|
+
type TooltipDescriptionProps<T extends ElementType = 'p'> = PolymorphicProps<'p', T, TooltipDescriptionOwnProps>;
|
|
1305
|
+
interface TooltipArrowOwnProps {
|
|
1306
|
+
/** Per-slot extra classes. */
|
|
1307
|
+
classNames?: ClassNamesMap<TooltipArrowSlot>;
|
|
1308
|
+
/** Per-slot HTML-attribute overrides. */
|
|
1309
|
+
slotProps?: SlotPropsMap<TooltipArrowSlot>;
|
|
1310
|
+
}
|
|
1311
|
+
type TooltipArrowProps<T extends ElementType = 'svg'> = PolymorphicProps<'svg', T, TooltipArrowOwnProps>;
|
|
1312
|
+
declare module '../../core/theme' {
|
|
1313
|
+
interface ComponentThemeRegistry {
|
|
1314
|
+
TooltipTrigger: ComponentThemeConfig<TooltipTriggerProps, TooltipTriggerSlot>;
|
|
1315
|
+
TooltipContent: ComponentThemeConfig<TooltipContentProps, TooltipContentSlot>;
|
|
1316
|
+
TooltipHeader: ComponentThemeConfig<TooltipHeaderProps, TooltipHeaderSlot>;
|
|
1317
|
+
TooltipDescription: ComponentThemeConfig<TooltipDescriptionProps, TooltipDescriptionSlot>;
|
|
1318
|
+
TooltipArrow: ComponentThemeConfig<TooltipArrowProps, TooltipArrowSlot>;
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
declare const Tooltip: {
|
|
1323
|
+
({ children, id, open, defaultOpen, onOpenChange, delay, hideDelay, disabled }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
1324
|
+
displayName: string;
|
|
1325
|
+
} & {
|
|
1326
|
+
Provider: {
|
|
1327
|
+
({ children, delayDuration, skipDelayDuration, disableHoverableContent }: TooltipProviderProps): react_jsx_runtime.JSX.Element;
|
|
1328
|
+
displayName: string;
|
|
1329
|
+
};
|
|
1330
|
+
Trigger: {
|
|
1331
|
+
<T extends react.ElementType = "button">(props: TooltipTriggerProps<T>): react_jsx_runtime.JSX.Element;
|
|
1332
|
+
displayName: string;
|
|
1333
|
+
};
|
|
1334
|
+
Content: {
|
|
1335
|
+
<T extends react.ElementType = "div">(props: TooltipContentProps<T>): react_jsx_runtime.JSX.Element;
|
|
1336
|
+
displayName: string;
|
|
1337
|
+
};
|
|
1338
|
+
Header: {
|
|
1339
|
+
<T extends react.ElementType = "div">(props: TooltipHeaderProps<T>): react_jsx_runtime.JSX.Element;
|
|
1340
|
+
displayName: string;
|
|
1341
|
+
};
|
|
1342
|
+
Description: {
|
|
1343
|
+
<T extends react.ElementType = "p">(props: TooltipDescriptionProps<T>): react_jsx_runtime.JSX.Element;
|
|
1344
|
+
displayName: string;
|
|
1345
|
+
};
|
|
1346
|
+
Arrow: {
|
|
1347
|
+
<T extends react.ElementType = "svg">(props: TooltipArrowProps<T>): react_jsx_runtime.JSX.Element;
|
|
1348
|
+
displayName: string;
|
|
1349
|
+
};
|
|
1350
|
+
};
|
|
1351
|
+
|
|
1352
|
+
export { Accordion, type AccordionContentProps, type AccordionCurrentValue, type AccordionHeaderProps, type AccordionHeadingLevel, type AccordionIndicatorProps, type AccordionIndicatorRenderState, type AccordionItemProps, type AccordionMode, type AccordionProps, type AccordionSize, type AccordionTriggerProps, type AccordionType, type AccordionValue, type AccordionValueChangeHandler, Badge, type BadgeAppearance, type BadgeProps, type BadgeSize, type BadgeSlot, type BadgeVariant, Button, type ButtonAppearance, type ButtonProps, type ButtonSize, type ButtonSlot, type ButtonVariant, Checkbox, type CheckboxIndicatorProps, type CheckboxIndicatorRenderProps, type CheckboxProps, type CheckboxRenderProps, type CheckboxSize, type CheckboxSlot, type CheckboxType, type ClassNamesMap, type ColorMode, type ComponentName, type ComponentThemeConfig, type ComponentThemeRegistry, type ComponentsThemeMap, type DataSlotName, Drawer, type DrawerBodyProps, type DrawerCloseButtonProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerOverlayProps, type DrawerPanelProps, type DrawerPlacement, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, Field, type FieldDescriptionProps, type FieldDescriptionSlot, type FieldErrorMessageProps, type FieldErrorMessageSlot, type FieldLabelProps, type FieldLabelSlot, type FieldProps, type FieldSlot, Input, type InputContainerProps, type InputFieldProps, type InputPrefixProps, type InputProps, type InputSize, type InputSuffixProps, Popover, type PopoverArrowProps, type PopoverArrowSlot, type PopoverCloseProps, type PopoverCloseSlot, type PopoverContentProps, type PopoverContentSlot, type PopoverDescriptionProps, type PopoverDescriptionSlot, type PopoverHeaderProps, type PopoverHeaderSlot, type PopoverProps, type PopoverTriggerProps, type PopoverTriggerSlot, type PopoverVariant, Radio, type RadioIndicatorProps, type RadioItemProps, type RadioItemSlot, type RadioLabelProps, type RadioPosition, type RadioProps, type RadioRenderProps, type RadioSize, type RadioSlot, type RadioType, Select, type SelectContentProps, type SelectGroupProps, type SelectItemProps, type SelectItemTextProps, type SelectLabelProps, type SelectProps, type SelectSeparatorProps, type SelectSize, type SelectTriggerProps, type SelectValueProps, type SlotClassNames, type SlotPropsMap, type StateOnlyComponentThemeConfig$1 as StateOnlyComponentThemeConfig, Switch, type SwitchIndicatorProps, type SwitchIndicatorRenderProps, type SwitchProps, type SwitchRenderProps, type SwitchSize, type SwitchSlot, type SwitchVariant, TakeoffSparProvider, type TakeoffSparProviderProps, type TakeoffSparProviderValue, type ThemeValue, Tooltip, type TooltipArrowProps, type TooltipArrowSlot, type TooltipContentProps, type TooltipContentSlot, type TooltipDescriptionProps, type TooltipDescriptionSlot, type TooltipHeaderProps, type TooltipHeaderSlot, type TooltipProps, type TooltipProviderProps, type TooltipTriggerProps, type TooltipTriggerSlot, type TooltipVariant, useComponentTheme, useTheme };
|