diff --git a/types/index.d.ts b/types/index.d.ts index 58dba7a..9fd9dba 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -368,6 +368,10 @@ export interface ToastInstance { paused: boolean; /** 是否关闭中 */ closing: boolean; + /** 自定义图标HTML */ + iconHTML?: string; + /** Toast分组名称 */ + group?: string | null; /** 创建Toast */ create(): ToastInstance; @@ -444,7 +448,7 @@ export interface Plugin { [key: string]: any; } -// 插件管理器接口 +// 插件管理器接口(对齐实际 PluginManager 实现) export interface PluginManager { /** 注册插件 */ register(name: string, plugin: Plugin): PluginManager; @@ -464,35 +468,11 @@ export interface PluginManager { getAll(): Plugin[]; /** 获取插件名称 */ getNames(): string[]; - /** 注册中间件 */ - use(middleware: Function): PluginManager; - /** 移除中间件 */ - removeMiddleware(middleware: Function): PluginManager; - /** 触发钩子 */ - trigger(hookName: string, context: any, ...args: any[]): Promise; - /** 触发同步钩子 */ - triggerSync(hookName: string, context: any, ...args: any): any; - /** 执行中间件 */ - executeMiddleware(context: any, next: Function): Promise; - /** 获取所有钩子 */ - getHooks(): Map>; - /** 检查钩子是否存在 */ - hasHook(hookName: string): boolean; - /** 获取所有中间件 */ - getMiddleware(): Function[]; - /** 清除所有钩子 */ - clearHooks(): void; - /** 清除所有中间件 */ - clearMiddleware(): void; - /** 重置 */ - reset(): void; - /** 初始化 */ - init(): void; - /** 销毁 */ + /** 销毁所有插件 */ destroy(): void; } -// 动画管理器接口 +// 动画管理器接口(对齐实际 animationUtils 实现) export interface AnimationManager { /** 注册动画 */ register(name: string, config: AnimationConfig): void; @@ -500,35 +480,15 @@ export interface AnimationManager { unregister(name: string): void; /** 获取动画配置 */ get(name: string): AnimationConfig | null; - /** 应用动画 */ - apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用进入动画 */ - enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用离开动画 */ - leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 取消所有动画 */ - cancelAll(): void; - /** 取消元素动画 */ - cancel(element: HTMLElement): void; - /** 暂停所有动画 */ - pauseAll(): void; - /** 恢复所有动画 */ - resumeAll(): void; - /** 暂停元素动画 */ - pause(element: HTMLElement): void; - /** 恢复元素动画 */ - resume(element: HTMLElement): void; - /** 获取活动动画数量 */ + /** 获取所有动画名称 */ + getAnimationNames(): string[]; + /** 获取已注册动画数量 */ getActiveCount(): number; - /** 获取所有活动动画 */ - getActiveAnimations(): Map; - /** 检查元素是否有活动动画 */ - hasActiveAnimation(element: HTMLElement): boolean; - /** 获取动画配置 */ - getConfig(): { animations: string[]; activeCount: number }; - /** 重置 */ + /** 兼容API(CSS动画由浏览器管理) */ + cancelAll(): void; + /** 重置动画管理器 */ reset(): void; - /** 销毁 */ + /** 销毁动画管理器 */ destroy(): void; } @@ -688,7 +648,9 @@ export interface MeToast { // 插件系统 /** 安装插件 */ use(plugin: string | Plugin, options?: Record): MeToast; - + /** 获取 Toast 原生 Map */ + getAll(): Map; + // 模块引用 /** 动画模块 */ animations: AnimationUtils; @@ -794,31 +756,9 @@ export interface StackOptions extends ToastOptions { stagger?: number; } -// 动画工具接口 +// 动画工具接口(对齐实际 animationUtils 实现) export interface AnimationUtils { - /** 应用动画 */ - apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用进入动画 */ - enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用离开动画 */ - leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 取消所有动画 */ - cancelAll(): void; - /** 取消元素动画 */ - cancel(element: HTMLElement): void; - /** 暂停所有动画 */ - pauseAll(): void; - /** 恢复所有动画 */ - resumeAll(): void; - /** 暂停元素动画 */ - pause(element: HTMLElement): void; - /** 恢复元素动画 */ - resume(element: HTMLElement): void; - /** 获取活动动画数量 */ - getActiveCount(): number; - /** 检查元素是否有活动动画 */ - hasActiveAnimation(element: HTMLElement): boolean; - /** 注册动画 */ + /** 注册自定义动画 */ register(name: string, config: AnimationConfig): void; /** 注销动画 */ unregister(name: string): void; @@ -826,11 +766,13 @@ export interface AnimationUtils { get(name: string): AnimationConfig | null; /** 获取所有动画名称 */ getAnimationNames(): string[]; - /** 获取动画配置 */ - getConfig(): { animations: string[]; activeCount: number }; - /** 重置 */ + /** 获取已注册动画数量 */ + getActiveCount(): number; + /** 兼容API(CSS动画由浏览器管理) */ + cancelAll(): void; + /** 重置动画管理器 */ reset(): void; - /** 销毁 */ + /** 销毁动画管理器 */ destroy(): void; } @@ -1001,11 +943,23 @@ export interface PluginUtils { /** 创建插件管理器 */ createManager(): PluginManager; /** 注册插件 */ - register(name: string, plugin: Plugin): void; + register(name: string, plugin: Plugin): PluginManager; + /** 注销插件 */ + unregister(name: string): PluginManager; /** 获取插件 */ get(name: string): Plugin | null; + /** 检查插件是否存在 */ + has(name: string): boolean; /** 获取所有插件 */ getAll(): Plugin[]; + /** 获取插件名称 */ + getNames(): string[]; + /** 启用插件 */ + enable(name: string): PluginManager; + /** 禁用插件 */ + disable(name: string): PluginManager; + /** 检查插件是否启用 */ + isEnabled(name: string): boolean; /** 获取预设插件 */ getPreset(name: string): Plugin | null; /** 获取所有预设插件 */