declare global { /** * TODO: Add more specific types instead of using `any` * * Style properties that can be applied to Tonic UI components. * Includes both native CSS properties and styled-system properties. * * @example * // Native CSS properties * * * @example * // Styled-system shorthand properties * * * @example * // The sx prop for custom styles with theme access * */ // eslint-disable-next-line @typescript-eslint/no-explicit-any type StyleProps = Record; /* eslint-disable @typescript-eslint/no-empty-object-type */ /** * A `forwardRef` component that merges `StyleProps`, native element props * (with conflicting keys omitted), custom props, and a ref attribute. * * @template E - The intrinsic element type (e.g. `'div'`, `'button'`). * @template P - Custom component props. * @template [R=HTMLElement] - The ref element type. */ type ForwardRefComponent< E extends React.ElementType, P = {}, R extends Element = HTMLElement, > = React.ForwardRefExoticComponent< StyleProps & Omit, keyof P> & P & React.RefAttributes >; /** * A functional component that merges `StyleProps` with custom props. * Useful for components that don't need `forwardRef` (e.g. providers, containers). * * @template P - Custom component props. */ type StyledFC

= React.FC; /** * Theme token scales returned by `createTheme()` and `useTheme()`. * Represents the theme object structure with nested token values * (e.g. `{ colors: { red: { 600: '#dd1128' } }, space: { '4x': '1rem' } }`). * * This is intentionally separate from `StyleProps` which describes * styled-system props on components (e.g. ``). */ // eslint-disable-next-line @typescript-eslint/no-explicit-any type ThemeScales = Record; } import * as React$1 from 'react'; import React__default from 'react'; export { Box } from '@tonic-ui/react-base'; import * as react_jsx_runtime from 'react/jsx-runtime'; export { SVGIcon } from '@tonic-ui/react-icons'; import * as _popperjs_core from '@popperjs/core'; type AccordionProps = { /** * - A function child can be used intead of a React element. This function is called with the context object. */ children?: React__default.ReactNode | ((context: {}) => React__default.ReactNode); }; /** * @typedef {Object} AccordionProps * @property {React.ReactNode | ((context: {}) => React.ReactNode)} [children] - A function child can be used intead of a React element. This function is called with the context object. */ /** * @type {ForwardRefComponent<'div', AccordionProps>} */ declare const Accordion: ForwardRefComponent<"div", AccordionProps>; type AccordionBodyProps = { /** * - The content of the accordion body. */ children?: React__default.ReactNode; }; /** * @typedef {Object} AccordionBodyProps * @property {React.ReactNode} [children] - The content of the accordion body. */ /** * @type {ForwardRefComponent<'div', AccordionBodyProps>} */ declare const AccordionBody: ForwardRefComponent<"div", AccordionBodyProps>; type AccordionContentProps = { /** * - The content of the accordion. */ children?: React__default.ReactNode; /** * - Props forwarded to the internal transition slot. */ slotProps?: { transition?: object; } | undefined; /** * - Slot components. `slots.transition` replaces the default `Collapse`. */ slots?: { transition?: React__default.ElementType; } | undefined; /** * - **Deprecated.** Use `slots.transition` instead. The component used for the transition. */ TransitionComponent?: React__default.ElementType | undefined; /** * - **Deprecated.** Use `slotProps.transition` instead. Props applied to the transition element. */ TransitionProps?: { appear?: boolean; timeout?: number | { appear?: number; enter?: number; exit?: number; }; } | undefined; }; /** * @typedef {Object} AccordionContentProps * @property {React.ReactNode} [children] - The content of the accordion. * @property {{ transition?: object }} [slotProps] - Props forwarded to the internal transition slot. * @property {{ transition?: React.ElementType }} [slots] - Slot components. `slots.transition` replaces the default `Collapse`. * @property {React.ElementType} [TransitionComponent=Collapse] - **Deprecated.** Use `slots.transition` instead. The component used for the transition. * @property {{ appear?: boolean; timeout?: number | { appear?: number; enter?: number; exit?: number } }} [TransitionProps] - **Deprecated.** Use `slotProps.transition` instead. Props applied to the transition element. */ /** * @type {ForwardRefComponent<'div', AccordionContentProps>} */ declare const AccordionContent: ForwardRefComponent<"div", AccordionContentProps>; type AccordionHeaderProps = { /** * - The content of the accordion header. */ children?: React__default.ReactNode; }; /** * @typedef {Object} AccordionHeaderProps * @property {React.ReactNode} [children] - The content of the accordion header. */ /** * @type {ForwardRefComponent<'button', AccordionHeaderProps>} */ declare const AccordionHeader: ForwardRefComponent<"button", AccordionHeaderProps>; type AccordionItemProps = { /** * - A function child can be used intead of a React element. This function is called with the context object. */ children?: React__default.ReactNode | ((context: { accordionToggleId: string; accordionContentId: string; disabled?: boolean; isExpanded?: boolean; onToggle: () => void; variant?: string; }) => React__default.ReactNode); /** * - Whether the accordion item is disabled. */ disabled?: boolean | undefined; /** * - Whether the accordion item is expanded. */ isExpanded?: boolean | undefined; /** * - Whether the accordion item is expanded by default. */ defaultIsExpanded?: boolean | undefined; /** * - A callback that is called when the accordion item is toggled. */ onToggle?: ((event: { isExpanded: boolean; }) => void) | undefined; }; /** * @typedef {Object} AccordionItemProps * @property {React.ReactNode | ((context: { accordionToggleId: string; accordionContentId: string; disabled?: boolean; isExpanded?: boolean; onToggle: () => void; variant?: string }) => React.ReactNode)} [children] - A function child can be used intead of a React element. This function is called with the context object. * @property {boolean} [disabled] - Whether the accordion item is disabled. * @property {boolean} [isExpanded] - Whether the accordion item is expanded. * @property {boolean} [defaultIsExpanded] - Whether the accordion item is expanded by default. * @property {(event: { isExpanded: boolean }) => void} [onToggle] - A callback that is called when the accordion item is toggled. */ /** * @type {ForwardRefComponent<'div', AccordionItemProps>} */ declare const AccordionItem: ForwardRefComponent<"div", AccordionItemProps>; type AccordionToggleProps = { /** * - A function child can be used instead of a React element. This function is called with the context object containing `getAccordionToggleProps`. */ children?: React__default.ReactNode | ((context: { getAccordionToggleProps: () => React__default.HTMLAttributes & { ref: React__default.RefCallback; }; }) => React__default.ReactNode); }; /** * @typedef {Object} AccordionToggleProps * @property {React.ReactNode | ((context: { getAccordionToggleProps: () => React.HTMLAttributes & { ref: React.RefCallback } }) => React.ReactNode)} [children] - A function child can be used instead of a React element. This function is called with the context object containing `getAccordionToggleProps`. */ /** * @type {ForwardRefComponent<'button', AccordionToggleProps>} */ declare const AccordionToggle: ForwardRefComponent<"button", AccordionToggleProps>; type AccordionToggleIconProps = { /** * - A function child can be used instead of a React element. This function is called with the current transition state ('entering', 'entered', 'exiting', 'exited'), ref, style, and context specific props for a component. */ children?: React__default.ReactNode | ((state: string, props: React__default.HTMLAttributes & { ref: React__default.RefCallback; style: React__default.CSSProperties; }) => React__default.ReactNode); /** * - By default the child component does not perform the enter transition when it first mounts, regardless of the value of `in`. If you want this behavior, set both `appear` and `in` to true. */ appear?: boolean | undefined; /** * - Whether the accordion toggle icon is disabled. */ disabled?: boolean | undefined; /** * - The timing function that describes how intermediate values are calculated during a transition. You may specify a single timing function for all transitions, or individually with an object. */ easing?: string | { enter?: string; exit?: string; } | undefined; /** * - If `true`, the component will transition in. */ in?: boolean | undefined; /** * - If `true`, it will "lazy mount" the component on the first `in={true}`. */ mountOnEnter?: boolean | undefined; /** * - The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object. */ timeout?: number | { appear?: number; enter?: number; exit?: number; } | undefined; /** * - If `true`, it will unmount the child component when `in={false}` and the animation has finished. */ unmountOnExit?: boolean | undefined; }; /** * @typedef {Object} AccordionToggleIconProps * @property {React.ReactNode | ((state: string, props: React.HTMLAttributes & { ref: React.RefCallback; style: React.CSSProperties }) => React.ReactNode)} [children] - A function child can be used instead of a React element. This function is called with the current transition state ('entering', 'entered', 'exiting', 'exited'), ref, style, and context specific props for a component. * @property {boolean} [appear=false] - By default the child component does not perform the enter transition when it first mounts, regardless of the value of `in`. If you want this behavior, set both `appear` and `in` to true. * @property {boolean} [disabled] - Whether the accordion toggle icon is disabled. * @property {string | { enter?: string, exit?: string }} [easing] - The timing function that describes how intermediate values are calculated during a transition. You may specify a single timing function for all transitions, or individually with an object. * @property {boolean} [in] - If `true`, the component will transition in. * @property {boolean} [mountOnEnter] - If `true`, it will "lazy mount" the component on the first `in={true}`. * @property {number | { appear?: number, enter?: number, exit?: number }} [timeout] - The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object. * @property {boolean} [unmountOnExit] - If `true`, it will unmount the child component when `in={false}` and the animation has finished. */ /** * @type {ForwardRefComponent<'div', AccordionToggleIconProps>} */ declare const AccordionToggleIcon: ForwardRefComponent<"div", AccordionToggleIconProps>; type AccordionContextValue = Object; /** * @typedef {Object} AccordionContextValue */ /** * A hook to access the accordion context. * @returns {AccordionContextValue | undefined} The accordion context, or `undefined` if not within an `Accordion`. */ declare function useAccordion(): AccordionContextValue | undefined; type AccordionItemContextValue = { /** * - The id of the accordion toggle. */ accordionToggleId: string; /** * - The id of the accordion content. */ accordionContentId: string; /** * - Whether the accordion item is disabled. */ disabled?: boolean | undefined; /** * - Whether the accordion item is expanded. */ isExpanded?: boolean | undefined; /** * - A callback that is called when the accordion item is toggled. */ onToggle: () => void; /** * - The variant of the accordion. */ variant?: string | undefined; }; /** * @typedef {Object} AccordionItemContextValue * @property {string} accordionToggleId - The id of the accordion toggle. * @property {string} accordionContentId - The id of the accordion content. * @property {boolean} [disabled] - Whether the accordion item is disabled. * @property {boolean} [isExpanded] - Whether the accordion item is expanded. * @property {() => void} onToggle - A callback that is called when the accordion item is toggled. * @property {string} [variant] - The variant of the accordion. */ /** * A hook to access the accordion item context. * @returns {AccordionItemContextValue | undefined} The accordion item context, or `undefined` if not within an `AccordionItem`. */ declare function useAccordionItem(): AccordionItemContextValue | undefined; type AlertProps = { /** * - */ children?: React__default.ReactNode; /** * - A close button will appear on the right side. */ isClosable?: boolean | undefined; /** * - A callback called when the close button is clicked. */ onClose?: (() => void) | undefined; /** * - The variant to use. */ variant?: "solid" | "outline" | undefined; /** * - The severity level to use. */ severity?: "success" | "info" | "warning" | "error" | undefined; /** * - Override the icon displayed before the children. Unless provided, the icon is mapped to the value of the `severity` prop. */ icon?: string | React__default.ReactNode | false; }; /** * @typedef {Object} AlertProps * @property {React.ReactNode} [children] - * @property {boolean} [isClosable] - A close button will appear on the right side. * @property {() => void} [onClose] - A callback called when the close button is clicked. * @property {'solid' | 'outline'} [variant='solid'] - The variant to use. * @property {'success' | 'info' | 'warning' | 'error'} [severity='success'] - The severity level to use. * @property {string | React.ReactNode | false} [icon] - Override the icon displayed before the children. Unless provided, the icon is mapped to the value of the `severity` prop. */ /** * @type {ForwardRefComponent<'div', AlertProps>} */ declare const Alert: ForwardRefComponent<"div", AlertProps>; type AlertCloseButtonProps = { /** * - The content of the close button. */ children?: React__default.ReactNode; }; /** * @typedef {Object} AlertCloseButtonProps * @property {React.ReactNode} [children] - The content of the close button. */ /** * @type {ForwardRefComponent<'button', AlertCloseButtonProps>} */ declare const AlertCloseButton: ForwardRefComponent<"button", AlertCloseButtonProps>; type AlertIconProps = { /** * - The content of the alert icon. */ children?: React__default.ReactNode; }; /** * @typedef {Object} AlertIconProps * @property {React.ReactNode} [children] - The content of the alert icon. */ /** * @type {ForwardRefComponent<'div', AlertIconProps>} */ declare const AlertIcon: ForwardRefComponent<"div", AlertIconProps>; type AlertMessageProps = { /** * - The content of the alert message. */ children?: React__default.ReactNode; }; /** * @typedef {Object} AlertMessageProps * @property {React.ReactNode} [children] - The content of the alert message. */ /** * @type {ForwardRefComponent<'div', AlertMessageProps>} */ declare const AlertMessage: ForwardRefComponent<"div", AlertMessageProps>; type AutocompleteRenderInputParams = { /** * - Hook-managed props for the underlying ``: ref, value, ARIA, and event handlers. Open to extra consumer attributes (e.g. `data-*`). */ inputProps: React__default.InputHTMLAttributes & { ref?: React__default.Ref; [key: string]: unknown; }; /** * - Whether the consumer enabled the clear-button capability. */ isClearable: boolean; /** * - Whether to render the loading indicator. */ isLoading: boolean; /** * - Reset the input and selection (fires `onChange(null)`). Wired into the clear-button slot of `AutocompleteInput` (or invoke directly from a custom input). */ onClearInput: (event?: React__default.SyntheticEvent) => void; /** * - Anchor ref for popper positioning. Spread onto the input wrapper. */ ref: React__default.Ref; }; type AutocompleteProps = { /** * - If `true`, the first option is automatically highlighted whenever the filtered list changes or the popup (re)opens. Pressing `Enter` then commits the top match without arrowing first. */ autoHighlight?: boolean | undefined; /** * - Controls what happens to the input value when the popup closes (blur, click-outside, or Escape) and the typed text differs from the last committed label. `'restore'` reverts to the last committed label; `'clear'` resets to `''` and fires `onChange(null)` so consumers can clear their selection state; `'keep'` leaves it as-is. */ closeBehavior?: "restore" | "clear" | "keep" | undefined; /** * - Initial selected item in uncontrolled mode. Pair with `onChange` to read selection updates without managing `value` externally. The input is seeded with `getItemLabel(defaultValue)`. Ignored when `value` is controlled. */ defaultValue?: any; /** * - Override the default case-insensitive label filter. `getItemLabel` is provided so the filter can stringify items without re-implementing the label resolver. The returned array can also include synthetic items (e.g. `Add "X"`); see the Creatable example for the recipe. */ filterItems?: ((items: any[], state: { inputValue: string; getItemLabel: (item: any) => string; }) => any[]) | undefined; /** * - Map an item to its input-text label. Default: `''` for `null`/`undefined`, the string itself for strings, `item.label ?? item.value ?? ''` for plain objects, otherwise `String(item)`. */ getItemLabel?: ((item: any) => string) | undefined; /** * - Controlled input text. Pair with `onInputChange` to manage the value externally; if you need an initial value, seed your own state. */ inputValue?: string | undefined; /** * - If `true`, enables the clear-button capability. The actual button visibility depends on the input having a value and not being disabled. Custom `renderInput` implementations can wire their own clear UI via `params.onClearInput`. */ isClearable?: boolean | undefined; /** * - When `true`, signals a loading state. Forwarded to `renderInput` (typically swaps the chevron for a spinner) and to `renderContent` so consumers can customize the popup body while loading. */ isLoading?: boolean | undefined; /** * - The list of items available for selection. */ items: any[]; /** * - If `true`, sizes the dropdown list to match the input's `offsetWidth`. */ matchWidth?: boolean | undefined; /** * - Fires when the selection changes. Receives the committed item on click/Enter, or `null` when the input is cleared (clear button click or `closeBehavior="clear"` applying on dismiss/Escape). */ onChange?: ((item: any | null) => void) | undefined; /** * - Fires when the dropdown transitions from open to closed (Escape, item selection, or blur/click-outside). */ onClose?: (() => void) | undefined; /** * - Fires when the highlighted option changes via keyboard navigation or hover. The natural integration point for virtualization (call `listRef.scrollToItem(index)` when `reason === 'keyboard'`). */ onHighlightChange?: ((state: { item: any; index: number; reason: "keyboard" | "mouse"; }) => void) | undefined; /** * - Fires whenever the input value changes — typing, selection commit, clear button, and `closeBehavior`-triggered resets. */ onInputChange?: ((nextValue: string) => void) | undefined; /** * - Fires when the dropdown transitions from closed to open (on every open, including re-opens). Use this to trigger or refresh an API fetch. */ onOpen?: (() => void) | undefined; /** * - Popper placement. */ placement?: "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | undefined; /** * - Render the popover in a portal. */ portalled?: boolean | undefined; /** * - Customize the list content. Default renders the filtered items. Return `null` to hide the popup entirely (no empty Paper background) when there is nothing to show. For custom layouts (e.g. virtualization), use the `AutocompleteItem` component delivered in the args bag and wire each instance with `getItemProps`. */ renderContent?: ((args: { items: any[]; renderItem: (item: any) => React__default.ReactNode; renderItems: (items: any[]) => React__default.ReactNode; getItemProps: (params: { index: number; item: any; }) => object; inputValue: string; isLoading: boolean; AutocompleteItem: React__default.ComponentType; }) => React__default.ReactNode) | undefined; /** * - Render the input. Defaults to `(params) => `. Override to add visual props (e.g. `placeholder`, `error`) or to render a custom-built input that forwards `ref` and `inputProps`. */ renderInput?: ((params: AutocompleteRenderInputParams) => React__default.ReactNode) | undefined; /** * - Customize each item's content. Default mirrors `getItemLabel`: `''` for `null`/`undefined`, the string itself for strings, `item.label ?? item.value ?? ''` for plain objects, otherwise `String(item)`. */ renderItem?: ((item: any, state: { inputValue: string; }) => React__default.ReactNode) | undefined; /** * - If `true`, select the existing input text on focus, letting the user immediately type to replace the previous value. */ selectOnFocus?: boolean | undefined; /** * - Slot components. `slots.root` replaces the root container (defaults to `Box`); `slots.content` replaces the internal ``. */ slots?: { content?: React__default.ElementType; root?: React__default.ElementType; } | undefined; /** * - Slot props resolved via `useSlot`. `slotProps.root` is applied to the root container (merged over the component's own props; `__sx` composes); `slotProps.content` is spread on the internal `` (including its own `slots`/`slotProps` API for popper/transition). Other keys are dropped. */ slotProps?: { content?: { width?: string | number; [key: string]: any; }; root?: object; } | undefined; /** * - Controlled selected item (or `null` for no selection). Pair with `onChange` to manage the value externally. When set, the input automatically syncs to `getItemLabel(value)` on every value change. Pass a referentially stable item (memoize if needed) to avoid spurious sync updates. */ value?: any; }; /** * @typedef {Object} AutocompleteRenderInputParams * @property {React.InputHTMLAttributes & { ref?: React.Ref; [key: string]: unknown }} inputProps - Hook-managed props for the underlying ``: ref, value, ARIA, and event handlers. Open to extra consumer attributes (e.g. `data-*`). * @property {boolean} isClearable - Whether the consumer enabled the clear-button capability. * @property {boolean} isLoading - Whether to render the loading indicator. * @property {(event?: React.SyntheticEvent) => void} onClearInput - Reset the input and selection (fires `onChange(null)`). Wired into the clear-button slot of `AutocompleteInput` (or invoke directly from a custom input). * @property {React.Ref} ref - Anchor ref for popper positioning. Spread onto the input wrapper. */ /** * @typedef {Object} AutocompleteProps * @property {boolean} [autoHighlight=false] - If `true`, the first option is automatically highlighted whenever the filtered list changes or the popup (re)opens. Pressing `Enter` then commits the top match without arrowing first. * @property {'restore' | 'clear' | 'keep'} [closeBehavior='restore'] - Controls what happens to the input value when the popup closes (blur, click-outside, or Escape) and the typed text differs from the last committed label. `'restore'` reverts to the last committed label; `'clear'` resets to `''` and fires `onChange(null)` so consumers can clear their selection state; `'keep'` leaves it as-is. * @property {any} [defaultValue=null] - Initial selected item in uncontrolled mode. Pair with `onChange` to read selection updates without managing `value` externally. The input is seeded with `getItemLabel(defaultValue)`. Ignored when `value` is controlled. * @property {(items: any[], state: { inputValue: string; getItemLabel: (item: any) => string }) => any[]} [filterItems] - Override the default case-insensitive label filter. `getItemLabel` is provided so the filter can stringify items without re-implementing the label resolver. The returned array can also include synthetic items (e.g. `Add "X"`); see the Creatable example for the recipe. * @property {(item: any) => string} [getItemLabel] - Map an item to its input-text label. Default: `''` for `null`/`undefined`, the string itself for strings, `item.label ?? item.value ?? ''` for plain objects, otherwise `String(item)`. * @property {string} [inputValue] - Controlled input text. Pair with `onInputChange` to manage the value externally; if you need an initial value, seed your own state. * @property {boolean} [isClearable=false] - If `true`, enables the clear-button capability. The actual button visibility depends on the input having a value and not being disabled. Custom `renderInput` implementations can wire their own clear UI via `params.onClearInput`. * @property {boolean} [isLoading=false] - When `true`, signals a loading state. Forwarded to `renderInput` (typically swaps the chevron for a spinner) and to `renderContent` so consumers can customize the popup body while loading. * @property {any[]} items - The list of items available for selection. * @property {boolean} [matchWidth=false] - If `true`, sizes the dropdown list to match the input's `offsetWidth`. * @property {(item: any | null) => void} [onChange] - Fires when the selection changes. Receives the committed item on click/Enter, or `null` when the input is cleared (clear button click or `closeBehavior="clear"` applying on dismiss/Escape). * @property {() => void} [onClose] - Fires when the dropdown transitions from open to closed (Escape, item selection, or blur/click-outside). * @property {(state: { item: any; index: number; reason: 'keyboard' | 'mouse' }) => void} [onHighlightChange] - Fires when the highlighted option changes via keyboard navigation or hover. The natural integration point for virtualization (call `listRef.scrollToItem(index)` when `reason === 'keyboard'`). * @property {(nextValue: string) => void} [onInputChange] - Fires whenever the input value changes — typing, selection commit, clear button, and `closeBehavior`-triggered resets. * @property {() => void} [onOpen] - Fires when the dropdown transitions from closed to open (on every open, including re-opens). Use this to trigger or refresh an API fetch. * @property {'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'} [placement='bottom-start'] - Popper placement. * @property {boolean} [portalled=false] - Render the popover in a portal. * @property {(args: { items: any[]; renderItem: (item: any) => React.ReactNode; renderItems: (items: any[]) => React.ReactNode; getItemProps: (params: { index: number; item: any }) => object; inputValue: string; isLoading: boolean; AutocompleteItem: React.ComponentType }) => React.ReactNode} [renderContent] - Customize the list content. Default renders the filtered items. Return `null` to hide the popup entirely (no empty Paper background) when there is nothing to show. For custom layouts (e.g. virtualization), use the `AutocompleteItem` component delivered in the args bag and wire each instance with `getItemProps`. * @property {(params: AutocompleteRenderInputParams) => React.ReactNode} [renderInput] - Render the input. Defaults to `(params) => `. Override to add visual props (e.g. `placeholder`, `error`) or to render a custom-built input that forwards `ref` and `inputProps`. * @property {(item: any, state: { inputValue: string }) => React.ReactNode} [renderItem] - Customize each item's content. Default mirrors `getItemLabel`: `''` for `null`/`undefined`, the string itself for strings, `item.label ?? item.value ?? ''` for plain objects, otherwise `String(item)`. * @property {boolean} [selectOnFocus=false] - If `true`, select the existing input text on focus, letting the user immediately type to replace the previous value. * @property {{ content?: React.ElementType, root?: React.ElementType }} [slots] - Slot components. `slots.root` replaces the root container (defaults to `Box`); `slots.content` replaces the internal ``. * @property {{ content?: { width?: string | number; [key: string]: any }, root?: object }} [slotProps] - Slot props resolved via `useSlot`. `slotProps.root` is applied to the root container (merged over the component's own props; `__sx` composes); `slotProps.content` is spread on the internal `` (including its own `slots`/`slotProps` API for popper/transition). Other keys are dropped. * @property {any} [value] - Controlled selected item (or `null` for no selection). Pair with `onChange` to manage the value externally. When set, the input automatically syncs to `getItemLabel(value)` on every value change. Pass a referentially stable item (memoize if needed) to avoid spurious sync updates. */ /** * @type {ForwardRefComponent<'div', AutocompleteProps>} */ declare const Autocomplete: ForwardRefComponent<"div", AutocompleteProps>; type AutocompleteInputProps = { /** * - Focuses the underlying `` element on mount. */ autoFocus?: boolean | undefined; /** * - Disables the input and prevents user interactions. */ disabled?: boolean | undefined; /** * - If `true`, the input is displayed in error state. */ error?: boolean | undefined; /** * - Props applied to the underlying `` element. Hook-managed ARIA/ref/value props flow in via `renderInput` params; consumers may merge additional attributes (e.g. `data-*`). */ inputProps?: (React__default.InputHTMLAttributes & { [key: string]: unknown; }) | undefined; /** * - If `true`, enables the clear-button capability. The actual button visibility depends on the input having a value and not being disabled. */ isClearable?: boolean | undefined; /** * - If `true`, the clear button is replaced by a loading spinner. */ isLoading?: boolean | undefined; /** * - `name` attribute forwarded to the underlying `` element. */ name?: string | undefined; /** * - Callback fired when the clear button is clicked. */ onClearInput?: ((event?: React__default.SyntheticEvent) => void) | undefined; /** * - Placeholder text forwarded to the underlying `` element. */ placeholder?: string | undefined; /** * - Marks the underlying `` element as required. */ required?: boolean | undefined; }; /** * @typedef {Object} AutocompleteInputProps * @property {boolean} [autoFocus] - Focuses the underlying `` element on mount. * @property {boolean} [disabled] - Disables the input and prevents user interactions. * @property {boolean} [error] - If `true`, the input is displayed in error state. * @property {React.InputHTMLAttributes & { [key: string]: unknown }} [inputProps] - Props applied to the underlying `` element. Hook-managed ARIA/ref/value props flow in via `renderInput` params; consumers may merge additional attributes (e.g. `data-*`). * @property {boolean} [isClearable=false] - If `true`, enables the clear-button capability. The actual button visibility depends on the input having a value and not being disabled. * @property {boolean} [isLoading=false] - If `true`, the clear button is replaced by a loading spinner. * @property {string} [name] - `name` attribute forwarded to the underlying `` element. * @property {(event?: React.SyntheticEvent) => void} [onClearInput] - Callback fired when the clear button is clicked. * @property {string} [placeholder] - Placeholder text forwarded to the underlying `` element. * @property {boolean} [required] - Marks the underlying `` element as required. */ /** * @type {ForwardRefComponent<'div', AutocompleteInputProps>} */ declare const AutocompleteInput: ForwardRefComponent<"div", AutocompleteInputProps>; type BadgeProps = { /** * - */ children?: React__default.ReactNode; /** * - The badge content. */ badgeContent?: React__default.ReactNode | number | string; /** * - Whether the badge is invisible. */ isInvisible?: boolean | undefined; /** * - The placement of the badge. */ placement?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined; /** * - */ variant?: "solid" | "dot" | undefined; }; /** * @typedef {Object} BadgeProps * @property {React.ReactNode} [children] - * @property {React.ReactNode | number | string} [badgeContent] - The badge content. * @property {boolean} [isInvisible] - Whether the badge is invisible. * @property {'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'} [placement='top-right'] - The placement of the badge. * @property {'solid' | 'dot'} [variant='solid'] - */ /** * @type {ForwardRefComponent<'div', BadgeProps>} */ declare const Badge: ForwardRefComponent<"div", BadgeProps>; type ButtonProps = { children?: React__default.ReactNode; /** * - Disables the button and prevents user interactions. */ disabled?: boolean | undefined; /** * - Marks the button as selected and prevents interactions. */ selected?: boolean | undefined; /** * - The size of the button. */ size?: "sm" | "md" | "lg" | undefined; /** * - The * variant of the button style to use. */ variant?: "default" | "emphasis" | "primary" | "secondary" | "ghost" | undefined; }; /** * @typedef {Object} ButtonProps * @property {React.ReactNode} [children] * @property {boolean} [disabled] - Disables the button and prevents user interactions. * @property {boolean} [selected] - Marks the button as selected and prevents interactions. * @property {'sm' | 'md' | 'lg'} [size='md'] - The size of the button. * @property {'emphasis' | 'primary' | 'default' | 'secondary' | 'ghost'} [variant='default'] - The variant of the button style to use. */ /** * @type {ForwardRefComponent<'button', ButtonProps>} */ declare const Button: ForwardRefComponent<"button", ButtonProps>; type ButtonBaseProps = { /** * - */ children?: React__default.ReactNode; /** * - The button will be disabled. This sets `aria-disabled=true` and you can style this state by passing the `_disabled` prop. */ disabled?: boolean | undefined; }; /** * `ButtonBase` does not have appearance settings including default color, padding, outline, and border */ /** * @typedef {Object} ButtonBaseProps * @property {React.ReactNode} [children] - * @property {boolean} [disabled] - The button will be disabled. This sets `aria-disabled=true` and you can style this state by passing the `_disabled` prop. */ /** * @type {ForwardRefComponent<'button', ButtonBaseProps>} */ declare const ButtonBase: ForwardRefComponent<"button", ButtonBaseProps>; type ButtonGroupProps = { /** * - A function child can be used intead of a React element. This function is called with the context object. */ children?: React__default.ReactNode | ((context: { disabled?: boolean; orientation: "horizontal" | "vertical"; size: "sm" | "md" | "lg"; variant: "emphasis" | "primary" | "default" | "secondary" | "ghost"; }) => React__default.ReactNode); /** * - All buttons will be disabled. */ disabled?: boolean | undefined; /** * - The orientation of the button group. */ orientation?: "horizontal" | "vertical" | undefined; /** * - The size of the button group. */ size?: "sm" | "md" | "lg" | undefined; /** * - The variant of the button group. */ variant?: "default" | "emphasis" | "primary" | "secondary" | "ghost" | undefined; }; /** * @typedef {Object} ButtonGroupProps * @property {React.ReactNode | ((context: { disabled?: boolean; orientation: 'horizontal' | 'vertical'; size: 'sm' | 'md' | 'lg'; variant: 'emphasis' | 'primary' | 'default' | 'secondary' | 'ghost' }) => React.ReactNode)} [children] - A function child can be used intead of a React element. This function is called with the context object. * @property {boolean} [disabled] - All buttons will be disabled. * @property {'horizontal' | 'vertical'} [orientation='horizontal'] - The orientation of the button group. * @property {'sm' | 'md' | 'lg'} [size='md'] - The size of the button group. * @property {'emphasis' | 'primary' | 'default' | 'secondary' | 'ghost'} [variant='default'] - The variant of the button group. */ /** * @type {ForwardRefComponent<'div', ButtonGroupProps>} */ declare const ButtonGroup: ForwardRefComponent<"div", ButtonGroupProps>; type ButtonLinkProps = { /** * - The content to be rendered within the button link. */ children?: React__default.ReactNode; /** * - If `true`, the button link will be disabled. This sets `aria-disabled=true` and you can style this state by using the `_disabled` prop. */ disabled?: boolean | undefined; /** * - A callback called when the button link is clicked. */ onClick?: React__default.MouseEventHandler | undefined; }; /** * @typedef {Object} ButtonLinkProps * @property {React.ReactNode} [children] - The content to be rendered within the button link. * @property {boolean} [disabled] - If `true`, the button link will be disabled. This sets `aria-disabled=true` and you can style this state by using the `_disabled` prop. * @property {React.MouseEventHandler} [onClick] - A callback called when the button link is clicked. */ /** * @type {ForwardRefComponent<'a', ButtonLinkProps>} */ declare const ButtonLink: ForwardRefComponent<"a", ButtonLinkProps>; type ButtonGroupContextValue = { /** * - Whether all buttons are disabled. */ disabled?: boolean | undefined; /** * - The orientation of the button group. */ orientation: "horizontal" | "vertical"; /** * - The size of the button group. */ size: "sm" | "md" | "lg"; /** * - The variant of the button group. */ variant: "emphasis" | "primary" | "default" | "secondary" | "ghost"; }; /** * @typedef {Object} ButtonGroupContextValue * @property {boolean} [disabled] - Whether all buttons are disabled. * @property {'horizontal' | 'vertical'} orientation - The orientation of the button group. * @property {'sm' | 'md' | 'lg'} size - The size of the button group. * @property {'emphasis' | 'primary' | 'default' | 'secondary' | 'ghost'} variant - The variant of the button group. */ /** * A hook to access the button group context. * @returns {ButtonGroupContextValue | undefined} The button group context, or `undefined` if not within a `ButtonGroup`. */ declare function useButtonGroup(): ButtonGroupContextValue | undefined; type ButtonBoxProps = { /** * - The content of the button box. */ children?: React__default.ReactNode; /** * - If true, the control is disabled. This sets `aria-disabled=true` and you can style this state by passing the `_disabled` prop. */ disabled?: boolean | undefined; /** * - Callback fired when the control is activated by a mouse click, the Enter key, or the Space key. */ onClick?: React__default.MouseEventHandler | undefined; }; /** * `ButtonBox` looks and behaves like a button but renders a non-button element * (`

`). Use it in contexts where a native `