UNPKG

@snowball-tech/fractal

Version:

Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS

67 lines (64 loc) 2.65 kB
import { DropdownMenuContentProps } from '@radix-ui/react-dropdown-menu'; import { ReactNode, ForwardedRef, ChangeEvent, AllHTMLAttributes } from 'react'; import { CombinedRefs as CombinedRefs$1, DropdownItemGroupProps, DropdownItemProps } from '../Dropdown/Dropdown.types.js'; import { InputTextProps } from '../InputText/InputText.types.js'; import '../InputRadio/InputRadio.types.js'; import '@radix-ui/react-radio-group'; import '../InputRadio/InputRadio.constants.js'; import '../Paper/Paper.types.js'; import '../constants-QFINMz1u.js'; import '../Paper/Paper.constants.js'; import '../Typography/Typography.constants.js'; import '../Button/Button.types.js'; import '@snowball-tech/design-tokens/dist/web/typescript/constants'; import '../Button/Button.constants.js'; type CombinedRefs = { container: HTMLDivElement | null; dropdown: CombinedRefs$1 | null; input: HTMLInputElement | null; }; interface AutocompleteProps extends Omit<InputTextProps, 'onBlur' | 'onSelect'> { autoFocus?: boolean; children?: ReactNode; defaultValue?: number | string; description?: ReactNode; disabled?: boolean; dropdown?: Partial<{ className?: string; ref?: ForwardedRef<HTMLDivElement | null>; } & Omit<DropdownMenuContentProps, 'asChild'>>; error?: Error | ReactNode; fullWidth?: boolean; id?: string; label?: ReactNode; labelElement?: keyof HTMLElementTagNameMap; name?: string; open?: boolean; placeholder?: string; prefix?: ReactNode; readOnly?: boolean; required?: boolean; success?: ReactNode; suffix?: ReactNode; value?: number | string; onBlur?: () => void; onChange?: (event: ChangeEvent<HTMLInputElement> | null, newValue: string) => void; onClose?: () => void; onInputChange?: (event: ChangeEvent<HTMLInputElement>, newValue: string) => void; onOpen?: () => void; } interface AutocompleteLoadingProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'label'> { children?: ReactNode; icon?: boolean | ReactNode; label?: ReactNode; spin?: boolean; } interface AutocompleteEmptyProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'label'> { children?: ReactNode; label?: ReactNode; labelElement?: keyof HTMLElementTagNameMap; } type AutocompleteItemProps = DropdownItemProps; type AutocompleteItemGroupProps = DropdownItemGroupProps; type AutocompleteItemSeparatorProps = AllHTMLAttributes<HTMLDivElement>; export type { AutocompleteEmptyProps, AutocompleteItemGroupProps, AutocompleteItemProps, AutocompleteItemSeparatorProps, AutocompleteLoadingProps, AutocompleteProps, CombinedRefs };