UNPKG

@youwen/ai-design-system

Version:

Enterprise AI-driven design system with comprehensive design tokens

125 lines (124 loc) 3.18 kB
/** * 工具函数库 * 企业级组件库的通用工具函数 */ import { type ClassValue } from 'clsx'; /** * 合并CSS类名,支持条件类名和Tailwind CSS优先级 */ export declare function cn(...inputs: ClassValue[]): string; /** * 生成唯一ID */ export declare function generateId(prefix?: string): string; /** * 防抖函数 */ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void; /** * 节流函数 */ export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void; /** * 深度合并对象 */ export declare function deepMerge<T extends Record<string, any>>(target: T, ...sources: Partial<T>[]): T; /** * 格式化文件大小 */ export declare function formatBytes(bytes: number, decimals?: number): string; /** * 格式化数字(添加千位分隔符) */ export declare function formatNumber(num: number): string; /** * 截断文本 */ export declare function truncateText(text: string, length: number): string; /** * 获取对象深层属性值 */ export declare function getNestedValue<T>(obj: any, path: string, defaultValue?: T): T | undefined; /** * 设置对象深层属性值 */ export declare function setNestedValue(obj: any, path: string, value: any): void; /** * 检查元素是否在视口中 */ export declare function isElementInViewport(el: Element): boolean; /** * 滚动到元素 */ export declare function scrollToElement(element: Element, options?: ScrollIntoViewOptions): void; /** * 复制文本到剪贴板 */ export declare function copyToClipboard(text: string): Promise<boolean>; /** * 检查是否为移动设备 */ export declare function isMobile(): boolean; /** * 检查是否为触摸设备 */ export declare function isTouchDevice(): boolean; /** * 获取随机颜色 */ export declare function getRandomColor(): string; /** * 颜色相关工具函数 */ export declare const colorUtils: { /** * 十六进制转RGB */ hexToRgb(hex: string): { r: number; g: number; b: number; } | null; /** * RGB转十六进制 */ rgbToHex(r: number, g: number, b: number): string; /** * 获取对比色 */ getContrastColor(hex: string): string; }; /** * 日期格式化工具 */ export declare const dateUtils: { /** * 格式化日期 */ format(date: Date, format?: string): string; /** * 相对时间 */ relative(date: Date): string; }; /** * 验证工具 */ export declare const validators: { email: (email: string) => boolean; phone: (phone: string) => boolean; url: (url: string) => boolean; required: (value: any) => boolean; minLength: (value: string, min: number) => boolean; maxLength: (value: string, max: number) => boolean; range: (value: number, min: number, max: number) => boolean; }; /** * 本地存储工具 */ export declare const storage: { get<T>(key: string, defaultValue?: T | undefined): T | null; set(key: string, value: any): void; remove(key: string): void; clear(): void; };