mine-h5-ui
Version:
一款轻量级、模块化基于 Vue3.x 的 H5 前端 UI 组件库 👍
96 lines (95 loc) • 1.55 kB
TypeScript
/**
* 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<string, any> {
group: string | number;
type: 'start' | 'end';
}
/**
* calcTargetRef
*/
export interface CalcTargetRef {
(e: Element | null, record: CalcTargetRefRecord): void;
}