@next-bricks/diagram 0.37.5 → 0.37.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +3 -3
- package/dist/chunks/{2272.31714f3f.js → 2272.0b667e66.js} +2 -2
- package/dist/chunks/{2272.31714f3f.js.map → 2272.0b667e66.js.map} +1 -1
- package/dist/chunks/{2416.8f1773c2.js → 2416.3143537b.js} +2 -2
- package/dist/chunks/{2416.8f1773c2.js.map → 2416.3143537b.js.map} +1 -1
- package/dist/chunks/3144.654f7d07.js +3 -0
- package/dist/chunks/{3144.712fb13e.js.map → 3144.654f7d07.js.map} +1 -1
- package/dist/chunks/{3171.7841b300.js → 3171.c3b6757d.js} +2 -2
- package/dist/chunks/{3171.7841b300.js.map → 3171.c3b6757d.js.map} +1 -1
- package/dist/chunks/{3933.b49995e0.js → 3933.e36ae0e2.js} +2 -2
- package/dist/chunks/{3933.b49995e0.js.map → 3933.e36ae0e2.js.map} +1 -1
- package/dist/chunks/{4937.1a9e909c.js → 4937.3ea6fc61.js} +3 -3
- package/dist/chunks/{4937.1a9e909c.js.map → 4937.3ea6fc61.js.map} +1 -1
- package/dist/chunks/{5552.0888ad20.js → 5552.b92ec06e.js} +2 -2
- package/dist/chunks/{5552.0888ad20.js.map → 5552.b92ec06e.js.map} +1 -1
- package/dist/chunks/{6314.5bd64484.js → 6314.323a7ea5.js} +2 -2
- package/dist/chunks/{6314.5bd64484.js.map → 6314.323a7ea5.js.map} +1 -1
- package/dist/chunks/{7115.6532f6fd.js → 7115.b2e2c298.js} +2 -2
- package/dist/chunks/{7115.6532f6fd.js.map → 7115.b2e2c298.js.map} +1 -1
- package/dist/chunks/{871.125da900.js → 871.b6b8daa8.js} +2 -2
- package/dist/chunks/871.b6b8daa8.js.map +1 -0
- package/dist/chunks/{9248.d84c29fb.js → 9248.1911f3a5.js} +2 -2
- package/dist/chunks/9248.1911f3a5.js.map +1 -0
- package/dist/chunks/{9496.b0cf00a2.js → 9496.d09706c7.js} +2 -2
- package/dist/chunks/{9496.b0cf00a2.js.map → 9496.d09706c7.js.map} +1 -1
- package/dist/chunks/{eo-draw-canvas.21b9d3ed.js → eo-draw-canvas.06edfe6d.js} +2 -2
- package/dist/chunks/{eo-draw-canvas.21b9d3ed.js.map → eo-draw-canvas.06edfe6d.js.map} +1 -1
- package/dist/chunks/{main.b20feb3e.js → main.9805849a.js} +2 -2
- package/dist/chunks/{main.b20feb3e.js.map → main.9805849a.js.map} +1 -1
- package/dist/examples.json +3 -3
- package/dist/{index.f9359d66.js → index.05027fd9.js} +2 -2
- package/dist/{index.f9359d66.js.map → index.05027fd9.js.map} +1 -1
- package/dist/manifest.json +77 -77
- package/dist/types.json +67 -67
- package/package.json +2 -2
- package/dist/chunks/3144.712fb13e.js +0 -3
- package/dist/chunks/871.125da900.js.map +0 -1
- package/dist/chunks/9248.d84c29fb.js.map +0 -1
- /package/dist/chunks/{3144.712fb13e.js.LICENSE.txt → 3144.654f7d07.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4937.1a9e909c.js.LICENSE.txt → 4937.3ea6fc61.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/eo-draw-canvas.21b9d3ed.js","mappings":"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","sources":["webpack:///./src/draw-canvas/ConnectLineComponent.tsx","webpack:///./src/draw-canvas/index.tsx","webpack:///./src/draw-canvas/processors/handleKeyboard.ts","webpack:///./src/draw-canvas/processors/handleLasso.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { ConnectLineState } from \"./interfaces\";\nimport type { PositionTuple, TransformLiteral } from \"../diagram/interfaces\";\n\nexport interface ConnectLineComponentProps {\n connectLineState: ConnectLineState | null;\n transform: TransformLiteral;\n markerEnd: string;\n onConnect(state: ConnectLineState, to: PositionTuple): void;\n}\n\nexport function ConnectLineComponent({\n connectLineState,\n transform,\n markerEnd,\n onConnect,\n}: ConnectLineComponentProps): JSX.Element {\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple | null>(\n null\n );\n\n useEffect(() => {\n if (connectLineState) {\n setConnectLineTo(connectLineState.from);\n }\n }, [connectLineState]);\n\n useEffect(() => {\n if (connectLineState) {\n const onMouseMove = (e: MouseEvent) => {\n // Set connect line to based on the mouse position and the transform\n setConnectLineTo([\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const onMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n const onClick = (e: MouseEvent) => {\n e.stopPropagation();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n reset();\n onConnect(connectLineState, [\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const reset = () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mousedown\", onMouseDown, {\n capture: true,\n });\n document.removeEventListener(\"click\", onClick, { capture: true });\n setConnectLineTo(null);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mousedown\", onMouseDown, { capture: true });\n document.addEventListener(\"click\", onClick, { capture: true });\n\n return reset;\n }\n }, [connectLineState, onConnect, transform]);\n\n return (\n <path\n className={classNames(\"connect-line\", {\n connecting:\n !!connectLineState &&\n connectLineTo &&\n // Do not show when the distance of mouse move is less than 5px\n (connectLineTo[0] - connectLineState.from[0]) ** 2 +\n (connectLineTo[1] - connectLineState.from[1]) ** 2 >\n 25,\n })}\n d={\n connectLineState && connectLineTo\n ? `M${connectLineState.from.join(\" \")}L${connectLineTo.join(\" \")}`\n : \"\"\n }\n fill=\"none\"\n stroke=\"gray\"\n strokeWidth={1}\n markerEnd={`url(#${markerEnd})`}\n />\n );\n}\n","import React, {\n createRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { UseSingleBrickConf } from \"@next-core/react-runtime\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport \"@next-core/theme\";\nimport { uniqueId } from \"lodash\";\nimport classNames from \"classnames\";\nimport { select } from \"d3-selection\";\nimport type { lockBodyScroll as _lockBodyScroll } from \"@next-bricks/basic/data-providers/lock-body-scroll/lock-body-scroll\";\nimport type {\n PositionTuple,\n RangeTuple,\n SizeTuple,\n TransformLiteral,\n} from \"../diagram/interfaces\";\nimport type {\n ActiveTarget,\n Cell,\n EdgeCell,\n InitialCell,\n NodeBrickConf,\n NodeCell,\n NodeId,\n DecoratorCell,\n DecoratorType,\n CellContextMenuDetail,\n ConnectLineState,\n Deferred,\n ConnectNodesDetail,\n EdgeLineConf,\n DecoratorTextChangeDetail,\n NodeView,\n LayoutType,\n LayoutOptions,\n} from \"./interfaces\";\nimport { rootReducer } from \"./reducers\";\nimport { MarkerComponent } from \"../diagram/MarkerComponent\";\nimport { isNodeCell, isNodeOrAreaDecoratorCell } from \"./processors/asserts\";\nimport type { MoveCellPayload, ResizeCellPayload } from \"./reducers/interfaces\";\nimport { sameTarget } from \"./processors/sameTarget\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { CellComponent } from \"./CellComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { initializeCells } from \"./processors/initializeCells\";\nimport { updateCells } from \"./processors/updateCells\";\nimport { getUnrelatedCells } from \"./processors/getUnrelatedCells\";\nimport {\n DEFAULT_NODE_SIZE,\n DEFAULT_AREA_WIDTH,\n DEFAULT_AREA_HEIGHT,\n DEFAULT_DEGRADED_THRESHOLD,\n} from \"./constants\";\nimport { useZoom } from \"../shared/canvas/useZoom\";\nimport { useActiveTarget } from \"../shared/canvas/useActiveTarget\";\nimport { ZoomBarComponent } from \"../shared/canvas/ZoomBarComponent\";\nimport { useLayout } from \"../shared/canvas/useLayout\";\nimport { useReady } from \"../shared/canvas/useReady\";\nimport { useLineMarkers } from \"../shared/canvas/useLineMarkers\";\nimport { handleLasso } from \"./processors/handleLasso\";\nimport styleText from \"../shared/canvas/styles.shadow.css\";\nimport zoomBarStyleText from \"../shared/canvas/ZoomBarComponent.shadow.css\";\nimport { cellToTarget } from \"./processors/cellToTarget\";\n\nconst lockBodyScroll = unwrapProvider<typeof _lockBodyScroll>(\n \"basic.lock-body-scroll\"\n);\n\nconst { defineElement, property, method, event } = createDecorators();\n\nexport interface EoDrawCanvasProps {\n cells: InitialCell[] | undefined;\n layout: LayoutType;\n layoutOptions?: LayoutOptions;\n defaultNodeSize: SizeTuple;\n defaultNodeBricks?: NodeBrickConf[];\n defaultEdgeLines?: EdgeLineConf[];\n degradedThreshold?: number;\n degradedNodeLabel?: string;\n activeTarget?: ActiveTarget | null;\n fadeUnrelatedCells?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n dragBehavior?: DragBehavior;\n ctrlDragBehavior?: CtrlDragBehavior;\n scaleRange?: RangeTuple;\n allowEdgeToArea?: boolean;\n}\n\nexport type DragBehavior = \"none\" | \"lasso\" | \"grab\";\nexport type CtrlDragBehavior = \"none\" | \"grab\";\n\nexport interface DropNodeInfo extends AddNodeInfo {\n /** [PointerEvent::clientX, PointerEvent::clientY] */\n position: PositionTuple;\n}\n\nexport interface DropDecoratorInfo {\n decorator: DecoratorType;\n /** [PointerEvent::clientX, PointerEvent::clientY] */\n position: PositionTuple;\n text?: string;\n}\n\nexport interface AddNodeInfo {\n id: NodeId;\n useBrick?: UseSingleBrickConf;\n data?: unknown;\n size?: SizeTuple;\n}\n\nexport interface AddEdgeInfo {\n source: NodeId;\n target: NodeId;\n data?: unknown;\n}\n\nexport interface UpdateCellsContext {\n reason: \"add-related-nodes\";\n parent: NodeId;\n}\n\nexport interface AddNodesContext {\n defaultNodeSize: SizeTuple;\n canvasWidth: number;\n canvasHeight: number;\n}\n\nexport const EoDrawCanvasComponent = React.forwardRef(\n LegacyEoDrawCanvasComponent\n);\n\n/**\n * 用于手工绘图的画布。\n *\n * 注意:将配套另外一个用于展示的画布构件。\n */\nexport\n@defineElement(\"eo-draw-canvas\", {\n styleTexts: [styleText, zoomBarStyleText],\n})\nclass EoDrawCanvas extends ReactNextElement implements EoDrawCanvasProps {\n /**\n * 仅当初始化时使用,渲染后重新设置 `cells` 将无效。\n */\n @property({ attribute: false })\n accessor cells: InitialCell[] | undefined;\n\n @property({ type: String })\n accessor layout: LayoutType;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptions | undefined;\n\n @property({ attribute: false })\n accessor defaultNodeSize: SizeTuple = [DEFAULT_NODE_SIZE, DEFAULT_NODE_SIZE];\n\n @property({ attribute: false })\n accessor defaultNodeBricks: NodeBrickConf[] | undefined;\n\n /**\n * 当节点数量达到或超过 `degradedThreshold` 时,节点将被降级展示。\n *\n * @default 500\n */\n @property({ type: Number })\n accessor degradedThreshold: number | undefined;\n\n // Set `attribute` to `false` event if it accepts string value.\n // Because when passing like \"<% DATA.node.data.name %>\", it will be\n // evaluated as object temporarily.\n /**\n * 设置节点将降级展示时显示的名称。\n *\n * @default \"<% DATA.node.id %>\"\n */\n @property({ attribute: false })\n accessor degradedNodeLabel: string | undefined;\n\n /**\n * 使用条件判断设置默认的边对应的连线。在 `if` 表达式中 `DATA` 为 `{ edge }`,例如:\n *\n * ```yaml\n * defaultEdgeLines:\n * - if: <% DATA.edge.data?.virtual %>\n * dashed: true\n * ```\n */\n @property({ attribute: false })\n accessor defaultEdgeLines: EdgeLineConf[] | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n /**\n * 当 `activeTarget` 不为 `null` 时,隐藏其他跟该 `activeTarget` 无关的元素。\n */\n @property({ type: Boolean })\n accessor fadeUnrelatedCells: boolean | undefined;\n\n @property({ type: Boolean })\n accessor zoomable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor scrollable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor pannable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor selectable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor allowEdgeToArea: boolean | undefined = false;\n\n /**\n * 按住鼠标拖动时的行为:\n * - `none`:无\n * - `lasso`:绘制选区\n * - `grab`:拖动画布\n *\n * @default \"none\"\n */\n @property()\n accessor dragBehavior: DragBehavior | undefined;\n\n /**\n * 按住 ctrl 键并按住鼠标拖动时的行为:\n * - `none`:无\n * - `grab`:拖动画布\n *\n * @default \"none\"\n */\n @property()\n accessor ctrlDragBehavior: CtrlDragBehavior | undefined;\n\n @property({ attribute: false })\n accessor scaleRange: RangeTuple | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\n };\n\n /**\n * @deprecated Use `cell.move` instead.\n */\n @event({ type: \"node.move\" })\n accessor #nodeMoveEvent!: EventEmitter<MoveCellPayload>;\n\n @event({ type: \"cell.move\" })\n accessor #cellMoveEvent!: EventEmitter<MoveCellPayload>;\n\n #handleCellMove = (info: MoveCellPayload) => {\n this.#cellMoveEvent.emit(info);\n if (info.type === \"node\") {\n this.#nodeMoveEvent.emit(info);\n }\n };\n\n @event({ type: \"cells.move\" })\n accessor #cellsMoveEvent!: EventEmitter<MoveCellPayload[]>;\n\n #handleCellsMove = (info: MoveCellPayload[]) => {\n this.#cellsMoveEvent.emit(info);\n };\n\n @event({ type: \"cell.resize\" })\n accessor #cellResizeEvent!: EventEmitter<ResizeCellPayload>;\n\n #handleCellResize = (info: ResizeCellPayload) => {\n this.#cellResizeEvent.emit(info);\n };\n\n /**\n * @deprecated Use `cell.delete` instead.\n */\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<Cell>;\n\n @event({ type: \"cell.delete\" })\n accessor #cellDelete!: EventEmitter<Cell>;\n\n #handleCellDelete = (cell: Cell) => {\n this.#cellDelete.emit(cell);\n if (cell.type === \"node\") {\n this.#nodeDelete.emit(cell);\n }\n };\n\n @event({ type: \"cells.delete\" })\n accessor #cellsDelete!: EventEmitter<Cell[]>;\n\n #handleCellsDelete = (cells: Cell[]) => {\n this.#cellsDelete.emit(cells);\n };\n\n @event({ type: \"cell.contextmenu\" })\n accessor #cellContextMenu!: EventEmitter<CellContextMenuDetail>;\n\n #handleCellContextMenu = (detail: CellContextMenuDetail) => {\n this.#cellContextMenu.emit(detail);\n };\n\n @event({ type: \"decorator.text.change\" })\n accessor #decoratorTextChange!: EventEmitter<DecoratorTextChangeDetail>;\n\n #handleDecoratorTextChange = (detail: DecoratorTextChangeDetail) => {\n this.#decoratorTextChange.emit(detail);\n };\n\n /**\n * 缩放变化后,从素材库拖拽元素进画布时,拖拽图像应设置对应的缩放比例。\n */\n @event({ type: \"scale.change\" })\n accessor #scaleChange!: EventEmitter<number>;\n\n #handleScaleChange = (scale: number) => {\n this.#scaleChange.emit(scale);\n };\n\n @method()\n async dropNode({\n id,\n position,\n size,\n data,\n useBrick,\n }: DropNodeInfo): Promise<NodeCell | null> {\n // Drag and then drop a node\n const droppedInside = document\n .elementsFromPoint?.(position[0], position[1])\n ?.includes(this);\n if (droppedInside) {\n const boundingClientRect = this.getBoundingClientRect();\n const transform = this.#canvasRef.current!.getTransform();\n const newNode = {\n type: \"node\",\n id,\n view: {\n ...(this.layout === \"force\" || this.layout === \"dagre\"\n ? null\n : {\n x:\n (position[0] - boundingClientRect.left - transform.x) /\n transform.k,\n y:\n (position[1] - boundingClientRect.top - transform.y) /\n transform.k,\n }),\n width: size?.[0] ?? this.defaultNodeSize[0],\n height: size?.[1] ?? this.defaultNodeSize[0],\n },\n data,\n useBrick,\n } as NodeCell;\n this.#canvasRef.current?.dropNode(newNode);\n return newNode;\n }\n return null;\n }\n\n @method()\n async dropDecorator({\n position,\n decorator,\n text,\n }: DropDecoratorInfo): Promise<DecoratorCell | null> {\n // Drag and then drop a node\n const droppedInside = document\n .elementsFromPoint?.(position[0], position[1])\n ?.includes(this);\n if (droppedInside) {\n const boundingClientRect = this.getBoundingClientRect();\n const transform = this.#canvasRef.current!.getTransform();\n const newDecorator: DecoratorCell = {\n type: \"decorator\",\n decorator,\n id: uuidV4(),\n view: {\n x:\n (position[0] - boundingClientRect.left - transform.x) / transform.k,\n y: (position[1] - boundingClientRect.top - transform.y) / transform.k,\n width: DEFAULT_AREA_WIDTH,\n height: DEFAULT_AREA_HEIGHT,\n text,\n },\n };\n this.#canvasRef.current?.dropDecorator(newDecorator);\n return newDecorator;\n }\n return null;\n }\n\n @method()\n async addNodes(nodes: AddNodeInfo[]): Promise<NodeCell[]> {\n if (nodes.length === 0) {\n return [];\n }\n const newNodes = nodes.map<NodeCell>(({ size, useBrick, id, data }) => ({\n type: \"node\",\n id,\n data,\n view: {\n width: size?.[0] ?? this.defaultNodeSize[0],\n height: size?.[1] ?? this.defaultNodeSize[0],\n } as NodeView,\n useBrick,\n }));\n return this.#canvasRef.current!.addNodes(newNodes, {\n defaultNodeSize: this.defaultNodeSize,\n canvasWidth: this.clientWidth,\n canvasHeight: this.clientHeight,\n });\n }\n\n @method()\n async addEdge({ source, target, data }: AddEdgeInfo): Promise<EdgeCell> {\n const newEdge: EdgeCell = {\n type: \"edge\",\n source,\n target,\n data,\n };\n this.#canvasRef.current?.addEdge(newEdge);\n return newEdge;\n }\n\n @method()\n manuallyConnectNodes(source: NodeId): Promise<ConnectNodesDetail> {\n return this.#canvasRef.current!.manuallyConnectNodes(source);\n }\n\n @method()\n async updateCells(\n cells: InitialCell[],\n ctx?: UpdateCellsContext\n ): Promise<{ updated: Cell[] }> {\n await this.#waitForCanvasRef();\n const { updated } = this.#canvasRef.current!.updateCells(cells, {\n ...ctx,\n defaultNodeSize: this.defaultNodeSize,\n canvasWidth: this.clientWidth,\n canvasHeight: this.clientHeight,\n });\n return { updated };\n }\n\n #waitForCanvasRef() {\n return new Promise<void>((resolve) => {\n const check = () => {\n if (this.#canvasRef.current) {\n resolve();\n } else {\n setTimeout(check, 10);\n }\n };\n check();\n });\n }\n\n #canvasRef = createRef<DrawCanvasRef>();\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n lockBodyScroll(this, false);\n }\n\n render() {\n return (\n <EoDrawCanvasComponent\n host={this}\n ref={this.#canvasRef}\n layout={this.layout}\n layoutOptions={this.layoutOptions}\n cells={this.cells}\n defaultNodeSize={this.defaultNodeSize}\n defaultNodeBricks={this.defaultNodeBricks}\n defaultEdgeLines={this.defaultEdgeLines}\n degradedThreshold={this.degradedThreshold}\n degradedNodeLabel={this.degradedNodeLabel}\n activeTarget={this.activeTarget}\n fadeUnrelatedCells={this.fadeUnrelatedCells}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n dragBehavior={this.dragBehavior}\n ctrlDragBehavior={this.ctrlDragBehavior}\n scaleRange={this.scaleRange}\n allowEdgeToArea={this.allowEdgeToArea}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onCellMove={this.#handleCellMove}\n onCellsMove={this.#handleCellsMove}\n onCellResize={this.#handleCellResize}\n onCellDelete={this.#handleCellDelete}\n onCellsDelete={this.#handleCellsDelete}\n onCellContextMenu={this.#handleCellContextMenu}\n onDecoratorTextChange={this.#handleDecoratorTextChange}\n onScaleChange={this.#handleScaleChange}\n />\n );\n }\n}\n\nexport interface EoDrawCanvasComponentProps extends EoDrawCanvasProps {\n host: HTMLElement;\n onActiveTargetChange(target: ActiveTarget | null): void;\n onSwitchActiveTarget(target: ActiveTarget | null): void;\n onCellMove(info: MoveCellPayload): void;\n onCellResize(cell: ResizeCellPayload): void;\n onCellDelete(cell: Cell): void;\n onCellsMove(info: MoveCellPayload[]): void;\n onCellsDelete(cells: Cell[]): void;\n onCellContextMenu(detail: CellContextMenuDetail): void;\n onDecoratorTextChange(detail: DecoratorTextChangeDetail): void;\n onScaleChange(scale: number): void;\n}\n\nexport interface DrawCanvasRef {\n dropNode(node: NodeCell): void;\n dropDecorator(decorator: DecoratorCell): void;\n addNodes(nodes: NodeCell[], ctx: AddNodesContext): NodeCell[];\n addEdge(edge: EdgeCell): void;\n manuallyConnectNodes(source: NodeId): Promise<ConnectNodesDetail>;\n updateCells(\n cells: InitialCell[],\n ctx: Partial<UpdateCellsContext> & {\n defaultNodeSize: SizeTuple;\n canvasWidth: number;\n canvasHeight: number;\n }\n ): {\n cells: Cell[];\n updated: Cell[];\n };\n getTransform(): TransformLiteral;\n}\n\nfunction LegacyEoDrawCanvasComponent(\n {\n host,\n layout,\n layoutOptions,\n cells: initialCells,\n defaultNodeSize,\n defaultNodeBricks,\n defaultEdgeLines,\n degradedThreshold,\n degradedNodeLabel,\n activeTarget: _activeTarget,\n fadeUnrelatedCells,\n zoomable,\n scrollable,\n pannable,\n dragBehavior,\n ctrlDragBehavior,\n scaleRange: _scaleRange,\n allowEdgeToArea,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onCellMove,\n onCellResize,\n onCellDelete,\n onCellsMove,\n onCellsDelete,\n onCellContextMenu,\n onDecoratorTextChange,\n onScaleChange,\n }: EoDrawCanvasComponentProps,\n ref: React.Ref<DrawCanvasRef>\n) {\n const [{ cells, layoutKey }, dispatch] = useReducer(\n rootReducer,\n initialCells,\n (initialCells) => ({\n cells: initializeCells(initialCells, { defaultNodeSize }),\n layoutKey: 0,\n })\n );\n\n // When nodes are greater or equal to threshold, the diagram will be degraded.\n // Thus all nodes will be displayed as simple svg elements instead of bricks.\n const degraded = useMemo(\n () =>\n cells.filter(isNodeCell).length >=\n (degradedThreshold ?? DEFAULT_DEGRADED_THRESHOLD),\n [cells, degradedThreshold]\n );\n\n const rootRef = useRef<SVGSVGElement>(null);\n const cellsRef = useRef<SVGGElement>(null);\n const manualConnectDeferredRef = useRef<Deferred<ConnectNodesDetail> | null>(\n null\n );\n const [editingTexts, setEditingTexts] = useState<string[]>([]);\n const { grabbing, transform, zoomer, scaleRange } = useZoom({\n rootRef,\n zoomable,\n scrollable,\n pannable,\n draggable: dragBehavior === \"grab\",\n ctrlDraggable: ctrlDragBehavior === \"grab\",\n scaleRange: _scaleRange,\n onSwitchActiveTarget,\n });\n\n useEffect(() => {\n onScaleChange(transform.k);\n }, [onScaleChange, transform.k]);\n\n const [lassoRect, setLassoRect] = useState<NodeView | null>(null);\n\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n\n const { centered, setCentered, getNextLayoutKey } = useLayout({\n layout,\n layoutOptions,\n rootRef,\n cells,\n zoomable,\n zoomer,\n scaleRange,\n layoutKey,\n allowEdgeToArea,\n dispatch,\n });\n\n useImperativeHandle(\n ref,\n () => ({\n dropNode(node) {\n // Do not apply auto centering when dropping a node in manual layout.\n if (layout !== \"dagre\" && layout !== \"force\") {\n setCentered(true);\n }\n dispatch({ type: \"drop-node\", payload: node });\n },\n dropDecorator(decorator) {\n // Do not apply auto centering when dropping a decorator in manual layout.\n if (layout !== \"dagre\" && layout !== \"force\") {\n setCentered(true);\n }\n dispatch({ type: \"drop-decorator\", payload: decorator });\n },\n addNodes(\n nodes,\n { defaultNodeSize, canvasWidth, canvasHeight }: AddNodesContext\n ) {\n const index =\n cells.findLastIndex(\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n ) + 1;\n const newCells = [\n ...cells.slice(0, index),\n ...nodes,\n ...cells.slice(index),\n ];\n const {\n cells: allCells,\n updated,\n shouldReCenter,\n } = updateCells({\n cells: newCells,\n layout,\n previousCells: cells,\n defaultNodeSize,\n canvasWidth,\n canvasHeight,\n scaleRange,\n transform,\n allowEdgeToArea,\n });\n if (shouldReCenter) {\n setCentered(false);\n }\n dispatch({ type: \"update-cells\", payload: allCells });\n return updated.filter((node) =>\n nodes.includes(node as NodeCell)\n ) as NodeCell[];\n },\n addEdge(edge) {\n dispatch({ type: \"add-edge\", payload: edge });\n },\n updateCells(newCells, ctx) {\n const { shouldReCenter, ...result } = updateCells({\n ...ctx,\n layout,\n previousCells: cells,\n cells: newCells,\n scaleRange,\n transform,\n allowEdgeToArea,\n });\n if (shouldReCenter) {\n setCentered(false);\n }\n dispatch({ type: \"update-cells\", payload: result.cells });\n return result;\n },\n getTransform() {\n return transform;\n },\n manuallyConnectNodes(sourceId) {\n const source = cells.find(\n (cell) =>\n ((allowEdgeToArea && isNodeOrAreaDecoratorCell(cell)) ||\n isNodeCell(cell)) &&\n cell.id === sourceId\n ) as NodeCell | DecoratorCell | undefined;\n if (source) {\n const rect = rootRef.current!.getBoundingClientRect();\n setConnectLineState({\n source,\n from: [\n source.view.x + source.view.width / 2,\n source.view.y + source.view.height / 2,\n ],\n offset: [rect.left, rect.top],\n });\n const promise = new Promise<ConnectNodesDetail>((resolve, reject) => {\n manualConnectDeferredRef.current = { resolve, reject };\n });\n return promise;\n }\n return Promise.reject(null);\n },\n }),\n [cells, layout, scaleRange, setCentered, transform, allowEdgeToArea]\n );\n\n const handleConnect = useCallback(\n (state: ConnectLineState, to: PositionTuple) => {\n // Find the target node from top bo bottom,\n // detect whether the pointer is inside the target node.\n for (let i = cells.length - 1; i >= 0; i--) {\n const cell = cells[i];\n // Currently ignore connecting to self\n if (\n ((allowEdgeToArea && isNodeOrAreaDecoratorCell(cell)) ||\n isNodeCell(cell)) &&\n cell.id !== state.source.id\n ) {\n if (\n cell.view.x < to[0] &&\n cell.view.x + cell.view.width > to[0] &&\n cell.view.y < to[1] &&\n cell.view.y + cell.view.height > to[1]\n ) {\n manualConnectDeferredRef.current?.resolve({\n source: state.source,\n target: cell,\n });\n break;\n }\n }\n }\n manualConnectDeferredRef.current?.reject(null);\n setConnectLineState(null);\n },\n [cells]\n );\n\n useEffect(() => {\n lockBodyScroll(host, !!(connectLineState || lassoRect));\n }, [connectLineState, host, lassoRect]);\n\n const activeTarget = useActiveTarget({\n cellsRef,\n activeTarget: _activeTarget,\n onActiveTargetChange,\n });\n\n const [unrelatedCells, setUnrelatedCells] = useState<Cell[]>([]);\n useEffect(() => {\n const nextUnrelated = fadeUnrelatedCells\n ? getUnrelatedCells(\n cells,\n connectLineState,\n activeTarget,\n allowEdgeToArea\n )\n : [];\n // Do not update the state when prev and next are both empty.\n setUnrelatedCells((prev) =>\n prev.length === 0 && nextUnrelated.length === 0 ? prev : nextUnrelated\n );\n }, [\n activeTarget,\n cells,\n connectLineState,\n fadeUnrelatedCells,\n allowEdgeToArea,\n ]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || editingTexts.length > 0) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n cells,\n activeTarget,\n });\n\n switch (action?.action) {\n case \"delete-cells\":\n onCellsDelete(action.cells);\n if (action.cells.length === 1) {\n onCellDelete(action.cells[0]);\n }\n break;\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [activeTarget, cells, editingTexts.length, onCellDelete, onCellsDelete]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n\n const handleCellsMoving = useCallback((info: MoveCellPayload[]) => {\n dispatch({ type: \"move-cells\", payload: info });\n }, []);\n\n const handleCellsMoved = useCallback(\n (info: MoveCellPayload[]) => {\n dispatch({ type: \"move-cells\", payload: info });\n onCellsMove(info);\n if (info.length === 1) {\n onCellMove(info[0]);\n }\n },\n [onCellMove, onCellsMove]\n );\n\n const handleCellResizing = useCallback((info: ResizeCellPayload) => {\n dispatch({ type: \"resize-cell\", payload: info });\n }, []);\n\n const handleCellResized = useCallback(\n (info: ResizeCellPayload) => {\n dispatch({ type: \"resize-cell\", payload: info });\n onCellResize(info);\n },\n [onCellResize]\n );\n\n const handleDecoratorTextEditing = useCallback(\n ({ id, editing }: { id: string; editing: boolean }) => {\n if (editing) {\n setEditingTexts((texts) =>\n texts.includes(id) ? texts : [...texts, id]\n );\n } else {\n setEditingTexts((texts) => texts.filter((text) => text !== id));\n }\n },\n []\n );\n\n const handleNodeBrickResize = useCallback(\n (id: string, size: SizeTuple | null) => {\n const nextLayoutKey = getNextLayoutKey();\n dispatch({\n type: \"update-node-size\",\n payload: { id, size },\n layoutKey: nextLayoutKey,\n });\n },\n [getNextLayoutKey]\n );\n\n const handleZoomSlide = useCallback(\n (value: number) => {\n // istanbul ignore next\n if (process.env.NODE_ENV !== \"test\") {\n zoomer.scaleTo(select(rootRef.current!), value / 100);\n }\n },\n [zoomer]\n );\n\n const reCenter = useCallback(() => {\n setCentered(false);\n }, [setCentered]);\n const [lineConfMap, markers] = useLineMarkers({\n cells,\n defaultEdgeLines,\n markerPrefix,\n });\n\n const ready = useReady({ cells, layout, centered });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || dragBehavior !== \"lasso\") {\n return;\n }\n const rootRect = root.getBoundingClientRect();\n const onMouseDown = (event: MouseEvent) => {\n handleLasso(event, {\n transform,\n offset: [rootRect.left, rootRect.top],\n onLassoing(rect) {\n setLassoRect(rect);\n },\n onLassoed(rect) {\n setLassoRect(null);\n const lassoedCells: (NodeCell | DecoratorCell)[] = [];\n for (const cell of cells) {\n // Currently only nodes and area decorators are supported to be lassoed.\n // Because edges and text decorators currently has no accurate size info.\n if (isNodeOrAreaDecoratorCell(cell)) {\n const x = cell.view.x;\n const y = cell.view.y;\n if (\n x >= rect.x &&\n x + cell.view.width <= rect.x + rect.width &&\n y >= rect.y &&\n y + cell.view.height <= rect.y + rect.height\n ) {\n lassoedCells.push(cell);\n }\n }\n }\n onSwitchActiveTarget?.(\n lassoedCells.length > 1\n ? { type: \"multi\", targets: lassoedCells.map(cellToTarget) }\n : lassoedCells.length === 1\n ? cellToTarget(lassoedCells[0])\n : null\n );\n },\n });\n };\n root.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n root.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [transform, cells, dragBehavior, onSwitchActiveTarget]);\n\n return (\n <>\n <svg\n width=\"100%\"\n height=\"100%\"\n ref={rootRef}\n className={classNames(\"root\", { grabbing, pannable, ready })}\n tabIndex={-1}\n >\n <defs>\n {markers.map((marker, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n type=\"arrow\"\n strokeColor={marker.strokeColor}\n />\n ))}\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n <g\n className={classNames(\"cells\", { allowEdgeToArea })}\n ref={cellsRef}\n >\n {cells.map((cell) => (\n <CellComponent\n key={`${cell.type}:${cell.type === \"edge\" ? `${cell.source}~${cell.target}` : cell.id}`}\n layout={layout}\n cell={cell}\n cells={cells}\n degraded={degraded}\n degradedNodeLabel={degradedNodeLabel}\n defaultNodeBricks={defaultNodeBricks}\n transform={transform}\n lineConfMap={lineConfMap}\n activeTarget={activeTarget}\n unrelatedCells={unrelatedCells}\n onCellsMoving={handleCellsMoving}\n onCellsMoved={handleCellsMoved}\n onCellResizing={handleCellResizing}\n onCellResized={handleCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onCellContextMenu={onCellContextMenu}\n onDecoratorTextChange={onDecoratorTextChange}\n onDecoratorTextEditing={handleDecoratorTextEditing}\n onNodeBrickResize={handleNodeBrickResize}\n />\n ))}\n </g>\n <ConnectLineComponent\n connectLineState={connectLineState}\n transform={transform}\n markerEnd={`${markerPrefix}0`}\n onConnect={handleConnect}\n />\n {lassoRect && (\n <rect\n x={lassoRect.x}\n y={lassoRect.y}\n width={lassoRect.width}\n height={lassoRect.height}\n fill=\"var(--palette-gray-5)\"\n fillOpacity={0.3}\n stroke=\"var(--palette-gray-5)\"\n strokeDasharray={2}\n />\n )}\n </g>\n </svg>\n <ZoomBarComponent\n shadowRoot={host.shadowRoot!}\n scale={transform.k}\n scaleRange={scaleRange}\n onZoomChange={handleZoomSlide}\n onReCenter={reCenter}\n />\n </>\n );\n}\n\nfunction uuidV4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n","import type { ActiveTarget, Cell } from \"../interfaces\";\nimport { targetIsActive } from \"./targetIsActive\";\n\nexport type KeyboardAction = KeyboardActionDeleteCells;\n\nexport interface KeyboardActionDeleteCells {\n action: \"delete-cells\";\n cells: Cell[];\n}\n\nexport function handleKeyboard(\n event: KeyboardEvent,\n {\n cells,\n activeTarget,\n }: {\n cells: Cell[];\n activeTarget: ActiveTarget | null | undefined;\n }\n): KeyboardAction | undefined {\n const activeCells = cells.filter((cell) =>\n targetIsActive(cell, activeTarget)\n );\n\n if (activeCells.length === 0) {\n return;\n }\n\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n\n switch (key) {\n case \"Backspace\":\n case 8:\n case \"Delete\":\n case 46: {\n event.preventDefault();\n event.stopPropagation();\n return {\n action: \"delete-cells\",\n cells: activeCells,\n };\n }\n }\n}\n","import type { PositionTuple, TransformLiteral } from \"../../diagram/interfaces\";\nimport type { NodeView } from \"../interfaces\";\n\nexport interface HandleLassoOptions {\n transform: TransformLiteral;\n offset: PositionTuple;\n onLassoing(rect: NodeView): void;\n onLassoed(rect: NodeView): void;\n}\n\nexport function handleLasso(\n event: MouseEvent,\n { transform, offset, onLassoing, onLassoed }: HandleLassoOptions\n) {\n if (event.ctrlKey || event.button) {\n return;\n }\n\n event.stopPropagation();\n\n const from: PositionTuple = [event.clientX, event.clientY];\n const x0 = (event.clientX - offset[0] - transform.x) / transform.k;\n const y0 = (event.clientY - offset[1] - transform.y) / transform.k;\n\n function getMovement(e: MouseEvent): PositionTuple {\n return [\n (e.clientX - from[0]) / transform.k,\n (e.clientY - from[1]) / transform.k,\n ];\n }\n\n let moved = false;\n\n const handleMove = (e: MouseEvent, finished?: boolean) => {\n // Respect the scale\n const movement = getMovement(e);\n if (!moved) {\n moved = movement[0] ** 2 + movement[1] ** 2 >= 9;\n }\n if (moved) {\n let [width, height] = movement;\n let x = x0;\n let y = y0;\n if (width < 0) {\n x = x0 + width;\n width = -width;\n }\n if (height < 0) {\n y = y0 + height;\n height = -height;\n }\n (finished ? onLassoed : onLassoing)({\n x,\n y,\n width,\n height,\n });\n }\n };\n\n const onMouseMove = (e: MouseEvent) => {\n handleMove(e);\n };\n const onMouseUp = (e: MouseEvent) => {\n handleMove(e, true);\n moved = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}"],"names":["ConnectLineComponent","_ref","connectLineState","transform","markerEnd","onConnect","connectLineTo","setConnectLineTo","useState","useEffect","from","onMouseMove","e","clientX","x","offset","k","clientY","y","onMouseDown","stopPropagation","onClick","reset","document","removeEventListener","capture","addEventListener","React","className","classNames","connecting","d","concat","join","fill","stroke","strokeWidth","_EoDrawCanvas","lockBodyScroll","unwrapProvider","defineElement","property","method","event","createDecorators","EoDrawCanvasComponent","LegacyEoDrawCanvasComponent","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_EoDrawCanvas_brand","WeakSet","_handleActiveTargetChange","_handleSwitchActiveTarget","_T","_U","_handleCellMove","_V","_handleCellsMove","_W","_handleCellResize","_X","_Y","_handleCellDelete","_Z","_handleCellsDelete","_a","_handleCellContextMenu","_b","_handleDecoratorTextChange","_c","_handleScaleChange","_canvasRef","EoDrawCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_cells","_init_extra_cells","_init_layout","_init_extra_layout","_init_layoutOptions","_init_extra_layoutOptions","_init_defaultNodeSize","DEFAULT_NODE_SIZE","_init_extra_defaultNodeSize","_init_defaultNodeBricks","_init_extra_defaultNodeBricks","_init_degradedThreshold","_init_extra_degradedThreshold","_init_degradedNodeLabel","_init_extra_degradedNodeLabel","_init_defaultEdgeLines","_init_extra_defaultEdgeLines","_init_activeTarget","_init_extra_activeTarget","_init_fadeUnrelatedCells","_init_extra_fadeUnrelatedCells","_init_zoomable","_init_extra_zoomable","_init_scrollable","_init_extra_scrollable","_init_pannable","_init_extra_pannable","_init_selectable","_init_extra_selectable","_init_allowEdgeToArea","_init_extra_allowEdgeToArea","_init_dragBehavior","_init_extra_dragBehavior","_init_ctrlDragBehavior","_init_extra_ctrlDragBehavior","_init_scaleRange","_init_extra_scaleRange","_init_activeTargetChangeEvent","_init_extra_activeTargetChangeEvent","target","_classPrivateGetter","this","_get_activeTargetChangeEvent","emit","sameTarget","activeTarget","_init_nodeMoveEvent","_init_extra_nodeMoveEvent","_init_cellMoveEvent","_init_extra_cellMoveEvent","info","_get_cellMoveEvent","type","_get_nodeMoveEvent","_init_cellsMoveEvent","_init_extra_cellsMoveEvent","_get_cellsMoveEvent","_init_cellResizeEvent","_init_extra_cellResizeEvent","_get_cellResizeEvent","_init_nodeDelete","_init_extra_nodeDelete","_init_cellDelete","_init_extra_cellDelete","cell","_get_cellDelete","_get_nodeDelete","_init_cellsDelete","_init_extra_cellsDelete","cells","_get_cellsDelete","_init_cellContextMenu","_init_extra_cellContextMenu","detail","_get_cellContextMenu","_init_decoratorTextChange","_init_extra_decoratorTextChange","_get_decoratorTextChange","_init_scaleChange","_init_extra_scaleChange","scale","_get_scaleChange","createRef","_classPrivateFieldGet","v","_classPrivateFieldSet","layout","layoutOptions","defaultNodeSize","defaultNodeBricks","degradedThreshold","degradedNodeLabel","defaultEdgeLines","fadeUnrelatedCells","zoomable","scrollable","pannable","selectable","allowEdgeToArea","dragBehavior","ctrlDragBehavior","scaleRange","dropNode","_this","_asyncToGenerator","_document$elementsFro","_document","id","position","size","data","useBrick","elementsFromPoint","call","includes","_size$","_size$2","_classPrivateFieldGet2","boundingClientRect","getBoundingClientRect","current","getTransform","newNode","view","_objectSpread","left","top","width","height","dropDecorator","_ref2","_this2","_document$elementsFro2","_document2","decorator","text","_classPrivateFieldGet3","newDecorator","replace","c","r","Math","random","toString","DEFAULT_AREA_WIDTH","DEFAULT_AREA_HEIGHT","addNodes","nodes","_this3","length","newNodes","map","_ref3","_size$3","_size$4","canvasWidth","clientWidth","canvasHeight","clientHeight","addEdge","_ref4","_this4","_classPrivateFieldGet4","source","newEdge","manuallyConnectNodes","updateCells","ctx","_this5","_assertClassBrand","_waitForCanvasRef","updated","disconnectedCallback","super","render","host","ref","onActiveTargetChange","onSwitchActiveTarget","onCellMove","onCellsMove","onCellResize","onCellDelete","onCellsDelete","onCellContextMenu","onDecoratorTextChange","onScaleChange","Promise","resolve","check","setTimeout","_ref5","initialCells","_activeTarget","_scaleRange","layoutKey","dispatch","useReducer","rootReducer","initializeCells","degraded","useMemo","filter","isNodeCell","DEFAULT_DEGRADED_THRESHOLD","rootRef","useRef","cellsRef","manualConnectDeferredRef","editingTexts","setEditingTexts","grabbing","zoomer","useZoom","draggable","ctrlDraggable","lassoRect","setLassoRect","setConnectLineState","centered","setCentered","getNextLayoutKey","useLayout","useImperativeHandle","node","payload","_ref6","index","findLastIndex","newCells","slice","allCells","shouldReCenter","previousCells","edge","_updateCells","result","_objectWithoutProperties","_excluded","sourceId","find","isNodeOrAreaDecoratorCell","rect","reject","handleConnect","useCallback","state","to","_manualConnectDeferre2","i","_manualConnectDeferre","useActiveTarget","unrelatedCells","setUnrelatedCells","nextUnrelated","getUnrelatedCells","prev","root","onKeydown","action","handleKeyboard","defPrefix","uniqueId","markerPrefix","handleCellsMoving","handleCellsMoved","handleCellResizing","handleCellResized","handleDecoratorTextEditing","_ref7","editing","texts","handleNodeBrickResize","nextLayoutKey","handleZoomSlide","value","scaleTo","select","reCenter","lineConfMap","markers","useLineMarkers","ready","useReady","rootRect","handleLasso","onLassoing","onLassoed","lassoedCells","push","targets","cellToTarget","tabIndex","marker","MarkerComponent","key","strokeColor","CellComponent","onCellsMoving","onCellsMoved","onCellResizing","onCellResized","onDecoratorTextEditing","onNodeBrickResize","fillOpacity","strokeDasharray","ZoomBarComponent","shadowRoot","onZoomChange","onReCenter","_EoDrawCanvas2","_set_activeTargetChangeEvent","_set_nodeMoveEvent","_set_cellMoveEvent","_set_cellsMoveEvent","_set_cellResizeEvent","_set_nodeDelete","_set_cellDelete","_set_cellsDelete","_set_cellContextMenu","_set_decoratorTextChange","_set_scaleChange","_initClass","_applyDecs","styleTexts","styleText","zoomBarStyleText","attribute","String","Number","Boolean","o","_","has","_checkInRHS","activeCells","targetIsActive","keyCode","which","preventDefault","ctrlKey","button","x0","y0","moved","handleMove","finished","movement","getMovement","onMouseUp","asyncGeneratorStep","gen","_next","_throw","arg","error","done","then","fn","self","args","apply","err","undefined"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/eo-draw-canvas.06edfe6d.js","mappings":"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","sources":["webpack:///./src/draw-canvas/ConnectLineComponent.tsx","webpack:///./src/draw-canvas/index.tsx","webpack:///./src/draw-canvas/processors/handleKeyboard.ts","webpack:///./src/draw-canvas/processors/handleLasso.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { ConnectLineState } from \"./interfaces\";\nimport type { PositionTuple, TransformLiteral } from \"../diagram/interfaces\";\n\nexport interface ConnectLineComponentProps {\n connectLineState: ConnectLineState | null;\n transform: TransformLiteral;\n markerEnd: string;\n onConnect(state: ConnectLineState, to: PositionTuple): void;\n}\n\nexport function ConnectLineComponent({\n connectLineState,\n transform,\n markerEnd,\n onConnect,\n}: ConnectLineComponentProps): JSX.Element {\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple | null>(\n null\n );\n\n useEffect(() => {\n if (connectLineState) {\n setConnectLineTo(connectLineState.from);\n }\n }, [connectLineState]);\n\n useEffect(() => {\n if (connectLineState) {\n const onMouseMove = (e: MouseEvent) => {\n // Set connect line to based on the mouse position and the transform\n setConnectLineTo([\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const onMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n const onClick = (e: MouseEvent) => {\n e.stopPropagation();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n reset();\n onConnect(connectLineState, [\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const reset = () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mousedown\", onMouseDown, {\n capture: true,\n });\n document.removeEventListener(\"click\", onClick, { capture: true });\n setConnectLineTo(null);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mousedown\", onMouseDown, { capture: true });\n document.addEventListener(\"click\", onClick, { capture: true });\n\n return reset;\n }\n }, [connectLineState, onConnect, transform]);\n\n return (\n <path\n className={classNames(\"connect-line\", {\n connecting:\n !!connectLineState &&\n connectLineTo &&\n // Do not show when the distance of mouse move is less than 5px\n (connectLineTo[0] - connectLineState.from[0]) ** 2 +\n (connectLineTo[1] - connectLineState.from[1]) ** 2 >\n 25,\n })}\n d={\n connectLineState && connectLineTo\n ? `M${connectLineState.from.join(\" \")}L${connectLineTo.join(\" \")}`\n : \"\"\n }\n fill=\"none\"\n stroke=\"gray\"\n strokeWidth={1}\n markerEnd={`url(#${markerEnd})`}\n />\n );\n}\n","import React, {\n createRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { UseSingleBrickConf } from \"@next-core/react-runtime\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport \"@next-core/theme\";\nimport { uniqueId } from \"lodash\";\nimport classNames from \"classnames\";\nimport { select } from \"d3-selection\";\nimport type { lockBodyScroll as _lockBodyScroll } from \"@next-bricks/basic/data-providers/lock-body-scroll/lock-body-scroll\";\nimport type {\n PositionTuple,\n RangeTuple,\n SizeTuple,\n TransformLiteral,\n} from \"../diagram/interfaces\";\nimport type {\n ActiveTarget,\n Cell,\n EdgeCell,\n InitialCell,\n NodeBrickConf,\n NodeCell,\n NodeId,\n DecoratorCell,\n DecoratorType,\n CellContextMenuDetail,\n ConnectLineState,\n Deferred,\n ConnectNodesDetail,\n EdgeLineConf,\n DecoratorTextChangeDetail,\n NodeView,\n LayoutType,\n LayoutOptions,\n} from \"./interfaces\";\nimport { rootReducer } from \"./reducers\";\nimport { MarkerComponent } from \"../diagram/MarkerComponent\";\nimport { isNodeCell, isNodeOrAreaDecoratorCell } from \"./processors/asserts\";\nimport type { MoveCellPayload, ResizeCellPayload } from \"./reducers/interfaces\";\nimport { sameTarget } from \"./processors/sameTarget\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { CellComponent } from \"./CellComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { initializeCells } from \"./processors/initializeCells\";\nimport { updateCells } from \"./processors/updateCells\";\nimport { getUnrelatedCells } from \"./processors/getUnrelatedCells\";\nimport {\n DEFAULT_NODE_SIZE,\n DEFAULT_AREA_WIDTH,\n DEFAULT_AREA_HEIGHT,\n DEFAULT_DEGRADED_THRESHOLD,\n} from \"./constants\";\nimport { useZoom } from \"../shared/canvas/useZoom\";\nimport { useActiveTarget } from \"../shared/canvas/useActiveTarget\";\nimport { ZoomBarComponent } from \"../shared/canvas/ZoomBarComponent\";\nimport { useLayout } from \"../shared/canvas/useLayout\";\nimport { useReady } from \"../shared/canvas/useReady\";\nimport { useLineMarkers } from \"../shared/canvas/useLineMarkers\";\nimport { handleLasso } from \"./processors/handleLasso\";\nimport styleText from \"../shared/canvas/styles.shadow.css\";\nimport zoomBarStyleText from \"../shared/canvas/ZoomBarComponent.shadow.css\";\nimport { cellToTarget } from \"./processors/cellToTarget\";\n\nconst lockBodyScroll = unwrapProvider<typeof _lockBodyScroll>(\n \"basic.lock-body-scroll\"\n);\n\nconst { defineElement, property, method, event } = createDecorators();\n\nexport interface EoDrawCanvasProps {\n cells: InitialCell[] | undefined;\n layout: LayoutType;\n layoutOptions?: LayoutOptions;\n defaultNodeSize: SizeTuple;\n defaultNodeBricks?: NodeBrickConf[];\n defaultEdgeLines?: EdgeLineConf[];\n degradedThreshold?: number;\n degradedNodeLabel?: string;\n activeTarget?: ActiveTarget | null;\n fadeUnrelatedCells?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n dragBehavior?: DragBehavior;\n ctrlDragBehavior?: CtrlDragBehavior;\n scaleRange?: RangeTuple;\n allowEdgeToArea?: boolean;\n}\n\nexport type DragBehavior = \"none\" | \"lasso\" | \"grab\";\nexport type CtrlDragBehavior = \"none\" | \"grab\";\n\nexport interface DropNodeInfo extends AddNodeInfo {\n /** [PointerEvent::clientX, PointerEvent::clientY] */\n position: PositionTuple;\n}\n\nexport interface DropDecoratorInfo {\n decorator: DecoratorType;\n /** [PointerEvent::clientX, PointerEvent::clientY] */\n position: PositionTuple;\n text?: string;\n}\n\nexport interface AddNodeInfo {\n id: NodeId;\n useBrick?: UseSingleBrickConf;\n data?: unknown;\n size?: SizeTuple;\n}\n\nexport interface AddEdgeInfo {\n source: NodeId;\n target: NodeId;\n data?: unknown;\n}\n\nexport interface UpdateCellsContext {\n reason: \"add-related-nodes\";\n parent: NodeId;\n}\n\nexport interface AddNodesContext {\n defaultNodeSize: SizeTuple;\n canvasWidth: number;\n canvasHeight: number;\n}\n\nexport const EoDrawCanvasComponent = React.forwardRef(\n LegacyEoDrawCanvasComponent\n);\n\n/**\n * 用于手工绘图的画布。\n *\n * 注意:将配套另外一个用于展示的画布构件。\n */\nexport\n@defineElement(\"eo-draw-canvas\", {\n styleTexts: [styleText, zoomBarStyleText],\n})\nclass EoDrawCanvas extends ReactNextElement implements EoDrawCanvasProps {\n /**\n * 仅当初始化时使用,渲染后重新设置 `cells` 将无效。\n */\n @property({ attribute: false })\n accessor cells: InitialCell[] | undefined;\n\n @property({ type: String })\n accessor layout: LayoutType;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptions | undefined;\n\n @property({ attribute: false })\n accessor defaultNodeSize: SizeTuple = [DEFAULT_NODE_SIZE, DEFAULT_NODE_SIZE];\n\n @property({ attribute: false })\n accessor defaultNodeBricks: NodeBrickConf[] | undefined;\n\n /**\n * 当节点数量达到或超过 `degradedThreshold` 时,节点将被降级展示。\n *\n * @default 500\n */\n @property({ type: Number })\n accessor degradedThreshold: number | undefined;\n\n // Set `attribute` to `false` event if it accepts string value.\n // Because when passing like \"<% DATA.node.data.name %>\", it will be\n // evaluated as object temporarily.\n /**\n * 设置节点将降级展示时显示的名称。\n *\n * @default \"<% DATA.node.id %>\"\n */\n @property({ attribute: false })\n accessor degradedNodeLabel: string | undefined;\n\n /**\n * 使用条件判断设置默认的边对应的连线。在 `if` 表达式中 `DATA` 为 `{ edge }`,例如:\n *\n * ```yaml\n * defaultEdgeLines:\n * - if: <% DATA.edge.data?.virtual %>\n * dashed: true\n * ```\n */\n @property({ attribute: false })\n accessor defaultEdgeLines: EdgeLineConf[] | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n /**\n * 当 `activeTarget` 不为 `null` 时,隐藏其他跟该 `activeTarget` 无关的元素。\n */\n @property({ type: Boolean })\n accessor fadeUnrelatedCells: boolean | undefined;\n\n @property({ type: Boolean })\n accessor zoomable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor scrollable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor pannable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor selectable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor allowEdgeToArea: boolean | undefined = false;\n\n /**\n * 按住鼠标拖动时的行为:\n * - `none`:无\n * - `lasso`:绘制选区\n * - `grab`:拖动画布\n *\n * @default \"none\"\n */\n @property()\n accessor dragBehavior: DragBehavior | undefined;\n\n /**\n * 按住 ctrl 键并按住鼠标拖动时的行为:\n * - `none`:无\n * - `grab`:拖动画布\n *\n * @default \"none\"\n */\n @property()\n accessor ctrlDragBehavior: CtrlDragBehavior | undefined;\n\n @property({ attribute: false })\n accessor scaleRange: RangeTuple | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\n };\n\n /**\n * @deprecated Use `cell.move` instead.\n */\n @event({ type: \"node.move\" })\n accessor #nodeMoveEvent!: EventEmitter<MoveCellPayload>;\n\n @event({ type: \"cell.move\" })\n accessor #cellMoveEvent!: EventEmitter<MoveCellPayload>;\n\n #handleCellMove = (info: MoveCellPayload) => {\n this.#cellMoveEvent.emit(info);\n if (info.type === \"node\") {\n this.#nodeMoveEvent.emit(info);\n }\n };\n\n @event({ type: \"cells.move\" })\n accessor #cellsMoveEvent!: EventEmitter<MoveCellPayload[]>;\n\n #handleCellsMove = (info: MoveCellPayload[]) => {\n this.#cellsMoveEvent.emit(info);\n };\n\n @event({ type: \"cell.resize\" })\n accessor #cellResizeEvent!: EventEmitter<ResizeCellPayload>;\n\n #handleCellResize = (info: ResizeCellPayload) => {\n this.#cellResizeEvent.emit(info);\n };\n\n /**\n * @deprecated Use `cell.delete` instead.\n */\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<Cell>;\n\n @event({ type: \"cell.delete\" })\n accessor #cellDelete!: EventEmitter<Cell>;\n\n #handleCellDelete = (cell: Cell) => {\n this.#cellDelete.emit(cell);\n if (cell.type === \"node\") {\n this.#nodeDelete.emit(cell);\n }\n };\n\n @event({ type: \"cells.delete\" })\n accessor #cellsDelete!: EventEmitter<Cell[]>;\n\n #handleCellsDelete = (cells: Cell[]) => {\n this.#cellsDelete.emit(cells);\n };\n\n @event({ type: \"cell.contextmenu\" })\n accessor #cellContextMenu!: EventEmitter<CellContextMenuDetail>;\n\n #handleCellContextMenu = (detail: CellContextMenuDetail) => {\n this.#cellContextMenu.emit(detail);\n };\n\n @event({ type: \"decorator.text.change\" })\n accessor #decoratorTextChange!: EventEmitter<DecoratorTextChangeDetail>;\n\n #handleDecoratorTextChange = (detail: DecoratorTextChangeDetail) => {\n this.#decoratorTextChange.emit(detail);\n };\n\n /**\n * 缩放变化后,从素材库拖拽元素进画布时,拖拽图像应设置对应的缩放比例。\n */\n @event({ type: \"scale.change\" })\n accessor #scaleChange!: EventEmitter<number>;\n\n #handleScaleChange = (scale: number) => {\n this.#scaleChange.emit(scale);\n };\n\n @method()\n async dropNode({\n id,\n position,\n size,\n data,\n useBrick,\n }: DropNodeInfo): Promise<NodeCell | null> {\n // Drag and then drop a node\n const droppedInside = document\n .elementsFromPoint?.(position[0], position[1])\n ?.includes(this);\n if (droppedInside) {\n const boundingClientRect = this.getBoundingClientRect();\n const transform = this.#canvasRef.current!.getTransform();\n const newNode = {\n type: \"node\",\n id,\n view: {\n ...(this.layout === \"force\" || this.layout === \"dagre\"\n ? null\n : {\n x:\n (position[0] - boundingClientRect.left - transform.x) /\n transform.k,\n y:\n (position[1] - boundingClientRect.top - transform.y) /\n transform.k,\n }),\n width: size?.[0] ?? this.defaultNodeSize[0],\n height: size?.[1] ?? this.defaultNodeSize[0],\n },\n data,\n useBrick,\n } as NodeCell;\n this.#canvasRef.current?.dropNode(newNode);\n return newNode;\n }\n return null;\n }\n\n @method()\n async dropDecorator({\n position,\n decorator,\n text,\n }: DropDecoratorInfo): Promise<DecoratorCell | null> {\n // Drag and then drop a node\n const droppedInside = document\n .elementsFromPoint?.(position[0], position[1])\n ?.includes(this);\n if (droppedInside) {\n const boundingClientRect = this.getBoundingClientRect();\n const transform = this.#canvasRef.current!.getTransform();\n const newDecorator: DecoratorCell = {\n type: \"decorator\",\n decorator,\n id: uuidV4(),\n view: {\n x:\n (position[0] - boundingClientRect.left - transform.x) / transform.k,\n y: (position[1] - boundingClientRect.top - transform.y) / transform.k,\n width: DEFAULT_AREA_WIDTH,\n height: DEFAULT_AREA_HEIGHT,\n text,\n },\n };\n this.#canvasRef.current?.dropDecorator(newDecorator);\n return newDecorator;\n }\n return null;\n }\n\n @method()\n async addNodes(nodes: AddNodeInfo[]): Promise<NodeCell[]> {\n if (nodes.length === 0) {\n return [];\n }\n const newNodes = nodes.map<NodeCell>(({ size, useBrick, id, data }) => ({\n type: \"node\",\n id,\n data,\n view: {\n width: size?.[0] ?? this.defaultNodeSize[0],\n height: size?.[1] ?? this.defaultNodeSize[0],\n } as NodeView,\n useBrick,\n }));\n return this.#canvasRef.current!.addNodes(newNodes, {\n defaultNodeSize: this.defaultNodeSize,\n canvasWidth: this.clientWidth,\n canvasHeight: this.clientHeight,\n });\n }\n\n @method()\n async addEdge({ source, target, data }: AddEdgeInfo): Promise<EdgeCell> {\n const newEdge: EdgeCell = {\n type: \"edge\",\n source,\n target,\n data,\n };\n this.#canvasRef.current?.addEdge(newEdge);\n return newEdge;\n }\n\n @method()\n manuallyConnectNodes(source: NodeId): Promise<ConnectNodesDetail> {\n return this.#canvasRef.current!.manuallyConnectNodes(source);\n }\n\n @method()\n async updateCells(\n cells: InitialCell[],\n ctx?: UpdateCellsContext\n ): Promise<{ updated: Cell[] }> {\n await this.#waitForCanvasRef();\n const { updated } = this.#canvasRef.current!.updateCells(cells, {\n ...ctx,\n defaultNodeSize: this.defaultNodeSize,\n canvasWidth: this.clientWidth,\n canvasHeight: this.clientHeight,\n });\n return { updated };\n }\n\n #waitForCanvasRef() {\n return new Promise<void>((resolve) => {\n const check = () => {\n if (this.#canvasRef.current) {\n resolve();\n } else {\n setTimeout(check, 10);\n }\n };\n check();\n });\n }\n\n #canvasRef = createRef<DrawCanvasRef>();\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n lockBodyScroll(this, false);\n }\n\n render() {\n return (\n <EoDrawCanvasComponent\n host={this}\n ref={this.#canvasRef}\n layout={this.layout}\n layoutOptions={this.layoutOptions}\n cells={this.cells}\n defaultNodeSize={this.defaultNodeSize}\n defaultNodeBricks={this.defaultNodeBricks}\n defaultEdgeLines={this.defaultEdgeLines}\n degradedThreshold={this.degradedThreshold}\n degradedNodeLabel={this.degradedNodeLabel}\n activeTarget={this.activeTarget}\n fadeUnrelatedCells={this.fadeUnrelatedCells}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n dragBehavior={this.dragBehavior}\n ctrlDragBehavior={this.ctrlDragBehavior}\n scaleRange={this.scaleRange}\n allowEdgeToArea={this.allowEdgeToArea}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onCellMove={this.#handleCellMove}\n onCellsMove={this.#handleCellsMove}\n onCellResize={this.#handleCellResize}\n onCellDelete={this.#handleCellDelete}\n onCellsDelete={this.#handleCellsDelete}\n onCellContextMenu={this.#handleCellContextMenu}\n onDecoratorTextChange={this.#handleDecoratorTextChange}\n onScaleChange={this.#handleScaleChange}\n />\n );\n }\n}\n\nexport interface EoDrawCanvasComponentProps extends EoDrawCanvasProps {\n host: HTMLElement;\n onActiveTargetChange(target: ActiveTarget | null): void;\n onSwitchActiveTarget(target: ActiveTarget | null): void;\n onCellMove(info: MoveCellPayload): void;\n onCellResize(cell: ResizeCellPayload): void;\n onCellDelete(cell: Cell): void;\n onCellsMove(info: MoveCellPayload[]): void;\n onCellsDelete(cells: Cell[]): void;\n onCellContextMenu(detail: CellContextMenuDetail): void;\n onDecoratorTextChange(detail: DecoratorTextChangeDetail): void;\n onScaleChange(scale: number): void;\n}\n\nexport interface DrawCanvasRef {\n dropNode(node: NodeCell): void;\n dropDecorator(decorator: DecoratorCell): void;\n addNodes(nodes: NodeCell[], ctx: AddNodesContext): NodeCell[];\n addEdge(edge: EdgeCell): void;\n manuallyConnectNodes(source: NodeId): Promise<ConnectNodesDetail>;\n updateCells(\n cells: InitialCell[],\n ctx: Partial<UpdateCellsContext> & {\n defaultNodeSize: SizeTuple;\n canvasWidth: number;\n canvasHeight: number;\n }\n ): {\n cells: Cell[];\n updated: Cell[];\n };\n getTransform(): TransformLiteral;\n}\n\nfunction LegacyEoDrawCanvasComponent(\n {\n host,\n layout,\n layoutOptions,\n cells: initialCells,\n defaultNodeSize,\n defaultNodeBricks,\n defaultEdgeLines,\n degradedThreshold,\n degradedNodeLabel,\n activeTarget: _activeTarget,\n fadeUnrelatedCells,\n zoomable,\n scrollable,\n pannable,\n dragBehavior,\n ctrlDragBehavior,\n scaleRange: _scaleRange,\n allowEdgeToArea,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onCellMove,\n onCellResize,\n onCellDelete,\n onCellsMove,\n onCellsDelete,\n onCellContextMenu,\n onDecoratorTextChange,\n onScaleChange,\n }: EoDrawCanvasComponentProps,\n ref: React.Ref<DrawCanvasRef>\n) {\n const [{ cells, layoutKey }, dispatch] = useReducer(\n rootReducer,\n initialCells,\n (initialCells) => ({\n cells: initializeCells(initialCells, { defaultNodeSize }),\n layoutKey: 0,\n })\n );\n\n // When nodes are greater or equal to threshold, the diagram will be degraded.\n // Thus all nodes will be displayed as simple svg elements instead of bricks.\n const degraded = useMemo(\n () =>\n cells.filter(isNodeCell).length >=\n (degradedThreshold ?? DEFAULT_DEGRADED_THRESHOLD),\n [cells, degradedThreshold]\n );\n\n const rootRef = useRef<SVGSVGElement>(null);\n const cellsRef = useRef<SVGGElement>(null);\n const manualConnectDeferredRef = useRef<Deferred<ConnectNodesDetail> | null>(\n null\n );\n const [editingTexts, setEditingTexts] = useState<string[]>([]);\n const { grabbing, transform, zoomer, scaleRange } = useZoom({\n rootRef,\n zoomable,\n scrollable,\n pannable,\n draggable: dragBehavior === \"grab\",\n ctrlDraggable: ctrlDragBehavior === \"grab\",\n scaleRange: _scaleRange,\n onSwitchActiveTarget,\n });\n\n useEffect(() => {\n onScaleChange(transform.k);\n }, [onScaleChange, transform.k]);\n\n const [lassoRect, setLassoRect] = useState<NodeView | null>(null);\n\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n\n const { centered, setCentered, getNextLayoutKey } = useLayout({\n layout,\n layoutOptions,\n rootRef,\n cells,\n zoomable,\n zoomer,\n scaleRange,\n layoutKey,\n allowEdgeToArea,\n dispatch,\n });\n\n useImperativeHandle(\n ref,\n () => ({\n dropNode(node) {\n // Do not apply auto centering when dropping a node in manual layout.\n if (layout !== \"dagre\" && layout !== \"force\") {\n setCentered(true);\n }\n dispatch({ type: \"drop-node\", payload: node });\n },\n dropDecorator(decorator) {\n // Do not apply auto centering when dropping a decorator in manual layout.\n if (layout !== \"dagre\" && layout !== \"force\") {\n setCentered(true);\n }\n dispatch({ type: \"drop-decorator\", payload: decorator });\n },\n addNodes(\n nodes,\n { defaultNodeSize, canvasWidth, canvasHeight }: AddNodesContext\n ) {\n const index =\n cells.findLastIndex(\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n ) + 1;\n const newCells = [\n ...cells.slice(0, index),\n ...nodes,\n ...cells.slice(index),\n ];\n const {\n cells: allCells,\n updated,\n shouldReCenter,\n } = updateCells({\n cells: newCells,\n layout,\n previousCells: cells,\n defaultNodeSize,\n canvasWidth,\n canvasHeight,\n scaleRange,\n transform,\n allowEdgeToArea,\n });\n if (shouldReCenter) {\n setCentered(false);\n }\n dispatch({ type: \"update-cells\", payload: allCells });\n return updated.filter((node) =>\n nodes.includes(node as NodeCell)\n ) as NodeCell[];\n },\n addEdge(edge) {\n dispatch({ type: \"add-edge\", payload: edge });\n },\n updateCells(newCells, ctx) {\n const { shouldReCenter, ...result } = updateCells({\n ...ctx,\n layout,\n previousCells: cells,\n cells: newCells,\n scaleRange,\n transform,\n allowEdgeToArea,\n });\n if (shouldReCenter) {\n setCentered(false);\n }\n dispatch({ type: \"update-cells\", payload: result.cells });\n return result;\n },\n getTransform() {\n return transform;\n },\n manuallyConnectNodes(sourceId) {\n const source = cells.find(\n (cell) =>\n ((allowEdgeToArea && isNodeOrAreaDecoratorCell(cell)) ||\n isNodeCell(cell)) &&\n cell.id === sourceId\n ) as NodeCell | DecoratorCell | undefined;\n if (source) {\n const rect = rootRef.current!.getBoundingClientRect();\n setConnectLineState({\n source,\n from: [\n source.view.x + source.view.width / 2,\n source.view.y + source.view.height / 2,\n ],\n offset: [rect.left, rect.top],\n });\n const promise = new Promise<ConnectNodesDetail>((resolve, reject) => {\n manualConnectDeferredRef.current = { resolve, reject };\n });\n return promise;\n }\n return Promise.reject(null);\n },\n }),\n [cells, layout, scaleRange, setCentered, transform, allowEdgeToArea]\n );\n\n const handleConnect = useCallback(\n (state: ConnectLineState, to: PositionTuple) => {\n // Find the target node from top bo bottom,\n // detect whether the pointer is inside the target node.\n for (let i = cells.length - 1; i >= 0; i--) {\n const cell = cells[i];\n // Currently ignore connecting to self\n if (\n ((allowEdgeToArea && isNodeOrAreaDecoratorCell(cell)) ||\n isNodeCell(cell)) &&\n cell.id !== state.source.id\n ) {\n if (\n cell.view.x < to[0] &&\n cell.view.x + cell.view.width > to[0] &&\n cell.view.y < to[1] &&\n cell.view.y + cell.view.height > to[1]\n ) {\n manualConnectDeferredRef.current?.resolve({\n source: state.source,\n target: cell,\n });\n break;\n }\n }\n }\n manualConnectDeferredRef.current?.reject(null);\n setConnectLineState(null);\n },\n [cells]\n );\n\n useEffect(() => {\n lockBodyScroll(host, !!(connectLineState || lassoRect));\n }, [connectLineState, host, lassoRect]);\n\n const activeTarget = useActiveTarget({\n cellsRef,\n activeTarget: _activeTarget,\n onActiveTargetChange,\n });\n\n const [unrelatedCells, setUnrelatedCells] = useState<Cell[]>([]);\n useEffect(() => {\n const nextUnrelated = fadeUnrelatedCells\n ? getUnrelatedCells(\n cells,\n connectLineState,\n activeTarget,\n allowEdgeToArea\n )\n : [];\n // Do not update the state when prev and next are both empty.\n setUnrelatedCells((prev) =>\n prev.length === 0 && nextUnrelated.length === 0 ? prev : nextUnrelated\n );\n }, [\n activeTarget,\n cells,\n connectLineState,\n fadeUnrelatedCells,\n allowEdgeToArea,\n ]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || editingTexts.length > 0) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n cells,\n activeTarget,\n });\n\n switch (action?.action) {\n case \"delete-cells\":\n onCellsDelete(action.cells);\n if (action.cells.length === 1) {\n onCellDelete(action.cells[0]);\n }\n break;\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [activeTarget, cells, editingTexts.length, onCellDelete, onCellsDelete]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n\n const handleCellsMoving = useCallback((info: MoveCellPayload[]) => {\n dispatch({ type: \"move-cells\", payload: info });\n }, []);\n\n const handleCellsMoved = useCallback(\n (info: MoveCellPayload[]) => {\n dispatch({ type: \"move-cells\", payload: info });\n onCellsMove(info);\n if (info.length === 1) {\n onCellMove(info[0]);\n }\n },\n [onCellMove, onCellsMove]\n );\n\n const handleCellResizing = useCallback((info: ResizeCellPayload) => {\n dispatch({ type: \"resize-cell\", payload: info });\n }, []);\n\n const handleCellResized = useCallback(\n (info: ResizeCellPayload) => {\n dispatch({ type: \"resize-cell\", payload: info });\n onCellResize(info);\n },\n [onCellResize]\n );\n\n const handleDecoratorTextEditing = useCallback(\n ({ id, editing }: { id: string; editing: boolean }) => {\n if (editing) {\n setEditingTexts((texts) =>\n texts.includes(id) ? texts : [...texts, id]\n );\n } else {\n setEditingTexts((texts) => texts.filter((text) => text !== id));\n }\n },\n []\n );\n\n const handleNodeBrickResize = useCallback(\n (id: string, size: SizeTuple | null) => {\n const nextLayoutKey = getNextLayoutKey();\n dispatch({\n type: \"update-node-size\",\n payload: { id, size },\n layoutKey: nextLayoutKey,\n });\n },\n [getNextLayoutKey]\n );\n\n const handleZoomSlide = useCallback(\n (value: number) => {\n // istanbul ignore next\n if (process.env.NODE_ENV !== \"test\") {\n zoomer.scaleTo(select(rootRef.current!), value / 100);\n }\n },\n [zoomer]\n );\n\n const reCenter = useCallback(() => {\n setCentered(false);\n }, [setCentered]);\n const [lineConfMap, markers] = useLineMarkers({\n cells,\n defaultEdgeLines,\n markerPrefix,\n });\n\n const ready = useReady({ cells, layout, centered });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || dragBehavior !== \"lasso\") {\n return;\n }\n const rootRect = root.getBoundingClientRect();\n const onMouseDown = (event: MouseEvent) => {\n handleLasso(event, {\n transform,\n offset: [rootRect.left, rootRect.top],\n onLassoing(rect) {\n setLassoRect(rect);\n },\n onLassoed(rect) {\n setLassoRect(null);\n const lassoedCells: (NodeCell | DecoratorCell)[] = [];\n for (const cell of cells) {\n // Currently only nodes and area decorators are supported to be lassoed.\n // Because edges and text decorators currently has no accurate size info.\n if (isNodeOrAreaDecoratorCell(cell)) {\n const x = cell.view.x;\n const y = cell.view.y;\n if (\n x >= rect.x &&\n x + cell.view.width <= rect.x + rect.width &&\n y >= rect.y &&\n y + cell.view.height <= rect.y + rect.height\n ) {\n lassoedCells.push(cell);\n }\n }\n }\n onSwitchActiveTarget?.(\n lassoedCells.length > 1\n ? { type: \"multi\", targets: lassoedCells.map(cellToTarget) }\n : lassoedCells.length === 1\n ? cellToTarget(lassoedCells[0])\n : null\n );\n },\n });\n };\n root.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n root.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [transform, cells, dragBehavior, onSwitchActiveTarget]);\n\n return (\n <>\n <svg\n width=\"100%\"\n height=\"100%\"\n ref={rootRef}\n className={classNames(\"root\", { grabbing, pannable, ready })}\n tabIndex={-1}\n >\n <defs>\n {markers.map((marker, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n type=\"arrow\"\n strokeColor={marker.strokeColor}\n />\n ))}\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n <g\n className={classNames(\"cells\", { allowEdgeToArea })}\n ref={cellsRef}\n >\n {cells.map((cell) => (\n <CellComponent\n key={`${cell.type}:${cell.type === \"edge\" ? `${cell.source}~${cell.target}` : cell.id}`}\n layout={layout}\n cell={cell}\n cells={cells}\n degraded={degraded}\n degradedNodeLabel={degradedNodeLabel}\n defaultNodeBricks={defaultNodeBricks}\n transform={transform}\n lineConfMap={lineConfMap}\n activeTarget={activeTarget}\n unrelatedCells={unrelatedCells}\n onCellsMoving={handleCellsMoving}\n onCellsMoved={handleCellsMoved}\n onCellResizing={handleCellResizing}\n onCellResized={handleCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onCellContextMenu={onCellContextMenu}\n onDecoratorTextChange={onDecoratorTextChange}\n onDecoratorTextEditing={handleDecoratorTextEditing}\n onNodeBrickResize={handleNodeBrickResize}\n />\n ))}\n </g>\n <ConnectLineComponent\n connectLineState={connectLineState}\n transform={transform}\n markerEnd={`${markerPrefix}0`}\n onConnect={handleConnect}\n />\n {lassoRect && (\n <rect\n x={lassoRect.x}\n y={lassoRect.y}\n width={lassoRect.width}\n height={lassoRect.height}\n fill=\"var(--palette-gray-5)\"\n fillOpacity={0.3}\n stroke=\"var(--palette-gray-5)\"\n strokeDasharray={2}\n />\n )}\n </g>\n </svg>\n <ZoomBarComponent\n shadowRoot={host.shadowRoot!}\n scale={transform.k}\n scaleRange={scaleRange}\n onZoomChange={handleZoomSlide}\n onReCenter={reCenter}\n />\n </>\n );\n}\n\nfunction uuidV4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n","import type { ActiveTarget, Cell } from \"../interfaces\";\nimport { targetIsActive } from \"./targetIsActive\";\n\nexport type KeyboardAction = KeyboardActionDeleteCells;\n\nexport interface KeyboardActionDeleteCells {\n action: \"delete-cells\";\n cells: Cell[];\n}\n\nexport function handleKeyboard(\n event: KeyboardEvent,\n {\n cells,\n activeTarget,\n }: {\n cells: Cell[];\n activeTarget: ActiveTarget | null | undefined;\n }\n): KeyboardAction | undefined {\n const activeCells = cells.filter((cell) =>\n targetIsActive(cell, activeTarget)\n );\n\n if (activeCells.length === 0) {\n return;\n }\n\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n\n switch (key) {\n case \"Backspace\":\n case 8:\n case \"Delete\":\n case 46: {\n event.preventDefault();\n event.stopPropagation();\n return {\n action: \"delete-cells\",\n cells: activeCells,\n };\n }\n }\n}\n","import type { PositionTuple, TransformLiteral } from \"../../diagram/interfaces\";\nimport type { NodeView } from \"../interfaces\";\n\nexport interface HandleLassoOptions {\n transform: TransformLiteral;\n offset: PositionTuple;\n onLassoing(rect: NodeView): void;\n onLassoed(rect: NodeView): void;\n}\n\nexport function handleLasso(\n event: MouseEvent,\n { transform, offset, onLassoing, onLassoed }: HandleLassoOptions\n) {\n if (event.ctrlKey || event.button) {\n return;\n }\n\n event.stopPropagation();\n\n const from: PositionTuple = [event.clientX, event.clientY];\n const x0 = (event.clientX - offset[0] - transform.x) / transform.k;\n const y0 = (event.clientY - offset[1] - transform.y) / transform.k;\n\n function getMovement(e: MouseEvent): PositionTuple {\n return [\n (e.clientX - from[0]) / transform.k,\n (e.clientY - from[1]) / transform.k,\n ];\n }\n\n let moved = false;\n\n const handleMove = (e: MouseEvent, finished?: boolean) => {\n // Respect the scale\n const movement = getMovement(e);\n if (!moved) {\n moved = movement[0] ** 2 + movement[1] ** 2 >= 9;\n }\n if (moved) {\n let [width, height] = movement;\n let x = x0;\n let y = y0;\n if (width < 0) {\n x = x0 + width;\n width = -width;\n }\n if (height < 0) {\n y = y0 + height;\n height = -height;\n }\n (finished ? onLassoed : onLassoing)({\n x,\n y,\n width,\n height,\n });\n }\n };\n\n const onMouseMove = (e: MouseEvent) => {\n handleMove(e);\n };\n const onMouseUp = (e: MouseEvent) => {\n handleMove(e, true);\n moved = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}"],"names":["ConnectLineComponent","_ref","connectLineState","transform","markerEnd","onConnect","connectLineTo","setConnectLineTo","useState","useEffect","from","onMouseMove","e","clientX","x","offset","k","clientY","y","onMouseDown","stopPropagation","onClick","reset","document","removeEventListener","capture","addEventListener","React","className","classNames","connecting","d","concat","join","fill","stroke","strokeWidth","_EoDrawCanvas","lockBodyScroll","unwrapProvider","defineElement","property","method","event","createDecorators","EoDrawCanvasComponent","LegacyEoDrawCanvasComponent","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_EoDrawCanvas_brand","WeakSet","_handleActiveTargetChange","_handleSwitchActiveTarget","_T","_U","_handleCellMove","_V","_handleCellsMove","_W","_handleCellResize","_X","_Y","_handleCellDelete","_Z","_handleCellsDelete","_a","_handleCellContextMenu","_b","_handleDecoratorTextChange","_c","_handleScaleChange","_canvasRef","EoDrawCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_cells","_init_extra_cells","_init_layout","_init_extra_layout","_init_layoutOptions","_init_extra_layoutOptions","_init_defaultNodeSize","DEFAULT_NODE_SIZE","_init_extra_defaultNodeSize","_init_defaultNodeBricks","_init_extra_defaultNodeBricks","_init_degradedThreshold","_init_extra_degradedThreshold","_init_degradedNodeLabel","_init_extra_degradedNodeLabel","_init_defaultEdgeLines","_init_extra_defaultEdgeLines","_init_activeTarget","_init_extra_activeTarget","_init_fadeUnrelatedCells","_init_extra_fadeUnrelatedCells","_init_zoomable","_init_extra_zoomable","_init_scrollable","_init_extra_scrollable","_init_pannable","_init_extra_pannable","_init_selectable","_init_extra_selectable","_init_allowEdgeToArea","_init_extra_allowEdgeToArea","_init_dragBehavior","_init_extra_dragBehavior","_init_ctrlDragBehavior","_init_extra_ctrlDragBehavior","_init_scaleRange","_init_extra_scaleRange","_init_activeTargetChangeEvent","_init_extra_activeTargetChangeEvent","target","_classPrivateGetter","this","_get_activeTargetChangeEvent","emit","sameTarget","activeTarget","_init_nodeMoveEvent","_init_extra_nodeMoveEvent","_init_cellMoveEvent","_init_extra_cellMoveEvent","info","_get_cellMoveEvent","type","_get_nodeMoveEvent","_init_cellsMoveEvent","_init_extra_cellsMoveEvent","_get_cellsMoveEvent","_init_cellResizeEvent","_init_extra_cellResizeEvent","_get_cellResizeEvent","_init_nodeDelete","_init_extra_nodeDelete","_init_cellDelete","_init_extra_cellDelete","cell","_get_cellDelete","_get_nodeDelete","_init_cellsDelete","_init_extra_cellsDelete","cells","_get_cellsDelete","_init_cellContextMenu","_init_extra_cellContextMenu","detail","_get_cellContextMenu","_init_decoratorTextChange","_init_extra_decoratorTextChange","_get_decoratorTextChange","_init_scaleChange","_init_extra_scaleChange","scale","_get_scaleChange","createRef","_classPrivateFieldGet","v","_classPrivateFieldSet","layout","layoutOptions","defaultNodeSize","defaultNodeBricks","degradedThreshold","degradedNodeLabel","defaultEdgeLines","fadeUnrelatedCells","zoomable","scrollable","pannable","selectable","allowEdgeToArea","dragBehavior","ctrlDragBehavior","scaleRange","dropNode","_this","_asyncToGenerator","_document$elementsFro","_document","id","position","size","data","useBrick","elementsFromPoint","call","includes","_size$","_size$2","_classPrivateFieldGet2","boundingClientRect","getBoundingClientRect","current","getTransform","newNode","view","_objectSpread","left","top","width","height","dropDecorator","_ref2","_this2","_document$elementsFro2","_document2","decorator","text","_classPrivateFieldGet3","newDecorator","replace","c","r","Math","random","toString","DEFAULT_AREA_WIDTH","DEFAULT_AREA_HEIGHT","addNodes","nodes","_this3","length","newNodes","map","_ref3","_size$3","_size$4","canvasWidth","clientWidth","canvasHeight","clientHeight","addEdge","_ref4","_this4","_classPrivateFieldGet4","source","newEdge","manuallyConnectNodes","updateCells","ctx","_this5","_assertClassBrand","_waitForCanvasRef","updated","disconnectedCallback","super","render","host","ref","onActiveTargetChange","onSwitchActiveTarget","onCellMove","onCellsMove","onCellResize","onCellDelete","onCellsDelete","onCellContextMenu","onDecoratorTextChange","onScaleChange","Promise","resolve","check","setTimeout","_ref5","initialCells","_activeTarget","_scaleRange","layoutKey","dispatch","useReducer","rootReducer","initializeCells","degraded","useMemo","filter","isNodeCell","DEFAULT_DEGRADED_THRESHOLD","rootRef","useRef","cellsRef","manualConnectDeferredRef","editingTexts","setEditingTexts","grabbing","zoomer","useZoom","draggable","ctrlDraggable","lassoRect","setLassoRect","setConnectLineState","centered","setCentered","getNextLayoutKey","useLayout","useImperativeHandle","node","payload","_ref6","index","findLastIndex","newCells","slice","allCells","shouldReCenter","previousCells","edge","_updateCells","result","_objectWithoutProperties","_excluded","sourceId","find","isNodeOrAreaDecoratorCell","rect","reject","handleConnect","useCallback","state","to","_manualConnectDeferre2","i","_manualConnectDeferre","useActiveTarget","unrelatedCells","setUnrelatedCells","nextUnrelated","getUnrelatedCells","prev","root","onKeydown","action","handleKeyboard","defPrefix","uniqueId","markerPrefix","handleCellsMoving","handleCellsMoved","handleCellResizing","handleCellResized","handleDecoratorTextEditing","_ref7","editing","texts","handleNodeBrickResize","nextLayoutKey","handleZoomSlide","value","scaleTo","select","reCenter","lineConfMap","markers","useLineMarkers","ready","useReady","rootRect","handleLasso","onLassoing","onLassoed","lassoedCells","push","targets","cellToTarget","tabIndex","marker","MarkerComponent","key","strokeColor","CellComponent","onCellsMoving","onCellsMoved","onCellResizing","onCellResized","onDecoratorTextEditing","onNodeBrickResize","fillOpacity","strokeDasharray","ZoomBarComponent","shadowRoot","onZoomChange","onReCenter","_EoDrawCanvas2","_set_activeTargetChangeEvent","_set_nodeMoveEvent","_set_cellMoveEvent","_set_cellsMoveEvent","_set_cellResizeEvent","_set_nodeDelete","_set_cellDelete","_set_cellsDelete","_set_cellContextMenu","_set_decoratorTextChange","_set_scaleChange","_initClass","_applyDecs","styleTexts","styleText","zoomBarStyleText","attribute","String","Number","Boolean","o","_","has","_checkInRHS","activeCells","targetIsActive","keyCode","which","preventDefault","ctrlKey","button","x0","y0","moved","handleMove","finished","movement","getMovement","onMouseUp","asyncGeneratorStep","gen","_next","_throw","arg","error","done","then","fn","self","args","apply","err","undefined"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var e,t,r,n,a,o,l,i,c,d,u,s,f,h,p,m,b,v,g,x={7934:(e,t,r)=>{Promise.all([r.e(6862),r.e(9829),r.e(1094),r.e(8769),r.e(1030),r.e(3741),r.e(6430),r.e(9387),r.e(6329),r.e(9435),r.e(7860),r.e(8945),r.e(2272),r.e(2416),r.e(4937)]).then(r.bind(r,6663))}},y={};function P(e){var t=y[e];if(void 0!==t)return t.exports;var r=y[e]={id:e,loaded:!1,exports:{}};return x[e].call(r.exports,r,r.exports,P),r.loaded=!0,r.exports}P.m=x,P.c=y,P.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return P.d(t,{a:t}),t},P.d=(e,t)=>{for(var r in t)P.o(t,r)&&!P.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},P.f={},P.e=e=>Promise.all(Object.keys(P.f).reduce(((t,r)=>(P.f[r](e,t),t)),[])),P.u=e=>"chunks/"+e+"."+{114:"0fed46c8",726:"b7728fa4",871:"125da900",1030:"d12d7dee",1045:"ac6c60e2",1094:"409d5d0b",1122:"33c74970",1302:"c06bd17d",1370:"c61e5a57",1889:"2651522f",1940:"573ead6c",2052:"fa66eafb",2056:"e778515d",2272:"31714f3f",2277:"9de8240f",2416:"8f1773c2",2570:"d485a174",3144:"712fb13e",3171:"7841b300",3426:"97abf5c1",3741:"bc7ca431",3933:"b49995e0",4041:"58c8ed1f",4658:"05a65380",4741:"eda28116",4937:"1a9e909c",5217:"29f22efc",5250:"f7dfb399",5384:"f1a69526",5399:"99cc03a0",5552:"0888ad20",6314:"5bd64484",6329:"fb15509f",6430:"ed6021d5",6519:"9c35628c",6688:"714d3e8b",6773:"e196650d",6862:"15908a98",7068:"5f7bd6ea",7115:"6532f6fd",7304:"83b52b1e",7721:"d1e6cb79",7733:"e6ae1e4d",7780:"bbd9990e",7860:"9860eb70",7920:"fc2cdfe0",8769:"70cc3f88",8945:"a37c5fd9",8989:"45ff7d3e",9248:"d84c29fb",9387:"b1d82824",9435:"6399b327",9496:"b0cf00a2",9515:"c8266f33",9559:"6ed57ce3",9572:"5ed04e64",9755:"4e984117",9829:"5fa7ccb3",9844:"db90776a"}[e]+".js",P.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),P.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/diagram:",P.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var u=c[d];if(u.getAttribute("src")==r||u.getAttribute("data-webpack")==t+a){l=u;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,P.nc&&l.setAttribute("nonce",P.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var s=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},f=setTimeout(s.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=s.bind(null,l.onerror),l.onload=s.bind(null,l.onload),i&&document.head.appendChild(l)}},P.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},P.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{P.S={};var e={},t={};P.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];P.o(P.S,r)||(P.S[r]={});var o=P.S[r],l="@next-bricks/diagram",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.24.4",(()=>P.e(6773).then((()=>()=>P(6773))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([P.e(4741),P.e(1030),P.e(6688)]).then((()=>()=>P(4741))))),i("@next-core/cook","2.2.16",(()=>Promise.all([P.e(1122),P.e(2570)]).then((()=>()=>P(1122))))),i("@next-core/element","1.2.7",(()=>P.e(1045).then((()=>()=>P(1045))))),i("@next-core/http","1.2.2",(()=>P.e(8989).then((()=>()=>P(8989))))),i("@next-core/i18n","1.0.46",(()=>Promise.all([P.e(9387),P.e(9572),P.e(9755),P.e(5552)]).then((()=>()=>P(5552))))),i("@next-core/inject","1.0.35",(()=>Promise.all([P.e(1030),P.e(5217),P.e(2277)]).then((()=>()=>P(2277))))),i("@next-core/loader","1.5.8",(()=>P.e(5399).then((()=>()=>P(7780))))),i("@next-core/pipes","2.0.20",(()=>P.e(6519).then((()=>()=>P(6519))))),i("@next-core/react-element","1.0.26",(()=>Promise.all([P.e(8769),P.e(3741),P.e(9435),P.e(114)]).then((()=>()=>P(114))))),i("@next-core/react-runtime","1.5.0",(()=>Promise.all([P.e(8769),P.e(1030),P.e(6430),P.e(7860),P.e(7115)]).then((()=>()=>P(7115))))),i("@next-core/runtime","1.44.0",(()=>Promise.all([P.e(6862),P.e(9248),P.e(1030),P.e(9387),P.e(1302),P.e(9572),P.e(7068),P.e(2056),P.e(7920)]).then((()=>()=>P(9248))))),i("@next-core/supply","2.1.15",(()=>Promise.all([P.e(1030),P.e(5217),P.e(1302),P.e(9559)]).then((()=>()=>P(9559))))),i("@next-core/theme","1.5.0",(()=>Promise.all([P.e(1889),P.e(2052)]).then((()=>()=>P(1889))))),i("@next-core/utils/general","1.7.4",(()=>P.e(871).then((()=>()=>P(871))))),i("@next-core/utils/storyboard","1.7.4",(()=>Promise.all([P.e(9387),P.e(7068),P.e(3933)]).then((()=>()=>P(3933))))),i("history","4.10.1",(()=>P.e(5384).then((()=>()=>P(5384))))),i("i18next-browser-languagedetector","7.2.1",(()=>P.e(726).then((()=>()=>P(726))))),i("i18next","22.5.1",(()=>P.e(7304).then((()=>()=>P(7304))))),i("js-yaml","3.14.1",(()=>P.e(9515).then((()=>()=>P(9515))))),i("lodash","4.17.21",(()=>P.e(5250).then((()=>()=>P(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(1329))))),i("moment","2.30.1",(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([P.e(3144),P.e(8769)]).then((()=>()=>P(3144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>P.e(4041).then((()=>()=>P(4041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;P.g.importScripts&&(e=P.g.location+"");var t=P.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),P.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var d,u,s=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(u=(typeof(d=t[l]))[0]))return!c||("u"==s?i>n&&!a:""==s!=a);if("u"==u){if(!c||"u"!=s)return!1}else if(c)if(s==u)if(i<=n){if(d!=e[i])return!1}else{if(a?d>e[i]:d<e[i])return!1;d!=e[i]&&(c=!1)}else if("s"!=s&&"n"!=s){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||u<s!=a)return!1;c=!1}else"s"!=s&&"n"!=s&&(c=!1,i--)}}var f=[],h=f.pop.bind(f);for(l=1;l<e.length;l++){var p=e[l];f.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},i=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",c=(e,t,r,n)=>{var a=l(e,r);return o(n,a)||u(i(e,r,a,n)),s(e[r][a])},d=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},s=e=>(e.loaded=1,e.get()),h=(f=e=>function(t,r,n,a){var o=P.I(t);return o&&o.then?o.then(e.bind(e,t,P.S[t],r,n,a)):e(t,P.S[t],r,n,a)})(((e,t,r,n,a)=>t&&P.o(t,r)?c(t,0,r,n):a())),p=f(((e,t,r,n,a)=>{var o=t&&P.o(t,r)&&d(t,r,n);return o?s(o):a()})),m={},b={8769:()=>p("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>P.e(4041).then((()=>()=>P(4041))))),1030:()=>h("default","lodash",[1,4,17,21],(()=>P.e(5250).then((()=>()=>P(5250))))),3741:()=>p("default","@next-core/element",[1,1,2,7],(()=>P.e(3426).then((()=>()=>P(1045))))),6430:()=>p("default","@next-core/react-element",[1,1,0,26],(()=>Promise.all([P.e(3741),P.e(9435),P.e(7733)]).then((()=>()=>P(114))))),9387:()=>h("default","@next-core/utils/general",[1,1,7,4],(()=>P.e(871).then((()=>()=>P(871))))),6329:()=>h("default","@next-core/theme",[1,1,5,0],(()=>P.e(1889).then((()=>()=>P(1889))))),9435:()=>p("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>P.e(3144).then((()=>()=>P(3144))))),7860:()=>h("default","@next-core/runtime",[1,1,44,0],(()=>Promise.all([P.e(6862),P.e(9248),P.e(9387),P.e(1302),P.e(9572),P.e(7068),P.e(2056)]).then((()=>()=>P(9248))))),8945:()=>p("default","@next-core/react-runtime",[1,1,5,0],(()=>P.e(9496).then((()=>()=>P(7115))))),3496:()=>h("default","@next-core/http",[1,1,0,6],(()=>P.e(1370).then((()=>()=>P(8989))))),1204:()=>h("default","js-yaml",[1,3,14,0],(()=>P.e(9515).then((()=>()=>P(9515))))),8297:()=>h("default","moment",[1,2,27,0],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),2570:()=>h("default","@babel/parser",[1,7,24,5],(()=>P.e(6773).then((()=>()=>P(6773))))),9572:()=>h("default","@next-core/i18n",[1,1,0,46],(()=>Promise.all([P.e(9755),P.e(3171)]).then((()=>()=>P(5552))))),2350:()=>h("default","i18next",[1,22,5,1],(()=>P.e(7304).then((()=>()=>P(7304))))),7072:()=>h("default","i18next-browser-languagedetector",[1,7,2,1],(()=>P.e(726).then((()=>()=>P(726))))),5217:()=>h("default","@next-core/pipes",[1,2,0,20],(()=>P.e(6519).then((()=>()=>P(6519))))),161:()=>h("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([P.e(4741),P.e(1030),P.e(6688)]).then((()=>()=>P(4741))))),1302:()=>h("default","moment",[1,2,30,1],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),7068:()=>h("default","@next-core/cook",[1,2,2,16],(()=>Promise.all([P.e(1122),P.e(2570)]).then((()=>()=>P(1122))))),2296:()=>h("default","@next-core/supply",[1,2,1,15],(()=>Promise.all([P.e(5217),P.e(1940)]).then((()=>()=>P(9559))))),2890:()=>h("default","history",[1,4,10,1],(()=>P.e(5384).then((()=>()=>P(5384))))),3743:()=>h("default","@next-core/utils/storyboard",[1,1,7,4],(()=>P.e(6314).then((()=>()=>P(3933))))),5866:()=>h("default","@next-core/http",[1,1,2,2],(()=>P.e(1370).then((()=>()=>P(8989))))),6036:()=>h("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(1329))))),6172:()=>h("default","@next-core/inject",[1,1,0,35],(()=>Promise.all([P.e(5217),P.e(4658)]).then((()=>()=>P(2277))))),8555:()=>h("default","@next-core/loader",[1,1,5,8],(()=>P.e(7780).then((()=>()=>P(7780)))))},v={1030:[1030],1302:[1302],2056:[2296,2890,3743,5866,6036,6172,8555],2416:[3496],2570:[2570],3741:[3741],5217:[5217],6329:[6329],6430:[6430],6519:[161],6688:[1204,8297],7068:[7068],7860:[7860],8769:[8769],8945:[8945],9387:[9387],9435:[9435],9572:[9572],9755:[2350,7072]},g={},P.f.consumes=(e,t)=>{P.o(v,e)&&v[e].forEach((e=>{if(P.o(m,e))return t.push(m[e]);if(!g[e]){var r=t=>{m[e]=0,P.m[e]=r=>{delete P.c[e],r.exports=t()}};g[e]=!0;var n=t=>{delete m[e],P.m[e]=r=>{throw delete P.c[e],t}};try{var a=b[e]();a.then?t.push(m[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{var e={8792:0};P.f.j=(t,r)=>{var n=P.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(6(329|430|688)|9(387|435|572|755)|(103|257|786)0|1302|2056|3741|5217|7068|8769|8945)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=P.p+P.u(t),l=new Error;P.l(o,(r=>{if(P.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)P.o(l,n)&&(P.m[n]=l[n]);i&&i(P)}for(t&&t(r);c<o.length;c++)a=o[c],P.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),P.nc=void 0,P(7934)})();
|
|
2
|
-
//# sourceMappingURL=main.
|
|
1
|
+
(()=>{var e,t,r,n,a,o,l,i,c,f,u,d,s,h,p,m,b,v,g,x={7934:(e,t,r)=>{Promise.all([r.e(6862),r.e(9829),r.e(1094),r.e(8769),r.e(1030),r.e(3741),r.e(6430),r.e(7408),r.e(6329),r.e(9435),r.e(9974),r.e(7967),r.e(2272),r.e(2416),r.e(4937)]).then(r.bind(r,6663))}},y={};function P(e){var t=y[e];if(void 0!==t)return t.exports;var r=y[e]={id:e,loaded:!1,exports:{}};return x[e].call(r.exports,r,r.exports,P),r.loaded=!0,r.exports}P.m=x,P.c=y,P.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return P.d(t,{a:t}),t},P.d=(e,t)=>{for(var r in t)P.o(t,r)&&!P.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},P.f={},P.e=e=>Promise.all(Object.keys(P.f).reduce(((t,r)=>(P.f[r](e,t),t)),[])),P.u=e=>"chunks/"+e+"."+{114:"0fed46c8",726:"b7728fa4",871:"b6b8daa8",1030:"d12d7dee",1045:"ac6c60e2",1094:"409d5d0b",1122:"33c74970",1302:"c06bd17d",1370:"c61e5a57",1889:"2651522f",1940:"573ead6c",2052:"fa66eafb",2272:"0b667e66",2277:"9de8240f",2416:"3143537b",2570:"d485a174",2963:"f5e2b31a",3144:"654f7d07",3171:"c3b6757d",3426:"97abf5c1",3741:"bc7ca431",3933:"e36ae0e2",4041:"58c8ed1f",4658:"05a65380",4741:"eda28116",4937:"3ea6fc61",5217:"29f22efc",5250:"f7dfb399",5384:"f1a69526",5399:"99cc03a0",5477:"902e95c3",5552:"b92ec06e",6314:"323a7ea5",6329:"fb15509f",6430:"ed6021d5",6519:"9c35628c",6688:"714d3e8b",6773:"e196650d",6862:"15908a98",7068:"5f7bd6ea",7115:"b2e2c298",7304:"83b52b1e",7408:"faa5ac62",7721:"d1e6cb79",7733:"e6ae1e4d",7780:"bbd9990e",7920:"fc2cdfe0",7967:"5c4f41b2",8769:"70cc3f88",8989:"45ff7d3e",9248:"1911f3a5",9435:"6399b327",9496:"d09706c7",9515:"c8266f33",9559:"6ed57ce3",9755:"4e984117",9829:"5fa7ccb3",9844:"db90776a",9974:"d026eb0f"}[e]+".js",P.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),P.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/diagram:",P.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),f=0;f<c.length;f++){var u=c[f];if(u.getAttribute("src")==r||u.getAttribute("data-webpack")==t+a){l=u;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,P.nc&&l.setAttribute("nonce",P.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(s);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},s=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},P.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},P.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{P.S={};var e={},t={};P.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];P.o(P.S,r)||(P.S[r]={});var o=P.S[r],l="@next-bricks/diagram",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.24.4",(()=>P.e(6773).then((()=>()=>P(6773))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([P.e(4741),P.e(1030),P.e(6688)]).then((()=>()=>P(4741))))),i("@next-core/cook","2.2.16",(()=>Promise.all([P.e(1122),P.e(2570)]).then((()=>()=>P(1122))))),i("@next-core/element","1.2.7",(()=>P.e(1045).then((()=>()=>P(1045))))),i("@next-core/http","1.2.2",(()=>P.e(8989).then((()=>()=>P(8989))))),i("@next-core/i18n","1.0.47",(()=>Promise.all([P.e(7408),P.e(5477),P.e(9755),P.e(5552)]).then((()=>()=>P(5552))))),i("@next-core/inject","1.0.35",(()=>Promise.all([P.e(1030),P.e(5217),P.e(2277)]).then((()=>()=>P(2277))))),i("@next-core/loader","1.5.8",(()=>P.e(5399).then((()=>()=>P(7780))))),i("@next-core/pipes","2.0.20",(()=>P.e(6519).then((()=>()=>P(6519))))),i("@next-core/react-element","1.0.26",(()=>Promise.all([P.e(8769),P.e(3741),P.e(9435),P.e(114)]).then((()=>()=>P(114))))),i("@next-core/react-runtime","1.5.2",(()=>Promise.all([P.e(8769),P.e(1030),P.e(6430),P.e(9974),P.e(7115)]).then((()=>()=>P(7115))))),i("@next-core/runtime","1.44.2",(()=>Promise.all([P.e(6862),P.e(9248),P.e(1030),P.e(7408),P.e(1302),P.e(5477),P.e(7068),P.e(2963),P.e(7920)]).then((()=>()=>P(9248))))),i("@next-core/supply","2.1.15",(()=>Promise.all([P.e(1030),P.e(5217),P.e(1302),P.e(9559)]).then((()=>()=>P(9559))))),i("@next-core/theme","1.5.0",(()=>Promise.all([P.e(1889),P.e(2052)]).then((()=>()=>P(1889))))),i("@next-core/utils/general","1.7.5",(()=>P.e(871).then((()=>()=>P(871))))),i("@next-core/utils/storyboard","1.7.5",(()=>Promise.all([P.e(7408),P.e(7068),P.e(3933)]).then((()=>()=>P(3933))))),i("history","4.10.1",(()=>P.e(5384).then((()=>()=>P(5384))))),i("i18next-browser-languagedetector","7.2.1",(()=>P.e(726).then((()=>()=>P(726))))),i("i18next","22.5.1",(()=>P.e(7304).then((()=>()=>P(7304))))),i("js-yaml","3.14.1",(()=>P.e(9515).then((()=>()=>P(9515))))),i("lodash","4.17.21",(()=>P.e(5250).then((()=>()=>P(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(1329))))),i("moment","2.30.1",(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([P.e(3144),P.e(8769)]).then((()=>()=>P(3144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>P.e(4041).then((()=>()=>P(4041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;P.g.importScripts&&(e=P.g.location+"");var t=P.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),P.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var f,u,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(u=(typeof(f=t[l]))[0]))return!c||("u"==d?i>n&&!a:""==d!=a);if("u"==u){if(!c||"u"!=d)return!1}else if(c)if(d==u)if(i<=n){if(f!=e[i])return!1}else{if(a?f>e[i]:f<e[i])return!1;f!=e[i]&&(c=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||u<d!=a)return!1;c=!1}else"s"!=d&&"n"!=d&&(c=!1,i--)}}var s=[],h=s.pop.bind(s);for(l=1;l<e.length;l++){var p=e[l];s.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},i=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",c=(e,t,r,n)=>{var a=l(e,r);return o(n,a)||u(i(e,r,a,n)),d(e[r][a])},f=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},d=e=>(e.loaded=1,e.get()),h=(s=e=>function(t,r,n,a){var o=P.I(t);return o&&o.then?o.then(e.bind(e,t,P.S[t],r,n,a)):e(t,P.S[t],r,n,a)})(((e,t,r,n,a)=>t&&P.o(t,r)?c(t,0,r,n):a())),p=s(((e,t,r,n,a)=>{var o=t&&P.o(t,r)&&f(t,r,n);return o?d(o):a()})),m={},b={8769:()=>p("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>P.e(4041).then((()=>()=>P(4041))))),1030:()=>h("default","lodash",[1,4,17,21],(()=>P.e(5250).then((()=>()=>P(5250))))),3741:()=>p("default","@next-core/element",[1,1,2,7],(()=>P.e(3426).then((()=>()=>P(1045))))),6430:()=>p("default","@next-core/react-element",[1,1,0,26],(()=>Promise.all([P.e(3741),P.e(9435),P.e(7733)]).then((()=>()=>P(114))))),7408:()=>h("default","@next-core/utils/general",[1,1,7,5],(()=>P.e(871).then((()=>()=>P(871))))),6329:()=>h("default","@next-core/theme",[1,1,5,0],(()=>P.e(1889).then((()=>()=>P(1889))))),9435:()=>p("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>P.e(3144).then((()=>()=>P(3144))))),9974:()=>h("default","@next-core/runtime",[1,1,44,2],(()=>Promise.all([P.e(6862),P.e(9248),P.e(7408),P.e(1302),P.e(5477),P.e(7068),P.e(2963)]).then((()=>()=>P(9248))))),7967:()=>p("default","@next-core/react-runtime",[1,1,5,2],(()=>P.e(9496).then((()=>()=>P(7115))))),3496:()=>h("default","@next-core/http",[1,1,0,6],(()=>P.e(1370).then((()=>()=>P(8989))))),1204:()=>h("default","js-yaml",[1,3,14,0],(()=>P.e(9515).then((()=>()=>P(9515))))),8297:()=>h("default","moment",[1,2,27,0],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),2570:()=>h("default","@babel/parser",[1,7,24,5],(()=>P.e(6773).then((()=>()=>P(6773))))),5477:()=>h("default","@next-core/i18n",[1,1,0,47],(()=>Promise.all([P.e(9755),P.e(3171)]).then((()=>()=>P(5552))))),2350:()=>h("default","i18next",[1,22,5,1],(()=>P.e(7304).then((()=>()=>P(7304))))),7072:()=>h("default","i18next-browser-languagedetector",[1,7,2,1],(()=>P.e(726).then((()=>()=>P(726))))),5217:()=>h("default","@next-core/pipes",[1,2,0,20],(()=>P.e(6519).then((()=>()=>P(6519))))),161:()=>h("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([P.e(4741),P.e(1030),P.e(6688)]).then((()=>()=>P(4741))))),1302:()=>h("default","moment",[1,2,30,1],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(9420))))),7068:()=>h("default","@next-core/cook",[1,2,2,16],(()=>Promise.all([P.e(1122),P.e(2570)]).then((()=>()=>P(1122))))),2296:()=>h("default","@next-core/supply",[1,2,1,15],(()=>Promise.all([P.e(5217),P.e(1940)]).then((()=>()=>P(9559))))),2850:()=>h("default","@next-core/utils/storyboard",[1,1,7,5],(()=>P.e(6314).then((()=>()=>P(3933))))),2890:()=>h("default","history",[1,4,10,1],(()=>P.e(5384).then((()=>()=>P(5384))))),5866:()=>h("default","@next-core/http",[1,1,2,2],(()=>P.e(1370).then((()=>()=>P(8989))))),6036:()=>h("default","moment/locale/zh-cn.js",[1,2,30,1],(()=>Promise.all([P.e(7721),P.e(9844)]).then((()=>()=>P(1329))))),6172:()=>h("default","@next-core/inject",[1,1,0,35],(()=>Promise.all([P.e(5217),P.e(4658)]).then((()=>()=>P(2277))))),8555:()=>h("default","@next-core/loader",[1,1,5,8],(()=>P.e(7780).then((()=>()=>P(7780)))))},v={1030:[1030],1302:[1302],2416:[3496],2570:[2570],2963:[2296,2850,2890,5866,6036,6172,8555],3741:[3741],5217:[5217],5477:[5477],6329:[6329],6430:[6430],6519:[161],6688:[1204,8297],7068:[7068],7408:[7408],7967:[7967],8769:[8769],9435:[9435],9755:[2350,7072],9974:[9974]},g={},P.f.consumes=(e,t)=>{P.o(v,e)&&v[e].forEach((e=>{if(P.o(m,e))return t.push(m[e]);if(!g[e]){var r=t=>{m[e]=0,P.m[e]=r=>{delete P.c[e],r.exports=t()}};g[e]=!0;var n=t=>{delete m[e],P.m[e]=r=>{throw delete P.c[e],t}};try{var a=b[e]();a.then?t.push(m[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{var e={8792:0};P.f.j=(t,r)=>{var n=P.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(6(329|430|688)|7(068|408|967)|9(435|755|974)|1030|1302|2570|2963|3741|5217|5477|8769)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=P.p+P.u(t),l=new Error;P.l(o,(r=>{if(P.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)P.o(l,n)&&(P.m[n]=l[n]);i&&i(P)}for(t&&t(r);c<o.length;c++)a=o[c],P.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),P.nc=void 0,P(7934)})();
|
|
2
|
+
//# sourceMappingURL=main.9805849a.js.map
|