@next-bricks/visual-builder 1.4.1 → 1.4.2

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 (28) hide show
  1. package/dist/bricks.json +8 -8
  2. package/dist/chunks/2907.5fb1f0a3.js +2 -0
  3. package/dist/chunks/2907.5fb1f0a3.js.map +1 -0
  4. package/dist/chunks/3636.b4e00e12.js +3 -0
  5. package/dist/chunks/3636.b4e00e12.js.map +1 -0
  6. package/dist/chunks/7757.3643166e.js +3 -0
  7. package/dist/chunks/7757.3643166e.js.map +1 -0
  8. package/dist/chunks/{main.f2546614.js → main.13108c0b.js} +2 -2
  9. package/dist/chunks/{main.f2546614.js.map → main.13108c0b.js.map} +1 -1
  10. package/dist/chunks/workbench-action.1b6dec66.js +3 -0
  11. package/dist/chunks/workbench-action.1b6dec66.js.map +1 -0
  12. package/dist/{index.f3a75de6.js → index.3b2044a7.js} +2 -2
  13. package/dist/{index.f3a75de6.js.map → index.3b2044a7.js.map} +1 -1
  14. package/dist/manifest.json +20 -20
  15. package/dist-types/data-providers/preview/inspector.d.ts +1 -0
  16. package/dist-types/workbench-action/index.d.ts +2 -3
  17. package/package.json +2 -2
  18. package/dist/chunks/2907.41cd1d47.js +0 -2
  19. package/dist/chunks/2907.41cd1d47.js.map +0 -1
  20. package/dist/chunks/3636.249b56fa.js +0 -3
  21. package/dist/chunks/3636.249b56fa.js.map +0 -1
  22. package/dist/chunks/7757.90efd986.js +0 -3
  23. package/dist/chunks/7757.90efd986.js.map +0 -1
  24. package/dist/chunks/workbench-action.88192670.js +0 -3
  25. package/dist/chunks/workbench-action.88192670.js.map +0 -1
  26. /package/dist/chunks/{3636.249b56fa.js.LICENSE.txt → 3636.b4e00e12.js.LICENSE.txt} +0 -0
  27. /package/dist/chunks/{7757.90efd986.js.LICENSE.txt → 7757.3643166e.js.LICENSE.txt} +0 -0
  28. /package/dist/chunks/{workbench-action.88192670.js.LICENSE.txt → workbench-action.1b6dec66.js.LICENSE.txt} +0 -0
package/dist/bricks.json CHANGED
@@ -4,8 +4,8 @@
4
4
  "visual-builder.workbench-pane",
5
5
  "visual-builder.workbench-sidebar",
6
6
  "visual-builder.workbench-action",
7
- "visual-builder.workbench-action-list",
8
7
  "visual-builder.workbench-tree",
8
+ "visual-builder.workbench-action-list",
9
9
  "visual-builder.inject-preview-agent",
10
10
  "visual-builder.workbench-history-action",
11
11
  "visual-builder.page-arch-node",
@@ -18,17 +18,17 @@
18
18
  "icons.general-icon"
19
19
  ],
20
20
  "visual-builder.workbench-action": [
21
+ "eo-link",
22
+ "eo-icon"
23
+ ],
24
+ "visual-builder.workbench-tree": [
21
25
  "basic.general-link",
22
26
  "icons.general-icon"
23
27
  ],
24
28
  "visual-builder.workbench-action-list": [
25
29
  "visual-builder.workbench-action",
26
- "basic.general-link",
27
- "icons.general-icon"
28
- ],
29
- "visual-builder.workbench-tree": [
30
- "basic.general-link",
31
- "icons.general-icon"
30
+ "eo-link",
31
+ "eo-icon"
32
32
  ],
33
33
  "visual-builder.workbench-history-action": [
34
34
  "eo-button",
@@ -41,5 +41,5 @@
41
41
  "eo-icon"
42
42
  ]
43
43
  },
44
- "filePath": "bricks/visual-builder/dist/index.f3a75de6.js"
44
+ "filePath": "bricks/visual-builder/dist/index.3b2044a7.js"
45
45
  }
