@next-bricks/visual-builder 1.32.5 → 1.33.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 +16 -16
- package/dist/chunks/1889.e1d839b8.js +2 -0
- package/dist/chunks/1889.e1d839b8.js.map +1 -0
- package/dist/chunks/{2252.e622a0bf.js → 2252.57c0cfa2.js} +3 -3
- package/dist/chunks/{2252.e622a0bf.js.map → 2252.57c0cfa2.js.map} +1 -1
- package/dist/chunks/{2528.6af6d36b.js → 2528.cc6b1cb4.js} +3 -3
- package/dist/chunks/{2528.6af6d36b.js.map → 2528.cc6b1cb4.js.map} +1 -1
- package/dist/chunks/{2980.292113dc.js → 2980.5642be0d.js} +2 -2
- package/dist/chunks/{2980.292113dc.js.map → 2980.5642be0d.js.map} +1 -1
- package/dist/chunks/{4837.bbfcab3d.js → 4837.00b9f9c8.js} +2 -2
- package/dist/chunks/{4837.bbfcab3d.js.map → 4837.00b9f9c8.js.map} +1 -1
- package/dist/chunks/{6846.56c301e6.js → 6846.9e0f88a6.js} +3 -3
- package/dist/chunks/6846.9e0f88a6.js.map +1 -0
- package/dist/chunks/{7150.c5457cf6.js → 7150.b7c88730.js} +3 -3
- package/dist/chunks/7150.b7c88730.js.map +1 -0
- package/dist/chunks/{7218.30573c75.js → 7218.1c650441.js} +2 -2
- package/dist/chunks/{7218.30573c75.js.map → 7218.1c650441.js.map} +1 -1
- package/dist/chunks/{9027.5ba5abc4.js → 9027.656260cb.js} +2 -2
- package/dist/chunks/{9027.5ba5abc4.js.map → 9027.656260cb.js.map} +1 -1
- package/dist/chunks/{chat-conversation.5600ab79.js → chat-conversation.79dd76c0.js} +3 -3
- package/dist/chunks/{chat-conversation.5600ab79.js.map → chat-conversation.79dd76c0.js.map} +1 -1
- package/dist/chunks/{chat-preview.9da15245.js → chat-preview.f2ee8a47.js} +3 -3
- package/dist/chunks/{chat-preview.9da15245.js.map → chat-preview.f2ee8a47.js.map} +1 -1
- package/dist/chunks/{check-editor-by-name.ac2dd0e0.js → check-editor-by-name.2d508e3a.js} +2 -2
- package/dist/chunks/{check-editor-by-name.ac2dd0e0.js.map → check-editor-by-name.2d508e3a.js.map} +1 -1
- package/dist/chunks/{contract-select.b2bbe319.js → contract-select.2cbdf1ac.js} +3 -3
- package/dist/chunks/{contract-select.b2bbe319.js.map → contract-select.2cbdf1ac.js.map} +1 -1
- package/dist/chunks/{generate-snippets-context-menu.83328abe.js → generate-snippets-context-menu.e1f5464f.js} +2 -2
- package/dist/chunks/{generate-snippets-context-menu.83328abe.js.map → generate-snippets-context-menu.e1f5464f.js.map} +1 -1
- package/dist/chunks/{main.da441d80.js → main.45d4ff1d.js} +2 -2
- package/dist/chunks/{main.da441d80.js.map → main.45d4ff1d.js.map} +1 -1
- package/dist/chunks/{page-arch-node.59e3fed0.js → page-arch-node.806ae9b1.js} +3 -3
- package/dist/chunks/{page-arch-node.59e3fed0.js.map → page-arch-node.806ae9b1.js.map} +1 -1
- package/dist/chunks/{pre-generated-container.1f208112.js → pre-generated-container.55e5f3fb.js} +2 -2
- package/dist/chunks/{pre-generated-container.1f208112.js.map → pre-generated-container.55e5f3fb.js.map} +1 -1
- package/dist/chunks/{pre-generated-preview.eca3bbb1.js → pre-generated-preview.651a7c85.js} +3 -3
- package/dist/chunks/{pre-generated-preview.eca3bbb1.js.map → pre-generated-preview.651a7c85.js.map} +1 -1
- package/dist/chunks/{pre-generated-table-view.1a7bcbab.js → pre-generated-table-view.e564ed42.js} +2 -2
- package/dist/chunks/{pre-generated-table-view.1a7bcbab.js.map → pre-generated-table-view.e564ed42.js.map} +1 -1
- package/dist/chunks/property-editor.be236948.js +2 -0
- package/dist/chunks/property-editor.be236948.js.map +1 -0
- package/dist/chunks/{workbench-action-list.34889a17.js → workbench-action-list.69f9bed8.js} +2 -2
- package/dist/chunks/{workbench-action-list.34889a17.js.map → workbench-action-list.69f9bed8.js.map} +1 -1
- package/dist/chunks/{workbench-history-action.fc8db5e1.js → workbench-history-action.3e1716c6.js} +3 -3
- package/dist/chunks/{workbench-history-action.fc8db5e1.js.map → workbench-history-action.3e1716c6.js.map} +1 -1
- package/dist/chunks/{workbench-tree.7a82e0b6.js → workbench-tree.c310d2b9.js} +3 -3
- package/dist/chunks/{workbench-tree.7a82e0b6.js.map → workbench-tree.c310d2b9.js.map} +1 -1
- package/dist/examples.json +3 -3
- package/dist/{index.ab067c78.js → index.9b5023a6.js} +2 -2
- package/dist/{index.ab067c78.js.map → index.9b5023a6.js.map} +1 -1
- package/dist/manifest.json +79 -79
- package/dist/types.json +13 -13
- package/package.json +2 -2
- package/dist/chunks/1889.c7c6109c.js +0 -2
- package/dist/chunks/1889.c7c6109c.js.map +0 -1
- package/dist/chunks/6846.56c301e6.js.map +0 -1
- package/dist/chunks/7150.c5457cf6.js.map +0 -1
- package/dist/chunks/property-editor.17a7f5aa.js +0 -2
- package/dist/chunks/property-editor.17a7f5aa.js.map +0 -1
- /package/dist/chunks/{2252.e622a0bf.js.LICENSE.txt → 2252.57c0cfa2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{2528.6af6d36b.js.LICENSE.txt → 2528.cc6b1cb4.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6846.56c301e6.js.LICENSE.txt → 6846.9e0f88a6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7150.c5457cf6.js.LICENSE.txt → 7150.b7c88730.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-conversation.5600ab79.js.LICENSE.txt → chat-conversation.79dd76c0.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-preview.9da15245.js.LICENSE.txt → chat-preview.f2ee8a47.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{contract-select.b2bbe319.js.LICENSE.txt → contract-select.2cbdf1ac.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{page-arch-node.59e3fed0.js.LICENSE.txt → page-arch-node.806ae9b1.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{pre-generated-preview.eca3bbb1.js.LICENSE.txt → pre-generated-preview.651a7c85.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{workbench-history-action.fc8db5e1.js.LICENSE.txt → workbench-history-action.3e1716c6.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{workbench-tree.7a82e0b6.js.LICENSE.txt → workbench-tree.c310d2b9.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[7218,4837],{4837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>i,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>v,useRecentApps:()=>o,useRouteRender:()=>d});var n=t(8769),s=t(
|
|
2
|
-
//# sourceMappingURL=7218.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[7218,4837],{4837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>i,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>v,useRecentApps:()=>o,useRouteRender:()=>d});var n=t(8769),s=t(6203);let c=function(e){let{useBrick:r,data:t,errorBoundary:c,refCallback:u,ignoredCallback:a}=e;const[i,o]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=s.__secret_internals.getRenderId)||void 0===e?void 0:e.call(s.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await s.__secret_internals.renderUseBrick(r,t,c);if(e)return;o(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=s.__secret_internals.getRenderId)||void 0===r?void 0:r.call(s.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,s.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,c]);const y=(0,n.useCallback)((e=>{e?l.current=s.__secret_internals.mountUseBrick(i,e):(s.__secret_internals.unmountUseBrick(i,l.current),l.current=void 0),null==u||u(e)}),[u,i]);if(!i)return null;const{tagName:v}=i;if(null===v)return null==a||a(),null;const m=v;return n.createElement(m,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:s}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(c,{key:r,useBrick:e,data:t,errorBoundary:s})))):n.createElement(c,{useBrick:r,data:t,errorBoundary:s})};const a=(0,s.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(c=e(n),u=r(n))}function i(){const[e,r]=(0,n.useState)(s.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function o(){const[e,r]=n.useState((()=>(0,s.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return o().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(1030);const y=new Map;function v(){const{provider:e,customOptions:r,dependencies:t,requestInit:c}=function(e,r,t){const s=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),c=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(c).reduce(((r,t)=>(e.includes(t)||(r[t]=c[t]),r)),{});return{options:{...t},args:r}}),[c]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),i=c.loading||Array.isArray(a);return{provider:s,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=c[r],e)),{}),loading:i})),[c]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:i,cache:o,...l}=r,[d,v]=(0,n.useState)(l.loading),m=(0,n.useRef)("pending"),k=(0,n.useRef)(),_=(0,n.useRef)(!1),h=(0,n.useRef)(),w=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{h.current=void 0,i||v(!0);const t=await async function(e,r,t){let n;const c=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s<t;s++)n[s-1]=arguments[s];try{const t="object"!=typeof(c=n)||null===c||Array.isArray(c)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var c}(e,...t);return!r&&y.has(c)&&y.delete(c),y.has(c)?n=y.get(c):(n=(0,s.fetchByProvider)(e,t),r&&y.set(c,n)),n}(e,o,r);w.current=t,b.current=a(b.current,t)}catch(e){h.current=e,b.current=void 0}return i||v(!1),h.current&&u(h.current),b.current}),[e,r,t,c,i,a,l.data,u,o]),O=(0,n.useCallback)((async(r,t)=>{let n=e,s=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?s=r:(0,g.isObject)(t)&&(s=t),i?(async()=>(k.current=E(n,s).then((e=>(m.current="success",e)),(e=>(m.current="error",e.current=e,e))),B(),await k.current))():E(n,s)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>h.current}})),[O]);if((0,n.useEffect)((()=>(_.current=!0,Array.isArray(t)&&e&&R.query(e,c.args),()=>_.current=!1)),t),i&&k.current)switch(m.current){case"pending":throw k.current;case"error":throw h.current}return Object.assign([R,w.current,d,h.current],{request:R,...R,response:w.current,data:b.current,loading:d,error:h.current})}var m=t(1389);async function k(e,r){return await s.__secret_internals.loadBricks([e]),(0,m.wrapBrick)(e,r)}function _(){const[e,r]=(0,n.useState)((()=>(0,s.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function h(e,r){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await k(e,r)}))):null),[e,r])}}}]);
|
|
2
|
+
//# sourceMappingURL=7218.1c650441.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7218.30573c75.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args);\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7218.1c650441.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args);\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
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(3518),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:()=>N});var n=o(1094),a=o(9422),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=g(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=g(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 h(e){e.preventDefault(),e.stopPropagation(),u(e.composedPath())}function w(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},l)}function m(e){e.preventDefault(),e.stopPropagation(),function(e,t){const o=g(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 g(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 f(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 b=!1,S=n.getHistory,I=n.matchPath,E=n.__secret_internals,L=r.flowApi,k=!1;try{var P;const e=window.dll;if(e&&null!==(P=window.BRICK_NEXT_VERSIONS)&&void 0!==P&&null!==(P=P["brick-container"])&&void 0!==P&&P.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 x=null,C=null;async function D(e,t){var o,r;if(b)return;b=!0;const s=t=>{window.parent.postMessage({sender:"previewer",...t},e)};let u,g,k,P;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 N;t.templateId&&(N=t.settings);const R=()=>{E.updateTemplatePreviewSettings(t.appId,t.templateId,N),S().reload()},O=()=>{E.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),S().reload()},_=()=>{E.updateFormPreviewSettings(t.appId,t.formId,t.formData),S().reload()},q=S();window.addEventListener("message",(async o=>{var r,f;let{data:b,origin:I}=o;if(I===e&&b&&"preview-container"===b.sender)if("builder"===b.forwardedFor)switch(b.type){case"hover-on-brick":u=b.iid,g=b.alias,D("hover",b.iid,b.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})})(b.highlightNodes);break;case"select-brick":k=b.iid,P=b.alias,D("active",b.iid,b.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)}})(b.position)}else switch(b.type){case"toggle-inspecting":b.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",h,!0),window.addEventListener("pointerup",p,!0),window.addEventListener("pointerleave",w,!0),window.addEventListener("contextmenu",m,!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",h,!0),window.removeEventListener("pointerup",p,!0),window.removeEventListener("pointerleave",w,!0),window.removeEventListener("contextmenu",m,!0));break;case"refresh":if(null!==(r=b.options)&&void 0!==r&&r.updateStoryboardType){var x;let e;var C,M;"route"===b.options.updateStoryboardType?E.updateStoryboardByRoute(t.appId,b.storyboardPatch):"template"===b.options.updateStoryboardType?E.updateStoryboardByTemplate(t.appId,b.storyboardPatch,b.options.settings):"snippet"===b.options.updateStoryboardType?E.updateStoryboardBySnippet(t.appId,b.storyboardPatch):"form"===b.options.updateStoryboardType&&E.updateFormPreviewSettings(t.appId,t.formId,b.storyboardPatch),"form"!==(null===(x=b.options)||void 0===x?void 0:x.updateStoryboardType)&&(e=await(null===(C=(M=E).getAddedContracts)||void 0===C?void 0:C.call(M,b.storyboardPatch,{appId:t.appId,updateStoryboardType:b.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,b.storyboardPatch),t.templateId?(N=b.settings,R()):t.formId||t.formData?_():null!==(f=b.options)&&void 0!==f&&f.snippetData?(t.snippetData=b.options.snippetData,O()):S().reload();break;case"reload":location.reload();break;case"back":q.goBack();break;case"forward":q.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()}))})))})(b.maxWidth,b.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=A(),!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}})}})(b.name,b.option);break;case"update-preview-url":{const e=b.previewUrl.startsWith(window.origin)?b.previewUrl.substring(window.origin.length):b.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=b.routePath,t.routeExact=b.routeExact,B();break;case"debug-data-value":(async(e,o,n)=>{try{o&&L.collectDebugContract([o]);const a=await E.debugDataValue(e,{tplStateStoreId:"state"===n.dataType?A():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}})}})(b.debugData,b.contractData,b.options)}})),window.addEventListener("scroll",(()=>{s({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));let M,H=!0;const V=e=>{s({type:"url-change",url:location.origin+q.createHref(e)}),M=e,B()};function B(){if(t.routePath){const e=!!I(M.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&&(R(),t.disconnect())}));t.observe(e,{childList:!0})}if(t.formId&&!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})}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&&(O(),t.disconnect())}));t.observe(e,{childList:!0})}H=e}}function j(){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!==x&&(null===(n=x)||void 0===n||n.removeEventListener("scroll",F),null==o||o.addEventListener("scroll",F),x=o,C=t)}function F(){s({type:"content-scroll",scroll:{x:this.scrollLeft,y:this.scrollTop}})}V(q.location),q.listen(V),t.templateId&&R(),(t.formId||t.formData)&&_(),t.snippetData&&O();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?A():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:f(n.value)}:{data:Object.fromEntries(Object.entries(n.data).map((e=>{let[t,o]=e;return[t,f(o)]})))}})})),window.addEventListener("route.render",(()=>{Y(!0),U()})),j(),Y(!0),U(),new MutationObserver((0,i.throttle)((()=>{j(),Y(),u&&D("hover",u,g),k&&D("active",k,P)}),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?x.scrollLeft:0),top:s+window.scrollY+(n?x.scrollTop:0),alias:t,hasContentScroll:n}}))}(N(e,o),t);return o?n.map((e=>({...e,height:window.innerHeight-e.top}))):n}function N(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 A(){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.
|
|
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(3518),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:()=>N});var n=o(6203),a=o(9422),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=g(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=g(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 h(e){e.preventDefault(),e.stopPropagation(),u(e.composedPath())}function w(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},l)}function m(e){e.preventDefault(),e.stopPropagation(),function(e,t){const o=g(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 g(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 f(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 b=!1,S=n.getHistory,I=n.matchPath,E=n.__secret_internals,L=r.flowApi,k=!1;try{var P;const e=window.dll;if(e&&null!==(P=window.BRICK_NEXT_VERSIONS)&&void 0!==P&&null!==(P=P["brick-container"])&&void 0!==P&&P.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 x=null,C=null;async function D(e,t){var o,r;if(b)return;b=!0;const s=t=>{window.parent.postMessage({sender:"previewer",...t},e)};let u,g,k,P;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 N;t.templateId&&(N=t.settings);const R=()=>{E.updateTemplatePreviewSettings(t.appId,t.templateId,N),S().reload()},O=()=>{E.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),S().reload()},_=()=>{E.updateFormPreviewSettings(t.appId,t.formId,t.formData),S().reload()},q=S();window.addEventListener("message",(async o=>{var r,f;let{data:b,origin:I}=o;if(I===e&&b&&"preview-container"===b.sender)if("builder"===b.forwardedFor)switch(b.type){case"hover-on-brick":u=b.iid,g=b.alias,D("hover",b.iid,b.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})})(b.highlightNodes);break;case"select-brick":k=b.iid,P=b.alias,D("active",b.iid,b.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)}})(b.position)}else switch(b.type){case"toggle-inspecting":b.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",h,!0),window.addEventListener("pointerup",p,!0),window.addEventListener("pointerleave",w,!0),window.addEventListener("contextmenu",m,!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",h,!0),window.removeEventListener("pointerup",p,!0),window.removeEventListener("pointerleave",w,!0),window.removeEventListener("contextmenu",m,!0));break;case"refresh":if(null!==(r=b.options)&&void 0!==r&&r.updateStoryboardType){var x;let e;var C,M;"route"===b.options.updateStoryboardType?E.updateStoryboardByRoute(t.appId,b.storyboardPatch):"template"===b.options.updateStoryboardType?E.updateStoryboardByTemplate(t.appId,b.storyboardPatch,b.options.settings):"snippet"===b.options.updateStoryboardType?E.updateStoryboardBySnippet(t.appId,b.storyboardPatch):"form"===b.options.updateStoryboardType&&E.updateFormPreviewSettings(t.appId,t.formId,b.storyboardPatch),"form"!==(null===(x=b.options)||void 0===x?void 0:x.updateStoryboardType)&&(e=await(null===(C=(M=E).getAddedContracts)||void 0===C?void 0:C.call(M,b.storyboardPatch,{appId:t.appId,updateStoryboardType:b.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,b.storyboardPatch),t.templateId?(N=b.settings,R()):t.formId||t.formData?_():null!==(f=b.options)&&void 0!==f&&f.snippetData?(t.snippetData=b.options.snippetData,O()):S().reload();break;case"reload":location.reload();break;case"back":q.goBack();break;case"forward":q.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()}))})))})(b.maxWidth,b.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=A(),!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}})}})(b.name,b.option);break;case"update-preview-url":{const e=b.previewUrl.startsWith(window.origin)?b.previewUrl.substring(window.origin.length):b.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=b.routePath,t.routeExact=b.routeExact,B();break;case"debug-data-value":(async(e,o,n)=>{try{o&&L.collectDebugContract([o]);const a=await E.debugDataValue(e,{tplStateStoreId:"state"===n.dataType?A():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}})}})(b.debugData,b.contractData,b.options)}})),window.addEventListener("scroll",(()=>{s({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));let M,H=!0;const V=e=>{s({type:"url-change",url:location.origin+q.createHref(e)}),M=e,B()};function B(){if(t.routePath){const e=!!I(M.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&&(R(),t.disconnect())}));t.observe(e,{childList:!0})}if(t.formId&&!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})}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&&(O(),t.disconnect())}));t.observe(e,{childList:!0})}H=e}}function j(){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!==x&&(null===(n=x)||void 0===n||n.removeEventListener("scroll",F),null==o||o.addEventListener("scroll",F),x=o,C=t)}function F(){s({type:"content-scroll",scroll:{x:this.scrollLeft,y:this.scrollTop}})}V(q.location),q.listen(V),t.templateId&&R(),(t.formId||t.formData)&&_(),t.snippetData&&O();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?A():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:f(n.value)}:{data:Object.fromEntries(Object.entries(n.data).map((e=>{let[t,o]=e;return[t,f(o)]})))}})})),window.addEventListener("route.render",(()=>{Y(!0),U()})),j(),Y(!0),U(),new MutationObserver((0,i.throttle)((()=>{j(),Y(),u&&D("hover",u,g),k&&D("active",k,P)}),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?x.scrollLeft:0),top:s+window.scrollY+(n?x.scrollTop:0),alias:t,hasContentScroll:n}}))}(N(e,o),t);return o?n.map((e=>({...e,height:window.innerHeight-e.top}))):n}function N(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 A(){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.656260cb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9027.5ba5abc4.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 as any).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 as any).updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch\n );\n }\n\n let newContracts;\n if (data.options?.updateStoryboardType !== \"form\") {\n 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\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","updateFormPreviewSettings","formId","formData","history","addEventListener","_data$options","_data$options3","origin","_ref6","forwardedFor","nodes","flat","sendHighlightBricksOutlines","highlightNodes","pos","element","document","elementFromPoint","tagName","isDirection","brick","cursor","parentElement","getPossibleBrickIidList","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_data$options2","newContracts","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","getAddedContracts","call","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
|
+
{"version":3,"file":"chunks/9027.656260cb.js","mappings":"yMAgCO,SAASA,EAAqBC,GACnC,MAAMC,EArBR,SAAiBC,GACf,MAAMD,EAAa,IAAIE,IAgBvB,OAdAC,EAAAA,EAAAA,GAASF,GAAcG,IACrB,OAAQA,EAAKC,MACX,IAAK,aACL,IAAK,eAAgB,KAAAC,EACnB,MAAMC,EACI,QADOD,EACfF,EAAKI,WAAG,IAAAF,OAAA,EADUA,EAEjBC,YACCA,GACFP,EAAWS,IAAIF,EAEnB,EACF,IAGKP,CACT,CAGqBU,EAAQC,EAAAA,EAAAA,IAAgBZ,IAErCa,EAAY,GAElB,IAAK,MAAMC,KAAQb,EACba,EAAKC,SAAS,MAChBF,EAAUG,KAAKF,GAInB,OAAOD,CACT,CAEAI,eAAeC,OACb,yCACAC,EAAAA,EAAAA,qBAAoBpB,G,yGCvCf,IAAIqB,EAsCX,SAASC,EAAQC,GACfA,EAAMC,iBACND,EAAME,kBAmFR,SAAqBC,GACnB,MAAMC,EAAUC,EAAwBF,GACpCC,EAAQE,OAAS,GACnBC,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,eACNoB,WAEFN,EAGN,CA9FEa,CAAYX,EAAMY,eACpB,CAEA,SAASC,EAAab,GACpBA,EAAMC,iBACND,EAAME,iBACR,CAEA,MAAMY,GAAeC,EAAAA,EAAAA,WAClBZ,IACC,MAAMC,EAAUC,EAAwBF,GAEpCC,EAAQE,OAAS,GACnBC,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,iBACNoB,WAEFN,EAEJ,GAEF,IACA,CAAEkB,SAAS,IAGb,SAASC,EAAcjB,GACrBA,EAAMC,iBACND,EAAME,kBACNY,EAAad,EAAMY,eACrB,CAEA,SAASM,EAAclB,GACrBA,EAAMC,iBACND,EAAME,kBACNY,EAAad,EAAMY,eACrB,CAEA,SAASO,EAAenB,GACtBA,EAAMC,iBACND,EAAME,kBACNK,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,iBACNoB,QAAS,IAEXN,EAEJ,CAEA,SAASsB,EAAcpB,GACrBA,EAAMC,iBACND,EAAME,kBAOR,SACEC,EACAkB,GAKA,MAAMjB,EAAUC,EAAwBF,GACpCC,EAAQE,OAAS,GACnBC,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,wBACNoB,UACAiB,YAEFvB,EAGN,CAzBEwB,CAAmBtB,EAAMY,eAAgB,CACvCW,EAAGvB,EAAMwB,QACTC,EAAGzB,EAAM0B,SAEb,CAkDO,SAASrB,EAAwBF,GACtC,MAAMwB,EAAoB,GAC1B,IAAK,MAAMC,KAAUzB,EAEjByB,aAAkBC,aACY,iBAAvBD,EAAOE,QAAQC,KAEtBJ,EAAQjC,KAAKkC,EAAOE,QAAQC,KAGhC,OAAOJ,CACT,C,cC1KO,SAASK,EAA0BC,GACxC,MAAMjD,SAAciD,EACpB,OAAQjD,GACN,IAAK,SACL,IAAK,UACL,IAAK,SACH,MAAO,CACLA,OACAiD,SAEJ,IAAK,YACH,MAAO,CAAEjD,QAEb,OAAc,OAAViD,EACK,CAAEjD,KAAM,QAEbkD,MAAMC,QAAQF,GACT,CAAEjD,KAAM,QAASsB,OAAQ2B,EAAM3B,QAEjC,CAAEtB,KAAM,SACjB,CCkCA,IAAIoD,GAAY,EAaZC,EAAaC,EAAAA,WACbC,EAAYC,EAAAA,UACZC,EAAqBC,EAAAA,mBACrBC,EAAUC,EAAAA,QACVC,GAAO,EAIX,IAAI,IAAAC,EACF,MAAMC,EAAOxC,OAAoCwC,IACjD,GACEA,GAC0B,QADvBD,EACHvC,OAAOyC,2BAAmB,IAAAF,GAAqB,QAArBA,EAA1BA,EAA6B,0BAAkB,IAAAA,GAA/CA,EAAiDG,WAAW,MAC5D,CACA,MACEZ,WAAYa,EACZC,cAAeC,EAAe,qBAC9BC,GACEN,EAAI,SACAR,UAAWe,GAAgBP,EAAI,QACvCV,EAAaa,EACbX,EAAYe,EAGZb,EAAqB,IAChBW,EACHG,eAAAA,CAAgBC,EAAIC,GAAuB,IAArB,gBAAEC,GAAiBD,EACvC,OAAOL,EAAgBG,gBAAgBC,EAAM,CAC3CG,aAAcD,GAElB,EACAE,mBAAAA,CAAmBC,GAAsB,IAArB,gBAAEH,GAAiBG,EAGrC,MAAMC,EAAQV,EAAgBQ,oBAAoB,CAChDD,aAAcD,IAEhB,OAAOK,OAAOC,YACZ,IAAIF,GAAOG,KAAIC,IAAA,IAAEC,EAAGC,GAAEF,EAAA,MAAK,CAACC,EAAIC,EAAUnC,MAAM,IAEpD,EACAoC,cAAAA,CAAeC,EAAIC,GAAuB,IAArB,gBAAEb,GAAiBa,EACtC,OAAOnB,EAAgBiB,eAAeC,EAAM,CAC1CX,aAAcD,GAElB,GAGFf,EAAU,CACRU,wBAEFR,GAAO,CACT,CACF,CAAE,MAAO2B,GAEPC,QAAQC,MAAM,qCAAsCF,EACtD,CAEA,IAAIG,EAAuC,KACvCC,EAAoC,KAEzBC,eAAeC,EAC5BC,EACAC,GACA,IAAAC,EAAAC,EACA,GAAI9C,EACF,OAEFA,GAAY,EAEZ,MAAM+C,EACJC,IAEA7E,OAAOC,OAAOC,YACZ,CACEC,OAAQ,eACL0E,GAELL,EACD,EAMH,IAAIM,EACAC,EACAC,EACAC,EANJL,EAAY,CAAEnG,KAAM,oBFzIpBc,EE0IqBiF,EAOrB,MAiCMU,EAA6BA,CACjCzG,EACA+C,EACA2D,KAEA,MAAMC,EAAWC,EAAiB7D,GAClCoD,EAAmD,CACjDnG,KAAM,kBACN6G,cAAe7G,EACf2G,WACA5D,IAAKA,EACL2D,MAAOA,GACP,EAaJ,IAAII,EACAd,EAAQe,aACVD,EAA8Bd,EAAQgB,UAGxC,MAAMC,EAAgCA,KACpCxD,EAAmBwD,8BACjBjB,EAAQkB,MACRlB,EAAQe,WACRD,GAEFzD,IAAa8D,QAAQ,EAGjBC,EAA+BA,KACnC3D,EAAmB2D,6BACjBpB,EAAQkB,MACRG,KAAKC,MAAMtB,EAAQuB,cAErBlE,IAAa8D,QAAQ,EAGjBK,EAA4BA,KAC/B/D,EAA2B+D,0BAC1BxB,EAAQkB,MACRlB,EAAQyB,OACRzB,EAAQ0B,UAEVrE,IAAa8D,QAAQ,EA8FjBQ,EAAUtE,IAEhB9B,OAAOqG,iBACL,WACA/B,UAAqE,IAAAgC,EAAAC,EAAA,IAA9D,KAAExC,EAAI,OAAEyC,GAAiDC,EAC9D,GACED,IAAWhC,GACVT,GACe,sBAAhBA,EAAK5D,OAIP,GAA0B,YAAtB4D,EAAK2C,aACP,OAAQ3C,EAAKtF,MACX,IAAK,iBACHqG,EAAWf,EAAKvC,IAChBuD,EAAahB,EAAKoB,MAClBD,EAA2B,QAASnB,EAAKvC,IAAKuC,EAAKoB,OACnD,MACF,IAAK,gBACHD,EAA2B,QAAS,oBAAqB,QACzD,MACF,IAAK,mBA1JwByB,KACnC,MAAMvB,EAAWuB,EACdjD,KAAKlF,GAAS6G,EAAiB7G,EAAKgD,IAAKhD,EAAK2G,SAC9CyB,OACHhC,EAAqD,CACnDnG,KAAM,oBACN2G,YACA,EAoJMyB,CAA4B9C,EAAK+C,gBACjC,MACF,IAAK,eACH9B,EAAYjB,EAAKvC,IACjByD,EAAclB,EAAKoB,MACnBD,EAA2B,SAAUnB,EAAKvC,IAAKuC,EAAKoB,OACpD,MACF,IAAK,kBAlNgB4B,KAC3B,MAAMC,EAAUC,SAASC,iBAAiBH,EAAI/F,EAAG+F,EAAI7F,GACrD,GAAyB,UAArB8F,aAAO,EAAPA,EAASG,SACXnH,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,gBACN2I,aAAa,EACbtG,SAAU,CACRE,EAAG+F,EAAI/F,EACPE,EAAG6F,EAAI7F,IAGX3B,OAEG,CACL,MAAMM,EF3BL,SAAiCwH,GACtC,MAAMxH,EAAoB,GAE1B,IAAIyH,EAA6BD,EACjC,KAAOC,GAC6B,iBAAvBA,EAAO/F,QAAQC,KACxB3B,EAAQV,KAAKmI,EAAO/F,QAAQC,KAE9B8F,EAASA,EAAOC,cAElB,OAAO1H,CACT,CEgBsB2H,CAAwBR,GACxChH,OAAOC,OAAOC,YACZ,CACEC,OAAQ,YACR1B,KAAM,iBACNoB,UACAuH,aAAa,EACbtG,SAAU,CACRE,EAAG+F,EAAI/F,EACPE,EAAG6F,EAAI7F,IAGX3B,EAEJ,GAqLQkI,CAAoB1D,EAAKjD,eAI7B,OAAQiD,EAAKtF,MACX,IAAK,oBACHsF,EAAK2D,SF9Vf1H,OAAOqG,iBAAiB,QAAS7G,GAAS,GAC1CQ,OAAOqG,iBAAiB,YAAa/F,GAAc,GACnDN,OAAOqG,iBAAiB,YAAa/F,GAAc,GACnDN,OAAOqG,iBAAiB,UAAW/F,GAAc,GACjDN,OAAOqG,iBAAiB,cAAe3F,GAAe,GACtDV,OAAOqG,iBAAiB,cAAe1F,GAAe,GACtDX,OAAOqG,iBAAiB,YAAa/F,GAAc,GACnDN,OAAOqG,iBAAiB,eAAgBzF,GAAgB,GACxDZ,OAAOqG,iBAAiB,cAAexF,GAAe,KAItDb,OAAO2H,oBAAoB,QAASnI,GAAS,GAC7CQ,OAAO2H,oBAAoB,YAAarH,GAAc,GACtDN,OAAO2H,oBAAoB,YAAarH,GAAc,GACtDN,OAAO2H,oBAAoB,UAAWrH,GAAc,GACpDN,OAAO2H,oBAAoB,cAAejH,GAAe,GACzDV,OAAO2H,oBAAoB,cAAehH,GAAe,GACzDX,OAAO2H,oBAAoB,YAAarH,GAAc,GACtDN,OAAO2H,oBAAoB,eAAgB/G,GAAgB,GAC3DZ,OAAO2H,oBAAoB,cAAe9G,GAAe,IE2U/C,MACF,IAAK,UACH,GAAgB,QAAhByF,EAAIvC,EAAKU,eAAO,IAAA6B,GAAZA,EAAcsB,qBAAsB,KAAAC,EA4BtC,IAAIC,EAC+C,IAAAC,EAAAC,EA5BT,UAAtCjE,EAAKU,QAAQmD,qBACf1F,EAAmB+F,wBACjBxD,EAAQkB,MACR5B,EAAKmE,iBAEwC,aAAtCnE,EAAKU,QAAQmD,qBACtB1F,EAAmBiG,2BACjB1D,EAAQkB,MACR5B,EAAKmE,gBACLnE,EAAKU,QAAQgB,UAEgC,YAAtC1B,EAAKU,QAAQmD,qBACtB1F,EAAmBkG,0BACjB3D,EAAQkB,MACR5B,EAAKmE,iBAKwC,SAAtCnE,EAAKU,QAAQmD,sBACrB1F,EAA2B+D,0BAC1BxB,EAAQkB,MACRlB,EAAQyB,OACRnC,EAAKmE,iBAKkC,UAA3B,QAAZL,EAAA9D,EAAKU,eAAO,IAAAoD,OAAA,EAAZA,EAAcD,wBAChBE,QAEmB,QAFJC,GAAMC,EACnB9F,GACAmG,yBAAiB,IAAAN,OAAA,EAFEA,EAAAO,KAAAN,EAECjE,EAAKmE,gBAAiB,CAC1CvC,MAAOlB,EAAQkB,MACfiC,qBAAsB7D,EAAKU,QAAQmD,qBACnC1B,OAAQzB,EAAQyB,OAChBhI,qBAAoBA,EAAAA,OAInBqK,EAAAA,EAAAA,SAAQT,GAQXhG,IAAa8D,SAPbhB,EAAiD,CAC/CnG,KAAM,kBACNsF,KAAM,CACJlF,IAAKiJ,KAOX,KACF,CACA5F,EAAmBsG,iBACjB/D,EAAQkB,MACR5B,EAAKmE,iBAEHzD,EAAQe,YACVD,EAA8BxB,EAAK0B,SACnCC,KACSjB,EAAQyB,QAAUzB,EAAQ0B,SACnCF,IACqB,QAAhBM,EAAIxC,EAAKU,eAAO,IAAA8B,GAAZA,EAAcP,aACvBvB,EAAQuB,YAAcjC,EAAKU,QAAQuB,YACnCH,KAEA/D,IAAa8D,SAEf,MACF,IAAK,SACH6C,SAAS7C,SACT,MACF,IAAK,OACHQ,EAAQsC,SACR,MACF,IAAK,UACHtC,EAAQuC,YACR,MACF,IAAK,WCvbRrE,eACLsE,EACAC,GAEA,MAAMC,QAAqBC,IAAY9B,SAAS+B,KAAM,CACpDC,SAAS,EACTC,MAAO,EACPC,MAAOnJ,OAAOoJ,WACdC,OAAQrJ,OAAOsJ,YACfC,wBAAwB,IAEpBC,EAAevC,SAASwC,cAAc,UAvB9C,IAAuBC,EA0BrB,OC9BK,SACLA,EACAF,EACAZ,EACAC,GAEA,MAAMc,EAAcf,EAAWC,GACzB,MAAEM,EAAK,OAAEE,GAAWK,EACpBE,EAAQT,EAAQE,EAChBQ,EAAQD,GAASD,EACjBG,EAAaD,EAAQjB,EAAWC,EAAYe,EAC5CG,EAAcF,EAAQjB,EAAWgB,EAAQf,EAC/CW,EAAaL,MAAQW,EACrBN,EAAaH,OAASU,EAEVP,EAAaQ,WAAW,MAChCC,UAAUP,EAAQ,EAAG,EAAGP,EAAOE,EAAQ,EAAG,EAAGS,EAAYC,GACtDP,EAAaU,WACtB,CDUEC,CAAiBrB,EAAcU,EAAcZ,EAAUC,SAxBlCa,EAyBYF,EAxB1B,IAAIY,SAAQ,SAAUC,EAASC,GACpCZ,EAAOa,QAAO,SAAUC,GAClBA,EACFH,EAAQG,GAERF,GAEJ,GACF,IAkBF,EDyaYG,CAAQ1G,EAAK6E,SAAU7E,EAAK8E,WAAW6B,MACpCC,IACC/F,EAA8C,CAC5CnG,KAAM,aACNkM,cACA,IAEJ,KACE/F,EAAkD,CAChDnG,KAAM,kBACN,IAGN,MACF,IAAK,qBAhOamM,EAAC3H,EAAc4H,KACvC,IACE,MAAM,SAAEC,GAAaD,EACrB,IAAI1H,EAoBAzB,EAAOjD,EAlBX,GAAiB,UAAbqM,IACF3H,EAAkB4H,KAEb5H,GAWH,YAVAyB,EAAiD,CAC/CnG,KAAM,2BACNsF,KAAM,CACJI,MAAO,CACLU,QACE,+DAUZ,GAAI5B,EACFxE,EAAO,oCACPiD,EAAQQ,EAAmBc,gBAAgBC,EAAM,CAC/CE,wBAEG,CACL1E,EAAO,kCACP,MAAMsF,EAAO7B,EAAmBmB,oBAAoB,CAClDF,oBAEFzB,EAAQ8B,OAAOwH,QAAQjH,GAAML,KAAIuH,IAAA,IAAEhI,EAAMvB,GAAMuJ,EAAA,MAAM,CAAEhI,OAAMvB,QAAO,GACtE,CAEAkD,EAAmD,CACjDnG,OACAsF,KAAM,CACJd,OACAvB,UAKN,CAAE,MAAOyC,GACPS,EAAiD,CAC/CnG,KAAM,2BACNsF,KAAM,CACJc,QAAUV,EAAgBU,UAGhC,GA4KQ+F,CAAkB7G,EAAKd,KAAMc,EAAK8G,QAClC,MACF,IAAK,qBAAsB,CAEzB,MAAMK,EAAMnH,EAAKoH,WAAWzI,WAAW1C,OAAOwG,QAC1CzC,EAAKoH,WAAWC,UAAUpL,OAAOwG,OAAOzG,QACxCgE,EAAKoH,WAEHE,GAAWC,EAAAA,EAAAA,eACXC,EAAKL,EAAIxI,WAAW2I,GACtBH,EAAIE,UAAUC,EAAStL,OAAS,GAChCmL,EACJpJ,IAAa3C,KAAKoM,GAClB,KACF,CACA,IAAK,uBACH9G,EAAQ+G,UAAYzH,EAAKyH,UACzB/G,EAAQgH,WAAa1H,EAAK0H,WAC1BC,IACA,MAEF,IAAK,mBA9LUpH,OACrBP,EACA4H,EACAC,KAEA,IACMD,GACFvJ,EAAQU,qBAAqB,CAAC6I,IAEhC,MAAMjK,QAAcQ,EAAmB4B,eAAeC,EAAM,CAC1DZ,gBAC6B,UAA3ByI,EAAcd,SACVC,SACAc,EACNC,QAASrH,EAAQqH,UAGnBlH,EAAoD,CAClDnG,KAAM,2BACNsF,KAAM,CACJgI,UAAWhI,EACXrC,UAGN,CAAE,MAAOyC,GACPS,EAAkD,CAChDnG,KAAM,yBACNsF,KACEI,aAAiB6H,EAAAA,kBACb7H,EAAM8H,aACN,CAAEpH,QAAUV,EAAgBU,UAEtC,GA+JQf,CAAeC,EAAKmI,UAAWnI,EAAK4H,aAAc5H,EAAKU,SAoB3D,IAINzE,OAAOqG,iBAAiB,UAAU,KAChCzB,EAA2C,CACzCnG,KAAM,SACN0N,OAAQ,CACNnL,EAAGhB,OAAOoM,QACVlL,EAAGlB,OAAOqM,UAEZ,IAGJ,IACIC,EADAC,GAAmB,EAEvB,MAAMC,EAAsBC,IAC1B7H,EAA8C,CAC5CnG,KAAM,aACNyM,IAAKzC,SAASjC,OAASJ,EAAQsG,WAAWD,KAE5CH,EAAkBG,EAClBf,GAAgB,EAGlB,SAASA,IACP,GAAIjH,EAAQ+G,UAAW,CACrB,MAAMmB,IAAU3K,EAAUsK,EAAgBM,SAAU,CAClDC,KAAMpI,EAAQ+G,UACdsB,MAAOrI,EAAQgH,aAQjB,GANA7G,EAAqD,CACnDnG,KAAM,qBACNkO,UAIElI,EAAQe,aAAe+G,GAAoBI,EAAO,CACpD,MAAMI,EAAiB9F,SAAS+F,cAAc,qBACxCC,EAA0B,IAAIC,kBAAiB,KAGZ,IAArCH,EAAeI,WAAWpN,QAC6B,SAAtDgN,EAAeK,WAA2BjG,SACM,IAAjD4F,EAAeK,WAAYD,WAAWpN,SAEtC2F,IACAuH,EAAwBI,aAC1B,IAEFJ,EAAwBK,QAAQP,EAAgB,CAAEQ,WAAW,GAC/D,CACA,GAAI9I,EAAQyB,SAAWqG,GAAoBI,EAAO,CAChD,MAAMI,EAAiB9F,SAAS+F,cAAc,qBACxCC,EAA0B,IAAIC,kBAAiB,KAGZ,IAArCH,EAAeI,WAAWpN,QAC6B,SAAtDgN,EAAeK,WAA2BjG,SACK,IAAhD4F,EAAeK,WAAWD,WAAWpN,SAErCkG,IACAgH,EAAwBI,aAC1B,IAEFJ,EAAwBK,QAAQP,EAAgB,CAAEQ,WAAW,GAC/D,CACA,GAAI9I,EAAQuB,cAAgBuG,GAAoBI,EAAO,CACrD,MAAMI,EAAiB9F,SAAS+F,cAAc,qBACxCC,EAA0B,IAAIC,kBAAiB,KAGZ,IAArCH,EAAeI,WAAWpN,QAC6B,SAAtDgN,EAAeK,WAA2BjG,SACM,IAAjD4F,EAAeK,WAAYD,WAAWpN,SAEtC8F,IACAoH,EAAwBI,aAC1B,IAEFJ,EAAwBK,QAAQP,EAAgB,CAAEQ,WAAW,GAC/D,CACAhB,EAAmBI,CACrB,CACF,CAkBA,SAASa,IAAqB,IAAAC,EAC5B,MAAMC,EAAOzG,SAAS+F,cAAc,gBAC9BhG,GAAU0G,SAAgB,QAAZD,EAAJC,EAAMC,kBAAU,IAAAF,OAAA,EAAhBA,EAAkBT,cAAc,cAAe,KACzB,IAAAY,EAAlC5G,IAAY5C,IACM,QAApBwJ,EAAAxJ,SAAoB,IAAAwJ,GAApBA,EAAsBjG,oBAAoB,SAAUkG,GACpD7G,SAAAA,EAASX,iBAAiB,SAAUwH,GACpCzJ,EAAuB4C,EACvB3C,EAAoBqJ,EAExB,CAEA,SAASG,IACPjJ,EAAkD,CAChDnG,KAAM,iBACN0N,OAAQ,CACNnL,EAAG8M,KAAKC,WACR7M,EAAG4M,KAAKE,YAGd,CAnCAxB,EAAmBpG,EAAQqC,UAE3BrC,EAAQ6H,OAAOzB,GAEX/H,EAAQe,YACVE,KAGEjB,EAAQyB,QAAUzB,EAAQ0B,WAC5BF,IAGExB,EAAQuB,aACVH,IAwBF,MAAMqI,EAA2BA,KAAM,IAAAC,EACrC,MAAMrC,EAAUrH,EAAQqH,QAElB/H,EAAO7B,EAAmBkM,qBAAqB,CAAEtC,YACvDlH,EAAsD,CACpDnG,KAAM,6BACNsF,KAAM,KACDsK,EAAAA,EAAAA,MAAKtK,EAAM,SACduK,MAAOvK,EAAKuK,MAAQ9K,OAAOC,YAAYM,EAAKuK,MAAMtD,WAAa,CAAC,EAChE6B,KAAgB,QAAZsB,EAAEpK,EAAK4I,aAAK,IAAAwB,OAAA,EAAVA,EAAYI,SAEpB,EA2BJ,IAAIC,EAEJ,SAASC,EAAyBC,GAChC,MAAMvL,EAAkBsB,EAAQe,WAC5BuF,SACAc,EAC0D,IAAA8C,EAAAC,GAA1DJ,IAAgCrL,GAAmBuL,KACrDF,EAA8BrL,EACe,QAA7CwL,GAAAC,EAAA1M,GAAmB2M,kCAA0B,IAAAF,GAA7CA,EAAArG,KAAAsG,EAAgD,CAC9CzL,oBAGN,CApC6C,QAA7CuB,GAAAC,EAAAzC,GAAmB4M,kCAA0B,IAAApK,GAA7CA,EAAA4D,KAAA3D,GACEoK,IAA6C,IAA5C,WAAEC,EAAU,gBAAE7L,EAAe,OAAE8L,GAAQF,EACtCnK,EAA8D,CAC5DnG,KAAM,gCACNuQ,aACA7L,kBACA8L,OACiB,WAAfD,EACI,CACE/L,KAAMgM,EAAOhM,KACbiM,WAAYzN,EAA0BwN,EAAOvN,QAE/C,CACEqC,KAAMP,OAAOC,YACXD,OAAOwH,QAAQiE,EAAOlL,MAAML,KAAIyL,IAAA,IAAEvL,EAAGC,GAAEsL,EAAA,MAAK,CAC1CvL,EACAnC,EAA0BoC,GAC3B,OAGX,IAkBN7D,OAAOqG,iBAAiB,gBAAgB,KACtCoI,GAAyB,GACzBP,GAA0B,IAG5BV,IACAiB,GAAyB,GACzBP,IAYyB,IAAIhB,kBAC3B1M,EAAAA,EAAAA,WAXuB4O,KACvB5B,IACAiB,IACI3J,GACFI,EAA2B,QAASJ,EAAUC,GAE5CC,GACFE,EAA2B,SAAUF,EAAWC,EAClD,GAG2B,IAAK,CAAExE,SAAS,KAE5B6M,QAAQrG,SAAS+B,KAAM,CAAEqG,SAAS,EAAM9B,WAAW,GACtE,CAEA,SAASlI,EAAiB7D,EAAa2D,GACrC,IAAK3D,EACH,MAAO,GAET,MAAM8N,EAAS9N,EAAItC,SAAS,KAEtBkG,EAuCR,SAAqBmK,EAAyBpK,GAC5C,OAAOoK,EAAS7L,KAAKsD,IAAY,IAAAwI,EAC/B,MAAMC,EAAoC,QAApBD,EAAGnL,SAAiB,IAAAmL,OAAA,EAAjBA,EAAmBE,SAAS1I,IAC/C,MAAEmC,EAAK,OAAEE,EAAM,KAAEsG,EAAI,IAAEC,GAAQ5I,EAAQ6I,wBAC7C,MAAO,CACL1G,QACAE,SACAsG,KACEA,EACA3P,OAAOoM,SACNqD,EAAmBrL,EAAqB2J,WAAa,GACxD6B,IACEA,EACA5P,OAAOqM,SACNoD,EAAmBrL,EAAqB4J,UAAY,GACvD7I,QACAsK,mBACD,GAEL,CA1DmBK,CADAC,EAAgCvO,EAAK8N,GACfnK,GACvC,OAAOmK,EACHlK,EAAS1B,KAAKzE,IAAI,IACbA,EACHoK,OAAQrJ,OAAOsJ,YAAcrK,EAAK2Q,QAEpCxK,CACN,CAEO,SAAS2K,EACdvO,EACA8N,GAEA,MAAMC,EAA0B,GAuBhC,OArBA,SAASS,EAAKC,GACZ,MAAMC,EAAaD,EAAKE,iBACtBb,EAAS9N,EAAM,cAAcA,OAK/B,GAHA+N,EAASpQ,QAAQ+Q,KAGbD,IAAShJ,UAAYiJ,EAAWnQ,OAAS,GAK7C,IAAK,MAAMd,KAAQgR,EAAKE,iBAAiB,KACnClR,EAAK0O,YACPqC,EAAK/Q,EAAK0O,WAGhB,CAEAqC,CAAK/I,UAEEsI,CACT,CAuBA,SAASxE,IAA6C,IAAAqF,EACpD,MAAMrD,EAAiB9F,SAAS+F,cAAc,qBAE9C,OAAQD,SAA0B,QAAZqD,EAAdrD,EAAgBK,kBAAU,IAAAgD,OAAA,EAA3BA,EAA6C7O,QAClDe,EAAO,eAAiB,kBAE5B,C","sources":["webpack:///./src/data-providers/collect-used-contracts.ts","webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/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 as any).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 as any).updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch\n );\n }\n\n let newContracts;\n if (data.options?.updateStoryboardType !== \"form\") {\n 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\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","updateFormPreviewSettings","formId","formData","history","addEventListener","_data$options","_data$options3","origin","_ref6","forwardedFor","nodes","flat","sendHighlightBricksOutlines","highlightNodes","pos","element","document","elementFromPoint","tagName","isDirection","brick","cursor","parentElement","getPossibleBrickIidList","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_data$options2","newContracts","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","getAddedContracts","call","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,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see chat-conversation.
|
|
2
|
-
(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[3555,2052],{7035:(e,t,n)=>{"use strict";n.d(t,{V:()=>l});var r=n(8769),o=n.n(r),s=n(3373),a=n.n(s),i=n(7384);const c=(0,n(1389).wrapBrick)("eo-avatar");function l(e){let{message:t}=e;const n=(0,r.useMemo)((()=>{const e=[];if("assistant"===t.role){const n=/(?:^|\n)```(easy_cmd_\S+)\n([\s\S]*?)\n```(?:$|\n)/gm;let r,o=0;for(;r=n.exec(t.content);){const[s,a,i]=r,c=r.index,l=t.content.slice(o,c).trim();l.length>0&&e.push({type:"markdown",content:l}),e.push({type:"command",command:a,content:i.trim(),raw:s}),o=n.lastIndex}const s=t.content.slice(o).trim();s.length>0&&e.push({type:"markdown",content:s})}else e.push({type:"plain",content:t.content});return e}),[t.content,t.role]),s=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const e=s.current;e&&setTimeout((()=>{const n=e.parentElement.querySelectorAll(".texting");for(const e of n)e.classList.remove("texting");if(!t.partial)return;let r=e;for(;r;){const e=r.lastChild;if((null==e?void 0:e.nodeType)!==Node.ELEMENT_NODE||"DETAILS"===(null==e?void 0:e.tagName)&&!e.open){var o;if((null==e?void 0:e.nodeType)!==Node.TEXT_NODE||0!==e.textContent.trim().length||(null===(o=e.previousSibling)||void 0===o?void 0:o.nodeType)!==Node.ELEMENT_NODE)break;r=e.previousSibling}else r=e}r.classList.add("texting")}),1)}),[t.partial,t.content]),o().createElement("div",{className:a()("message",{failed:t.failed})},o().createElement("div",{className:"avatar"},o().createElement(c,{icon:{lib:"easyops",icon:"assistant"===t.role?"robot":"account"},size:"small",className:`role-${t.role}`})),o().createElement("div",{className:"main"},o().createElement("div",{className:"label"},"assistant"===t.role?"Assistant":"You"),o().createElement("div",{className:"content",ref:s},n.map(((e,t)=>o().createElement(u,{key:t,chunk:e}))))))}function u(e){let{chunk:t}=e;return o().createElement(o().Fragment,null,"markdown"===t.type?o().createElement("div",{className:"markdown"},o().createElement(i.N,{content:t.content})):"command"===t.type?o().createElement(o().Fragment,null,o().createElement("details",{className:"command"},o().createElement("summary",null,"```",t.command),o().createElement("pre",null,o().createElement("code",null,t.content)))):o().createElement("div",{className:"plain"},t.content))}},4705:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChatConversation:()=>_,ChatConversationComponent:()=>$});var r,o=n(4635),s=n(918),a=n(6902),i=n(5536),c=n(6121),l=n(829),u=n(2740),d=n(8769),f=n.n(d),p=n(4782),m=n(1389),h=(n(9583),n(7035)),g=n(7236);let v,y,b,w,A,E,k,x,N;const{defineElement:S,property:T,event:j}=(0,p.createDecorators)();let _;var C=new WeakMap,B=new WeakMap,O=new WeakMap,M=new WeakSet,L=new WeakMap;class P extends m.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,M),(0,s.A)(this,C,y(this)),(0,s.A)(this,B,(b(this),w(this))),(0,s.A)(this,O,(A(this),E(this))),(0,s.A)(this,L,(N(this),e=>{(0,i.A)(M,this,k).emit(e)}))}get messages(){return(0,l.A)(C,this)}set messages(e){(0,c.A)(C,this,e)}get errorBoundary(){return(0,l.A)(B,this)}set errorBoundary(e){(0,c.A)(B,this,e)}render(){return f().createElement($,{host:this,messages:this.messages,errorBoundary:this.errorBoundary,onStoryboardUpdate:(0,l.A)(L,this)})}}function $(e){let{messages:t,host:n,errorBoundary:r,onStoryboardUpdate:o}=e;const s=(0,d.useMemo)((()=>/(?:^|\n)```easy_cmd_vb_block_(page|storyboard)\n([\s\S]*?)\n```(?:$|\n)/gm),[]),a=(0,d.useRef)(new Map),[i,c]=(0,d.useState)([]),l=(0,d.useRef)(!1);(0,d.useEffect)((()=>{for(const e of t??[]){if("assistant"!==e.role)continue;let t;s.lastIndex=a.current.get(e.key)??0;const n=[];let r=!1;for(;t=s.exec(e.content);){a.current.set(e.key,s.lastIndex);const[,o,i]=t;try{const e=JSON.parse(i);"page"===o?(r=!0,n.push(...e)):n.push({...e,type:"item"})}catch(e){console.error("parse storyboard failed:",e)}}r?c(n):n.length>0&&c((e=>[...e,...n]))}}),[s,t]);const[u,p]=(0,d.useState)([]);(0,d.useEffect)((()=>{const e=[],t=new Map;for(const n of i)"block"===n.type?e.push(n):n.storyboard&&t.set(n.uuid,n.storyboard);e.sort(((e,t)=>e.seq-t.seq));const n={brick:"eo-content-layout",children:[]},o={brick:"eo-main-view",children:[{brick:"eo-page-title",slot:"pageTitle",properties:{pageTitle:"测试页面"}}]};let s=!1;for(const a of e)if("全局操作区"===a.name)for(const e of a.children){const n=t.get(e);n&&(o.children.push({...n,properties:{...n.properties,slot:void 0},errorBoundary:r,slot:"toolbar",iid:`item:${e}`,meta:{type:"item",uuid:e,block:{uuid:a.uuid,name:a.name}}}),s=!0)}else{const e=t.get(a.uuid);if(e){const o={...e,children:[],errorBoundary:r,iid:`block:${a.uuid}`,meta:{type:"block",uuid:a.uuid,name:a.name}};s=!0,n.children.push(o);for(const e of a.children){const n=t.get(e);n&&o.children.push({...n,errorBoundary:r,iid:`item:${e}`,meta:{type:"item",uuid:e}})}}else if(!a.hasContainer)for(const e of a.children){const o=t.get(e);o&&(n.children.push({...o,errorBoundary:r,iid:`item:${e}`,meta:{type:"item",uuid:e}}),s=!0)}}o.children.push(n),p((e=>s?[o]:0===e.length?e:[]))}),[i,r]),(0,d.useEffect)((()=>{null==o||o(u)}),[o,u]);const m=(0,d.useMemo)((()=>{let e=n;for(;e;){const t=getComputedStyle(e,null).getPropertyValue("overflow-y");if("auto"===t||"scroll"===t)return e;if(e.parentNode instanceof ShadowRoot)e=e.parentNode.host;else{if(!(e.parentNode instanceof Element))break;e=e.parentNode}}return document.scrollingElement||document.documentElement}),[n]);return(0,d.useEffect)((()=>{l.current||setTimeout((()=>{m.scrollTo(0,m.scrollHeight)}),1)}),[t,m]),(0,d.useEffect)((()=>{const e=()=>{l.current=m.scrollTop+m.clientHeight+6<m.scrollHeight};return m.addEventListener("scroll",e),()=>{m.removeEventListener("scroll",e)}}),[m]),f().createElement(f().Fragment,null,null==t?void 0:t.map(((e,t)=>f().createElement(h.V,{key:e.key??`index-${t}`,message:e}))))}r=P,({e:[y,b,w,A,E,k,x,N],c:[_,v]}=(0,u.A)(r,[S("visual-builder.chat-conversation",{styleTexts:[g.A]})],[[T({attribute:!1}),1,"messages"],[T({type:Boolean}),1,"errorBoundary"],[j({type:"storyboard.update"}),1,"storyboardUpdate",e=>(0,l.A)(O,e),(e,t)=>(0,c.A)(O,e,t)]],0,(e=>L.has((0,a.A)(e))),m.ReactNextElement)),v()},7236:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(6758),o=n.n(r),s=n(935),a=n.n(s),i=n(6131),c=a()(o());c.i(i.A),c.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.message{display:flex;gap:8px}.main{flex:1;min-width:0}.label{font-weight:bold;line-height:28px}.message:not(:last-child){margin-bottom:2em}.invisible-dots{opacity:0}.failed .content{color:var(--color-error)}.command:not(:first-child){margin-top:1em}.command:not(:last-child){margin-bottom:1em}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}.markdown > :first-child{margin-top:0}.markdown > :last-child{margin-bottom:0}.avatar{align-self:flex-start;display:flex;align-items:center;justify-content:center}.texting::after{content:" ";animation:texting 2s infinite;white-space:pre}@keyframes texting{0%{content:" "}25%{content:". "}50%{content:".. "}75%{content:"..."}100%{content:" "}}pre[class*="language-"]{overflow:visible}pre[class*="language-"],\ncode[class*="language-"]{white-space:pre-wrap}eo-avatar.role-assistant::part(avatar-icon){background-color:var(--palette-blue-5)}.content{word-wrap:break-word}.plain{white-space:pre-wrap}',""]);const l=c.toString()},6131:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(6758),o=n.n(r),s=n(935),a=n.n(s),i=n(7745),c=a()(o());c.i(i.A),c.push([e.id,"",""]);const l=c.toString()},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,s){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var i=0;i<this.length;i++){var c=this[i][0];null!=c&&(a[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&a[u[0]]||(void 0!==s&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=s),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},6758:e=>{"use strict";e.exports=function(e){return e[1]}},3373:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,s(n)))}return e}function s(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)r.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},2740:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(7545),o=n(6902);function s(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var a=n(1369);function i(e,t,n,i,c,l){var u,d,f,p,m,h,g,v=Symbol.metadata||Symbol.for("Symbol.metadata"),y=Object.defineProperty,b=Object.create,w=[b(null),b(null)],A=t.length;function E(t,n,r){return function(o,s){n&&(s=o,o=e);for(var a=0;a<t.length;a++)s=t[a].apply(o,r?[s]:[]);return r?s:o}}function k(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function x(e,t,n,o,a,i,c,l,f,p,m){function h(e){if(!m(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),v=t[3],b=!c,A=1===a,x=3===a,N=4===a,S=2===a;function T(t,n,r){return function(o,s){return n&&(s=o,o=e),r&&r(o),j[t].call(o,s)}}if(!b){var j={},_=[],C=x?"get":N||A?"set":"value";if(f?(p||A?j={get:s((function(){return v(this)}),o,"get"),set:function(e){t[4](this,e)}}:j[C]=v,p||s(j[C],o,S?"":C)):p||(j=Object.getOwnPropertyDescriptor(e,o)),!p&&!f){if((d=w[+l][o])&&7!=(d^a))throw Error("Decorating two elements with the same name ("+j[C].name+") is not supported yet");w[+l][o]=a<3?1:a}}for(var B=e,O=g.length-1;O>=0;O-=n?2:1){var M=k(g[O],"A decorator","be",!0),L=n?g[O-1]:void 0,P={},$={kind:["field","accessor","method","getter","setter","class"][a],name:o,metadata:u,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");k(t,"An initializer","be",!0),i.push(t)}.bind(null,P)};if(b)d=M.call(L,B,$),P.v=1,k(d,"class decorators","return")&&(B=d);else if($.static=l,$.private=f,d=$.access={has:f?m.bind():function(e){return o in e}},N||(d.get=f?S?function(e){return h(e),j.value}:T("get",0,h):function(e){return e[o]}),S||x||(d.set=f?T("set",0,h):function(e,t){e[o]=t}),B=M.call(L,A?{get:j.get,set:j.set}:j[C],$),P.v=1,A){if("object"==(0,r.A)(B)&&B)(d=k(B.get,"accessor.get"))&&(j.get=d),(d=k(B.set,"accessor.set"))&&(j.set=d),(d=k(B.init,"accessor.init"))&&_.unshift(d);else if(void 0!==B)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else k(B,(p?"field":"method")+" decorators","return")&&(p?_.unshift(B):j[C]=B)}return a<2&&c.push(E(_,l,1),E(i,l,0)),p||b||(f?A?c.splice(-1,0,T("get",l),T("set",l)):c.push(S?j[C]:k.call.bind(j[C])):y(e,o,j)),B}function N(e){return y(e,v,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[v]),u=b(null==u?null:u),m=[],h=function(e){e&&m.push(E(e))},g=function(t,r){for(var s=0;s<n.length;s++){var i=n[s],l=i[1],u=7&l;if((8&l)==t&&!u==r){var d=i[2],h=!!i[3],g=16&l;x(t?e:e.prototype,i,g,h?"#"+d:(0,a.A)(d),u,u<2?[]:t?p=p||[]:f=f||[],m,!!t,h,r,t&&h?function(t){return(0,o.A)(t)===e}:c)}}},g(8,0),g(0,0),g(8,1),g(0,1),h(f),h(p),d=m,A||N(e),{e:d,get c(){var n=[];return A&&[N(e=x(e,[t],i,e.name,5,n)),E(n,1)]}}}},2559:(e,t,n)=>{"use strict";function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},6902:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7545);function o(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},2016:(e,t,n)=>{"use strict";function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},829:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t){return e.get((0,r.A)(e,t))}},918:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},6121:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return n((0,r.A)(e,t))}},4635:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2016);function o(e,t){(0,r.A)(e,t),t.add(e)}},1369:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7545);function o(e){var t=function(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},7545:(e,t,n)=>{"use strict";function r(e){return r="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},r(e)}n.d(t,{A:()=>r})},7384:(e,t,n)=>{"use strict";n.d(t,{N:()=>d});var r=n(8769),o=n(1085),s=n(3091),a=n(7447),i=n(3640),c=n(4360),l=n(1250);const u={Fragment:o.Fragment,jsx:o.jsx,jsxs:o.jsxs};function d(e){let{content:t}=e;const[n,o]=(0,r.useState)(null);return(0,r.useEffect)((()=>{let e=!1;return(0,s.l)().use(a.A).use(i.A).use([l.N]).use(c.A,u).process(t).then((t=>{e||o(t.result)})).catch((t=>{e||(console.error("Convert markdown failed:",t),o(null))})),()=>{e=!0}}),[t]),n}},1250:(e,t,n)=>{"use strict";n.d(t,{N:()=>a});var r=n(3544),o=n(4650),s=n(9830);function a(){function e(e,t,n){if(!n||"pre"!==n.tagName||"code"!==e.tagName)return;const r=function(e){const t=e.properties.className||[];for(const e of t)if("language-"===e.slice(0,9))return e.slice(9).toLowerCase();return null}(e);if(null===r)return;let a;try{n.properties.className=(n.properties.className||[]).concat("language-"+r),a=s.L.highlight((0,o.d)(e),r)}catch{return}e.children=a.children}return t=>{(0,r.YR)(t,"element",e)}}}}]);
|
|
3
|
-
//# sourceMappingURL=chat-conversation.
|
|
1
|
+
/*! For license information please see chat-conversation.79dd76c0.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[3555,2052],{7035:(e,t,n)=>{"use strict";n.d(t,{V:()=>l});var r=n(8769),o=n.n(r),s=n(3373),a=n.n(s),i=n(7384);const c=(0,n(1389).wrapBrick)("eo-avatar");function l(e){let{message:t}=e;const n=(0,r.useMemo)((()=>{const e=[];if("assistant"===t.role){const n=/(?:^|\n)```(easy_cmd_\S+)\n([\s\S]*?)\n```(?:$|\n)/gm;let r,o=0;for(;r=n.exec(t.content);){const[s,a,i]=r,c=r.index,l=t.content.slice(o,c).trim();l.length>0&&e.push({type:"markdown",content:l}),e.push({type:"command",command:a,content:i.trim(),raw:s}),o=n.lastIndex}const s=t.content.slice(o).trim();s.length>0&&e.push({type:"markdown",content:s})}else e.push({type:"plain",content:t.content});return e}),[t.content,t.role]),s=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const e=s.current;e&&setTimeout((()=>{const n=e.parentElement.querySelectorAll(".texting");for(const e of n)e.classList.remove("texting");if(!t.partial)return;let r=e;for(;r;){const e=r.lastChild;if((null==e?void 0:e.nodeType)!==Node.ELEMENT_NODE||"DETAILS"===(null==e?void 0:e.tagName)&&!e.open){var o;if((null==e?void 0:e.nodeType)!==Node.TEXT_NODE||0!==e.textContent.trim().length||(null===(o=e.previousSibling)||void 0===o?void 0:o.nodeType)!==Node.ELEMENT_NODE)break;r=e.previousSibling}else r=e}r.classList.add("texting")}),1)}),[t.partial,t.content]),o().createElement("div",{className:a()("message",{failed:t.failed})},o().createElement("div",{className:"avatar"},o().createElement(c,{icon:{lib:"easyops",icon:"assistant"===t.role?"robot":"account"},size:"small",className:`role-${t.role}`})),o().createElement("div",{className:"main"},o().createElement("div",{className:"label"},"assistant"===t.role?"Assistant":"You"),o().createElement("div",{className:"content",ref:s},n.map(((e,t)=>o().createElement(u,{key:t,chunk:e}))))))}function u(e){let{chunk:t}=e;return o().createElement(o().Fragment,null,"markdown"===t.type?o().createElement("div",{className:"markdown"},o().createElement(i.N,{content:t.content})):"command"===t.type?o().createElement(o().Fragment,null,o().createElement("details",{className:"command"},o().createElement("summary",null,"```",t.command),o().createElement("pre",null,o().createElement("code",null,t.content)))):o().createElement("div",{className:"plain"},t.content))}},4705:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChatConversation:()=>_,ChatConversationComponent:()=>$});var r,o=n(4635),s=n(918),a=n(6902),i=n(5536),c=n(6121),l=n(829),u=n(2740),d=n(8769),f=n.n(d),p=n(4782),m=n(1389),h=(n(9772),n(7035)),g=n(7236);let v,y,b,w,A,E,k,x,N;const{defineElement:S,property:T,event:j}=(0,p.createDecorators)();let _;var C=new WeakMap,B=new WeakMap,O=new WeakMap,M=new WeakSet,L=new WeakMap;class P extends m.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,M),(0,s.A)(this,C,y(this)),(0,s.A)(this,B,(b(this),w(this))),(0,s.A)(this,O,(A(this),E(this))),(0,s.A)(this,L,(N(this),e=>{(0,i.A)(M,this,k).emit(e)}))}get messages(){return(0,l.A)(C,this)}set messages(e){(0,c.A)(C,this,e)}get errorBoundary(){return(0,l.A)(B,this)}set errorBoundary(e){(0,c.A)(B,this,e)}render(){return f().createElement($,{host:this,messages:this.messages,errorBoundary:this.errorBoundary,onStoryboardUpdate:(0,l.A)(L,this)})}}function $(e){let{messages:t,host:n,errorBoundary:r,onStoryboardUpdate:o}=e;const s=(0,d.useMemo)((()=>/(?:^|\n)```easy_cmd_vb_block_(page|storyboard)\n([\s\S]*?)\n```(?:$|\n)/gm),[]),a=(0,d.useRef)(new Map),[i,c]=(0,d.useState)([]),l=(0,d.useRef)(!1);(0,d.useEffect)((()=>{for(const e of t??[]){if("assistant"!==e.role)continue;let t;s.lastIndex=a.current.get(e.key)??0;const n=[];let r=!1;for(;t=s.exec(e.content);){a.current.set(e.key,s.lastIndex);const[,o,i]=t;try{const e=JSON.parse(i);"page"===o?(r=!0,n.push(...e)):n.push({...e,type:"item"})}catch(e){console.error("parse storyboard failed:",e)}}r?c(n):n.length>0&&c((e=>[...e,...n]))}}),[s,t]);const[u,p]=(0,d.useState)([]);(0,d.useEffect)((()=>{const e=[],t=new Map;for(const n of i)"block"===n.type?e.push(n):n.storyboard&&t.set(n.uuid,n.storyboard);e.sort(((e,t)=>e.seq-t.seq));const n={brick:"eo-content-layout",children:[]},o={brick:"eo-main-view",children:[{brick:"eo-page-title",slot:"pageTitle",properties:{pageTitle:"测试页面"}}]};let s=!1;for(const a of e)if("全局操作区"===a.name)for(const e of a.children){const n=t.get(e);n&&(o.children.push({...n,properties:{...n.properties,slot:void 0},errorBoundary:r,slot:"toolbar",iid:`item:${e}`,meta:{type:"item",uuid:e,block:{uuid:a.uuid,name:a.name}}}),s=!0)}else{const e=t.get(a.uuid);if(e){const o={...e,children:[],errorBoundary:r,iid:`block:${a.uuid}`,meta:{type:"block",uuid:a.uuid,name:a.name}};s=!0,n.children.push(o);for(const e of a.children){const n=t.get(e);n&&o.children.push({...n,errorBoundary:r,iid:`item:${e}`,meta:{type:"item",uuid:e}})}}else if(!a.hasContainer)for(const e of a.children){const o=t.get(e);o&&(n.children.push({...o,errorBoundary:r,iid:`item:${e}`,meta:{type:"item",uuid:e}}),s=!0)}}o.children.push(n),p((e=>s?[o]:0===e.length?e:[]))}),[i,r]),(0,d.useEffect)((()=>{null==o||o(u)}),[o,u]);const m=(0,d.useMemo)((()=>{let e=n;for(;e;){const t=getComputedStyle(e,null).getPropertyValue("overflow-y");if("auto"===t||"scroll"===t)return e;if(e.parentNode instanceof ShadowRoot)e=e.parentNode.host;else{if(!(e.parentNode instanceof Element))break;e=e.parentNode}}return document.scrollingElement||document.documentElement}),[n]);return(0,d.useEffect)((()=>{l.current||setTimeout((()=>{m.scrollTo(0,m.scrollHeight)}),1)}),[t,m]),(0,d.useEffect)((()=>{const e=()=>{l.current=m.scrollTop+m.clientHeight+6<m.scrollHeight};return m.addEventListener("scroll",e),()=>{m.removeEventListener("scroll",e)}}),[m]),f().createElement(f().Fragment,null,null==t?void 0:t.map(((e,t)=>f().createElement(h.V,{key:e.key??`index-${t}`,message:e}))))}r=P,({e:[y,b,w,A,E,k,x,N],c:[_,v]}=(0,u.A)(r,[S("visual-builder.chat-conversation",{styleTexts:[g.A]})],[[T({attribute:!1}),1,"messages"],[T({type:Boolean}),1,"errorBoundary"],[j({type:"storyboard.update"}),1,"storyboardUpdate",e=>(0,l.A)(O,e),(e,t)=>(0,c.A)(O,e,t)]],0,(e=>L.has((0,a.A)(e))),m.ReactNextElement)),v()},7236:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(6758),o=n.n(r),s=n(935),a=n.n(s),i=n(6131),c=a()(o());c.i(i.A),c.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.message{display:flex;gap:8px}.main{flex:1;min-width:0}.label{font-weight:bold;line-height:28px}.message:not(:last-child){margin-bottom:2em}.invisible-dots{opacity:0}.failed .content{color:var(--color-error)}.command:not(:first-child){margin-top:1em}.command:not(:last-child){margin-bottom:1em}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}.markdown > :first-child{margin-top:0}.markdown > :last-child{margin-bottom:0}.avatar{align-self:flex-start;display:flex;align-items:center;justify-content:center}.texting::after{content:" ";animation:texting 2s infinite;white-space:pre}@keyframes texting{0%{content:" "}25%{content:". "}50%{content:".. "}75%{content:"..."}100%{content:" "}}pre[class*="language-"]{overflow:visible}pre[class*="language-"],\ncode[class*="language-"]{white-space:pre-wrap}eo-avatar.role-assistant::part(avatar-icon){background-color:var(--palette-blue-5)}.content{word-wrap:break-word}.plain{white-space:pre-wrap}',""]);const l=c.toString()},6131:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(6758),o=n.n(r),s=n(935),a=n.n(s),i=n(7745),c=a()(o());c.i(i.A),c.push([e.id,"",""]);const l=c.toString()},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,s){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var i=0;i<this.length;i++){var c=this[i][0];null!=c&&(a[c]=!0)}for(var l=0;l<e.length;l++){var u=[].concat(e[l]);r&&a[u[0]]||(void 0!==s&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=s),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),t.push(u))}},t}},6758:e=>{"use strict";e.exports=function(e){return e[1]}},3373:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,s(n)))}return e}function s(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)r.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},2740:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(7545),o=n(6902);function s(e,t,n){"symbol"==(0,r.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var a=n(1369);function i(e,t,n,i,c,l){var u,d,f,p,m,h,g,v=Symbol.metadata||Symbol.for("Symbol.metadata"),y=Object.defineProperty,b=Object.create,w=[b(null),b(null)],A=t.length;function E(t,n,r){return function(o,s){n&&(s=o,o=e);for(var a=0;a<t.length;a++)s=t[a].apply(o,r?[s]:[]);return r?s:o}}function k(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function x(e,t,n,o,a,i,c,l,f,p,m){function h(e){if(!m(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),v=t[3],b=!c,A=1===a,x=3===a,N=4===a,S=2===a;function T(t,n,r){return function(o,s){return n&&(s=o,o=e),r&&r(o),j[t].call(o,s)}}if(!b){var j={},_=[],C=x?"get":N||A?"set":"value";if(f?(p||A?j={get:s((function(){return v(this)}),o,"get"),set:function(e){t[4](this,e)}}:j[C]=v,p||s(j[C],o,S?"":C)):p||(j=Object.getOwnPropertyDescriptor(e,o)),!p&&!f){if((d=w[+l][o])&&7!=(d^a))throw Error("Decorating two elements with the same name ("+j[C].name+") is not supported yet");w[+l][o]=a<3?1:a}}for(var B=e,O=g.length-1;O>=0;O-=n?2:1){var M=k(g[O],"A decorator","be",!0),L=n?g[O-1]:void 0,P={},$={kind:["field","accessor","method","getter","setter","class"][a],name:o,metadata:u,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");k(t,"An initializer","be",!0),i.push(t)}.bind(null,P)};if(b)d=M.call(L,B,$),P.v=1,k(d,"class decorators","return")&&(B=d);else if($.static=l,$.private=f,d=$.access={has:f?m.bind():function(e){return o in e}},N||(d.get=f?S?function(e){return h(e),j.value}:T("get",0,h):function(e){return e[o]}),S||x||(d.set=f?T("set",0,h):function(e,t){e[o]=t}),B=M.call(L,A?{get:j.get,set:j.set}:j[C],$),P.v=1,A){if("object"==(0,r.A)(B)&&B)(d=k(B.get,"accessor.get"))&&(j.get=d),(d=k(B.set,"accessor.set"))&&(j.set=d),(d=k(B.init,"accessor.init"))&&_.unshift(d);else if(void 0!==B)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else k(B,(p?"field":"method")+" decorators","return")&&(p?_.unshift(B):j[C]=B)}return a<2&&c.push(E(_,l,1),E(i,l,0)),p||b||(f?A?c.splice(-1,0,T("get",l),T("set",l)):c.push(S?j[C]:k.call.bind(j[C])):y(e,o,j)),B}function N(e){return y(e,v,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[v]),u=b(null==u?null:u),m=[],h=function(e){e&&m.push(E(e))},g=function(t,r){for(var s=0;s<n.length;s++){var i=n[s],l=i[1],u=7&l;if((8&l)==t&&!u==r){var d=i[2],h=!!i[3],g=16&l;x(t?e:e.prototype,i,g,h?"#"+d:(0,a.A)(d),u,u<2?[]:t?p=p||[]:f=f||[],m,!!t,h,r,t&&h?function(t){return(0,o.A)(t)===e}:c)}}},g(8,0),g(0,0),g(8,1),g(0,1),h(f),h(p),d=m,A||N(e),{e:d,get c(){var n=[];return A&&[N(e=x(e,[t],i,e.name,5,n)),E(n,1)]}}}},2559:(e,t,n)=>{"use strict";function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},6902:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7545);function o(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,r.A)(e):"null"));return e}},2016:(e,t,n)=>{"use strict";function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},829:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t){return e.get((0,r.A)(e,t))}},918:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},6121:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return n((0,r.A)(e,t))}},4635:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2016);function o(e,t){(0,r.A)(e,t),t.add(e)}},1369:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7545);function o(e){var t=function(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},7545:(e,t,n)=>{"use strict";function r(e){return r="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},r(e)}n.d(t,{A:()=>r})},7384:(e,t,n)=>{"use strict";n.d(t,{N:()=>d});var r=n(8769),o=n(1085),s=n(3091),a=n(7447),i=n(3640),c=n(4360),l=n(1250);const u={Fragment:o.Fragment,jsx:o.jsx,jsxs:o.jsxs};function d(e){let{content:t}=e;const[n,o]=(0,r.useState)(null);return(0,r.useEffect)((()=>{let e=!1;return(0,s.l)().use(a.A).use(i.A).use([l.N]).use(c.A,u).process(t).then((t=>{e||o(t.result)})).catch((t=>{e||(console.error("Convert markdown failed:",t),o(null))})),()=>{e=!0}}),[t]),n}},1250:(e,t,n)=>{"use strict";n.d(t,{N:()=>a});var r=n(3544),o=n(4650),s=n(9830);function a(){function e(e,t,n){if(!n||"pre"!==n.tagName||"code"!==e.tagName)return;const r=function(e){const t=e.properties.className||[];for(const e of t)if("language-"===e.slice(0,9))return e.slice(9).toLowerCase();return null}(e);if(null===r)return;let a;try{n.properties.className=(n.properties.className||[]).concat("language-"+r),a=s.L.highlight((0,o.d)(e),r)}catch{return}e.children=a.children}return t=>{(0,r.YR)(t,"element",e)}}}}]);
|
|
3
|
+
//# sourceMappingURL=chat-conversation.79dd76c0.js.map
|