@next-bricks/diagram 0.25.2 → 0.26.0
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 +2 -1
- package/dist/chunks/1045.b7c29853.js +2 -0
- package/dist/chunks/{1045.ef1c8822.js.map → 1045.b7c29853.js.map} +1 -1
- package/dist/chunks/1122.ec5a28bd.js +2 -0
- package/dist/chunks/{1122.127ae02e.js.map → 1122.ec5a28bd.js.map} +1 -1
- package/dist/chunks/{1972.f9255729.js → 1972.3c3e1965.js} +2 -2
- package/dist/chunks/{1972.f9255729.js.map → 1972.3c3e1965.js.map} +1 -1
- package/dist/chunks/2770.18b631cb.js +2 -0
- package/dist/chunks/2770.18b631cb.js.map +1 -0
- package/dist/chunks/3426.aed442e0.js +2 -0
- package/dist/chunks/{3426.1773574d.js.map → 3426.aed442e0.js.map} +1 -1
- package/dist/chunks/{3510.70429aeb.js → 3510.49d72504.js} +3 -3
- package/dist/chunks/3510.49d72504.js.map +1 -0
- package/dist/chunks/4456.f6066b87.js +2 -0
- package/dist/chunks/4456.f6066b87.js.map +1 -0
- package/dist/chunks/{5399.21649329.js → 5399.d1706027.js} +2 -2
- package/dist/chunks/{5399.21649329.js.map → 5399.d1706027.js.map} +1 -1
- package/dist/chunks/6188.a80198d0.js +3 -0
- package/dist/chunks/6188.a80198d0.js.map +1 -0
- package/dist/chunks/7918.9f7ec4d7.js +2 -0
- package/dist/chunks/7918.9f7ec4d7.js.map +1 -0
- package/dist/chunks/{8989.06023b69.js → 8989.55e6868c.js} +2 -2
- package/dist/chunks/{8989.06023b69.js.map → 8989.55e6868c.js.map} +1 -1
- package/dist/chunks/9407.1336c97c.js +2 -0
- package/dist/chunks/9407.1336c97c.js.map +1 -0
- package/dist/chunks/9559.7d625626.js +2 -0
- package/dist/chunks/{9559.2729fe3b.js.map → 9559.7d625626.js.map} +1 -1
- package/dist/chunks/9591.e9a0ce2d.js +2 -0
- package/dist/chunks/9591.e9a0ce2d.js.map +1 -0
- package/dist/chunks/9740.fb9cd2a1.js +2 -0
- package/dist/chunks/9740.fb9cd2a1.js.map +1 -0
- package/dist/chunks/eo-diagram.58ca6b92.js +2 -0
- package/dist/chunks/eo-diagram.58ca6b92.js.map +1 -0
- package/dist/chunks/eo-display-canvas.77347940.js +2 -0
- package/dist/chunks/eo-display-canvas.77347940.js.map +1 -0
- package/dist/chunks/eo-draw-canvas.a7b522ea.js +2 -0
- package/dist/chunks/eo-draw-canvas.a7b522ea.js.map +1 -0
- package/dist/chunks/{main.0a5467d9.js → main.dd8b2330.js} +2 -2
- package/dist/chunks/{main.0a5467d9.js.map → main.dd8b2330.js.map} +1 -1
- package/dist/examples.json +3 -0
- package/dist/index.06ad2eaf.js +2 -0
- package/dist/index.06ad2eaf.js.map +1 -0
- package/dist/manifest.json +116 -41
- package/dist/types.json +2895 -1819
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/display-canvas/index.d.ts +51 -0
- package/dist-types/display-canvas/index.spec.d.ts +1 -0
- package/dist-types/draw-canvas/CellComponent.d.ts +8 -7
- package/dist-types/draw-canvas/decorators/DecoratorArea.d.ts +1 -1
- package/dist-types/draw-canvas/decorators/DecoratorText.d.ts +2 -2
- package/dist-types/draw-canvas/decorators/index.d.ts +1 -1
- package/dist-types/draw-canvas/interfaces.d.ts +6 -5
- package/dist-types/draw-canvas/processors/handleMouseDown.d.ts +1 -1
- package/dist-types/shared/canvas/useActiveTarget.d.ts +9 -0
- package/dist-types/shared/canvas/useAutoCenter.d.ts +16 -0
- package/dist-types/shared/canvas/useZoom.d.ts +19 -0
- package/docs/eo-display-canvas.md +9 -0
- package/package.json +2 -2
- package/dist/chunks/1045.ef1c8822.js +0 -2
- package/dist/chunks/1122.127ae02e.js +0 -2
- package/dist/chunks/3426.1773574d.js +0 -2
- package/dist/chunks/3510.70429aeb.js.map +0 -1
- package/dist/chunks/4103.217303a1.js +0 -2
- package/dist/chunks/4103.217303a1.js.map +0 -1
- package/dist/chunks/4235.0393c824.js +0 -3
- package/dist/chunks/4235.0393c824.js.map +0 -1
- package/dist/chunks/4456.c3ff0981.js +0 -2
- package/dist/chunks/4456.c3ff0981.js.map +0 -1
- package/dist/chunks/7638.a3881a71.js +0 -2
- package/dist/chunks/7638.a3881a71.js.map +0 -1
- package/dist/chunks/9407.06352f8b.js +0 -2
- package/dist/chunks/9407.06352f8b.js.map +0 -1
- package/dist/chunks/9559.2729fe3b.js +0 -2
- package/dist/chunks/9572.360c862c.js +0 -2
- package/dist/chunks/9572.360c862c.js.map +0 -1
- package/dist/chunks/9591.3e70b783.js +0 -2
- package/dist/chunks/9591.3e70b783.js.map +0 -1
- package/dist/chunks/eo-diagram.d8f9efe4.js +0 -2
- package/dist/chunks/eo-diagram.d8f9efe4.js.map +0 -1
- package/dist/chunks/eo-draw-canvas.de17725b.js +0 -2
- package/dist/chunks/eo-draw-canvas.de17725b.js.map +0 -1
- package/dist/index.aac44023.js +0 -2
- package/dist/index.aac44023.js.map +0 -1
- /package/dist/chunks/{3510.70429aeb.js.LICENSE.txt → 3510.49d72504.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4235.0393c824.js.LICENSE.txt → 6188.a80198d0.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7638.a3881a71.js","mappings":"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","sources":["webpack:///./src/diagram/index.tsx","webpack:///./src/editable-label/index.tsx","webpack:///./src/draw-canvas/index.tsx","webpack:///./src/experimental-node/index.tsx","webpack:///./src/editable-label/styles.shadow.css","webpack:///./src/experimental-node/styles.shadow.css"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { select } from \"d3-selection\";\nimport { ZoomTransform, zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { uniqueId } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptions,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedLineLabel,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n ConnectNodesOptions,\n ConnectLineState,\n ActiveTarget,\n RangeTuple,\n LineLabel,\n LineLabelConf,\n TextOptions,\n DragNodesOptions,\n NodeMovement,\n ManualLayoutStatus,\n LineMaskRects,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { transformToCenter } from \"./processors/transformToCenter\";\nimport { getRenderedLines } from \"./processors/getRenderedLines\";\nimport { normalizeLinesAndMarkers } from \"./processors/normalizeLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { LineMaskComponent } from \"./LineMaskComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { handleNodesMouseDown } from \"./processors/handleNodesMouseDown\";\nimport { DEFAULT_SCALE_RANGE_MAX, DEFAULT_SCALE_RANGE_MIN } from \"./constants\";\nimport { useRenderedDiagram } from \"./hooks/useRenderedDiagram\";\nimport { adjustLineLabels } from \"./processors/adjustLineLabels\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUserView } from \"./hooks/useUserView\";\nimport { sameTarget } from \"./processors/sameTarget\";\nimport { getLineMaskRects } from \"./processors/getLineMaskRects\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\" | \"force\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptions;\n connectNodes?: ConnectNodesOptions;\n dragNodes?: DragNodesOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): void;\n}\n\nexport const EoDiagramComponent = forwardRef(LegacyEoDiagramComponent);\n\n/**\n * 构件 `eo-diagram`\n */\nexport\n@defineElement(\"eo-diagram\", {\n styleTexts: [styleText],\n})\nclass EoDiagram extends ReactNextElement implements EoDiagramProps {\n /**\n * @required\n */\n @property({ type: String })\n accessor layout: \"dagre\" | \"force\" | undefined;\n\n @property({ attribute: false })\n accessor nodes: DiagramNode[] | undefined;\n\n @property({ attribute: false })\n accessor edges: DiagramEdge[] | undefined;\n\n @property({ attribute: false })\n accessor nodeBricks: NodeBrickConf[] | undefined;\n\n @property({ attribute: false })\n accessor lines: LineConf[] | undefined;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptions | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n @property({ type: Boolean })\n accessor disableKeyboardAction: boolean | undefined;\n\n @property({ attribute: false })\n accessor connectNodes: ConnectNodesOptions | undefined;\n\n @property({ attribute: false })\n accessor dragNodes: DragNodesOptions | 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({ 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 @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<DiagramNode>;\n\n #handleNodeDelete = (node: DiagramNode) => {\n this.#nodeDelete.emit(node);\n };\n\n @event({ type: \"edge.delete\" })\n accessor #edgeDelete!: EventEmitter<DiagramEdge>;\n\n #handleEdgeDelete = (edge: DiagramEdge) => {\n this.#edgeDelete.emit(edge);\n };\n\n @event({ type: \"line.click\" })\n accessor #lineClick!: EventEmitter<LineTarget>;\n\n #handleLineClick = (line: LineTarget) => {\n this.#lineClick.emit(line);\n };\n\n @event({ type: \"line.dblclick\" })\n accessor #lineDoubleClick!: EventEmitter<LineTarget>;\n\n #handleLineDoubleClick = (line: LineTarget) => {\n this.#lineDoubleClick.emit(line);\n };\n\n @event({ type: \"nodes.connect\" })\n accessor #connectNodes!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#connectNodes.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\n };\n\n #diagramRef = createRef<DiagramRef>();\n\n @method()\n callOnLineLabel(id: string, method: string, ...args: unknown[]) {\n this.#diagramRef.current?.callOnLineLabel(id, method, ...args);\n }\n\n render() {\n return (\n <EoDiagramComponent\n ref={this.#diagramRef}\n layout={this.layout}\n nodes={this.nodes}\n edges={this.edges}\n nodeBricks={this.nodeBricks}\n lines={this.lines}\n layoutOptions={this.layoutOptions}\n connectNodes={this.connectNodes}\n dragNodes={this.dragNodes}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n scaleRange={this.scaleRange}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onNodeDelete={this.#handleNodeDelete}\n onEdgeDelete={this.#handleEdgeDelete}\n onLineClick={this.#handleLineClick}\n onLineDoubleClick={this.#handleLineDoubleClick}\n onNodesConnect={this.#handleNodesConnect}\n />\n );\n }\n}\n\nexport interface EoDiagramComponentProps extends EoDiagramProps {\n onActiveTargetChange?(target: ActiveTarget | null): void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodeDelete?(node: DiagramNode): void;\n onEdgeDelete?(edge: DiagramEdge): void;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n}\n\nexport function LegacyEoDiagramComponent(\n {\n layout,\n nodes,\n edges,\n nodeBricks,\n lines,\n layoutOptions,\n connectNodes,\n dragNodes,\n activeTarget: _activeTarget,\n disableKeyboardAction,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\n) {\n const [nodesReady, setNodesReady] = useState(false);\n const [nodesRenderId, setNodesRenderId] = useState(0);\n const [nodesRefRepository, setNodesRefRepository] =\n useState<RefRepository | null>(null);\n const [lineLabelsReady, setLineLabelsReady] = useState(false);\n const [lineLabelsRenderId, setLineLabelsRenderId] = useState(0);\n const [lineLabelsRefRepository, setLineLabelsRefRepository] =\n useState<RefRepository | null>(null);\n const [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const linePathsRef = useRef(new Map<string, SVGPathElement | null>());\n\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef<HTMLDivElement>(null);\n const [centered, setCentered] = useState(false);\n\n const { userViewReady, userViewNodesMap, saveUserView } = useUserView(\n dragNodes?.save\n );\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n const [manualLayoutStatus, setManualLayoutStatus] =\n useState<ManualLayoutStatus>(\"initial\");\n const [nodeMovement, setNodeMovement] = useState<NodeMovement | null>(null);\n\n useImperativeHandle(ref, () => ({\n callOnLineLabel(id, method, ...args) {\n (\n lineLabelsRefRepository?.get(id)\n ?.firstElementChild as unknown as Record<string, Function>\n )?.[method](...args);\n },\n }));\n\n useEffect(() => {\n const onNodesMouseDown = (event: MouseEvent) => {\n handleNodesMouseDown(event, {\n nodes,\n nodesRefRepository,\n connectNodes,\n dragNodes,\n scale: transform.k,\n setConnectLineState,\n setConnectLineTo,\n setManualLayoutStatus,\n setNodeMovement,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n };\n // Bind mousedown event manually, since the React event handler can't work with\n // d3-zoom inside shadow DOM.\n const nodesContainer = nodesRef.current;\n nodesContainer?.addEventListener(\"mousedown\", onNodesMouseDown);\n return () => {\n nodesContainer?.removeEventListener(\"mousedown\", onNodesMouseDown);\n };\n }, [\n nodes,\n connectNodes,\n dragNodes,\n transform.k,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]);\n\n const { normalizedLines, normalizedLinesMap, markers } = useMemo(\n () => normalizeLinesAndMarkers(edges, lines),\n [edges, lines]\n );\n\n const lineLabels = useMemo(() => {\n return normalizedLines.flatMap(({ line: { text, label, $id }, edge }) => {\n if (!text && !label) {\n return [] as LineLabel[];\n }\n\n let key: \"label\" | \"text\";\n let list: LineLabelConf[] | TextOptions[];\n if (label) {\n key = \"label\";\n list = ([] as LineLabelConf[]).concat(label);\n } else {\n key = \"text\";\n list = ([] as TextOptions[]).concat(text!);\n }\n\n return list.map<LineLabel>((item) => ({\n [key as \"label\"]: item as LineLabelConf,\n id: `${$id}-${item.placement ?? \"center\"}`,\n edge,\n }));\n });\n }, [normalizedLines]);\n\n const { nodes: renderedNodes, edges: renderedEdges } = useRenderedDiagram({\n layout,\n nodes,\n edges,\n manualLayoutStatus,\n userViewReady,\n userViewNodesMap,\n nodeMovement,\n nodesRefRepository,\n lineLabelsRefRepository,\n normalizedLinesMap,\n layoutOptions,\n nodesRenderId,\n lineLabelsRenderId,\n });\n\n useEffect(\n () => {\n if (manualLayoutStatus === \"finished\") {\n saveUserView(\n renderedNodes.map((node) => ({\n id: node.id,\n x: node.x,\n y: node.y,\n }))\n );\n }\n },\n // Only save user view when manual layout is just finished.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [manualLayoutStatus]\n );\n\n const renderedLines = useMemo(\n () => getRenderedLines(renderedEdges, renderedNodes, normalizedLines),\n [normalizedLines, renderedNodes, renderedEdges]\n );\n\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget);\n }, [activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || disableKeyboardAction) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n renderedNodes,\n activeTarget,\n });\n\n if (action?.action === \"delete-node\") {\n onNodeDelete?.(action.node);\n } else if (action?.action === \"delete-edge\") {\n onEdgeDelete?.(action.edge);\n } else if (action?.action === \"switch-active-node\" && action.node) {\n onSwitchActiveTarget?.({ type: \"node\", nodeId: action.node.id });\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [\n activeTarget,\n renderedNodes,\n disableKeyboardAction,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n ]);\n\n const handleNodesRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setNodesRenderId((previous) => previous + 1);\n setNodesRefRepository(refRepository);\n }\n setNodesReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const handleLineLabelsRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setLineLabelsRenderId((previous) => previous + 1);\n setLineLabelsRefRepository(refRepository);\n }\n setLineLabelsReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<HTMLDivElement, unknown>(), []);\n\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"mousedown.zoom\", null)\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, scrollable, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n const { k, x, y } = transformToCenter(renderedNodes, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n setCentered(true);\n }, [centered, renderedNodes, scaleRange, zoomable, zoomer]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const maskPrefix = `${defPrefix}mask-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [lineMaskRects, setLineMaskRects] = React.useState<LineMaskRects>(\n new Map()\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n const updateLineMaskRects = () => {\n setLineMaskRects(\n getLineMaskRects(renderedLineLabels, lineLabelsRefRepository)\n );\n };\n\n adjustLineLabels(renderedLineLabels, lineLabelsRefRepository);\n\n const observer = new ResizeObserver(updateLineMaskRects);\n for (const lineLabel of lineLabelsRefRepository.values()) {\n observer.observe(lineLabel);\n }\n return () => {\n observer.disconnect();\n };\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\" && layout !== \"force\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n return (\n <div\n className={classNames(\"diagram\", {\n ready: nodesReady && centered,\n grabbing,\n pannable,\n })}\n tabIndex={-1}\n ref={rootRef}\n >\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ type, strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n type={type}\n strokeColor={strokeColor}\n />\n ))}\n {[...lineMaskRects].map(([lineId, rects]) => (\n <LineMaskComponent\n key={lineId}\n lineId={lineId}\n rects={rects}\n maskPrefix={maskPrefix}\n renderedLineLabels={renderedLineLabels}\n />\n ))}\n <marker\n id={`${activeLineMarkerPrefix}start`}\n viewBox=\"0 0 8 8\"\n refX={4}\n refY={4}\n markerWidth={8}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n <marker\n id={`${activeLineMarkerPrefix}end`}\n viewBox=\"0 0 14 8\"\n refX={3}\n refY={4}\n markerWidth={14}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z\"\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={1}\n fill=\"var(--palette-blue-3)\"\n />\n <path\n d=\"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n lineMaskRects={lineMaskRects}\n maskPrefix={maskPrefix}\n markerPrefix={markerPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n active={\n activeTarget?.type === \"edge\" &&\n activeTarget.edge.source === line.edge.source &&\n activeTarget.edge.target === line.edge.target\n }\n activeRelated={\n activeTarget?.type === \"node\" &&\n (line.edge.source === activeTarget.nodeId ||\n line.edge.target === activeTarget.nodeId)\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className={classNames(\"line-labels\", { ready: lineLabelsReady })}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <LineLabelComponentGroup\n labels={lineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <NodeComponentGroup\n nodes={nodes}\n nodeBricks={nodeBricks}\n // nodePositions={nodePositions}\n onRendered={handleNodesRendered}\n />\n </div>\n <ConnectLineComponent\n connectLineState={connectLineState}\n connectLineTo={connectLineTo}\n markerPrefix={markerPrefix}\n />\n </div>\n );\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EditableLabelProps {\n label?: string;\n type?: LabelType;\n}\n\nexport type LabelType = \"line\" | \"default\";\n\nexport interface EditableLabelRef {\n enableEditing(): void;\n}\n\nexport const EditableLabelComponent = forwardRef(LegacyEditableLabelComponent);\n\n/**\n * 构件 `diagram.editable-label`\n */\nexport\n@defineElement(\"diagram.editable-label\", {\n styleTexts: [styleText],\n})\nclass EditableLabel extends ReactNextElement implements EditableLabelProps {\n @property()\n accessor label: string | undefined;\n\n @property({ render: false })\n accessor type: LabelType | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange!: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange!: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @method()\n enableEditing() {\n this.#editableLabelRef.current?.enableEditing();\n }\n\n #editableLabelRef = createRef<EditableLabelRef>();\n\n render() {\n return (\n <EditableLabelComponent\n ref={this.#editableLabelRef}\n label={this.label}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n />\n );\n }\n}\n\nexport interface EditableLabelComponentProps extends EditableLabelProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n}\n\nexport function LegacyEditableLabelComponent(\n {\n label: _label,\n onLabelChange,\n onLabelEditingChange,\n }: EditableLabelComponentProps,\n ref: React.Ref<EditableLabelRef>\n) {\n const label = _label ?? \"\";\n const [currentLabel, setCurrentLabel] = useState<string>(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => ({\n enableEditing() {\n setEditingLabel(true);\n },\n }));\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n const stopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n return (\n <div\n className={classNames(\"label\", {\n editing: editingLabel,\n empty: !currentLabel,\n })}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n />\n <div className=\"label-text\" onDoubleClick={handleEditLabel}>\n {currentLabel}\n </div>\n </div>\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 { select } from \"d3-selection\";\nimport { ZoomTransform, zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\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} from \"./interfaces\";\nimport { rootReducer } from \"./reducers\";\nimport { MarkerComponent } from \"../diagram/MarkerComponent\";\nimport { isDecoratorCell, isNodeCell } 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 styleText from \"./styles.shadow.css\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { initializeCells } from \"./processors/initializeCells\";\nimport { transformToCenter } from \"./processors/transformToCenter\";\nimport { updateCells } from \"./processors/updateCells\";\nimport { getUnrelatedCells } from \"./processors/getUnrelatedCells\";\nimport { SYMBOL_FOR_SIZE_INITIALIZED } from \"./constants\";\nimport {\n DEFAULT_NODE_SIZE,\n DEFAULT_AREA_WIDTH,\n DEFAULT_AREA_HEIGHT,\n DEFAULT_SCALE_RANGE_MIN,\n DEFAULT_SCALE_RANGE_MAX,\n} from \"./constants\";\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 defaultNodeSize: SizeTuple;\n defaultNodeBricks?: NodeBrickConf[];\n defaultEdgeLines?: EdgeLineConf[];\n activeTarget?: ActiveTarget | null;\n fadeUnrelatedCells?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n}\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 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],\n})\nclass EoDrawCanvas extends ReactNextElement implements EoDrawCanvasProps {\n /**\n * 仅当初始化时使用,渲染后重新设置 `cells` 将无效。\n */\n @property({ attribute: false })\n accessor cells: InitialCell[] | 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 * 使用条件判断设置默认的边对应的连线。在 `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 @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({ 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: \"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: \"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: NodeCell = {\n type: \"node\",\n id,\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: size?.[0] ?? this.defaultNodeSize[0],\n height: size?.[1] ?? this.defaultNodeSize[0],\n },\n data,\n useBrick,\n };\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 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 const { updated } = this.#canvasRef.current!.updateCells(cells, {\n ...ctx,\n defaultNodeSize: this.defaultNodeSize,\n canvasHeight: this.clientHeight,\n });\n return { updated };\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 cells={this.cells}\n defaultNodeSize={this.defaultNodeSize}\n defaultNodeBricks={this.defaultNodeBricks}\n defaultEdgeLines={this.defaultEdgeLines}\n activeTarget={this.activeTarget}\n fadeUnrelatedCells={this.fadeUnrelatedCells}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n scaleRange={this.scaleRange}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onCellMove={this.#handleCellMove}\n onCellResize={this.#handleCellResize}\n onCellDelete={this.#handleCellDelete}\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 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 canvasHeight: number;\n }\n ): {\n cells: Cell[];\n updated: Cell[];\n };\n getTransform(): TransformLiteral;\n}\n\nfunction LegacyEoDrawCanvasComponent(\n {\n host,\n cells: initialCells,\n defaultNodeSize,\n defaultNodeBricks,\n defaultEdgeLines,\n activeTarget: _activeTarget,\n fadeUnrelatedCells,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onCellMove,\n onCellResize,\n onCellDelete,\n onCellContextMenu,\n onDecoratorTextChange,\n onScaleChange,\n }: EoDrawCanvasComponentProps,\n ref: React.Ref<DrawCanvasRef>\n) {\n const [{ cells }, dispatch] = useReducer(\n rootReducer,\n initialCells,\n (initialCells) => ({\n cells: initializeCells(initialCells, { defaultNodeSize }),\n })\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, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n const [centered, setCentered] = useState(false);\n\n useEffect(() => {\n onScaleChange(transform.k);\n }, [onScaleChange, transform.k]);\n\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n\n const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<SVGSVGElement, unknown>(), []);\n\n // istanbul ignore next: d3-zoom currently hard to test\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n // istanbul ignore next: d3-zoom currently hard to test\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null)\n .on(\"mousedown.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, scrollable, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (\n !root ||\n centered ||\n !cells.some((cell) => isNodeCell(cell) || isDecoratorCell(cell)) ||\n cells.some(\n (cell) => isNodeCell(cell) && !cell[SYMBOL_FOR_SIZE_INITIALIZED]\n )\n ) {\n return;\n }\n const { k, x, y } = transformToCenter(cells, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV !== \"test\") {\n // jsdom doesn't support svg baseVal yet.\n // https://github.com/jsdom/jsdom/issues/2531\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n }\n setCentered(true);\n }, [cells, centered, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n // Reset auto centering when nodes and decorators are all removed.\n if (!cells.some((cell) => isNodeCell(cell) || isDecoratorCell(cell))) {\n setCentered(false);\n }\n }, [cells]);\n\n useImperativeHandle(\n ref,\n () => ({\n dropNode(node) {\n // Do not apply auto centering when dropping a node.\n setCentered(true);\n dispatch({ type: \"drop-node\", payload: node });\n },\n dropDecorator(decorator) {\n // Do not apply auto centering when dropping a decorator.\n setCentered(true);\n dispatch({ type: \"drop-decorator\", payload: decorator });\n },\n addNodes(nodes, { defaultNodeSize, canvasHeight }: AddNodesContext) {\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 { cells: allCells, updated } = updateCells({\n cells: newCells,\n previousCells: cells,\n defaultNodeSize,\n canvasHeight,\n transform,\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 result = updateCells({\n ...ctx,\n previousCells: cells,\n cells: newCells,\n transform,\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) => isNodeCell(cell) && cell.id === sourceId\n ) as NodeCell | 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, transform]\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 = 0; i < cells.length; i++) {\n const cell = cells[i];\n // Currently ignore connecting to self\n if (isNodeCell(cell) && cell.id !== state.source.id) {\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);\n }, [connectLineState, host]);\n\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange(activeTarget);\n }, [activeTarget, onActiveTargetChange]);\n\n const [unrelatedCells, setUnrelatedCells] = useState<Cell[]>([]);\n useEffect(() => {\n const nextUnrelated = fadeUnrelatedCells\n ? getUnrelatedCells(cells, connectLineState, activeTarget)\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 }, [activeTarget, cells, connectLineState, fadeUnrelatedCells]);\n\n useEffect(() => {\n if (!activeTarget) {\n return;\n }\n const resetActiveTarget = (e: MouseEvent) => {\n const path = e.composedPath();\n const cellsContainerIndex = path.indexOf(cellsRef.current!);\n // Reset active target to null when clicking outside of the cells container,\n // Or inside the cells container but not on any cell.\n if (cellsContainerIndex <= 0) {\n setActiveTarget(null);\n }\n };\n document.addEventListener(\"click\", resetActiveTarget);\n return () => {\n document.removeEventListener(\"click\", resetActiveTarget);\n };\n }, [activeTarget]);\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 if (action?.action === \"delete-cell\") {\n onCellDelete(action.cell);\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [activeTarget, cells, editingTexts.length, onCellDelete]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const markerEnd = `${markerPrefix}1`;\n\n const handleCellMoving = useCallback((info: MoveCellPayload) => {\n dispatch({ type: \"move-cell\", payload: info });\n }, []);\n\n const handleCellMoved = useCallback(\n (info: MoveCellPayload) => {\n dispatch({ type: \"move-cell\", payload: info });\n onCellMove(info);\n },\n [onCellMove]\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 dispatch({ type: \"update-node-size\", payload: { id, size } });\n },\n []\n );\n\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n ref={rootRef}\n className={classNames(\"root\", { grabbing, pannable, ready: centered })}\n tabIndex={-1}\n >\n <defs>\n <MarkerComponent id={markerEnd} type=\"arrow\" strokeColor=\"gray\" />\n </defs>\n <g\n transform={`translate(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n <g className=\"cells\" ref={cellsRef}>\n {cells.map((cell) => (\n <CellComponent\n key={`${cell.type}:${cell.type === \"edge\" ? `${cell.source}~${cell.target}` : cell.id}`}\n cell={cell}\n cells={cells}\n defaultNodeBricks={defaultNodeBricks}\n defaultEdgeLines={defaultEdgeLines}\n transform={transform}\n markerEnd={markerEnd}\n active={sameTarget(activeTarget, cell)}\n unrelatedCells={unrelatedCells}\n onCellMoving={handleCellMoving}\n onCellMoved={handleCellMoved}\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={markerEnd}\n onConnect={handleConnect}\n />\n </g>\n </svg>\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","// istanbul ignore file: experimental only\nimport React, { useCallback } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type { PositionTuple } from \"../diagram/interfaces\";\nimport styleText from \"./styles.shadow.css\";\nimport type { DecoratorType } from \"../draw-canvas/interfaces\";\n\nconst { defineElement, property, event } = createDecorators();\n\ntype ExperimentalUsage = \"library\" | \"dragging\" | \"default\";\ntype NodeStatus = \"highlighted\" | \"faded\" | \"default\";\n\nexport interface ExperimentalNodeProps {\n usage?: ExperimentalUsage;\n status?: NodeStatus;\n}\n\n/**\n * 构件 `diagram.experimental-node`\n */\nexport\n@defineElement(\"diagram.experimental-node\", {\n styleTexts: [styleText],\n})\nclass ExperimentalNode\n extends ReactNextElement\n implements ExperimentalNodeProps\n{\n @property()\n accessor usage: ExperimentalUsage | undefined;\n\n // 最终节点应该统一实现这个字段,保持类型一致\n @property({ type: String, render: false })\n accessor status: NodeStatus | undefined;\n\n // 最终节点应该统一实现这个字段,保持类型一致\n @property({ type: String })\n accessor decorator: DecoratorType | undefined;\n\n @event({ type: \"drag.start\" })\n accessor #dragStartEvent!: EventEmitter<PositionTuple>;\n\n #handleDragStart = (position: PositionTuple) => {\n this.#dragStartEvent.emit(position);\n };\n\n @event({ type: \"drag.move\" })\n accessor #dragMoveEvent!: EventEmitter<PositionTuple>;\n\n #handleDragMove = (position: PositionTuple) => {\n this.#dragMoveEvent.emit(position);\n };\n\n @event({ type: \"drag.end\" })\n accessor #dragEndEvent!: EventEmitter<PositionTuple>;\n\n #handleDragEnd = (position: PositionTuple) => {\n this.#dragEndEvent.emit(position);\n };\n\n render() {\n return (\n <ExperimentalNodeComponent\n usage={this.usage}\n onDragStart={this.#handleDragStart}\n onDragMove={this.#handleDragMove}\n onDragEnd={this.#handleDragEnd}\n />\n );\n }\n}\n\nexport interface ExperimentalNodeComponentProps extends ExperimentalNodeProps {\n onDragStart?(position: PositionTuple): void;\n onDragMove?(position: PositionTuple): void;\n onDragEnd?(position: PositionTuple): void;\n}\n\nexport function ExperimentalNodeComponent({\n usage,\n onDragStart,\n onDragMove,\n onDragEnd,\n}: ExperimentalNodeComponentProps) {\n const handleMouseDown = useCallback(\n (event: React.MouseEvent) => {\n if (usage !== \"library\") {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n const from: PositionTuple = [event.clientX, event.clientY];\n let moved = false;\n const onMouseMove = (e: MouseEvent) => {\n if (!moved) {\n moved = (e.clientX - from[0]) ** 2 + (e.clientY - from[1]) ** 2 >= 9;\n if (moved) {\n onDragStart?.([e.clientX, e.clientY]);\n }\n }\n if (moved) {\n onDragMove?.([e.clientX, e.clientY]);\n }\n };\n const onMouseUp = (e: MouseEvent) => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n if (moved) {\n onDragEnd?.([e.clientX, e.clientY]);\n }\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n },\n [onDragEnd, onDragMove, onDragStart, usage]\n );\n\n return (\n <div onMouseDown={handleMouseDown}>\n <slot />\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--local-label-line-height:inherit;--local-label-font-size:inherit;--local-label-color:inherit;--local-label-font-weight:inherit}:host([hidden]){display:none}:host([type=\"line\"]){--local-label-line-height:18px;--local-label-font-size:11px;--local-label-color:var(--color-secondary-text);--local-label-font-weight:400}*{box-sizing:border-box}.label{max-width:168px;margin:-3px}.label-text,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:var(--local-label-line-height);font-size:var(--local-label-font-size);color:var(--local-label-color);font-weight:var(--local-label-font-weight);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label.editing .label-text,\n.label.empty:not(.editing) .label-text,\n.label:not(.editing) .label-input{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*{box-sizing:border-box}:host{display:block;border:1px solid var(--palette-gray-5);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([hidden]){display:none}:host([usage=\"dragging\"]){opacity:0.75;position:fixed}:host(:not([usage=\"library\"])){background:var(--palette-gray-3);width:60px;height:60px}:host([usage=\"library\"]){width:180px;height:30px;margin-bottom:10px}div{width:100%;height:100%;display:flex;align-items:center;justify-content:center}:host([status=\"highlighted\"]){color:var(--palette-blue-5);background:var(--palette-blue-1);border-color:1px solid var(--palette-blue-4)}:host([status=\"faded\"]){opacity:0.3}:host([decorator=\"area\"]){width:100px;height:60px;background:rgba(119,141,195,0.1);border:none}:host([decorator=\"text\"]){width:auto;height:auto;background:none;border:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_EoDiagram","defineElement","property","event","method","createDecorators","EoDiagramComponent","forwardRef","LegacyEoDiagramComponent","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_EoDiagram_brand","WeakSet","_handleActiveTargetChange","_P","_handleNodeDelete","_Q","_handleEdgeDelete","_R","_handleLineClick","_S","_handleLineDoubleClick","_T","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_layout","_init_extra_layout","_init_nodes","_init_extra_nodes","_init_edges","_init_extra_edges","_init_nodeBricks","_init_extra_nodeBricks","_init_lines","_init_extra_lines","_init_layoutOptions","_init_extra_layoutOptions","_init_activeTarget","_init_extra_activeTarget","_init_disableKeyboardAction","_init_extra_disableKeyboardAction","_init_connectNodes","_init_extra_connectNodes","_init_dragNodes","_init_extra_dragNodes","_init_zoomable","_init_extra_zoomable","_init_scrollable","_init_extra_scrollable","_init_pannable","_init_extra_pannable","_init_scaleRange","_init_extra_scaleRange","_init_activeTargetChangeEvent","_init_extra_activeTargetChangeEvent","target","_classPrivateGetter","this","_get_activeTargetChangeEvent","emit","_init_nodeDelete","_init_extra_nodeDelete","node","_get_nodeDelete","_init_edgeDelete","_init_extra_edgeDelete","edge","_get_edgeDelete","_init_lineClick","_init_extra_lineClick","line","_get_lineClick","_init_lineDoubleClick","_init_extra_lineDoubleClick","_get_lineDoubleClick","_init_connectNodes2","_init_extra_connectNodes2","detail","_get_connectNodes","sameTarget","activeTarget","createRef","layout","_classPrivateFieldGet","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","connectNodes","dragNodes","zoomable","scrollable","pannable","scaleRange","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_ref","_activeTarget","_scaleRange","nodesReady","setNodesReady","useState","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsReady","setLineLabelsReady","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedLineLabels","setRenderedLineLabels","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","useRef","Map","rootRef","nodesRef","centered","setCentered","userViewReady","userViewNodesMap","saveUserView","useUserView","save","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","manualLayoutStatus","setManualLayoutStatus","nodeMovement","setNodeMovement","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","get","firstElementChild","useEffect","onNodesMouseDown","handleNodesMouseDown","scale","nodesContainer","addEventListener","removeEventListener","normalizedLines","normalizedLinesMap","markers","useMemo","normalizeLinesAndMarkers","lineLabels","flatMap","_ref2","key","list","text","label","$id","concat","map","item","_item$placement","placement","renderedNodes","renderedEdges","useRenderedDiagram","renderedLines","getRenderedLines","newActiveTarget","setActiveTarget","previous","activeTargetChangeInitialized","root","onKeydown","action","handleKeyboard","type","nodeId","handleNodesRendered","useCallback","refRepository","handleLineLabelsRendered","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","zoomer","zoom","moved","scaleExtent","on","e","rootSelection","select","unsetZoom","ctrlKey","stopImmediatePropagation","preventDefault","translateBy","wheelDeltaX","wheelDeltaY","call","transformToCenter","canvasWidth","clientWidth","canvasHeight","clientHeight","undefined","ZoomTransform","defPrefix","uniqueId","markerPrefix","maskPrefix","activeLineMarkerPrefix","getRenderedLineLabels","lineMaskRects","setLineMaskRects","adjustLineLabels","observer","ResizeObserver","updateLineMaskRects","getLineMaskRects","lineLabel","values","observe","disconnect","className","classNames","ready","tabIndex","width","height","_ref3","index","strokeColor","MarkerComponent","_ref4","lineId","rects","LineMaskComponent","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","linePaths","active","source","activeRelated","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_EoDiagram2","_set_activeTargetChangeEvent","_set_nodeDelete","_set_edgeDelete","_set_lineClick","_set_lineDoubleClick","_set_connectNodes","c","_initClass","_applyDecs","styleTexts","styleText","String","attribute","Boolean","o","_","has","_checkInRHS","_EditableLabel","EditableLabelComponent","LegacyEditableLabelComponent","_EditableLabel_brand","_handleLabelEditingChange","_handleLabelChange","_editableLabelRef","EditableLabel","_init_label","_init_extra_label","_init_type","_init_extra_type","_init_labelEditingChange","_init_extra_labelEditingChange","value","_get_labelEditingChange","_init_labelChange","_init_extra_labelChange","_get_labelChange","enableEditing","onLabelEditingChange","onLabelChange","_label","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","stopPropagation","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","handleInputChange","handleInputKeydown","_labelInputRef$curren3","keyCode","which","blur","handleInputBlur","editing","empty","onDoubleClick","onMouseDown","onChange","onKeyDown","onBlur","_EditableLabel2","_set_labelEditingChange","_set_labelChange","_EoDrawCanvas","lockBodyScroll","unwrapProvider","EoDrawCanvasComponent","LegacyEoDrawCanvasComponent","_EoDrawCanvas_brand","_handleCellMove","_handleCellResize","_handleCellDelete","_handleCellContextMenu","_handleDecoratorTextChange","_handleScaleChange","_canvasRef","EoDrawCanvas","_init_cells","_init_extra_cells","_init_defaultNodeSize","DEFAULT_NODE_SIZE","_init_extra_defaultNodeSize","_init_defaultNodeBricks","_init_extra_defaultNodeBricks","_init_defaultEdgeLines","_init_extra_defaultEdgeLines","_init_fadeUnrelatedCells","_init_extra_fadeUnrelatedCells","_init_nodeMoveEvent","_init_extra_nodeMoveEvent","_init_cellMoveEvent","_init_extra_cellMoveEvent","info","_get_cellMoveEvent","_get_nodeMoveEvent","_init_cellResizeEvent","_init_extra_cellResizeEvent","_get_cellResizeEvent","_init_cellDelete","_init_extra_cellDelete","cell","_get_cellDelete","_init_cellContextMenu","_init_extra_cellContextMenu","_get_cellContextMenu","_init_decoratorTextChange","_init_extra_decoratorTextChange","_get_decoratorTextChange","_init_scaleChange","_init_extra_scaleChange","_get_scaleChange","cells","defaultNodeSize","defaultNodeBricks","defaultEdgeLines","fadeUnrelatedCells","dropNode","_this","_asyncToGenerator","_document$elementsFro","_document","position","size","data","useBrick","document","elementsFromPoint","includes","_size$","_size$2","boundingClientRect","getBoundingClientRect","getTransform","newNode","view","dropDecorator","_this2","_document$elementsFro2","_document2","decorator","_classPrivateFieldGet3","newDecorator","replace","r","Math","random","toString","DEFAULT_AREA_WIDTH","DEFAULT_AREA_HEIGHT","addNodes","_this3","newNodes","_size$3","_size$4","addEdge","_this4","_classPrivateFieldGet4","newEdge","manuallyConnectNodes","updateCells","ctx","_this5","updated","_objectSpread","disconnectedCallback","super","host","onCellMove","onCellResize","onCellDelete","onCellContextMenu","onDecoratorTextChange","onScaleChange","_ref5","initialCells","dispatch","useReducer","rootReducer","initializeCells","cellsRef","manualConnectDeferredRef","editingTexts","setEditingTexts","some","isNodeCell","isDecoratorCell","SYMBOL_FOR_SIZE_INITIALIZED","payload","_ref6","findLastIndex","newCells","slice","allCells","previousCells","filter","result","sourceId","find","rect","from","offset","Promise","resolve","reject","handleConnect","state","to","_manualConnectDeferre2","i","_manualConnectDeferre","unrelatedCells","setUnrelatedCells","nextUnrelated","getUnrelatedCells","prev","resetActiveTarget","composedPath","indexOf","markerEnd","handleCellMoving","handleCellMoved","handleCellResizing","handleCellResized","handleDecoratorTextEditing","_ref7","texts","handleNodeBrickResize","CellComponent","onCellMoving","onCellMoved","onCellResizing","onCellResized","onDecoratorTextEditing","onNodeBrickResize","onConnect","_EoDrawCanvas2","_set_nodeMoveEvent","_set_cellMoveEvent","_set_cellResizeEvent","_set_cellDelete","_set_cellContextMenu","_set_decoratorTextChange","_set_scaleChange","_ExperimentalNode","_ExperimentalNode_brand","_handleDragStart","_handleDragMove","_handleDragEnd","ExperimentalNode","_init_usage","_init_extra_usage","_init_status","_init_extra_status","_init_decorator","_init_extra_decorator","_init_dragStartEvent","_init_extra_dragStartEvent","_get_dragStartEvent","_init_dragMoveEvent","_init_extra_dragMoveEvent","_get_dragMoveEvent","_init_dragEndEvent","_init_extra_dragEndEvent","_get_dragEndEvent","usage","status","ExperimentalNodeComponent","onDragStart","onDragMove","onDragEnd","handleMouseDown","clientX","clientY","onMouseMove","onMouseUp","_ExperimentalNode2","_set_dragStartEvent","_set_dragMoveEvent","_set_dragEndEvent","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9407],{2016:(e,t,r)=>{function n(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}r.d(t,{A:()=>n})},918:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(2016);function a(e,t,r){(0,n.A)(e,t),t.set(e,r)}},4635:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(2016);function a(e,t){(0,n.A)(e,t),t.add(e)}},4223:(e,t,r)=>{function n(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}r.d(t,{A:()=>n})},9407:(e,t,r)=>{r.r(t),r.d(t,{Dialog:()=>or,Notification:()=>pr,StoryboardFunctionRegistryFactory:()=>ve,__secret_internals:()=>n,__test_only:()=>{},applyTheme:()=>re,authenticate:()=>ei,batchSetAppsLocalTheme:()=>ne,checkIfByTransform:()=>xt,checkIfOfComputed:()=>Tt,createHistory:()=>I,createRuntime:()=>Ko,customProcessors:()=>B,customTemplates:()=>_e,fetchByProvider:()=>ai,getAuth:()=>ti,getBasePath:()=>v,getCssPropertyValue:()=>ce,getCurrentMode:()=>se,getCurrentTheme:()=>te,getHistory:()=>C,getPageInfo:()=>ka,getRuntime:()=>Vo,getV2RuntimeFromDll:()=>k,handleHttpError:()=>fr,httpErrorToString:()=>sr,isLoggedIn:()=>ni,isUnauthenticatedError:()=>lr,logout:()=>ri,matchPath:()=>Ht,registerWidgetFunctions:()=>Ne,registerWidgetI18n:()=>j,setUIVersion:()=>Ta,unstable_createRoot:()=>ii});var n={};r.r(n),r.d(n,{addRealTimeDataInspectHook:()=>$n,getAddedContracts:()=>Un,getAllContextValues:()=>_n,getBrickPackagesById:()=>Bn,getContextValue:()=>Mn,getRenderId:()=>Ln,legacyDoTransform:()=>Sn,mountUseBrick:()=>An,renderUseBrick:()=>yn,setRealTimeDataInspectRoot:()=>jn,symbolForRootRuntimeContext:()=>gn,unmountUseBrick:()=>wn,updateSnippetPreviewSettings:()=>xn,updateStoryboard:()=>En,updateStoryboardByRoute:()=>kn,updateStoryboardBySnippet:()=>Tn,updateStoryboardByTemplate:()=>In,updateTemplatePreviewSettings:()=>Cn});var a=r(9740),o=r(6330),i=r(4635),s=r(4586),l=r(918),c=r(7058),u=r(6154),d=r(8438),f=r(1302),p=(r(6036),r(2890));function v(){var e=document.querySelector("base");return e?e.getAttribute("href"):"/"}var h=r(4223),m=r(1030);function g(e,t){var r=(0,m.orderBy)(e,(e=>{var t,r;return null!==(t=null===(r=e.app.homepage)||void 0===r?void 0:r.length)&&void 0!==t?t:0}),"desc");for(var n of r){var a=n.app.homepage;if("string"==typeof a&&"/"===a[0]&&y(a,t))return n}}function y(e,t){return"/"===e?t===e:"".concat(t.replace(/\/+$/,""),"/").startsWith("".concat(e.replace(/\/+$/,""),"/"))}function b(e){var t;return!e||(null===(t=Vo().getCurrentApp())||void 0===t?void 0:t.id)!==e.app.id&&!window.STANDALONE_MICRO_APPS&&e.app.standaloneMode}var A,w=["extraQuery","clear","keepHash"],S=!1;function E(e,t){t(!(S=!confirm(e)))}function k(){var e,{dll:t}=window;if(t&&null!==(e=window.BRICK_NEXT_VERSIONS)&&void 0!==e&&null!==(e=e["brick-container"])&&void 0!==e&&e.startsWith("2."))return t("tYg3")}function I(){if(!A){var e=(0,p.createBrowserHistory)({basename:v().replace(/\/$/,""),getUserConfirmation:E});Object.assign(e,function(e){var t,{push:r,replace:n}=e;function o(e,t,n){S=!1,r(e,t),null==n||n(S)}function i(e,t,r){S=!1,n(e,t),null==r||r(S)}function s(t){return function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0,{extraQuery:s,clear:l,keepHash:c}=n,u=(0,h.A)(n,w),d=new URLSearchParams(l?"":e.location.search),f={};for(var[p,v]of(Object.assign(f,r,s),Object.entries(f)))if(Array.isArray(v))for(var m of(d.delete(p),v))d.append(p,m);else null==v||""===v?d.delete(p):d.set(p,v);("push"===t?o:i)("?".concat(d.toString()).concat(c?e.location.hash:""),u,a)}}return(0,a.A)({pushQuery:s("push"),replaceQuery:s("replace"),pushAnchor:function(t,r,n){o((0,a.A)((0,a.A)({},e.location),{},{key:void 0,hash:t,state:(0,a.A)({notify:!1},r)}),void 0,n)},reload:function(t){i((0,a.A)((0,a.A)({},e.location),{},{state:(0,a.A)((0,a.A)({},e.location.state),{},{notify:!0,noIncremental:!0})}),void 0,t)},setBlockMessage:function(e){t=e},getBlockMessage:function(){return t},unblock:function(){t=void 0}},function(e){var{push:t,replace:r}=e;function n(n){return function(a,o,i){var s,l="string"==typeof a;return"string"==typeof(s=l?(0,p.parsePath)(a).pathname:a.pathname)&&s.startsWith("/")&&b(function(e){var t,r;return g(null!==(t=null===(r=To)||void 0===r?void 0:r.storyboards)&&void 0!==t?t:[],e)}(s))?location["push"===n?"assign":"replace"](l?v()+a.substring(1):e.createHref(a)):("push"===n?t:r)(a,o,i)}}return{push:n("push"),replace:n("replace")}}((0,a.A)((0,a.A)({},e),{},{push:o,replace:i})))}(e)),A=e}return A}var C=function(){var e=k();if(e)return e.getHistory}()||function(){return A},R=r(5290),T=r(5481),O=r(50),x=r(5435),P=r(7731);function M(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var _=new WeakMap,B=function(){var e=k();if(e)return Object.freeze({define:(t,r)=>e.getRuntime().registerCustomProcessor(t,r)})}()||new class{constructor(){(0,l.A)(this,_,new Map)}define(e,t){var[r,n]=e.split("."),a=M(_,this).get(r);if(a||(a=new Map,M(_,this).set(r,a)),a.has(n))throw new Error('Custom processor of "'.concat(e,'" already registered'));a.set(n,t)}get(e){return M(_,this).get(e)}};function L(e){var{app:t,meta:r}=e;if(null!=r&&r.i18n){var n=U("app",t.id),a=[];return Object.entries(r.i18n).forEach((e=>{var[t,r]=e;c.i18n.addResourceBundle(t,n,r),a.push(t)})),()=>{for(var e of a)c.i18n.removeResourceBundle(e,n)}}}function U(e,t){return"".concat(e,"/").concat(t)}function F(e){return c.i18n.getFixedT(null,U("widget",e))}var N,j=function(){var e=k();if(e)return function(t,r){return e.getRuntime().registerWidgetI18n(t,r)}}()||function(e,t){var r=U("widget",e);Object.entries(t).forEach((e=>{var[t,n]=e;c.i18n.addResourceBundle(t,r,n)}))},$="brick-next-devtools-panel",D="devtools-frame-active-change",K="devtools-panel-change",V=!0;function W(e,t){var r=H();if(r&&("evaluation"!==e||V&&(!N||"Evaluations"===N))){var n=()=>{var n;null===(n=r.emit)||void 0===n||n.call(r,{type:e,payload:t})};"function"==typeof window.requestIdleCallback?window.requestIdleCallback(n):setTimeout(n,0)}}function H(){return window.__BRICK_NEXT_DEVTOOLS_HOOK__}var q=()=>{throw new Error("Can't modify read-only proxy object")},z={set:q,defineProperty:q,deleteProperty:q,setPrototypeOf:q};function G(e){return new Proxy(e,z)}function J(e){var{get:t,ownKeys:r}=e;return H()?G(Object.fromEntries(r(null).map((e=>[e,t(null,e,null)])))):new Proxy(Object.freeze({}),{get:t})}var Y="light",Q=new d.JsonStorage(localStorage),X="apps-theme";function Z(e){if("dark"!==e&&"light"!==e&&"dark-v2"!==e)throw new Error("Unsupported theme: ".concat(e));Y=e}function ee(){return Y}function te(){return document.documentElement.dataset.theme}function re(e){e?Z(e):e=ee(),e!==te()&&(document.documentElement.dataset.theme=e,window.dispatchEvent(new CustomEvent("theme.change",{detail:e})))}function ne(e){Q.setItem(X,(0,a.A)((0,a.A)({},ae()),e))}function ae(){var e,t;try{t=Q.getItem(X)}catch(e){console.error("JSON parse error inside `getLocalAppsTheme()`")}return null!==(e=t)&&void 0!==e?e:{}}var oe="default";function ie(e){if("dashboard"!==e&&"default"!==e)throw new Error("Unsupported mode: ".concat(e));oe=e}function se(){return document.documentElement.dataset.mode}function le(e){e?ie(e):e=oe,e!==se()&&(document.documentElement.dataset.mode=e,window.dispatchEvent(new CustomEvent("mode.change",{detail:e})))}function ce(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.documentElement;return r&&(null===(t=window.getComputedStyle(r))||void 0===t?void 0:t.getPropertyValue(e))||""}function ue(e,t){var r={};for(var n of e){var a=de(n,t);void 0!==a&&(r[n]=a)}return r}function de(e,t){var r,n,a,{collectCoverage:o,widgetId:i,widgetVersion:s,app:l,appendI18nNamespace:u,storyboardFunctions:d,isStoryboardFunction:f}=t;switch(e){case"BASE_URL":return o?"/next":v().replace(/\/$/,"");case"FN":return d;case"IMG":return o?{get:e=>"mock/images/".concat(e)}:i?null==xo||null===(r=xo.images)||void 0===r?void 0:r.widgetImagesFactory(i,s):null==xo||null===(n=xo.images)||void 0===n?void 0:n.imagesFactory(l.id,l.isBuildPush,l.currentVersion);case"I18N":return o?m.identity:i?F(i):c.i18n.getFixedT(null,[u,U("app",l.id)].filter(Boolean));case"I18N_TEXT":return o?fe:c.i18nText;case"PERMISSIONS":return G({check:o?pe:null==xo||null===(a=xo.checkPermissions)||void 0===a?void 0:a.checkPermissions});case"THEME":return G({getTheme:o?()=>"light":ee});case"console":return f?G(console):void 0;case"location":return o?{href:"http://localhost:3000/functions/test",origin:"http://localhost:3000",host:"localhost:3000",hostname:"localhost"}:{href:location.href,origin:location.origin,host:location.host,hostname:location.hostname}}}function fe(e){return null==e?void 0:e.en}function pe(){return!0}function ve(){var e,{widgetId:t,widgetVersion:r,collectCoverage:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=new Map,i=new Proxy(Object.freeze({}),{get:(a,s)=>function(a){var s,l=o.get(a);if(l){if(l.processed)return l.cooked;n&&(s=n.createCollector(a));var c=(0,T.precookFunction)(l.source,{typescript:l.typescript,hooks:s&&{beforeVisit:s.beforeVisit}});return l.cooked=(0,T.cook)(c.function,l.source,{rules:{noVar:!0},globalVariables:(0,P.supply)(c.attemptToVisitGlobals,ue(c.attemptToVisitGlobals,{collectCoverage:n,widgetId:t,widgetVersion:r,app:e,storyboardFunctions:i,isStoryboardFunction:!0}),!!n),hooks:s&&{beforeEvaluate:s.beforeEvaluate,beforeCall:s.beforeCall,beforeBranch:s.beforeBranch}}),l.processed=!0,l.cooked}}(s)});return{storyboardFunctions:i,registerStoryboardFunctions:function(t,r){if(r&&(e=r),o.clear(),Array.isArray(t))for(var a of t){var i=(0,O.collectMemberUsageInFunction)(a,"FN",!!n),s=(0,O.collectMemberUsageInFunction)(a,"PERMISSIONS",!!n).has("check");o.set(a.name,{source:a.source,typescript:a.typescript,deps:i,hasPermissionsCheck:s})}},updateStoryboardFunction(e,t){var r=(0,a.A)((0,a.A)({},t),{},{name:e}),n=(0,O.collectMemberUsageInFunction)(r,"FN",!0),i=(0,O.collectMemberUsageInFunction)(r,"PERMISSIONS",!0).has("check");o.set(e,{source:t.source,typescript:t.typescript,deps:n,hasPermissionsCheck:i})},checkPermissionsUsage(e){var t=new Set,r=e=>{if(!t.has(e)){t.add(e);var n=o.get(e);return!!n&&(n.hasPermissionsCheck||[...n.deps].some(r))}return!1};return e.some(r)}}}var{storyboardFunctions:he,registerStoryboardFunctions:me,checkPermissionsUsage:ge}=ve(),ye={};try{ye.EventTarget=(new EventTarget).constructor}catch(e){!function(e,t){var r=e.create,n=e.defineProperty,a=o.prototype;function o(){t.set(this,r(null))}function i(e,t,r){n(e,t,{configurable:!0,writable:!0,value:r})}function s(e){var t=e.options;return t&&t.once&&e.target.removeEventListener(this.type,e.listener),"function"==typeof e.listener?e.listener.call(e.target,this):e.listener.handleEvent(this),this._stopImmediatePropagationFlag}i(a,"addEventListener",(function(e,r,n){for(var a=t.get(this),o=a[e]||(a[e]=[]),i=0,s=o.length;i<s;i++)if(o[i].listener===r)return;o.push({target:this,listener:r,options:n})})),i(a,"dispatchEvent",(function(e){var r=t.get(this)[e.type];return r&&(i(e,"target",this),i(e,"currentTarget",this),r.slice(0).some(s,e),delete e.currentTarget,delete e.target),!0})),i(a,"removeEventListener",(function(e,r){for(var n=t.get(this),a=n[e]||(n[e]=[]),o=0,i=a.length;o<i;o++)if(a[o].listener===r)return void a.splice(o,1)})),ye.EventTarget=o}(Object,new WeakMap)}const be=ye.EventTarget;var Ae=function(e){return e.xLarge="xLarge",e.large="large",e.medium="medium",e.small="small",e.xSmall="xSmall",e}({}),we=new Map([[Ae.xLarge,"1920px"],[Ae.large,"1600px"],[Ae.medium,"1280px"],[Ae.small,"1024px"],[Ae.xSmall,0]]),Se=new be,Ee={},ke={};function Ie(e,t){var r=!1;for(var[n]of(Ee[t]=e.matches,we))if(Ee[n]&&ke.breakpoint!==n){ke.breakpoint=n,r=!0;break}r&&Se.dispatchEvent(new CustomEvent("change",{detail:ke}))}we.forEach(((e,t)=>{var r=window.matchMedia("(min-width: ".concat(e,")"));Ie(r,t),r.addEventListener?r.addEventListener("change",(e=>{Ie(e,t)})):r.addListener((e=>{Ie(e,t)}))}));var Ce=()=>ke;function Re(e){return function(t){var r,n="local"===e?localStorage:sessionStorage;return JSON.parse(null!==(r=n.getItem(t))&&void 0!==r?r:"null")}}function Te(e){var t,r;return!(null===(t=e?e.flags:null===(r=Vo())||void 0===r?void 0:r.getFeatureFlags())||void 0===t||!t["brick-next-v3-strict-mode"])}function Oe(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),a=2;a<r;a++)n[a-2]=arguments[a];var o=0===n.length?"":",";e?console.error("".concat(t," is dropped in v3 strict mode").concat(o),...n):console.warn("".concat(t," is deprecated in v3 and will be dropped in strict mode").concat(o),...n)}function xe(e,t){return e.get(function(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}(e,t))}var Pe=new Set(["prefix"]),Me=new WeakMap,_e=function(){var e=k();if(e)return Object.freeze({define:(t,r)=>e.getRuntime().registerCustomTemplate(t,r)})}()||new class{constructor(){(0,l.A)(this,Me,new Map)}define(e,t){var r,n,o,i,s=xe(Me,this).has(e);s?console.warn('Custom template of "'.concat(e,'" already registered.')):(s=!!customElements.get(e))&&console.warn('Custom template of "'.concat(e,'" already defined by customElements.'));var l=Te(),c=null!==(r=null===(n=t.proxy)||void 0===n?void 0:n.properties)&&void 0!==r?r:{},u=[],d=[];for(var[f,p]of Object.entries(c))p.asVariable?(Oe(l,"Template `asVariable`",e,f),l||d.push(f)):p.mergeProperty||p.refTransform?console.error("Template `mergeProperty` and `refTransform` are dropped in v3:",e,f):p.ref&&u.push([f,p]);var v=(0,a.A)((0,a.A)({},t),{},{proxy:(0,a.A)((0,a.A)({},t.proxy),{},{properties:Object.fromEntries(u)}),state:(t.state?l?t.state:t.state.map((e=>(0,a.A)({expose:!0},e))):[]).concat(d.map((e=>({name:e,expose:!0}))))});xe(Me,this).set(e,(0,a.A)((0,a.A)({},v),{},{name:e}));var h,g,y=(h=v.state,(0,m.uniq)(null!==(g=null==h?void 0:h.filter((e=>e.expose)).map((e=>e.name)))&&void 0!==g?g:[])),b=Object.entries(null!==(o=null===(i=v.proxy)||void 0===i?void 0:i.methods)&&void 0!==o?o:{}),A=y.concat(u.map((e=>e[0]))),w=b.map((e=>e[0])),S=A.concat(w).filter((e=>e in HTMLElement.prototype&&!Pe.has(e)));if(S.length>0&&(Oe(l,"Using native HTMLElement properties as template properties or methods",e,...S),l))throw new Error('In custom template "'.concat(e,'", ').concat(S.map((e=>'"'.concat(e,'"'))).join(", ")," are native HTMLElement properties, and should be avoid to be used as brick properties or methods."));if(!s){class t extends HTMLElement{get $$typeof(){return"custom-template"}static get _dev_only_definedProperties(){return A}static get _dev_only_definedMethods(){return w}$$getElementByRef(e){var t;return null===(t=this.$$tplStateStore)||void 0===t||null===(t=t.hostBrick)||void 0===t||null===(t=t.tplHostMetadata)||void 0===t||null===(t=t.internalBricksByRef.get(e))||void 0===t?void 0:t.element}connectedCallback(){var e=this.shadowRoot;e||(e=this.attachShadow({mode:"open"}));var t=document.createDocumentFragment(),r=document.createElement("style");r.textContent=":host{display:block}:host([hidden]){display:none}";var n=document.createElement("slot");t.appendChild(r),t.appendChild(n),e.appendChild(t)}disconnectedCallback(){this.shadowRoot&&(this.shadowRoot.textContent="")}}var E=function(r){if(u.some((e=>e[0]===r)))return console.error('Cannot define an exposed state that is also a proxy property: "'.concat(r,'" in ').concat(e)),1;Object.defineProperty(t.prototype,r,{get(){return this.$$tplStateStore.getValue(r)},set(e){var t;null===(t=this.$$tplStateStore)||void 0===t||t.updateValue(r,e,"replace")},enumerable:!0})};for(var k of y)E(k);var I=function(e,r){Object.defineProperty(t.prototype,e,{get(){var t;return this.$$getElementByRef(r.ref)[null!==(t=r.refProperty)&&void 0!==t?t:e]},set(t){var n,a,o=null===(n=this.$$getElementByRef)||void 0===n?void 0:n.call(this,r.ref);o&&(o[null!==(a=r.refProperty)&&void 0!==a?a:e]=t)},enumerable:!0})};for(var[C,R]of u)I(C,R);var T=function(e,r){Object.defineProperty(t.prototype,e,{value(){var t;this.$$getElementByRef(r.ref)[null!==(t=r.refMethod)&&void 0!==t?t:e](...arguments)},enumerable:!0})};for(var[O,x]of b)T(O,x);customElements.define(e,t)}}get(e){return xe(Me,this).get(e)}};function Be(e,t,r){var{tplStateStoreId:n,tplStateStoreMap:a}=e;if(!n)throw new Error('Using "'.concat(t,'" outside of a custom template').concat(null!=r?r:""));var o=a.get(n);if(!o)throw new Error('Template state store is not found when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return o}function Le(e,t,r){var n=Be(e,t,r).hostBrick.element;if(!n)throw new Error('Template host element is gone when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return n}var Ue=new Map,Fe=new Proxy(Object.freeze({}),{get:(e,t)=>Ue.get(t)}),Ne=function(){var e=k();if(e)return function(t,r,n){return e.getRuntime().registerWidgetFunctions(t,r,n)}}()||function(e,t,r){if(Ue.has(e))throw new Error('Widget functions of "'.concat(e,'" already registered'));var{storyboardFunctions:n,registerStoryboardFunctions:a}=ve({widgetId:e,widgetVersion:r});Ue.set(e,n),a(t)};const je=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,$e=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(je);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},De=e=>"*"===e||"x"===e||"X"===e,Ke=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},Ve=(e,t)=>{if(De(e)||De(t))return 0;const[r,n]=((e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t])(Ke(e),Ke(t));return r>n?1:r<n?-1:0},We=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const n=Ve(e[r]||"0",t[r]||"0");if(0!==n)return n}return 0},He=(e,t,r)=>{Ge(r);const n=((e,t)=>{const r=$e(e),n=$e(t),a=r.pop(),o=n.pop(),i=We(r,n);return 0!==i?i:a&&o?We(a.split("."),o.split(".")):a||o?a?-1:1:0})(e,t);return qe[r].includes(n)},qe={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},ze=Object.keys(qe),Ge=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===ze.indexOf(e))throw new Error(`Invalid operator, expected one of ${ze.join("|")}`)};function Je(e,t){var r=Zo(e);if(!r&&null!=xo&&xo.checkInstalledApps&&(r=xo.checkInstalledApps.getCheckedApp(e)),!r||"running"===r.installStatus)return!1;if(!t||!r.currentVersion)return!0;var n=t.match(/^([><]=?|=)(.*)$/);try{if(!n)throw new TypeError("Invalid match version: ".concat(t));return He(r.currentVersion,n[2],n[1])}catch(e){console.error(e)}return!1}function Ye(e,t,r){var{formStateStoreId:n,formStateStoreMap:a}=e;if(!n)throw new Error('Using "'.concat(t,'" outside of form renderer').concat(null!=r?r:""));var o=a.get(n);if(!o)throw new Error('Form state store is not found when using "'.concat(t,'"').concat(null!=r?r:"",".\nThis is a bug of Brick Next, please report it."));return o}var Qe=new Map;function Xe(e){return Ze.apply(this,arguments)}function Ze(){return Ze=(0,o.A)((function*(e){var t,r=null==xo||null===(t=xo.flowApi)||void 0===t?void 0:t.isFlowApiProvider(e);r&&(e=xo.flowApi.FLOW_API_PROVIDER);var n=Qe.get(e);if(n)return n;if(e.includes("-")&&!customElements.get(e))if(r)xo.flowApi.registerFlowApiProvider();else if(yield(0,u.loadBricksImperatively)([e],Jo()),!customElements.get(e))throw new Error('Provider not defined: "'.concat(e,'".'));return n=document.createElement(e),Qe.set(e,n),n})),Ze.apply(this,arguments)}var et=new WeakSet;function tt(e){if((0,d.isObject)(e)&&!rt(e))if(et.add(e),Array.isArray(e))e.forEach(tt);else{var t=Object.getPrototypeOf(e);t&&t.constructor!==Object||Object.values(e).forEach(tt)}}function rt(e){return et.has(e)}var nt=new Map;function at(e,t,r){return ot.apply(this,arguments)}function ot(){return(ot=(0,o.A)((function*(e,t,r){var{useProvider:n,method:o="resolve",args:i=[],onReject:s}=e,{provider:l,field:c}=e;if(l&&!n)throw new Error("You're using \"provider: ".concat(l,'" which is dropped in v3, please use "useProvider" instead'));var u=null!=c;if(u){var d=Te();if(Oe(d,"`resolve.field`"),d)throw new Error("Using deprecated `resolve.field`")}var f,[p,v]=yield Promise.all([Xe(n),At(i,t)]),h=null==r?void 0:r.renderId,g=it(p,n,o,v,r,i,!!h&&h!==Yo()),{transform:y}=e;try{var b=yield g;tt(f=u?(0,m.get)(b,c):b)}catch(e){if(!function(e){return!(null==e||!e.transform)}(s))throw e;y=s.transform,f=e}return y?"string"==typeof y?{[y]:f}:At(y,(0,a.A)((0,a.A)({},t),{},{data:f})):f}))).apply(this,arguments)}function it(e,t,r,n,a,o,i){return st.apply(this,arguments)}function st(){return st=(0,o.A)((function*(e,t,r,n,a,i,s){var l,c;try{l=JSON.stringify({useProvider:t,method:r,args:n})}catch(e){if(!i)throw e;l=JSON.stringify({useProvider:t,method:r,originalArgs:i})}return"reload"!==(null==a?void 0:a.cache)&&(c=nt.get(l)),c||(c=(0,o.A)((function*(){var a,o=null!=xo&&null!==(a=xo.flowApi)&&void 0!==a&&a.isFlowApiProvider(t)?yield xo.flowApi.getArgsOfFlowApi(t,n,r):n;return e[r](...o)}))(),s||nt.set(l,c)),c})),st.apply(this,arguments)}var lt=Symbol.for("pre.evaluated.raw"),ct=Symbol.for("pre.evaluated.context");function ut(e){return!(null==e||!e[lt])}function dt(e){return e[lt]}function ft(e){return"string"==typeof e?(0,T.shouldAllowRecursiveEvaluations)(e):(0,T.shouldAllowRecursiveEvaluations)(e[lt])}var pt=new WeakSet([SyntaxError,TypeError,ReferenceError]);function vt(e){return pt.has(e.constructor)?e.constructor:TypeError}function ht(){return(ht=(0,o.A)((function*(e,t,r){var{blockingList:n,run:a}=mt(e,t,r,!0);return yield Promise.all(n),a()}))).apply(this,arguments)}function mt(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0,o=[];if("string"!=typeof e){var i=(0,m.omit)(t,["pendingPermissionsPreCheck","tplStateStoreMap","tplStateStoreScope","formStateStoreMap","formStateStoreScope"]);t=(0,a.A)((0,a.A)({},e[ct]),i),e=e[lt]}var s,l={usedArgs:new Set},c={usedArgs:new Set};try{s=(0,T.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal(e,t){(0,O.collectAppGetMenuUsage)(l,e,t),(0,O.collectInstalledAppsHasUsage)(c,e,t)}}})}catch(t){var f="".concat(t.message,', in "').concat(e,'"');throw new(vt(t))(f)}if(l.hasNonStaticUsage)throw new Error('Non-static usage of "APP.getMenu" is prohibited in v3, check your expression: "'.concat(e,'"'));if(c.hasNonStaticUsage)throw new Error('Non-static usage of "INSTALLED_APPS.has" is prohibited in v3, check your expression: "'.concat(e,'"'));var p,v,h,g,y={},{attemptToVisitGlobals:b}=s;if(r.lazy||b.has("EVENT")&&!(0,d.hasOwnProperty)(t,"event")||b.has("DATA")&&!(0,d.hasOwnProperty)(t,"data"))return{blockingList:o,run:()=>Object.keys(t).length>0?{[lt]:e,[ct]:t}:e};var A,w,S=Te(t);(b.has("STATE")||!S&&b.has("TPL"))&&(g=Be(t,"STATE",': "'.concat(e,'"'))),b.has("FORM_STATE")&&(w=Ye(t,"FORM_STATE",': "'.concat(e,'"')));var E=H();if(n||E){if(b.has("CTX")&&(p=(0,O.strictCollectMemberUsage)(e,"CTX"),n&&o.push(t.ctxStore.waitFor(p))),g){if(h=(0,O.strictCollectMemberUsage)(e,"STATE"),!S){var k=(0,O.strictCollectMemberUsage)(e,"TPL");for(var I of k)h.add(I)}n&&o.push(g.waitFor(h))}w&&(A=(0,O.strictCollectMemberUsage)(e,"FORM_STATE"),n&&o.push(w.waitFor(A))),b.has("PROCESSORS")&&(v=(0,O.strictCollectMemberUsage)(e,"PROCESSORS",2),n&&o.push((0,u.loadProcessorsImperatively)(v,Jo())))}if(n){var C,R=b.has("PERMISSIONS");if(!R&&b.has("FN")){var x=[...(0,O.strictCollectMemberUsage)(e,"FN")];R=ge(x)}if(R&&o.push(...t.pendingPermissionsPreCheck),l.usedArgs.size>0&&null!=xo&&xo.menu){var M=[...l.usedArgs];o.push(Promise.all(M.map((e=>xo.menu.fetchMenuById(e,t,{getStoryboardByAppId:Xo,resolveData:at,asyncComputeRealValue:At})))))}c.usedArgs.size>0&&o.push(null==xo||null===(C=xo.checkInstalledApps)||void 0===C?void 0:C.waitForCheckingApps([...c.usedArgs]))}return{blockingList:o,run(){var r,n,o,i,{app:l,location:c,query:u,match:f,flags:E,sys:k,ctxStore:I,data:C,event:R}=t,O=null!==(r=t.overrideApp)&&void 0!==r?r:l;for(var x of b)switch(x){case"ANCHOR":y[x]=c.hash?c.hash.substring(1):null;break;case"APP":y[x]=(0,a.A)((0,a.A)({},(0,m.cloneDeep)(O)),{},{getMenu:null==xo||null===(n=xo.menu)||void 0===n?void 0:n.getMenuById});break;case"CTX":y[x]=J({get:(e,t)=>I.getValue(t),ownKeys:()=>Array.from(p)});break;case"DATA":y[x]=C;break;case"EVENT":y[x]=R;break;case"FLAGS":y[x]=G(E);break;case"FORM_STATE":y[x]=J({get:(e,t)=>w.getValue(t),ownKeys:()=>Array.from(A)});break;case"HASH":y[x]=c.hash;break;case"INSTALLED_APPS":y[x]=G({has:Je});break;case"ITEM":case"INDEX":var M="ITEM"===x?"forEachItem":"forEachIndex";(0,d.hasOwnProperty)(t,M)?y[x]=t[M]:console.error("Using `".concat(x,'` but no `:forEach` is found, check your expression: "').concat(e,'"'));break;case"LOCAL_STORAGE":y[x]=G({getItem:Re("local")});break;case"MEDIA":y[x]=G(Ce());break;case"MISC":y[x]=Vo().getMiscSettings();break;case"PARAMS":y[x]=new URLSearchParams(u);break;case"PATH":y[x]=G(null!==(o=null==f?void 0:f.params)&&void 0!==o?o:{});break;case"PATH_NAME":y[x]=c.pathname;break;case"PROCESSORS":y[x]=J({get(e,t){var r=B.get(t);if(!r)throw new Error("'PROCESSORS.".concat(t,"' is not registered! Have you installed the relevant brick package?"));return J({get:(e,t)=>r.get(t),ownKeys:()=>Array.from(r.keys())})},ownKeys(){var e=new Set;for(var t of v){var r=t.split(".")[0];e.add(r)}return Array.from(e)}});break;case"QUERY":y[x]=Object.fromEntries(Array.from(u.keys()).map((e=>[e,u.get(e)])));break;case"QUERY_ARRAY":y[x]=Object.fromEntries(Array.from(u.keys()).map((e=>[e,u.getAll(e)])));break;case"SESSION_STORAGE":y[x]=G({getItem:Re("session")});break;case"TPL":if(Oe(S,'Using "TPL" in expression','check your expression: "'.concat(e,'"')),S)break;case"STATE":y[x]=J({get:(e,t)=>g.getValue(t),ownKeys:()=>Array.from(h)});break;case"SYS":y[x]=G(null!=k?k:{});break;case"__WIDGET_FN__":y[x]=Fe;break;case"__WIDGET_IMG__":y[x]=null==xo||null===(i=xo.images)||void 0===i?void 0:i.widgetImagesFactory;break;case"__WIDGET_I18N__":y[x]=F}Object.assign(y,ue(s.attemptToVisitGlobals,{storyboardFunctions:he,app:O,appendI18nNamespace:t.appendI18nNamespace}));try{var _=(0,T.cook)(s.expression,s.source,{globalVariables:(0,P.supply)(s.attemptToVisitGlobals,y)});return W("evaluation",{raw:e,context:y,result:_}),_}catch(t){var L="".concat(t.message,', in "').concat(e,'"');throw new(vt(t))(L)}}}}var gt=function(e){return e[e.INITIAL=0]="INITIAL",e[e.USE_BRICK=1]="USE_BRICK",e[e.USE_BRICK_ITEM=2]="USE_BRICK_ITEM",e[e.USE_BRICK_PROPERTIES=3]="USE_BRICK_PROPERTIES",e[e.USE_BRICK_TRANSFORM=4]="USE_BRICK_TRANSFORM",e[e.USE_BRICK_EVENTS=5]="USE_BRICK_EVENTS",e[e.USE_BRICK_IF=6]="USE_BRICK_IF",e[e.USE_BRICK_SLOTS=7]="USE_BRICK_SLOTS",e[e.USE_BRICK_SLOTS_ITEM=8]="USE_BRICK_SLOTS_ITEM",e[e.USE_BRICK_SLOTS_ITEM_BRICKS=9]="USE_BRICK_SLOTS_ITEM_BRICKS",e[e.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM=10]="USE_BRICK_SLOTS_ITEM_BRICKS_ITEM",e[e.USE_BRICK_LIFECYCLE=11]="USE_BRICK_LIFECYCLE",e[e.USE_BRICK_DATA_SOURCE=12]="USE_BRICK_DATA_SOURCE",e}({});function yt(e){switch(e){case gt.USE_BRICK_PROPERTIES:case gt.USE_BRICK_TRANSFORM:case gt.USE_BRICK_EVENTS:case gt.USE_BRICK_IF:case gt.USE_BRICK_LIFECYCLE:case gt.USE_BRICK_DATA_SOURCE:return!0}return!1}function bt(e,t,r){if(yt(e))return e;if(t)switch(e){case gt.USE_BRICK:return gt.USE_BRICK_ITEM;case gt.USE_BRICK_SLOTS_ITEM_BRICKS:return gt.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM}else switch(e){case gt.INITIAL:if("useBrick"===r)return gt.USE_BRICK;break;case gt.USE_BRICK:case gt.USE_BRICK_ITEM:case gt.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM:switch(r){case"properties":return gt.USE_BRICK_PROPERTIES;case"transform":return gt.USE_BRICK_TRANSFORM;case"dataSource":return gt.USE_BRICK_DATA_SOURCE;case"events":return gt.USE_BRICK_EVENTS;case"slots":return gt.USE_BRICK_SLOTS;case"children":return gt.USE_BRICK_SLOTS_ITEM_BRICKS;case"if":return gt.USE_BRICK_IF;case"lifeCycle":return gt.USE_BRICK_LIFECYCLE}break;case gt.USE_BRICK_SLOTS:return gt.USE_BRICK_SLOTS_ITEM;case gt.USE_BRICK_SLOTS_ITEM:if("bricks"===r)return gt.USE_BRICK_SLOTS_ITEM_BRICKS}return gt.INITIAL}function At(e,t){return wt.apply(this,arguments)}function wt(){return wt=(0,o.A)((function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=ut(e);if(n||"string"==typeof e){var a,o=r.$$lazyForUseBrick&&yt(r.$$stateOfUseBrick),i=o;return n||(0,T.isEvaluable)(e)?(a=yield function(e,t,r){return ht.apply(this,arguments)}(e,t,{lazy:o}),i=ft(e)):a=o?e:((0,d.hasOwnProperty)(t,"data")?r.noInject?x.transform:x.transformAndInject:r.noInject?kt:x.inject)(e,t),i||tt(a),a}if(!(0,d.isObject)(e)||rt(e)||"function"==typeof e)return e;if(Array.isArray(e)){var s=Et(r,!0);return Promise.all(e.map((e=>At(e,t,s))))}return Object.fromEntries((yield Promise.all(Object.entries(e).map((e=>{var[n,a]=e;return Promise.all([At(n,t),At(a,t,Et(r,!1,n))])})))).concat(r.ignoreSymbols?[]:Object.getOwnPropertySymbols(e).map((t=>[t,e[t]]))))})),wt.apply(this,arguments)}function St(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=ut(e);if(n||"string"==typeof e){var a,o=r.$$lazyForUseBrick&&yt(r.$$stateOfUseBrick),i=o;return n||(0,T.isEvaluable)(e)?(a=function(e,t,r){var{run:n}=mt(e,t,void 0,!1);return n()}(e,t),i=ft(e)):a=o?e:((0,d.hasOwnProperty)(t,"data")?r.noInject?x.transform:x.transformAndInject:r.noInject?kt:x.inject)(e,t),i||tt(a),a}if(!(0,d.isObject)(e)||rt(e)||"function"==typeof e)return e;if(Array.isArray(e)){var s=Et(r,!0);return e.map((e=>St(e,t,s)))}return Object.fromEntries(Object.entries(e).map((e=>{var[n,a]=e;return[St(n,t),St(a,t,Et(r,!1,n))]})).concat(r.ignoreSymbols?[]:Object.getOwnPropertySymbols(e).map((t=>[t,e[t]]))))}function Et(e,t,r){return e.$$lazyForUseBrick?(0,a.A)((0,a.A)({},e),{},{$$stateOfUseBrick:bt(e.$$stateOfUseBrick,t,r)}):e}function kt(e){return e}function It(e,t){return Ct.apply(this,arguments)}function Ct(){return(Ct=(0,o.A)((function*(e,t){return!(0,d.hasOwnProperty)(e,"if")||!!("string"==typeof e.if||ut(e.if)?yield At(e.if,t):e.if)}))).apply(this,arguments)}function Rt(e,t){return!(0,d.hasOwnProperty)(e,"if")||!!("string"==typeof e.if||ut(e.if)?St(e.if,t):e.if)}function Tt(e){return!(0,d.hasOwnProperty)(e,"if")||!!e.if}function Ot(){return(Ot=(0,o.A)((function*(e,t){return(0,d.isObject)(e.if)&&!ut(e.if)?Tt(yield at(e.if,t)):It(e,t)}))).apply(this,arguments)}var xt=function(){var e=k();if(e)return e.looseCheckIfByTransform}()||function(e,t){return Rt(e,{data:t})};function Pt(e){var t=!1,r=!1,n=!1;if("string"==typeof e?(0,T.isEvaluable)(e):ut(e)){var a="string"==typeof e?e:dt(e);if((0,T.isTrackAll)(a)){var o=(0,O.trackAll)(a);o&&(t=o.context,r=o.state,n=o.formState)}else t=(0,O.track)(a,"track context","CTX"),r=(0,O.track)(a,"track state","STATE"),n=(0,O.track)(a,"track formstate","FORM_STATE")}return{contextNames:t,stateNames:r,formStateNames:n}}function Mt(e,t){return _t.apply(this,arguments)}function _t(){return(_t=(0,o.A)((function*(e,t){for(var[r,n,a]of e)if(r===t){var o=yield n;if(void 0!==o||!a)return o}}))).apply(this,arguments)}function Bt(e){return Lt.apply(this,arguments)}function Lt(){return(Lt=(0,o.A)((function*(e){var t={};for(var[r,n,a]of e){var o=yield n;void 0===o&&a||!("style"!==r&&"dataset"!==r||(0,d.isObject)(o))||(t[r]=o)}return t}))).apply(this,arguments)}function Ut(e,t){if(t)for(var[r,n]of Object.entries(t))switch(r){case"style":case"dataset":for(var[a,o]of Object.entries(n))e[r][a]=o;break;case"constructor":case"__proto__":case"innerHTML":throw new Error("set `".concat(r,"` is prohibited"));default:e[r]=n}}function Ft(e,t,r){var n=function(e,t){return(0,d.isObject)(e)?Object.fromEntries(Object.entries(e).map((e=>{var[r,n]=e,a=St(n,t,{$$lazyForUseBrick:!0,$$stateOfUseBrick:"useBrick"===r?gt.USE_BRICK:gt.INITIAL});if("style"!==r&&"dataset"!==r||(0,d.isObject)(a))return[r,a]})).filter(Boolean)):{}}(t,r);Array.isArray(e)||(e=[e]),e.forEach((e=>{Ut(e,n)}))}function Nt(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function jt(e){return e&&e.sensitive?"":"i"}function $t(e,t,r){return function(e,t,r){void 0===r&&(r={});for(var n=r.strict,a=void 0!==n&&n,o=r.start,i=void 0===o||o,s=r.end,l=void 0===s||s,c=r.encode,u=void 0===c?function(e){return e}:c,d=r.delimiter,f=void 0===d?"/#?":d,p=r.endsWith,v="[".concat(Nt(void 0===p?"":p),"]|$"),h="[".concat(Nt(f),"]"),m=i?"^":"",g=0,y=e;g<y.length;g++){var b=y[g];if("string"==typeof b)m+=Nt(u(b));else{var A=Nt(u(b.prefix)),w=Nt(u(b.suffix));if(b.pattern)if(t&&t.push(b),A||w)if("+"===b.modifier||"*"===b.modifier){var S="*"===b.modifier?"?":"";m+="(?:".concat(A,"((?:").concat(b.pattern,")(?:").concat(w).concat(A,"(?:").concat(b.pattern,"))*)").concat(w,")").concat(S)}else m+="(?:".concat(A,"(").concat(b.pattern,")").concat(w,")").concat(b.modifier);else"+"===b.modifier||"*"===b.modifier?m+="((?:".concat(b.pattern,")").concat(b.modifier,")"):m+="(".concat(b.pattern,")").concat(b.modifier);else m+="(?:".concat(A).concat(w,")").concat(b.modifier)}}if(l)a||(m+="".concat(h,"?")),m+=r.endsWith?"(?=".concat(v,")"):"$";else{var E=e[e.length-1],k="string"==typeof E?h.indexOf(E[E.length-1])>-1:void 0===E;a||(m+="(?:".concat(h,"(?=").concat(v,"))?")),k||(m+="(?=".concat(h,"|").concat(v,")"))}return new RegExp(m,jt(r))}(function(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r<e.length;){var n=e[r];if("*"!==n&&"+"!==n&&"?"!==n)if("\\"!==n)if("{"!==n)if("}"!==n)if(":"!==n)if("("!==n)t.push({type:"CHAR",index:r,value:e[r++]});else{var a=1,o="";if("?"===e[s=r+1])throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;)if("\\"!==e[s]){if(")"===e[s]){if(0==--a){s++;break}}else if("("===e[s]&&(a++,"?"!==e[s+1]))throw new TypeError("Capturing groups are not allowed at ".concat(s));o+=e[s++]}else o+=e[s++]+e[s++];if(a)throw new TypeError("Unbalanced pattern at ".concat(r));if(!o)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:o}),r=s}else{for(var i="",s=r+1;s<e.length;){var l=e.charCodeAt(s);if(!(l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||95===l))break;i+=e[s++]}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s}else t.push({type:"CLOSE",index:r,value:e[r++]});else t.push({type:"OPEN",index:r,value:e[r++]});else t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});else t.push({type:"MODIFIER",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),n=t.prefixes,a=void 0===n?"./":n,o="[^".concat(Nt(t.delimiter||"/#?"),"]+?"),i=[],s=0,l=0,c="",u=function(e){if(l<r.length&&r[l].type===e)return r[l++].value},d=function(e){var t=u(e);if(void 0!==t)return t;var n=r[l],a=n.type,o=n.index;throw new TypeError("Unexpected ".concat(a," at ").concat(o,", expected ").concat(e))},f=function(){for(var e,t="";e=u("CHAR")||u("ESCAPED_CHAR");)t+=e;return t};l<r.length;){var p=u("CHAR"),v=u("NAME"),h=u("PATTERN");if(v||h){var m=p||"";-1===a.indexOf(m)&&(c+=m,m=""),c&&(i.push(c),c=""),i.push({name:v||s++,prefix:m,suffix:"",pattern:h||o,modifier:u("MODIFIER")||""})}else{var g=p||u("ESCAPED_CHAR");if(g)c+=g;else if(c&&(i.push(c),c=""),u("OPEN")){m=f();var y=u("NAME")||"",b=u("PATTERN")||"",A=f();d("CLOSE"),i.push({name:y||(b?s++:""),pattern:y&&!b?o:b,prefix:m,suffix:A,modifier:u("MODIFIER")||""})}else d("END")}}return i}(e,r),t,r)}function Dt(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,a=r.exec(e.source);a;)t.push({name:a[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),a=r.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,r){var n=e.map((function(e){return Dt(e,t,r).source}));return new RegExp("(?:".concat(n.join("|"),")"),jt(r))}(e,t,r):$t(e,t,r)}var Kt=new Map,Vt=1e4,Wt=0;function Ht(e,t){var{path:r,exact:n=!1,strict:a=!1,sensitive:o=!0}=t;return(Array.isArray(r)?r:[r]).reduce(((t,r)=>{if(t)return t;var{regexp:i,keys:s}=function(e,t){var r="".concat(t.end).concat(t.strict).concat(t.sensitive),n=Kt.get(r);n||Kt.set(r,n=new Map);var a=n.get(e);if(a)return a;var o=[],i={regexp:Dt(e,o,t),keys:o};return Wt<Vt&&(n.set(e,i),Wt++),i}(r,{end:n,strict:a,sensitive:o}),l=i.exec(e);if(!l)return null;var[c,...u]=l,d=e===c;return n&&!d?null:{path:r,url:"/"===r&&""===c?"/":c,isExact:d,params:s.reduce(((e,t,r)=>(e[t.name]=u[r],e)),{})}}),null)}function qt(){return(qt=(0,o.A)((function*(e,t){for(var r of e){if("string"!=typeof r.path)throw console.error("Invalid route with invalid path:",r),new Error("Invalid route with invalid type of path: ".concat(typeof r.path));var n=zt(r,t.app.homepage,t.location.pathname);if(n&&(yield It(r,t)))return t.app.noAuthGuard||r.public||null==xo||!xo.auth||xo.auth.isLoggedIn()?{match:n,route:r}:"unauthenticated"}return"missed"}))).apply(this,arguments)}function zt(e,t,r){return Ht(r,{path:e.path.replace(/^\$\{APP.homepage\}/,t),exact:e.exact})}var Gt,Jt=Symbol.for("tpl.asyncComputedPropsFromHost"),Yt=Symbol.for("tpl.stateStoreId"),Qt=Symbol.for("tpl.externalForEachItem"),Xt=Symbol.for("tpl.externalForEachIndex"),Zt=new Set,er=function(e){return e.REQUEST_FAILED="REQUEST_FAILED",e.SOMETHING_WENT_WRONG="SOMETHING_WENT_WRONG",e.LOGIN_TIMEOUT_MESSAGE="LOGIN_TIMEOUT_MESSAGE",e.NETWORK_ERROR="NETWORK_ERROR",e}({}),tr={[er.REQUEST_FAILED]:"Request Failed",[er.SOMETHING_WENT_WRONG]:"Something went wrong!",[er.LOGIN_TIMEOUT_MESSAGE]:"You haven't logged in or your login session has expired. Login right now?",[er.NETWORK_ERROR]:"Network error, please check your network."},rr={[er.REQUEST_FAILED]:"请求失败",[er.SOMETHING_WENT_WRONG]:"出现了一些问题!",[er.LOGIN_TIMEOUT_MESSAGE]:"您还未登录或登录信息已过期,现在重新登录?",[er.NETWORK_ERROR]:"网络错误,请检查您的网络连接。"},nr="core/runtime",ar={en:tr,zh:rr},or=Object.freeze({show:function(e){return Gt?Gt.resolve(e):"confirm"===e.type?confirm(e.content)?new Promise((e=>setTimeout((()=>{e()}),1))):new Promise(((e,t)=>setTimeout((()=>{t()}),1))):(alert(e.content),new Promise((e=>setTimeout((()=>{e()}),1e3))))}});function ir(e){var{search:t,pathname:r}=e,n=r?window.btoa(encodeURIComponent(r)):"",a=t?window.btoa(encodeURIComponent(t)):"";document.cookie="SALOGINPATH=".concat(n,"; path=/"),document.cookie="SALOGINQUERY=".concat(a,"; path=/")}function sr(e){if(e instanceof Event&&e.target instanceof HTMLScriptElement)return e.target.src;if(e instanceof R.HttpFetchError)return c.i18n.t("".concat(nr,":").concat(er.NETWORK_ERROR));if(e instanceof R.HttpResponseError&&e.responseJson){if("string"==typeof e.responseJson.error)return e.responseJson.error;if("string"==typeof e.responseJson.msg)return e.responseJson.msg}return null==e?"Unknown error":e.toString()}function lr(e){return e instanceof R.HttpResponseError&&401===e.response.status&&!!e.responseJson&&100003===e.responseJson.code}var cr,ur,dr=!1;function fr(e){if(!(e instanceof R.HttpAbortError)){if(lr(e)&&!window.NO_AUTH_GUARD){if(dr)return;return dr=!0,void or.show({type:"confirm",content:c.i18n.t("".concat(nr,":").concat(er.LOGIN_TIMEOUT_MESSAGE))}).then((()=>{var e,t;e=Vo().getFeatureFlags()["sso-enabled"],ir((t=C()).location),t.push(e?"/sso-auth/login":"/auth/login",{from:(0,a.A)((0,a.A)({},t.location),{},{state:void 0})}),dr=!1}),(()=>{dr=!1}))}console.error(e);var t=sr(e);t!==cr&&(cr=t,or.show({type:"error",title:c.i18n.t("".concat(nr,":").concat(er.REQUEST_FAILED)),content:t,contentStyle:{whiteSpace:"pre-wrap",wordBreak:"break-word"}}).then((()=>{cr=void 0})))}}var pr=Object.freeze({show:function(e){ur?ur.resolve(e):alert(e.message)}});function vr(e,t,r){t&&Object.entries(t).forEach((t=>{var[n,a]=t,o=br(a,r,{element:e});for(var i of(e.addEventListener(n,o),e.$$listeners||(e.$$listeners=[]),e.$$listeners.push([n,o]),e.$$eventListeners||(e.$$eventListeners=[]),[].concat(a)))e.$$eventListeners.push([n,null,i])}))}function hr(e){return"string"==typeof e.action}function mr(e){return"string"==typeof e.useProvider}function gr(e){return!(!e.target&&!e.targetRef||!e.method&&!e.properties)}function yr(e){return!!e.then}function br(e,t,r){return function(n){var o,i;for(var s of[].concat(e))if(Rt(s,(0,a.A)((0,a.A)({},t),{},{event:n})))if(yr(s))br(s.then,t,r)(n);else if(hr(s)){var[l,c]=s.action.split(".");switch(s.action){case"history.push":case"history.replace":case"history.pushQuery":case"history.replaceQuery":case"history.pushAnchor":case"history.block":case"history.goBack":case"history.goForward":case"history.reload":case"history.unblock":Ir(n,c,s.args,s.callback,t);break;case"window.open":Cr(n,s.args,t);break;case"location.reload":case"location.assign":Pr(n,c,s.args,t);break;case"localStorage.setItem":case"localStorage.removeItem":case"sessionStorage.setItem":case"sessionStorage.removeItem":Mr(n,l,c,s.args,t);break;case"event.preventDefault":n.preventDefault();break;case"event.stopPropagation":n.stopPropagation();break;case"console.log":case"console.error":case"console.warn":case"console.info":_r(n,c,s.args,t);break;case"message.success":case"message.error":case"message.info":case"message.warn":Br(n,c,s.args,t);break;case"handleHttpError":fr(n.detail);break;case"context.assign":case"context.replace":case"context.refresh":case"context.load":Tr(n,c,s.args,null===(o=s.batch)||void 0===o||o,s.callback,t);break;case"state.update":case"state.refresh":case"state.load":Or(n,c,s.args,null===(i=s.batch)||void 0===i||i,s.callback,t);break;case"tpl.dispatchEvent":var[u,d]=Nr(s.args,t,n);Le(t,s.action,": ".concat(u)).dispatchEvent(new CustomEvent(u,d));break;case"formstate.update":xr(n,s.args,s.callback,t);break;case"message.subscribe":case"message.unsubscribe":Lr(n,c,s.args,t,r,s.callback);break;case"theme.setDarkTheme":case"theme.setLightTheme":re("theme.setDarkTheme"===s.action?"dark":"light");break;case"theme.setTheme":var[f]=Nr(s.args,t,n);re(f);break;case"mode.setDashboardMode":case"mode.setDefaultMode":le("mode.setDashboardMode"===s.action?"dashboard":"default");break;default:console.error("unknown event listener action:",s.action)}}else mr(s)?Ar(n,s,t,r):gr(s)?Sr(n,s,t,r):console.error("unknown event handler:",s);else s.else&&br(s.else,t,r)(n)}}function Ar(e,t,r,n){return wr.apply(this,arguments)}function wr(){return(wr=(0,o.A)((function*(e,t,r,n){try{Er(e,yield Xe(t.useProvider),t,"saveAs"!==t.method?"resolve":"saveAs",r,n)}catch(e){console.error(sr(e))}}))).apply(this,arguments)}function Sr(e,t,r,n){var o=[],i=t.target,s=t.targetRef,l=i;if(("string"==typeof i?(0,T.isEvaluable)(i):ut(i))&&(l=St(i,(0,a.A)((0,a.A)({},r),{},{event:e}))),"string"==typeof l)if("_self"===l)o.push(n.element);else if(t.multiple)o=Array.from(document.querySelectorAll(l));else{var c=document.querySelector(l);null!==c&&o.push(c)}else if(l)l instanceof HTMLElement?o.push(l):console.error("unexpected target:",l);else if(s){var u=s;("string"==typeof s?(0,T.isEvaluable)(s):ut(s))&&(u=St(s,(0,a.A)((0,a.A)({},r),{},{event:e})));var d=[].concat(u),f=Le(r,"targetRef",": ".concat(d.join(", ")));o.push(...d.map((e=>{var t;return null===(t=f.$$getElementByRef)||void 0===t?void 0:t.call(f,e)})).filter(Boolean))}0!==o.length?function(e){return!!e.method}(t)?o.forEach((a=>{Er(e,a,t,t.method,r,n,{useEventAsDefault:!0})})):function(e){return!!e.properties}(t)&&Ft(o,t.properties,(0,a.A)((0,a.A)({},r),{},{event:e})):console.error("target not found:",i||s)}function Er(e,t,r,n,a,o,i){return kr.apply(this,arguments)}function kr(){return kr=(0,o.A)((function*(e,t,r,n,i,s,l){if("function"==typeof t[n]){var c=function(){var a=(0,o.A)((function*(){var a,o=Nr(r.args,i,e,l);return mr(r)&&null!=xo&&null!==(a=xo.flowApi)&&void 0!==a&&a.isFlowApiProvider(r.useProvider)&&(o=yield xo.flowApi.getArgsOfFlowApi(r.useProvider,o,n)),t[n](...o)}));return function(){return a.apply(this,arguments)}}();if(r.callback){var u=Fr(r.callback,i,s),d={progress:u("progress"),success:u("success"),error:u("error"),finally:u("finally")};if(mr(r)){var f,p=(0,a.A)((0,a.A)({},i),{},{event:e});if(St(null===(f=r.poll)||void 0===f?void 0:f.enabled,p))return void function(e,t,r,n){var a,{progress:i,success:s,error:l,finally:c}=t,{expectPollStopImmediately:u,expectPollEnd:d}=r,{interval:f,leadingRequestDelay:p,continueOnError:v,delegateLoadingBar:h}=St((0,m.pick)(r,["interval","leadingRequestDelay","continueOnError","delegateLoadingBar"]),n),g=Yo();function y(){return b.apply(this,arguments)}function b(){return(b=(0,o.A)((function*(){var t;Zt.delete(a);try{var r;if(!(t=null===(r=St(u,n))||void 0===r?void 0:r())){var o,p,m=yield e();(t=(null===(o=St(u,n))||void 0===o?void 0:o())||g!==Yo())||(null==i||i(m),null!==(p=St(d,n))&&void 0!==p&&p(m)?(h&&window.dispatchEvent(new Event("request.end")),null==s||s(m),null==c||c()):A(null!=f?f:3e3))}}catch(e){var y;(t=(null===(y=St(u,n))||void 0===y?void 0:y())||g!==Yo())||(null==l||l(e),v?A(null!=f?f:3e3):null==c||c())}finally{h&&t&&window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function A(e){a=setTimeout(y,e),Zt.add(a)}A(null!=p?p:0),h&&window.dispatchEvent(new Event("request.start"))}(c,d,r.poll,p)}try{var v=yield c();d.success(v)}catch(e){d.error(e)}finally{d.finally()}}else c()}else console.error("target has no method:",{target:t,method:n})})),kr.apply(this,arguments)}function Ir(e,t,r,n,a){var o=0,i=!1,s=t;switch(t){case"push":case"replace":case"pushQuery":case"replaceQuery":case"pushAnchor":o=2,i=!0;break;case"reload":i=!0;break;case"block":o=1,s="setBlockMessage"}var l=[];if(o>0&&((l=Nr(r,a,e,{useEventDetailAsDefault:!0})).length=o),i&&n){var c=Fr(n,a,void 0);l.push((e=>{c(e?"error":"success")({blocked:e}),c("finally")({blocked:e})}))}C()[s](...l)}function Cr(e,t,r){var[n,a,o]=Nr(t,r,e);window.open(n,a||"_self",o)}function Rr(e,t,r,n,a,o){t?n.updateValues(e,r,(e=>Nr(e,a,o)[0])):e.forEach((e=>{var{name:t,value:i}=Nr([e],a,o)[0];n.updateValue(t,i,r)}))}function Tr(e,t,r,n,a,o){if(!Array.isArray(r)||!r.every(d.isObject)||"assign"!==t&&"replace"!==t){var[i,s]=Nr(r,o,e);o.ctxStore.updateValue(i,s,t,a,o)}else Rr(r,n,t,o.ctxStore,o,e)}function Or(e,t,r,n,a,o){if(Array.isArray(r)&&r.every(d.isObject)&&"update"===t)Rr(r,n,"replace",Be(o,"state.".concat(t),": ".concat(JSON.stringify(r))),o,e);else{var[i,s]=Nr(r,o,e);Be(o,"state.".concat(t),": ".concat(i)).updateValue(i,s,"update"===t?"replace":t,a,o)}}function xr(e,t,r,n){var[a,o]=Nr(t,n,e);Ye(n,"formstate.update",": ".concat(a)).updateValue(a,o,"replace",r,n)}function Pr(e,t,r,n){if("assign"===t){var[a]=Nr(r,n,e);location.assign(a)}else location[t]()}function Mr(e,t,r,n,a){var o="localStorage"===t?localStorage:sessionStorage,[i,s]=Nr(n,a,e);"setItem"===r?void 0!==s&&o.setItem(i,JSON.stringify(s)):o.removeItem(i)}function _r(e,t,r,n){console[t](...Nr(r,n,e,{useEventAsDefault:!0}))}function Br(e,t,r,n){var a=Nr(r,n,e,{useEventAsDefault:!0});pr.show({type:t,message:a[0]})}function Lr(e,t,r,n,a,o){return Ur.apply(this,arguments)}function Ur(){return(Ur=(0,o.A)((function*(e,t,r,n,a,o){var i=()=>{var a,o=Nr(r,n,e);return null==xo||null===(a=xo.messageDispatcher)||void 0===a?void 0:a[t](...o)};if(o){var s=Fr(o,n,a);try{var l=yield i();s("success")(l)}catch(e){s("error")(e)}finally{s("finally")()}}else i()}))).apply(this,arguments)}function Fr(e,t,r){return function(n){return function(a){var o=null==e?void 0:e[n];if(o)try{var i=new CustomEvent("callback.".concat(n),{detail:a});br(o,t,r)(i)}catch(e){console.error(e)}else"error"===n&&console.error("Unhandled callback error:",a)}}}function Nr(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Array.isArray(e)?St(e,(0,a.A)((0,a.A)({},t),{},{event:r})):n.useEventAsDefault?[r]:n.useEventDetailAsDefault?[r.detail]:[]}function jr(e){var t,{ref:r,runtimeContext:n,element:a}=e;if(r&&n.tplStateStoreId){var{hostBrick:o}=Be(n,"bindTemplateProxy"),i=o.tplHostMetadata;i.internalBricksByRef.set(r,e);var s=null===(t=i.proxy)||void 0===t?void 0:t.events;if(s){var l=function(e){if(u.ref===r){var t,n,i,s=t=>{t.bubbles&&t.stopPropagation(),o.element.dispatchEvent(new CustomEvent(e,{detail:t.detail,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed}))},l=null!==(t=u.refEvent)&&void 0!==t?t:e;a.addEventListener(l,s),null!==(i=(n=a).$$proxyListeners)&&void 0!==i||(n.$$proxyListeners=[]),a.$$proxyListeners.push([l,s])}};for(var[c,u]of Object.entries(s))l(c)}}}function $r(e){var{ref:t,runtimeContext:r,element:n}=e;if(null!=r&&r.tplStateStoreId&&t){var{hostBrick:a}=Be(r,"unbindTemplateProxy"),o=a.tplHostMetadata;for(var[i,s]of(o.internalBricksByRef.delete(t),null!==(l=n.$$proxyListeners)&&void 0!==l?l:[])){var l;n.removeEventListener(i,s)}delete n.$$proxyListeners}}var Dr=function(e){return e[e.ROOT=1]="ROOT",e[e.BRICK=2]="BRICK",e[e.PLACEHOLDER=3]="PLACEHOLDER",e}({});function Kr(e){e.replaceChildren()}function Vr(e,t){window.DISABLE_REACT_FLUSH_SYNC=!1;for(var r=e.child,n=[];r;){if(r.tag===Dr.BRICK){var a,o=r.type;o.includes("-")&&!customElements.get(o)&&console.error("Undefined custom element: ".concat(o)),"basic-bricks.script-brick"===o&&console.warn("`basic-bricks.script-brick` is deprecated, please take caution when using it");var i=t&&r===e.child?t:document.createElement(o);r.element=i,r.slotId&&i.setAttribute("slot",r.slotId),r.iid&&(i.dataset.iid=r.iid),null!==(a=r.tplHostMetadata)&&void 0!==a&&a.tplStateStoreId&&(i.dataset.tplStateStoreId=r.tplHostMetadata.tplStateStoreId),Ut(i,r.properties),vr(i,r.events,r.runtimeContext),r.tplHostMetadata&&(i.$$tplStateStore=Be({tplStateStoreId:r.tplHostMetadata.tplStateStoreId,tplStateStoreMap:r.runtimeContext.tplStateStoreMap},"mount")),jr(r),r.portal?n.push(i):r.return&&(r.return.childElements||(r.return.childElements=[]),r.return.childElements.push(i))}if(r.child)r=r.child;else if(r.sibling)r=r.sibling;else{for(var s,l=r.return;l;){var c;if(l.childElements)l.tag===Dr.ROOT?null===(c=l.container)||void 0===c||c.append(...l.childElements):l.element.append(...l.childElements),l.childElements=void 0;if(l.tag===Dr.ROOT&&n.length>0&&("function"==typeof l.createPortal?l.createPortal():l.createPortal).append(...n),l.sibling)break;l=l.return}r=null===(s=l)||void 0===s?void 0:s.sibling}}setTimeout((()=>{window.DISABLE_REACT_FLUSH_SYNC=!0}))}function Wr(e,t){return e.get(qr(e,t))}function Hr(e,t,r){return e.set(qr(e,t),r),r}function qr(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var zr=["onMount","onUnmount","onMediaChange","onScrollIntoView","onMessage","onMessageClose"],Gr=["onBeforePageLoad","onPageLoad","onPageLeave","onBeforePageLeave","onAnchorLoad","onAnchorUnload"],Jr=new WeakMap,Yr=new WeakMap,Qr=new WeakMap,Xr=new WeakMap,Zr=new WeakMap,en=new WeakMap,tn=new WeakMap,rn=new WeakMap,nn=new WeakMap,an=new WeakSet;class on{constructor(e,t){var r;(0,i.A)(this,an),(0,s.A)(this,"scope",void 0),(0,s.A)(this,"unknownBricks",void 0),(0,s.A)(this,"renderId",void 0),(0,l.A)(this,Jr,void 0),(0,l.A)(this,Yr,{onBeforePageLoad:[],onPageLoad:[],onPageLeave:[],onBeforePageLeave:[],onAnchorLoad:[],onAnchorUnload:[],onMediaChange:[],onScrollIntoView:[],onMount:[],onUnmount:[],onMessage:[],onMessageClose:[]}),(0,l.A)(this,Qr,new Map),(0,l.A)(this,Xr,void 0),(0,l.A)(this,Zr,new Map),(0,l.A)(this,en,void 0),(0,l.A)(this,tn,void 0),(0,l.A)(this,rn,void 0),(0,l.A)(this,nn,[]),this.scope=e,this.unknownBricks=null!==(r=null==t?void 0:t.unknownBricks)&&void 0!==r?r:"throw",Hr(Jr,this,null==t?void 0:t.routeHelper),this.renderId=null==t?void 0:t.renderId}setInitialMenuRequests(e){Hr(tn,this,e)}memoizeMenuRequests(e,t){Wr(rn,this)||Hr(rn,this,new WeakMap),Wr(rn,this).set(e,t[0])}reMergeMenuRequests(e,t,r){var n=this;return(0,o.A)((function*(){var a,o;for(var i of e){var s;if(a=null===(s=Wr(rn,n))||void 0===s?void 0:s.get(i)){o=i;break}}var l,c=Wr(tn,n),u=a?c.indexOf(a):-1;if(-1===u){if(!r.length)return;c.push(...r)}else c.splice(u,c.length-u,...r);o&&o!==t&&(null===(l=Wr(rn,n))||void 0===l||l.delete(o)),yield Wr(Jr,n).mergeMenus(c)}))()}reBailout(e){return Wr(Jr,this).bailout(e)}reCatch(e,t){return Wr(Jr,this).catch(e,t)}didPerformIncrementalRender(e,t){var r=this;return(0,o.A)((function*(){for(var n=Wr(nn,r).length-1;n>=0;n--){var a=Wr(nn,r)[n];if(yield a(e,t))return!0}return!1}))()}performIncrementalRender(e){Wr(nn,this).push(e)}registerBrickLifeCycle(e,t){if(t){var r=[...zr,..."page"===this.scope?Gr:[]];for(var n of r){var a=t[n];a&&Wr(Yr,this)[n].push({brick:e,handlers:a})}(0,m.isEmpty)(t.useResolves)||console.error("`lifeCycle.useResolves` is dropped in v3:",t)}}registerArbitraryLifeCycle(e,t){var r=Wr(Zr,this).get(e);r?r.add(t):Wr(Zr,this).set(e,new Set([t]))}memoize(e,t,r,n){Wr(en,this)||Hr(en,this,new WeakMap);var a=[null!=e?e:"",...t].join("."),o=Wr(en,this).get(n);o||(o=new Map,Wr(en,this).set(n,o)),o.set(a,{node:r,last:dn(r),lastNormal:fn(r),lastPortal:vn(r)})}reRender(e,t,r,n){var a,o=[null!=e?e:"",...t].join("."),i=Wr(en,this).get(n).get(o),{node:s,last:l,lastNormal:c,lastPortal:u}=i,d=[];if((null==s?void 0:s.tag)===Dr.PLACEHOLDER){var f,p,v;a=null!==(f=null===(p=function(e){return pn(e,!0)}(s))||void 0===p?void 0:p.element)&&void 0!==f?f:null;var h=null===(v=function(e){return hn(e,!0)}(s))||void 0===v?void 0:v.element;h&&d.push(h)}else{var m,g,y;a=null!==(m=null==c||null===(g=c.element)||void 0===g?void 0:g.nextSibling)&&void 0!==m?m:null;for(var b=null==u||null===(y=u.element)||void 0===y?void 0:y.nextSibling;b&&(d.push(b),b instanceof HTMLElement&&"DIV"===b.tagName);)b=b.nextSibling}var A,w=dn(r);i.node=r,i.last=w,i.lastNormal=fn(r),i.lastPortal=vn(r);for(var S=n.child;S&&S!==l;){if(S.sibling===s){A=S;break}S=S.sibling}var E=document.createDocumentFragment(),k=document.createDocumentFragment(),I={tag:Dr.ROOT,container:E,createPortal:k,child:r};for(S=r;S;)S.return=I,S=S.sibling;var C,R,T=mn(s,l);for(qr(an,this,sn).call(this,T),Vr(I),A?A.sibling=r:n.child=r,w&&(w.sibling=null==l?void 0:l.sibling),S=r;S;)S.return=n,S=S.sibling;if(n.tag===Dr.ROOT?null===(C=n.container)||void 0===C||C.insertBefore(E,a):null===(R=n.element)||void 0===R||R.insertBefore(E,a),k.childNodes.length>0){for(var O,x=r;x&&x.return;)x=x.return;if((null===(O=x)||void 0===O?void 0:O.tag)!==Dr.ROOT)throw new Error("Cannot find render root node. This is a bug of Brick Next, please report it.");var P="function"==typeof x.createPortal?x.createPortal():x.createPortal,M=null;for(var _ of d)if(P.contains(_)){M=_;break}P.insertBefore(k,M)}var B=mn(r,w);qr(an,this,ln).call(this,B)}dispose(){for(var e of Object.values(Wr(Yr,this)))e.length=0;for(var t of Wr(Qr,this).values()){for(var r of t)r.disconnect();t.length=0}Wr(Qr,this).clear(),Wr(Xr,this)&&(Se.removeEventListener("change",Wr(Xr,this)),Hr(Xr,this,void 0)),Hr(en,this,void 0),Hr(tn,this,void 0),Hr(rn,this,void 0),Wr(Zr,this).clear(),Wr(nn,this).length=0}dispatchBeforePageLoad(){qr(an,this,cn).call(this,"onBeforePageLoad",new CustomEvent("page.beforeLoad"))}dispatchPageLoad(){var e=new CustomEvent("page.load");qr(an,this,cn).call(this,"onPageLoad",e),window.dispatchEvent(e)}dispatchBeforePageLeave(e){qr(an,this,cn).call(this,"onBeforePageLeave",new CustomEvent("page.beforeLeave",{detail:e}))}dispatchPageLeave(){qr(an,this,cn).call(this,"onPageLeave",new CustomEvent("page.leave"))}dispatchAnchorLoad(){var{hash:e}=C().location;e&&"#"!==e?qr(an,this,cn).call(this,"onAnchorLoad",new CustomEvent("anchor.load",{detail:{hash:e,anchor:e.substring(1)}})):qr(an,this,cn).call(this,"onAnchorUnload",new CustomEvent("anchor.unload"))}initializeScrollIntoView(){for(var{brick:e,handlers:t}of Wr(Yr,this).onScrollIntoView)qr(an,this,un).call(this,e,t)}initializeMediaChange(){Hr(Xr,this,(e=>{qr(an,this,cn).call(this,"onMediaChange",new CustomEvent("media.change",{detail:G(e.detail)}))})),Se.addEventListener("change",Wr(Xr,this))}initializeMessageDispatcher(){var e,t=function(e){var t=function(t){var r;null==xo||null===(r=xo.messageDispatcher)||void 0===r||r.onMessage(t.channel,(r=>{br(t.handlers,e.runtimeContext,e)(new CustomEvent("message.push",{detail:r}))}))};for(var r of[].concat(n))t(r)};for(var{brick:r,handlers:n}of Wr(Yr,this).onMessage)t(r);null==xo||null===(e=xo.messageDispatcher)||void 0===e||e.onClose((()=>{qr(an,this,cn).call(this,"onMessageClose",new CustomEvent("message.close"))}))}dispatchOnMount(){qr(an,this,cn).call(this,"onMount",new CustomEvent("mount"))}dispatchOnUnmount(){qr(an,this,cn).call(this,"onUnmount",new CustomEvent("unmount"))}}function sn(e){var t=[...zr,..."page"===this.scope?Gr:[]],r=[];for(var n of t){var a=(0,m.remove)(Wr(Yr,this)[n],(t=>e.has(t.brick)));"onUnmount"===n&&r.push(...a)}for(var o of e){var i,s,l=Wr(Qr,this).get(o);if(null!=l&&l.length){for(var c of l)c.disconnect();l.length=0,Wr(Qr,this).delete(o)}$r(o),null===(i=o.element)||void 0===i||delete i.$$tplStateStore,null===(s=o.element)||void 0===s||s.remove()}var u=new CustomEvent("unmount");for(var{brick:d,handlers:f}of r)br(f,d.runtimeContext,d)(u)}function ln(e){var t=new CustomEvent("mount");for(var{brick:r,handlers:n}of Wr(Yr,this).onMount)e.has(r)&&br(n,r.runtimeContext,r)(t);for(var{brick:a,handlers:o}of Wr(Yr,this).onScrollIntoView)e.has(a)&&qr(an,this,un).call(this,a,o)}function cn(e,t){for(var{brick:r,handlers:n}of Wr(Yr,this)[e])br(n,r.runtimeContext,r)(t);var a=Wr(Zr,this).get(e);if(a)for(var o of a)o()}function un(e,t){var r,n=null!==(r=t.threshold)&&void 0!==r?r:.1,a=new IntersectionObserver(((r,a)=>{r.forEach((r=>{r.isIntersecting&&r.intersectionRatio>=n&&(br(t.handlers,e.runtimeContext,e)(new CustomEvent("scroll.into.view")),a.disconnect())}))}),{threshold:n});a.observe(e.element);var o=Wr(Qr,this).get(e);o||(o=[],Wr(Qr,this).set(e,o)),o.push(a)}function dn(e){for(var t=e;null!==(r=t)&&void 0!==r&&r.sibling;){var r;t=t.sibling}return t}function fn(e){return pn(e,!1)}function pn(e,t){for(var r,n=e;n;){if(n.tag===Dr.BRICK&&!n.portal){if(t)return n;r=n}n=n.sibling}return r}function vn(e){return hn(e,!1)}function hn(e,t){for(var r,n=e;n;){if(n.tag===Dr.BRICK&&n.portal){if(t)return n;r=n}if(n.child)n=n.child;else if(n.sibling)n=n.sibling;else{for(var a,o=n.return;o&&!o.sibling;)o=o.return;n=null===(a=o)||void 0===a?void 0:a.sibling}}return r}function mn(e,t){for(var r=new Set,n=e;n;)if(n.tag===Dr.BRICK&&r.add(n),n.child)n=n.child;else{if(n===t)break;if(n.sibling)n=n.sibling;else{for(var a,o=n.return;o&&o!==t&&!o.sibling;)o=o.return;if(o===t)break;n=null===(a=o)||void 0===a?void 0:a.sibling}}return r}var gn=Symbol.for("root.runtimeContext");function yn(e,t){return bn.apply(this,arguments)}function bn(){return(bn=(0,o.A)((function*(e,t){var r,n,o,i,s,[l,c,u]=Aa((0,a.A)((0,a.A)({},null!==(r=e[gn])&&void 0!==r?r:Qo()),{},{data:t,pendingPermissionsPreCheck:[]}));null!==(n=l.tplStateStoreMap)&&void 0!==n||(l.tplStateStoreMap=new Map),null!==(o=l.formStateStoreMap)&&void 0!==o||(l.formStateStoreMap=new Map);var d=new on("fragment"),f={tag:Dr.ROOT,createPortal:null},p=e.transform,v=Te();p&&Oe(v,"`useBrick.transform`",'please use "properties" instead, check your useBrick:',e);var h=yield ha(f,v?e:(0,a.A)((0,a.A)({},e),{},{properties:(0,a.A)((0,a.A)({},e.properties),p)}),l,d,[]),m=[...c,...u];if(yield ba(h,l,m),(null===(i=h.node)||void 0===i?void 0:i.tag)===Dr.PLACEHOLDER)throw new Error("The root brick of useBrick cannot be an ignored control node");if(null!==(s=h.node)&&void 0!==s&&s.portal)throw new Error("The root brick of useBrick cannot be a portal brick");return f.child=h.node,{tagName:h.node?h.node.type:null,renderRoot:f,rendererContext:d,scopedStores:m}}))).apply(this,arguments)}function An(e,t){var r,{renderRoot:n,rendererContext:a,scopedStores:o}=e;for(var i of(n.createPortal=()=>{var e=document.querySelector("#portal-mount-point");return r=document.createElement("div"),e.appendChild(r),r},Vr(n,t),a.dispatchOnMount(),a.initializeScrollIntoView(),a.initializeMediaChange(),a.initializeMessageDispatcher(),o))i.mountAsyncData();return{portal:r}}function wn(e,t){var{rendererContext:r}=e;t.portal&&(Kr(t.portal),t.portal.remove()),r.dispatchOnUnmount(),r.dispose()}function Sn(e,t,r){if(r)throw new Error("Legacy doTransform does not support options in v3");return St(t,(0,a.A)((0,a.A)({},Qo()),{},{data:e}),{noInject:!0})}function En(e,t){var r=Xo(e);Object.assign(r,(0,a.A)((0,a.A)({},t),{},{meta:(0,a.A)((0,a.A)({},r.meta),t.meta),$$fulfilling:null,$$fulfilled:!0,$$registerCustomTemplateProcessed:!1})),L(r)}function kn(e,t){var r=Xo(e),n=!1,a=e=>"".concat(e.path,".").concat(e.exact),o=(e,r)=>e.map((e=>{var i=a(e);return"routes"===e.type?(e.routes=o(e.routes,r),e):i===r?(n=!0,t):e}));r.routes=o(r.routes,a(t)),n||r.routes.unshift(t)}function In(e,t,r){var n="".concat(e,".").concat(t.name);_e.define(n,{bricks:t.bricks,proxy:t.proxy,state:t.state}),Cn(e,t.name,r)}function Cn(e,t,r){Pn(e,"${APP.homepage}/_dev_only_/template-preview/".concat(t),[(0,a.A)({brick:t},(0,m.pick)(r,"properties","events","lifeCycle","context","slots","children"))])}function Rn(e){return"${APP.homepage}/_dev_only_/snippet-preview/".concat(e)}function Tn(e,t){var r;Pn(e,Rn(t.snippetId),null!==(r=t.bricks)&&void 0!==r&&r.length?t.bricks:[{brick:"span"}],t.context)}var On,xn=Tn;function Pn(e,t,r,n){var{routes:a}=Xo(e),o=a.findIndex((e=>e.path===t)),i={path:t,bricks:r,context:n,menu:!1,exact:!0};-1===o?a.unshift(i):a.splice(o,1,i)}function Mn(e,t){var{tplStateStoreId:r}=t,n=Qo();return r?Be((0,a.A)((0,a.A)({},n),{},{tplStateStoreId:r}),"STATE").getValue(e):n.ctxStore.getValue(e)}function _n(e){var{tplStateStoreId:t}=e,r=Qo();return t?Be((0,a.A)((0,a.A)({},r),{},{tplStateStoreId:t}),"STATE").getAllValues():r.ctxStore.getAllValues()}function Bn(e){return Jo().find((t=>t.id?t.id===e:t.filePath.startsWith(e)))}function Ln(){return Yo()}function Un(e,t){return Fn.apply(this,arguments)}function Fn(){return(Fn=(0,o.A)((function*(e,t){var r,{appId:n,updateStoryboardType:a,collectUsedContracts:o}=t,i=Xo(n);if("route"===a)r={routes:[e]};else if("template"===a)r={meta:{customTemplates:[e]}};else if("snippet"===a){var s,l=Rn(e.snippetId);r={routes:[null==i||null===(s=i.routes)||void 0===s?void 0:s.find((e=>e.path===l))]}}var c=[];return r&&o&&(yield o(r)).forEach((e=>{var t,[r,n,a]=e.match(/(.*)@(.*):\d\.\d\.\d/);null!=i&&null!==(t=i.meta)&&void 0!==t&&null!==(t=t.contracts)&&void 0!==t&&t.some((e=>e.namespaceId===n&&e.name===a))||c.push(e)})),c}))).apply(this,arguments)}var Nn=[];function jn(e){On=e;var t=_n({tplStateStoreId:e.tplStateStoreId});Dn({changeType:"initialize",tplStateStoreId:e.tplStateStoreId,detail:{data:t}})}function $n(e){Nn.push(e)}function Dn(e){setTimeout((()=>{for(var t of Nn)try{t(e)}catch(t){console.error("RealTimeDataInspectHook failed (".concat(e.changeType,"):"),t)}}))}var Kn=["onBeforePageLoad","onPageLoad","onBeforePageLeave","onPageLeave","onAnchorLoad","onAnchorUnload"];class Vn{constructor(e,t,r,n){(0,s.A)(this,"type",void 0),(0,s.A)(this,"data",new Map),(0,s.A)(this,"changeEventType",void 0),(0,s.A)(this,"pendingStack",[]),(0,s.A)(this,"hostBrick",void 0),(0,s.A)(this,"stateStoreId",void 0),(0,s.A)(this,"batchUpdate",!1),(0,s.A)(this,"batchUpdateContextsNames",[]),(0,s.A)(this,"rendererContext",void 0),(0,s.A)(this,"routeMap",new WeakMap),this.type=e,this.changeEventType="FORM_STATE"===this.type?"formstate.change":"STATE"===this.type?"state.change":"context.change",this.hostBrick=t,this.rendererContext=r,this.stateStoreId=n}getAllValues(){return Object.fromEntries([...this.data.entries()].map((e=>{var[t,{value:r}]=e;return[t,r]})))}getValue(e){var t;return null===(t=this.data.get(e))||void 0===t?void 0:t.value}notifyRealTimeDataChange(e,t){if(On){var{tplStateStoreId:r}=On;(r?"STATE"===this.type&&this.stateStoreId===r:"CTX"===this.type)&&Dn({changeType:"update",tplStateStoreId:r,detail:{name:e,value:t}})}}getAffectListByContext(e){var t=[e];return this.data.forEach(((e,r)=>{e.deps&&e.deps.some((e=>t.includes(e)))&&t.push(r)&&t.push(...this.getAffectListByContext(r))})),t.shift(),[...new Set(t)]}updateValues(e,t,r){if(this.batchUpdate=!0,this.batchUpdateContextsNames=e.map((e=>e.name)),[...new Set(this.batchUpdateContextsNames)].length!==this.batchUpdateContextsNames.length)throw new Error("Batch update not allow to update same item");var n={},a={},o=[];e.forEach((e=>{var{name:a,value:i}=r([e]),s=this.data.get(a);o.push(...this.getAffectListByContext(a)),s&&(n[a]=s),this.updateValue(a,i,t)})),o.filter((e=>!n[e])).forEach((e=>{var t=this.data.get(e);t&&(a[e]=t)}));var i=e=>{for(var t in e){var r,n=e[t];null===(r=n.eventTarget)||void 0===r||r.dispatchEvent(new CustomEvent(this.changeEventType,{detail:n.value}))}};i(n),i(a),this.batchUpdate=!1}updateValue(e,t,r,n,o){var i=this.data.get(e);if(!i)throw new Error("".concat(this.type," '").concat(e,"' is not defined"));if("refresh"!==r&&"load"!==r)"replace"===r?i.value=t:(0,d.isObject)(i.value)?Object.assign(i.value,t):(console.warn('Non-object current value of "'.concat(this.type,".").concat(e,'" for "context.assign", try "context.replace" instead.')),i.value=t),this.batchUpdate||i.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType,{detail:i.value}));else{if(!i.useResolve)throw new Error("You can not ".concat(r,' "').concat(this.type,".").concat(e,'" which is not using resolve'));var s;"load"===r&&(i.loaded?s=Promise.resolve(i.value):i.loading&&(s=i.loading));var l=e=>{var t,r;return"FlowApiNotFoundError"===(null==e?void 0:e.name)&&!!(r=null===(t=this.rendererContext)||void 0===t?void 0:t.renderId)&&r!==Yo()};if(s||(s=i.loading=i.load((0,a.A)({cache:"load"===r?"default":"reload"},t))).then((e=>{this.finishLoad(i,e)}),(e=>{!i.useResolve||l(e)||null!=n&&n.error||fr(e)})),n){var c=Fr(n,o);s.then((e=>{c("success")({value:e}),c("finally")()}),(e=>{!l(e)&&n.error&&c("error")(e),c("finally")()}))}}}finishLoad(e,t){e.useResolve&&(e.loaded=!0,e.value=t,e.eventTarget.dispatchEvent(new CustomEvent(this.changeEventType,{detail:t})))}define(e,t,r,n){if(Array.isArray(e)&&e.length>0){var a=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"CTX",n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"CTX",r=arguments.length>2?arguments[2]:void 0,n=new Map;for(var a of e){var o=[a.if,a.value,a.resolve],i=(0,O.collectMemberUsage)(o,t);if(!r&&"STATE"===t){var s=(0,O.collectMemberUsage)(o,"TPL");for(var l of s.usedProperties)i.usedProperties.add(l);s.hasNonStaticUsage&&(i.hasNonStaticUsage=!0)}n.set(a,i)}return n}(e,r,arguments.length>3?arguments[3]:void 0),a=new Map;for(var i of Array.from(n.keys()).map((e=>e.name))){var s;a.set(i,(null!==(s=a.get(i))&&void 0!==s?s:0)+1)}var l=Array.from(n.values()).some((e=>e.hasNonStaticUsage)),c=new WeakSet,u=new Map,d=new Map([...new Set(e.map((e=>e.name)))].map((e=>[e,new Promise(((t,r)=>{u.set(e,{resolve:t,reject:r})}))]))),f=function(){var e=(0,o.A)((function*(e){var r;c.add(e);var o=yield t(e);n.delete(e);var i=null!==(r=a.get(e.name))&&void 0!==r?r:0;if(o){if(u.get(e.name).resolve(),a.delete(e.name),0===i)throw new Error("Duplicated context defined: ".concat(e.name))}else 1===i?(u.get(e.name).resolve(),a.delete(e.name)):a.set(e.name,i-1);yield v()}));return function(t){return e.apply(this,arguments)}}(),p=l;function v(){return h.apply(this,arguments)}function h(){return h=(0,o.A)((function*(){var e=Array.from(n.entries()).filter(function(e,t){return(r,n)=>t?0===n:![...r[1].usedProperties].some((t=>e.has(t)))}(a,p)).map((e=>e[0])).filter((e=>!c.has(e)));yield Promise.all(e.map(f))})),h.apply(this,arguments)}return{pendingResult:v().then((0,o.A)((function*(){for(var e of(n.size>0&&(function(e,t){var r=new Map(e),n=new Set(Array.from(r.keys()).map((e=>e.name))),a=()=>{var e=!1;for(var[t,o]of r.entries())[...o.usedProperties].some((e=>n.has(e)))||(r.delete(t),n.delete(t.name),e=!0);e&&a()};if(a(),r.size>0)throw new ReferenceError("Circular ".concat(t," detected: ").concat(Array.from(r.keys()).map((e=>e.name)).join(", ")))}(n,r),p=!0,yield v()),u.values()))e.resolve()}))).catch((e=>{for(var t of u.values())t.reject(e);throw e})),pendingContexts:d}}(e,(e=>this.resolve(e,t,r,n)),this.type,Te(t));this.pendingStack.push(a)}}onChange(e,t){var r;null===(r=this.data.get(e))||void 0===r||r.eventTarget.addEventListener(this.changeEventType,t)}waitFor(e){var t=this;return(0,o.A)((function*(){var r=function*(t){yield Promise.all([...e].map((e=>t.get(e))))};for(var{pendingContexts:n}of t.pendingStack)yield*r(n)}))()}waitForAll(){var e=this;return(0,o.A)((function*(){for(var{pendingContexts:t}of e.pendingStack)for(var r of t.values())r.catch((()=>{}));for(var{pendingResult:n}of e.pendingStack)yield n}))()}mountAsyncData(e){this.data.forEach((t=>{var r;if(t.async&&(!e||null!==(r=this.routeMap.get(e))&&void 0!==r&&r.has(t.name))){if(t.asyncMounted)return void console.error('Async data "'.concat(t.name,'" already mounted. This is a bug of Brick Next, please report it.'));t.asyncMounted=!0,t.loading.then((e=>{this.finishLoad(t,e)}))}}))}resolve(e,t,r,n){var i=this;return(0,o.A)((function*(){if(!(yield It(e,t)))return!1;var s,l,c,u,f,p;if(r&&("STATE"===i.type?e.expose:"FORM_STATE"===i.type)&&(s=yield Mt(r,e.name)),void 0===s){if(e.resolve){var v=(0,d.hasOwnProperty)(e,"value");f=e.track&&v&&(0,d.hasOwnProperty)(e.resolve,"if")&&(0,O.strictCollectMemberUsage)(e.resolve.if,i.type).size>0;var h=(0,a.A)({transform:"value"},e.resolve);if(((u=yield It(e.resolve,t))||f)&&(l=function(){var e=(0,o.A)((function*(e){var r;return(yield at(h,t,(0,a.A)((0,a.A)({},e),{},{renderId:null===(r=i.rendererContext)||void 0===r?void 0:r.renderId}))).value}));return function(t){return e.apply(this,arguments)}}()),u)"eager"==(p=e.resolve.async?"async":e.resolve.lazy?"lazy":"eager")?s=yield l():"async"===p&&(c=l());else if(!v)return!1}u&&"eager"===p||void 0===e.value||(s=yield At(e.value,t))}if(i.data.has(e.name))throw new Error("".concat(i.type," '").concat(e.name,"' has already been declared"));var m={name:e.name,value:s,eventTarget:new be,useResolve:u,load:l,loaded:"eager"===p,loading:c,async:"async"===p,deps:[]};if("lazy"===p){var g,{trigger:y}=e.resolve;y&&Kn.includes(y)&&(null===(g=i.rendererContext)||void 0===g||g.registerArbitraryLifeCycle(y,(()=>{i.updateValue(e.name,void 0,"load")})))}if(e.onChange&&m.eventTarget.addEventListener(i.changeEventType,br(e.onChange,t)),e.track){var b=(0,O.strictCollectMemberUsage)(f?[e.resolve,e.value]:l?e.resolve:e.value,i.type);for(var A of(!l&&(m.deps=[...b]),b))i.onChange(A,i.batchAddListener((()=>{m.useResolve=f?Rt(e.resolve,t):!!l,m.useResolve?i.updateValue(e.name,{cache:"default"},"refresh"):i.updateValue(e.name,St(e.value,t),"replace")}),e))}if(m.eventTarget.addEventListener(i.changeEventType,(t=>{i.notifyRealTimeDataChange(e.name,t.detail)})),i.data.set(e.name,m),Array.isArray(n))for(var w of n){var S=i.routeMap.get(w);S?S.add(e.name):i.routeMap.set(w,new Set([e.name]))}return!0}))()}disposeDataInRoutes(e){for(var t of e){var r=this.routeMap.get(t);if(void 0!==r)for(var n of r)this.data.delete(n)}}batchAddListener(e,t){return r=>{this.batchUpdate&&this.batchUpdateContextsNames.includes(t.name)||e(r)}}}function Wn(e,t,r){var n,a,{reversedProxies:o,asyncHostPropertyEntries:i,externalSlots:s,tplStateStoreId:l,hostBrick:c}=e;if(t&&o){var u=o.properties.get(t);u&&(a=i,n=u.map((e=>{var{from:t,to:r}=e,n=a.filter((e=>e[0]===t));if(n.length>0&&r.refProperty)return[r.refProperty,Mt(n,t),!0]})).filter(Boolean));var f=o.slots.get(t);if(f&&s){var p=new Map;for(var{from:v,to:h}of f){var g,y,b,A,w=null!==(g=null===(y=s[v])||void 0===y?void 0:y.bricks)&&void 0!==g?g:[];if(w.length){var S=null!==(b=h.refSlot)&&void 0!==b?b:v,E=p.get(S);if(!E){E=[];for(var k=(0,d.hasOwnProperty)(r,S)?r[S].bricks.length+1:1,I=0;I<k;I+=1)E.push([]);p.set(S,E)}var C=null!==(A=h.refPosition)&&void 0!==A?A:-1;E[(0,m.clamp)(C<0?E.length+C:C,0,E.length-1)].push(...(0,d.hasOwnProperty)(c.runtimeContext,"forEachItem")?Hn(w,c.runtimeContext.forEachItem,c.runtimeContext.forEachIndex):w)}}var R=function(){(0,d.hasOwnProperty)(r,T)||(r[T]={type:"bricks",bricks:[]});var e=r[T];e.bricks=O.flatMap(((t,r)=>r<e.bricks.length?t.concat(e.bricks[r]):t)),0===e.bricks.length&&delete r[T]};for(var[T,O]of p.entries())R()}}return{[Jt]:n,[Yt]:l}}function Hn(e,t,r){return e.map((e=>{var n;return(0,a.A)((0,a.A)({},e),{},{[Qt]:t,[Xt]:r,slots:Object.fromEntries(Object.entries(null!==(n=e.slots)&&void 0!==n?n:{}).map((e=>{var n,[a,o]=e;return[a,"routes"===o.type?{type:"routes",routes:qn(o.routes,t,r)}:{type:"bricks",bricks:Hn(null!==(n=o.bricks)&&void 0!==n?n:[],t,r)}]})))})}))}function qn(e,t,r){return e.map((e=>e.type&&"bricks"!==e.type?e:(0,a.A)((0,a.A)({},e),{},{bricks:Hn(e.bricks,t,r)})))}var zn=["properties","slots","children"];function Gn(e,t){function r(e){return(0,d.isObject)(e)&&"function"!=typeof e?Array.isArray(e)?e.map(r):Object.fromEntries(Object.entries(e).map((e=>{var[t,a]=e;return(0,d.isObject)(a)&&"useBrick"===t?Array.isArray(a)?[t,a.map(n)]:[t,n(a)]:[t,r(a)]})).concat(Object.getOwnPropertySymbols(e).map((t=>[t,e[t]])))):e}function n(e){var{properties:o,slots:i,children:s}=e,l=(0,h.A)(e,zn),c=Sa(s,i),u=Object.fromEntries(Object.entries(null!=c?c:{}).map((e=>{var t,[r,a]=e;return[r,{type:"bricks",bricks:(null!==(t=a.bricks)&&void 0!==t?t:[]).map(n)}]})));return(0,a.A)((0,a.A)({},l),{},{properties:r(o),slots:u},Wn(t,l.ref,u))}return r(e)}var Jn=["slots","children"],Yn=["properties","slots","children"];function Qn(e,t,r,n,o){var i,s=(0,m.uniqueId)("tpl-state-"),l=(0,a.A)((0,a.A)({},r.runtimeContext),{},{tplStateStoreId:s});delete l.forEachItem,delete l.forEachIndex,delete l.formStateStoreId;var c=new Vn("STATE",r,o,s);l.tplStateStoreMap.set(s,c),l.tplStateStoreScope&&l.tplStateStoreScope.push(c);var{bricks:u,proxy:d,state:f,contracts:p}=_e.get(e);null==xo||null===(i=xo.flowApi)||void 0===i||i.collectWidgetContract(p),c.define(f,l,n);var{slots:v,children:g}=t,y=(0,h.A)(t,Jn),b=(0,a.A)((0,a.A)({},y),{},{brick:e});r.tplHostMetadata={internalBricksByRef:new Map,tplStateStoreId:s,proxy:d};var A={properties:new Map,slots:new Map};if(null!=d&&d.properties)for(var[w,S]of Object.entries(d.properties)){var E=A.properties.get(S.ref);E||(E=[],A.properties.set(S.ref,E)),E.push({from:w,to:S})}if(null!=d&&d.slots)for(var[k,I]of Object.entries(d.slots)){var C=A.slots.get(I.ref);C||(C=[],A.slots.set(I.ref,C)),C.push({from:k,to:I})}var R={reversedProxies:A,asyncHostPropertyEntries:n,externalSlots:Sa(g,v),tplStateStoreId:s,hostBrick:r};return b.slots={"":{type:"bricks",bricks:u.map((e=>Xn(e,R)))}},b}function Xn(e,t){null===e.if&&delete e.if;var{properties:r,slots:n,children:o}=e,i=(0,h.A)(e,Yn),s=Sa(o,n),l=Object.fromEntries(Object.entries(null!=s?s:{}).map((e=>{var r,[n,a]=e;return[n,{type:"bricks",bricks:(null!==(r=a.bricks)&&void 0!==r?r:[]).map((e=>Xn(e,t)))}]})));return(0,a.A)((0,a.A)({},i),{},{properties:Gn(r,t),slots:l},Wn(t,i.ref,l))}var Zn="form-renderer.form-renderer",ea=Symbol.for("form.stateStoreId"),ta=["forms.general-form","form.general-form","eo-form"];function ra(e,t,r){var{id:n,bricks:o,events:i,context:s,mountPoint:l,instanceId:c}=e,{brick:u,properties:f}=e,p=t.find((e=>e.fieldId===n));if(p){var v=function(e){var t,r={id:e.fieldId,name:e.fieldId,label:e.name,dataset:{testid:e.fieldId}},n=()=>{var t,r;return{readOnly:null===(t=e.limit)||void 0===t?void 0:t.includes("READONLY"),required:null===(r=e.limit)||void 0===r?void 0:r.includes("REQUIRED")}};switch(e.fieldType){case"INT":t={brick:"forms.general-input-number",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,precision:0,inputBoxStyle:{width:"100%"}})};break;case"BOOLEAN":t={brick:"forms.general-switch",properties:(0,a.A)((0,a.A)({},r),n())};break;case"FLOAT":t={brick:"forms.general-input-number",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"ENUM":t={brick:"forms.general-select",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{options:[{label:"选项一",value:1},{label:"选项二",value:2}],placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"ENUMS":t={brick:"forms.general-select",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{mode:"multiple",options:[{label:"选项一",value:1},{label:"选项二",value:2}],placeholder:e.description,inputBoxStyle:{width:"100%"}})};break;case"DATE":case"TIME":t={brick:"forms.general-date-picker",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description})};break;case"IP":t={brick:"forms.general-input",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description,pattern:"((^s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))s*$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$))",message:{pattern:"输入字符不匹配IP格式"}})};break;case"JSON":t={brick:"forms.general-textarea",properties:(0,a.A)({},r)};break;case"ARRAY":t={brick:"forms.general-select",properties:(0,a.A)({},r)};break;case"STRUCTURE":case"STRUCTURE_ARRAY":t={brick:"forms.cmdb-instance-select-panel",properties:(0,a.A)((0,a.A)({},r),n())};break;default:t={brick:"forms.general-input",properties:(0,a.A)((0,a.A)((0,a.A)({},r),n()),{},{placeholder:e.description})}}return t}(p);u||(u=v.brick),f=(0,a.A)((0,a.A)({},v.properties),f)}var h={brick:u,properties:f,iid:c,slot:l,events:i,context:s,children:na(o,t,r),[ea]:r};return(0,d.hasOwnProperty)(e,"if")&&(h.if=e.if),h}function na(e,t,r){if(Array.isArray(e))return e.map((e=>ra(e,t,r)))}var aa,oa,ia=["blockingList","node","menuRequests","hasTrackingControls"],sa=["if","permissionsPreCheck"],la=["formData"],ca=["src"],ua=["href"];function da(e,t,r,n,a,o,i){return fa.apply(this,arguments)}function fa(){return fa=(0,o.A)((function*(e,t,r,n,o,i,s){var l=yield function(e,t){return qt.apply(this,arguments)}(t,r),c={blockingList:[],menuRequests:[]};switch(l){case"missed":break;case"unauthenticated":c.unauthenticated=!0;break;default:var d,f=c.route=l.route;c.path=l.match.path;var p=(0,a.A)((0,a.A)({},r),{},{match:l.match});s&&p.ctxStore.disposeDataInRoutes(t);var v=o.concat(f);p.ctxStore.define(f.context,p,void 0,v),p.pendingPermissionsPreCheck.push(null==xo||null===(d=xo.checkPermissions)||void 0===d?void 0:d.preCheckPermissionsForBrickOrRoute(f,(e=>At(e,p))));var{preLoadBricks:h}=f;if(Array.isArray(h)&&c.blockingList.push((0,u.loadBricksImperatively)(h,Jo())),"redirect"===f.type){var m;if("string"!=typeof(m="string"==typeof f.redirect?yield At(f.redirect,p):(yield at((0,a.A)({transform:"redirect"},f.redirect),p)).redirect))throw console.error("Unexpected redirect result:",m),new Error("Unexpected type of redirect result: ".concat(typeof m));c.redirect={path:m}}else{var g=function(e,t){if(e){if("brick"===e.type)throw console.error("Set menu with brick is dropped in v3:",e),new Error("Set menu with brick is dropped in v3");if("resolve"!==e.type)return At(e,t);console.warn("Set menu with resolve is not supported in v3 yet:",e)}}(f.menu,p);g&&c.menuRequests.push(g),"routes"===f.type?wa(c,yield da(e,f.routes,p,n,v,i)):wa(c,yield pa(e,f.bricks,p,n,v,i)),e.tag===Dr.BRICK&&n.memoizeMenuRequests(f,c.menuRequests)}}return c})),fa.apply(this,arguments)}function pa(e,t,r,n,a,o,i,s){return va.apply(this,arguments)}function va(){return(va=(0,o.A)((function*(e,t,r,n,a,o,i,s){var l={blockingList:[],menuRequests:[]},c=null!=s?s:[];return(yield Promise.all(t.map(((t,s)=>ha(e,t,r,n,a,o,c.concat(s),i&&new Map(i)))))).forEach(((t,r)=>{t.hasTrackingControls&&n.memoize(o,c.concat(r),t.node,e),wa(l,t)})),l}))).apply(this,arguments)}function ha(e,t,r,n,a,o){return ma.apply(this,arguments)}function ma(){return ma=(0,o.A)((function*(e,t,r,n,i,s){var l,c,f=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[],p=arguments.length>7&&void 0!==arguments[7]?arguments[7]:new Map,v={blockingList:[],menuRequests:[]};if(!t.brick)return t.template?console.error("Legacy templates are dropped in v3:",t):console.error("Invalid brick:",t),v;var{if:g,permissionsPreCheck:b}=t,A=(0,h.A)(t,sa);if(function(e){return"string"==typeof e?(0,T.isTrackAll)(e):ut(e)&&(0,T.isTrackAll)(dt(e))}(g))return ha(e,(0,a.A)({brick:":if",dataSource:g,permissionsPreCheck:b,slots:{"":{type:"bricks",bricks:[A]}}},Object.getOwnPropertySymbols(t).reduce(((e,r)=>(0,a.A)((0,a.A)({},e),{},{[r]:t[r]})),{})),r,n,i,s,f,p);var w=t[Yt],S=t[ea],E=(0,a.A)((0,a.A)({},r),{},{tplStateStoreId:w,formStateStoreId:S});(0,d.hasOwnProperty)(t,Qt)&&(E.forEachItem=t[Qt],E.forEachIndex=t[Xt]);var{context:k}=t;if(Array.isArray(k)&&k.length>0){var I=Te(E);Oe(I,"Defining context on bricks","check your brick:",t),I||E.ctxStore.define(k,E)}if(E.pendingPermissionsPreCheck.push(null==xo||null===(l=xo.checkPermissions)||void 0===l?void 0:l.preCheckPermissionsForBrickOrRoute(t,(e=>At(e,E)))),!(yield function(e,t){return Ot.apply(this,arguments)}(t,E)))return v;var C=t.brick;if(C.startsWith(":")){var R;!function(e){if(":forEach"!==e&&":if"!==e&&":switch"!==e)throw new Error('Unknown storyboard control node: "'.concat(e,'"'))}(C);var{dataSource:x}=t,P=function(){var r=(0,o.A)((function*(r){var a,o=yield At(x,r),l=":forEach"===C?"":":switch"===C?String(o):o?"":"else",c=Sa(t.children,t.slots),u=c&&(0,d.hasOwnProperty)(c,l)&&(null===(a=c[l])||void 0===a?void 0:a.bricks);if(!Array.isArray(u))return{blockingList:[],menuRequests:[]};switch(C){case":forEach":return Array.isArray(o)?function(e,t,r,n,a,o,i,s,l){return ga.apply(this,arguments)}(e,o,u,r,n,i,s,p,f):{blockingList:[],menuRequests:[]};case":if":case":switch":return pa(e,u,r,n,i,s,p,f)}}));return function(e){return r.apply(this,arguments)}}(),M=function(){var t=(0,o.A)((function*(t){var r,n=yield P(t);return null!==(r=n.node)&&void 0!==r||(n.node={tag:Dr.PLACEHOLDER,return:e}),n}));return function(e){return t.apply(this,arguments)}}(),_=yield M(E),{onMount:B,onUnmount:L}=null!==(R=t.lifeCycle)&&void 0!==R?R:{},{contextNames:U,stateNames:F}=Pt(x);if(U||F){_.hasTrackingControls=!0;var N=0,j=function(){var t=(0,o.A)((function*(){var t=++N,[r,a,o]=Aa(E),i=yield M(r),l=[...a,...o];if(yield ba(i,r,l),N===t)for(var c of(L&&br(L,E)(new CustomEvent("unmount",{detail:{rerender:!0}})),n.reRender(s,f,i.node,e),B&&br(B,r)(new CustomEvent("mount",{detail:{rerender:!0}})),l))c.mountAsyncData()}));return function(){return t.apply(this,arguments)}}(),$=(0,m.debounce)(j);if(U)for(var D of U)E.ctxStore.onChange(D,$);if(F)for(var K of F)Be(E,"STATE",': "'.concat(x,'"')).onChange(K,$)}return B&&n.registerArbitraryLifeCycle("onMount",(()=>{br(B,E)(new CustomEvent("mount",{detail:{rerender:!1}}))})),L&&n.registerArbitraryLifeCycle("onUnmount",(()=>{br(L,E)(new CustomEvent("unmount",{detail:{rerender:!1}}))})),_}/\.tpl-/.test(C)&&!_e.get(C)&&(yield Ea((0,u.loadBricksImperatively)([C],Jo()),"brick",C,n.unknownBricks));var V,W,H=function(e,t){if(!e.includes(".")&&e.startsWith("tpl-")&&t){var r="".concat(t,".").concat(e);if(_e.get(r))return r}return!!_e.get(e)&&e}(C,null===(c=E.app)||void 0===c?void 0:c.id);if(H){var q,z=null!==(q=p.get(H))&&void 0!==q?q:0;if(z>=10)throw new Error('Maximum custom template stack overflowed: "'.concat(H,'"'));p.set(H,z+1)}else C.includes("-")&&!customElements.get(C)&&(C===Zn?customElements.define(Zn,class extends HTMLElement{get $$typeof(){return"form-renderer"}}):v.blockingList.push(Ea((0,u.enqueueStableLoadBricks)([C],Jo()),"brick",C,n.unknownBricks)));if(C===Zn){var G,J=null!==(G=t.properties)&&void 0!==G?G:{};({formData:V}=J),W=(0,h.A)(J,la)}else W=t.properties;var Y=[],Q=function(e,t,r){return(0,d.isObject)(e)?Object.entries(e).map((e=>{var[n,a]=e,{contextNames:o,stateNames:i,formStateNames:s}=Pt(a);return(o||i||s)&&r.push({contextNames:o,stateNames:i,formStateNames:s,propName:n,propValue:a}),[n,At(a,t,{$$lazyForUseBrick:!0,$$stateOfUseBrick:"useBrick"===n?gt.USE_BRICK:gt.INITIAL})]})):[]}(W,E,Y),X=t[Jt];X&&Q.push(...X);var Z="script"===C;if(Z||"link"===C){var ee=yield Bt(Q);if(Z?ee.src:"stylesheet"===ee.rel&&ee.href){var te,re=null!==(te=window.PUBLIC_ROOT)&&void 0!==te?te:"";if(Z){var{src:ne}=ee,ae=(0,h.A)(ee,ca);yield Ea((0,u.loadScript)(ne,re,ae),"script",ne,"silent")}else{var{href:oe}=ee;ae=(0,h.A)(ee,ua),yield Ea((0,u.loadStyle)(oe,re,ae),"stylesheet",oe,"silent")}return v}}var ie={tag:Dr.BRICK,type:H||C,return:e,slotId:s,events:t.events,runtimeContext:E,portal:t.portal,iid:t.iid,ref:t.ref};v.node=ie;var se=(0,O.strictCollectMemberUsage)([t.events,t.lifeCycle],"PROCESSORS",2);se.size>0&&v.blockingList.push(Ea((0,u.loadProcessorsImperatively)(se,Jo()),"processors",[...se].join(", "),n.unknownBricks));var le=[],ce=function(){var e=(0,o.A)((function*(){ie.properties=yield Bt(Q),function(e,t){var r=function(t){var r=()=>{e.element&&Ft(e.element,{[t.propName]:t.propValue},e.runtimeContext)};if(t.contextNames)for(var n of t.contextNames)e.runtimeContext.ctxStore.onChange(n,r);if(t.stateNames){var a=Be(e.runtimeContext,"STATE",': "'.concat(t.propValue,'"'));for(var o of t.stateNames)a.onChange(o,r)}if(t.formStateNames){var i=Ye(e.runtimeContext,"FORM_STATE",': "'.concat(t.propValue,'"'));for(var s of t.formStateNames)i.onChange(s,r)}};for(var n of t)r(n)}(ie,Y)}));return function(){return e.apply(this,arguments)}}();le.push(ce()),n.registerBrickLifeCycle(ie,t.lifeCycle);var ue,de=t;H?de=Qn(H,t,ie,Q,n):C===Zn&&(de=function(e,t,r,n,o){var i,s,l="string"==typeof e?JSON.parse(e):e,c=(0,m.uniqueId)("form-state-"),u=(0,a.A)((0,a.A)({},r.runtimeContext),{},{formStateStoreId:c});delete u.forEachItem,delete u.forEachIndex,delete u.tplStateStoreId;var f=new Vn("FORM_STATE",void 0,o,c);u.formStateStoreMap.set(c,f),u.formStateStoreScope&&u.formStateStoreScope.push(f);var p=null!==(i=l.context)&&void 0!==i?i:[];p.some((e=>"params"===e.name))||p.push({name:"params"}),f.define(p,u,n);var v=ra(l.formSchema,l.fields,c);return ta.includes(v.brick)&&t.events&&(v.events=function(e,t){var r=null!=e?e:{};for(var[n,a]of Object.entries(t))r[n]=(0,d.hasOwnProperty)(r,n)?[r[n],a].flat():a;return r}(v.events,t.events)),"boolean"!=typeof(null===(s=t.properties)||void 0===s?void 0:s.renderRoot)||t.properties.renderRoot?(0,a.A)((0,a.A)({},t),{},{slots:void 0,children:[{brick:"eo-micro-view",properties:{style:{padding:"12px"}},children:[v]}]}):(0,a.A)((0,a.A)({},t),{},{slots:void 0,children:[v]})}(V,t,ie,Q,n)),de.portal&&(ie.slotId=void 0),H?(delete(ue=(0,a.A)({},E)).forEachItem,delete ue.forEachIndex):ue=E;var fe=function(){var e=(0,o.A)((function*(){var e=Sa(de.children,de.slots);if(e){var t=new Map,r=yield Promise.all(Object.entries(e).map(((e,r)=>{var[s,l]=e;if("routes"!==l.type)return pa(ie,l.bricks,ue,n,i,s,p);var c=i[i.length-1];return null!=c&&c.incrementalSubRoutes&&(t.set(r,s),n.performIncrementalRender(function(){var e=(0,o.A)((function*(e,t){var{homepage:r}=ue.app,{pathname:o}=e;if(!y(r,o)||!i.every((e=>{var n,a;return(n=zt(e,r,t.pathname))&&(a=zt(e,r,o))&&(e!==c||(0,m.isEqual)(n.params,a.params))})))return!1;var u,[d,f,p]=Aa((0,a.A)((0,a.A)({},ue),{},{location:e,query:new URLSearchParams(e.search)})),v=!1,h=[];try{if(u=yield da(ie,l.routes,d,n,i,s,!0),n.reBailout(u))return!0;h=[...f,...p],yield ba(u,d,[d.ctxStore,...h]),yield n.reMergeMenuRequests(l.routes,u.route,u.menuRequests)}catch(e){console.error("Incremental sub-router failed:",e);var g=n.reCatch(e,ie);if(!g)return!0;({failed:v,output:u}=g),yield n.reMergeMenuRequests(l.routes,u.route,u.menuRequests)}if(n.reRender(s,[],u.node,ie),!v)for(var b of(d.ctxStore.mountAsyncData(u.route),h))b.mountAsyncData();return!0}));return function(t,r){return e.apply(this,arguments)}}())),da(ie,l.routes,ue,n,i,s)}))),s=(0,a.A)((0,a.A)({},v),{},{node:void 0,blockingList:[],menuRequests:[]});r.forEach(((e,r)=>{t.has(r)&&n.memoize(t.get(r),[],e.node,ie),wa(s,e)})),s.node&&(ie.child=s.node),wa(v,(0,a.A)((0,a.A)({},s),{},{node:void 0}))}}));return function(){return e.apply(this,arguments)}}();return le.push(fe()),yield Promise.all(le),v})),ma.apply(this,arguments)}function ga(){return(ga=(0,o.A)((function*(e,t,r,n,o,i,s,l,c){var u={blockingList:[],menuRequests:[]},d=t.length;return(yield Promise.all(t.map(((t,u)=>Promise.all(r.map(((r,f)=>ha(e,r,(0,a.A)((0,a.A)({},n),{},{forEachItem:t,forEachIndex:u}),o,i,s,c.concat(u*d+f),l&&new Map(l))))))))).flat().forEach(((t,r)=>{t.hasTrackingControls&&o.memoize(s,c.concat(r),t.node,e),wa(u,t)})),u}))).apply(this,arguments)}function ya(e){return[e.ctxStore,...e.tplStateStoreMap.values(),...e.formStateStoreMap.values()]}function ba(e,t,r){return(0,u.flushStableLoadBricks)(),Promise.all([...e.blockingList,...r.map((e=>e.waitForAll())),...t.pendingPermissionsPreCheck])}function Aa(e){var t=[],r=[];return[(0,a.A)((0,a.A)({},e),{},{tplStateStoreScope:t,formStateStoreScope:r}),t,r]}function wa(e,t){var{blockingList:r,node:n,menuRequests:a,hasTrackingControls:o}=t,i=(0,h.A)(t,ia);if(e.blockingList.push(...r),e.menuRequests.push(...a),n)if(e.node){for(var s=e.node;s.sibling;)s=s.sibling;s.sibling=n}else e.node=n;Object.assign(e,i)}function Sa(e,t){var r=t;if(Array.isArray(e)&&!r)for(var n of(r={},e)){var a,o=null!==(a=n.slot)&&void 0!==a?a:"";(0,d.hasOwnProperty)(r,o)||(r[o]={type:"bricks",bricks:[]}),r[o].bricks.push(n)}return r}function Ea(e,t,r,n){return"silent"===n?e.catch((e=>{console.error('Load %s "%s" failed:',t,r,e)})):e}function ka(){if(!aa){if(aa={isInIframe:!1,isInIframeOfSameSite:!1,isInIframeOfNext:!1,isInIframeOfVisualBuilder:!1,isInIframeOfLegacyConsole:!1},window!==window.parent){aa.isInIframe=!0;try{if(window.origin===window.parent.origin){aa.isInIframeOfSameSite=!0;var e="/next/"===v(),t=window.parent.location.pathname,r=t.startsWith("/next/");aa.isInIframeOfNext=0==(Number(e)^Number(r)),aa.isInIframeOfVisualBuilder=t.startsWith("".concat(r?"/next":"","/visual-builder/")),aa.isInIframeOfLegacyConsole=e&&!r}}catch(e){}}Object.freeze(aa)}return aa}function Ia(e){var t;if(!e.$$registerCustomTemplateProcessed){e.$$registerCustomTemplateProcessed=!0;var r=null===(t=e.meta)||void 0===t?void 0:t.customTemplates;if(Array.isArray(r))for(var n of r){var a=n.name.includes(".")?n.name:"".concat(e.app.id,".").concat(n.name);_e.define(a,n)}}}function Ca(){return Ca=(0,o.A)((function*(e){if(!e.$$fulfilled)return e.$$fulfilling||(e.$$fulfilling=function(e){return Ra.apply(this,arguments)}(e)),e.$$fulfilling})),Ca.apply(this,arguments)}function Ra(){return(Ra=(0,o.A)((function*(e){var t;yield null==xo||null===(t=xo.fulfilStoryboard)||void 0===t?void 0:t.call(xo,e),L(e),Object.assign(e,{$$fulfilled:!0,$$fulfilling:null})}))).apply(this,arguments)}function Ta(e){var t;t="8.2"===e?"v8-2":"v8",document.documentElement.dataset.ui=t}function Oa(e,t){return e.get(Pa(e,t))}function xa(e,t,r){return e.set(Pa(e,t),r),r}function Pa(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var Ma=new WeakMap,_a=new WeakMap,Ba=new WeakMap,La=new WeakMap,Ua=new WeakMap,Fa=new WeakMap,Na=new WeakMap,ja=new WeakMap,$a=new WeakMap,Da=new WeakMap,Ka=new WeakMap,Va=new WeakMap,Wa=new WeakSet;class Ha{constructor(e){(0,i.A)(this,Wa),(0,l.A)(this,Ma,void 0),(0,l.A)(this,_a,!1),(0,l.A)(this,Ba,void 0),(0,l.A)(this,La,void 0),(0,l.A)(this,Ua,void 0),(0,l.A)(this,Fa,void 0),(0,l.A)(this,Na,new Set),(0,l.A)(this,ja,0),(0,l.A)(this,$a,void 0),(0,l.A)(this,Da,void 0),(0,l.A)(this,Ka,void 0),(0,l.A)(this,Va,void 0),xa(Ma,this,e);var t=C();window.addEventListener("beforeunload",(e=>{Pa(Wa,this,qa).call(this,{})?(e.preventDefault(),e.returnValue=""):delete e.returnValue})),t.block(((e,t)=>Pa(Wa,this,qa).call(this,{location:e,action:t})))}getRenderId(){return Oa($a,this)}getRuntimeContext(){return Oa(Ua,this)}getRecentApps(){return{currentApp:Oa(Da,this),previousApp:Oa(Ka,this)}}getNavConfig(){return Oa(Va,this)}bootstrap(){var e=this;window.AbortController&&(oa=new AbortController,R.http.interceptors.request.use((e=>{var t;return(0,a.A)((0,a.A)({},e),{},{options:(0,a.A)((0,a.A)({},e.options),{},{signal:null!==(t=e.options)&&void 0!==t&&t.noAbortOnRouteChange?null:oa.signal})})})));var t=C();xa(Ba,this,t.location);var r=0;return t.listen(function(){var t=(0,o.A)((function*(t,n){var o,i,s,l,c,u,d=++r,f={hash:void 0,state:void 0};if(void 0!==t.key&&("POP"!==n||void 0!==Oa(Ba,e).key&&!1!==(null===(o=Oa(Ba,e).state)||void 0===o?void 0:o.notify))||(f.key=void 0),((0,p.locationsAreEqual)((0,a.A)((0,a.A)({},Oa(Ba,e)),f),(0,a.A)((0,a.A)({},t),f))||"POP"!==n&&!1===(null===(i=t.state)||void 0===i?void 0:i.notify))&&(c=!0),c||null!==(s=t.state)&&void 0!==s&&s.noIncremental||(c=yield null===(u=Oa(Fa,e))||void 0===u?void 0:u.didPerformIncrementalRender(t,Oa(Ba,e))),r===d)if(c)xa(Ba,e,t);else{if(oa&&(oa.abort(),oa=new AbortController),xa(Ba,e,t),null===(l=Oa(Fa,e))||void 0===l||l.dispatchPageLeave(),"POP"===n&&b(g(Oa(Ma,e),t.pathname)))return void window.location.reload();Oa(_a,e)?xa(La,e,t):(W("locationChange"),Pa(Wa,e,Ga).call(e,t).catch(fr))}}));return function(e,r){return t.apply(this,arguments)}}()),Pa(Wa,this,Ga).call(this,t.location)}}function qa(e){var t,r=C(),n=r.getBlockMessage();null===(t=Oa(Fa,this))||void 0===t||t.dispatchBeforePageLeave(e);var a=r.getBlockMessage();return!n&&a&&r.unblock(),a}function za(e,t,r){var n,a;if(xa(ja,this,(n=Oa(ja,this),a=n++,n)),a>10){var o='Infinite redirect detected: from "'.concat(r.pathname).concat(r.search).concat(r.hash,'" to "').concat(e,'"');throw new Error(o)}C().replace(e,t)}function Ga(e){return Ja.apply(this,arguments)}function Ja(){return(Ja=(0,o.A)((function*(e){xa(_a,this,!0);try{yield Pa(Wa,this,Ya).call(this,e)}finally{if(xa(_a,this,!1),Oa(La,this)){var t=Oa(La,this);xa(La,this,void 0),yield Pa(Wa,this,Ga).call(this,t)}}}))).apply(this,arguments)}function Ya(e){return Qa.apply(this,arguments)}function Qa(){return Qa=(0,o.A)((function*(e){var t,r,n,i,s=this,l=xa($a,this,(0,m.uniqueId)("render-id-"));et=new WeakSet,nt.clear(),null==xo||null===(t=xo.flowApi)||void 0===t||t.clearCollectWidgetContract(),C().unblock();var c=null==xo||null===(r=xo.pageView)||void 0===r?void 0:r.create(),u=g(Oa(Ma,this),e.pathname),d=null===(n=Oa(Ua,this))||void 0===n?void 0:n.app,f=null==u||null===(i=u.app)||void 0===i?void 0:i.id;window.BOOTSTRAP_UNION_FILE&&f&&f!==(null==d?void 0:d.id)&&function(e){var{appId:t,version:r}=e;window.APP_ROOT_TPL&&(window.APP_ID=t,window.APP_ROOT=window.APP_ROOT_TPL.replace("{id}",t).replace("{version}",r))}({appId:f,version:u.app.currentVersion}),null!=u&&u.app&&(yield function(e){return Ca.apply(this,arguments)}(u));var p,v=xa(Da,this,null==u?void 0:u.app),h=d&&v?d.id!==v.id:d!==v,y=Vo().getFeatureFlags(),b=Oa(Fa,this),A=(t,r)=>{null==c||c({status:"redirected"}),Oa(Na,this).add(b),Pa(Wa,this,za).call(this,t,r,e)},w=()=>{var t=y["sso-enabled"]?"/sso-auth/login":"/auth/login";ir(e),A(t,{from:e})},S=document.querySelector("#main-mount-point"),E=document.querySelector("#portal-mount-point"),k={tag:Dr.ROOT,container:S,createPortal:E},I=()=>{var e;for(var t of(Kr(S),Kr(E),Oa(Na,this).add(b),Oa(Na,this)))t&&(t.dispatchOnUnmount(),t.dispose());Oa(Na,this).clear(),null==xo||null===(e=xo.messageDispatcher)||void 0===e||e.reset(),h&&(xa(Ka,this,d),window.dispatchEvent(new CustomEvent("app.change",{detail:{previousApp:d,currentApp:v}})))};if(Z(v&&(ae()[v.id]||v.theme)||"light"),ie("default"),v){var T,O,x,P,M,_;null==xo||null===(T=xo.checkInstalledApps)||void 0===T||T.preCheckInstalledApps(u,(e=>!!Zo(e)));var B={bailout:e=>e.unauthenticated?(w(),!0):e.redirect?(A(e.redirect.path,e.redirect.state),!0):void xa(ja,this,0),mergeMenus:(p=(0,o.A)((function*(e){var t=yield Promise.all(e);xa(Va,s,function(e){var t={breadcrumb:[]};for(var r of e){var{breadcrumb:n}=r;n&&(n.overwrite?t.breadcrumb=n.items:t.breadcrumb.push(...n.items))}return t}(t))})),function(e){return p.apply(this,arguments)}),catch:(t,r)=>{if(!lr(t)||window.NO_AUTH_GUARD){if(!(t instanceof R.HttpAbortError)){var n=Vo().getMiscSettings().noAuthGuardLoginPath;return lr(t)&&n?void A(n,{from:e}):{failed:!0,output:{node:{tag:Dr.BRICK,type:"div",properties:{textContent:sr(t)},runtimeContext:null,return:r},blockingList:[],menuRequests:[]}}}Oa(Na,this).add(b)}else w()}},L=xa(Fa,this,new on("page",{routeHelper:B,renderId:l})),U=xa(Ua,this,{app:v,location:e,query:new URLSearchParams(e.search),flags:y,sys:(0,a.A)((0,a.A)((0,a.A)({},null==xo||null===(O=xo.auth)||void 0===O?void 0:O.getAuth()),ka()),{},{settings:{brand:Vo().getBrandSettings()}}),ctxStore:new Vn("CTX",void 0,L),pendingPermissionsPreCheck:[null==xo||null===(x=xo.checkPermissions)||void 0===x?void 0:x.preCheckPermissions(u)],tplStateStoreMap:new Map,formStateStoreMap:new Map});xa(Va,this,void 0),Ia(u),me(null===(P=u.meta)||void 0===P?void 0:P.functions,v),null==xo||null===(M=xo.flowApi)||void 0===M||M.collectContract(null===(_=u.meta)||void 0===_?void 0:_.contracts);var F,N=!1,j=[];try{if(F=yield da(k,function(e){if(window.parent===window)return e;var t=e,r=(0,m.findLastIndex)(t,(e=>e.path.startsWith("${APP.homepage}/_dev_only_/template-preview/")));t=[...t.slice(0,r+1),{path:"${APP.homepage}/_dev_only_/template-preview/:templateId",bricks:[{brick:"span"}],menu:!1,exact:!0},...t.slice(r+1)];var n=(0,m.findLastIndex)(t,(e=>e.path.startsWith("${APP.homepage}/_dev_only_/snippet-preview/")));return[...t.slice(0,n+1),{path:"${APP.homepage}/_dev_only_/snippet-preview/:snippetId",bricks:[{brick:"span"}],menu:!1,exact:!0},...t.slice(n+1)]}(u.routes),U,L,[]),B.bailout(F))return;j=ya(U),yield ba(F,U,j),yield B.mergeMenus(F.menuRequests),L.setInitialMenuRequests(F.menuRequests)}catch(e){console.error("Router failed:",e);var $=B.catch(e,k);if(!$)return;({failed:N,output:F}=$)}if(k.child=F.node,I(),F.route&&"routes"!==F.route.type||N){if(N||L.dispatchBeforePageLoad(),re(),le(),Ta(null==v?void 0:v.uiVersion),Vr(k),window.scrollTo(0,0),N)null==c||c({status:"failed"});else{for(var D of(L.dispatchPageLoad(),L.dispatchAnchorLoad(),L.dispatchOnMount(),L.initializeScrollIntoView(),L.initializeMediaChange(),L.initializeMessageDispatcher(),j))D.mountAsyncData();null==c||c({status:"ok",path:F.path,pageTitle:document.title})}return void W("rendered")}}else{if(!window.NO_AUTH_GUARD&&null!=xo&&xo.auth&&!xo.auth.isLoggedIn())return void w();I()}re(),le();var K={tag:Dr.BRICK,type:"div",properties:{textContent:"Page not found"},runtimeContext:null,return:k};k.child=K,Vr(k),window.scrollTo(0,0),null==c||c({status:"not-found"}),W("rendered")})),Qa.apply(this,arguments)}var Xa="undefined"!=typeof BRICK_PACKAGES?BRICK_PACKAGES:null;function Za(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var r=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function eo(e){return e<=1?"".concat(100*Number(e),"%"):e}function to(e){return 1===e.length?"0"+e:String(e)}function ro(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*r*(t-e):r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function no(e){return ao(e)/255}function ao(e){return parseInt(e,16)}var oo={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function io(e){var t,r,n,a={r:0,g:0,b:0},o=1,i=null,s=null,l=null,c=!1,u=!1;return"string"==typeof e&&(e=function(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(oo[e])e=oo[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var r=uo.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=uo.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=uo.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=uo.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=uo.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=uo.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=uo.hex8.exec(e))?{r:ao(r[1]),g:ao(r[2]),b:ao(r[3]),a:no(r[4]),format:t?"name":"hex8"}:(r=uo.hex6.exec(e))?{r:ao(r[1]),g:ao(r[2]),b:ao(r[3]),format:t?"name":"hex"}:(r=uo.hex4.exec(e))?{r:ao(r[1]+r[1]),g:ao(r[2]+r[2]),b:ao(r[3]+r[3]),a:no(r[4]+r[4]),format:t?"name":"hex8"}:!!(r=uo.hex3.exec(e))&&{r:ao(r[1]+r[1]),g:ao(r[2]+r[2]),b:ao(r[3]+r[3]),format:t?"name":"hex"}}(e)),"object"==typeof e&&(fo(e.r)&&fo(e.g)&&fo(e.b)?(t=e.r,r=e.g,n=e.b,a={r:255*Za(t,255),g:255*Za(r,255),b:255*Za(n,255)},c=!0,u="%"===String(e.r).substr(-1)?"prgb":"rgb"):fo(e.h)&&fo(e.s)&&fo(e.v)?(i=eo(e.s),s=eo(e.v),a=function(e,t,r){e=6*Za(e,360),t=Za(t,100),r=Za(r,100);var n=Math.floor(e),a=e-n,o=r*(1-t),i=r*(1-a*t),s=r*(1-(1-a)*t),l=n%6;return{r:255*[r,i,o,o,s,r][l],g:255*[s,r,r,i,o,o][l],b:255*[o,o,s,r,r,i][l]}}(e.h,i,s),c=!0,u="hsv"):fo(e.h)&&fo(e.s)&&fo(e.l)&&(i=eo(e.s),l=eo(e.l),a=function(e,t,r){var n,a,o;if(e=Za(e,360),t=Za(t,100),r=Za(r,100),0===t)a=r,o=r,n=r;else{var i=r<.5?r*(1+t):r+t-r*t,s=2*r-i;n=ro(s,i,e+1/3),a=ro(s,i,e),o=ro(s,i,e-1/3)}return{r:255*n,g:255*a,b:255*o}}(e.h,i,l),c=!0,u="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(o=e.a)),o=function(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}(o),{ok:c,format:e.format||u,r:Math.min(255,Math.max(a.r,0)),g:Math.min(255,Math.max(a.g,0)),b:Math.min(255,Math.max(a.b,0)),a:o}}var so="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),lo="[\\s|\\(]+(".concat(so,")[,|\\s]+(").concat(so,")[,|\\s]+(").concat(so,")\\s*\\)?"),co="[\\s|\\(]+(".concat(so,")[,|\\s]+(").concat(so,")[,|\\s]+(").concat(so,")[,|\\s]+(").concat(so,")\\s*\\)?"),uo={CSS_UNIT:new RegExp(so),rgb:new RegExp("rgb"+lo),rgba:new RegExp("rgba"+co),hsl:new RegExp("hsl"+lo),hsla:new RegExp("hsla"+co),hsv:new RegExp("hsv"+lo),hsva:new RegExp("hsva"+co),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function fo(e){return Boolean(uo.CSS_UNIT.exec(String(e)))}var po=2,vo=.16,ho=.05,mo=.05,go=.15,yo=5,bo=4,Ao=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function wo(e){var t=function(e,t,r){e=Za(e,255),t=Za(t,255),r=Za(r,255);var n=Math.max(e,t,r),a=Math.min(e,t,r),o=0,i=n,s=n-a,l=0===n?0:s/n;if(n===a)o=0;else{switch(n){case e:o=(t-r)/s+(t<r?6:0);break;case t:o=(r-e)/s+2;break;case r:o=(e-t)/s+4}o/=6}return{h:o,s:l,v:i}}(e.r,e.g,e.b);return{h:360*t.h,s:t.s,v:t.v}}function So(e){var t=e.r,r=e.g,n=e.b;return"#".concat(function(e,t,r,n){var a=[to(Math.round(e).toString(16)),to(Math.round(t).toString(16)),to(Math.round(r).toString(16))];return a.join("")}(t,r,n))}function Eo(e,t,r){var n;return(n=Math.round(e.h)>=60&&Math.round(e.h)<=240?r?Math.round(e.h)-po*t:Math.round(e.h)+po*t:r?Math.round(e.h)+po*t:Math.round(e.h)-po*t)<0?n+=360:n>=360&&(n-=360),n}function ko(e,t,r){return 0===e.h&&0===e.s?e.s:((n=r?e.s-vo*t:t===bo?e.s+vo:e.s+ho*t)>1&&(n=1),r&&t===yo&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2)));var n}function Io(e,t,r){var n;return(n=r?e.v+mo*t:e.v-go*t)>1&&(n=1),Number(n.toFixed(2))}function Co(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[],n=io(e),a=yo;a>0;a-=1){var o=wo(n),i=So(io({h:Eo(o,a,!0),s:ko(o,a,!0),v:Io(o,a,!0)}));r.push(i)}r.push(So(n));for(var s=1;s<=bo;s+=1){var l=wo(n),c=So(io({h:Eo(l,s),s:ko(l,s),v:Io(l,s)}));r.push(c)}return"dark"===t.theme?Ao.map((function(e){var n,a,o,i=e.index,s=e.opacity;return So((n=io(t.backgroundColor||"#141414"),o=100*s/100,{r:((a=io(r[i])).r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b}))})):r}var Ro,To,Oo,xo,Po={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1890FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},Mo={},_o={};function Bo(e){return':root,\n[data-override-theme="light"] {\n'.concat(e,"}")}function Lo(e){return'html[data-theme="dark-v2"],\n[data-override-theme="dark-v2"] {\n'.concat(e,"}")}function Uo(e){return e.match(/[0-9a-fA-F]{2}/g).map((e=>parseInt(e,16))).join(", ")}function Fo(e,t,r){return"dark"===t?Co(e,{theme:t,backgroundColor:r})[5]:e}function No(e){var t=[];if(["light","dark"].forEach((r=>{if(e[r])switch(e.type){case"brandColor":t.push(function(e,t){return("dark"===e?Lo:Bo)("string"==typeof(r=t)?" --color-brand: ".concat(r,";\n"):[" --color-brand: ".concat(r.default,";")," --color-brand-hover: ".concat(r.hover,";")," --color-brand-active: ".concat(r.active,";"),""].join("\n"));var r}(r,e[r]));break;case"baseColors":t.push(function(e,t,r){return("dark"===e?Lo:Bo)("".concat(function(e,t){return Object.entries(e).flatMap((e=>{var[r,n]=e;return function(e){if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e))throw new Error("Invalid base color name: ".concat(JSON.stringify(e)))}(r),n.map(((e,n)=>[" --palette-".concat(r,"-").concat(n+1,"-channel: ").concat(Uo(e),";")].concat("dark"===t?[]:" --palette-".concat(r,"-").concat(n+1,": rgb(var(--palette-").concat(r,"-").concat(n+1,"-channel));")).join("\n"))).concat("")})).join("\n")}(function(e,t,r){return Object.fromEntries(Object.entries(e).map((e=>{var[n,a]=e;return[n,Co(a,"dark"===t?{theme:t,backgroundColor:r}:void 0)]})))}(t,e,r),e),"\n").concat(function(e,t,r){return Object.entries({green:"green",red:"red",blue:"blue",orange:"orange",cyan:"cyan",purple:"purple",geekblue:"indigo"}).flatMap((n=>{var[a,o]=n;return[" --theme-".concat(a,"-color-rgb-channel: ").concat(Uo(Fo(t[o],e,r)),";"),..."dark"===e?[]:[" --theme-".concat(a,"-color: var(--palette-").concat(o,"-6);")," --theme-".concat(a,"-border-color: var(--palette-").concat(o,"-3);")]," --theme-".concat(a,"-background: var(--palette-").concat(o,"-").concat("dark"===e?2:1,");"),""]})).join("\n")}(e,t,r)))}(r,e[r],e.backgroundColor));break;case"variables":t.push(function(e,t){return("dark"===e?Lo:Bo)(function(e){return Object.entries(e).map((e=>{var[t,r]=e;return function(e){if(!/^--[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(e))throw new Error("Invalid css variable name: ".concat(JSON.stringify(e)))}(t)," ".concat(t,": ").concat(r,";")})).concat("").join("\n")}(t))}(r,e[r]))}})),t.length>0){var r=document.createElement("style");return r.textContent=t.join("\n\n"),document.head.appendChild(r),()=>{r.remove()}}}function jo(e,t,r){return e.set(Do(e,t),r),r}function $o(e,t){return e.get(Do(e,t))}function Do(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function Ko(e){if(Ro)throw new Error("Cannot create multiple runtimes");return window.addEventListener("message",(e=>{var{data:t}=e;if((null==t?void 0:t.source)===$){var r=t.payload;switch(null==r?void 0:r.type){case D:V=r.active;break;case K:N=r.panel}}})),xo=null==e?void 0:e.hooks,(0,c.initializeI18n)(nr,ar),f.locale(c.i18n.language),c.i18n.on("languageChanged",(()=>{f.locale(c.i18n.language)})),I(),Ro=new zo}Object.keys(Po).forEach((function(e){Mo[e]=Co(Po[e]),Mo[e].primary=Mo[e][5],_o[e]=Co(Po[e],{theme:"dark",backgroundColor:"#141414"}),_o[e].primary=_o[e][5]})),Mo.red,Mo.volcano,Mo.gold,Mo.orange,Mo.yellow,Mo.lime,Mo.green,Mo.cyan,Mo.blue,Mo.geekblue,Mo.purple,Mo.magenta,Mo.grey;var Vo=function(){var e=k();if(e)return function(){return new Proxy(e.getRuntime(),{get(){switch(arguments.length<=1?void 0:arguments[1]){case"getCurrentApp":case"getRecentApps":case"hasInstalledApp":case"getDesktops":case"getLaunchpadSettings":case"getLaunchpadSiteMap":case"toggleLaunchpadEffect":case"applyPageTitle":case"getNavConfig":case"getFeatureFlags":case"getMiscSettings":case"getBrandSettings":return Reflect.get(...arguments)}}})}}()||function(){return Ro},Wo=new WeakMap,Ho=new WeakMap,qo=new WeakSet;class zo{constructor(){(0,i.A)(this,qo),(0,l.A)(this,Wo,!1),(0,l.A)(this,Ho,!1),(0,s.A)(this,"version",3)}initialize(e){var t;if($o(Wo,this))throw new Error("The runtime cannot be initialized more than once");jo(Wo,this,!0),function(e){if(Array.isArray(e.storyboards)){var t=function(){if(r.locales){var e="tmp/".concat(r.id);Object.entries(r.locales).forEach((t=>{var[r,n]=t;c.i18n.addResourceBundle(r,e,n)})),r.localeName=c.i18n.getFixedT(null,e)("name",r.name),Object.keys(r.locales).forEach((t=>{c.i18n.removeResourceBundle(t,e)}))}else r.localeName=r.name};for(var{app:r}of e.storyboards)t()}(0,d.isObject)(e.settings)&&(0,d.deepFreeze)(e.settings),e.brickPackages&&(0,d.deepFreeze)(e.brickPackages)}(e),To=e;var r,{notification:n,dialog:o}=Do(qo,this,Go).call(this);!1!==n&&(r=null!=n?n:"basic.show-notification",(0,this.loadBricks)([r]).then((()=>{ur=document.createElement(r)}),(e=>{console.error("Load notification service failed:",e)}))),!1!==o&&function(e,t){t([e]).then((()=>{Gt=document.createElement(e)}),(e=>{console.error("Load dialog service failed:",e)}))}(null!=o?o:"basic.show-dialog",this.loadBricks),function(e){e&&(e.brandColor?No((0,a.A)({type:"brandColor"},e.brandColor)):e.baseColors?No((0,a.A)({type:"baseColors"},e.baseColors)):e.variables&&No((0,a.A)({type:"variables"},e.variables)))}(null===(t=e.settings)||void 0===t||null===(t=t.misc)||void 0===t?void 0:t.theme)}bootstrap(e){var t=this;return(0,o.A)((function*(){if(e&&t.initialize(e),$o(Ho,t))throw new Error("The runtime cannot be bootstrapped more than once");jo(Ho,t,!0),Oo=new Ha(To.storyboards),yield Oo.bootstrap()}))()}getRecentApps(){var e,t;return null!==(e=null===(t=Oo)||void 0===t?void 0:t.getRecentApps())&&void 0!==e?e:{}}getCurrentApp(){var e;return null===(e=Oo)||void 0===e?void 0:e.getRecentApps().currentApp}hasInstalledApp(e,t){return Je(e,t)}getFeatureFlags(){var e,t;return(0,a.A)((0,a.A)((0,a.A)({},null===(e=To)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.featureFlags),null===(t=Oo)||void 0===t||null===(t=t.getRecentApps().currentApp)||void 0===t||null===(t=t.config)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.featureFlags),{},{"migrate-to-brick-next-v3":!0})}getMiscSettings(){var e,t;return(0,a.A)((0,a.A)({},null===(e=To)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.misc),null===(t=Oo)||void 0===t||null===(t=t.getRecentApps().currentApp)||void 0===t||null===(t=t.config)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.misc)}getBrandSettings(){var e;return(0,a.A)({base_title:"DevOps 管理专家"},null===(e=To)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.brand)}getLaunchpadSettings(){var e;return(0,a.A)({columns:7,rows:4},null===(e=To)||void 0===e||null===(e=e.settings)||void 0===e?void 0:e.launchpad)}getDesktops(){var e,t;return null!==(e=null===(t=To)||void 0===t?void 0:t.desktops)&&void 0!==e?e:[]}getLaunchpadSiteMap(){var e,t;return null!==(e=null===(t=To)||void 0===t?void 0:t.siteSort)&&void 0!==e?e:[]}toggleLaunchpadEffect(e){document.body.classList.toggle("launchpad-open",e)}applyPageTitle(e){var t=this.getBrandSettings().base_title;document.title=e?"".concat(e," - ").concat(t):t}getNavConfig(){var e;return null===(e=Oo)||void 0===e?void 0:e.getNavConfig()}loadBricks(e){return(0,u.loadBricksImperatively)(e,Jo())}}function Go(){var e,t;return null!==(e=null===(t=To)||void 0===t||null===(t=t.settings)||void 0===t?void 0:t.presetBricks)&&void 0!==e?e:{}}function Jo(){var e,t,r,n;return null!==(e=null!==(t=null!==(r=null===(n=To)||void 0===n?void 0:n.brickPackages)&&void 0!==r?r:Xa)&&void 0!==t?t:window.STANDALONE_BRICK_PACKAGES)&&void 0!==e?e:[]}function Yo(){var e;return null===(e=Oo)||void 0===e?void 0:e.getRenderId()}function Qo(){var e;return null===(e=Oo)||void 0===e?void 0:e.getRuntimeContext()}function Xo(e){var t;return null===(t=To)||void 0===t||null===(t=t.storyboards)||void 0===t?void 0:t.find((t=>t.app.id===e))}function Zo(e){var t;return null===(t=Xo(e))||void 0===t?void 0:t.app}function ei(){for(var e,t,r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];null==xo||null===(e=xo.auth)||void 0===e||null===(t=e.authenticate)||void 0===t||t.call(e,...n)}function ti(){var e;return null==xo||null===(e=xo.auth)||void 0===e?void 0:e.getAuth()}function ri(){var e,t;return null==xo||null===(e=xo.auth)||void 0===e||null===(t=e.logout)||void 0===t?void 0:t.call(e)}function ni(){var e;return null==xo||null===(e=xo.auth)||void 0===e?void 0:e.isLoggedIn()}function ai(e,t,r){return oi.apply(this,arguments)}function oi(){return(oi=(0,o.A)((function*(e,t,r){return it(yield Xe(e),e,"resolve",t,r)}))).apply(this,arguments)}function ii(e){var t,{portal:r,scope:n="fragment",unknownBricks:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r;t=r||(()=>((i=document.createElement("div")).style.position="absolute",i.style.width=i.style.height="0",document.body.append(i),i));var s,l,c=!1;return{render(r){var u=arguments;return(0,o.A)((function*(){var{theme:o,uiVersion:f,context:p,functions:v,templates:h,i18n:g}=u.length>1&&void 0!==u[1]?u[1]:{};if(c)throw new Error("The root is unmounted and cannot be rendered any more");var y=[].concat(r),b=s,A=(0,m.uniqueId)("render-id-");s=new on(n,{unknownBricks:a,renderId:A});var w={ctxStore:new Vn("CTX",void 0,s),pendingPermissionsPreCheck:[],tplStateStoreMap:new Map,formStateStoreMap:new Map},S={tag:Dr.ROOT,container:e,createPortal:t};if("page"===n){var E;!function(e,t){function r(e){if((0,d.isObject)(e)&&"function"!=typeof e)if(Array.isArray(e))e.map(r);else for(var[t,a]of Object.entries(e))(0,d.isObject)(a)&&"useBrick"===t?Array.isArray(a)?a.forEach((e=>n(e,!0))):n(a,!0):r(a)}function n(e,a){a&&(e[gn]=t);var{properties:o,slots:i,children:s}=e,l=Sa(s,i);for(var c of(r(o),Object.values(null!=l?l:{})))for(var u of null!==(d=c.bricks)&&void 0!==d?d:[]){var d;n(u,a)}}for(var a of e)n(a)}(y,w),Z(null!=o?o:"light"),ie("default"),Ta(f);var k={id:"demo",homepage:"/demo"};w.app=k;var I={app:k,meta:{i18n:g,customTemplates:h}};null===(E=l)||void 0===E||E(),l=L(I),Ia(I),me(v,k)}w.ctxStore.define(p,w);var C,R=!1,T=[];try{C=yield pa(S,y,w,s,[]),T=ya(w),yield ba(C,w,T)}catch(e){R=!0,C={node:{tag:Dr.BRICK,type:"div",properties:{textContent:sr(e)},return:S,runtimeContext:null},blockingList:[],menuRequests:[]}}if(S.child=C.node,null==b||b.dispatchOnUnmount(),null==b||b.dispose(),Kr(e),i&&Kr(i),"page"===n&&(R||s.dispatchBeforePageLoad(),re(),le()),Vr(S),"page"===n&&window.scrollTo(0,0),!R){for(var O of T)O.mountAsyncData();"page"===n&&s.dispatchPageLoad(),s.dispatchOnMount(),s.initializeScrollIntoView(),s.initializeMediaChange(),s.initializeMessageDispatcher()}}))()},unmount(){c||(c=!0,Kr(e),i&&(Kr(i),r||i.remove()))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=9407.06352f8b.js.map
|