import * as _yamada_ui_core from '@yamada-ui/core'; import { ThemeProps, HTMLUIProps } from '@yamada-ui/core'; import { PortalProps } from '@yamada-ui/portal'; import { FC, MouseEventHandler, ReactNode } from 'react'; import { SelectIconProps } from './select-icon.js'; import { SelectListProps } from './select-list.js'; import { UseSelectProps } from './use-select.js'; import '@yamada-ui/motion'; import '@yamada-ui/use-descendant'; import '@yamada-ui/form-control'; import '@yamada-ui/popover'; import '@yamada-ui/utils'; import './option.js'; import './use-select-option.js'; import './option-group.js'; import './use-select-option-group.js'; interface MultiSelectOptions { /** * If `true`, display the multi select clear icon. * * @default true */ clearable?: boolean; /** * The custom display value to use. */ component?: FC<{ index: number; label: string; value: string; onRemove: MouseEventHandler; }>; /** * The border color when the input is invalid. */ errorBorderColor?: string; /** * The border color when the input is focused. */ focusBorderColor?: string; /** * The footer of the multi select content element. */ footer?: FC<{ value: string[] | undefined; onClose: () => void; }> | ReactNode; /** * The header of the multi select content element. */ header?: FC<{ value: string[] | undefined; onClose: () => void; }> | ReactNode; /** * If `true`, display the multi select clear icon. * * @default true * * @deprecated Use `clearable` instead. */ isClearable?: boolean; /** * The visual separator between each value. * * @default ',' */ separator?: string; /** * Props for multi select clear icon element. */ clearIconProps?: SelectIconProps; /** * Props for multi select container element. */ containerProps?: Omit; /** * Props for multi select field element. */ fieldProps?: Omit; /** * Props for multi select icon element. */ iconProps?: SelectIconProps; /** * Props for multi select list element. */ listProps?: Omit; /** * Props to be forwarded to the portal component. * * @default '{ disabled: true }' */ portalProps?: Omit; } interface MultiSelectProps extends ThemeProps<"MultiSelect">, Omit, "placeholderInOptions">, MultiSelectOptions { } /** * `MultiSelect` is a component used for allowing users to select multiple values from a list of options. * * @see Docs https://yamada-ui.com/components/forms/multi-select */ declare const MultiSelect: _yamada_ui_core.Component<"div", MultiSelectProps>; interface MultiSelectFieldProps extends HTMLUIProps, Pick { } export { MultiSelect, type MultiSelectProps };