@next-bricks/visual-builder 1.19.0 → 1.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +13 -13
- package/dist/chunks/{8091.595e8d52.js → 8091.7b67daa4.js} +3 -3
- package/dist/chunks/8091.7b67daa4.js.map +1 -0
- package/dist/chunks/{8275.a45fc2d4.js → 8275.dfcd99a8.js} +3 -3
- package/dist/chunks/8275.dfcd99a8.js.map +1 -0
- package/dist/chunks/9027.fe4a7e3b.js +2 -0
- package/dist/chunks/9027.fe4a7e3b.js.map +1 -0
- package/dist/chunks/{main.0328c44b.js → main.fb41bc3d.js} +2 -2
- package/dist/chunks/{main.0328c44b.js.map → main.fb41bc3d.js.map} +1 -1
- package/dist/chunks/property-editor.e0c3a0f1.js +2 -0
- package/dist/chunks/property-editor.e0c3a0f1.js.map +1 -0
- package/dist/{index.193d3fcb.js → index.76fe5dac.js} +2 -2
- package/dist/{index.193d3fcb.js.map → index.76fe5dac.js.map} +1 -1
- package/dist/manifest.json +74 -68
- package/dist/types.json +86 -57
- package/dist-types/data-providers/preview/interfaces.d.ts +2 -1
- package/dist-types/property-editor/index.d.ts +12 -10
- package/package.json +2 -2
- package/dist/chunks/8091.595e8d52.js.map +0 -1
- package/dist/chunks/8275.a45fc2d4.js.map +0 -1
- package/dist/chunks/9027.bf52b946.js +0 -2
- package/dist/chunks/9027.bf52b946.js.map +0 -1
- package/dist/chunks/property-editor.c6e5184c.js +0 -2
- package/dist/chunks/property-editor.c6e5184c.js.map +0 -1
- /package/dist/chunks/{8091.595e8d52.js.LICENSE.txt → 8091.7b67daa4.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{8275.a45fc2d4.js.LICENSE.txt → 8275.dfcd99a8.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[9027],{6788:(e,t,o)=>{o.d(t,{b:()=>i});var n=o(9991),a=o(2153),r=o(6946);function i(e){const t=function(e){const t=new Set;return(0,a.h)(e,(e=>{switch(e.type){case"Resolvable":case"EventHandler":{var o;const n=null===(o=e.raw)||void 0===o?void 0:o.useProvider;n&&t.add(n)}}})),t}((0,r.lN)(e)),o=[];for(const e of t)e.includes("@")&&o.push(e);return o}customElements.define("visual-builder.collect-used-contracts",(0,n.createProviderClass)(i))},9027:(e,t,o)=>{o.d(t,{A:()=>D,w:()=>A});var n=o(936),a=o(3688),r=o(6055),i=o(1030),s=o(8317),d=o.n(s);let l;function c(e){e.preventDefault(),e.stopPropagation(),function(e){const t=m(e);t.length>0&&window.parent.postMessage({sender:"previewer",type:"select-brick",iidList:t},l)}(e.composedPath())}function p(e){e.preventDefault(),e.stopPropagation()}const u=(0,i.throttle)((e=>{const t=m(e);t.length>0&&window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:t},l)}),100,{leading:!1});function v(e){e.preventDefault(),e.stopPropagation(),u(e.composedPath())}function w(e){e.preventDefault(),e.stopPropagation(),u(e.composedPath())}function h(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},l)}function g(e){e.preventDefault(),e.stopPropagation(),function(e,t){const o=m(e);o.length>0&&window.parent.postMessage({sender:"previewer",type:"context-menu-on-brick",iidList:o,position:t},l)}(e.composedPath(),{x:e.clientX,y:e.clientY})}function m(e){const t=[];for(const o of e)o instanceof HTMLElement&&"string"==typeof o.dataset.iid&&t.push(o.dataset.iid);return t}var y=o(6788);function b(e){const 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"}}let f=!1,S=n.getHistory,I=n.matchPath,E=n.__secret_internals,L=r.flowApi,k=!1;try{var x;const e=window.dll;if(e&&null!==(x=window.BRICK_NEXT_VERSIONS)&&void 0!==x&&null!==(x=x["brick-container"])&&void 0!==x&&x.startsWith("2.")){const{getHistory:t,developHelper:o,collectDebugContract:n}=e("tYg3"),{matchPath:a}=e("A+yw");S=t,I=a,E={...o,getContextValue(e,t){let{tplStateStoreId:n}=t;return o.getContextValue(e,{tplContextId:n})},getAllContextValues(e){let{tplStateStoreId:t}=e;const n=o.getAllContextValues({tplContextId:t});return Object.fromEntries([...n].map((e=>{let[t,o]=e;return[t,o.value]})))},debugDataValue(e,t){let{tplStateStoreId:n}=t;return o.debugDataValue(e,{tplContextId:n})}},L={collectDebugContract:n},k=!0}}catch(e){console.error("Try to use v2 runtime APIs failed:",e)}let P=null,C=null;async function D(e,t){var o,r;if(f)return;f=!0;const s=t=>{window.parent.postMessage({sender:"previewer",...t},e)};let u,m,k,x;s({type:"preview-started"}),l=e;const D=(e,t,o)=>{const n=T(t);s({type:"highlight-brick",highlightType:e,outlines:n,iid:t,alias:o})};let A;t.templateId&&(A=t.settings);const N=()=>{E.updateTemplatePreviewSettings(t.appId,t.templateId,A),S().reload()},_=()=>{E.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),S().reload()},O=S();window.addEventListener("message",(async o=>{var r,b;let{data:f,origin:I}=o;if(I===e&&f&&"preview-container"===f.sender)if("builder"===f.forwardedFor)switch(f.type){case"hover-on-brick":u=f.iid,m=f.alias,D("hover",f.iid,f.alias);break;case"hover-on-main":D("hover","#main-mount-point","root");break;case"hover-on-context":(e=>{const t=e.map((e=>T(e.iid,e.alias))).flat();s({type:"highlight-context",outlines:t})})(f.highlightNodes);break;case"select-brick":k=f.iid,x=f.alias,D("active",f.iid,f.alias);break;case"hover-on-iframe":(e=>{const 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}},l);else{const o=function(e){const t=[];let o=e;for(;o;)"string"==typeof o.dataset.iid&&t.push(o.dataset.iid),o=o.parentElement;return t}(t);window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:o,isDirection:!0,position:{x:e.x,y:e.y}},l)}})(f.position)}else switch(f.type){case"toggle-inspecting":f.enabled?(window.addEventListener("click",c,!0),window.addEventListener("mousedown",p,!0),window.addEventListener("mouseover",p,!0),window.addEventListener("mouseup",p,!0),window.addEventListener("pointerdown",v,!0),window.addEventListener("pointermove",w,!0),window.addEventListener("pointerup",p,!0),window.addEventListener("pointerleave",h,!0),window.addEventListener("contextmenu",g,!0)):(window.removeEventListener("click",c,!0),window.removeEventListener("mousedown",p,!0),window.removeEventListener("mouseover",p,!0),window.removeEventListener("mouseup",p,!0),window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointermove",w,!0),window.removeEventListener("pointerup",p,!0),window.removeEventListener("pointerleave",h,!0),window.removeEventListener("contextmenu",g,!0));break;case"refresh":if(null!==(r=f.options)&&void 0!==r&&r.updateStoryboardType){var P,C;"route"===f.options.updateStoryboardType?E.updateStoryboardByRoute(t.appId,f.storyboardPatch):"template"===f.options.updateStoryboardType?E.updateStoryboardByTemplate(t.appId,f.storyboardPatch,f.options.settings):"snippet"===f.options.updateStoryboardType&&E.updateStoryboardBySnippet(t.appId,f.storyboardPatch);const e=await(null===(P=(C=E).getAddedContracts)||void 0===P?void 0:P.call(C,f.storyboardPatch,{appId:t.appId,updateStoryboardType:f.options.updateStoryboardType,formId:t.formId,collectUsedContracts:y.b}));(0,i.isEmpty)(e)?S().reload():s({type:"contract-update",data:{add:e}});break}E.updateStoryboard(t.appId,f.storyboardPatch),t.templateId?(A=f.settings,N()):null!==(b=f.options)&&void 0!==b&&b.snippetData?(t.snippetData=f.options.snippetData,_()):S().reload();break;case"reload":location.reload();break;case"back":O.goBack();break;case"forward":O.goForward();break;case"capture":(async function(e,t){const o=await d()(document.body,{logging:!1,scale:1,width:window.innerWidth,height:window.innerHeight,foreignObjectRendering:!0}),n=document.createElement("canvas");var a;return function(e,t,o,n){const a=o/n,{width:r,height:i}=e,s=r/i,d=s>=a,l=d?o:n*s,c=d?o/s:n;t.width=l,t.height=c,t.getContext("2d").drawImage(e,0,0,r,i,0,0,l,c),t.toDataURL()}(o,n,e,t),await(a=n,new Promise((function(e,t){a.toBlob((function(o){o?e(o):t()}))})))})(f.maxWidth,f.maxHeight).then((e=>{s({type:"capture-ok",screenshot:e})}),(()=>{s({type:"capture-failed"})}));break;case"inspect-data-value":((e,t)=>{try{const{dataType:o}=t;let n,a,r;if("state"===o&&(n=R(),!n))return void s({type:"inspect-data-value-error",data:{error:{message:"tplStateStoreId not found, unable to preview STATE value"}}});if(e)r="inspect-single-data-value-success",a=E.getContextValue(e,{tplStateStoreId:n});else{r="inspect-all-data-values-success";const e=E.getAllContextValues({tplStateStoreId:n});a=Object.entries(e).map((e=>{let[t,o]=e;return{name:t,value:o}}))}s({type:r,data:{name:e,value:a}})}catch(e){s({type:"inspect-data-value-error",data:{message:e.message}})}})(f.name,f.option);break;case"update-preview-url":{const e=f.previewUrl.startsWith(window.origin)?f.previewUrl.substring(window.origin.length):f.previewUrl,t=(0,n.getBasePath)(),o=e.startsWith(t)?e.substring(t.length-1):e;S().push(o);break}case"update-preview-route":t.routePath=f.routePath,t.routeExact=f.routeExact,V();break;case"debug-data-value":(async(e,o,n)=>{try{o&&L.collectDebugContract([o]);const a=await E.debugDataValue(e,{tplStateStoreId:"state"===n.dataType?R():void 0,routeId:t.routeId});s({type:"debug-data-value-success",data:{debugConf:e,value:a}})}catch(e){s({type:"debug-data-value-error",data:e instanceof a.HttpResponseError?e.responseJson:{message:e.message}})}})(f.debugData,f.contractData,f.options)}})),window.addEventListener("scroll",(()=>{s({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));let q,H=!0;const M=e=>{s({type:"url-change",url:location.origin+O.createHref(e)}),q=e,V()};function V(){if(t.routePath){const e=!!I(q.pathname,{path:t.routePath,exact:t.routeExact});if(s({type:"route-match-change",match:e}),t.templateId&&!H&&e){const e=document.querySelector("#main-mount-point"),t=new MutationObserver((()=>{1===e.childNodes.length&&"SPAN"===e.firstChild.tagName&&0===e.firstChild.childNodes.length&&(N(),t.disconnect())}));t.observe(e,{childList:!0})}if(t.snippetData&&!H&&e){const e=document.querySelector("#main-mount-point"),t=new MutationObserver((()=>{1===e.childNodes.length&&"SPAN"===e.firstChild.tagName&&0===e.firstChild.childNodes.length&&(_(),t.disconnect())}));t.observe(e,{childList:!0})}H=e}}function B(){var e;const t=document.querySelector("eo-page-view"),o=(null==t||null===(e=t.shadowRoot)||void 0===e?void 0:e.querySelector(".content"))??null;var n;o!==P&&(null===(n=P)||void 0===n||n.removeEventListener("scroll",j),null==o||o.addEventListener("scroll",j),P=o,C=t)}function j(){s({type:"content-scroll",scroll:{x:this.scrollLeft,y:this.scrollTop}})}M(O.location),O.listen(M),t.templateId&&N(),t.snippetData&&_();const U=()=>{var e;const o=t.routeId,n=E.getLegalRuntimeValue({routeId:o});s({type:"inspect-runtime-data-value",data:{...(0,i.omit)(n,"query"),query:n.query?Object.fromEntries(n.query.entries()):{},path:null===(e=n.match)||void 0===e?void 0:e.params}})};let W;function Y(e){const o=t.templateId?R():void 0;var n,a;(W!==o||e)&&(W=o,null===(n=(a=E).setRealTimeDataInspectRoot)||void 0===n||n.call(a,{tplStateStoreId:o}))}null===(o=(r=E).addRealTimeDataInspectHook)||void 0===o||o.call(r,(e=>{let{changeType:t,tplStateStoreId:o,detail:n}=e;s({type:"real-time-data-inspect-change",changeType:t,tplStateStoreId:o,detail:"update"===t?{name:n.name,annotation:b(n.value)}:{data:Object.fromEntries(Object.entries(n.data).map((e=>{let[t,o]=e;return[t,b(o)]})))}})})),window.addEventListener("route.render",(()=>{Y(!0),U()})),B(),Y(!0),U(),new MutationObserver((0,i.throttle)((()=>{B(),Y(),u&&D("hover",u,m),k&&D("active",k,x)}),100,{leading:!1})).observe(document.body,{subtree:!0,childList:!0})}function T(e,t){if(!e)return[];const o=e.includes("#"),n=function(e,t){return e.map((e=>{var o;const n=null===(o=C)||void 0===o?void 0:o.contains(e),{width:a,height:r,left:i,top:s}=e.getBoundingClientRect();return{width:a,height:r,left:i+window.scrollX+(n?P.scrollLeft:0),top:s+window.scrollY+(n?P.scrollTop:0),alias:t,hasContentScroll:n}}))}(A(e,o),t);return o?n.map((e=>({...e,height:window.innerHeight-e.top}))):n}function A(e,t){const o=[];return function n(a){const r=a.querySelectorAll(t?e:`[data-iid="${e}"]`);if(o.push(...r),!(a===document&&r.length>0))for(const e of a.querySelectorAll("*"))e.shadowRoot&&n(e.shadowRoot)}(document),o}function R(){var e;const t=document.querySelector("#main-mount-point");return null==t||null===(e=t.firstChild)||void 0===e?void 0:e.dataset[k?"tplContextId":"tplStateStoreId"]}}}]);
|
|
2
|
-
//# sourceMappingURL=9027.bf52b946.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9027.bf52b946.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/realTimeDataInspect.ts","webpack:///./src/data-providers/preview/connect.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.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","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 { HttpResponseError } from \"@next-core/http\";\nimport { flowApi as _flowAPi } from \"@next-core/easyops-runtime\";\nimport type {\n BrickConf,\n Contract,\n CustomTemplate,\n RouteConf,\n} from \"@next-core/types\";\nimport { isEmpty, throttle, omit } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewDebugValueSuccess,\n PreviewMessagePreviewDebugValueError,\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 PreviewDebugData,\n PreviewMessagePreviewInspectRuntimeValue,\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 collectDebugContract: typeof flowApi.collectDebugContract;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet flowApi = _flowAPi;\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 {\n getHistory: getHistoryV2,\n developHelper: developHelperV2,\n collectDebugContract,\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 debugDataValue(data, { tplStateStoreId }) {\n return developHelperV2.debugDataValue(data, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n };\n\n flowApi = {\n collectDebugContract,\n } as any;\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 debugDataValue = async (\n data: PreviewDebugData,\n contractData: Contract,\n previewOption: PreviewDataOption\n ) => {\n try {\n if (contractData) {\n flowApi.collectDebugContract([contractData]);\n }\n const value = await __secret_internals.debugDataValue(data, {\n tplStateStoreId:\n previewOption.dataType === \"state\"\n ? getRootTplStateStoreId()\n : undefined,\n routeId: options.routeId,\n });\n\n sendMessage<PreviewMessagePreviewDebugValueSuccess>({\n type: \"debug-data-value-success\",\n data: {\n debugConf: data,\n value,\n },\n });\n } catch (error) {\n sendMessage<PreviewMessagePreviewDebugValueError>({\n type: \"debug-data-value-error\",\n data:\n error instanceof HttpResponseError\n ? error.responseJson\n : { message: (error as Error).message },\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 \"debug-data-value\":\n debugDataValue(data.debugData, data.contractData, data.options);\n break;\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 const setupRuntimeValueInspect = () => {\n const routeId = options.routeId;\n\n const data = __secret_internals.getLegalRuntimeValue({ routeId });\n sendMessage<PreviewMessagePreviewInspectRuntimeValue>({\n type: \"inspect-runtime-data-value\",\n data: {\n ...omit(data, \"query\"),\n query: data.query ? Object.fromEntries(data.query.entries()) : {},\n path: data.match?.params,\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 setupRuntimeValueInspect();\n });\n\n setupContentScroll();\n setupRealTimeDataInspect(true);\n setupRuntimeValueInspect();\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\nexport function 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","// 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"],"names":["collectUsedContracts","storyboard","collection","nodeOrNodes","Set","traverse","node","type","_node$raw","useProvider","raw","add","collect","parseStoryboard","contracts","item","includes","push","customElements","define","createProviderClass","previewProxyOrigin","onClick","event","preventDefault","stopPropagation","eventTargets","iidList","getPossibleBrickTargets","length","window","parent","postMessage","sender","selectBrick","composedPath","onMouseEvent","hoverOnBrick","throttle","leading","onPointerDown","onPointerMove","onPointerLeave","onContextMenu","position","contextMenuOnBrick","x","clientX","y","clientY","targets","target","HTMLElement","dataset","iid","getRealTimeDataAnnotation","value","Array","isArray","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","flowApi","_flowAPi","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","collectDebugContract","matchPathV2","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","debugDataValue","data","_ref4","e","console","error","contentScrollElement","contentScrollHost","async","connect","previewFromOrigin","options","_secret_internals$ad","_secret_internals","sendMessage","message","hoverIid","hoverAlias","activeIid","activeAlias","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","lastTemplatePreviewSettings","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_data$options","_data$options2","origin","_ref6","forwardedFor","nodes","flat","sendHighlightBricksOutlines","highlightNodes","pos","element","document","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","maxWidth","maxHeight","sourceCanvas","html2canvas","body","logging","scale","width","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","canvas","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","capture","then","screenshot","handlePreviewData","option","dataType","getRootTplStateStoreId","entries","_ref5","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","syncRouteMatch","contractData","previewOption","undefined","routeId","debugConf","HttpResponseError","responseJson","debugData","scroll","scrollX","scrollY","currentLocation","previewPageMatch","sendLocationChange","loc","createHref","match","pathname","path","exact","mainMountPoint","querySelector","placeholderLoadObserver","MutationObserver","childNodes","firstChild","disconnect","observe","childList","setupContentScroll","_host$shadowRoot","host","shadowRoot","_contentScrollElement","onContentScroll","this","scrollLeft","scrollTop","listen","setupRuntimeValueInspect","_data$match","getLegalRuntimeValue","omit","query","params","memoizedRootTplStateStoreId","setupRealTimeDataInspect","force","_secret_internals$se","_secret_internals2","setRealTimeDataInspectRoot","addRealTimeDataInspectHook","_ref8","changeType","detail","annotation","_ref9","mutationCallback","subtree","isRoot","elements","_contentScrollHost","hasContentScroll","contains","left","top","getBoundingClientRect","getOutlines","getElementsIncludingInShadowDOM","walk","root","candidates","querySelectorAll","_mainMountPoint$first"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[5238,4586,9740],{2803:(e,t,r)=>{r.d(t,{M:()=>b});var o=r(9575),n=r(8769),a=r.n(n),i=r(7131),s=r(3340),c=r(7091),d=r(3373),l=r.n(d),p=r(1030),m=r(5908),u=r(1431),v=r(1732),f=r.n(v);const h=(0,s.wrapBrick)("eo-icon"),y=(0,s.wrapBrick)("eo-tooltip");function b(e){const t=(0,c.mN)(),r=(0,c.Mt)(),[s,d]=(0,n.useState)("normal"),v=(0,n.useMemo)((()=>"advanced"===s),[s]),b=(0,n.useMemo)((()=>r.component),[r]),g=(0,n.useCallback)((()=>{const e=v?"normal":"advanced",o="advanced"===e;d(e),r.setComponent(o?"CodeEditor":b[0],{...o?b[1]:{}});const n=t.getValuesIn(r.props.name);if(o&&(0,p.isObject)(n))t.setInitialValues({[r.props.name]:f().safeDump(n)});else if(!o&&n&&"string"==typeof n){let e;try{e=f().load(n)}catch{e=null}t.setInitialValues({[r.props.name]:e},"overwrite")}}),[t,r,v,b]);return(0,c.Uf)((()=>{(0,m.J4)(r.props.name,(e=>{let{value:t}=e;"string"==typeof t&&(0,u.isEvaluable)(t)&&(d("advanced"),r.setComponent("CodeEditor"))}))})),a().createElement("div",{className:"advanced-form-item"},a().createElement(i.eI,(0,o.A)({},e,{layout:v?null:e.layout||"vertical"}),e.children),a().createElement("div",{className:"advanced-mode-check-wrapper"},a().createElement(y,{content:"normal"===s?"使用表达式":"关闭表达式"},a().createElement(h,{className:l()({isActive:v}),lib:"fa",icon:"code",onClick:g}))))}},3768:(e,t,r)=>{r.d(t,{H:()=>a});var o=r(8769),n=r.n(o);function a(e){return n().createElement("div",{className:"custom-category-title"},e.text)}},3824:(e,t,r)=>{r.d(t,{S:()=>s});var o=r(9575),n=r(8769),a=r.n(n);const i=(0,r(3340).wrapBrick)("vs.code-editor",{onChange:"code.change",tokenClick:"token.click"});function s(e){return a().createElement(i,(0,o.A)({minLines:5,automaticLayout:"fit-content",language:"brick_next_yaml",theme:"vs-dark",links:["CTX"]},e))}},2513:(e,t,r)=>{r.d(t,{r:()=>i});var o=r(8769),n=r.n(o);const a=(0,r(3340).wrapBrick)("eo-icon-select",{onChange:"change"});function i(e){return n().createElement(a,e)}},2080:(e,t,r)=>{r.r(t),r.d(t,{DataNode:()=>M.DataNode,LegacyPropertyEditor:()=>me,PropertyEditor:()=>re});var o,n=r(4635),a=r(918),i=r(6902),s=r(5536),c=r(6121),d=r(829),l=r(2740),p=r(8769),m=r.n(p),u=r(5351),v=r(3340),f=(r(9583),r(5908)),h=r(7091),y=r(50),b=r(6768),g=r(8621),A=r(7131),k=r(965),E=r(3768),w=r(2803),x=r(3824),C=r(2513),S=r(936),M=r(1041),O=(r(74),r(1732)),I=r.n(O),N=r(1030),j=r.n(N);let F,P,_,L,V,D,W,T,q,B,R,z,H,$,J,U,G,X;const{defineElement:Y,property:K,method:Q,event:Z}=(0,u.createDecorators)(),ee=m().forwardRef(me),te=(0,h.Uy)({components:{FormLayout:A.Hb,Input:A.pd,FormItem:w.M,FormItemWithoutAdvanced:A.eI,FormCollapse:A.w9,NumberPicker:A.Y_,Radio:A.sx,Select:A.l6,Switch:A.dO,CategoryTitle:E.H,CodeEditor:x.S,IconSelect:C.r}});let re;var oe=new WeakMap,ne=new WeakMap,ae=new WeakMap,ie=new WeakMap,se=new WeakMap,ce=new WeakMap,de=new WeakSet,le=new WeakMap;class pe extends v.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,de),(0,a.A)(this,oe,(F(this),(0,p.createRef)())),(0,a.A)(this,ne,_(this)),(0,a.A)(this,ae,(L(this),V(this))),(0,a.A)(this,ie,(D(this),W(this))),(0,a.A)(this,se,(T(this),q(this))),(0,a.A)(this,ce,(B(this),R(this))),(0,a.A)(this,le,($(this),J(this))),X(this)}get editorName(){return(0,d.A)(ne,this)}set editorName(e){(0,c.A)(ne,this,e)}get values(){return(0,d.A)(ae,this)}set values(e){(0,c.A)(ae,this,e)}get advancedMode(){return(0,d.A)(ie,this)}set advancedMode(e){(0,c.A)(ie,this,e)}get dataList(){return(0,d.A)(se,this)}set dataList(e){(0,c.A)(se,this,e)}validate(){var e;const t=null===(e=(0,d.A)(oe,this).current)||void 0===e?void 0:e.getFormInstance();t.validate().then((()=>{const e=this.advancedMode?I().load(t.values[M.q]):j().omit(t.values,[M.q]);(0,s.A)(de,this,z).emit({...e})})).catch((e=>{(0,s.A)(de,this,U).emit(e)}))}render(){return m().createElement(ee,{ref:(0,d.A)(oe,this),editorName:this.editorName,values:this.values,advancedMode:this.advancedMode,dataList:this.dataList})}}function me(e,t){let{advancedMode:r,values:o,editorName:n,dataList:a}=e;const i=(0,k.useCurrentTheme)(),s=(0,p.useMemo)((()=>(0,g.VC)()),[]),c=(0,p.useMemo)((()=>(0,f.DG)()),[]),[d,l]=(0,p.useState)(null);return(0,p.useImperativeHandle)(t,(()=>({getFormInstance:()=>c}))),(0,p.useEffect)((()=>{n&&(async e=>{await S.__secret_internals.loadEditors([e]),l((()=>S.customEditors.get(e)))})(n)}),[n]),(0,p.useEffect)((()=>{d&&c.setInitialValues(o)}),[c,o,d]),(0,p.useEffect)((()=>{const{values:e}=c.getState();if(r)c.setValuesIn(M.q,j().isEmpty(e)?"":I().safeDump(j().omit(e,[M.q])));else{const t=e[M.q];t?c.setValues(I().safeLoad(t)):c.setValues(e)}}),[r,c]),d?m().createElement("div",{className:"property-form-wrapper"},m().createElement(y.Ay,{prefixCls:"antdV5",theme:{algorithm:"dark-v2"===i?b.A.darkAlgorithm:b.A.defaultAlgorithm},getPopupContainer:e=>e},m().createElement(g.N7,{cache:s},m().createElement(h.Op,{form:c},m().createElement(d,{advancedMode:r,SchemaFieldComponent:te,form:c,scope:{dataList:a},effects:{onFieldInit:f.yd,onFieldValueChange:f.$l,onFieldInitialValueChange:f.J4,onFormValidateSuccess:f.zu},formilySchemaFormatter:M.c}))))):m().createElement("div",null,"无数据")}o=pe,({e:[_,L,V,D,W,T,q,B,R,z,H,$,J,U,G,X,F],c:[re,P]}=(0,l.A)(o,[Y("visual-builder.property-editor",{shadowOptions:!1,dependencies:["eo-icon-select","vs.code-editor","eo-tooltip"]})],[[K(),1,"editorName"],[K({attribute:!1}),1,"values"],[K({type:Boolean}),1,"advancedMode"],[K({attribute:!1}),1,"dataList"],[Z({type:"validate.success"}),1,"successEvent",e=>(0,d.A)(ce,e),(e,t)=>(0,c.A)(ce,e,t)],[Z({type:"validate.error"}),1,"errorEvent",e=>(0,d.A)(le,e),(e,t)=>(0,c.A)(le,e,t)],[Q(),2,"validate"]],0,(e=>oe.has((0,i.A)(e))),v.ReactNextElement)),P()},1041:(e,t,r)=>{r.d(t,{c:()=>i,q:()=>n});var o=r(1030);const n="#advanced_form";function a(e,t){return e?"string"==typeof e?{[`x-${t}`]:e}:{[`x-${t}`]:e.name,[`x-${t}-props`]:e.props}:{}}function i(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])return{type:"object",properties:{layout:{type:"void","x-component":"FormLayout","x-component-props":{layout:"vertical"},properties:{[n]:{title:"属性",type:"string","x-decorator":"FormItemWithoutAdvanced","x-component":"CodeEditor"}}}}};const t=e=>{let r,n={};e.children&&(r=e.children.map(t));const{name:i,type:s,component:c,decorator:d}=e,l="string"===s?{name:"FormItem"}:"boolean"===s?{name:"FormItem",props:{layout:"horizontal"}}:{},p="string"===s?{name:"Input"}:"boolean"===s?{name:"Switch",props:{size:"small"}}:{},m={type:s??"void",...(0,o.omit)(e,["children","component","decorator"]),...a({...l,..."string"==typeof d?{name:d}:d},"decorator"),...a({...p,..."string"==typeof c?{name:c}:c},"component")};if(i?n[i]=m:n=m,r){m.properties={};for(const e of r)e.name?m.properties[e.name]=e:m.properties={...m.properties,...e}}return n};return{type:"object",properties:t(e)}}},6265:(e,t,r)=>{r.d(t,{A:()=>s});var o=r(6758),n=r.n(o),a=r(935),i=r.n(a)()(n());i.push([e.id,'.advanced-form-item{position:relative}.advanced-form-item .advanced-mode-check-wrapper{position:absolute;top:0;right:0}.advanced-form-item .advanced-mode-check-wrapper eo-icon[icon="code"]{cursor:pointer;padding:2px 4px;background:#f2f2f2;border-radius:6px}.advanced-form-item .advanced-mode-check-wrapper eo-icon.isActive[icon="code"]{background:var(--color-brand);color:#fff}',""]);const s=i},7621:(e,t,r)=>{r.d(t,{A:()=>s});var o=r(6758),n=r.n(o),a=r(935),i=r.n(a)()(n());i.push([e.id,".custom-category-title{font-size:14px;font-weight:600;line-height:14px;margin-bottom:12px;border-left:2px solid;padding-left:6px;border-color:#8d8d8d;margin-top:12px}.custom-category-title:first-child{margin-top:0}",""]);const s=i},3276:(e,t,r)=>{r.d(t,{A:()=>l});var o=r(6758),n=r.n(o),a=r(935),i=r.n(a),s=r(6265),c=r(7621),d=i()(n());d.i(s.A),d.i(c.A),d.push([e.id,"",""]);const l=d},74:(e,t,r)=>{var o=r(2591),n=r.n(o),a=r(1740),i=r.n(a),s=r(8128),c=r.n(s),d=r(855),l=r.n(d),p=r(3051),m=r.n(p),u=r(3656),v=r.n(u),f=r(3276),h={};h.styleTagTransform=v(),h.setAttributes=l(),h.insert=c().bind(null,"head"),h.domAPI=i(),h.insertStyleElement=m(),n()(f.A,h),f.A&&f.A.locals&&f.A.locals},4586:(e,t,r)=>{r.d(t,{A:()=>n});var o=r(1369);function n(e,t,r){return(t=(0,o.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},9740:(e,t,r)=>{r.d(t,{A:()=>a});var o=r(4586);function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){(0,o.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}},1369:(e,t,r)=>{r.d(t,{A:()=>n});var o=r(7545);function n(e){var t=function(e,t){if("object"!=(0,o.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=(0,o.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,o.A)(t)?t:t+""}},7545:(e,t,r)=>{function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}r.d(t,{A:()=>o})}}]);
|
|
2
|
-
//# sourceMappingURL=property-editor.c6e5184c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/property-editor.c6e5184c.js","mappings":"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","sources":["webpack:///./src/property-editor/components/AdvancedFormItem/index.tsx","webpack:///./src/property-editor/components/CategoryTitle/index.tsx","webpack:///./src/property-editor/components/common/CodeEditorComponent.tsx","webpack:///./src/property-editor/components/common/IconSelectComponent.tsx","webpack:///./src/property-editor/index.tsx","webpack:///./src/property-editor/utils/formilySchemaFormatter.ts","webpack:///./src/property-editor/components/AdvancedFormItem/AdvancedFormItem.shadow.css","webpack:///./src/property-editor/components/CategoryTitle/CategoryTitle.shadow.css","webpack:///./src/property-editor/style.css","webpack:///./src/property-editor/style.css?280e","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { FormItem, IFormItemProps } from \"@formily/antd-v5\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { useField, useForm, useFormEffects } from \"@formily/react\";\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/src/tooltip\";\nimport classNames from \"classnames\";\nimport { isObject } from \"lodash\";\nimport { onFieldInitialValueChange } from \"@formily/core\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport yaml from \"js-yaml\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\ntype Mode = \"normal\" | \"advanced\";\n\ninterface AdvancedFormItemProps extends IFormItemProps {\n children: React.ReactElement;\n formEffect?: () => void;\n}\n\nexport function AdvancedFormItem(props: AdvancedFormItemProps) {\n const form = useForm();\n const field = useField();\n const [mode, setMode] = useState<Mode>(\"normal\");\n const isAdvanced = useMemo(() => mode === \"advanced\", [mode]);\n const fieldOriginComponent = useMemo<any>(() => field.component, [field]);\n\n const handleModeCheck = useCallback(() => {\n const updateMode = isAdvanced ? \"normal\" : \"advanced\";\n const isAdvancedMode = updateMode === \"advanced\";\n setMode(updateMode);\n field.setComponent(\n isAdvancedMode ? \"CodeEditor\" : fieldOriginComponent[0],\n {\n ...(isAdvancedMode ? fieldOriginComponent[1] : {}),\n }\n );\n\n const value = form.getValuesIn(field.props.name);\n if (isAdvancedMode && isObject(value)) {\n form.setInitialValues({\n [field.props.name as string]: yaml.safeDump(value),\n });\n } else if (!isAdvancedMode && value && typeof value === \"string\") {\n let newValue: any;\n try {\n newValue = yaml.load(value);\n } catch {\n newValue = null;\n }\n form.setInitialValues(\n {\n [field.props.name as string]: newValue,\n },\n \"overwrite\"\n );\n }\n }, [form, field, isAdvanced, fieldOriginComponent]);\n\n useFormEffects(() => {\n onFieldInitialValueChange(field.props.name, ({ value }) => {\n if (typeof value === \"string\" && isEvaluable(value)) {\n setMode(\"advanced\");\n\n field.setComponent(\"CodeEditor\");\n }\n });\n });\n\n return (\n <div className=\"advanced-form-item\">\n <FormItem\n {...{\n ...props,\n layout: isAdvanced ? null : props.layout || \"vertical\",\n }}\n >\n {props.children}\n </FormItem>\n <div className=\"advanced-mode-check-wrapper\">\n <WrappedToolTip\n content={mode === \"normal\" ? \"使用表达式\" : \"关闭表达式\"}\n >\n <WrappedIcon\n className={classNames({\n isActive: isAdvanced,\n })}\n lib=\"fa\"\n icon=\"code\"\n onClick={handleModeCheck}\n />\n </WrappedToolTip>\n </div>\n </div>\n );\n}\n","import React from \"react\";\n\ninterface categoryTitleProps {\n text: string;\n}\nexport function CategoryTitle(props: categoryTitleProps): React.ReactElement {\n return <div className=\"custom-category-title\">{props.text}</div>;\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { CodeEditor, CodeEditorProps } from \"@next-bricks/vs/code-editor\";\n\ninterface CodeEditorComponentProps extends CodeEditorProps {\n onChange?: (value?: any) => void;\n tokenClick?: (value?: any) => void;\n}\n\ninterface CodeEditorEvents {\n \"code.change\"?: (value?: any) => void;\n \"token.click\"?: (value?: any) => void;\n}\n\ninterface CodeEditorEventsMapping {\n onChange: \"code.change\";\n tokenClick: \"token.click\";\n}\n\nconst WrappedCodeEditor = wrapBrick<\n CodeEditor,\n CodeEditorProps,\n CodeEditorEvents,\n CodeEditorEventsMapping\n>(\"vs.code-editor\", {\n onChange: \"code.change\",\n tokenClick: \"token.click\",\n});\n\nexport function CodeEditorComponent(\n props: CodeEditorComponentProps\n): React.ReactElement {\n return (\n <WrappedCodeEditor\n minLines={5}\n automaticLayout=\"fit-content\"\n language={\"brick_next_yaml\"}\n theme={\"vs-dark\"}\n links={[\"CTX\"]}\n {...props}\n />\n );\n}\n","import React from \"react\";\nimport { IconSelect, IconSelectProps } from \"@next-bricks/form/icon-select\";\nimport { wrapBrick } from \"@next-core/react-element\";\ninterface IconSelectComponentProps extends IconSelectProps {\n onChange?: (value?: any) => void;\n}\ninterface IconSelectEvents {\n change?: (value?: any) => void;\n}\nexport interface IconSelectEventsMapping {\n onChange: \"change\";\n}\nconst WrappedIconSelect = wrapBrick<\n IconSelect,\n IconSelectProps,\n IconSelectEvents,\n IconSelectEventsMapping\n>(\"eo-icon-select\", {\n onChange: \"change\",\n});\nexport function IconSelectComponent(props: IconSelectComponentProps) {\n return <WrappedIconSelect {...props} />;\n}\n","import React, {\n useEffect,\n useImperativeHandle,\n useMemo,\n createRef,\n useState,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport {\n createForm,\n Form,\n onFieldValueChange,\n onFieldInit,\n onFieldInitialValueChange,\n onFormValidateSuccess,\n} from \"@formily/core\";\nimport { createSchemaField, FormProvider, ISchema } from \"@formily/react\";\nimport { ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport {\n FormCollapse,\n FormItem,\n FormLayout,\n Input,\n NumberPicker,\n Radio,\n Select,\n Switch,\n} from \"@formily/antd-v5\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { CategoryTitle } from \"./components/CategoryTitle\";\nimport { AdvancedFormItem } from \"./components/AdvancedFormItem\";\nimport { CodeEditorComponent } from \"./components/common/CodeEditorComponent\";\nimport { IconSelectComponent } from \"./components/common/IconSelectComponent\";\nimport { __secret_internals, customEditors } from \"@next-core/runtime\";\nimport {\n ADVANCED_FORM_KEY,\n DataNode,\n formilySchemaFormatter,\n} from \"./utils/formilySchemaFormatter\";\nimport \"./style.css\";\nimport yaml from \"js-yaml\";\nimport _ from \"lodash\";\n\nconst { defineElement, property, method, event } = createDecorators();\n\nconst PropertyEditorComponent = React.forwardRef(LegacyPropertyEditor);\n\nconst SchemaField = createSchemaField({\n components: {\n FormLayout,\n Input,\n FormItem: AdvancedFormItem,\n FormItemWithoutAdvanced: FormItem,\n FormCollapse,\n NumberPicker,\n Radio,\n Select,\n Switch,\n CategoryTitle,\n CodeEditor: CodeEditorComponent,\n IconSelect: IconSelectComponent,\n },\n});\n\nexport interface EditorComponentProps {\n advancedMode?: boolean;\n SchemaFieldComponent: typeof SchemaField;\n formilySchemaFormatter: (data: DataNode, advancedMode: boolean) => ISchema;\n form: Form<any>;\n effects: {\n onFieldInit: typeof onFieldInit;\n onFieldValueChange: typeof onFieldValueChange;\n onFieldInitialValueChange: typeof onFieldInitialValueChange;\n onFormValidateSuccess: typeof onFormValidateSuccess;\n // support any effects\n };\n scope: {\n dataList: DataItem[];\n };\n}\n\nexport interface DefinitionItem {\n name: string;\n type: string;\n enum: string;\n fileds: DefinitionItem[];\n}\n\nexport interface DataItem {\n name: string;\n value: string;\n definition: DefinitionItem[];\n [k: string]: any;\n}\n\nexport { DataNode };\n\n/**\n * 构件 `visual-builder.property-editor`\n */\nexport\n@defineElement(\"visual-builder.property-editor\", {\n // styleTexts: [styleText],\n // 因为有使用 vs.code-editor,需要把 shadowOptions 设置成 false\n shadowOptions: false,\n dependencies: [\"eo-icon-select\", \"vs.code-editor\", \"eo-tooltip\"],\n})\nclass PropertyEditor extends ReactNextElement {\n #formRef = createRef<any>();\n\n /** 构件名称 */\n @property()\n accessor editorName: string | undefined;\n\n /** 值 */\n @property({\n attribute: false,\n })\n accessor values: any | undefined;\n\n /** 高级模式 */\n @property({\n type: Boolean,\n })\n accessor advancedMode: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor dataList: DataItem[];\n\n /**\n * 表单验证成功时触发事件\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<any[]>;\n\n @method()\n validate() {\n const form = this.#formRef.current?.getFormInstance();\n\n form\n .validate()\n .then(() => {\n const realValue = this.advancedMode\n ? yaml.load(form.values[ADVANCED_FORM_KEY])\n : _.omit(form.values, [ADVANCED_FORM_KEY]);\n this.#successEvent.emit({ ...realValue });\n })\n .catch((err: any[]) => {\n this.#errorEvent.emit(err);\n });\n }\n\n render() {\n return (\n <PropertyEditorComponent\n ref={this.#formRef}\n editorName={this.editorName}\n values={this.values}\n advancedMode={this.advancedMode}\n dataList={this.dataList}\n />\n );\n }\n}\n\nexport interface PropertyEditorProps {\n values: any;\n editorName: string;\n advancedMode?: boolean;\n dataList: DataItem[];\n}\n\nexport function LegacyPropertyEditor(\n { advancedMode, values, editorName, dataList }: PropertyEditorProps,\n ref: any\n) {\n const currentTheme = useCurrentTheme();\n const cache = useMemo(() => createCache(), []);\n const form = useMemo(() => createForm(), []);\n const [Editor, setEditor] =\n useState<(props: EditorComponentProps) => React.ReactElement>(null);\n\n useImperativeHandle(ref, () => ({\n getFormInstance: () => form,\n }));\n\n const load = async (editorName: string) => {\n // TODO: cache editors\n await __secret_internals.loadEditors([editorName]);\n setEditor(() => customEditors.get(editorName) as any);\n };\n\n useEffect(() => {\n editorName && load(editorName);\n }, [editorName]);\n\n useEffect(() => {\n if (Editor) {\n form.setInitialValues(values);\n }\n }, [form, values, Editor]);\n\n useEffect(() => {\n const { values } = form.getState();\n if (advancedMode) {\n form.setValuesIn(\n ADVANCED_FORM_KEY,\n _.isEmpty(values)\n ? \"\"\n : yaml.safeDump(_.omit(values, [ADVANCED_FORM_KEY]))\n );\n } else {\n const realValue = values[ADVANCED_FORM_KEY];\n if (realValue) {\n form.setValues(yaml.safeLoad(realValue));\n } else {\n form.setValues(values);\n }\n }\n }, [advancedMode, form]);\n\n if (!Editor) return <div>无数据</div>;\n\n return (\n <div className=\"property-form-wrapper\">\n <ConfigProvider\n prefixCls=\"antdV5\"\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n getPopupContainer={(trigger) => trigger!}\n >\n <StyleProvider cache={cache}>\n <FormProvider form={form}>\n <Editor\n advancedMode={advancedMode}\n SchemaFieldComponent={SchemaField}\n form={form}\n scope={{\n dataList,\n }}\n effects={{\n onFieldInit,\n onFieldValueChange,\n onFieldInitialValueChange,\n onFormValidateSuccess,\n }}\n formilySchemaFormatter={formilySchemaFormatter}\n />\n </FormProvider>\n </StyleProvider>\n </ConfigProvider>\n </div>\n );\n}\n","import type { ISchema } from \"@formily/react\";\nimport { omit } from \"lodash\";\n\nexport const ADVANCED_FORM_KEY = \"#advanced_form\";\n\ntype ComponentType =\n | string\n | {\n name: string;\n props?: Record<string, any>;\n };\n\nexport interface DataNode {\n type: \"void\" | \"string\" | \"object\" | \"boolean\" | \"array\";\n name: string;\n title?: string;\n props?: Record<string, any>;\n decorator?: ComponentType;\n component?: ComponentType;\n children?: DataNode[];\n [k: string]: any;\n}\n\nfunction transformComponent(\n data: ComponentType,\n key: \"decorator\" | \"component\"\n): Record<string, any> {\n if (!data) return {};\n if (typeof data === \"string\") {\n return {\n [`x-${key}`]: data,\n };\n }\n return {\n [`x-${key}`]: data.name,\n [`x-${key}-props`]: data.props,\n };\n}\n\nexport function formilySchemaFormatter(\n data: DataNode,\n advancedMode = false\n): ISchema {\n if (advancedMode) {\n return {\n type: \"object\",\n properties: {\n layout: {\n type: \"void\",\n \"x-component\": \"FormLayout\",\n \"x-component-props\": {\n layout: \"vertical\",\n },\n properties: {\n [ADVANCED_FORM_KEY]: {\n title: \"属性\",\n type: \"string\",\n \"x-decorator\": \"FormItemWithoutAdvanced\",\n \"x-component\": \"CodeEditor\",\n },\n },\n },\n },\n };\n }\n\n const walk = (data: DataNode): Record<string, any> => {\n let children: Record<string, any>[] | undefined;\n let result: Record<string, any> = {};\n if (data.children) {\n children = data.children.map(walk);\n }\n const { name, type, component, decorator } = data;\n\n const defaultDecorator: Record<string, any> =\n type === \"string\"\n ? {\n name: \"FormItem\",\n }\n : type === \"boolean\"\n ? {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n }\n : {};\n\n const defaultComponent: Record<string, any> =\n type === \"string\"\n ? {\n name: \"Input\",\n }\n : type === \"boolean\"\n ? {\n name: \"Switch\",\n props: {\n size: \"small\",\n },\n }\n : {};\n\n const childNode: Record<string, any> = {\n type: type ?? \"void\",\n ...omit(data, [\"children\", \"component\", \"decorator\"]),\n ...transformComponent(\n {\n ...defaultDecorator,\n ...(typeof decorator === \"string\" ? { name: decorator } : decorator),\n },\n \"decorator\"\n ),\n ...transformComponent(\n {\n ...defaultComponent,\n ...(typeof component === \"string\" ? { name: component } : component),\n },\n \"component\"\n ),\n };\n\n if (name) {\n result[name] = childNode;\n } else {\n result = childNode;\n }\n\n if (children) {\n childNode.properties = {};\n for (const item of children) {\n if (item.name) {\n childNode.properties[item.name] = item;\n } else {\n childNode.properties = {\n ...childNode.properties,\n ...item,\n };\n }\n }\n }\n return result;\n };\n\n return {\n type: \"object\",\n properties: walk(data),\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.advanced-form-item{position:relative}.advanced-form-item .advanced-mode-check-wrapper{position:absolute;top:0;right:0}.advanced-form-item .advanced-mode-check-wrapper eo-icon[icon=\"code\"]{cursor:pointer;padding:2px 4px;background:#f2f2f2;border-radius:6px}.advanced-form-item .advanced-mode-check-wrapper eo-icon.isActive[icon=\"code\"]{background:var(--color-brand);color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, `.custom-category-title{font-size:14px;font-weight:600;line-height:14px;margin-bottom:12px;border-left:2px solid;padding-left:6px;border-color:#8d8d8d;margin-top:12px}.custom-category-title:first-child{margin-top:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./components/AdvancedFormItem/AdvancedFormItem.shadow.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./components/CategoryTitle/CategoryTitle.shadow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}"],"names":["WrappedIcon","wrapBrick","WrappedToolTip","AdvancedFormItem","props","form","useForm","field","useField","mode","setMode","useState","isAdvanced","useMemo","fieldOriginComponent","component","handleModeCheck","useCallback","updateMode","isAdvancedMode","setComponent","value","getValuesIn","name","isObject","setInitialValues","yaml","newValue","useFormEffects","onFieldInitialValueChange","_ref","isEvaluable","React","className","FormItem","_extends","layout","children","content","classNames","isActive","lib","icon","onClick","CategoryTitle","text","WrappedCodeEditor","onChange","tokenClick","CodeEditorComponent","minLines","automaticLayout","language","theme","links","WrappedIconSelect","IconSelectComponent","defineElement","property","method","event","createDecorators","PropertyEditorComponent","LegacyPropertyEditor","SchemaField","createSchemaField","components","FormLayout","Input","FormItemWithoutAdvanced","FormCollapse","NumberPicker","Radio","Select","Switch","CodeEditor","IconSelect","_PropertyEditor","_formRef","WeakMap","_A","_B","_C","_D","_E","_PropertyEditor_brand","WeakSet","_F","PropertyEditor","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_editorName","_init_extra_editorName","_init_values","_init_extra_values","_init_advancedMode","_init_extra_advancedMode","_init_dataList","_init_extra_dataList","_init_successEvent","_init_extra_successEvent","_init_errorEvent","_init_extra_errorEvent","editorName","_classPrivateFieldGet","v","_classPrivateFieldSet","values","advancedMode","dataList","validate","_classPrivateFieldGet2","this","current","getFormInstance","then","realValue","ADVANCED_FORM_KEY","_","_classPrivateGetter","_get_successEvent","emit","catch","err","_get_errorEvent","render","ref","currentTheme","useCurrentTheme","cache","createCache","createForm","Editor","setEditor","useImperativeHandle","useEffect","async","__secret_internals","loadEditors","customEditors","get","load","getState","setValuesIn","setValues","ConfigProvider","prefixCls","algorithm","darkAlgorithm","defaultAlgorithm","getPopupContainer","trigger","StyleProvider","FormProvider","SchemaFieldComponent","scope","effects","onFieldInit","onFieldValueChange","onFormValidateSuccess","formilySchemaFormatter","_PropertyEditor2","e","_set_successEvent","_set_errorEvent","c","_initClass","_applyDecs","shadowOptions","dependencies","attribute","type","Boolean","o","has","_checkInRHS","transformComponent","data","key","length","undefined","properties","title","walk","result","map","decorator","defaultDecorator","defaultComponent","size","childNode","omit","item","___CSS_LOADER_EXPORT___","push","module","id","i","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","toPropertyKey","Symbol","toPrimitive","call","TypeError","String","_typeof","iterator","prototype"],"sourceRoot":""}
|
|
File without changes
|
|
File without changes
|