watercolor-ui
Version:
A modern minimalist cross-framework component library
78 lines • 2.93 kB
TypeScript
/**
* 验证Dropdown放置位置
* @param {string} placement - 要验证的放置位置
* @returns {boolean} 是否为有效放置位置
*/
export function isValidPlacement(placement: string): boolean;
/**
* 验证Dropdown尺寸
* @param {string} size - 要验证的尺寸
* @returns {boolean} 是否为有效尺寸
*/
export function isValidSize(size: string): boolean;
/**
* 验证触发类型
* @param {string} trigger - 要验证的触发类型
* @returns {boolean} 是否为有效触发类型
*/
export function isValidTrigger(trigger: string): boolean;
/**
* 验证变体
* @param {string} variant - 要验证的变体
* @returns {boolean} 是否为有效变体
*/
export function isValidVariant(variant: string): boolean;
/**
* 处理点击外部事件
* @param {Event} event - 点击事件
* @param {HTMLElement} dropdownRef - Dropdown引用
* @param {Function} onClose - 关闭回调
*/
export function handleClickOutside(event: Event, dropdownRef: HTMLElement, onClose: Function): void;
/**
* 获取菜单位置样式
* @param {string} placement - 放置位置
* @returns {Object} 位置样式对象
*/
export function getMenuPositionStyles(placement: string): Object;
/**
* 过滤和处理菜单项
* @param {Array} items - 原始项目数组
* @returns {Array} 处理后的项目数组
*/
export function processMenuItems(items: any[]): any[];
/**
* 键盘导航处理
* @param {Event} event - 键盘事件
* @param {Array} items - 菜单项
* @param {number} activeIndex - 当前活跃索引
* @param {Function} setActiveIndex - 设置活跃索引
* @param {Function} onSelect - 选择回调
* @param {Function} onClose - 关闭回调
*/
export function handleKeyNavigation(event: Event, items: any[], activeIndex: number, setActiveIndex: Function, onSelect: Function, onClose: Function): void;
/**
* 有效的Dropdown放置位置
*/
export const validPlacements: string[];
/**
* 有效的Dropdown尺寸
*/
export const validSizes: string[];
/**
* 有效的Dropdown触发类型
*/
export const validTriggers: string[];
/**
* 有效的Dropdown变体
*/
export const validVariants: string[];
export function getDropdownClasses({ size, variant, disabled, className }: Object): Array<string>;
export function getDropdownMenuClasses(placement: string, variantClass: any): Array<string>;
export function getDropdownButtonClasses({ disabled }: Object): Array<string>;
export function getDropdownItemClasses(item: Object): Array<string>;
export function getArrowClasses(isOpen: boolean): Array<string>;
export function handleDropdownToggle(isOpen: boolean, disabled: boolean, setIsOpen: Function, onOpen: Function, onClose: Function): void;
export function handleItemClick(item: Object, index: number, onSelect: Function, setIsOpen: Function, onClose: Function): void;
export function createOutsideClickListener(callback: Function): Object;
//# sourceMappingURL=utils.d.ts.map