Test/node_modules/@excalidraw/mermaid-to-excalidraw/dist/elementSkeleton.d.ts
2026-04-09 22:54:00 +07:00

114 lines
3.5 KiB
TypeScript

import { ExcalidrawTextElement } from "@excalidraw/excalidraw/types/element/types.js";
import { ValidLinearElement } from "@excalidraw/excalidraw/types/data/transform.js";
export type Arrow = Omit<Line, "type" | "strokeStyle"> & {
type: "arrow";
label?: {
text: string | null;
fontSize?: number;
};
strokeStyle?: ValidLinearElement["strokeStyle"] | null;
strokeWidth?: ValidLinearElement["strokeWidth"];
points?: number[][];
sequenceNumber?: Container;
startArrowhead?: ValidLinearElement["startArrowhead"];
endArrowhead?: ValidLinearElement["endArrowhead"];
start?: ValidLinearElement["start"];
end?: ValidLinearElement["end"];
};
export type Line = {
type: "line";
startX: number;
startY: number;
endX: number;
endY: number;
id?: string;
strokeColor?: string | null;
strokeWidth?: number | null;
strokeStyle?: ValidLinearElement["strokeStyle"] | null;
groupId?: string;
metadata?: {
[key: string]: any;
};
};
export type Text = {
type: "text";
text: string;
x: number;
y: number;
id?: string;
width?: number;
height?: number;
fontSize: number;
groupId?: string;
metadata?: {
[key: string]: any;
};
};
export type Container = {
type: "rectangle" | "ellipse";
x: number;
y: number;
id?: string;
label?: {
text: string | null;
fontSize: number;
color?: string;
verticalAlign?: ExcalidrawTextElement["verticalAlign"];
};
width?: number;
height?: number;
strokeStyle?: "dashed" | "solid";
strokeWidth?: number;
strokeColor?: string;
bgColor?: string;
subtype?: "actor" | "activation" | "highlight" | "note" | "sequence";
groupId?: string;
metadata?: {
[key: string]: any;
};
};
export type Node = Container | Line | Arrow | Text;
export declare const createArrowSkeletonFromSVG: (arrowNode: SVGLineElement | SVGPathElement, opts?: {
label?: string;
strokeStyle?: ValidLinearElement["strokeStyle"];
startArrowhead?: ValidLinearElement["startArrowhead"];
endArrowhead?: ValidLinearElement["endArrowhead"];
}) => Arrow;
export declare const createArrowSkeletion: (startX: number, startY: number, endX: number, endY: number, opts?: {
id?: string;
label?: Arrow["label"];
strokeColor?: Arrow["strokeColor"];
strokeStyle?: Arrow["strokeStyle"];
startArrowhead?: Arrow["startArrowhead"];
endArrowhead?: Arrow["endArrowhead"];
start?: Arrow["start"];
end?: Arrow["end"];
points?: Arrow["points"];
}) => Arrow;
export declare const createTextSkeleton: (x: number, y: number, text: string, opts?: {
id?: string | undefined;
width?: number | undefined;
height?: number | undefined;
fontSize?: number | undefined;
groupId?: string | undefined;
metadata?: {
[key: string]: any;
} | undefined;
} | undefined) => Text;
export declare const createTextSkeletonFromSVG: (textNode: SVGTextElement, text: string, opts?: {
groupId?: string;
id?: string;
}) => Text;
export declare const createContainerSkeletonFromSVG: (node: SVGSVGElement | SVGRectElement, type: Container["type"], opts?: {
id?: string;
label?: {
text: string;
verticalAlign?: ExcalidrawTextElement["verticalAlign"];
};
subtype?: Container["subtype"];
groupId?: string;
}) => Container;
export declare const createLineSkeletonFromSVG: (lineNode: SVGLineElement, startX: number, startY: number, endX: number, endY: number, opts?: {
groupId?: string;
id?: string;
}) => Line;