@next-bricks/visual-builder 0.9.9 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bricks.json CHANGED
@@ -2,12 +2,12 @@
2
2
  "id": "bricks/visual-builder",
3
3
  "bricks": [
4
4
  "visual-builder.workbench-pane",
5
- "visual-builder.workbench-sidebar",
6
- "visual-builder.workbench-action",
7
- "visual-builder.workbench-action-list",
8
5
  "visual-builder.workbench-tree",
9
6
  "visual-builder.inject-preview-agent",
7
+ "visual-builder.workbench-action",
8
+ "visual-builder.workbench-sidebar",
10
9
  "visual-builder.workbench-history-action",
10
+ "visual-builder.workbench-action-list",
11
11
  "visual-builder.collect-used-contracts"
12
12
  ],
13
13
  "elements": [],
@@ -16,16 +16,11 @@
16
16
  "visual-builder.workbench-pane": [
17
17
  "icons.general-icon"
18
18
  ],
19
- "visual-builder.workbench-action": [
20
- "basic.general-link",
21
- "icons.general-icon"
22
- ],
23
- "visual-builder.workbench-action-list": [
24
- "visual-builder.workbench-action",
19
+ "visual-builder.workbench-tree": [
25
20
  "basic.general-link",
26
21
  "icons.general-icon"
27
22
  ],
28
- "visual-builder.workbench-tree": [
23
+ "visual-builder.workbench-action": [
29
24
  "basic.general-link",
30
25
  "icons.general-icon"
31
26
  ],
@@ -35,7 +30,12 @@
35
30
  "eo-icon",
36
31
  "eo-easyops-avatar",
37
32
  "eo-popover"
33
+ ],
34
+ "visual-builder.workbench-action-list": [
35
+ "visual-builder.workbench-action",
36
+ "basic.general-link",
37
+ "icons.general-icon"
38
38
  ]
39
39
  },
