export interface OptionAPI { name: string; type: string; default?: any; description?: string; } export interface AttrAPI { name: string; title: string; group?: string; sync?: boolean; model?: boolean; type: string; 'designer-value': string; options?: Array; default?: any; description?: string; compType?: string; } export interface ComputedAPI { name: string; type: string; description?: string; } export interface DataAPI { name: string; type: string; default?: any; description?: string; } export interface SlotAPI { name: string; title: string; type: string; default?: any; 'empty-background': 'add-sub' | 'add-sub-large' | 'image' | 'drag-entity-here' | 'add-any'; description?: string; props?: Array<{ name: string; type: string; description?: string; }>; support: Array<{ name: string; title: string; snippet: string; }>; } export interface EventAPI { name: string; description?: string; params?: Array<{ name: string; type: string; description?: string; }>; } export interface MethodAPI { name: string; type: string; default?: any; description?: string; params?: Array<{ name: string; type: string; default?: string; description?: string; }>; } export interface AriaAPI { key: string; description?: string; } /** * 组件 api.yaml */ export default interface ComponentAPI { /** * 组件名称 */ name: string; /** * 组件标题 */ title: string; /** * 组件图标 */ icon: string; /** * 组件标签 */ labels: Array; /** * 组件分类 */ category?: string; description?: string; docs?: { [name: string]: string; }; options?: Array; data?: Array; attrs?: Array; slots?: Array; computed?: Array; events?: Array; methods?: Array; aria?: Array; }