@next-bricks/visual-builder 0.10.2 → 0.10.4

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.
Files changed (41) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2108.fa137562.js +2 -0
  3. package/dist/chunks/2108.fa137562.js.map +1 -0
  4. package/dist/chunks/2907.e5f746fc.js +2 -0
  5. package/dist/chunks/{2907.0e8f14c1.js.map → 2907.e5f746fc.js.map} +1 -1
  6. package/dist/chunks/4231.a3f715d9.js +3 -0
  7. package/dist/chunks/{4231.88a4110c.js.map → 4231.a3f715d9.js.map} +1 -1
  8. package/dist/chunks/{4417.9b5b416b.js → 4417.d35041e4.js} +2 -2
  9. package/dist/chunks/{4417.9b5b416b.js.map → 4417.d35041e4.js.map} +1 -1
  10. package/dist/chunks/541.c97dad77.js +3 -0
  11. package/dist/chunks/{541.aa38ace5.js.map → 541.c97dad77.js.map} +1 -1
  12. package/dist/chunks/6653.0314b7db.js +2 -0
  13. package/dist/chunks/6653.0314b7db.js.map +1 -0
  14. package/dist/chunks/{8498.85eea8a6.js → 8498.e01da748.js} +2 -2
  15. package/dist/chunks/8498.e01da748.js.map +1 -0
  16. package/dist/chunks/main.368c9dda.js +2 -0
  17. package/dist/chunks/{main.7e1dad3b.js.map → main.368c9dda.js.map} +1 -1
  18. package/dist/chunks/workbench-action-list.4e03ad9d.js +2 -0
  19. package/dist/chunks/{workbench-action-list.ef513e74.js.map → workbench-action-list.4e03ad9d.js.map} +1 -1
  20. package/dist/chunks/workbench-history-action.cc5e47f7.js +3 -0
  21. package/dist/chunks/{workbench-history-action.b0ef1ad1.js.map → workbench-history-action.cc5e47f7.js.map} +1 -1
  22. package/dist/chunks/{workbench-tree.168fb4df.js → workbench-tree.7120bab4.js} +2 -2
  23. package/dist/chunks/{workbench-tree.168fb4df.js.map → workbench-tree.7120bab4.js.map} +1 -1
  24. package/dist/index.48c1a9e8.js +2 -0
  25. package/dist/{index.1f88f6e0.js.map → index.48c1a9e8.js.map} +1 -1
  26. package/package.json +3 -3
  27. package/dist/chunks/2108.8e8e2b74.js +0 -2
  28. package/dist/chunks/2108.8e8e2b74.js.map +0 -1
  29. package/dist/chunks/2907.0e8f14c1.js +0 -2
  30. package/dist/chunks/4231.88a4110c.js +0 -3
  31. package/dist/chunks/541.aa38ace5.js +0 -3
  32. package/dist/chunks/6653.d6e37b78.js +0 -2
  33. package/dist/chunks/6653.d6e37b78.js.map +0 -1
  34. package/dist/chunks/8498.85eea8a6.js.map +0 -1
  35. package/dist/chunks/main.7e1dad3b.js +0 -2
  36. package/dist/chunks/workbench-action-list.ef513e74.js +0 -2
  37. package/dist/chunks/workbench-history-action.b0ef1ad1.js +0 -3
  38. package/dist/index.1f88f6e0.js +0 -2
  39. /package/dist/chunks/{4231.88a4110c.js.LICENSE.txt → 4231.a3f715d9.js.LICENSE.txt} +0 -0
  40. /package/dist/chunks/{541.aa38ace5.js.LICENSE.txt → 541.c97dad77.js.LICENSE.txt} +0 -0
  41. /package/dist/chunks/{workbench-history-action.b0ef1ad1.js.LICENSE.txt → workbench-history-action.cc5e47f7.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/2907.0e8f14c1.js","mappings":"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","sources":["webpack:///./src/data-providers/collect-used-contracts.ts","webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.ts","webpack:///./src/data-providers/preview/realTimeDataInspect.ts","webpack:///./src/data-providers/preview/connect.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport {\n type StoryboardNode,\n parseStoryboard,\n traverse,\n} from \"@next-core/storyboard\";\nimport {\n Storyboard,\n UseProviderResolveConf,\n UseProviderEventHandler,\n} from \"@next-core/types\";\n\nfunction collect(nodeOrNodes: StoryboardNode | StoryboardNode[]): Set<string> {\n const collection = new Set<string>();\n\n traverse(nodeOrNodes, (node) => {\n switch (node.type) {\n case \"Resolvable\":\n case \"EventHandler\": {\n const useProvider = (\n node.raw as UseProviderResolveConf | UseProviderEventHandler\n )?.useProvider;\n if (useProvider) {\n collection.add(useProvider);\n }\n }\n }\n });\n\n return collection;\n}\n\nexport function collectUsedContracts(storyboard: Storyboard): string[] {\n const collection = collect(parseStoryboard(storyboard as any));\n\n const contracts = [];\n\n for (const item of collection) {\n if (item.includes(\"@\")) {\n contracts.push(item);\n }\n }\n\n return contracts;\n}\n\ncustomElements.define(\n \"visual-builder.collect-used-contracts\",\n createProviderClass(collectUsedContracts)\n);\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { throttle } from \"lodash\";\nimport type {\n PreviewMessagePreviewerHoverOnBrick,\n PreviewMessagePreviewerSelectBrick,\n PreviewMessagePreviewerContextMenuOnBrick,\n} from \"./interfaces.js\";\n\nexport let previewProxyOrigin: string;\n\nexport function setPreviewFromOrigin(origin: string): void {\n previewProxyOrigin = origin;\n}\n\nexport function startInspecting(): void {\n registerListeners();\n}\n\nexport function stopInspecting(): void {\n unregisterListeners();\n}\n\nfunction registerListeners(): void {\n window.addEventListener(\"click\", onClick, true);\n window.addEventListener(\"mousedown\", onMouseEvent, true);\n window.addEventListener(\"mouseover\", onMouseEvent, true);\n window.addEventListener(\"mouseup\", onMouseEvent, true);\n window.addEventListener(\"pointerdown\", onPointerDown, true);\n window.addEventListener(\"pointerover\", onPointerOver, true);\n window.addEventListener(\"pointerup\", onMouseEvent, true);\n window.addEventListener(\"pointerleave\", onPointerLeave, true);\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction unregisterListeners(): void {\n window.removeEventListener(\"click\", onClick, true);\n window.removeEventListener(\"mousedown\", onMouseEvent, true);\n window.removeEventListener(\"mouseover\", onMouseEvent, true);\n window.removeEventListener(\"mouseup\", onMouseEvent, true);\n window.removeEventListener(\"pointerdown\", onPointerDown, true);\n window.removeEventListener(\"pointerover\", onPointerOver, true);\n window.removeEventListener(\"pointerup\", onMouseEvent, true);\n window.removeEventListener(\"pointerleave\", onPointerLeave, true);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectBrick(event.target as HTMLElement);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (e: MouseEvent) => {\n const brick = e.target as HTMLElement;\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n }\n },\n 100,\n { leading: false }\n);\n\nfunction onPointerDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerOver(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList: [],\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n}\n\nfunction onContextMenu(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n contextMenuOnBrick(event.target as HTMLElement, {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n brick: HTMLElement,\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"context-menu-on-brick\",\n iidList,\n position,\n } as PreviewMessagePreviewerContextMenuOnBrick,\n previewProxyOrigin\n );\n }\n}\n\nfunction selectBrick(brick: HTMLElement): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"select-brick\",\n iidList,\n } as PreviewMessagePreviewerSelectBrick,\n previewProxyOrigin\n );\n }\n}\n\nexport function getPossibleBrickIidList(brick: HTMLElement): string[] {\n const iidList: string[] = [];\n // Traverse from bottom to up, to find bricks current hover on.\n let cursor: HTMLElement | null = brick;\n while (cursor) {\n if (typeof cursor.dataset.iid === \"string\") {\n iidList.push(cursor.dataset.iid);\n }\n cursor = cursor.parentElement;\n }\n return iidList;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport html2canvas from \"html2canvas\";\nimport { resizeScreenshot } from \"./resizeScreenshot.js\";\n\nfunction getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport async function capture(\n maxWidth: number,\n maxHeight: number\n): Promise<Blob> {\n const sourceCanvas = await html2canvas(document.body, {\n logging: false,\n scale: 1,\n width: window.innerWidth,\n height: window.innerHeight,\n foreignObjectRendering: true,\n });\n const targetCanvas = document.createElement(\"canvas\");\n resizeScreenshot(sourceCanvas, targetCanvas, maxWidth, maxHeight);\n const blob = await getCanvasBlob(targetCanvas);\n return blob;\n}\n","export function resizeScreenshot(\n canvas: HTMLCanvasElement,\n targetCanvas: HTMLCanvasElement,\n maxWidth: number,\n maxHeight: number\n): string {\n const targetRatio = maxWidth / maxHeight;\n const { width, height } = canvas;\n const ratio = width / height;\n const wider = ratio >= targetRatio;\n const finalWidth = wider ? maxWidth : maxHeight * ratio;\n const finalHeight = wider ? maxWidth / ratio : maxHeight;\n targetCanvas.width = finalWidth;\n targetCanvas.height = finalHeight;\n\n const ctx = targetCanvas.getContext(\"2d\")!;\n ctx.drawImage(canvas, 0, 0, width, height, 0, 0, finalWidth, finalHeight);\n return targetCanvas.toDataURL();\n}\n","export function getRealTimeDataAnnotation(value: unknown) {\n const type = typeof value;\n switch (type) {\n case \"string\":\n case \"boolean\":\n case \"number\":\n return {\n type,\n value,\n };\n case \"undefined\":\n return { type };\n }\n if (value === null) {\n return { type: \"null\" };\n }\n if (Array.isArray(value)) {\n return { type: \"array\", length: value.length };\n }\n return { type: \"object\" };\n}\n","import {\n getHistory as _getHistory,\n getBasePath,\n matchPath as _matchPath,\n __secret_internals as _internals,\n type NextLocation,\n} from \"@next-core/runtime\";\nimport type { BrickConf, CustomTemplate, RouteConf } from \"@next-core/types\";\nimport { isEmpty, throttle } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewerCaptureFailed,\n PreviewMessagePreviewerCaptureOk,\n PreviewMessagePreviewerContentScroll,\n PreviewMessagePreviewerHighlightBrick,\n PreviewMessagePreviewerHighlightContext,\n PreviewMessagePreviewerHoverOnMain,\n PreviewMessagePreviewerRealTimeDataInspectChange,\n PreviewMessagePreviewerRouteMatchChange,\n PreviewMessagePreviewerScroll,\n PreviewMessagePreviewerUrlChange,\n PreviewMessageToPreviewer,\n PreviewSettings,\n PreviewStartOptions,\n} from \"./interfaces.js\";\nimport { capture } from \"./capture.js\";\nimport {\n previewProxyOrigin,\n getPossibleBrickIidList,\n setPreviewFromOrigin,\n startInspecting,\n stopInspecting,\n} from \"./inspector.js\";\nimport { collectUsedContracts } from \"../collect-used-contracts.js\";\nimport { getRealTimeDataAnnotation } from \"./realTimeDataInspect.js\";\n\nlet connected = false;\n\ninterface DLL {\n (moduleId: \"tYg3\"): {\n getHistory: typeof _getHistory;\n developHelper: typeof _internals;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet isV2 = false;\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\ntry {\n const dll = (window as unknown as { dll?: DLL }).dll;\n if (\n dll &&\n window.BRICK_NEXT_VERSIONS?.[\"brick-container\"]?.startsWith(\"2.\")\n ) {\n const { getHistory: getHistoryV2, developHelper: developHelperV2 } =\n dll(\"tYg3\");\n const { matchPath: matchPathV2 } = dll(\"A+yw\");\n getHistory = getHistoryV2;\n matchPath = matchPathV2;\n // The `__secret_internals` of v3 has pretty the same API as\n // `developHelper` of v2, especially those for preview usage.\n __secret_internals = {\n ...developHelperV2,\n getContextValue(name, { tplStateStoreId }) {\n return developHelperV2.getContextValue(name, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n getAllContextValues({ tplStateStoreId }) {\n // V3 returns an object of key-value.\n // While v2 returns a map of ContextItem.\n const v2Map = developHelperV2.getAllContextValues({\n tplContextId: tplStateStoreId,\n } as any) as unknown as Map<string, { value: unknown }>;\n return Object.fromEntries(\n [...v2Map].map(([k, v]) => [k, (v as any).value])\n );\n },\n };\n isV2 = true;\n }\n} catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Try to use v2 runtime APIs failed:\", e);\n}\n\nlet contentScrollElement: Element | null = null;\nlet contentScrollHost: Element | null = null;\n\nexport default async function connect(\n previewFromOrigin: string,\n options: PreviewStartOptions\n) {\n if (connected) {\n return;\n }\n connected = true;\n\n const sendMessage = <T extends PreviewMessageFromPreviewer>(\n message: Omit<T, \"sender\">\n ): void => {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n ...message,\n },\n previewFromOrigin\n );\n };\n\n sendMessage({ type: \"preview-started\" });\n setPreviewFromOrigin(previewFromOrigin);\n\n let hoverIid: string;\n let hoverAlias: string;\n let activeIid: string;\n let activeAlias: string;\n\n const handleHoverOnIframe = (pos: Position): void => {\n const element = document.elementFromPoint(pos.x, pos.y);\n if (element?.tagName === \"BODY\") {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-main\",\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n } as PreviewMessagePreviewerHoverOnMain,\n previewProxyOrigin\n );\n } else {\n const iidList = getPossibleBrickIidList(element as HTMLElement);\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n },\n previewProxyOrigin\n );\n }\n };\n\n const sendHighlightBrickOutlines = (\n type: \"hover\" | \"active\",\n iid: string,\n alias: string\n ): void => {\n const outlines = getBrickOutlines(iid);\n sendMessage<PreviewMessagePreviewerHighlightBrick>({\n type: \"highlight-brick\",\n highlightType: type,\n outlines,\n iid: iid,\n alias: alias,\n });\n };\n\n const sendHighlightBricksOutlines = (nodes: HighLightNode[]): void => {\n const outlines = nodes\n .map((node) => getBrickOutlines(node.iid, node.alias))\n .flat();\n sendMessage<PreviewMessagePreviewerHighlightContext>({\n type: \"highlight-context\",\n outlines,\n });\n };\n\n let lastTemplatePreviewSettings: PreviewSettings | undefined;\n if (options.templateId) {\n lastTemplatePreviewSettings = options.settings;\n }\n\n const updateTemplatePreviewSettings = (): void => {\n __secret_internals.updateTemplatePreviewSettings(\n options.appId,\n options.templateId!,\n lastTemplatePreviewSettings\n );\n getHistory().reload();\n };\n\n const updateSnippetPreviewSettings = (): void => {\n __secret_internals.updateSnippetPreviewSettings(\n options.appId,\n JSON.parse(options.snippetData)\n );\n getHistory().reload();\n };\n\n /* const updateFormPreviewSettings = (): void => {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n options.formData\n );\n getHistory().reload();\n }; */\n\n const handlePreviewData = (name: string, option: PreviewDataOption): void => {\n try {\n const { dataType } = option;\n let tplStateStoreId;\n\n if (dataType === \"state\") {\n tplStateStoreId = getRootTplStateStoreId();\n\n if (!tplStateStoreId) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n error: {\n message:\n \"tplStateStoreId not found, unable to preview STATE value\",\n },\n },\n });\n\n return;\n }\n }\n\n let value, type: PreviewMessagePreviewDataValueSuccess[\"type\"];\n if (name) {\n type = \"inspect-single-data-value-success\";\n value = __secret_internals.getContextValue(name, {\n tplStateStoreId,\n });\n } else {\n type = \"inspect-all-data-values-success\";\n const data = __secret_internals.getAllContextValues({\n tplStateStoreId,\n });\n value = Object.entries(data).map(([name, value]) => ({ name, value }));\n }\n\n sendMessage<PreviewMessagePreviewDataValueSuccess>({\n type,\n data: {\n name,\n value,\n },\n });\n\n // istanbul ignore next\n } catch (error) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n message: (error as Error).message,\n },\n });\n }\n };\n\n const history = getHistory();\n\n window.addEventListener(\n \"message\",\n async ({ data, origin }: MessageEvent<PreviewMessageToPreviewer>) => {\n if (\n origin !== previewFromOrigin ||\n !data ||\n data.sender !== \"preview-container\"\n ) {\n return;\n }\n if (data.forwardedFor === \"builder\") {\n switch (data.type) {\n case \"hover-on-brick\":\n hoverIid = data.iid;\n hoverAlias = data.alias;\n sendHighlightBrickOutlines(\"hover\", data.iid, data.alias);\n break;\n case \"hover-on-main\":\n sendHighlightBrickOutlines(\"hover\", \"#main-mount-point\", \"root\");\n break;\n case \"hover-on-context\":\n sendHighlightBricksOutlines(data.highlightNodes);\n break;\n case \"select-brick\":\n activeIid = data.iid;\n activeAlias = data.alias;\n sendHighlightBrickOutlines(\"active\", data.iid, data.alias);\n break;\n case \"hover-on-iframe\":\n handleHoverOnIframe(data.position);\n break;\n }\n } else\n switch (data.type) {\n case \"toggle-inspecting\":\n data.enabled ? startInspecting() : stopInspecting();\n break;\n case \"refresh\":\n if (data.options?.updateStoryboardType) {\n if (data.options.updateStoryboardType === \"route\") {\n __secret_internals.updateStoryboardByRoute(\n options.appId,\n data.storyboardPatch as RouteConf\n );\n } else if (data.options.updateStoryboardType === \"template\") {\n __secret_internals.updateStoryboardByTemplate(\n options.appId,\n data.storyboardPatch as CustomTemplate,\n data.options.settings\n );\n } else if (data.options.updateStoryboardType === \"snippet\") {\n __secret_internals.updateStoryboardBySnippet(\n options.appId,\n data.storyboardPatch as {\n snippetId: string;\n bricks: BrickConf[];\n }\n );\n } /* else if (data.options.updateStoryboardType === \"form\") {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch as FormDataProperties\n );\n } */\n\n const newContracts = await (\n __secret_internals as any\n ).getAddedContracts?.(data.storyboardPatch, {\n appId: options.appId,\n updateStoryboardType: data.options.updateStoryboardType,\n formId: options.formId,\n collectUsedContracts,\n });\n\n if (!isEmpty(newContracts)) {\n sendMessage<PreviewMessagePreviewContractUpdate>({\n type: \"contract-update\",\n data: {\n add: newContracts,\n },\n });\n } else {\n getHistory().reload();\n }\n\n break;\n }\n __secret_internals.updateStoryboard(\n options.appId,\n data.storyboardPatch\n );\n if (options.templateId) {\n lastTemplatePreviewSettings = data.settings;\n updateTemplatePreviewSettings();\n } /* else if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */ else if (data.options?.snippetData) {\n options.snippetData = data.options.snippetData;\n updateSnippetPreviewSettings();\n } else {\n getHistory().reload();\n }\n break;\n case \"reload\":\n location.reload();\n break;\n case \"back\":\n history.goBack();\n break;\n case \"forward\":\n history.goForward();\n break;\n case \"capture\":\n capture(data.maxWidth, data.maxHeight).then(\n (screenshot) => {\n sendMessage<PreviewMessagePreviewerCaptureOk>({\n type: \"capture-ok\",\n screenshot,\n });\n },\n () => {\n sendMessage<PreviewMessagePreviewerCaptureFailed>({\n type: \"capture-failed\",\n });\n }\n );\n break;\n case \"inspect-data-value\":\n handlePreviewData(data.name, data.option);\n break;\n case \"update-preview-url\": {\n // Remove origin first.\n const url = data.previewUrl.startsWith(window.origin)\n ? data.previewUrl.substring(window.origin.length)\n : data.previewUrl;\n // Then remove base path.\n const basePath = getBasePath();\n const to = url.startsWith(basePath)\n ? url.substring(basePath.length - 1)\n : url;\n getHistory().push(to);\n break;\n }\n case \"update-preview-route\": {\n options.routePath = data.routePath;\n options.routeExact = data.routeExact;\n syncRouteMatch();\n break;\n }\n /* case \"excute-proxy-method\": {\n const [ref, method, args = []] = data.proxyMethodArgs;\n try {\n const result = document.body.querySelector(ref)[method](...args);\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-success\",\n data: { method: method, res: result },\n });\n } catch (err) {\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-error\",\n data: { method: method, res: err.message },\n });\n }\n break;\n } */\n }\n }\n );\n\n window.addEventListener(\"scroll\", () => {\n sendMessage<PreviewMessagePreviewerScroll>({\n type: \"scroll\",\n scroll: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n\n let previewPageMatch = true;\n let currentLocation: NextLocation;\n const sendLocationChange = (loc: NextLocation): void => {\n sendMessage<PreviewMessagePreviewerUrlChange>({\n type: \"url-change\",\n url: location.origin + history.createHref(loc),\n });\n currentLocation = loc;\n syncRouteMatch();\n };\n\n function syncRouteMatch() {\n if (options.routePath) {\n const match = !!matchPath(currentLocation.pathname, {\n path: options.routePath,\n exact: options.routeExact,\n });\n sendMessage<PreviewMessagePreviewerRouteMatchChange>({\n type: \"route-match-change\",\n match,\n });\n\n // Re-update template preview settings once match route again (typically after login).\n if (options.templateId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateTemplatePreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n /* if (options.formId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\");\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild.childNodes.length === 0\n ) {\n updateFormPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n } */\n if (options.snippetData && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateSnippetPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n previewPageMatch = match;\n }\n }\n\n sendLocationChange(history.location);\n\n history.listen(sendLocationChange);\n\n if (options.templateId) {\n updateTemplatePreviewSettings();\n }\n\n /* if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */\n\n if (options.snippetData) {\n updateSnippetPreviewSettings();\n }\n\n function setupContentScroll() {\n const host = document.querySelector(\"eo-page-view\");\n const element = host?.shadowRoot?.querySelector(\".content\") ?? null;\n if (element !== contentScrollElement) {\n contentScrollElement?.removeEventListener(\"scroll\", onContentScroll);\n element?.addEventListener(\"scroll\", onContentScroll);\n contentScrollElement = element;\n contentScrollHost = host;\n }\n }\n\n function onContentScroll(this: Element) {\n sendMessage<PreviewMessagePreviewerContentScroll>({\n type: \"content-scroll\",\n scroll: {\n x: this.scrollLeft,\n y: this.scrollTop,\n },\n });\n }\n\n __secret_internals.addRealTimeDataInspectHook?.(\n ({ changeType, tplStateStoreId, detail }) => {\n sendMessage<PreviewMessagePreviewerRealTimeDataInspectChange>({\n type: \"real-time-data-inspect-change\",\n changeType,\n tplStateStoreId,\n detail:\n changeType === \"update\"\n ? {\n name: detail.name,\n annotation: getRealTimeDataAnnotation(detail.value),\n }\n : {\n data: Object.fromEntries(\n Object.entries(detail.data).map(([k, v]) => [\n k,\n getRealTimeDataAnnotation(v),\n ])\n ),\n },\n });\n }\n );\n\n let memoizedRootTplStateStoreId: string | undefined;\n\n function setupRealTimeDataInspect(force?: boolean) {\n const tplStateStoreId = options.templateId\n ? getRootTplStateStoreId()\n : undefined;\n if (memoizedRootTplStateStoreId !== tplStateStoreId || force) {\n memoizedRootTplStateStoreId = tplStateStoreId;\n __secret_internals.setRealTimeDataInspectRoot?.({\n tplStateStoreId,\n });\n }\n }\n\n window.addEventListener(\"route.render\", () => {\n setupRealTimeDataInspect(true);\n });\n\n setupContentScroll();\n setupRealTimeDataInspect(true);\n\n const mutationCallback = (): void => {\n setupContentScroll();\n setupRealTimeDataInspect();\n if (hoverIid) {\n sendHighlightBrickOutlines(\"hover\", hoverIid, hoverAlias);\n }\n if (activeIid) {\n sendHighlightBrickOutlines(\"active\", activeIid, activeAlias);\n }\n };\n const mutationObserver = new MutationObserver(\n throttle(mutationCallback, 100, { leading: false })\n );\n mutationObserver.observe(document.body, { subtree: true, childList: true });\n}\n\nfunction getBrickOutlines(iid: string, alias?: string): BrickOutline[] {\n if (!iid) {\n return [];\n }\n const isRoot = iid.includes(\"#\");\n const elements = document.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n const outlines = getOutlines(elements, alias);\n return isRoot\n ? outlines.map((item) => ({\n ...item,\n height: window.innerHeight - item.top,\n }))\n : outlines;\n}\n\nfunction getOutlines(\n elements: NodeListOf<HTMLElement>,\n alias?: string\n): BrickOutline[] {\n return [...elements].map((element) => {\n const hasContentScroll = contentScrollHost?.contains(element);\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left:\n left +\n window.scrollX +\n (hasContentScroll ? contentScrollElement.scrollLeft : 0),\n top:\n top +\n window.scrollY +\n (hasContentScroll ? contentScrollElement.scrollTop : 0),\n alias,\n hasContentScroll,\n };\n });\n}\n\nfunction getRootTplStateStoreId(): string | undefined {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n\n return (mainMountPoint?.firstChild as HTMLElement)?.dataset[\n isV2 ? \"tplContextId\" : \"tplStateStoreId\"\n ];\n}\n"],"names":["collectUsedContracts","storyboard","collection","nodeOrNodes","Set","traverse","node","type","_node$raw","useProvider","raw","add","collect","parseStoryboard","contracts","item","includes","push","customElements","define","createProviderClass","previewProxyOrigin","_capture","_asyncToGenerator","maxWidth","maxHeight","canvas","sourceCanvas","html2canvas","document","body","logging","scale","width","window","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","apply","arguments","onClick","event","iidList","preventDefault","stopPropagation","getPossibleBrickIidList","target","length","parent","postMessage","sender","onMouseEvent","hoverOnBrick","throttle","e","leading","onPointerDown","onPointerOver","onPointerLeave","onContextMenu","brick","position","x","clientX","y","clientY","cursor","dataset","iid","parentElement","getRealTimeDataAnnotation","value","Array","isArray","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","matchPathV2","_objectSpread","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","console","error","contentScrollElement","contentScrollHost","connect","_x","_x2","_connect","previewFromOrigin","options","_secret_internals$ad","_secret_internals","hoverIid","hoverAlias","activeIid","activeAlias","sendMessage","message","lastTemplatePreviewSettings","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_ref6","_ref5","_data$options","_data$options2","data","origin","forwardedFor","highlightNodes","flat","pos","element","elementFromPoint","tagName","isDirection","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","newContracts","getAddedContracts","call","formId","isEmpty","updateStoryboard","location","goBack","goForward","capture","then","screenshot","handlePreviewData","option","dataType","getRootTplStateStoreId","entries","_ref4","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","syncRouteMatch","_x3","scroll","scrollX","scrollY","currentLocation","memoizedRootTplStateStoreId","previewPageMatch","sendLocationChange","loc","createHref","listen","addRealTimeDataInspectHook","_ref8","changeType","detail","annotation","_ref9","setupRealTimeDataInspect","setupContentScroll","MutationObserver","mutationCallback","observe","subtree","childList","match","pathname","path","exact","mainMountPoint","querySelector","placeholderLoadObserver","childNodes","firstChild","disconnect","_host$shadowRoot$quer","_host$shadowRoot","_contentScrollElement","host","shadowRoot","onContentScroll","this","scrollLeft","scrollTop","force","_secret_internals$se","_secret_internals2","undefined","setRealTimeDataInspectRoot","isRoot","elements","_contentScrollHost","hasContentScroll","contains","left","top","getBoundingClientRect","getOutlines","querySelectorAll","concat","_mainMountPoint$first"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/2907.e5f746fc.js","mappings":"4LAgCO,SAASA,EAAqBC,GACnC,IAAMC,EArBR,SAAiBC,GACf,IAAMD,EAAa,IAAIE,IAgBvB,OAdAC,EAAAA,EAAAA,GAASF,GAAcG,IACrB,OAAQA,EAAKC,MACX,IAAK,aACL,IAAK,eAAgB,IAAAC,EACbC,EACI,QADOD,EACfF,EAAKI,WAAG,IAAAF,OAAA,EADUA,EAEjBC,YACCA,GACFP,EAAWS,IAAIF,GAGrB,IAGKP,CACT,CAGqBU,EAAQC,EAAAA,EAAAA,IAAgBZ,IAErCa,EAAY,GAElB,IAAK,IAAMC,KAAQb,EACba,EAAKC,SAAS,MAChBF,EAAUG,KAAKF,GAInB,OAAOD,CACT,CAEAI,eAAeC,OACb,yCACAC,EAAAA,EAAAA,qBAAoBpB,G,sCCvCXqB,E,0DCsBV,SAAAC,IAAA,OAAAA,GAAAC,EAAAA,EAAAA,IAfM,UACLC,EACAC,GAEA,IAhBqBC,EAgBfC,QAAqBC,IAAYC,SAASC,KAAM,CACpDC,SAAS,EACTC,MAAO,EACPC,MAAOC,OAAOC,WACdC,OAAQF,OAAOG,YACfC,wBAAwB,IAEpBC,EAAeV,SAASW,cAAc,UAG5C,OC9BK,SACLd,EACAa,EACAf,EACAC,GAEA,IAAMgB,EAAcjB,EAAWC,GACzB,MAAEQ,EAAK,OAAEG,GAAWV,EACpBgB,EAAQT,EAAQG,EAChBO,EAAQD,GAASD,EACjBG,EAAaD,EAAQnB,EAAWC,EAAYiB,EAC5CG,EAAcF,EAAQnB,EAAWkB,EAAQjB,EAC/Cc,EAAaN,MAAQW,EACrBL,EAAaH,OAASS,EAEVN,EAAaO,WAAW,MAChCC,UAAUrB,EAAQ,EAAG,EAAGO,EAAOG,EAAQ,EAAG,EAAGQ,EAAYC,GACtDN,EAAaS,WACtB,CDUEC,CAAiBtB,EAAcY,EAAcf,EAAUC,SAxBlCC,EAyBYa,EAxB1B,IAAIW,SAAQ,SAAUC,EAASC,GACpC1B,EAAO2B,QAAO,SAAUC,GAClBA,EACFH,EAAQG,GAERF,GAEJ,GACF,IAkBF,KAACG,MAAA,KAAAC,UAAA,CDgBD,SAASC,EAAQC,GAqFjB,IACQC,EArFND,EAAME,iBACNF,EAAMG,mBAoFAF,EAAUG,EAnFJJ,EAAMK,SAoFNC,OAAS,GACnB9B,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,eACNoD,WAEFtC,EA1FN,CAEA,SAAS+C,EAAaV,GACpBA,EAAME,iBACNF,EAAMG,iBACR,CAEA,IAAMQ,GAAeC,EAAAA,EAAAA,WAClBC,IACC,IACMZ,EAAUG,EADFS,EAAER,QAEZJ,EAAQK,OAAS,GACnB9B,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,iBACNoD,WAEFtC,EAEJ,GAEF,IACA,CAAEmD,SAAS,IAGb,SAASC,EAAcf,GACrBA,EAAME,iBACNF,EAAMG,kBACNQ,EAAaX,EACf,CAEA,SAASgB,EAAchB,GACrBA,EAAME,iBACNF,EAAMG,kBACNQ,EAAaX,EACf,CAEA,SAASiB,EAAejB,GACtBA,EAAME,iBACNF,EAAMG,kBACN3B,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,iBACNoD,QAAS,IAEXtC,EAEJ,CAEA,SAASuD,EAAclB,GASvB,IACEmB,EACAC,EAKMnB,EAfND,EAAME,iBACNF,EAAMG,kBAQNgB,EAPmBnB,EAAMK,OAQzBe,EARgD,CAC9CC,EAAGrB,EAAMsB,QACTC,EAAGvB,EAAMwB,UAWLvB,EAAUG,EAAwBe,IAC5Bb,OAAS,GACnB9B,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,wBACNoD,UACAmB,YAEFzD,EAlBN,CAqCO,SAASyC,EAAwBe,GAItC,IAHA,IAAMlB,EAAoB,GAEtBwB,EAA6BN,EAC1BM,GAC6B,iBAAvBA,EAAOC,QAAQC,KACxB1B,EAAQ1C,KAAKkE,EAAOC,QAAQC,KAE9BF,EAASA,EAAOG,cAElB,OAAO3B,CACT,C,aG7JO,SAAS4B,EAA0BC,GACxC,IAAMjF,SAAciF,EACpB,OAAQjF,GACN,IAAK,SACL,IAAK,UACL,IAAK,SACH,MAAO,CACLA,OACAiF,SAEJ,IAAK,YACH,MAAO,CAAEjF,QAEb,OAAc,OAAViF,EACK,CAAEjF,KAAM,QAEbkF,MAAMC,QAAQF,GACT,CAAEjF,KAAM,QAASyD,OAAQwB,EAAMxB,QAEjC,CAAEzD,KAAM,SACjB,CCuBA,IAAIoF,GAAY,EAYZC,EAAaC,EAAAA,WACbC,EAAYC,EAAAA,UACZC,EAAqBC,EAAAA,mBACrBC,GAAO,EAIX,IAAI,IAAAC,EACIC,EAAOlE,OAAoCkE,IACjD,GACEA,GAC0B,QADvBD,EACHjE,OAAOmE,2BAAmB,IAAAF,GAAqB,QAArBA,EAA1BA,EAA6B,0BAAkB,IAAAA,GAA/CA,EAAiDG,WAAW,MAC5D,CACA,IAAQV,WAAYW,EAAcC,cAAeC,GAC/CL,EAAI,SACEN,UAAWY,GAAgBN,EAAI,QACvCR,EAAaW,EACbT,EAAYY,EAGZV,GAAkBW,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACbF,GAAe,IAClBG,gBAAgBC,EAAIC,GAAuB,IAArB,gBAAEC,GAAiBD,EACvC,OAAOL,EAAgBG,gBAAgBC,EAAM,CAC3CG,aAAcD,GAElB,EACAE,oBAAmBC,GAAsB,IAArB,gBAAEH,GAAiBG,EAG/BC,EAAQV,EAAgBQ,oBAAoB,CAChDD,aAAcD,IAEhB,OAAOK,OAAOC,YACZ,IAAIF,GAAOG,KAAIC,IAAA,IAAEC,EAAGC,GAAEF,EAAA,MAAK,CAACC,EAAIC,EAAUjC,MAAM,IAEpD,IAEFU,GAAO,CACT,CACF,CAAE,MAAO3B,GAEPmD,QAAQC,MAAM,qCAAsCpD,EACtD,CAEA,IAAIqD,EAAuC,KACvCC,EAAoC,KAEzB,SAAeC,EAAOC,EAAAC,GAAA,OAAAC,EAAA1E,MAAC,KAADC,UAAA,CA8gBpC,SAAAyE,IAAA,OAAAA,GAAA1G,EAAAA,EAAAA,IA9gBc,UACb2G,EACAC,GACA,IAAAC,EAAAC,EACA,IAAI1C,EAAJ,CAGAA,GAAY,EAEZ,IAeI2C,EACAC,EACAC,EACAC,EAlBEC,EACJC,IAEAzG,OAAO+B,OAAOC,aAAWyC,EAAAA,EAAAA,GAAC,CAEtBxC,OAAQ,aACLwE,GAELT,EACD,EAGHQ,EAAY,CAAEnI,KAAM,oBJhHpBc,EIiHqB6G,EAOrB,IA0DIU,EAzBEC,EAA6BA,CACjCtI,EACA8E,EACAyD,KAEA,IAAMC,EAAWC,EAAiB3D,GAClCqD,EAAmD,CACjDnI,KAAM,kBACN0I,cAAe1I,EACfwI,WACA1D,IAAKA,EACLyD,MAAOA,GACP,EAcAX,EAAQe,aACVN,EAA8BT,EAAQgB,UAGxC,IAAMC,EAAgCA,KACpCpD,EAAmBoD,8BACjBjB,EAAQkB,MACRlB,EAAQe,WACRN,GAEFhD,IAAa0D,QAAQ,EAGjBC,EAA+BA,KACnCvD,EAAmBuD,6BACjBpB,EAAQkB,MACRG,KAAKC,MAAMtB,EAAQuB,cAErB9D,IAAa0D,QAAQ,EAoEjBK,EAAU/D,IAEhB1D,OAAO0H,iBACL,UAAS,eAAAC,GAAAtI,EAAAA,EAAAA,IACT,UAAAuI,GAAqE,IAAAC,EAAAC,EApG/DjB,GAoGC,KAAEkB,EAAI,OAAEC,GAAiDJ,EAC9D,GACEI,IAAWhC,GACV+B,GACe,sBAAhBA,EAAK9F,OAIP,GAA0B,YAAtB8F,EAAKE,aACP,OAAQF,EAAK1J,MACX,IAAK,iBACH+H,EAAW2B,EAAK5E,IAChBkD,EAAa0B,EAAKnB,MAClBD,EAA2B,QAASoB,EAAK5E,IAAK4E,EAAKnB,OACnD,MACF,IAAK,gBACHD,EAA2B,QAAS,oBAAqB,QACzD,MACF,IAAK,mBAtHLE,EAuH8BkB,EAAKG,eAtHtC9C,KAAKhH,GAAS0I,EAAiB1I,EAAK+E,IAAK/E,EAAKwI,SAC9CuB,OACH3B,EAAqD,CACnDnI,KAAM,oBACNwI,aAmHM,MACF,IAAK,eACHP,EAAYyB,EAAK5E,IACjBoD,EAAcwB,EAAKnB,MACnBD,EAA2B,SAAUoB,EAAK5E,IAAK4E,EAAKnB,OACpD,MACF,IAAK,kBA/KgBwB,KAC3B,IAAMC,EAAU1I,SAAS2I,iBAAiBF,EAAIvF,EAAGuF,EAAIrF,GACrD,GAAyB,UAArBsF,aAAO,EAAPA,EAASE,SACXvI,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,gBACNmK,aAAa,EACb5F,SAAU,CACRC,EAAGuF,EAAIvF,EACPE,EAAGqF,EAAIrF,IAGX5D,OAEG,CACL,IAAMsC,EAAUG,EAAwByG,GACxCrI,OAAO+B,OAAOC,YACZ,CACEC,OAAQ,YACR5D,KAAM,iBACNoD,UACA+G,aAAa,EACb5F,SAAU,CACRC,EAAGuF,EAAIvF,EACPE,EAAGqF,EAAIrF,IAGX5D,EAEJ,GAkJQsJ,CAAoBV,EAAKnF,eAI7B,OAAQmF,EAAK1J,MACX,IAAK,oBACH0J,EAAKW,SJlSf1I,OAAO0H,iBAAiB,QAASnG,GAAS,GAC1CvB,OAAO0H,iBAAiB,YAAaxF,GAAc,GACnDlC,OAAO0H,iBAAiB,YAAaxF,GAAc,GACnDlC,OAAO0H,iBAAiB,UAAWxF,GAAc,GACjDlC,OAAO0H,iBAAiB,cAAenF,GAAe,GACtDvC,OAAO0H,iBAAiB,cAAelF,GAAe,GACtDxC,OAAO0H,iBAAiB,YAAaxF,GAAc,GACnDlC,OAAO0H,iBAAiB,eAAgBjF,GAAgB,GACxDzC,OAAO0H,iBAAiB,cAAehF,GAAe,KAItD1C,OAAO2I,oBAAoB,QAASpH,GAAS,GAC7CvB,OAAO2I,oBAAoB,YAAazG,GAAc,GACtDlC,OAAO2I,oBAAoB,YAAazG,GAAc,GACtDlC,OAAO2I,oBAAoB,UAAWzG,GAAc,GACpDlC,OAAO2I,oBAAoB,cAAepG,GAAe,GACzDvC,OAAO2I,oBAAoB,cAAenG,GAAe,GACzDxC,OAAO2I,oBAAoB,YAAazG,GAAc,GACtDlC,OAAO2I,oBAAoB,eAAgBlG,GAAgB,GAC3DzC,OAAO2I,oBAAoB,cAAejG,GAAe,II+Q/C,MACF,IAAK,UACH,GAAgB,QAAhBmF,EAAIE,EAAK9B,eAAO,IAAA4B,GAAZA,EAAce,qBAAsB,KAAAC,EAAAC,EACI,UAAtCf,EAAK9B,QAAQ2C,qBACf9E,EAAmBiF,wBACjB9C,EAAQkB,MACRY,EAAKiB,iBAEwC,aAAtCjB,EAAK9B,QAAQ2C,qBACtB9E,EAAmBmF,2BACjBhD,EAAQkB,MACRY,EAAKiB,gBACLjB,EAAK9B,QAAQgB,UAEgC,YAAtCc,EAAK9B,QAAQ2C,sBACtB9E,EAAmBoF,0BACjBjD,EAAQkB,MACRY,EAAKiB,iBAaT,IAAMG,QAEa,QAFDN,GAASC,EACzBhF,GACAsF,yBAAiB,IAAAP,OAAA,EAFQA,EAAAQ,KAAAP,EAELf,EAAKiB,gBAAiB,CAC1C7B,MAAOlB,EAAQkB,MACfyB,qBAAsBb,EAAK9B,QAAQ2C,qBACnCU,OAAQrD,EAAQqD,OAChBxL,qBAAoBA,EAAAA,KAGjByL,EAAAA,EAAAA,SAAQJ,GAQXzF,IAAa0D,SAPbZ,EAAiD,CAC/CnI,KAAM,kBACN0J,KAAM,CACJtJ,IAAK0K,KAOX,KACF,CACArF,EAAmB0F,iBACjBvD,EAAQkB,MACRY,EAAKiB,iBAEH/C,EAAQe,YACVN,EAA8BqB,EAAKd,SACnCC,KAGwB,QAAhBY,EAAIC,EAAK9B,eAAO,IAAA6B,GAAZA,EAAcN,aAC1BvB,EAAQuB,YAAcO,EAAK9B,QAAQuB,YACnCH,KAEA3D,IAAa0D,SAEf,MACF,IAAK,SACHqC,SAASrC,SACT,MACF,IAAK,OACHK,EAAQiC,SACR,MACF,IAAK,UACHjC,EAAQkC,YACR,MACF,IAAK,WHxXR,SAAsB9D,EAAAC,GAAA,OAAA1G,EAAAiC,MAAC,KAADC,UAAA,EGyXjBsI,CAAQ7B,EAAKzI,SAAUyI,EAAKxI,WAAWsK,MACpCC,IACCtD,EAA8C,CAC5CnI,KAAM,aACNyL,cACA,IAEJ,KACEtD,EAAkD,CAChDnI,KAAM,kBACN,IAGN,MACF,IAAK,qBA1La0L,EAACpF,EAAcqF,KACvC,IACE,IACInF,EAoBAvB,EAAOjF,GArBL,SAAE4L,GAAaD,EAGrB,GAAiB,UAAbC,KACFpF,EAAkBqF,KAahB,YAVA1D,EAAiD,CAC/CnI,KAAM,2BACN0J,KAAM,CACJtC,MAAO,CACLgB,QACE,+DAUZ,GAAI9B,EACFtG,EAAO,oCACPiF,EAAQQ,EAAmBY,gBAAgBC,EAAM,CAC/CE,wBAEG,CACLxG,EAAO,kCACP,IAAM0J,EAAOjE,EAAmBiB,oBAAoB,CAClDF,oBAEFvB,EAAQ4B,OAAOiF,QAAQpC,GAAM3C,KAAIgF,IAAA,IAAEzF,EAAMrB,GAAM8G,EAAA,MAAM,CAAEzF,OAAMrB,QAAO,GACtE,CAEAkD,EAAmD,CACjDnI,OACA0J,KAAM,CACJpD,OACArB,UAKN,CAAE,MAAOmC,GACPe,EAAiD,CAC/CnI,KAAM,2BACN0J,KAAM,CACJtB,QAAUhB,EAAgBgB,UAGhC,GAsIQsD,CAAkBhC,EAAKpD,KAAMoD,EAAKiC,QAClC,MACF,IAAK,qBAEH,IAAMK,EAAMtC,EAAKuC,WAAWlG,WAAWpE,OAAOgI,QAC1CD,EAAKuC,WAAWC,UAAUvK,OAAOgI,OAAOlG,QACxCiG,EAAKuC,WAEHE,GAAWC,EAAAA,EAAAA,eACXC,EAAKL,EAAIjG,WAAWoG,GACtBH,EAAIE,UAAUC,EAAS1I,OAAS,GAChCuI,EACJ3G,IAAa3E,KAAK2L,GAClB,MAEF,IAAK,uBACHzE,EAAQ0E,UAAY5C,EAAK4C,UACzB1E,EAAQ2E,WAAa7C,EAAK6C,WAC1BC,IAsBR,IAAC,gBAAAC,GAAA,OAAAnD,EAAAtG,MAAA,KAAAC,UAAA,EAxKQ,IA2KXtB,OAAO0H,iBAAiB,UAAU,KAChClB,EAA2C,CACzCnI,KAAM,SACN0M,OAAQ,CACNlI,EAAG7C,OAAOgL,QACVjI,EAAG/C,OAAOiL,UAEZ,IAGJ,IACIC,EAoIAC,EArIAC,GAAmB,EAEjBC,EAAsBC,IAC1B9E,EAA8C,CAC5CnI,KAAM,aACNgM,IAAKZ,SAASzB,OAASP,EAAQ8D,WAAWD,KAE5CJ,EAAkBI,EAClBT,GAAgB,EAgElBQ,EAAmB5D,EAAQgC,UAE3BhC,EAAQ+D,OAAOH,GAEXpF,EAAQe,YACVE,IAOEjB,EAAQuB,aACVH,IAwB2C,QAA7CnB,GAAAC,EAAArC,GAAmB2H,kCAA0B,IAAAvF,GAA7CA,EAAAmD,KAAAlD,GACEuF,IAA6C,IAA5C,WAAEC,EAAU,gBAAE9G,EAAe,OAAE+G,GAAQF,EACtClF,EAA8D,CAC5DnI,KAAM,gCACNsN,aACA9G,kBACA+G,OACiB,WAAfD,EACI,CACEhH,KAAMiH,EAAOjH,KACbkH,WAAYxI,EAA0BuI,EAAOtI,QAE/C,CACEyE,KAAM7C,OAAOC,YACXD,OAAOiF,QAAQyB,EAAO7D,MAAM3C,KAAI0G,IAAA,IAAExG,EAAGC,GAAEuG,EAAA,MAAK,CAC1CxG,EACAjC,EAA0BkC,GAC3B,OAGX,IAkBNvF,OAAO0H,iBAAiB,gBAAgB,KACtCqE,GAAyB,EAAK,IAGhCC,IACAD,GAAyB,GAYA,IAAIE,kBAC3B7J,EAAAA,EAAAA,WAXuB8J,KACvBF,IACAD,IACI3F,GACFO,EAA2B,QAASP,EAAUC,GAE5CC,GACFK,EAA2B,SAAUL,EAAWC,EAClD,GAG2B,IAAK,CAAEjE,SAAS,KAE5B6J,QAAQxM,SAASC,KAAM,CAAEwM,SAAS,EAAMC,WAAW,GAvgBpE,CA2WA,SAASxB,IACP,GAAI5E,EAAQ0E,UAAW,CACrB,IAAM2B,IAAU1I,EAAUsH,EAAgBqB,SAAU,CAClDC,KAAMvG,EAAQ0E,UACd8B,MAAOxG,EAAQ2E,aAQjB,GANApE,EAAqD,CACnDnI,KAAM,qBACNiO,UAIErG,EAAQe,aAAeoE,GAAoBkB,EAAO,CACpD,IAAMI,EAAiB/M,SAASgN,cAAc,qBACxCC,EAA0B,IAAIX,kBAAiB,KAGZ,IAArCS,EAAeG,WAAW/K,QAC6B,SAAtD4K,EAAeI,WAA2BvE,SACM,IAAjDmE,EAAeI,WAAYD,WAAW/K,SAEtCoF,IACA0F,EAAwBG,aAC1B,IAEFH,EAAwBT,QAAQO,EAAgB,CAAEL,WAAW,GAC/D,CAgBA,GAAIpG,EAAQuB,cAAgB4D,GAAoBkB,EAAO,CACrD,IAAMI,EAAiB/M,SAASgN,cAAc,qBACxCC,EAA0B,IAAIX,kBAAiB,KAGZ,IAArCS,EAAeG,WAAW/K,QAC6B,SAAtD4K,EAAeI,WAA2BvE,SACM,IAAjDmE,EAAeI,WAAYD,WAAW/K,SAEtCuF,IACAuF,EAAwBG,aAC1B,IAEFH,EAAwBT,QAAQO,EAAgB,CAAEL,WAAW,GAC/D,CACAjB,EAAmBkB,CACrB,CACF,CAkBA,SAASN,IAAqB,IAAAgB,EAAAC,EAGUC,EAFhCC,EAAOxN,SAASgN,cAAc,gBAC9BtE,EAAqD,QAA9C2E,EAAGG,SAAgB,QAAZF,EAAJE,EAAMC,kBAAU,IAAAH,OAAA,EAAhBA,EAAkBN,cAAc,mBAAW,IAAAK,EAAAA,EAAI,KAC3D3E,IAAY3C,IACM,QAApBwH,EAAAxH,SAAoB,IAAAwH,GAApBA,EAAsBvE,oBAAoB,SAAU0E,GACpDhF,SAAAA,EAASX,iBAAiB,SAAU2F,GACpC3H,EAAuB2C,EACvB1C,EAAoBwH,EAExB,CAEA,SAASE,IACP7G,EAAkD,CAChDnI,KAAM,iBACN0M,OAAQ,CACNlI,EAAGyK,KAAKC,WACRxK,EAAGuK,KAAKE,YAGd,CA4BA,SAASzB,EAAyB0B,GAChC,IAG8DC,EAAAC,EAHxD9I,EAAkBoB,EAAQe,WAC5BkD,SACA0D,GACAzC,IAAgCtG,GAAmB4I,KACrDtC,EAA8BtG,EACe,QAA7C6I,GAAAC,EAAA7J,GAAmB+J,kCAA0B,IAAAH,GAA7CA,EAAArE,KAAAsE,EAAgD,CAC9C9I,oBAGN,CAuBF,IAACkB,EAAA1E,MAAA,KAAAC,UAAA,CAED,SAASwF,EAAiB3D,EAAayD,GACrC,IAAKzD,EACH,MAAO,GAET,IAAM2K,EAAS3K,EAAIrE,SAAS,KAItB+H,EASR,SACEkH,EACAnH,GAEA,MAAO,IAAImH,GAAU3I,KAAKiD,IAAY,IAAA2F,EAC9BC,EAAoC,QAApBD,EAAGrI,SAAiB,IAAAqI,OAAA,EAAjBA,EAAmBE,SAAS7F,IAC/C,MAAEtI,EAAK,OAAEG,EAAM,KAAEiO,EAAI,IAAEC,GAAQ/F,EAAQgG,wBAC7C,MAAO,CACLtO,QACAG,SACAiO,KACEA,EACAnO,OAAOgL,SACNiD,EAAmBvI,EAAqB6H,WAAa,GACxDa,IACEA,EACApO,OAAOiL,SACNgD,EAAmBvI,EAAqB8H,UAAY,GACvD5G,QACAqH,mBACD,GAEL,CA/BmBK,CAHA3O,SAAS4O,iBACxBT,EAAS3K,EAAM,cAAHqL,OAAiBrL,EAAG,OAEKyD,GACvC,OAAOkH,EACHjH,EAASzB,KAAKvG,IAAI4F,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACb5F,GAAI,IACPqB,OAAQF,OAAOG,YAActB,EAAKuP,QAEpCvH,CACN,CA0BA,SAASqD,IAA6C,IAAAuE,EAC9C/B,EAAiB/M,SAASgN,cAAc,qBAE9C,OAAQD,SAA0B,QAAZ+B,EAAd/B,EAAgBI,kBAAU,IAAA2B,OAAA,EAA3BA,EAA6CvL,QAClDc,EAAO,eAAiB,kBAE5B,C","sources":["webpack:///./src/data-providers/collect-used-contracts.ts","webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.ts","webpack:///./src/data-providers/preview/realTimeDataInspect.ts","webpack:///./src/data-providers/preview/connect.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\nimport {\n type StoryboardNode,\n parseStoryboard,\n traverse,\n} from \"@next-core/storyboard\";\nimport {\n Storyboard,\n UseProviderResolveConf,\n UseProviderEventHandler,\n} from \"@next-core/types\";\n\nfunction collect(nodeOrNodes: StoryboardNode | StoryboardNode[]): Set<string> {\n const collection = new Set<string>();\n\n traverse(nodeOrNodes, (node) => {\n switch (node.type) {\n case \"Resolvable\":\n case \"EventHandler\": {\n const useProvider = (\n node.raw as UseProviderResolveConf | UseProviderEventHandler\n )?.useProvider;\n if (useProvider) {\n collection.add(useProvider);\n }\n }\n }\n });\n\n return collection;\n}\n\nexport function collectUsedContracts(storyboard: Storyboard): string[] {\n const collection = collect(parseStoryboard(storyboard as any));\n\n const contracts = [];\n\n for (const item of collection) {\n if (item.includes(\"@\")) {\n contracts.push(item);\n }\n }\n\n return contracts;\n}\n\ncustomElements.define(\n \"visual-builder.collect-used-contracts\",\n createProviderClass(collectUsedContracts)\n);\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { throttle } from \"lodash\";\nimport type {\n PreviewMessagePreviewerHoverOnBrick,\n PreviewMessagePreviewerSelectBrick,\n PreviewMessagePreviewerContextMenuOnBrick,\n} from \"./interfaces.js\";\n\nexport let previewProxyOrigin: string;\n\nexport function setPreviewFromOrigin(origin: string): void {\n previewProxyOrigin = origin;\n}\n\nexport function startInspecting(): void {\n registerListeners();\n}\n\nexport function stopInspecting(): void {\n unregisterListeners();\n}\n\nfunction registerListeners(): void {\n window.addEventListener(\"click\", onClick, true);\n window.addEventListener(\"mousedown\", onMouseEvent, true);\n window.addEventListener(\"mouseover\", onMouseEvent, true);\n window.addEventListener(\"mouseup\", onMouseEvent, true);\n window.addEventListener(\"pointerdown\", onPointerDown, true);\n window.addEventListener(\"pointerover\", onPointerOver, true);\n window.addEventListener(\"pointerup\", onMouseEvent, true);\n window.addEventListener(\"pointerleave\", onPointerLeave, true);\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction unregisterListeners(): void {\n window.removeEventListener(\"click\", onClick, true);\n window.removeEventListener(\"mousedown\", onMouseEvent, true);\n window.removeEventListener(\"mouseover\", onMouseEvent, true);\n window.removeEventListener(\"mouseup\", onMouseEvent, true);\n window.removeEventListener(\"pointerdown\", onPointerDown, true);\n window.removeEventListener(\"pointerover\", onPointerOver, true);\n window.removeEventListener(\"pointerup\", onMouseEvent, true);\n window.removeEventListener(\"pointerleave\", onPointerLeave, true);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectBrick(event.target as HTMLElement);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (e: MouseEvent) => {\n const brick = e.target as HTMLElement;\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n }\n },\n 100,\n { leading: false }\n);\n\nfunction onPointerDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerOver(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList: [],\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n}\n\nfunction onContextMenu(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n contextMenuOnBrick(event.target as HTMLElement, {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n brick: HTMLElement,\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"context-menu-on-brick\",\n iidList,\n position,\n } as PreviewMessagePreviewerContextMenuOnBrick,\n previewProxyOrigin\n );\n }\n}\n\nfunction selectBrick(brick: HTMLElement): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"select-brick\",\n iidList,\n } as PreviewMessagePreviewerSelectBrick,\n previewProxyOrigin\n );\n }\n}\n\nexport function getPossibleBrickIidList(brick: HTMLElement): string[] {\n const iidList: string[] = [];\n // Traverse from bottom to up, to find bricks current hover on.\n let cursor: HTMLElement | null = brick;\n while (cursor) {\n if (typeof cursor.dataset.iid === \"string\") {\n iidList.push(cursor.dataset.iid);\n }\n cursor = cursor.parentElement;\n }\n return iidList;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport html2canvas from \"html2canvas\";\nimport { resizeScreenshot } from \"./resizeScreenshot.js\";\n\nfunction getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport async function capture(\n maxWidth: number,\n maxHeight: number\n): Promise<Blob> {\n const sourceCanvas = await html2canvas(document.body, {\n logging: false,\n scale: 1,\n width: window.innerWidth,\n height: window.innerHeight,\n foreignObjectRendering: true,\n });\n const targetCanvas = document.createElement(\"canvas\");\n resizeScreenshot(sourceCanvas, targetCanvas, maxWidth, maxHeight);\n const blob = await getCanvasBlob(targetCanvas);\n return blob;\n}\n","export function resizeScreenshot(\n canvas: HTMLCanvasElement,\n targetCanvas: HTMLCanvasElement,\n maxWidth: number,\n maxHeight: number\n): string {\n const targetRatio = maxWidth / maxHeight;\n const { width, height } = canvas;\n const ratio = width / height;\n const wider = ratio >= targetRatio;\n const finalWidth = wider ? maxWidth : maxHeight * ratio;\n const finalHeight = wider ? maxWidth / ratio : maxHeight;\n targetCanvas.width = finalWidth;\n targetCanvas.height = finalHeight;\n\n const ctx = targetCanvas.getContext(\"2d\")!;\n ctx.drawImage(canvas, 0, 0, width, height, 0, 0, finalWidth, finalHeight);\n return targetCanvas.toDataURL();\n}\n","export function getRealTimeDataAnnotation(value: unknown) {\n const type = typeof value;\n switch (type) {\n case \"string\":\n case \"boolean\":\n case \"number\":\n return {\n type,\n value,\n };\n case \"undefined\":\n return { type };\n }\n if (value === null) {\n return { type: \"null\" };\n }\n if (Array.isArray(value)) {\n return { type: \"array\", length: value.length };\n }\n return { type: \"object\" };\n}\n","import {\n getHistory as _getHistory,\n getBasePath,\n matchPath as _matchPath,\n __secret_internals as _internals,\n type NextLocation,\n} from \"@next-core/runtime\";\nimport type { BrickConf, CustomTemplate, RouteConf } from \"@next-core/types\";\nimport { isEmpty, throttle } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewerCaptureFailed,\n PreviewMessagePreviewerCaptureOk,\n PreviewMessagePreviewerContentScroll,\n PreviewMessagePreviewerHighlightBrick,\n PreviewMessagePreviewerHighlightContext,\n PreviewMessagePreviewerHoverOnMain,\n PreviewMessagePreviewerRealTimeDataInspectChange,\n PreviewMessagePreviewerRouteMatchChange,\n PreviewMessagePreviewerScroll,\n PreviewMessagePreviewerUrlChange,\n PreviewMessageToPreviewer,\n PreviewSettings,\n PreviewStartOptions,\n} from \"./interfaces.js\";\nimport { capture } from \"./capture.js\";\nimport {\n previewProxyOrigin,\n getPossibleBrickIidList,\n setPreviewFromOrigin,\n startInspecting,\n stopInspecting,\n} from \"./inspector.js\";\nimport { collectUsedContracts } from \"../collect-used-contracts.js\";\nimport { getRealTimeDataAnnotation } from \"./realTimeDataInspect.js\";\n\nlet connected = false;\n\ninterface DLL {\n (moduleId: \"tYg3\"): {\n getHistory: typeof _getHistory;\n developHelper: typeof _internals;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet isV2 = false;\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\ntry {\n const dll = (window as unknown as { dll?: DLL }).dll;\n if (\n dll &&\n window.BRICK_NEXT_VERSIONS?.[\"brick-container\"]?.startsWith(\"2.\")\n ) {\n const { getHistory: getHistoryV2, developHelper: developHelperV2 } =\n dll(\"tYg3\");\n const { matchPath: matchPathV2 } = dll(\"A+yw\");\n getHistory = getHistoryV2;\n matchPath = matchPathV2;\n // The `__secret_internals` of v3 has pretty the same API as\n // `developHelper` of v2, especially those for preview usage.\n __secret_internals = {\n ...developHelperV2,\n getContextValue(name, { tplStateStoreId }) {\n return developHelperV2.getContextValue(name, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n getAllContextValues({ tplStateStoreId }) {\n // V3 returns an object of key-value.\n // While v2 returns a map of ContextItem.\n const v2Map = developHelperV2.getAllContextValues({\n tplContextId: tplStateStoreId,\n } as any) as unknown as Map<string, { value: unknown }>;\n return Object.fromEntries(\n [...v2Map].map(([k, v]) => [k, (v as any).value])\n );\n },\n };\n isV2 = true;\n }\n} catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Try to use v2 runtime APIs failed:\", e);\n}\n\nlet contentScrollElement: Element | null = null;\nlet contentScrollHost: Element | null = null;\n\nexport default async function connect(\n previewFromOrigin: string,\n options: PreviewStartOptions\n) {\n if (connected) {\n return;\n }\n connected = true;\n\n const sendMessage = <T extends PreviewMessageFromPreviewer>(\n message: Omit<T, \"sender\">\n ): void => {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n ...message,\n },\n previewFromOrigin\n );\n };\n\n sendMessage({ type: \"preview-started\" });\n setPreviewFromOrigin(previewFromOrigin);\n\n let hoverIid: string;\n let hoverAlias: string;\n let activeIid: string;\n let activeAlias: string;\n\n const handleHoverOnIframe = (pos: Position): void => {\n const element = document.elementFromPoint(pos.x, pos.y);\n if (element?.tagName === \"BODY\") {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-main\",\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n } as PreviewMessagePreviewerHoverOnMain,\n previewProxyOrigin\n );\n } else {\n const iidList = getPossibleBrickIidList(element as HTMLElement);\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n },\n previewProxyOrigin\n );\n }\n };\n\n const sendHighlightBrickOutlines = (\n type: \"hover\" | \"active\",\n iid: string,\n alias: string\n ): void => {\n const outlines = getBrickOutlines(iid);\n sendMessage<PreviewMessagePreviewerHighlightBrick>({\n type: \"highlight-brick\",\n highlightType: type,\n outlines,\n iid: iid,\n alias: alias,\n });\n };\n\n const sendHighlightBricksOutlines = (nodes: HighLightNode[]): void => {\n const outlines = nodes\n .map((node) => getBrickOutlines(node.iid, node.alias))\n .flat();\n sendMessage<PreviewMessagePreviewerHighlightContext>({\n type: \"highlight-context\",\n outlines,\n });\n };\n\n let lastTemplatePreviewSettings: PreviewSettings | undefined;\n if (options.templateId) {\n lastTemplatePreviewSettings = options.settings;\n }\n\n const updateTemplatePreviewSettings = (): void => {\n __secret_internals.updateTemplatePreviewSettings(\n options.appId,\n options.templateId!,\n lastTemplatePreviewSettings\n );\n getHistory().reload();\n };\n\n const updateSnippetPreviewSettings = (): void => {\n __secret_internals.updateSnippetPreviewSettings(\n options.appId,\n JSON.parse(options.snippetData)\n );\n getHistory().reload();\n };\n\n /* const updateFormPreviewSettings = (): void => {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n options.formData\n );\n getHistory().reload();\n }; */\n\n const handlePreviewData = (name: string, option: PreviewDataOption): void => {\n try {\n const { dataType } = option;\n let tplStateStoreId;\n\n if (dataType === \"state\") {\n tplStateStoreId = getRootTplStateStoreId();\n\n if (!tplStateStoreId) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n error: {\n message:\n \"tplStateStoreId not found, unable to preview STATE value\",\n },\n },\n });\n\n return;\n }\n }\n\n let value, type: PreviewMessagePreviewDataValueSuccess[\"type\"];\n if (name) {\n type = \"inspect-single-data-value-success\";\n value = __secret_internals.getContextValue(name, {\n tplStateStoreId,\n });\n } else {\n type = \"inspect-all-data-values-success\";\n const data = __secret_internals.getAllContextValues({\n tplStateStoreId,\n });\n value = Object.entries(data).map(([name, value]) => ({ name, value }));\n }\n\n sendMessage<PreviewMessagePreviewDataValueSuccess>({\n type,\n data: {\n name,\n value,\n },\n });\n\n // istanbul ignore next\n } catch (error) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n message: (error as Error).message,\n },\n });\n }\n };\n\n const history = getHistory();\n\n window.addEventListener(\n \"message\",\n async ({ data, origin }: MessageEvent<PreviewMessageToPreviewer>) => {\n if (\n origin !== previewFromOrigin ||\n !data ||\n data.sender !== \"preview-container\"\n ) {\n return;\n }\n if (data.forwardedFor === \"builder\") {\n switch (data.type) {\n case \"hover-on-brick\":\n hoverIid = data.iid;\n hoverAlias = data.alias;\n sendHighlightBrickOutlines(\"hover\", data.iid, data.alias);\n break;\n case \"hover-on-main\":\n sendHighlightBrickOutlines(\"hover\", \"#main-mount-point\", \"root\");\n break;\n case \"hover-on-context\":\n sendHighlightBricksOutlines(data.highlightNodes);\n break;\n case \"select-brick\":\n activeIid = data.iid;\n activeAlias = data.alias;\n sendHighlightBrickOutlines(\"active\", data.iid, data.alias);\n break;\n case \"hover-on-iframe\":\n handleHoverOnIframe(data.position);\n break;\n }\n } else\n switch (data.type) {\n case \"toggle-inspecting\":\n data.enabled ? startInspecting() : stopInspecting();\n break;\n case \"refresh\":\n if (data.options?.updateStoryboardType) {\n if (data.options.updateStoryboardType === \"route\") {\n __secret_internals.updateStoryboardByRoute(\n options.appId,\n data.storyboardPatch as RouteConf\n );\n } else if (data.options.updateStoryboardType === \"template\") {\n __secret_internals.updateStoryboardByTemplate(\n options.appId,\n data.storyboardPatch as CustomTemplate,\n data.options.settings\n );\n } else if (data.options.updateStoryboardType === \"snippet\") {\n __secret_internals.updateStoryboardBySnippet(\n options.appId,\n data.storyboardPatch as {\n snippetId: string;\n bricks: BrickConf[];\n }\n );\n } /* else if (data.options.updateStoryboardType === \"form\") {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch as FormDataProperties\n );\n } */\n\n const newContracts = await (\n __secret_internals as any\n ).getAddedContracts?.(data.storyboardPatch, {\n appId: options.appId,\n updateStoryboardType: data.options.updateStoryboardType,\n formId: options.formId,\n collectUsedContracts,\n });\n\n if (!isEmpty(newContracts)) {\n sendMessage<PreviewMessagePreviewContractUpdate>({\n type: \"contract-update\",\n data: {\n add: newContracts,\n },\n });\n } else {\n getHistory().reload();\n }\n\n break;\n }\n __secret_internals.updateStoryboard(\n options.appId,\n data.storyboardPatch\n );\n if (options.templateId) {\n lastTemplatePreviewSettings = data.settings;\n updateTemplatePreviewSettings();\n } /* else if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */ else if (data.options?.snippetData) {\n options.snippetData = data.options.snippetData;\n updateSnippetPreviewSettings();\n } else {\n getHistory().reload();\n }\n break;\n case \"reload\":\n location.reload();\n break;\n case \"back\":\n history.goBack();\n break;\n case \"forward\":\n history.goForward();\n break;\n case \"capture\":\n capture(data.maxWidth, data.maxHeight).then(\n (screenshot) => {\n sendMessage<PreviewMessagePreviewerCaptureOk>({\n type: \"capture-ok\",\n screenshot,\n });\n },\n () => {\n sendMessage<PreviewMessagePreviewerCaptureFailed>({\n type: \"capture-failed\",\n });\n }\n );\n break;\n case \"inspect-data-value\":\n handlePreviewData(data.name, data.option);\n break;\n case \"update-preview-url\": {\n // Remove origin first.\n const url = data.previewUrl.startsWith(window.origin)\n ? data.previewUrl.substring(window.origin.length)\n : data.previewUrl;\n // Then remove base path.\n const basePath = getBasePath();\n const to = url.startsWith(basePath)\n ? url.substring(basePath.length - 1)\n : url;\n getHistory().push(to);\n break;\n }\n case \"update-preview-route\": {\n options.routePath = data.routePath;\n options.routeExact = data.routeExact;\n syncRouteMatch();\n break;\n }\n /* case \"excute-proxy-method\": {\n const [ref, method, args = []] = data.proxyMethodArgs;\n try {\n const result = document.body.querySelector(ref)[method](...args);\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-success\",\n data: { method: method, res: result },\n });\n } catch (err) {\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-error\",\n data: { method: method, res: err.message },\n });\n }\n break;\n } */\n }\n }\n );\n\n window.addEventListener(\"scroll\", () => {\n sendMessage<PreviewMessagePreviewerScroll>({\n type: \"scroll\",\n scroll: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n\n let previewPageMatch = true;\n let currentLocation: NextLocation;\n const sendLocationChange = (loc: NextLocation): void => {\n sendMessage<PreviewMessagePreviewerUrlChange>({\n type: \"url-change\",\n url: location.origin + history.createHref(loc),\n });\n currentLocation = loc;\n syncRouteMatch();\n };\n\n function syncRouteMatch() {\n if (options.routePath) {\n const match = !!matchPath(currentLocation.pathname, {\n path: options.routePath,\n exact: options.routeExact,\n });\n sendMessage<PreviewMessagePreviewerRouteMatchChange>({\n type: \"route-match-change\",\n match,\n });\n\n // Re-update template preview settings once match route again (typically after login).\n if (options.templateId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateTemplatePreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n /* if (options.formId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\");\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild.childNodes.length === 0\n ) {\n updateFormPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n } */\n if (options.snippetData && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateSnippetPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n previewPageMatch = match;\n }\n }\n\n sendLocationChange(history.location);\n\n history.listen(sendLocationChange);\n\n if (options.templateId) {\n updateTemplatePreviewSettings();\n }\n\n /* if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */\n\n if (options.snippetData) {\n updateSnippetPreviewSettings();\n }\n\n function setupContentScroll() {\n const host = document.querySelector(\"eo-page-view\");\n const element = host?.shadowRoot?.querySelector(\".content\") ?? null;\n if (element !== contentScrollElement) {\n contentScrollElement?.removeEventListener(\"scroll\", onContentScroll);\n element?.addEventListener(\"scroll\", onContentScroll);\n contentScrollElement = element;\n contentScrollHost = host;\n }\n }\n\n function onContentScroll(this: Element) {\n sendMessage<PreviewMessagePreviewerContentScroll>({\n type: \"content-scroll\",\n scroll: {\n x: this.scrollLeft,\n y: this.scrollTop,\n },\n });\n }\n\n __secret_internals.addRealTimeDataInspectHook?.(\n ({ changeType, tplStateStoreId, detail }) => {\n sendMessage<PreviewMessagePreviewerRealTimeDataInspectChange>({\n type: \"real-time-data-inspect-change\",\n changeType,\n tplStateStoreId,\n detail:\n changeType === \"update\"\n ? {\n name: detail.name,\n annotation: getRealTimeDataAnnotation(detail.value),\n }\n : {\n data: Object.fromEntries(\n Object.entries(detail.data).map(([k, v]) => [\n k,\n getRealTimeDataAnnotation(v),\n ])\n ),\n },\n });\n }\n );\n\n let memoizedRootTplStateStoreId: string | undefined;\n\n function setupRealTimeDataInspect(force?: boolean) {\n const tplStateStoreId = options.templateId\n ? getRootTplStateStoreId()\n : undefined;\n if (memoizedRootTplStateStoreId !== tplStateStoreId || force) {\n memoizedRootTplStateStoreId = tplStateStoreId;\n __secret_internals.setRealTimeDataInspectRoot?.({\n tplStateStoreId,\n });\n }\n }\n\n window.addEventListener(\"route.render\", () => {\n setupRealTimeDataInspect(true);\n });\n\n setupContentScroll();\n setupRealTimeDataInspect(true);\n\n const mutationCallback = (): void => {\n setupContentScroll();\n setupRealTimeDataInspect();\n if (hoverIid) {\n sendHighlightBrickOutlines(\"hover\", hoverIid, hoverAlias);\n }\n if (activeIid) {\n sendHighlightBrickOutlines(\"active\", activeIid, activeAlias);\n }\n };\n const mutationObserver = new MutationObserver(\n throttle(mutationCallback, 100, { leading: false })\n );\n mutationObserver.observe(document.body, { subtree: true, childList: true });\n}\n\nfunction getBrickOutlines(iid: string, alias?: string): BrickOutline[] {\n if (!iid) {\n return [];\n }\n const isRoot = iid.includes(\"#\");\n const elements = document.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n const outlines = getOutlines(elements, alias);\n return isRoot\n ? outlines.map((item) => ({\n ...item,\n height: window.innerHeight - item.top,\n }))\n : outlines;\n}\n\nfunction getOutlines(\n elements: NodeListOf<HTMLElement>,\n alias?: string\n): BrickOutline[] {\n return [...elements].map((element) => {\n const hasContentScroll = contentScrollHost?.contains(element);\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left:\n left +\n window.scrollX +\n (hasContentScroll ? contentScrollElement.scrollLeft : 0),\n top:\n top +\n window.scrollY +\n (hasContentScroll ? contentScrollElement.scrollTop : 0),\n alias,\n hasContentScroll,\n };\n });\n}\n\nfunction getRootTplStateStoreId(): string | undefined {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n\n return (mainMountPoint?.firstChild as HTMLElement)?.dataset[\n isV2 ? \"tplContextId\" : \"tplStateStoreId\"\n ];\n}\n"],"names":["collectUsedContracts","storyboard","collection","nodeOrNodes","Set","traverse","node","type","_node$raw","useProvider","raw","add","collect","parseStoryboard","contracts","item","includes","push","customElements","define","createProviderClass","previewProxyOrigin","_capture","_asyncToGenerator","maxWidth","maxHeight","canvas","sourceCanvas","html2canvas","document","body","logging","scale","width","window","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","apply","arguments","onClick","event","iidList","preventDefault","stopPropagation","getPossibleBrickIidList","target","length","parent","postMessage","sender","onMouseEvent","hoverOnBrick","throttle","e","leading","onPointerDown","onPointerOver","onPointerLeave","onContextMenu","brick","position","x","clientX","y","clientY","cursor","dataset","iid","parentElement","getRealTimeDataAnnotation","value","Array","isArray","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","matchPathV2","_objectSpread","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","console","error","contentScrollElement","contentScrollHost","connect","_x","_x2","_connect","previewFromOrigin","options","_secret_internals$ad","_secret_internals","hoverIid","hoverAlias","activeIid","activeAlias","sendMessage","message","lastTemplatePreviewSettings","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_ref6","_ref5","_data$options","_data$options2","data","origin","forwardedFor","highlightNodes","flat","pos","element","elementFromPoint","tagName","isDirection","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","newContracts","getAddedContracts","call","formId","isEmpty","updateStoryboard","location","goBack","goForward","capture","then","screenshot","handlePreviewData","option","dataType","getRootTplStateStoreId","entries","_ref4","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","syncRouteMatch","_x3","scroll","scrollX","scrollY","currentLocation","memoizedRootTplStateStoreId","previewPageMatch","sendLocationChange","loc","createHref","listen","addRealTimeDataInspectHook","_ref8","changeType","detail","annotation","_ref9","setupRealTimeDataInspect","setupContentScroll","MutationObserver","mutationCallback","observe","subtree","childList","match","pathname","path","exact","mainMountPoint","querySelector","placeholderLoadObserver","childNodes","firstChild","disconnect","_host$shadowRoot$quer","_host$shadowRoot","_contentScrollElement","host","shadowRoot","onContentScroll","this","scrollLeft","scrollTop","force","_secret_internals$se","_secret_internals2","undefined","setRealTimeDataInspectRoot","isRoot","elements","_contentScrollHost","hasContentScroll","contains","left","top","getBoundingClientRect","getOutlines","querySelectorAll","concat","_mainMountPoint$first"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 4231.a3f715d9.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[4231],{4231:(e,t,a)=>{a.r(t);var n,i,o,r,l,c,s,d,h,p,u,b,E,v,m,g,L,f,w,k=a(3395),N=a(1815),Z=a(381),O=a(687),R=a(2604),I=a(8657),y=a.n(I),A=a(2462),T=a(2354),x=a(8249),_=a(8453),M=a(2779),D=a.n(M),P=(0,T.wrapBrick)("icons.general-icon"),{defineElement:U,property:C,event:F}=(0,A.createDecorators)();i=U("visual-builder.workbench-pane",{styleTexts:[x.Z,_.Z]}),o=C(),l=C({type:Boolean}),s=C({type:Number}),h=F({type:"active.change"}),E=F({type:"active.firstActivated"});var W=new WeakMap,S=new WeakMap,B=new WeakMap,K=new WeakMap,j=new WeakMap,z=new WeakMap,G=new WeakMap,H=new WeakMap,V=new WeakMap;class Y extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,H,{get:X,set:q}),(0,k.Z)(this,j,{get:$,set:J}),(0,k.Z)(this,W,{writable:!0,value:(L(this),r(this))}),(0,k.Z)(this,S,{writable:!0,value:c(this)}),(0,k.Z)(this,B,{writable:!0,value:d(this)}),(0,k.Z)(this,K,{writable:!0,value:p(this)}),(0,k.Z)(this,z,{writable:!0,value:e=>{e!==this.active&&(this.active=e,(0,O.Z)(this,j).emit(e))}}),(0,k.Z)(this,G,{writable:!0,value:v(this)}),(0,k.Z)(this,V,{writable:!0,value:()=>{(0,O.Z)(this,H).emit()}})}get titleLabel(){return(0,O.Z)(this,W)}set titleLabel(e){(0,Z.Z)(this,W,e)}get active(){return(0,O.Z)(this,S)}set active(e){(0,Z.Z)(this,S,e)}get badge(){return(0,O.Z)(this,B)}set badge(e){(0,Z.Z)(this,B,e)}render(){return y().createElement(Q,{titleLabel:this.titleLabel,active:this.active,badge:this.badge,onActiveChange:(0,O.Z)(this,z),onFirstActivated:(0,O.Z)(this,V)})}}function J(e){b(this,e)}function $(){return u(this)}function q(e){g(this,e)}function X(){return m(this)}function Q(e){var{titleLabel:t,active:a,badge:n,onActiveChange:i,onFirstActivated:o}=e,[r,l]=(0,I.useState)(a),[c,s]=(0,I.useState)(!1);(0,I.useEffect)((()=>{l(a)}),[a]),(0,I.useEffect)((()=>{null==i||i(r)}),[r,i]);var d=(0,I.useCallback)((()=>{l((e=>!e)),c||r||(s(!0),null==o||o())}),[c,r,o]),h=(0,I.useRef)(),[p,u]=(0,I.useState)(!1),b=(0,I.useMemo)((()=>{return e=()=>{u(h.current.scrollTop>0)},n=function(){for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];t&&a(),t=requestAnimationFrame((()=>{e(...i)}))},n.cancel=a=()=>cancelAnimationFrame(t),n;var e,t,a,n}),[]);return y().createElement("div",{className:D()("pane",{scrolled:p})},y().createElement("div",{className:"pane-header",tabIndex:0,onClick:d},y().createElement("div",{className:"pane-title"},y().createElement("span",{className:"title-icon"},r?y().createElement(P,{lib:"antd",theme:"outlined",icon:"down"}):y().createElement(P,{lib:"antd",theme:"outlined",icon:"right"})),y().createElement("div",{className:"title-label"},t),y().createElement("slot",{name:"title"})),y().createElement("slot",{name:"actions"}),n&&y().createElement("div",{className:"badge"},n),y().createElement("div",{className:"pane-scroll-shadow"})),y().createElement("div",{className:"pane-body custom-scrollbar-container",onScroll:b,ref:h},y().createElement("slot",null,y().createElement("div",{style:{padding:"10px 20px",color:"var(--text-color-secondary)"}},"No content"))))}f=Y,({e:[r,c,d,p,u,b,v,m,g,L],c:[w,n]}=(0,R.Z)(f,[[o,1,"titleLabel"],[l,1,"active"],[s,1,"badge"],[h,1,"activeChangeEvent",e=>(0,O.Z)(e,K),(e,t)=>(0,Z.Z)(e,K,t)],[E,1,"activeFirstActivatedEvent",e=>(0,O.Z)(e,G),(e,t)=>(0,Z.Z)(e,G,t)]],[i],0,(e=>V.has((0,N.Z)(e))),T.ReactNextElement)),n();var ee,te,ae,ne,ie,oe,re,le=a(6666),ce=a(3571),{defineElement:se,property:de}=(0,A.createDecorators)();te=se("visual-builder.workbench-sidebar",{styleTexts:[ce.Z]}),ae=de();var he=new WeakMap,pe=new WeakMap,ue=new WeakMap,be=new WeakMap;class Ee extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,he,{writable:!0,value:(ie(this),ne(this))}),(0,k.Z)(this,pe,{writable:!0,value:()=>{var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])")}}),(0,k.Z)(this,ue,{writable:!0,value:()=>{var e=(0,O.Z)(this,pe).call(this).assignedNodes();for(var t of e){var a;t.active?t.style.flex=String(null!==(a=t.activeFlex)&&void 0!==a?a:"1"):t.style.flex="initial"}}}),(0,k.Z)(this,be,{writable:!0,value:e=>{var t=e.target.assignedNodes();for(var a of t)a.addEventListener("active.change",(0,O.Z)(this,ue))}}),(0,le.Z)(this,"refCallback",(()=>{(0,O.Z)(this,ue).call(this);var e=(0,O.Z)(this,pe).call(this);null==e||e.addEventListener("slotchange",(e=>{(0,O.Z)(this,be).call(this,e)}))}))}get titleLabel(){return(0,O.Z)(this,he)}set titleLabel(e){(0,Z.Z)(this,he,e)}render(){return y().createElement(ve,{titleLabel:this.titleLabel,refCallback:this.refCallback})}}function ve(e){var{titleLabel:t,refCallback:a}=e;return y().createElement("div",{className:"sidebar",ref:a},y().createElement("div",{className:"title-container"},y().createElement("div",{className:"title-label"},t),y().createElement("slot",{name:"titleToolbar"})),y().createElement("div",{className:"pane-container"},y().createElement("slot",null)))}oe=Ee,({e:[ne,ie],c:[re,ee]}=(0,R.Z)(oe,[[ae,1,"titleLabel"]],[te],0,void 0,T.ReactNextElement)),ee();var me,ge,Le,fe,we,ke,Ne,Ze,Oe,Re,Ie,ye,Ae,Te,xe,_e=a(7310),{defineElement:Me,property:De}=(0,A.createDecorators)(),Pe=(0,T.wrapBrick)("basic.general-link"),Ue=(0,T.wrapBrick)("icons.general-icon");ge=Me("visual-builder.workbench-action",{styleTexts:[_e.Z]}),Le=De({attribute:!1}),we=De(),Ne=De({type:Boolean}),Oe=De(),Ie=De();var Ce=new WeakMap,Fe=new WeakMap,We=new WeakMap,Se=new WeakMap,Be=new WeakMap;class Ke extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,Ce,{writable:!0,value:(Ae(this),fe(this))}),(0,k.Z)(this,Fe,{writable:!0,value:ke(this)}),(0,k.Z)(this,We,{writable:!0,value:Ze(this)}),(0,k.Z)(this,Se,{writable:!0,value:Re(this)}),(0,k.Z)(this,Be,{writable:!0,value:ye(this)})}get icon(){return(0,O.Z)(this,Ce)}set icon(e){(0,Z.Z)(this,Ce,e)}get to(){return(0,O.Z)(this,Fe)}set to(e){(0,Z.Z)(this,Fe,e)}get active(){return(0,O.Z)(this,We)}set active(e){(0,Z.Z)(this,We,e)}get href(){return(0,O.Z)(this,Se)}set href(e){(0,Z.Z)(this,Se,e)}get target(){return(0,O.Z)(this,Be)}set target(e){(0,Z.Z)(this,Be,e)}render(){return y().createElement(je,{to:this.to,icon:this.icon,active:this.active,href:this.href,target:this.target})}}function je(e){var{icon:t,to:a,active:n,href:i,target:o}=e;return y().createElement(Pe,{className:D()("action",{active:n}),url:a,href:i,target:o},y().createElement(Ue,t))}Te=Ke,({e:[fe,ke,Ze,Re,ye,Ae],c:[xe,me]}=(0,R.Z)(Te,[[Le,1,"icon"],[we,1,"to"],[Ne,1,"active"],[Oe,1,"href"],[Ie,1,"target"]],[ge],0,void 0,T.ReactNextElement)),me();var ze=a(334),Ge=a(8353);function He(e,t,a,n){var i=[],o=[],r=[],l=0;return e.forEach((e=>{if(e.key=""===n?"".concat(l):"".concat(n,".").concat(l),function(e){return"group"===e.type}(e)||function(e,t){return Boolean("subMenu"===e.type||void 0)}(e)){var c=He(e.items,t,a,e.key);i.push(...c.selectedKeys),(c.selectedKeys.length||e.defaultExpanded)&&o.push(e.key),o.push(...c.openedKeys),r.push(...c.matchedKeys)}else if(function(e,t,a){if(!e.to)return!1;var n="object"==typeof e.to?e.to:(0,Ge.parsePath)(e.to),i=n.pathname.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),o=!!(0,ze.matchPath)(t,{path:i,exact:e.exact});if(!o&&Array.isArray(e.activeIncludes))for(var r of e.activeIncludes){var l,c=void 0,s=r.includes("?");if(s&&(c=(0,Ge.parsePath)(r)),(o=!!(0,ze.matchPath)(t,{path:s?c.pathname:r,exact:!0}))&&null!==(l=c)&&void 0!==l&&l.search&&(o=Ve(a,c.search)),o)break}if(o&&Array.isArray(e.activeExcludes))for(var d of e.activeExcludes)if(!(o=!(0,ze.matchPath)(t,{path:d,exact:!0})))break;return o&&e.activeMatchSearch&&(o=Ve(a,n.search)),o}(e,t,a)){i.push(String(e.key));for(var s=e.key.split("."),d=0;d<s.length;d++)r.push(s.slice(0,d+1).join("."))}l+=1})),i.length&&""!==n&&o.push(n),{selectedKeys:i,openedKeys:o,matchedKeys:r}}function Ve(e,t){var a=new URLSearchParams(e),n=new URLSearchParams(t);for(var[i,o]of n.entries())if(a.get(i)!==o)return!1;return!0}var Ye,Je,$e,qe,Xe,Qe,et,tt,at,nt=a(8799),it=(0,T.wrapBrick)("visual-builder.workbench-action"),{defineElement:ot,property:rt}=(0,A.createDecorators)();Je=ot("visual-builder.workbench-action-list",{styleTexts:[nt.Z]}),$e=rt(),Xe=rt({attribute:!1});var lt,ct=new WeakMap,st=new WeakMap;class dt extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,ct,{writable:!0,value:(et(this),qe(this))}),(0,k.Z)(this,st,{writable:!0,value:Qe(this)})}get appId(){return(0,O.Z)(this,ct)}set appId(e){(0,Z.Z)(this,ct,e)}get menu(){return(0,O.Z)(this,st)}set menu(e){(0,Z.Z)(this,st,e)}render(){return y().createElement(pt,{appId:this.appId,menu:this.menu})}}tt=dt,({e:[qe,Qe,et],c:[at,Ye]}=(0,R.Z)(tt,[[$e,1,"appId"],[Xe,1,"menu"]],[Je],0,void 0,T.ReactNextElement)),Ye();var ht=new Map;function pt(e){var t,{appId:a,menu:n}=e,i=(0,ze.getHistory)(),[o,r]=(0,I.useState)(),[l,c]=(0,I.useState)(i.location);return(0,I.useEffect)((()=>{var e=i.listen((e=>{c(e)}));return e}),[i]),(0,I.useEffect)((()=>{lt||(lt=a),lt!==a&&(ht.clear(),lt=a)}),[a]),(0,I.useEffect)((()=>{var e,{pathname:t,search:a}=l,{selectedKeys:i}=He(null!==(e=null==n?void 0:n.menuItems)&&void 0!==e?e:[],t,a,"");r(Number(i[0]))}),[n,l]),y().createElement("div",{className:"workBenchActionList"},null==n||null===(t=n.menuItems)||void 0===t?void 0:t.map(((e,t)=>{if((e=>"default"===e.type||!e.type)(e)){var a=e.to;return o!==t&&ht.has(t)&&(a=ht.get(t)),y().createElement(it,{key:t,icon:e.icon,to:a,href:e.href,target:e.target,active:o===t,onClick:()=>(e=>{e.href||ht.set(o,"".concat(l.pathname).concat(l.search))})(e)})}})).filter(Boolean))}var ut,bt,Et,vt,mt,gt,Lt,ft,wt,kt,Nt,Zt,Ot,Rt,It,yt,At,Tt,xt,_t,Mt,Dt,Pt,Ut,Ct,Ft,Wt,St,Bt,Kt,jt,zt,Gt,Ht,Vt,Yt,Jt,$t,qt,Xt,Qt,ea,ta,aa,na,ia,oa,ra,la,ca,sa,da,ha,pa,ua,ba,Ea,va,ma,ga,La=a(5178),fa=a(8486),wa=a(1732),ka=a(3321),Na=a(8401),Za=a(89),Oa=a(1674);function Ra(e){return e.key}a(6973);var Ia,{defineElement:ya,property:Aa,event:Ta}=(0,A.createDecorators)();bt=ya("visual-builder.workbench-tree",{styleTexts:[Za.Z,Oa.Z]}),Et=Aa({attribute:!1}),mt=Aa({attribute:!1}),Lt=Aa({type:Boolean}),wt=Aa(),Nt=Aa({type:Boolean}),Ot=Aa(),It=Aa({type:Boolean}),At=Aa({attribute:!1}),xt=Aa({type:Boolean}),Mt=Aa({attribute:!1}),Pt=Aa({attribute:!1}),Ct=Aa({type:Boolean}),Wt=Aa({attribute:!1}),Bt=Aa({type:Boolean}),jt=Aa({type:Boolean}),Gt=Aa({type:Boolean}),Vt=Aa({type:String}),Jt=Aa({type:Boolean}),qt=Ta({type:"action.click"}),ta=Ta({type:"node.click"}),oa=Ta({type:"node.drop"}),sa=Ta({type:"context.menu"}),ua=Ta({type:"node.toggle"});var xa=new WeakMap,_a=new WeakMap,Ma=new WeakMap,Da=new WeakMap,Pa=new WeakMap,Ua=new WeakMap,Ca=new WeakMap,Fa=new WeakMap,Wa=new WeakMap,Sa=new WeakMap,Ba=new WeakMap,Ka=new WeakMap,ja=new WeakMap,za=new WeakMap,Ga=new WeakMap,Ha=new WeakMap,Va=new WeakMap,Ya=new WeakMap,Ja=new WeakMap,$a=new WeakMap,qa=new WeakMap,Xa=new WeakMap,Qa=new WeakMap,en=new WeakMap,tn=new WeakMap,an=new WeakMap,nn=new WeakMap,on=new WeakMap,rn=new WeakMap,ln=new WeakMap,cn=new WeakMap,sn=new WeakMap,dn=new WeakMap;class hn extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,sn,{get:wn,set:fn}),(0,k.Z)(this,rn,{get:Ln,set:gn}),(0,k.Z)(this,an,{get:mn,set:vn}),(0,k.Z)(this,Qa,{get:En,set:bn}),(0,k.Z)(this,$a,{get:un,set:pn}),(0,k.Z)(this,xa,{writable:!0,value:(ma(this),vt(this))}),(0,k.Z)(this,_a,{writable:!0,value:gt(this)}),(0,k.Z)(this,Ma,{writable:!0,value:ft(this)}),(0,k.Z)(this,Da,{writable:!0,value:kt(this)}),(0,k.Z)(this,Pa,{writable:!0,value:Zt(this)}),(0,k.Z)(this,Ua,{writable:!0,value:Rt(this)}),(0,k.Z)(this,Ca,{writable:!0,value:yt(this)}),(0,k.Z)(this,Fa,{writable:!0,value:Tt(this)}),(0,k.Z)(this,Wa,{writable:!0,value:_t(this)}),(0,k.Z)(this,Sa,{writable:!0,value:Dt(this)}),(0,k.Z)(this,Ba,{writable:!0,value:Ut(this)}),(0,k.Z)(this,Ka,{writable:!0,value:Ft(this)}),(0,k.Z)(this,ja,{writable:!0,value:St(this)}),(0,k.Z)(this,za,{writable:!0,value:Kt(this)}),(0,k.Z)(this,Ga,{writable:!0,value:zt(this)}),(0,k.Z)(this,Ha,{writable:!0,value:Ht(this)}),(0,k.Z)(this,Va,{writable:!0,value:Yt(this)}),(0,k.Z)(this,Ya,{writable:!0,value:$t(this)}),(0,k.Z)(this,Ja,{writable:!0,value:Xt(this)}),(0,k.Z)(this,qa,{writable:!0,value:e=>{(0,O.Z)(this,$a).emit(e)}}),(0,k.Z)(this,Xa,{writable:!0,value:aa(this)}),(0,k.Z)(this,en,{writable:!0,value:e=>()=>{(0,O.Z)(this,Qa).emit(e.data)}}),(0,k.Z)(this,tn,{writable:!0,value:ra(this)}),(0,k.Z)(this,nn,{writable:!0,value:e=>{(0,O.Z)(this,an).emit(e)}}),(0,k.Z)(this,on,{writable:!0,value:da(this)}),(0,k.Z)(this,ln,{writable:!0,value:e=>t=>{t.preventDefault(),(0,O.Z)(this,rn).emit({active:!0,node:null==e?void 0:e.data,x:t.clientX,y:t.clientY})}}),(0,k.Z)(this,cn,{writable:!0,value:ba(this)}),(0,k.Z)(this,dn,{writable:!0,value:(e,t)=>{(0,O.Z)(this,sn).emit({nodeId:e,collapsed:t})}})}get nodes(){return(0,O.Z)(this,xa)}set nodes(e){(0,Z.Z)(this,xa,e)}get actions(){return(0,O.Z)(this,_a)}set actions(e){(0,Z.Z)(this,_a,e)}get actionsHidden(){return(0,O.Z)(this,Ma)}set actionsHidden(e){(0,Z.Z)(this,Ma,e)}get placeholder(){return(0,O.Z)(this,Da)}set placeholder(e){(0,Z.Z)(this,Da,e)}get isTransformName(){return(0,O.Z)(this,Pa)}set isTransformName(e){(0,Z.Z)(this,Pa,e)}get searchPlaceholder(){return(0,O.Z)(this,Ua)}set searchPlaceholder(e){(0,Z.Z)(this,Ua,e)}get noSearch(){return(0,O.Z)(this,Ca)}set noSearch(e){(0,Z.Z)(this,Ca,e)}get activeKey(){return(0,O.Z)(this,Fa)}set activeKey(e){(0,Z.Z)(this,Fa,e)}get showMatchedNodeOnly(){return(0,O.Z)(this,Wa)}set showMatchedNodeOnly(e){(0,Z.Z)(this,Wa,e)}get matchNodeDataFields(){return(0,O.Z)(this,Sa)}set matchNodeDataFields(e){(0,Z.Z)(this,Sa,e)}get fixedActionsFor(){return(0,O.Z)(this,Ba)}set fixedActionsFor(e){(0,Z.Z)(this,Ba,e)}get collapsible(){return(0,O.Z)(this,Ka)}set collapsible(e){(0,Z.Z)(this,Ka,e)}get collapsedNodes(){return(0,O.Z)(this,ja)}set collapsedNodes(e){(0,Z.Z)(this,ja,e)}get allowDrag(){return(0,O.Z)(this,za)}set allowDrag(e){(0,Z.Z)(this,za,e)}get allowDragToRoot(){return(0,O.Z)(this,Ga)}set allowDragToRoot(e){(0,Z.Z)(this,Ga,e)}get allowDragToInside(){return(0,O.Z)(this,Ha)}set allowDragToInside(e){(0,Z.Z)(this,Ha,e)}get nodeKey(){return(0,O.Z)(this,Va)}set nodeKey(e){(0,Z.Z)(this,Va,e)}get skipNotify(){return(0,O.Z)(this,Ya)}set skipNotify(e){(0,Z.Z)(this,Ya,e)}render(){return y().createElement(fa.L.Provider,{value:{actions:this.actions,actionsHidden:this.actionsHidden,onActionClick:(0,O.Z)(this,qa)}},y().createElement(ka.f.Provider,{value:{activeKey:this.activeKey,basePaddingLeft:5,showMatchedNodeOnly:this.showMatchedNodeOnly,isTransformName:this.isTransformName,fixedActionsFor:this.fixedActionsFor,nodeKey:this.nodeKey,collapsible:this.collapsible,collapsedNodes:this.collapsedNodes,getCollapsedId:Ra,onNodeToggle:(0,O.Z)(this,dn),skipNotify:this.skipNotify,clickFactory:(0,O.Z)(this,en),contextMenuFactory:(0,O.Z)(this,ln),matchNode:(e,t)=>{var a;return(0,Na.$)(e.name,t)||!(null===(a=this.matchNodeDataFields)||void 0===a||!a.length)&&(0,Na.$)("*"===this.matchNodeDataFields?e.data:(0,La.pick)(e.data,this.matchNodeDataFields),t)}}},y().createElement(wa.ME,{nodes:this.nodes,placeholder:this.placeholder,searchPlaceholder:this.searchPlaceholder,noSearch:this.noSearch,dropEmit:(0,O.Z)(this,nn),allowDrag:this.allowDrag,allowDragToInside:this.allowDragToInside,allowDragToRoot:this.allowDragToRoot})))}}function pn(e){ea(this,e)}function un(){return Qt(this)}function bn(e){ia(this,e)}function En(){return na(this)}function vn(e){ca(this,e)}function mn(){return la(this)}function gn(e){pa(this,e)}function Ln(){return ha(this)}function fn(e){va(this,e)}function wn(){return Ea(this)}ga=hn,({e:[vt,gt,ft,kt,Zt,Rt,yt,Tt,_t,Dt,Ut,Ft,St,Kt,zt,Ht,Yt,$t,Xt,Qt,ea,aa,na,ia,ra,la,ca,da,ha,pa,ba,Ea,va,ma],c:[Ia,ut]}=(0,R.Z)(ga,[[Et,1,"nodes"],[mt,1,"actions"],[Lt,1,"actionsHidden"],[wt,1,"placeholder"],[Nt,1,"isTransformName"],[Ot,1,"searchPlaceholder"],[It,1,"noSearch"],[At,1,"activeKey"],[xt,1,"showMatchedNodeOnly"],[Mt,1,"matchNodeDataFields"],[Pt,1,"fixedActionsFor"],[Ct,1,"collapsible"],[Wt,1,"collapsedNodes"],[Bt,1,"allowDrag"],[jt,1,"allowDragToRoot"],[Gt,1,"allowDragToInside"],[Vt,1,"nodeKey"],[Jt,1,"skipNotify"],[qt,1,"actionClickEvent",e=>(0,O.Z)(e,Ja),(e,t)=>(0,Z.Z)(e,Ja,t)],[ta,1,"nodeClickEvent",e=>(0,O.Z)(e,Xa),(e,t)=>(0,Z.Z)(e,Xa,t)],[oa,1,"nodeDropEvent",e=>(0,O.Z)(e,tn),(e,t)=>(0,Z.Z)(e,tn,t)],[sa,1,"nodeContextMenuEvent",e=>(0,O.Z)(e,on),(e,t)=>(0,Z.Z)(e,on,t)],[ua,1,"nodeToggleEvent",e=>(0,O.Z)(e,cn),(e,t)=>(0,Z.Z)(e,cn,t)]],[bt],0,(e=>dn.has((0,N.Z)(e))),T.ReactNextElement)),ut();var kn=a(9171),Nn=a(2907);a(894),customElements.define("visual-builder.inject-preview-agent",(0,kn.createProviderClass)((function(e,t){return(0,Nn.Z)(e,t)})));var Zn,On,Rn,In,yn,An,Tn,xn,_n,Mn,Dn,Pn,Un,Cn,Fn,Wn,Sn,Bn,Kn,jn,zn=a(3028),Gn=a(8874),Hn=a.n(Gn),Vn=a(6094),Yn=a(7088),Jn=function(e){return e.LOAD_MORE="LOAD_MORE",e.LOADING="LOADING",e.NO_DATA="NO_DATA",e.NODE="NODE",e.ADD="ADD",e.EDIT="EDIT",e.DELETE="DELETE",e.IMPORT="IMPORT",e.CLONE="CLONE",e.APPEND_RELATION="APPEND_RELATION",e.UPDATE_RELATION="UPDATE_RELATION",e.REMOVE_RELATION="REMOVE_RELATION",e.ROLLBACK="ROLLBACK",e.ROLLBACK_ALL="ROLLBACK_ALL",e.ADD_FULL="ADD_FULL",e.EDIT_FULL="EDIT_FULL",e.DELETE_FULL="DELETE_FULL",e.IMPORT_FULL="IMPORT_FULL",e.CLONE_FULL="CLONE_FULL",e.APPEND_RELATION_FULL="APPEND_RELATION_FULL",e.UPDATE_RELATION_FULL="UPDATE_RELATION_FULL",e.REMOVE_RELATION_FULL="REMOVE_RELATION_FULL",e.ROLLBACK_FULL="ROLLBACK_FULL",e.ROLLBACK_ALL_FULL="ROLLBACK_ALL_FULL",e.PROJECT="PROJECT",e.USER="USER",e.PERMISSION="PERMISSION",e.BRICK="BRICK",e.ROUTE="ROUTE",e.TEMPLATE="TEMPLATE",e.SNIPPET="SNIPPET",e.I18N="I18N",e.IMAGE="IMAGE",e.FUNCTION="FUNCTION",e.MENU="MENU",e.MENU_ITEM="MENU_ITEM",e.WORKFLOW="WORKFLOW",e}({}),$n="bricks/visual-builder/workbench-history-action",qn=a(4795),Xn=a(663),Qn=function(){var e=(0,qn.Z)((function*(e,t,a){return(yield Xn.http.get("api/gateway/next_builder.workspace.GetChangeHistory/api/v1/next-builder/workspace/".concat(e,"/changes"),(0,zn.Z)((0,zn.Z)({},a),{},{params:t}))).data}));return function(t,a,n){return e.apply(this,arguments)}}(),ei=a(860),ti={add:"".concat($n,":").concat(Jn.ADD),edit:"".concat($n,":").concat(Jn.EDIT),delete:"".concat($n,":").concat(Jn.DELETE),batch_delete:"".concat($n,":").concat(Jn.DELETE),import:"".concat($n,":").concat(Jn.IMPORT),clone:"".concat($n,":").concat(Jn.CLONE),append_relation:"".concat($n,":").concat(Jn.APPEND_RELATION),update_relation:"".concat($n,":").concat(Jn.UPDATE_RELATION),remove_relation:"".concat($n,":").concat(Jn.REMOVE_RELATION),rollback:"".concat($n,":").concat(Jn.ROLLBACK),rollback_all:"".concat($n,":").concat(Jn.ROLLBACK_ALL)},ai={add:"".concat($n,":").concat(Jn.ADD_FULL),edit:"".concat($n,":").concat(Jn.EDIT_FULL),delete:"".concat($n,":").concat(Jn.DELETE_FULL),batch_delete:"".concat($n,":").concat(Jn.DELETE_FULL),import:"".concat($n,":").concat(Jn.IMPORT_FULL),clone:"".concat($n,":").concat(Jn.CLONE_FULL),append_relation:"".concat($n,":").concat(Jn.APPEND_RELATION_FULL),update_relation:"".concat($n,":").concat(Jn.UPDATE_RELATION_FULL),remove_relation:"".concat($n,":").concat(Jn.REMOVE_RELATION_FULL),rollback:"".concat($n,":").concat(Jn.ROLLBACK_FULL),rollback_all:"".concat($n,":").concat(Jn.ROLLBACK_ALL_FULL)},ni={project:"".concat($n,":").concat(Jn.PROJECT),userGroup:"".concat($n,":").concat(Jn.USER),permission:"".concat($n,":").concat(Jn.PERMISSION),brick:"".concat($n,":").concat(Jn.BRICK),route:"".concat($n,":").concat(Jn.ROUTE),template:"".concat($n,":").concat(Jn.TEMPLATE),snippet:"".concat($n,":").concat(Jn.SNIPPET),i18n:"".concat($n,":").concat(Jn.I18N),image:"".concat($n,":").concat(Jn.IMAGE),function:"".concat($n,":").concat(Jn.FUNCTION),menu:"".concat($n,":").concat(Jn.MENU),menuItem:"".concat($n,":").concat(Jn.MENU_ITEM),workflow:"".concat($n,":").concat(Jn.WORKFLOW)},ii={PROJECT_MICRO_APP:"".concat($n,":").concat(Jn.PROJECT),"MICRO_APP_USER_GROUP@EASYOPS":"".concat($n,":").concat(Jn.USER),MICRO_APP_RESOURCE_PERMISSION:"".concat($n,":").concat(Jn.PERMISSION),STORYBOARD_BRICK:"".concat($n,":").concat(Jn.BRICK),STORYBOARD_ROUTE:"".concat($n,":").concat(Jn.ROUTE),STORYBOARD_TEMPLATE:"".concat($n,":").concat(Jn.TEMPLATE),STORYBOARD_SNIPPET:"".concat($n,":").concat(Jn.SNIPPET),STORYBOARD_I18N:"".concat($n,":").concat(Jn.I18N),MICRO_APP_RESOURCE_IMAGE:"".concat($n,":").concat(Jn.IMAGE),STORYBOARD_FUNCTION:"".concat($n,":").concat(Jn.FUNCTION),MICRO_APP_RESOURCE_MENU:"".concat($n,":").concat(Jn.MENU),MICRO_APP_RESOURCE_MENU_ITEM:"".concat($n,":").concat(Jn.MENU_ITEM),"WORKFLOW_DEF@EASYOPS":"".concat($n,":").concat(Jn.WORKFLOW)};function oi(e){var t,a,n,i,o,r,l,c,s,d,h,p,u,b,E,v,m,g="rollback"!==e.action||e.rollBackIdInfo?e.action:"rollback_all",L=ei.i18n.t(null!==(t=ni[e.category])&&void 0!==t?t:e.category),f=ei.i18n.t(null!==(a=ti[g])&&void 0!==a?a:g),w=ei.i18n.t(null!==(n=ii[null===(i=e.abstract)||void 0===i?void 0:i.leftObjectId])&&void 0!==n?n:null===(o=e.abstract)||void 0===o?void 0:o.leftObjectId),k=ei.i18n.t(null!==(r=ii[null===(l=e.abstract)||void 0===l?void 0:l.rightObjectId])&&void 0!==r?r:null===(c=e.abstract)||void 0===c?void 0:c.rightObjectId),N=ri(null===(s=e.abstract)||void 0===s?void 0:s.nodes,null===(d=e.abstract)||void 0===d?void 0:d.nodesCount),Z=ri(null===(h=e.abstract)||void 0===h?void 0:h.leftNodes,null===(p=e.abstract)||void 0===p?void 0:p.leftNodesCount),O=ri(null===(u=e.abstract)||void 0===u?void 0:u.rightNodes,null===(b=e.abstract)||void 0===b?void 0:b.rightNodesCount),R="rollback"===g?oi(e.rollBackIdInfo).abstract:null;return{category:L,action:f,leftObjectId:w,rightObjectId:k,nodes:N,leftNodes:Z,rightNodes:O,abstract:ei.i18n.t(null!==(E=ai[g])&&void 0!==E?E:g,{category:L,nodes:N,leftNodes:Z,rightNodes:O,nodeChanges:null===(v=e.abstract)||void 0===v||null===(v=v.nodeChanges)||void 0===v?void 0:v.join(", "),relationChanges:null===(m=e.abstract)||void 0===m||null===(m=m.relationChanges)||void 0===m?void 0:m.join(", "),leftObjectId:w,rightObjectId:k,rollbackAbstract:R}),rollbackAbstract:R}}function ri(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:", ";return ei.i18n.t("".concat($n,":").concat(Jn.NODE),{nodes:e.join(a),context:t>e.length?"ellipsis":void 0,count:t})}(0,Yn.initializeReactI18n)($n,{en:{LOAD_MORE:"Load more",LOADING:"Loading",NO_DATA:"No data",NODE:"{{ nodes }}",NODE_ellipsis:"{{ nodes }} etc., a total of {{ count }} items",ADD:"Add node",EDIT:"Edit node",DELETE:"Delete node",IMPORT:"Batch import node",CLONE:"Clone node",APPEND_RELATION:"Append Relation",UPDATE_RELATION:"Update Relation",REMOVE_RELATION:"Remove Relation",ROLLBACK:"Rollback",ROLLBACK_ALL:"Rollback all operations",ADD_FULL:"Add {{ category }} ({{ nodes }})",EDIT_FULL:"Edit {{ nodeChanges }} of {{ category }} ({{ nodes }})",DELETE_FULL:"Delete {{ category }} ({{ nodes }})",IMPORT_FULL:"Batch Import {{ category }} ({{ nodes }})",CLONE_FULL:"Clone {{ category }} ({{ nodes }})",APPEND_RELATION_FULL:"Append the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",UPDATE_RELATION_FULL:"Update the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",REMOVE_RELATION_FULL:"Remove the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})",ROLLBACK_FULL:"Rollback to [{{ rollbackAbstract }}]",ROLLBACK_ALL_FULL:"Rollback all operations",PROJECT:"Project",USER:"User Group",PERMISSION:"Permission",BRICK:"Brick",ROUTE:"Route",TEMPLATE:"Template",SNIPPET:"Snippet",I18N:"I18N",IMAGE:"Image",FUNCTION:"Function",MENU:"Menu",MENU_ITEM:"Menu item",WORKFLOW:"Workflow"},zh:{LOAD_MORE:"加载更多",LOADING:"加载中",NO_DATA:"没有数据",NODE:"{{ nodes }}",NODE_ellipsis:"{{ nodes }}等共{{ count }}项",ADD:"新增节点",EDIT:"编辑节点",DELETE:"删除节点",IMPORT:"批量导入节点",CLONE:"克隆节点",APPEND_RELATION:"添加关系",UPDATE_RELATION:"更新关系",REMOVE_RELATION:"移除关系",ROLLBACK:"回滚",ROLLBACK_ALL:"回滚全部操作",ADD_FULL:"新增{{ category }}({{ nodes }})",EDIT_FULL:"编辑{{ category }}({{ nodes }})的 {{ nodeChanges }}",DELETE_FULL:"删除{{ category }}({{ nodes }})",IMPORT_FULL:"批量导入{{ category }}({{ nodes }})",CLONE_FULL:"克隆{{ category }}({{ nodes }})",APPEND_RELATION_FULL:"添加{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",UPDATE_RELATION_FULL:"更新{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",REMOVE_RELATION_FULL:"移除{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系",ROLLBACK_FULL:"回滚到【{{ rollbackAbstract }}】",ROLLBACK_ALL_FULL:"回滚全部操作",PROJECT:"项目",USER:"用户组",PERMISSION:"权限点",BRICK:"构件",ROUTE:"路由",TEMPLATE:"模版",SNIPPET:"片段",I18N:"国际化",IMAGE:"图片",FUNCTION:"函数",MENU:"菜单",MENU_ITEM:"菜单项",WORKFLOW:"工作流"}});var li,{defineElement:ci,property:si,event:di}=(0,A.createDecorators)(),hi=(0,T.wrapBrick)("eo-button"),pi=(0,T.wrapBrick)("eo-link"),ui=(0,T.wrapBrick)("eo-icon"),bi=(0,T.wrapBrick)("eo-easyops-avatar"),Ei=(0,T.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});On=ci("visual-builder.workbench-history-action",{styleTexts:[Vn.Z]}),Rn=si(),yn=si(),Tn=di({type:"history.item.click"}),Dn=di({type:"rollback"}),Fn=di({type:"rollback.all"});var vi=new WeakMap,mi=new WeakMap,gi=new WeakMap,Li=new WeakMap,fi=new WeakMap,wi=new WeakMap,ki=new WeakMap,Ni=new WeakMap,Zi=new WeakMap,Oi=new WeakMap,Ri=new WeakMap;class Ii extends T.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,Oi,{get:Mi,set:_i}),(0,k.Z)(this,ki,{get:xi,set:Ti}),(0,k.Z)(this,Li,{get:Ai,set:yi}),(0,k.Z)(this,vi,{writable:!0,value:(Kn(this),In(this))}),(0,k.Z)(this,mi,{writable:!0,value:An(this)}),(0,k.Z)(this,gi,{writable:!0,value:xn(this)}),(0,k.Z)(this,fi,{writable:!0,value:e=>{(0,O.Z)(this,Li).emit(e)}}),(0,k.Z)(this,wi,{writable:!0,value:Pn(this)}),(0,k.Z)(this,Ni,{writable:!0,value:e=>{(0,O.Z)(this,ki).emit(e)}}),(0,k.Z)(this,Zi,{writable:!0,value:Wn(this)}),(0,k.Z)(this,Ri,{writable:!0,value:()=>{(0,O.Z)(this,Oi).emit()}})}get appId(){return(0,O.Z)(this,vi)}set appId(e){(0,Z.Z)(this,vi,e)}get projectId(){return(0,O.Z)(this,mi)}set projectId(e){(0,Z.Z)(this,mi,e)}render(){return y().createElement(Di,{appId:this.appId,projectId:this.projectId,onHistoryItemClick:(0,O.Z)(this,fi),onRollback:(0,O.Z)(this,Ni),onRollbackAll:(0,O.Z)(this,Ri)})}}function yi(e){Mn(this,e)}function Ai(){return _n(this)}function Ti(e){Cn(this,e)}function xi(){return Un(this)}function _i(e){Bn(this,e)}function Mi(){return Sn(this)}function Di(e){var{appId:t,onHistoryItemClick:a,onRollback:n,onRollbackAll:i}=e,{t:o}=(0,Yn.useTranslation)($n),[r,l]=(0,I.useState)(!1),[c,s]=(0,I.useState)(!0),[d,h]=(0,I.useState)(!1),[p,u]=(0,I.useState)([]),b=(0,I.useRef)(""),E=e=>{l(!0),Qn(t,{ts:b.current,limit:20}).then((t=>{u((a=>{var n=t.list.map((e=>(0,zn.Z)((0,zn.Z)({},e),{},{translation:oi(e)})));return e?n:a.concat(n)})),b.current=t.ts,h(t.list.length<20),s(t.list.length<20)})).catch((e=>{(0,ze.handleHttpError)(e)})).finally((()=>{l(!1)}))};return y().createElement(Ei,{placement:"bottom",trigger:"click",arrow:!0,arrowColor:"var(--color-fill-bg-container-4)",beforeVisibleChange:e=>{e.detail&&(s(!0),h(!1),u([]),b.current="",E(!0))}},y().createElement(hi,{slot:"anchor",shape:"circle",className:"history-action",icon:{lib:"antd",icon:"history",theme:"outlined"}}),y().createElement("div",null,y().createElement("div",{className:"history-title"},"History"),y().createElement("div",{className:"history-list"},p.length?y().createElement(y().Fragment,null,p.map(((e,t)=>y().createElement(Pi,{key:"".concat(e.uniqueKey,"-").concat(e.ts),data:e,enableRollback:0!==t&&"rollback"!==e.action,current:0===t,onHistoryItemClick:a,onRollback:n}))),!c&&y().createElement("span",{className:"load-more-container"},y().createElement(pi,{className:"load-more",disabled:r,onClick:()=>E()},o(Jn.LOAD_MORE))),d&&y().createElement("span",{className:"end-container"},"The End",y().createElement(ui,{className:"rollback-all",lib:"antd",icon:"rollback",theme:"outlined",onClick:()=>i()}))):y().createElement("div",{className:"empty"},o(r?Jn.LOADING:Jn.NO_DATA))),y().createElement("slot",null)))}function Pi(e){var{data:t,enableRollback:a,current:n,onHistoryItemClick:i,onRollback:o}=e,r=Hn()(Number(t.ts)/1e6),l=Hn().duration(r.diff(Hn()())),c=l.days()<=-1?r.format("YYYY-MM-DD HH:mm:ss"):l.humanize(!0,{ss:0,s:60,m:60,h:24});return y().createElement("div",{className:"item-container"},y().createElement("div",{className:"item-title"},y().createElement("div",{className:"title-left",onClick:()=>i((0,zn.Z)((0,zn.Z)({},t),{},{enableRollback:a}))},y().createElement("div",{className:"topic",title:t.translation.abstract},t.translation.abstract),n&&y().createElement("div",{className:"branch"},"(current)")),y().createElement("div",{className:"title-right"},a&&y().createElement(ui,{className:"rollback",lib:"antd",icon:"rollback",theme:"outlined",onClick:()=>o(t)}))),y().createElement("div",{className:"item-info"},y().createElement(bi,{className:"avatar",nameOrInstanceId:t.user,size:"xs"}),y().createElement("div",{className:"time"},c),y().createElement("div",{className:"operator"},t.user)))}jn=Ii,({e:[In,An,xn,_n,Mn,Pn,Un,Cn,Wn,Sn,Bn,Kn],c:[li,Zn]}=(0,R.Z)(jn,[[Rn,1,"appId"],[yn,1,"projectId"],[Tn,1,"historyItemClickEvent",e=>(0,O.Z)(e,gi),(e,t)=>(0,Z.Z)(e,gi,t)],[Dn,1,"rollbackEvent",e=>(0,O.Z)(e,wi),(e,t)=>(0,Z.Z)(e,wi,t)],[Fn,1,"rollbackAllEvent",e=>(0,O.Z)(e,Zi),(e,t)=>(0,Z.Z)(e,Zi,t)]],[On],0,(e=>Ri.has((0,N.Z)(e))),T.ReactNextElement)),Zn()},8453:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,".custom-scrollbar-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) rgba(255,255,255,0.03)}.custom-scrollbar-container::-webkit-scrollbar{width:8px;height:8px;background-color:transparent;position:absolute}.custom-scrollbar-container::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0);border-radius:4px}.custom-scrollbar-container:hover::-webkit-scrollbar-track{background-color:rgba(255,255,255,0.03)}.custom-scrollbar-container:hover::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.15)}",""]);const l=r.toString()},8799:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,'.workBenchActionList{display:flex;flex-direction:column;width:-webkit-min-content;width:-moz-min-content;width:min-content;height:100%;background-color:#4297ff}:host-context(html[data-theme="dark-v2"]) .workBenchActionList,\n:host-context([data-override-theme="dark-v2"]) .workBenchActionList{background-color:#323237}',""]);const l=r.toString()},7310:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,'.action::part(link){display:flex;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;color:rgba(255,255,255,0.4);position:relative;transition:none}.action.active::part(link)::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:white}.action.active::part(link),\n.action::part(link):hover{color:white}',""]);const l=r.toString()},6094:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,":host{display:inline-block}:host([hidden]){display:none}eo-popover::part(popup){width:800px;max-width:60vw;padding:10px;background:var(--color-fill-bg-container-4);border-radius:var(--medius-border-radius);box-shadow:var(--feedback-container-shadow);z-index:1000}.history-title{font-size:var(--title-font-size);font-weight:var(--font-weight-500);color:var(--color-strong-text);margin-bottom:5px}.history-list{max-height:500px;overflow-y:auto}.item-container{padding:10px 0;display:flex;flex-direction:column;gap:5px}.empty{padding:5px 0 10px 0;font-size:14px;color:var(--text-color-secondary);text-align:center}.item-container:not(:last-of-type){border-bottom:1px solid var(--color-border-divider-line)}.item-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.title-left,\n.title-right{display:flex;align-items:center}.title-left{cursor:pointer;overflow:hidden;gap:5px}.topic{font-size:14px;color:var(--text-color-title);font-weight:var(--font-weight-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch{font-size:14px;color:var(--text-color-secondary)}.rollback{margin-right:5px;font-size:14px;color:var(--text-color-secondary);cursor:pointer}.rollback:hover{color:var(--color-brand)}.item-info{display:flex;align-items:center;gap:5px}.time,\n.operator{font-size:14px;color:var(--text-color-secondary)}.load-more-container{display:block;text-align:center}.end-container{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;color:var(--color-brand)}.rollback-all{cursor:pointer}",""]);const l=r.toString()},8249:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,':host{display:block;--pane-color:#595959}:host-context(html[data-theme="dark-v2"]),\n:host-context([data-override-theme="dark-v2"]){--pane-color:#ccc}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.pane{display:flex;flex-direction:column;color:var(--pane-color);height:100%}.pane-header{display:flex;align-items:center;cursor:pointer;border-top:1px solid transparent;position:relative}.pane-header:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#007fd4}:host(:not(:first-child)) .pane-header{border-top-color:rgba(204,204,204,0.2)}.pane-scroll-shadow{display:none;position:absolute;bottom:-3px;left:0;right:0;height:3px;box-shadow:#000000 0 6px 6px -6px inset;z-index:1}.scrolled .pane-scroll-shadow{display:block}.pane-title{display:flex;align-items:center;font-size:13px;line-height:24px;height:25px;min-width:0;flex:1}.title-icon{display:flex;justify-content:center;align-items:center;width:24px;padding-right:2px;line-height:1;flex-shrink:0}.title-label{text-transform:uppercase;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex-grow:1;min-height:0;display:none;overflow:hidden;overflow-y:auto;overflow-y:overlay}:host([active]) .pane-body{display:initial}:host(:not(:hover)) ::slotted([slot="actions"]){display:none}.badge{background-color:rgb(77,77,77);color:rgb(255,255,255);border-radius:11px;height:18px;padding:3px 6px;line-height:13px;margin:0 3px;font-size:12px}',""]);const l=r.toString()},3571:(e,t,a)=>{a.d(t,{Z:()=>l});var n=a(9601),i=a.n(n),o=a(2609),r=a.n(o)()(i());r.push([e.id,':host{--sidebar-background:#fff;--title-container-background:#fff;--title-container-color:#595959;display:block;outline-color:rgba(83,89,93,0.5);background-color:var(--sidebar-background);height:100%}:host-context(html[data-theme="dark-v2"]),\n:host-context([data-override-theme="dark-v2"]){--sidebar-background:#181818;--title-container-background:#181818;--title-container-color:rgb(187,187,187);background-color:var(--sidebar-background)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar{display:flex;flex-direction:column;height:100%}.title-container{display:flex;padding:0 8px 8px 8px;color:var(--title-container-color);background:var(--title-container-background)}.title-label{font-weight:300;line-height:44px;padding-left:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-container{flex-grow:1;min-height:0;display:flex;flex-direction:column}::slotted([slot="panes"]){transition:flex 0.2s;min-height:25px}',""]);const l=r.toString()}}]);
3
+ //# sourceMappingURL=4231.a3f715d9.js.map