40
- "filePath": "bricks/visual-builder/dist/index.fd39c04c.js"
40
+ "filePath": "bricks/visual-builder/dist/index.e5aa193d.js"
41
41
  }
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[2907],{894:(e,t,n)=>{n.d(t,{k:()=>i});var r=n(9171),a=n(6530),o=n(2812);function i(e){var t=function(e){var t=new Set;return(0,a.f)(e,(e=>{switch(e.type){case"Resolvable":case"EventHandler":var n,r=null===(n=e.raw)||void 0===n?void 0:n.useProvider;r&&t.add(r)}})),t}((0,o.ud)(e)),n=[];for(var r of t)r.includes("@")&&n.push(r);return n}customElements.define("visual-builder.collect-used-contracts",(0,r.createProviderClass)(i))},2907:(e,t,n)=>{n.d(t,{Z:()=>A});var r,a=n(4795),o=n(3028),i=n(7267),s=n(5178),d=n(1763),l=n.n(d);function p(){return(p=(0,a.Z)((function*(e,t){var n,r=yield l()(document.body,{logging:!1,scale:1,width:window.innerWidth,height:window.innerHeight,foreignObjectRendering:!0}),a=document.createElement("canvas");return function(e,t,n,r){var a=n/r,{width:o,height:i}=e,s=o/i,d=s>=a,l=d?n:r*s,p=d?n/s:r;t.width=l,t.height=p,t.getContext("2d").drawImage(e,0,0,o,i,0,0,l,p),t.toDataURL()}(r,a,e,t),yield(n=a,new Promise((function(e,t){n.toBlob((function(n){n?e(n):t()}))})))}))).apply(this,arguments)}function c(e){var t;e.preventDefault(),e.stopPropagation(),(t=m(e.target)).length>0&&window.parent.postMessage({sender:"previewer",type:"select-brick",iidList:t},r)}function u(e){e.preventDefault(),e.stopPropagation()}var v=(0,s.throttle)((e=>{var t=m(e.target);t.length>0&&window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:t},r)}),100,{leading:!1});function w(e){e.preventDefault(),e.stopPropagation(),v(e)}function h(e){e.preventDefault(),e.stopPropagation(),v(e)}function g(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},r)}function y(e){var t,n,a;e.preventDefault(),e.stopPropagation(),t=e.target,n={x:e.clientX,y:e.clientY},(a=m(t)).length>0&&window.parent.postMessage({sender:"previewer",type:"context-menu-on-brick",iidList:a,position:n},r)}function m(e){for(var t=[],n=e;n;)"string"==typeof n.dataset.iid&&t.push(n.dataset.iid),n=n.parentElement;return t}var f=n(894);function b(e){var t=typeof e;switch(t){case"string":case"boolean":case"number":return{type:t,value:e};case"undefined":return{type:t}}return null===e?{type:"null"}:Array.isArray(e)?{type:"array",length:e.length}:{type:"object"}}var S=!1,k=i.getHistory,E=i.matchPath,I=i.__secret_internals,L=!1;try{var x,P=window.dll;if(P&&null!==(x=window.BRICK_NEXT_VERSIONS)&&void 0!==x&&null!==(x=x["brick-container"])&&void 0!==x&&x.startsWith("2.")){var{getHistory:C,developHelper:T}=P("tYg3"),{matchPath:D}=P("A+yw");k=C,E=D,I=(0,o.Z)((0,o.Z)({},T),{},{getContextValue(e,t){var{tplStateStoreId:n}=t;return T.getContextValue(e,{tplContextId:n})},getAllContextValues(e){var{tplStateStoreId:t}=e,n=T.getAllContextValues({tplContextId:t});return Object.fromEntries([...n].map((e=>{var[t,n]=e;return[t,n.value]})))}}),L=!0}}catch(e){console.error("Try to use v2 runtime APIs failed:",e)}var N=null,_=null;function A(e,t){return O.apply(this,arguments)}function O(){return O=(0,a.Z)((function*(e,t){var n,d;if(!S){S=!0;var l,v,L,x,P=t=>{window.parent.postMessage((0,o.Z)({sender:"previewer"},t),e)};P({type:"preview-started"}),r=e;var C,T=(e,t,n)=>{var r=R(t);P({type:"highlight-brick",highlightType:e,outlines:r,iid:t,alias:n})};t.templateId&&(C=t.settings);var D=()=>{I.updateTemplatePreviewSettings(t.appId,t.templateId,C),k().reload()},A=()=>{I.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),k().reload()},O=k();window.addEventListener("message",function(){var n=(0,a.Z)((function*(n){var a,o,d,{data:b,origin:S}=n;if(S===e&&b&&"preview-container"===b.sender)if("builder"===b.forwardedFor)switch(b.type){case"hover-on-brick":l=b.iid,v=b.alias,T("hover",b.iid,b.alias);break;case"hover-on-main":T("hover","#main-mount-point","root");break;case"hover-on-context":d=b.highlightNodes.map((e=>R(e.iid,e.alias))).flat(),P({type:"highlight-context",outlines:d});break;case"select-brick":L=b.iid,x=b.alias,T("active",b.iid,b.alias);break;case"hover-on-iframe":(e=>{var t=document.elementFromPoint(e.x,e.y);if("BODY"===(null==t?void 0:t.tagName))window.parent.postMessage({sender:"previewer",type:"hover-on-main",isDirection:!0,position:{x:e.x,y:e.y}},r);else{var n=m(t);window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:n,isDirection:!0,position:{x:e.x,y:e.y}},r)}})(b.position)}else switch(b.type){case"toggle-inspecting":b.enabled?(window.addEventListener("click",c,!0),window.addEventListener("mousedown",u,!0),window.addEventListener("mouseover",u,!0),window.addEventListener("mouseup",u,!0),window.addEventListener("pointerdown",w,!0),window.addEventListener("pointerover",h,!0),window.addEventListener("pointerup",u,!0),window.addEventListener("pointerleave",g,!0),window.addEventListener("contextmenu",y,!0)):(window.removeEventListener("click",c,!0),window.removeEventListener("mousedown",u,!0),window.removeEventListener("mouseover",u,!0),window.removeEventListener("mouseup",u,!0),window.removeEventListener("pointerdown",w,!0),window.removeEventListener("pointerover",h,!0),window.removeEventListener("pointerup",u,!0),window.removeEventListener("pointerleave",g,!0),window.removeEventListener("contextmenu",y,!0));break;case"refresh":if(null!==(a=b.options)&&void 0!==a&&a.updateStoryboardType){var E,N;"route"===b.options.updateStoryboardType?I.updateStoryboardByRoute(t.appId,b.storyboardPatch):"template"===b.options.updateStoryboardType?I.updateStoryboardByTemplate(t.appId,b.storyboardPatch,b.options.settings):"snippet"===b.options.updateStoryboardType&&I.updateStoryboardBySnippet(t.appId,b.storyboardPatch);var _=yield null===(E=(N=I).getAddedContracts)||void 0===E?void 0:E.call(N,b.storyboardPatch,{appId:t.appId,updateStoryboardType:b.options.updateStoryboardType,formId:t.formId,collectUsedContracts:f.k});(0,s.isEmpty)(_)?k().reload():P({type:"contract-update",data:{add:_}});break}I.updateStoryboard(t.appId,b.storyboardPatch),t.templateId?(C=b.settings,D()):null!==(o=b.options)&&void 0!==o&&o.snippetData?(t.snippetData=b.options.snippetData,A()):k().reload();break;case"reload":location.reload();break;case"back":O.goBack();break;case"forward":O.goForward();break;case"capture":(function(e,t){return p.apply(this,arguments)})(b.maxWidth,b.maxHeight).then((e=>{P({type:"capture-ok",screenshot:e})}),(()=>{P({type:"capture-failed"})}));break;case"inspect-data-value":((e,t)=>{try{var n,r,a,{dataType:o}=t;if("state"===o&&!(n=M()))return void P({type:"inspect-data-value-error",data:{error:{message:"tplStateStoreId not found, unable to preview STATE value"}}});if(e)a="inspect-single-data-value-success",r=I.getContextValue(e,{tplStateStoreId:n});else{a="inspect-all-data-values-success";var i=I.getAllContextValues({tplStateStoreId:n});r=Object.entries(i).map((e=>{var[t,n]=e;return{name:t,value:n}}))}P({type:a,data:{name:e,value:r}})}catch(e){P({type:"inspect-data-value-error",data:{message:e.message}})}})(b.name,b.option);break;case"update-preview-url":var B=b.previewUrl.startsWith(window.origin)?b.previewUrl.substring(window.origin.length):b.previewUrl,H=(0,i.getBasePath)(),Z=B.startsWith(H)?B.substring(H.length-1):B;k().push(Z);break;case"update-preview-route":t.routePath=b.routePath,t.routeExact=b.routeExact,j()}}));return function(e){return n.apply(this,arguments)}}()),window.addEventListener("scroll",(()=>{P({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));var B,H=!0,Z=e=>{P({type:"url-change",url:location.origin+O.createHref(e)}),B=e,j()};Z(O.location),O.listen(Z),t.templateId&&D(),t.snippetData&&A(),null===(n=(d=I).addRealTimeDataInspectHook)||void 0===n||n.call(d,(e=>{var{changeType:t,tplStateStoreId:n,detail:r}=e;P({type:"real-time-data-inspect-change",changeType:t,tplStateStoreId:n,detail:"update"===t?{name:r.name,annotation:b(r.value)}:{data:Object.fromEntries(Object.entries(r.data).map((e=>{var[t,n]=e;return[t,b(n)]})))}})}));var V="?";q(),W(),new MutationObserver((0,s.throttle)((()=>{q(),W(),l&&T("hover",l,v),L&&T("active",L,x)}),100,{leading:!1})).observe(document.body,{subtree:!0,childList:!0})}function j(){if(t.routePath){var e=!!E(B.pathname,{path:t.routePath,exact:t.routeExact});if(P({type:"route-match-change",match:e}),t.templateId&&!H&&e){var n=document.querySelector("#main-mount-point"),r=new MutationObserver((()=>{1===n.childNodes.length&&"SPAN"===n.firstChild.tagName&&0===n.firstChild.childNodes.length&&(D(),r.disconnect())}));r.observe(n,{childList:!0})}if(t.snippetData&&!H&&e){var a=document.querySelector("#main-mount-point"),o=new MutationObserver((()=>{1===a.childNodes.length&&"SPAN"===a.firstChild.tagName&&0===a.firstChild.childNodes.length&&(A(),o.disconnect())}));o.observe(a,{childList:!0})}H=e}}function q(){var e,t,n,r=document.querySelector("eo-page-view"),a=null!==(e=null==r||null===(t=r.shadowRoot)||void 0===t?void 0:t.querySelector(".content"))&&void 0!==e?e:null;a!==N&&(null===(n=N)||void 0===n||n.removeEventListener("scroll",U),null==a||a.addEventListener("scroll",U),N=a,_=r)}function U(){P({type:"content-scroll",scroll:{x:this.scrollLeft,y:this.scrollTop}})}function W(){var e,n,r=t.templateId?M():void 0;V!==r&&(V=r,null===(e=(n=I).setRealTimeDataInspectRoot)||void 0===e||e.call(n,{tplStateStoreId:r}))}})),O.apply(this,arguments)}function R(e,t){if(!e)return[];var n=e.includes("#"),r=function(e,t){return[...e].map((e=>{var n,r=null===(n=_)||void 0===n?void 0:n.contains(e),{width:a,height:o,left:i,top:s}=e.getBoundingClientRect();return{width:a,height:o,left:i+window.scrollX+(r?N.scrollLeft:0),top:s+window.scrollY+(r?N.scrollTop:0),alias:t,hasContentScroll:r}}))}(document.querySelectorAll(n?e:'[data-iid="'.concat(e,'"]')),t);return n?r.map((e=>(0,o.Z)((0,o.Z)({},e),{},{height:window.innerHeight-e.top}))):r}function M(){var e,t=document.querySelector("#main-mount-point");return null==t||null===(e=t.firstChild)||void 0===e?void 0:e.dataset[L?"tplContextId":"tplStateStoreId"]}}}]);
2
+ //# sourceMappingURL=2907.11d0dbea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/2907.11d0dbea.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() {\n const tplStateStoreId = options.templateId\n ? getRootTplStateStoreId()\n : undefined;\n if (memoizedRootTplStateStoreId !== tplStateStoreId) {\n memoizedRootTplStateStoreId = tplStateStoreId;\n __secret_internals.setRealTimeDataInspectRoot?.({\n tplStateStoreId,\n });\n }\n }\n\n setupContentScroll();\n setupRealTimeDataInspect();\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","previewPageMatch","sendLocationChange","loc","createHref","listen","addRealTimeDataInspectHook","_ref8","changeType","detail","annotation","_ref9","memoizedRootTplStateStoreId","setupContentScroll","setupRealTimeDataInspect","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","_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.2f0248a8.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(7267),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(9234);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,projectId:a,onHistoryItemClick:n,onRollback:i,onRollbackAll:o}=e,{t:r}=(0,Yn.useTranslation)($n),[l,c]=(0,I.useState)(!1),[s,d]=(0,I.useState)(!0),[h,p]=(0,I.useState)(!1),[u,b]=(0,I.useState)([]),E=(0,I.useRef)(""),v=e=>{c(!0),Qn(t,{ts:E.current,limit:20}).then((t=>{b((a=>{var n=t.list.map((e=>(0,zn.Z)((0,zn.Z)({},e),{},{translation:oi(e)})));return e?n:a.concat(n)})),E.current=t.ts,p(t.list.length<20),d(t.list.length<20)})).catch((e=>{(0,ze.handleHttpError)(e)})).finally((()=>{c(!1)}))};return y().createElement(Ei,{placement:"bottom",trigger:"click",arrow:!0,arrowColor:"var(--color-fill-bg-container-4)",beforeVisibleChange:e=>{e.detail&&(d(!0),p(!1),b([]),E.current="",v(!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"},u.length?y().createElement(y().Fragment,null,u.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:n,onRollback:i}))),!s&&y().createElement("span",{className:"load-more-container"},y().createElement(pi,{className:"load-more",disabled:l,onClick:e=>v()},r(Jn.LOAD_MORE))),h&&y().createElement("span",{className:"end-container"},"The End",y().createElement(ui,{className:"rollback-all",lib:"antd",icon:"rollback",theme:"outlined",onClick:e=>o()}))):y().createElement("div",{className:"empty"},r(l?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:e=>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:e=>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.2f0248a8.js.map