UNPKG

@wonderkits/app

Version:

WonderKits micro-frontend SDK for sub-applications

94 lines 2.53 kB
/** * @wonderkits/app/core * * 子应用核心类型定义 - 最小化设计 * 只包含子应用开发必需的类型 */ import type * as React from 'react'; /** * 图标组件类型 * 支持各种图标库(heroicons、lucide 等) * 使用 ElementType 以兼容 ForwardRefExoticComponent */ export type IconComponent = React.ElementType<{ className?: string; }>; /** * 应用清单 - 精简版 * 子应用只需要定义这些基本信息 */ export interface AppManifest { /** 应用唯一标识 */ id: string; /** 应用名称 */ name: string; /** 应用版本 */ version: string; /** 显示名称(可选,默认使用 name) */ displayName?: string; /** 应用描述 */ description?: string; /** 应用图标 URL */ icon?: string; /** 作者 */ author?: string; /** 分类 */ category?: string; } /** * 导航项配置 - 精简版 * 子应用声明自己在主应用中的导航位置 */ export interface AppNavItem { /** 关联的应用 ID */ appId: string; /** 导航显示名称 */ name: string; /** 导航路径 */ href: string; /** 路径匹配模式(用于高亮当前导航) */ matchPath?: string; /** 排序权重(越小越靠前) */ order?: number; /** 是否可见 */ visible?: boolean; /** 图标组件 */ icon?: IconComponent; /** 图标组件(路径激活状态) */ iconPath?: IconComponent; /** 当前是否选中(运行时状态) */ current?: boolean; } /** * 应用生命周期钩子 - 精简版 * 子应用可以监听的生命周期事件 */ export interface AppLifecycleHooks { /** 应用安装时调用 */ onInstall?: () => Promise<void> | void; /** 应用激活时调用 */ onActivate?: () => Promise<void> | void; /** 应用停用时调用 */ onDeactivate?: () => Promise<void> | void; /** 应用卸载时调用 */ onUninstall?: () => Promise<void> | void; } /** * 子应用配置 - 精简版 * 子应用开发时需要提供的配置 */ export interface SubAppConfig { /** 应用清单 */ manifest: AppManifest; /** 导航配置(可选) */ navigation?: AppNavItem; /** 生命周期钩子(可选) */ hooks?: AppLifecycleHooks; } /** * 创建子应用配置的辅助函数 * @param config 子应用配置 * @returns 完整的子应用配置 */ export declare function defineSubApp(config: SubAppConfig): SubAppConfig; //# sourceMappingURL=index.d.ts.map