@spaced-out/ui-design-system
Version:
Sense UI components library
62 lines • 2.24 kB
TypeScript
import * as React from 'react';
import type { ClickAwayRefType } from '../../utils/click-away/click-away';
import type { InputProps } from '../../components/Input';
import type { BaseMenuProps } from '../../components/Menu';
import type { ResolveTokenValueProps } from '../../components/TokenListInput/TokenValueChips';
import type { ElevationType } from '../../components/Tooltip';
export declare const DEFAULT_LIMIT_VALUE = 100;
type ClassNames = Readonly<{
wrapper?: string;
box?: string;
input?: string;
}>;
export interface TokenListMenuOptionTypes<T> {
options?: Array<T>;
groupTitleOptions?: Array<TokenGroupTitleOption<T>>;
resolveLabel?: (option: T) => string;
}
export interface TokenGroupTitleOption<T> {
groupTitle?: React.ReactNode;
options?: Array<T>;
showLineDivider?: boolean;
}
export interface TokenListMenuProps<T> extends Omit<BaseMenuProps, 'resolveLabel'>, TokenListMenuOptionTypes<T> {
resolveLabel?: (option: T) => string;
}
export interface Props<T> {
classNames?: ClassNames;
clickAwayRef?: React.RefObject<ClickAwayRefType | null>;
disabled?: boolean;
error?: boolean;
errorText?: string;
focusOnMount?: boolean;
helperText?: string;
inputValue?: string;
inputPlaceholder?: string;
limit?: number;
isLoading?: boolean;
locked?: boolean;
onChange: (values: Array<T>) => unknown;
onInputBlur?: React.FocusEventHandler<HTMLInputElement>;
onInputChange?: (value: string) => unknown;
onInputFocus?: React.FocusEventHandler<HTMLInputElement>;
placeholder?: string;
size?: 'medium' | 'small';
tabIndex?: number;
values: Array<T>;
menu?: TokenListMenuProps<T>;
onMenuOpen?: () => unknown;
onMenuClose?: () => unknown;
resolveTokenValue?: (arg1: ResolveTokenValueProps<T>) => React.ReactNode;
inputProps?: Omit<InputProps, 'size'>;
elevation?: ElevationType;
testId?: string;
inputRef?: React.RefObject<HTMLInputElement | null>;
actionsSlot?: React.ReactNode;
}
export declare function TokenListInput<T>(props: Props<T>): React.JSX.Element;
export declare namespace TokenListInput {
var displayName: string;
}
export {};
//# sourceMappingURL=TokenListInput.d.ts.map