@spaced-out/ui-design-system
Version:
Sense UI components library
46 lines • 2.38 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 '../../components/Button';
import type { AnchorType } from '../../components/ButtonDropdown';
import type { MenuOption, MenuOptionsVariant, Virtualization } from '../../components/Menu';
import type { OptionButtonTooltipProps } from '../../components/OptionButton/OptionButton';
type ClassNames = Readonly<{
wrapper?: string;
baseButtonWrapper?: string;
baseButtonIcon?: string;
optionsButtonWrapper?: string;
optionsButtonIcon?: string;
dropdownContainer?: string;
}>;
export interface SimpleOptionButtonRef {
selectedKeys?: Array<string>;
}
export interface SimpleOptionButtonProps extends Omit<ButtonProps, 'classNames' | 'anchorPosition' | 'tooltip' | 'menuSize' | 'options' | 'optionsVariant' | 'allowSearch' | 'selectedKeys' | 'menuVirtualization' | 'header' | 'footer' | 'menuClassNames' | 'showLabelTooltip' | 'allowWrap' | 'onOptionSelect' | 'onButtonClick' | 'onMenuOpen' | 'onMenuClose' | 'resolveLabel' | 'resolveSecondaryLabel' | 'clickAwayRef' | 'testId'> {
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?: React.MouseEventHandler<HTMLButtonElement>;
onMenuOpen?: () => unknown;
onMenuClose?: () => unknown;
resolveLabel?: (option: MenuOption) => string | React.ReactNode;
resolveSecondaryLabel?: (option: MenuOption) => string | React.ReactNode;
clickAwayRef?: React.RefObject<ClickAwayRefType | null>;
testId?: string;
}
export declare const SimpleOptionButton: Flow.AbstractComponent<SimpleOptionButtonProps, SimpleOptionButtonRef>;
export {};
//# sourceMappingURL=SimpleOptionButton.d.ts.map