@@ -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(1935),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:()=>R});var r,a=n(4795),o=n(3028),i=n(9464),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=y(e.composedPath())).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=y(e);t.length>0&&window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:t},r)}),100,{leading:!1});function h(e){e.preventDefault(),e.stopPropagation(),v(e.composedPath())}function w(e){e.preventDefault(),e.stopPropagation(),v(e.composedPath())}function m(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},r)}function g(e){var t,n,a;e.preventDefault(),e.stopPropagation(),t=e.composedPath(),n={x:e.clientX,y:e.clientY},(a=y(t)).length>0&&window.parent.postMessage({sender:"previewer",type:"context-menu-on-brick",iidList:a,position:n},r)}function y(e){var t=[];for(var n of e)n instanceof HTMLElement&&"string"==typeof n.dataset.iid&&t.push(n.dataset.iid);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,E=i.getHistory,k=i.matchPath,L=i.__secret_internals,I=!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");E=C,k=D,L=(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]})))}}),I=!0}}catch(e){console.error("Try to use v2 runtime APIs failed:",e)}var A=null,N=null;function R(e,t){return _.apply(this,arguments)}function _(){return _=(0,a.Z)((function*(e,t){var n,d;if(!S){S=!0;var l,v,y,I,x=t=>{window.parent.postMessage((0,o.Z)({sender:"previewer"},t),e)};x({type:"preview-started"}),r=e;var P,C=(e,t,n)=>{var r=M(t);x({type:"highlight-brick",highlightType:e,outlines:r,iid:t,alias:n})};t.templateId&&(P=t.settings);var T=()=>{L.updateTemplatePreviewSettings(t.appId,t.templateId,P),E().reload()},D=()=>{L.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),E().reload()},R=E();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,C("hover",b.iid,b.alias);break;case"hover-on-main":C("hover","#main-mount-point","root");break;case"hover-on-context":d=b.highlightNodes.map((e=>M(e.iid,e.alias))).flat(),x({type:"highlight-context",outlines:d});break;case"select-brick":y=b.iid,I=b.alias,C("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=function(e){for(var t=[],n=e;n;)"string"==typeof n.dataset.iid&&t.push(n.dataset.iid),n=n.parentElement;return t}(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",h,!0),window.addEventListener("pointermove",w,!0),window.addEventListener("pointerup",u,!0),window.addEventListener("pointerleave",m,!0),window.addEventListener("contextmenu",g,!0)):(window.removeEventListener("click",c,!0),window.removeEventListener("mousedown",u,!0),window.removeEventListener("mouseover",u,!0),window.removeEventListener("mouseup",u,!0),window.removeEventListener("pointerdown",h,!0),window.removeEventListener("pointermove",w,!0),window.removeEventListener("pointerup",u,!0),window.removeEventListener("pointerleave",m,!0),window.removeEventListener("contextmenu",g,!0));break;case"refresh":if(null!==(a=b.options)&&void 0!==a&&a.updateStoryboardType){var k,A;"route"===b.options.updateStoryboardType?L.updateStoryboardByRoute(t.appId,b.storyboardPatch):"template"===b.options.updateStoryboardType?L.updateStoryboardByTemplate(t.appId,b.storyboardPatch,b.options.settings):"snippet"===b.options.updateStoryboardType&&L.updateStoryboardBySnippet(t.appId,b.storyboardPatch);var N=yield null===(k=(A=L).getAddedContracts)||void 0===k?void 0:k.call(A,b.storyboardPatch,{appId:t.appId,updateStoryboardType:b.options.updateStoryboardType,formId:t.formId,collectUsedContracts:f.k});(0,s.isEmpty)(N)?E().reload():x({type:"contract-update",data:{add:N}});break}L.updateStoryboard(t.appId,b.storyboardPatch),t.templateId?(P=b.settings,T()):null!==(o=b.options)&&void 0!==o&&o.snippetData?(t.snippetData=b.options.snippetData,D()):E().reload();break;case"reload":location.reload();break;case"back":R.goBack();break;case"forward":R.goForward();break;case"capture":(function(e,t){return p.apply(this,arguments)})(b.maxWidth,b.maxHeight).then((e=>{x({type:"capture-ok",screenshot:e})}),(()=>{x({type:"capture-failed"})}));break;case"inspect-data-value":((e,t)=>{try{var n,r,a,{dataType:o}=t;if("state"===o&&!(n=O()))return void x({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=L.getContextValue(e,{tplStateStoreId:n});else{a="inspect-all-data-values-success";var i=L.getAllContextValues({tplStateStoreId:n});r=Object.entries(i).map((e=>{var[t,n]=e;return{name:t,value:n}}))}x({type:a,data:{name:e,value:r}})}catch(e){x({type:"inspect-data-value-error",data:{message:e.message}})}})(b.name,b.option);break;case"update-preview-url":var _=b.previewUrl.startsWith(window.origin)?b.previewUrl.substring(window.origin.length):b.previewUrl,H=(0,i.getBasePath)(),B=_.startsWith(H)?_.substring(H.length-1):_;E().push(B);break;case"update-preview-route":t.routePath=b.routePath,t.routeExact=b.routeExact,q()}}));return function(e){return n.apply(this,arguments)}}()),window.addEventListener("scroll",(()=>{x({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));var _,H,B=!0,Z=e=>{x({type:"url-change",url:location.origin+R.createHref(e)}),_=e,q()};Z(R.location),R.listen(Z),t.templateId&&T(),t.snippetData&&D(),null===(n=(d=L).addRealTimeDataInspectHook)||void 0===n||n.call(d,(e=>{var{changeType:t,tplStateStoreId:n,detail:r}=e;x({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)]})))}})})),window.addEventListener("route.render",(()=>{U(!0)})),V(),U(!0),new MutationObserver((0,s.throttle)((()=>{V(),U(),l&&C("hover",l,v),y&&C("active",y,I)}),100,{leading:!1})).observe(document.body,{subtree:!0,childList:!0})}function q(){if(t.routePath){var e=!!k(_.pathname,{path:t.routePath,exact:t.routeExact});if(x({type:"route-match-change",match:e}),t.templateId&&!B&&e){var n=document.querySelector("#main-mount-point"),r=new MutationObserver((()=>{1===n.childNodes.length&&"SPAN"===n.firstChild.tagName&&0===n.firstChild.childNodes.length&&(T(),r.disconnect())}));r.observe(n,{childList:!0})}if(t.snippetData&&!B&&e){var a=document.querySelector("#main-mount-point"),o=new MutationObserver((()=>{1===a.childNodes.length&&"SPAN"===a.firstChild.tagName&&0===a.firstChild.childNodes.length&&(D(),o.disconnect())}));o.observe(a,{childList:!0})}B=e}}function V(){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!==A&&(null===(n=A)||void 0===n||n.removeEventListener("scroll",j),null==a||a.addEventListener("scroll",j),A=a,N=r)}function j(){x({type:"content-scroll",scroll:{x:this.scrollLeft,y:this.scrollTop}})}function U(e){var n,r,a=t.templateId?O():void 0;(H!==a||e)&&(H=a,null===(n=(r=L).setRealTimeDataInspectRoot)||void 0===n||n.call(r,{tplStateStoreId:a}))}})),_.apply(this,arguments)}function M(e,t){if(!e)return[];var n=e.includes("#"),r=function(e,t){var n=[];return function r(a){var o=a.querySelectorAll(t?e:'[data-iid="'.concat(e,'"]'));if(n.push(...o),!(a===document&&o.length>0))for(var i of a.querySelectorAll("*"))i.shadowRoot&&r(i.shadowRoot)}(document),n}(e,n),a=function(e,t){return e.map((e=>{var n,r=null===(n=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?A.scrollLeft:0),top:s+window.scrollY+(r?A.scrollTop:0),alias:t,hasContentScroll:r}}))}(r,t);return n?a.map((e=>(0,o.Z)((0,o.Z)({},e),{},{height:window.innerHeight-e.top}))):a}function O(){var e,t=document.querySelector("#main-mount-point");return null==t||null===(e=t.firstChild)||void 0===e?void 0:e.dataset[I?"tplContextId":"tplStateStoreId"]}}}]);
2
+ //# sourceMappingURL=2907.5fb1f0a3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/2907.5fb1f0a3.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(\"pointermove\", onPointerMove, 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(\"pointermove\", onPointerMove, 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.composedPath());\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (eventTargets: EventTarget[]) => {\n const iidList = getPossibleBrickTargets(eventTargets);\n\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.composedPath());\n}\n\nfunction onPointerMove(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event.composedPath());\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.composedPath(), {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n eventTargets: EventTarget[],\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickTargets(eventTargets);\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(eventTargets: EventTarget[]): void {\n const iidList = getPossibleBrickTargets(eventTargets);\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\nexport function getPossibleBrickTargets(eventTargets: EventTarget[]) {\n const targets: string[] = [];\n for (const target of eventTargets) {\n if (\n target instanceof HTMLElement &&\n typeof target.dataset.iid === \"string\"\n ) {\n targets.push(target.dataset.iid);\n }\n }\n return targets;\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 = getElementsIncludingInShadowDOM(iid, isRoot);\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 getElementsIncludingInShadowDOM(\n iid: string,\n isRoot: boolean\n): HTMLElement[] {\n const elements: HTMLElement[] = [];\n\n function walk(root: Document | ShadowRoot) {\n const candidates = root.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n elements.push(...candidates);\n\n // If elements are found in the document, we should stop searching in shadow DOM.\n if (root === document && candidates.length > 0) {\n return;\n }\n\n // These useBrick in v3 bricks will be inside shadow DOM.\n for (const item of root.querySelectorAll(\"*\")) {\n if (item.shadowRoot) {\n walk(item.shadowRoot);\n }\n }\n }\n\n walk(document);\n\n return elements;\n}\n\nfunction getOutlines(elements: HTMLElement[], alias?: string): 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","getPossibleBrickTargets","composedPath","length","parent","postMessage","sender","onMouseEvent","hoverOnBrick","throttle","eventTargets","leading","onPointerDown","onPointerMove","onPointerLeave","onContextMenu","position","x","clientX","y","clientY","targets","target","HTMLElement","dataset","iid","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","e","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","brick","cursor","parentElement","getPossibleBrickIidList","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","walk","root","candidates","querySelectorAll","concat","getElementsIncludingInShadowDOM","_contentScrollHost","hasContentScroll","contains","left","top","getBoundingClientRect","getOutlines","_mainMountPoint$first"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 3636.b4e00e12.js.LICENSE.txt */
2
+ (self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[3636,5628],{8486:(e,t,n)=>{"use strict";n.d(t,{L:()=>a,r:()=>r});var o=n(8657),a=(0,o.createContext)({});function r(){return(0,o.useContext)(a)}},1732:(e,t,n)=>{"use strict";n.d(t,{ME:()=>L});var o=n(7896),a=n(3028),r=n(8657),i=n.n(r),l=n(5178),c=n.n(l),s=n(2779),d=n.n(s),u=n(3321),p=n(8486),f=function(e){return e.inside="inside",e.top="top",e.bottom="bottom",e}({}),h=(0,r.createContext)({});function v(){return(0,r.useContext)(h)}var g=n(305),m=n(9464),b=(0,g.wrapBrick)("icons.general-icon");function y(e){var{data:t,className:n,gap:o,isFirst:a,isLast:l,actions:c,actionsHidden:s,onActionClick:u}=e,p=(0,r.useMemo)((()=>null==c?void 0:c.filter((e=>(0,m.checkIfByTransform)(e,t)))),[c,t]);return s||null==p||!p.length?null:i().createElement("div",{className:d()("actionsBar",n),style:{gap:o}},p.map((e=>i().createElement(x,{key:e.action,action:e,data:t,isFirst:a,isLast:l,onActionClick:u}))))}function x(e){var{action:t,data:n,isFirst:o,isLast:a,onActionClick:l}=e,c=o&&"move-up"===t.action||a&&"move-down"===t.action,s=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c||null==l||l({action:t.action,data:n})}),[t.action,n,c,l]),u=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]);return i().createElement("a",{className:d()("action",{disabled:c}),title:t.title,role:"button",onClick:s,onContextMenu:u,onMouseDown:u},i().createElement(b,t.icon))}var w=(0,g.wrapBrick)("basic.general-link"),k=(0,g.wrapBrick)("icons.general-icon"),E=10,C="0 0 0 1px #ba6d30",S=(0,r.createContext)(!1);function L(e){var{nodes:t,placeholder:n,searchPlaceholder:o,isDrag:a,noSearch:l,allowDrag:s,allowDragToRoot:p,allowDragToInside:v,dropEmit:g}=e,[m,b]=(0,r.useState)(""),[y,x]=(0,r.useState)(a),[w,E]=(0,r.useState)(),[C,L]=(0,r.useState)(),[I,A]=(0,r.useState)(),[M,j]=(0,r.useState)(),[Z,R]=(0,r.useState)(),[D,P]=(0,r.useState)(),{nodeKey:B,onBrickDrop:O,contextMenuFactory:T,matchNode:F}=(0,u.h)(),z=(0,r.useMemo)((()=>{var e;return function(e,t){var n=(e,o,a,r)=>{var i=e.shift();if(i){e.length>0&&e.splice(0,1,"".concat(i,"/").concat(e[0]));var l=o.find((e=>e&&e.key===i&&e.isContainer));if(l)o[r]=null,n(e,l.children,a);else{var c=i.split("/"),s={name:c.pop(),key:i,parentPath:c?c.join("/"):c,originKey:a.key,data:{[t]:i,isContainer:!0},children:[],icon:{icon:"folder",lib:"antd",theme:"filled",color:"orange"},isContainer:!0};"number"==typeof r?o[r]=s:o.push(s),n(e,s.children,a)}}else o.push(a)};return e.forEach(((t,o)=>{if(t.path){var a=t.path.split("/").filter(Boolean);n(a,e,t,o)}})),e.filter(Boolean)}(null!==(e=null==t?void 0:t.slice())&&void 0!==e?e:[],B)}),[t,B]),_=(0,r.useCallback)((e=>{b(e.target.value)}),[]),K=(0,r.useMemo)((()=>null==T?void 0:T()),[T]),$=null==m?void 0:m.trim().toLowerCase(),W=(0,r.useMemo)((()=>{if(l||!$||!z)return z;var e=t=>{var n;t.matchedSelf=F(t,$);var o=null===(n=t.children)||void 0===n?void 0:n.map(e).includes(!0);return t.matched=t.matchedSelf||o,t.matched};return z.forEach(e),z.slice()}),[l,$,z,F]),H=function(e){for(var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e;n;){if(n.draggable&&(t||n!==e)&&"A"!==n.tagName)return n;n=n.parentElement}},Y=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;for(var a of e)if(a.data[n]===t&&(o=a),a.children&&(o=Y(a.children,t,n,o)),o)break;return o},V=()=>{L(null),j(null),A(null),R(null),x(!1)};return(0,r.useEffect)((()=>{x(a)}),[a]),(0,r.useEffect)((()=>(window.addEventListener("dragend",V),()=>{window.removeEventListener("dragend",V)})),[]),i().createElement("div",{style:{height:"100%"},className:"tree-wrapper",onContextMenu:K},null!=z&&z.length?i().createElement("div",null,!l&&i().createElement("div",{className:"searchBox",onContextMenu:e=>e.stopPropagation()},i().createElement("span",{className:d()("filter-input-wrapper",{focus:D})},i().createElement("span",{className:"prefix"},i().createElement(k,{icon:"search",lib:"antd",theme:"outlined"})),i().createElement("input",{value:m,onChange:_,onFocus:()=>P(!0),onBlur:()=>P(!1),autoComplete:"off",placeholder:o}),i().createElement("span",{className:"suffix"},m?i().createElement(k,{className:"clear-button",icon:"close-circle",lib:"antd",theme:"filled",onClick:()=>{b("")}}):null))),i().createElement(S.Provider,{value:!!m},i().createElement(h.Provider,{value:{allow:s,allowDragToRoot:p,dragElement:C,dragOverElement:M,dragStatus:Z,onDragStart:(e,t)=>{var n;if(e.stopPropagation(),s){var o=e.target;null!==(n=o.dataset)&&void 0!==n&&n.container||(x(!0),function(e,t){var n=document.createElement("canvas");document.body.append(n);var o=n.getContext("2d");n.width=o.measureText(t).width+60,n.height=20,n.style.position="absolute",n.style.left="-100%",n.style.zIndex="-100",o.fillStyle="#333333",o.fillRect(0,0,n.width,n.height),o.fillStyle="#999999",o.font="bold 14px Arial",o.fillText(t,20,15),e.dataTransfer.setDragImage(n,0,0)}(e,o.innerText),L(o),E(t))}}}},i().createElement("div",{className:d()({hightlight:a}),onDragOver:e=>{if(e.preventDefault(),y&&"workbenchTree-placeholder-dom"!==e.target.className){var t=(e=>{var t=H(e.target),n=t.dataset.uid;if(!(t===C||null!=n&&n.includes(":"))){var o,{top:a,bottom:r}=t.getBoundingClientRect(),i=v?5:10;return o=e.clientY<a+i?f.top:e.clientY>r-i?f.bottom:v?f.inside:Z,{element:t,node:Y(z,n,B),status:o}}})(e);!t||null!=C&&C.contains(t.element)||(j(t.element),A(t.node),R(t.status))}},onDrop:e=>{if(y){if(O){var t=M;[f.top,f.bottom].includes(Z)&&(t=H(t,!1)),O(e,{curElement:C,overElement:M,parentElement:t,overStatus:Z})}else if(p||1!==Number(M.dataset.level)){var n=I,o=(e,t)=>{for(var a=0;a<e.length;a++){if(e[a].key===t){n=e[a];break}e[a].children&&o(e[a].children,t)}},a=M.dataset.uid;o(z,a);var r=e=>{var t=!1,{container:o,uid:a}=M.dataset,i=o?n.originKey:a,l=e.filter((e=>(e.children&&(e.children=r(e.children)),e.key===i&&(t=!0),e.key!==w.key)));return t&&l.splice(l.findIndex((e=>e.key===i))+("bottom"===Z?1:0),0,w),l},i=function(e){var t=[],n=e=>{e.forEach((e=>{e.isContainer?n(e.children):t.push(c().omit(e,["path","icon"]))}))};return n(e),t}(z),l=w.isContainer?i.find((e=>e.key===w.originKey)):w;l.data.path=n.parentPath||n.path,g({nodes:r(i),curNode:l,overNode:n,status:Z})}V()}}},i().createElement(N,{nodes:W,level:1}))))):i().createElement("div",{className:"placeholder"},n))}function N(e){var{nodes:t,level:n}=e,o=t.length-1;return i().createElement("ul",{className:"tree"},t.filter((e=>(0,m.checkIfOfComputed)(e))).map(((e,t)=>i().createElement(A,{key:e.key,node:e,level:n,isFirst:0===t,isLast:t===o}))))}function I(e){var{style:t}=e,{dragStatus:n}=v(),o=(0,a.Z)({height:22,border:"1px dashed goldenrod",opacity:n===f.inside?"0":"1"},t);return i().createElement("li",{className:"workbenchTree-placeholder-dom",style:o})}function A(e){var t,n,c,{node:s,level:h,isFirst:g,isLast:m}=e,b=!(null!==(t=s.children)&&void 0!==t&&t.length),x=s.isContainer,{hoverKey:L,activeKey:A,basePaddingLeft:M,showMatchedNodeOnly:j,fixedActionsFor:Z,collapsible:R,collapsedNodes:D,nodeKey:P,clickFactory:B,mouseEnterFactory:O,mouseLeaveFactory:T,contextMenuFactory:F,onNodeToggle:z,getCollapsedId:_,skipNotify:K}=(0,u.h)(),{allow:$,allowDragToRoot:W,onDragStart:H,dragElement:Y,dragOverElement:V,dragStatus:q}=v(),{actions:G,actionsHidden:J,onActionClick:Q}=(0,p.r)(),U=h*E+M-2,X=(0,r.useContext)(S),[ee,te]=(0,r.useState)(null),[ne,oe]=(0,r.useState)(!1),[ae,re]=(0,r.useState)(null!==(n=null==D?void 0:D.includes(null==_?void 0:_(s)))&&void 0!==n&&n),ie=(0,r.useMemo)((()=>null==O?void 0:O(s)),[O,s]),le=(0,r.useMemo)((()=>null==T?void 0:T(s)),[T,s]),ce=(0,r.useCallback)((e=>{var t;e.stopPropagation(),null==F||null===(t=F(s))||void 0===t||t(e)}),[F,s]),se=A&&s.key===A,de=(0,r.useMemo)((()=>se?e=>{var t;null==e||null===(t=e.scrollIntoView)||void 0===t||t.call(e,{block:"center",inline:"center"})}:null),[]),ue=(0,r.useMemo)((()=>{return x?s.key:s.data?"mount-point"===(e=s.data).type?e.parent[P]||"".concat(e.parent.$$uid,":").concat(e.mountPoint):e[P]||e.$$uid:void 0;var e}),[P,s,x]);(0,r.useEffect)((()=>{q!==f.inside&&[f.top,f.bottom].includes(q)&&te(q)}),[q]);var pe=(0,r.useMemo)((()=>!!Y&&Y.dataset.uid===String(ue)),[Y,ue]),fe=(0,r.useMemo)((()=>!!V&&V.dataset.uid===String(ue)),[V,ue]),he=(0,r.useMemo)((()=>{var e={opacity:pe?.2:1};return fe&&q===f.inside&&(e={boxShadow:C,background:"rgba(255, 255, 255, 0.1)"}),Object.assign({},e)}),[fe,pe,q]),ve=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),oe(!0),re((e=>!e))}),[]),ge=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]),me=(0,r.useCallback)((e=>{var t;if(!x)return null==B||null===(t=B(s))||void 0===t?void 0:t();ve(e)}),[B,ve,x,s]);(0,r.useEffect)((()=>{ne&&(null==z||z(null==_?void 0:_(s),ae))}),[ne,ae,_,s,z]);var be=R&&!b&&!X;return X&&j&&!s.matched?null:i().createElement(i().Fragment,null,fe&&(W||1!==h)&&ee===f.top&&i().createElement(I,{style:{marginLeft:U}}),i().createElement("li",(0,o.Z)({draggable:$,onDragStart:e=>H(e,s),"data-uid":ue,"data-level":h,style:he},x?{"data-container":x}:{}),i().createElement(w,(0,o.Z)({tabIndex:0,onMouseEnter:ie,onMouseLeave:le,onContextMenu:ce,onClick:me},K?{url:{pathname:(0,l.get)(s.link,"url","href"),state:{notify:!1}}}:(0,a.Z)({},(0,l.pick)(s.link,["url","href"]))),i().createElement("span",{className:d()("nodeLabelRow",{active:se,hover:L&&s.key===L,matched:X&&s.matchedSelf&&!j,fixedActions:Z&&[].concat(Z).some((e=>(0,l.isMatch)(s.data,e))),collapsed:be&&ae,collapsible:be})},i().createElement("span",{className:d()("nodeLabel",{unreachable:s.unreachable}),style:{paddingLeft:U,color:s.labelColor},ref:de},i().createElement("span",{className:"nodeIconWrapper"},be&&i().createElement("span",{className:"collapseIcon",onClick:ve,onMouseDown:ge,title:ae?"Expand":"Collapse",role:"button"},i().createElement(k,{lib:"antd",theme:"outlined",icon:ae?"right":"down"})),i().createElement("span",{className:"nodeIcon"},i().createElement(k,(0,o.Z)({},s.icon,{style:{fontSize:null!==(c=s.icon)&&void 0!==c&&c.imgSrc?14:null}})))),i().createElement("span",{className:"nodeName"},s.name)),i().createElement(y,{className:"nodeActionsBar",data:s.data,isFirst:g,isLast:m,actions:G,onActionClick:Q,actionsHidden:J}),s.badge&&i().createElement("span",{className:"badge"},i().createElement(k,s.badge)))),b||i().createElement(N,{nodes:s.children,level:h+1})),fe&&(W||1!==h)&&ee===f.bottom&&i().createElement(I,{style:{marginLeft:U}}))}},3321:(e,t,n)=>{"use strict";n.d(t,{f:()=>a,h:()=>r});var o=n(8657),a=(0,o.createContext)({});function r(){return(0,o.useContext)(a)}},8401:(e,t,n)=>{"use strict";function o(e,t){switch(typeof e){case"string":return e.toLowerCase().includes(t);case"boolean":case"number":return String(e).includes(t);case"object":return null===e?"null".includes(t):(Array.isArray(e)?e:Object.entries(e).flat()).some((e=>o(e,t)));default:return!1}}n.d(t,{$:()=>o})},2779:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var r=typeof n;if("string"===r||"number"===r)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===r){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)o.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},1674:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(9601),a=n.n(o),r=n(2609),i=n.n(r)()(a());i.push([e.id,".actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}",""]);const l=i.toString()},89:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(9601),a=n.n(o),r=n(2609),i=n.n(r)()(a());i.push([e.id,':host-context(html[data-theme="light"]),\n:host-context(html[data-override-theme="light"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme="dark-v2"]),\n:host-context(html[data-override-theme="dark-v2"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}',""]);const l=i.toString()},2609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,a,r){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(o)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(i[c]=!0)}for(var s=0;s<e.length;s++){var d=[].concat(e[s]);o&&i[d[0]]||(void 0!==r&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),a&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=a):d[4]="".concat(a)),t.push(d))}},t}},9601:e=>{"use strict";e.exports=function(e){return e[1]}},5066:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(6522),a=n(1815);function r(e,t,n){"symbol"==(0,o.Z)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var i=n(5850);function l(e,t,n,l,c,s){function d(e,t,n){return function(o,a){return n&&n(o),e[t].call(o,a)}}function u(e,t){for(var n=0;n<e.length;n++)e[n].call(t);return t}function p(e,t,n,o){if("function"!=typeof e&&(o||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(o?"":" or undefined"));return e}function f(e,t,n,a,i,l,c,s,u,f,h,v,g){function m(e){if(!g(e))throw new TypeError("Attempted to access private element on non-instance")}var b,y,x=t[0],w=t[3],k=!s;if(!k){n||Array.isArray(x)||(x=[x]);var E={},C=[],S=3===i?"get":4===i||v?"set":"value";f?(h||v?E={get:r((function(){return w(this)}),a,"get"),set:function(e){t[4](this,e)}}:E[S]=w,h||r(E[S],a,2===i?"":S)):h||(E=Object.getOwnPropertyDescriptor(e,a))}for(var L=x.length-1;L>=0;L-=n?2:1){var N=x[L],I=n?x[L-1]:void 0,A={},M={kind:["field","accessor","method","getter","setter","class"][i],name:a,metadata:l,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");p(t,"An initializer","be",!0),c.push(t)}.bind(null,A)};try{if(k)y=N.call(I,e,M);else{var j,Z;M.static=u,M.private=f,f||!h&&2!==i?2===i?j=function(e){return m(e),E.value}:((i<2||3===i)&&(j=d(E,"get",f&&m)),(i<2||4===i)&&(Z=d(E,"set",f&&m))):(j=function(e){return e[a]},h&&(Z=function(e,t){e[a]=t}));var R=M.access={has:f?g.bind():function(e){return a in e}};if(j&&(R.get=j),Z&&(R.set=Z),y=N.call(I,v?{get:E.get,set:E.set}:E[S],M),v){if("object"==(0,o.Z)(y)&&y)(b=p(y.get,"accessor.get"))&&(E.get=b),(b=p(y.set,"accessor.set"))&&(E.set=b),(b=p(y.init,"accessor.init"))&&C.push(b);else if(void 0!==y)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0")}else p(y,(h?"field":"method")+" decorators","return")&&(h?C.push(y):E[S]=y)}}finally{A.v=!0}}return(h||v)&&s.push((function(e,t){for(var n=C.length-1;n>=0;n--)t=C[n].call(e,t);return t})),h||k||(f?v?s.push(d(E,"get"),d(E,"set")):s.push(2===i?E[S]:d.call.bind(E[S])):Object.defineProperty(e,a,E)),y}function h(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var v=s[Symbol.metadata||Symbol.for("Symbol.metadata")];var g=Object.create(null==v?null:v),m=function(e,t,n,o){var r,l,c=[],s=function(t){return(0,a.Z)(t)===e},d=new Map;function p(e){e&&c.push(u.bind(null,e))}for(var h=0;h<t.length;h++){var v=t[h];if(Array.isArray(v)){var g=v[1],m=v[2],b=v.length>3,y=16&g,x=!!(8&g),w=0==(g&=7),k=m+"/"+x;if(!w&&!b){var E=d.get(k);if(!0===E||3===E&&4!==g||4===E&&3!==g)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+m);d.set(k,!(g>2)||g)}f(x?e:e.prototype,v,y,b?"#"+m:(0,i.Z)(m),g,o,x?l=l||[]:r=r||[],c,x,b,w,1===g,x&&b?s:n)}}return p(r),p(l),c}(e,t,c,g);return n.length||h(e,g),{e:m,get c(){var t=[];return n.length&&[h(p(f(e,[n],l,e.name,5,g,t),"class decorators","return")||e,g),u.bind(null,t,e)]}}}},1815:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(6522);function a(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,o.Z)(e):"null"));return e}},5863:(e,t,n)=>{"use strict";function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{Z:()=>o})},175:(e,t,n)=>{"use strict";function o(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}n.d(t,{Z:()=>o})},687:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(175);function a(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,(0,o.Z)(e,t,"get"))}},3395:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(5863);function a(e,t,n){(0,o.Z)(e,t),t.set(e,n)}},381:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(175);function a(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,(0,o.Z)(e,t,"set"),n),n}},7896:(e,t,n)=>{"use strict";function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},o.apply(this,arguments)}n.d(t,{Z:()=>o})}}]);
3
+ //# sourceMappingURL=3636.b4e00e12.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/3636.b4e00e12.js","mappings":"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","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(\"\");\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2305(e, t, r, n, o, a) {\n function i(e, t, r) {\n return function (n, o) {\n return r && r(n), e[t].call(n, o);\n };\n }\n function c(e, t) {\n for (var r = 0; r < e.length; r++) e[r].call(t);\n return t;\n }\n function s(e, t, r, n) {\n if (\"function\" != typeof e && (n || void 0 !== e)) throw new TypeError(t + \" must \" + (r || \"be\") + \" a function\" + (n ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) {\n function m(e) {\n if (!h(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var y,\n v,\n g = t[0],\n b = t[3],\n w = !u;\n if (!w) {\n r || Array.isArray(g) || (g = [g]);\n var S = {},\n A = [],\n P = 3 === o ? \"get\" : 4 === o || d ? \"set\" : \"value\";\n f ? (p || d ? S = {\n get: setFunctionName(function () {\n return b(this);\n }, n, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : S[P] = b, p || setFunctionName(S[P], n, 2 === o ? \"\" : P)) : p || (S = Object.getOwnPropertyDescriptor(e, n));\n }\n for (var j = g.length - 1; j >= 0; j -= r ? 2 : 1) {\n var D = g[j],\n E = r ? g[j - 1] : void 0,\n I = {},\n O = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: n,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw new Error(\"attempted to call addInitializer after decoration was finished\");\n s(t, \"An initializer\", \"be\", !0), c.push(t);\n }.bind(null, I)\n };\n try {\n if (w) v = D.call(E, e, O);else {\n var k, F;\n O[\"static\"] = l, O[\"private\"] = f, f || !p && 2 !== o ? 2 === o ? k = function k(e) {\n return m(e), S.value;\n } : ((o < 2 || 3 === o) && (k = i(S, \"get\", f && m)), (o < 2 || 4 === o) && (F = i(S, \"set\", f && m))) : (k = function k(e) {\n return e[n];\n }, p && (F = function F(e, t) {\n e[n] = t;\n }));\n var N = O.access = {\n has: f ? h.bind() : function (e) {\n return n in e;\n }\n };\n if (k && (N.get = k), F && (N.set = F), v = D.call(E, d ? {\n get: S.get,\n set: S.set\n } : S[P], O), d) {\n if (\"object\" == _typeof(v) && v) (y = s(v.get, \"accessor.get\")) && (S.get = y), (y = s(v.set, \"accessor.set\")) && (S.set = y), (y = s(v.init, \"accessor.init\")) && A.push(y);else if (void 0 !== v) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n } else s(v, (p ? \"field\" : \"method\") + \" decorators\", \"return\") && (p ? A.push(v) : S[P] = v);\n }\n } finally {\n I.v = !0;\n }\n }\n return (p || d) && u.push(function (e, t) {\n for (var r = A.length - 1; r >= 0; r--) t = A[r].call(e, t);\n return t;\n }), p || w || (f ? d ? u.push(i(S, \"get\"), i(S, \"set\")) : u.push(2 === o ? S[P] : i.call.bind(S[P])) : Object.defineProperty(e, n, S)), v;\n }\n function u(e, t) {\n return Object.defineProperty(e, Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"), {\n configurable: !0,\n enumerable: !0,\n value: t\n });\n }\n if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\")];\n var f = Object.create(null == l ? null : l),\n p = function (e, t, r, n) {\n var o,\n a,\n i = [],\n s = function s(t) {\n return checkInRHS(t) === e;\n },\n u = new Map();\n function l(e) {\n e && i.push(c.bind(null, e));\n }\n for (var f = 0; f < t.length; f++) {\n var p = t[f];\n if (Array.isArray(p)) {\n var d = p[1],\n h = p[2],\n m = p.length > 3,\n y = 16 & d,\n v = !!(8 & d),\n g = 0 == (d &= 7),\n b = h + \"/\" + v;\n if (!g && !m) {\n var w = u.get(b);\n if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw new Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \" + h);\n u.set(b, !(d > 2) || d);\n }\n applyDec(v ? e : e.prototype, p, y, m ? \"#\" + h : toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r);\n }\n }\n return l(o), l(a), i;\n }(e, t, o, f);\n return r.length || u(e, f), {\n e: p,\n get c() {\n var t = [];\n return r.length && [u(s(applyDec(e, [r], n, e.name, 5, f, t), \"class decorators\", \"return\") || e, f), c.bind(null, t, e)];\n }\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","hasOwn","hasOwnProperty","classes","arg","argType","inner","apply","toString","prototype","module","exports","default","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","this","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","setFunctionName","t","n","description","defineProperty","configurable","applyDecs2305","r","o","a","c","s","TypeError","applyDec","u","l","f","p","d","h","m","y","v","g","b","w","S","A","P","set","getOwnPropertyDescriptor","j","D","E","I","O","kind","metadata","addInitializer","Error","bind","F","N","access","has","init","Symbol","enumerable","create","checkInRHS","Map","toPropertyKey","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classExtractFieldDescriptor","receiver","privateMap","_classPrivateFieldGet","descriptor","classExtractFieldDescriptor","_classPrivateFieldInitSpec","_classPrivateFieldSet","writable"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 7757.3643166e.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[7757],{7757:(e,t,a)=>{a.r(t);var n,i,o,r,l,c,s,h,d,u,p,b,v,E,g,m,f,w,k,L=a(3395),Z=a(1815),x=a(381),N=a(687),y=a(5066),O=a(8657),R=a.n(O),I=a(5727),A=a(305),M=a(8249),T=a(8453),_=a(2779),D=a.n(_),C=(0,A.wrapBrick)("icons.general-icon"),{defineElement:P,property:U,event:W}=(0,I.createDecorators)();i=P("visual-builder.workbench-pane",{styleTexts:[M.Z,T.Z]}),o=U(),l=U({type:Boolean}),s=U({type:Number}),d=W({type:"active.change"}),v=W({type:"active.firstActivated"});var F=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 A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,H,{get:X,set:q}),(0,L.Z)(this,j,{get:$,set:J}),(0,L.Z)(this,F,{writable:!0,value:(f(this),r(this))}),(0,L.Z)(this,S,{writable:!0,value:c(this)}),(0,L.Z)(this,B,{writable:!0,value:h(this)}),(0,L.Z)(this,K,{writable:!0,value:u(this)}),(0,L.Z)(this,z,{writable:!0,value:e=>{e!==this.active&&(this.active=e,(0,N.Z)(this,j).emit(e))}}),(0,L.Z)(this,G,{writable:!0,value:E(this)}),(0,L.Z)(this,V,{writable:!0,value:()=>{(0,N.Z)(this,H).emit()}})}get titleLabel(){return(0,N.Z)(this,F)}set titleLabel(e){(0,x.Z)(this,F,e)}get active(){return(0,N.Z)(this,S)}set active(e){(0,x.Z)(this,S,e)}get badge(){return(0,N.Z)(this,B)}set badge(e){(0,x.Z)(this,B,e)}render(){return R().createElement(Q,{titleLabel:this.titleLabel,active:this.active,badge:this.badge,onActiveChange:(0,N.Z)(this,z),onFirstActivated:(0,N.Z)(this,V)})}}function J(e){b(this,e)}function $(){return p(this)}function q(e){m(this,e)}function X(){return g(this)}function Q(e){var{titleLabel:t,active:a,badge:n,onActiveChange:i,onFirstActivated:o}=e,[r,l]=(0,O.useState)(a),[c,s]=(0,O.useState)(!1);(0,O.useEffect)((()=>{l(a)}),[a]),(0,O.useEffect)((()=>{null==i||i(r)}),[r,i]);var h=(0,O.useCallback)((()=>{l((e=>!e)),c||r||(s(!0),null==o||o())}),[c,r,o]),d=(0,O.useRef)(),[u,p]=(0,O.useState)(!1),b=(0,O.useMemo)((()=>{return e=()=>{p(d.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 R().createElement("div",{className:D()("pane",{scrolled:u})},R().createElement("div",{className:"pane-header",tabIndex:0,onClick:h},R().createElement("div",{className:"pane-title"},R().createElement("span",{className:"title-icon"},r?R().createElement(C,{lib:"antd",theme:"outlined",icon:"down"}):R().createElement(C,{lib:"antd",theme:"outlined",icon:"right"})),R().createElement("div",{className:"title-label"},t),R().createElement("slot",{name:"title"})),R().createElement("slot",{name:"actions"}),n&&R().createElement("div",{className:"badge"},n),R().createElement("div",{className:"pane-scroll-shadow"})),R().createElement("div",{className:"pane-body custom-scrollbar-container",onScroll:b,ref:d},R().createElement("slot",null,R().createElement("div",{style:{padding:"10px 20px",color:"var(--text-color-secondary)"}},"No content"))))}w=Y,({e:[r,c,h,u,p,b,E,g,m,f],c:[k,n]}=(0,y.Z)(w,[[o,1,"titleLabel"],[l,1,"active"],[s,1,"badge"],[d,1,"activeChangeEvent",e=>(0,N.Z)(e,K),(e,t)=>(0,x.Z)(e,K,t)],[v,1,"activeFirstActivatedEvent",e=>(0,N.Z)(e,G),(e,t)=>(0,x.Z)(e,G,t)]],[i],0,(e=>V.has((0,Z.Z)(e))),A.ReactNextElement)),n();var ee,te,ae,ne,ie,oe,re,le=a(6666),ce=a(3571),{defineElement:se,property:he}=(0,I.createDecorators)();te=se("visual-builder.workbench-sidebar",{styleTexts:[ce.Z]}),ae=he();var de=new WeakMap,ue=new WeakMap,pe=new WeakMap,be=new WeakMap;class ve extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,de,{writable:!0,value:(ie(this),ne(this))}),(0,L.Z)(this,ue,{writable:!0,value:()=>{var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])")}}),(0,L.Z)(this,pe,{writable:!0,value:()=>{var e=(0,N.Z)(this,ue).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,L.Z)(this,be,{writable:!0,value:e=>{var t=e.target.assignedNodes();for(var a of t)a.addEventListener("active.change",(0,N.Z)(this,pe))}}),(0,le.Z)(this,"refCallback",(()=>{(0,N.Z)(this,pe).call(this);var e=(0,N.Z)(this,ue).call(this);null==e||e.addEventListener("slotchange",(e=>{(0,N.Z)(this,be).call(this,e)}))}))}get titleLabel(){return(0,N.Z)(this,de)}set titleLabel(e){(0,x.Z)(this,de,e)}render(){return R().createElement(Ee,{titleLabel:this.titleLabel,refCallback:this.refCallback})}}function Ee(e){var{titleLabel:t,refCallback:a}=e;return R().createElement("div",{className:"sidebar",ref:a},R().createElement("div",{className:"title-container"},R().createElement("div",{className:"title-label"},t),R().createElement("slot",{name:"titleToolbar"})),R().createElement("div",{className:"pane-container"},R().createElement("slot",null)))}oe=ve,({e:[ne,ie],c:[re,ee]}=(0,y.Z)(oe,[[ae,1,"titleLabel"]],[te],0,void 0,A.ReactNextElement)),ee();var ge,me,fe,we,ke,Le,Ze,xe,Ne,ye,Oe,Re,Ie,Ae,Me,Te=a(7310),{defineElement:_e,property:De}=(0,I.createDecorators)(),Ce=(0,A.wrapBrick)("eo-link"),Pe=(0,A.wrapBrick)("eo-icon");me=_e("visual-builder.workbench-action",{styleTexts:[Te.Z]}),fe=De({attribute:!1}),ke=De(),Ze=De({type:Boolean}),Ne=De(),Oe=De();var Ue=new WeakMap,We=new WeakMap,Fe=new WeakMap,Se=new WeakMap,Be=new WeakMap;class Ke extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,Ue,{writable:!0,value:(Ie(this),we(this))}),(0,L.Z)(this,We,{writable:!0,value:Le(this)}),(0,L.Z)(this,Fe,{writable:!0,value:xe(this)}),(0,L.Z)(this,Se,{writable:!0,value:ye(this)}),(0,L.Z)(this,Be,{writable:!0,value:Re(this)})}get icon(){return(0,N.Z)(this,Ue)}set icon(e){(0,x.Z)(this,Ue,e)}get to(){return(0,N.Z)(this,We)}set to(e){(0,x.Z)(this,We,e)}get active(){return(0,N.Z)(this,Fe)}set active(e){(0,x.Z)(this,Fe,e)}get href(){return(0,N.Z)(this,Se)}set href(e){(0,x.Z)(this,Se,e)}get target(){return(0,N.Z)(this,Be)}set target(e){(0,x.Z)(this,Be,e)}render(){return R().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 R().createElement(Ce,{className:D()("action",{active:n}),url:a,href:i,target:o},R().createElement(Pe,t))}Ae=Ke,({e:[we,Le,xe,ye,Re,Ie],c:[Me,ge]}=(0,y.Z)(Ae,[[fe,1,"icon"],[ke,1,"to"],[Ze,1,"active"],[Ne,1,"href"],[Oe,1,"target"]],[me],0,void 0,A.ReactNextElement)),ge();var ze=a(9464),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&&e.activeMatchSearch&&(o=Ve(a,n.search)),!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 h of e.activeExcludes)if(!(o=!(0,ze.matchPath)(t,{path:h,exact:!0})))break;return o}(e,t,a)){i.push(String(e.key));for(var s=e.key.split("."),h=0;h<s.length;h++)r.push(s.slice(0,h+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()){var r;if((null!==(r=a.get(i))&&void 0!==r?r:"")!==o)return!1}return!0}var Ye,Je,$e,qe,Xe,Qe,et,tt,at,nt=a(8799),it=(0,A.wrapBrick)("visual-builder.workbench-action"),{defineElement:ot,property:rt}=(0,I.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 ht extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,ct,{writable:!0,value:(et(this),qe(this))}),(0,L.Z)(this,st,{writable:!0,value:Qe(this)})}get appId(){return(0,N.Z)(this,ct)}set appId(e){(0,x.Z)(this,ct,e)}get menu(){return(0,N.Z)(this,st)}set menu(e){(0,x.Z)(this,st,e)}render(){return R().createElement(ut,{appId:this.appId,menu:this.menu})}}tt=ht,({e:[qe,Qe,et],c:[at,Ye]}=(0,y.Z)(tt,[[$e,1,"appId"],[Xe,1,"menu"]],[Je],0,void 0,A.ReactNextElement)),Ye();var dt=new Map;function ut(e){var t,{appId:a,menu:n}=e,i=(0,ze.getHistory)(),[o,r]=(0,O.useState)(),[l,c]=(0,O.useState)(i.location);return(0,O.useEffect)((()=>{var e=i.listen((e=>{c(e)}));return e}),[i]),(0,O.useEffect)((()=>{lt||(lt=a),lt!==a&&(dt.clear(),lt=a)}),[a]),(0,O.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]),R().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&&dt.has(t)&&(a=dt.get(t)),R().createElement(it,{key:t,icon:e.icon,to:a,href:e.href,target:e.target,active:o===t,onClick:()=>(e=>{e.href||dt.set(o,"".concat(l.pathname).concat(l.search))})(e)})}})).filter(Boolean))}var pt,bt,vt,Et,gt,mt,ft,wt,kt,Lt,Zt,xt,Nt,yt,Ot,Rt,It,At,Mt,Tt,_t,Dt,Ct,Pt,Ut,Wt,Ft,St,Bt,Kt,jt,zt,Gt,Ht,Vt,Yt,Jt,$t,qt,Xt,Qt,ea,ta,aa,na,ia,oa,ra,la,ca,sa,ha,da,ua,pa,ba,va,Ea,ga,ma,fa=a(5178),wa=a(8486),ka=a(1732),La=a(3321),Za=a(8401),xa=a(89),Na=a(1674);function ya(e){return e.key}a(928);var Oa,{defineElement:Ra,property:Ia,event:Aa}=(0,I.createDecorators)();bt=Ra("visual-builder.workbench-tree",{styleTexts:[xa.Z,Na.Z]}),vt=Ia({attribute:!1}),gt=Ia({attribute:!1}),ft=Ia({type:Boolean}),kt=Ia(),Zt=Ia({type:Boolean}),Nt=Ia(),Ot=Ia({type:Boolean}),It=Ia({attribute:!1}),Mt=Ia({type:Boolean}),_t=Ia({attribute:!1}),Ct=Ia({attribute:!1}),Ut=Ia({type:Boolean}),Ft=Ia({attribute:!1}),Bt=Ia({type:Boolean}),jt=Ia({type:Boolean}),Gt=Ia({type:Boolean}),Vt=Ia({type:String}),Jt=Ia({type:Boolean}),qt=Aa({type:"action.click"}),ta=Aa({type:"node.click"}),oa=Aa({type:"node.drop"}),sa=Aa({type:"context.menu"}),pa=Aa({type:"node.toggle"});var Ma=new WeakMap,Ta=new WeakMap,_a=new WeakMap,Da=new WeakMap,Ca=new WeakMap,Pa=new WeakMap,Ua=new WeakMap,Wa=new WeakMap,Fa=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,hn=new WeakMap;class dn extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,sn,{get:kn,set:wn}),(0,L.Z)(this,rn,{get:fn,set:mn}),(0,L.Z)(this,an,{get:gn,set:En}),(0,L.Z)(this,Qa,{get:vn,set:bn}),(0,L.Z)(this,$a,{get:pn,set:un}),(0,L.Z)(this,Ma,{writable:!0,value:(ga(this),Et(this))}),(0,L.Z)(this,Ta,{writable:!0,value:mt(this)}),(0,L.Z)(this,_a,{writable:!0,value:wt(this)}),(0,L.Z)(this,Da,{writable:!0,value:Lt(this)}),(0,L.Z)(this,Ca,{writable:!0,value:xt(this)}),(0,L.Z)(this,Pa,{writable:!0,value:yt(this)}),(0,L.Z)(this,Ua,{writable:!0,value:Rt(this)}),(0,L.Z)(this,Wa,{writable:!0,value:At(this)}),(0,L.Z)(this,Fa,{writable:!0,value:Tt(this)}),(0,L.Z)(this,Sa,{writable:!0,value:Dt(this)}),(0,L.Z)(this,Ba,{writable:!0,value:Pt(this)}),(0,L.Z)(this,Ka,{writable:!0,value:Wt(this)}),(0,L.Z)(this,ja,{writable:!0,value:St(this)}),(0,L.Z)(this,za,{writable:!0,value:Kt(this)}),(0,L.Z)(this,Ga,{writable:!0,value:zt(this)}),(0,L.Z)(this,Ha,{writable:!0,value:Ht(this)}),(0,L.Z)(this,Va,{writable:!0,value:Yt(this)}),(0,L.Z)(this,Ya,{writable:!0,value:$t(this)}),(0,L.Z)(this,Ja,{writable:!0,value:Xt(this)}),(0,L.Z)(this,qa,{writable:!0,value:e=>{(0,N.Z)(this,$a).emit(e)}}),(0,L.Z)(this,Xa,{writable:!0,value:aa(this)}),(0,L.Z)(this,en,{writable:!0,value:e=>()=>{(0,N.Z)(this,Qa).emit(e.data)}}),(0,L.Z)(this,tn,{writable:!0,value:ra(this)}),(0,L.Z)(this,nn,{writable:!0,value:e=>{(0,N.Z)(this,an).emit(e)}}),(0,L.Z)(this,on,{writable:!0,value:ha(this)}),(0,L.Z)(this,ln,{writable:!0,value:e=>t=>{t.preventDefault(),(0,N.Z)(this,rn).emit({active:!0,node:null==e?void 0:e.data,x:t.clientX,y:t.clientY})}}),(0,L.Z)(this,cn,{writable:!0,value:ba(this)}),(0,L.Z)(this,hn,{writable:!0,value:(e,t)=>{(0,N.Z)(this,sn).emit({nodeId:e,collapsed:t})}})}get nodes(){return(0,N.Z)(this,Ma)}set nodes(e){(0,x.Z)(this,Ma,e)}get actions(){return(0,N.Z)(this,Ta)}set actions(e){(0,x.Z)(this,Ta,e)}get actionsHidden(){return(0,N.Z)(this,_a)}set actionsHidden(e){(0,x.Z)(this,_a,e)}get placeholder(){return(0,N.Z)(this,Da)}set placeholder(e){(0,x.Z)(this,Da,e)}get isTransformName(){return(0,N.Z)(this,Ca)}set isTransformName(e){(0,x.Z)(this,Ca,e)}get searchPlaceholder(){return(0,N.Z)(this,Pa)}set searchPlaceholder(e){(0,x.Z)(this,Pa,e)}get noSearch(){return(0,N.Z)(this,Ua)}set noSearch(e){(0,x.Z)(this,Ua,e)}get activeKey(){return(0,N.Z)(this,Wa)}set activeKey(e){(0,x.Z)(this,Wa,e)}get showMatchedNodeOnly(){return(0,N.Z)(this,Fa)}set showMatchedNodeOnly(e){(0,x.Z)(this,Fa,e)}get matchNodeDataFields(){return(0,N.Z)(this,Sa)}set matchNodeDataFields(e){(0,x.Z)(this,Sa,e)}get fixedActionsFor(){return(0,N.Z)(this,Ba)}set fixedActionsFor(e){(0,x.Z)(this,Ba,e)}get collapsible(){return(0,N.Z)(this,Ka)}set collapsible(e){(0,x.Z)(this,Ka,e)}get collapsedNodes(){return(0,N.Z)(this,ja)}set collapsedNodes(e){(0,x.Z)(this,ja,e)}get allowDrag(){return(0,N.Z)(this,za)}set allowDrag(e){(0,x.Z)(this,za,e)}get allowDragToRoot(){return(0,N.Z)(this,Ga)}set allowDragToRoot(e){(0,x.Z)(this,Ga,e)}get allowDragToInside(){return(0,N.Z)(this,Ha)}set allowDragToInside(e){(0,x.Z)(this,Ha,e)}get nodeKey(){return(0,N.Z)(this,Va)}set nodeKey(e){(0,x.Z)(this,Va,e)}get skipNotify(){return(0,N.Z)(this,Ya)}set skipNotify(e){(0,x.Z)(this,Ya,e)}render(){return R().createElement(wa.L.Provider,{value:{actions:this.actions,actionsHidden:this.actionsHidden,onActionClick:(0,N.Z)(this,qa)}},R().createElement(La.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:ya,onNodeToggle:(0,N.Z)(this,hn),skipNotify:this.skipNotify,clickFactory:(0,N.Z)(this,en),contextMenuFactory:(0,N.Z)(this,ln),matchNode:(e,t)=>{var a;return(0,Za.$)(e.name,t)||!(null===(a=this.matchNodeDataFields)||void 0===a||!a.length)&&(0,Za.$)("*"===this.matchNodeDataFields?e.data:(0,fa.pick)(e.data,this.matchNodeDataFields),t)}}},R().createElement(ka.ME,{nodes:this.nodes,placeholder:this.placeholder,searchPlaceholder:this.searchPlaceholder,noSearch:this.noSearch,dropEmit:(0,N.Z)(this,nn),allowDrag:this.allowDrag,allowDragToInside:this.allowDragToInside,allowDragToRoot:this.allowDragToRoot})))}}function un(e){ea(this,e)}function pn(){return Qt(this)}function bn(e){ia(this,e)}function vn(){return na(this)}function En(e){ca(this,e)}function gn(){return la(this)}function mn(e){ua(this,e)}function fn(){return da(this)}function wn(e){Ea(this,e)}function kn(){return va(this)}ma=dn,({e:[Et,mt,wt,Lt,xt,yt,Rt,At,Tt,Dt,Pt,Wt,St,Kt,zt,Ht,Yt,$t,Xt,Qt,ea,aa,na,ia,ra,la,ca,ha,da,ua,ba,va,Ea,ga],c:[Oa,pt]}=(0,y.Z)(ma,[[vt,1,"nodes"],[gt,1,"actions"],[ft,1,"actionsHidden"],[kt,1,"placeholder"],[Zt,1,"isTransformName"],[Nt,1,"searchPlaceholder"],[Ot,1,"noSearch"],[It,1,"activeKey"],[Mt,1,"showMatchedNodeOnly"],[_t,1,"matchNodeDataFields"],[Ct,1,"fixedActionsFor"],[Ut,1,"collapsible"],[Ft,1,"collapsedNodes"],[Bt,1,"allowDrag"],[jt,1,"allowDragToRoot"],[Gt,1,"allowDragToInside"],[Vt,1,"nodeKey"],[Jt,1,"skipNotify"],[qt,1,"actionClickEvent",e=>(0,N.Z)(e,Ja),(e,t)=>(0,x.Z)(e,Ja,t)],[ta,1,"nodeClickEvent",e=>(0,N.Z)(e,Xa),(e,t)=>(0,x.Z)(e,Xa,t)],[oa,1,"nodeDropEvent",e=>(0,N.Z)(e,tn),(e,t)=>(0,x.Z)(e,tn,t)],[sa,1,"nodeContextMenuEvent",e=>(0,N.Z)(e,on),(e,t)=>(0,x.Z)(e,on,t)],[pa,1,"nodeToggleEvent",e=>(0,N.Z)(e,cn),(e,t)=>(0,x.Z)(e,cn,t)]],[bt],0,(e=>hn.has((0,Z.Z)(e))),A.ReactNextElement)),pt();var Ln=a(1935),Zn=a(2907);a(894),customElements.define("visual-builder.inject-preview-agent",(0,Ln.createProviderClass)((function(e,t){return(0,Zn.Z)(e,t)})));var xn,Nn,yn,On,Rn,In,An,Mn,Tn,_n,Dn,Cn,Pn,Un,Wn,Fn,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(5932),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,h,d,u,p,b,v,E,g,m="rollback"!==e.action||e.rollBackIdInfo?e.action:"rollback_all",f=ei.i18n.t(null!==(t=ni[e.category])&&void 0!==t?t:e.category),w=ei.i18n.t(null!==(a=ti[m])&&void 0!==a?a:m),k=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),L=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),Z=ri(null===(s=e.abstract)||void 0===s?void 0:s.nodes,null===(h=e.abstract)||void 0===h?void 0:h.nodesCount),x=ri(null===(d=e.abstract)||void 0===d?void 0:d.leftNodes,null===(u=e.abstract)||void 0===u?void 0:u.leftNodesCount),N=ri(null===(p=e.abstract)||void 0===p?void 0:p.rightNodes,null===(b=e.abstract)||void 0===b?void 0:b.rightNodesCount),y="rollback"===m?oi(e.rollBackIdInfo).abstract:null;return{category:f,action:w,leftObjectId:k,rightObjectId:L,nodes:Z,leftNodes:x,rightNodes:N,abstract:ei.i18n.t(null!==(v=ai[m])&&void 0!==v?v:m,{category:f,nodes:Z,leftNodes:x,rightNodes:N,nodeChanges:null===(E=e.abstract)||void 0===E||null===(E=E.nodeChanges)||void 0===E?void 0:E.join(", "),relationChanges:null===(g=e.abstract)||void 0===g||null===(g=g.relationChanges)||void 0===g?void 0:g.join(", "),leftObjectId:k,rightObjectId:L,rollbackAbstract:y}),rollbackAbstract:y}}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:hi}=(0,I.createDecorators)(),di=(0,A.wrapBrick)("eo-button"),ui=(0,A.wrapBrick)("eo-link"),pi=(0,A.wrapBrick)("eo-icon"),bi=(0,A.wrapBrick)("eo-easyops-avatar"),vi=(0,A.wrapBrick)("eo-popover",{onVisibleChange:"visible.change",beforeVisibleChange:"before.visible.change"});Nn=ci("visual-builder.workbench-history-action",{styleTexts:[Vn.Z]}),yn=si(),Rn=si(),An=hi({type:"history.item.click"}),Dn=hi({type:"rollback"}),Wn=hi({type:"rollback.all"});var Ei=new WeakMap,gi=new WeakMap,mi=new WeakMap,fi=new WeakMap,wi=new WeakMap,ki=new WeakMap,Li=new WeakMap,Zi=new WeakMap,xi=new WeakMap,Ni=new WeakMap,yi=new WeakMap;class Oi extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,Ni,{get:_i,set:Ti}),(0,L.Z)(this,Li,{get:Mi,set:Ai}),(0,L.Z)(this,fi,{get:Ii,set:Ri}),(0,L.Z)(this,Ei,{writable:!0,value:(Kn(this),On(this))}),(0,L.Z)(this,gi,{writable:!0,value:In(this)}),(0,L.Z)(this,mi,{writable:!0,value:Mn(this)}),(0,L.Z)(this,wi,{writable:!0,value:e=>{(0,N.Z)(this,fi).emit(e)}}),(0,L.Z)(this,ki,{writable:!0,value:Cn(this)}),(0,L.Z)(this,Zi,{writable:!0,value:e=>{(0,N.Z)(this,Li).emit(e)}}),(0,L.Z)(this,xi,{writable:!0,value:Fn(this)}),(0,L.Z)(this,yi,{writable:!0,value:()=>{(0,N.Z)(this,Ni).emit()}})}get appId(){return(0,N.Z)(this,Ei)}set appId(e){(0,x.Z)(this,Ei,e)}get projectId(){return(0,N.Z)(this,gi)}set projectId(e){(0,x.Z)(this,gi,e)}render(){return R().createElement(Di,{appId:this.appId,projectId:this.projectId,onHistoryItemClick:(0,N.Z)(this,wi),onRollback:(0,N.Z)(this,Zi),onRollbackAll:(0,N.Z)(this,yi)})}}function Ri(e){_n(this,e)}function Ii(){return Tn(this)}function Ai(e){Un(this,e)}function Mi(){return Pn(this)}function Ti(e){Bn(this,e)}function _i(){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,O.useState)(!1),[c,s]=(0,O.useState)(!0),[h,d]=(0,O.useState)(!1),[u,p]=(0,O.useState)([]),b=(0,O.useRef)(""),v=e=>{l(!0),Qn(t,{ts:b.current,limit:20}).then((t=>{p((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,d(t.list.length<20),s(t.list.length<20)})).catch((e=>{(0,ze.handleHttpError)(e)})).finally((()=>{l(!1)}))};return R().createElement(vi,{placement:"bottom",trigger:"click",arrow:!0,arrowColor:"var(--color-fill-bg-container-4)",beforeVisibleChange:e=>{e.detail&&(s(!0),d(!1),p([]),b.current="",v(!0))}},R().createElement(di,{slot:"anchor",shape:"circle",className:"history-action",icon:{lib:"antd",icon:"history",theme:"outlined"}}),R().createElement("div",null,R().createElement("div",{className:"history-title"},"History"),R().createElement("div",{className:"history-list"},u.length?R().createElement(R().Fragment,null,u.map(((e,t)=>R().createElement(Ci,{key:"".concat(e.uniqueKey,"-").concat(e.ts),data:e,enableRollback:0!==t&&"rollback"!==e.action,current:0===t,onHistoryItemClick:a,onRollback:n}))),!c&&R().createElement("span",{className:"load-more-container"},R().createElement(ui,{className:"load-more",disabled:r,onClick:()=>v()},o(Jn.LOAD_MORE))),h&&R().createElement("span",{className:"end-container"},"The End",R().createElement(pi,{className:"rollback-all",lib:"antd",icon:"rollback",theme:"outlined",onClick:()=>i()}))):R().createElement("div",{className:"empty"},o(r?Jn.LOADING:Jn.NO_DATA))),R().createElement("slot",null)))}function Ci(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 R().createElement("div",{className:"item-container"},R().createElement("div",{className:"item-title"},R().createElement("div",{className:"title-left",onClick:()=>i((0,zn.Z)((0,zn.Z)({},t),{},{enableRollback:a}))},R().createElement("div",{className:"topic",title:t.translation.abstract},t.translation.abstract),n&&R().createElement("div",{className:"branch"},"(current)")),R().createElement("div",{className:"title-right"},a&&R().createElement(pi,{className:"rollback",lib:"antd",icon:"rollback",theme:"outlined",onClick:()=>o(t)}))),R().createElement("div",{className:"item-info"},R().createElement(bi,{className:"avatar",nameOrInstanceId:t.user,size:"xs"}),R().createElement("div",{className:"time"},c),R().createElement("div",{className:"operator"},t.user)))}jn=Oi,({e:[On,In,Mn,Tn,_n,Cn,Pn,Un,Fn,Sn,Bn,Kn],c:[li,xn]}=(0,y.Z)(jn,[[yn,1,"appId"],[Rn,1,"projectId"],[An,1,"historyItemClickEvent",e=>(0,N.Z)(e,mi),(e,t)=>(0,x.Z)(e,mi,t)],[Dn,1,"rollbackEvent",e=>(0,N.Z)(e,ki),(e,t)=>(0,x.Z)(e,ki,t)],[Wn,1,"rollbackAllEvent",e=>(0,N.Z)(e,xi),(e,t)=>(0,x.Z)(e,xi,t)]],[Nn],0,(e=>yi.has((0,Z.Z)(e))),A.ReactNextElement)),xn();var Pi,Ui,Wi,Fi,Si,Bi,Ki,ji,zi,Gi,Hi,Vi,Yi,Ji,$i,qi,Xi,Qi,eo,to,ao,no,io,oo,ro,lo,co,so,ho,uo,po,bo,vo,Eo,go,mo=a(1385),{defineElement:fo,property:wo,event:ko}=(0,I.createDecorators)(),Lo=(0,A.wrapBrick)("eo-icon"),Zo=new Set;Ui=fo("visual-builder.page-arch-node",{styleTexts:[mo.Z]}),Wi=wo(),Si=wo(),Ki=wo({attribute:!1}),zi=wo({type:Boolean,render:!1}),Hi=wo({type:Boolean,render:!1}),Yi=wo({type:Boolean,render:!1}),$i=wo(),Xi=ko({type:"label.editing.change"}),ao=ko({type:"label.change"}),ro=ko({type:"child.append"}),ho=ko({type:"external.click"});var xo=new WeakMap,No=new WeakMap,yo=new WeakMap,Oo=new WeakMap,Ro=new WeakMap,Io=new WeakMap,Ao=new WeakMap,Mo=new WeakMap,To=new WeakMap,_o=new WeakMap,Do=new WeakMap,Co=new WeakMap,Po=new WeakMap,Uo=new WeakMap,Wo=new WeakMap,Fo=new WeakMap,So=new WeakMap,Bo=new WeakMap,Ko=new WeakMap;class jo extends A.ReactNextElement{constructor(){super(...arguments),(0,L.Z)(this,Bo,{get:qo,set:$o}),(0,L.Z)(this,Wo,{get:Jo,set:Yo}),(0,L.Z)(this,Co,{get:Vo,set:Ho}),(0,L.Z)(this,To,{get:Go,set:zo}),(0,L.Z)(this,xo,{writable:!0,value:(vo(this),Fi(this))}),(0,L.Z)(this,No,{writable:!0,value:Bi(this)}),(0,L.Z)(this,yo,{writable:!0,value:ji(this)}),(0,L.Z)(this,Oo,{writable:!0,value:Gi(this)}),(0,L.Z)(this,Ro,{writable:!0,value:Vi(this)}),(0,L.Z)(this,Io,{writable:!0,value:Ji(this)}),(0,L.Z)(this,Ao,{writable:!0,value:qi(this)}),(0,L.Z)(this,Mo,{writable:!0,value:Qi(this)}),(0,L.Z)(this,_o,{writable:!0,value:e=>{(0,N.Z)(this,To).emit(e)}}),(0,L.Z)(this,Do,{writable:!0,value:no(this)}),(0,L.Z)(this,Po,{writable:!0,value:e=>{(0,N.Z)(this,Co).emit(e)}}),(0,L.Z)(this,Uo,{writable:!0,value:lo(this)}),(0,L.Z)(this,Fo,{writable:!0,value:()=>{(0,N.Z)(this,Wo).emit()}}),(0,L.Z)(this,So,{writable:!0,value:uo(this)}),(0,L.Z)(this,Ko,{writable:!0,value:e=>{(0,N.Z)(this,Bo).emit(e)}})}get label(){return(0,N.Z)(this,xo)}set label(e){(0,x.Z)(this,xo,e)}get type(){return(0,N.Z)(this,No)}set type(e){(0,x.Z)(this,No,e)}get external(){return(0,N.Z)(this,yo)}set external(e){(0,x.Z)(this,yo,e)}get active(){return(0,N.Z)(this,Oo)}set active(e){(0,x.Z)(this,Oo,e)}get notSynced(){return(0,N.Z)(this,Ro)}set notSynced(e){(0,x.Z)(this,Ro,e)}get disableChildAppend(){return(0,N.Z)(this,Io)}set disableChildAppend(e){(0,x.Z)(this,Io,e)}get autoFocusOnce(){return(0,N.Z)(this,Ao)}set autoFocusOnce(e){(0,x.Z)(this,Ao,e)}render(){return R().createElement(Xo,{label:this.label,type:this.type,external:this.external,autoFocusOnce:this.autoFocusOnce,onLabelEditingChange:(0,N.Z)(this,_o),onLabelChange:(0,N.Z)(this,Po),onChildAppend:(0,N.Z)(this,Fo),onExternalClick:(0,N.Z)(this,Ko)})}}function zo(e){to(this,e)}function Go(){return eo(this)}function Ho(e){oo(this,e)}function Vo(){return io(this)}function Yo(e){so(this,e)}function Jo(){return co(this)}function $o(e){bo(this,e)}function qo(){return po(this)}function Xo(e){var{label:t,type:a,external:n,autoFocusOnce:i,onLabelEditingChange:o,onLabelChange:r,onChildAppend:l,onExternalClick:c}=e,s="board"===a?"board":"page",[h,d]=(0,O.useState)(t),[u,p]=(0,O.useState)(!1),b=(0,O.useRef)(!1),[v,E]=(0,O.useState)(!1),g=(0,O.useRef)(null);(0,O.useEffect)((()=>{d(t)}),[t]);var m=(0,O.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),p(!0)}),[]);(0,O.useEffect)((()=>{i&&!Zo.has(i)&&(Zo.add(i),setTimeout((()=>{p(!0)}),1))}),[i]),(0,O.useEffect)((()=>{var e,t;u&&(null===(e=g.current)||void 0===e||e.focus({preventScroll:!0}),null===(t=g.current)||void 0===t||t.select())}),[u]),(0,O.useEffect)((()=>{b.current?null==o||o(u):b.current=!0}),[u,o]);var f=(0,O.useCallback)((e=>{d(e.target.value)}),[]),w=(0,O.useCallback)((e=>{var t,a=e.key||e.keyCode||e.which;"Enter"!==a&&13!==a||null===(t=g.current)||void 0===t||t.blur()}),[]),k=(0,O.useCallback)((()=>{p(!1),E(!0)}),[]);(0,O.useEffect)((()=>{v&&(null==r||r(h),E(!1))}),[h,r,v]);var L=(0,O.useCallback)((e=>{e.stopPropagation(),null==l||l()}),[l]),Z=(0,O.useCallback)((e=>{e.stopPropagation(),null==c||c(n)}),[n,c]),x=(0,O.useCallback)((e=>{e.stopPropagation()}),[]);return R().createElement(R().Fragment,null,R().createElement("div",{className:D()("node",s,{"editing-label":u})},R().createElement("input",{className:"label-input",value:h,ref:g,onChange:f,onKeyDown:w,onBlur:k,onContextMenu:x,onMouseDown:x}),R().createElement("div",{className:"label",onDoubleClick:m,onMouseDown:x},h),"board"===s?R().createElement("div",{className:"icon-container"},R().createElement(Lo,{lib:"antd",icon:"unordered-list"})):R().createElement("div",{className:"thumbnail-container"},R().createElement(Lo,{lib:"antd",icon:"ellipsis"}),n&&R().createElement("div",{className:"external",onClick:Z,onDoubleClick:x,onMouseDown:x},R().createElement(Lo,{lib:"antd",icon:"desktop"}),R().createElement("span",{className:"external-label"},n.label)))),R().createElement("div",{className:"add-button",role:"button",onClick:L,onMouseDown:x},R().createElement(Lo,{lib:"fa",icon:"plus"})))}Eo=jo,({e:[Fi,Bi,ji,Gi,Vi,Ji,qi,Qi,eo,to,no,io,oo,lo,co,so,uo,po,bo,vo],c:[go,Pi]}=(0,y.Z)(Eo,[[Wi,1,"label"],[Si,1,"type"],[Ki,1,"external"],[zi,1,"active"],[Hi,1,"notSynced"],[Yi,1,"disableChildAppend"],[$i,1,"autoFocusOnce"],[Xi,1,"labelEditingChange",e=>(0,N.Z)(e,Mo),(e,t)=>(0,x.Z)(e,Mo,t)],[ao,1,"labelChange",e=>(0,N.Z)(e,Do),(e,t)=>(0,x.Z)(e,Do,t)],[ro,1,"childAppend",e=>(0,N.Z)(e,Uo),(e,t)=>(0,x.Z)(e,Uo,t)],[ho,1,"externalClick",e=>(0,N.Z)(e,So),(e,t)=>(0,x.Z)(e,So,t)]],[Ui],0,(e=>Ko.has((0,Z.Z)(e))),A.ReactNextElement)),Pi()},1385:(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{--local-node-outline-style:solid;display:block}:host([hidden]){display:none}:host([not-synced]){--local-node-outline-style:dashed}*{box-sizing:border-box}.node{width:168px;max-width:none;height:130px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.node.board{height:70px;max-width:168px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding-bottom:4px}.label,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:18px;font-size:var(--sub-title-font-size-small);color:var(--color-header-text);font-weight:var(--font-weight-500);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.node.editing-label .label{height:0}.node:not(.editing-label) .label-input{display:none}.add-button,\n.icon-container,\n.thumbnail-container{display:flex;align-items:center;justify-content:center}.thumbnail-container{height:98px;outline:1px var(--local-node-outline-style) var(--palette-gray-4);opacity:1;border:4px solid transparent;border-radius:4px;overflow:hidden;color:var(--palette-gray-5);font-size:36px;width:100%;position:relative}.icon-container{font-size:20px;background-color:var(--palette-teal-6);color:var(--palette-gray-4);width:36px;height:36px;border-radius:50%;outline-offset:4px}:host([active]) .thumbnail-container,\n:host([active]) .icon-container{outline:2px var(--local-node-outline-style) var(--palette-blue-3)}:host(:not([active])) .node:hover .thumbnail-container,\n:host(:not([active])) .node:hover .icon-container{outline:1px var(--local-node-outline-style) var(--palette-blue-3)}.add-button{position:absolute;bottom:-26px;left:calc(50% - 12px);width:24px;height:24px;background:var(--palette-gray-3);color:var(--palette-gray-6);border-radius:50%;cursor:pointer}:host([not-synced]) .add-button,\n:host([disable-child-append]) .add-button,\n:host(:not([active])) .add-button{display:none}.add-button:hover{background:var(--palette-blue-5);color:var(--palette-gray-2)}.external{position:absolute;top:4px;left:4px;padding:0 10px;display:flex;align-items:center;gap:6px;background:var(--palette-purple-4);font-size:12px;line-height:20px;height:22px;cursor:pointer;color:var(--palette-gray-1);border-radius:9999px;right:4px;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}.external-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.external:hover{background:var(--palette-purple-5)}",""]);const l=r.toString()},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=7757.3643166e.js.map