@spaced-out/ui-design-system
Version:
Sense UI components library
46 lines • 1.94 kB
TypeScript
import * as React from 'react';
import type { Flow } from 'flow-to-typescript-codemod';
import type { MenuClassNames, MenuLabelTooltip } from '../../types/menu';
import type { ClickAwayRefType } from '../../utils/click-away';
import type { ButtonProps } from '../Button';
import type { AnchorType } from '../ButtonDropdown';
import type { MenuOption, MenuOptionsVariant, Virtualization } from '../Menu';
import type { OptionButtonTooltipProps } from './OptionButton';
type ClassNames = Readonly<{
wrapper?: string;
baseButtonWrapper?: string;
baseButtonIcon?: string;
optionsButtonWrapper?: string;
optionsButtonIcon?: string;
dropdownContainer?: string;
}>;
export type SimpleOptionButtonRef = {
selectedKeys?: Array<string>;
};
export type SimpleOptionButtonProps = // Input props
ButtonProps & {
classNames?: ClassNames;
anchorPosition?: AnchorType;
tooltip?: OptionButtonTooltipProps;
menuSize?: 'small' | 'medium';
options?: Array<MenuOption>;
optionsVariant?: MenuOptionsVariant;
allowSearch?: boolean;
selectedKeys?: Array<string>;
menuVirtualization?: Virtualization;
header?: React.ReactNode;
footer?: React.ReactNode;
menuClassNames?: MenuClassNames;
showLabelTooltip?: MenuLabelTooltip;
allowWrap?: boolean;
onOptionSelect?: (option: MenuOption, arg2?: React.SyntheticEvent<HTMLElement> | null | undefined) => unknown;
onButtonClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
onMenuOpen?: () => unknown;
onMenuClose?: () => unknown;
resolveLabel?: (option: MenuOption) => string | React.ReactNode;
resolveSecondaryLabel?: (option: MenuOption) => string | React.ReactNode;
clickAwayRef?: ClickAwayRefType;
};
export declare const SimpleOptionButton: Flow.AbstractComponent<SimpleOptionButtonProps, SimpleOptionButtonRef>;
export {};
//# sourceMappingURL=SimpleOptionButton.d.ts.map