UNPKG

@starzhuimeng/formula-editor

Version:

A configurable formula editor with customizable symbols

70 lines (69 loc) 1.48 kB
import { SymbolsConfig, SymbolItem } from '../types'; export interface SymbolPanelOptions { symbols: SymbolsConfig; onSymbolClick: (symbol: string | SymbolItem) => void; container: HTMLElement; styles?: { backgroundColor?: string; symbolColor?: string; borderColor?: string; tabColor?: string; activeTabColor?: string; activeTabBorderColor?: string; }; } /** * 符号面板类 */ export declare class SymbolPanel { private container; private panel; private options; private tabButtons; private contentPanels; private activeTabIndex; constructor(options: SymbolPanelOptions); /** * 初始化面板样式 */ private initStyles; /** * 渲染符号面板 */ private renderPanel; /** * 解析符号组 * 支持两种格式: * 1. 老格式: { category: symbols[] } * 2. 新格式: { category: SymbolGroup } */ private parseGroups; /** * 创建标签按钮 */ private createTabButton; /** * 创建内容面板 */ private createContentPanel; /** * 激活指定的标签 */ private activateTab; /** * 格式化分类名称 */ private formatCategoryName; /** * 显示符号面板 */ show(): void; /** * 隐藏符号面板 */ hide(): void; /** * 切换显示/隐藏状态 */ toggle(): void; }