UNPKG

@skillpet/circuit

Version:

Circuit diagram library — render electrical schematics from JSON, with interactive SVG, themes, and Vue/React components

42 lines (41 loc) 1.14 kB
import type { Theme } from "./theme.js"; import type { ElementObject } from "./render.js"; export interface ElementInfo { id: string; type: string; tooltip?: string; bbox: { x: number; y: number; width: number; height: number; }; anchors: Record<string, { x: number; y: number; }>; element: SVGGElement; spec: ElementObject; } export interface DrawingInfo { width: number; height: number; viewBox: string; theme: Theme; elementCount: number; namedElementCount: number; } export interface CanvasPoint { x: number; y: number; clientX: number; clientY: number; } export interface EventMap { 'element:click': (info: ElementInfo, event: MouseEvent) => void; 'element:hover': (info: ElementInfo, event: MouseEvent) => void; 'element:leave': (info: ElementInfo, event: MouseEvent) => void; 'element:select': (info: ElementInfo | null, event: MouseEvent) => void; 'canvas:click': (point: CanvasPoint, event: MouseEvent) => void; 'canvas:contextmenu': (point: CanvasPoint, event: MouseEvent) => void; }