@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
37 lines (36 loc) • 1.64 kB
TypeScript
import { HtmlProps, IComponentProps } from '@docsvision/web/core/component';
import { ReactNode } from 'react';
import { DropdownButtonView } from '@docsvision/webclient/Helpers/DropdownButton/DropdownButtonView';
import { ButtonColorModes } from '@docsvision/web/components/form/button';
import { DropdownMenuProps } from '@docsvision/webclient/Helpers/DropdownButton/components/DropdownMenu';
export interface IDropdownButtonListItem {
key: string;
content: string | (() => ReactNode);
onClick?: () => void;
default?: boolean;
}
declare type DropdownHtmlProps = DropdownMenuProps & HtmlProps.div;
/** Свойства {@see DropdownButton} */
export interface DropdownButtonProps extends DropdownHtmlProps, IComponentProps<any, DropdownButtonView> {
/** Текст кнопки */
buttonText: string;
/** Иконка кнопки */
iconClass?: string;
/** Цвет кнопки */
colorMode?: ButtonColorModes;
/** Растягивать ли кнопку */
stretchWidth?: boolean;
/** Список */
list: IDropdownButtonListItem[];
/** Открыть ли список */
isOpen: boolean;
/** Закрытие списка */
onCloseList: () => void;
/** Переключение режимов: открыть/закрыть */
onToggleList: () => void;
/** Доступ к классам поповера */
popoverCustomClass?: string;
}
/** Предоставляет возможность отобразить выпадающий список */
export declare const DropdownButton: (props: DropdownButtonProps) => JSX.Element;
export {};