import { ResponsiveValue } from '@chakra-ui/react'; type InfoSelectProps = { /** * Either a render function accepting an item, and returning a , * or a list of s. * * Render function example: * ```tsx * * ``` * * For this to work, the members in `items` need either a `key` * or an `id` property. * * List of s example: * ```tsx * * ``` **/ children: any; /** * The items to render * * If you have a dynamic list of items you want to display, you should use this prop instead of mapping them out. This is a performance optimization. * * You can render each item in a render function, passed in as `children`: * * ```tsx * * ``` */ items: any[]; /** Callback for when something is selected */ onChange?: (value: string | number) => void; value?: string | number; defaultValue?: string | number; /** Controlled open state * * Useful if you want to control the open state from outside the component. */ isOpen?: boolean; /** Callback for when the open state of the select box changes. * * Useful if you want to control the open state from outside the component. */ onOpenChange?: (isOpen: boolean) => void; /** The label describing the choice */ label: string; /** The name of the select element */ name?: string; /** * What's shown if nothing is selected. * * Defaults to a localized version of "choose an option" */ placeholder?: string; /** The width of the select box. * * Defaults to the width of the selected content */ width?: ResponsiveValue; isDisabled?: boolean; /** A list of disabled keys. * * ```tsx * * ``` **/ disabledKeys?: string[]; }; /** * A styled select component. * * This select component lets you choose between a list of options. * Compared to the NativeSelect component, the InfoSelect component lets you style the options however you'd like – including both text, icons and other elements. * * ```tsx * * Blue * Yellow * Green * * ``` * * Alternatvely, you can pass the items into the `items` prop, and create a render function for the items. * * ```tsx * * {(item) => ( * * {item.label} * * )} * * ``` * * @see https://spor.vy.no/komponenter/info-select */ declare const InfoSelect: ({ placeholder, width, onChange, value, defaultValue, ...props }: InfoSelectProps) => JSX.Element; export { InfoSelect };