UNPKG

watercolor-ui

Version:

A modern minimalist cross-framework component library

195 lines 6.37 kB
/** * 验证评分值 * @param {number} value - 评分值 * @param {number} max - 最大评分 * @param {number} min - 最小评分 * @returns {boolean} 是否有效 */ export function validateRating(value: number, max?: number, min?: number): boolean; /** * 规范化评分值 * @param {number} value - 评分值 * @param {number} max - 最大评分 * @param {number} min - 最小评分 * @param {number} step - 步长 * @returns {number} 规范化后的值 */ export function normalizeRating(value: number, max?: number, min?: number, step?: number): number; /** * 验证评分配置 * @param {Object} config - 评分配置 * @returns {Object} 验证结果 */ export function validateRatingConfig(config?: Object): Object; /** * 生成评分项数组 * @param {number} max - 最大评分 * @param {number} value - 当前值 * @param {number} hovered - 悬停值 * @returns {Array} 评分项数组 */ export function generateRatingItems(max?: number, value?: number, hovered?: number): any[]; /** * 计算精确评分的填充百分比 * @param {number} value - 当前值 * @param {number} itemIndex - 项目索引 * @returns {number} 填充百分比 (0-100) */ export function calculateFillPercentage(value: number, itemIndex: number): number; /** * 从鼠标位置计算评分值 * @param {MouseEvent} event - 鼠标事件 * @param {HTMLElement} container - 容器元素 * @param {number} max - 最大评分 * @param {boolean} allowHalf - 是否允许半星 * @returns {number} 计算出的评分值 */ export function calculateRatingFromPosition(event: MouseEvent, container: HTMLElement, max?: number, allowHalf?: boolean): number; /** * 生成评分容器类名 * @param {Object} options - 选项 * @returns {string} 类名字符串 */ export function getRatingClasses(options?: Object): string; /** * 生成评分项类名 * @param {Object} options - 选项 * @returns {string} 类名字符串 */ export function getRatingItemClasses(options?: Object): string; /** * 获取评分图标 * @param {string} iconType - 图标类型 * @param {boolean} filled - 是否填充 * @returns {string} 图标字符 */ export function getRatingIcon(iconType?: string, filled?: boolean): string; /** * 创建自定义图标元素 * @param {string} iconName - 图标名称 * @param {boolean} filled - 是否填充 * @returns {string} SVG 图标 HTML */ export function createCustomIcon(iconName: string, filled?: boolean): string; /** * 创建评分点击处理器 * @param {Function} onChange - 变化回调 * @param {Object} options - 选项 * @returns {Function} 点击处理器 */ export function createRatingClickHandler(onChange: Function, options?: Object): Function; /** * 创建评分悬停处理器 * @param {Function} onHover - 悬停回调 * @param {Object} options - 选项 * @returns {Object} 悬停处理器对象 */ export function createRatingHoverHandlers(onHover: Function, options?: Object): Object; /** * 创建键盘导航处理器 * @param {Function} onChange - 变化回调 * @param {Object} options - 选项 * @returns {Function} 键盘处理器 */ export function createRatingKeyboardHandler(onChange: Function, options?: Object): Function; /** * 格式化评分显示 * @param {number} value - 评分值 * @param {number} max - 最大评分 * @param {Object} options - 格式化选项 * @returns {string} 格式化后的字符串 */ export function formatRating(value: number, max?: number, options?: Object): string; /** * 格式化评分描述 * @param {number} value - 评分值 * @param {number} max - 最大评分 * @param {Array} labels - 描述标签数组 * @returns {string} 描述文本 */ export function formatRatingDescription(value: number, max?: number, labels?: any[]): string; /** * 生成可访问性属性 * @param {number} value - 当前值 * @param {number} max - 最大值 * @param {boolean} readonly - 是否只读 * @returns {Object} 可访问性属性 */ export function getRatingAccessibilityProps(value: number, max?: number, readonly?: boolean): Object; /** * 生成评分项可访问性属性 * @param {number} itemValue - 项目值 * @param {number} currentValue - 当前值 * @param {boolean} readonly - 是否只读 * @returns {Object} 可访问性属性 */ export function getRatingItemAccessibilityProps(itemValue: number, currentValue: number, readonly?: boolean): Object; /** * 防抖函数 * @param {Function} func - 要防抖的函数 * @param {number} wait - 等待时间 * @returns {Function} 防抖后的函数 */ export function debounce(func: Function, wait: number): Function; /** * 节流函数 * @param {Function} func - 要节流的函数 * @param {number} limit - 限制时间 * @returns {Function} 节流后的函数 */ export function throttle(func: Function, limit: number): Function; export namespace RATING_SIZES { let SM: string; let MD: string; let LG: string; let XL: string; } export namespace RATING_COLORS { let PRIMARY: string; let SECONDARY: string; let SUCCESS: string; let WARNING: string; let ERROR: string; let INFO: string; } export namespace RATING_ICONS { let STAR: string; let HEART: string; let THUMBS: string; let CUSTOM: string; } export namespace RATING_VARIANTS { let STANDARD: string; let OUTLINED: string; let FILLED: string; let ANIMATED: string; let GLOW: string; let BOUNCE: string; } declare namespace _default { export { RATING_SIZES }; export { RATING_COLORS }; export { RATING_ICONS }; export { RATING_VARIANTS }; export { validateRating }; export { normalizeRating }; export { validateRatingConfig }; export { generateRatingItems }; export { calculateFillPercentage }; export { calculateRatingFromPosition }; export { getRatingClasses }; export { getRatingItemClasses }; export { getRatingIcon }; export { createCustomIcon }; export { createRatingClickHandler }; export { createRatingHoverHandlers }; export { createRatingKeyboardHandler }; export { formatRating }; export { formatRatingDescription }; export { getRatingAccessibilityProps }; export { getRatingItemAccessibilityProps }; export { debounce }; export { throttle }; } export default _default; //# sourceMappingURL=utils.d.ts.map