import { register } from "@antv/x6-react-shape"; import { Node } from "@antv/x6"; import { ports, defaultData } from "../config/data"; import { useSizeHook, useShapeProps } from "@/hooks"; const component = ({ node }: { node: Node }) => { const { fill, stroke, opacity } = node.getData(); const { size, ref } = useSizeHook(); const { fillContent, defsContent, strokeColor, strokeWidth, strokeDasharray, } = useShapeProps(fill, size, stroke); return ( <>
{defsContent}
); }; register({ shape: "custom-react-base", width: 100, height: 100, effect: ["data"], component: component, }); const baseNode = { shape: "custom-react-base", data: { label: "", ...defaultData, }, ports, }; export default baseNode;