import { ReactElement } from "react"; import { Nullable } from "../../Foundations/utils"; interface BlokSelectProps { /** * Unique id of the SelectMenu. */ id: string; /** * Different options that menu provides. */ options: Array; /** * OnChange function to propagate the new item back to the parent. */ onChange: (item: K) => void | Promise | unknown; /** * The current value of the SelectMenu. */ value?: T; /** * A function that maps the item to a label. */ labelMapper?: (item: T) => string; /** * A function that maps the item to a value. */ valueMapper?: (item: T) => string; /** * Callback that returns the value of the selected item. */ returnValue?: (item: T) => K; /** * Placeholder in case no value is found. */ placeholder?: string; /** * Indicates if an empty value should be selectable. */ emptyValueSelectable?: boolean; /** * Custom css class name to overrule some styling. */ className?: string; /** * IsReadOnly mode for SelectMenu component. */ isReadOnly?: boolean; /** * The minimum amount of items to have before searchbox is shown. */ searchBoxMinAmountOfItems?: number; /** * An optional tooltip that is shown on hover. */ tooltip?: string; /** * Indicates if both the icon and text for selected value should be displayed (e.g. search grouping column and row dropdowns). */ showIconAndText?: boolean; /** * Indicates if the icons on the dropdown items should be hidden (e.g. search grouping column and row dropdown values). */ hideItemIcons?: boolean; /** * Indicates if the select menu button should be full width (to align it with text boxes that are also full width). */ isFullWidth?: boolean; /** * Used to link a label that can focus the select menu */ accessibilityId?: string; /** * An optional max height for the dropdown. */ maxHeight?: number; /** * An optional array of items to disable. */ itemsToDisable?: Array; /** * Indicates whether the dropdown should be open on initial render. Defaults to false. */ openMenuByDefault?: boolean; /** * Indicates whether the dropdown should be rendered when there is no option available. */ showEmptyDropdown?: boolean; /** * The message to show when no results are found. */ noneLabel?: string; /** * The message to show when no results are found. */ noResultsText?: string; /** * Clear message to show when hovering over the clear button. */ clearMessage: string; /** * Search message to show when hovering over the search button. */ searchMessage: string; /** * Indicates whether the select is in a loading state. */ isLoading?: boolean; /** * Loading text to show when in loading state. */ loadingText?: string; } declare function BlokSelect({ id, options, onChange: onChange_, value, labelMapper, valueMapper, returnValue, placeholder, emptyValueSelectable, className, isReadOnly, searchBoxMinAmountOfItems, tooltip, showIconAndText, hideItemIcons, isFullWidth, accessibilityId, maxHeight, itemsToDisable, openMenuByDefault, showEmptyDropdown, noneLabel, noResultsText, clearMessage, searchMessage, isLoading, loadingText, }: BlokSelectProps): Nullable; export { BlokSelect }; export type { BlokSelectProps }; //# sourceMappingURL=BlokSelect.d.ts.map