/** * props */ export interface ListItem { /** * 开始点的横坐标 */ sx: number; /** * 开始点的纵坐标 */ sy: number; /** * 开始点的宽度 */ sw: number; /** * 开始点的高度 */ sh: number; /** * 结束点的横坐标 */ ex: number; /** * 结束点的纵坐标 */ ey: number; /** * 结束点的宽度 */ ew: number; /** * 结束点的高度 */ eh: number; /** * 线的唯一值 */ group: string; } /** * emits */ export interface Emits { (event: 'resize', e: Event): void; } /** * 方向 */ export type Direction = 'horizontal' | 'vertical'; export interface Props { /** * 数据列表 */ list: ListItem[]; /** * 对齐方式, [startDirection, endDirection]: 开始点和结束点对齐方式 */ direction?: Direction | Direction[]; /** * 线的颜色 */ color?: string; /** * 线的大小 */ strokeWidth?: number; /** * 是否需要箭头 */ arrow?: boolean; } /** * rect */ export interface Rect extends ListItem { cx: number; cy: number; center: string; text: string; } /** * CalcTargetRefRecord */ export interface CalcTargetRefRecord extends Record { group: string | number; type: 'start' | 'end'; } /** * calcTargetRef */ export interface CalcTargetRef { (e: Element | null, record: CalcTargetRefRecord): void; }