@next-bricks/vb-experiment 1.3.14 → 1.3.16
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 +9 -3
- package/dist/chunks/1469.083be8f8.js +2 -0
- package/dist/chunks/1469.083be8f8.js.map +1 -0
- package/dist/chunks/1772.9590b4a1.js +3 -0
- package/dist/chunks/1772.9590b4a1.js.map +1 -0
- package/dist/chunks/1889.e2b26594.js +2 -0
- package/dist/chunks/1889.e2b26594.js.map +1 -0
- package/dist/chunks/2052.d93bd2a2.js +2 -0
- package/dist/chunks/2052.d93bd2a2.js.map +1 -0
- package/dist/chunks/{246.e9cdf4f2.js → 246.3c1287e4.js} +2 -2
- package/dist/chunks/{246.e9cdf4f2.js.map → 246.3c1287e4.js.map} +1 -1
- package/dist/chunks/2857.bfd7ab6b.js +2 -0
- package/dist/chunks/2857.bfd7ab6b.js.map +1 -0
- package/dist/chunks/{3171.3dd2f1c4.js → 3171.bee73fe6.js} +2 -2
- package/dist/chunks/{3171.3dd2f1c4.js.map → 3171.bee73fe6.js.map} +1 -1
- package/dist/chunks/{3735.61433691.js → 3735.6be3dc55.js} +4 -4
- package/dist/chunks/3735.6be3dc55.js.LICENSE.txt +5 -0
- package/dist/chunks/3735.6be3dc55.js.map +1 -0
- package/dist/chunks/4154.371b28c0.js +2 -0
- package/dist/chunks/4154.371b28c0.js.map +1 -0
- package/dist/chunks/{4765.9093ebcf.js → 4765.3a3c2ed3.js} +2 -2
- package/dist/chunks/{7146.f95bb967.js.map → 4765.3a3c2ed3.js.map} +1 -1
- package/dist/chunks/4837.05a838ee.js +2 -0
- package/dist/chunks/{7218.9dc036f4.js.map → 4837.05a838ee.js.map} +1 -1
- package/dist/chunks/{5552.648b8e17.js → 5552.96d83691.js} +2 -2
- package/dist/chunks/{5552.648b8e17.js.map → 5552.96d83691.js.map} +1 -1
- package/dist/chunks/{7146.f95bb967.js → 7146.a8c80bcf.js} +2 -2
- package/dist/chunks/{4765.9093ebcf.js.map → 7146.a8c80bcf.js.map} +1 -1
- package/dist/chunks/7218.b5820c83.js +2 -0
- package/dist/chunks/{4837.13dfbf22.js.map → 7218.b5820c83.js.map} +1 -1
- package/dist/chunks/948.1b677be1.js +3 -0
- package/dist/chunks/948.1b677be1.js.map +1 -0
- package/dist/chunks/{9515.2362ac2c.js → 9515.aa5c47c7.js} +2 -2
- package/dist/chunks/{9515.2362ac2c.js.map → 9515.aa5c47c7.js.map} +1 -1
- package/dist/chunks/app-playground.0745e311.js +2 -0
- package/dist/chunks/app-playground.0745e311.js.map +1 -0
- package/dist/chunks/app-preview.9fb1e8fc.js +2 -0
- package/dist/chunks/app-preview.9fb1e8fc.js.map +1 -0
- package/dist/chunks/{export-as-source-files.ce8ffd89.js → export-as-source-files.5accf195.js} +2 -2
- package/dist/chunks/{export-as-source-files.ce8ffd89.js.map → export-as-source-files.5accf195.js.map} +1 -1
- package/dist/chunks/{export-widgets.f2b4700e.js → export-widgets.1562a8ae.js} +2 -2
- package/dist/chunks/{export-widgets.f2b4700e.js.map → export-widgets.1562a8ae.js.map} +1 -1
- package/dist/chunks/main.5eb0373c.js +2 -0
- package/dist/chunks/main.5eb0373c.js.map +1 -0
- package/dist/chunks/tsx-playground.edb19559.js +2 -0
- package/dist/chunks/tsx-playground.edb19559.js.map +1 -0
- package/dist/index.b762a597.js +2 -0
- package/dist/index.b762a597.js.map +1 -0
- package/dist/manifest.json +43 -0
- package/dist/types.json +52 -0
- package/dist-types/app-playground/index.d.ts +18 -0
- package/dist-types/app-preview/index.d.ts +14 -0
- package/dist-types/bootstrap.d.ts +2 -0
- package/dist-types/tsx-playground/workers/tsxParser.d.ts +3 -2
- package/package.json +2 -2
- package/dist/chunks/1055.600b9180.js +0 -2
- package/dist/chunks/1055.600b9180.js.map +0 -1
- package/dist/chunks/1889.b1784995.js +0 -2
- package/dist/chunks/1889.b1784995.js.map +0 -1
- package/dist/chunks/2750.df953e2c.js +0 -3
- package/dist/chunks/2750.df953e2c.js.LICENSE.txt +0 -9
- package/dist/chunks/2750.df953e2c.js.map +0 -1
- package/dist/chunks/2908.90931ef0.js +0 -2
- package/dist/chunks/2908.90931ef0.js.map +0 -1
- package/dist/chunks/3735.61433691.js.map +0 -1
- package/dist/chunks/4837.13dfbf22.js +0 -2
- package/dist/chunks/7218.9dc036f4.js +0 -2
- package/dist/chunks/8024.9fc7a2a0.js +0 -2
- package/dist/chunks/8024.9fc7a2a0.js.map +0 -1
- package/dist/chunks/8302.b457ddff.js +0 -2
- package/dist/chunks/8302.b457ddff.js.map +0 -1
- package/dist/chunks/948.9e1553ab.js +0 -3
- package/dist/chunks/948.9e1553ab.js.map +0 -1
- package/dist/chunks/main.da24f4e3.js +0 -2
- package/dist/chunks/main.da24f4e3.js.map +0 -1
- package/dist/chunks/tsx-playground.6413b3f9.js +0 -2
- package/dist/chunks/tsx-playground.6413b3f9.js.map +0 -1
- package/dist/index.aef69ef0.js +0 -2
- package/dist/index.aef69ef0.js.map +0 -1
- package/dist-types/tsx-playground/index.spec.d.ts +0 -1
- /package/dist/chunks/{3735.61433691.js.LICENSE.txt → 1772.9590b4a1.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.9e1553ab.js.LICENSE.txt → 948.1b677be1.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[4837,7218],{4837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>m,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(8769),c=t(1921);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(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=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:m}=o;if(null===m)return null==a||a(),null;const v=m;return n.createElement(v,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.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 i().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(563);const y=new Map;function m(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(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(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,m]=(0,n.useState)(l.loading),v=(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,o||m(!0);const t=await async function(e,r,t){let n;const s=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),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?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 s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);w.current=t,b.current=a(b.current,t)}catch(e){h.current=e,b.current=void 0}return o||m(!1),h.current&&u(h.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(v.current="success",e)),(e=>(v.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[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,s.args),()=>_.current=!1)),t),o&&k.current)switch(v.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 v=t(981);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,v.wrapBrick)(e,r)}function _(){const[e,r]=(0,n.useState)((()=>(0,c.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=4837.13dfbf22.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[4837,7218],{4837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>m,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(8769),c=t(1921);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(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=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:m}=o;if(null===m)return null==a||a(),null;const v=m;return n.createElement(v,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.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 i().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(563);const y=new Map;function m(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(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(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,m]=(0,n.useState)(l.loading),v=(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,o||m(!0);const t=await async function(e,r,t){let n;const s=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),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?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 s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);w.current=t,b.current=a(b.current,t)}catch(e){h.current=e,b.current=void 0}return o||m(!1),h.current&&u(h.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(v.current="success",e)),(e=>(v.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[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,s.args),()=>_.current=!1)),t),o&&k.current)switch(v.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 v=t(981);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,v.wrapBrick)(e,r)}function _(){const[e,r]=(0,n.useState)((()=>(0,c.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.9dc036f4.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[8024],{8024:(e,t,n)=>{var r=n(9936),s=n(2461),o=n.n(s),a=n(5060),i=n(2408),l=n(1914),c=n(3242),d=n(77),u=n(4437),p=n(6337),f=n(1672),m=n(743),h=n(7577),x=n(2582),g=n(535),y=n(4215),w=n(1330),b=n(3812),v=n(1259),A=n(1895),j=n(6414),_=n(7585),k=n(6357),$=n(7837);async function E(e){let{typescript:t,semi:n=!0,printWidth:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await(0,i.GP)(e,{parser:t?"babel-ts":"babel",plugins:[l,c],semi:n,printWidth:r,trailingComma:"es5"})}async function S(e,t,n){for(const r of e){const e=[...n,r.name];if("folder"===r.type){const n=t.folder(r.name);await S(r.items,n,e)}else t.file(`${r.name}.js${"routes"===r.nodeType||"bricks"===r.nodeType||"template"===r.nodeType?"x":""}`,await E((0,f.c)(r.node,r.nodeType,e)))}}function C(e){for(const[t,n]of Object.entries(e))switch(t){case"items":if(Array.isArray(n))for(const e of n)N(e);break;case"type":"main"===n&&delete e[t];break;case"if":break;case"i18n":0===Object.keys(n).length&&delete e[t];break;default:null!==n&&!1!==n||delete e[t]}}function N(e){for(const[t,n]of Object.entries(e))switch(t){case"children":Array.isArray(n)&&n.length>0&&N(n);break;case"if":break;case"activeExcludes":case"activeIncludes":Array.isArray(n)&&0===n.length&&delete e[t];break;default:null!==n&&!1!==n||delete e[t]}}customElements.define("vb-experiment.export-as-source-files",(0,r.createProviderClass)((async function(e){var t,n,r,s,i,l;let{projectDetail:c,storyboard:N}=e;const T=new(o()),M=T.folder("project"),O=M.folder("src"),P={extracts:[],namePool:new Map},I=(0,u.WM)(N.routes,[],P),L={id:c.appId,name:c.name,homepage:c.appSetting.homepage,layoutType:c.appSetting.layoutType,theme:c.appSetting.theme,noAuthGuard:c.appSetting.noAuthGuard,locales:c.appSetting.locales,defaultConfig:JSON.parse(c.appSetting.defaultConfig||"{}"),menuIcon:JSON.parse(c.appSetting.icon||"null"),standaloneMode:!0};O.file("app.js",await E(`export default ${JSON.stringify(L,null,2)};`));const W=null!==(t=N.meta)&&void 0!==t?t:{},J=null!==(n=W.customTemplates)&&void 0!==n?n:[],R=null!==(r=W.functions)&&void 0!==r?r:[],D=null!==(s=W.menus)&&void 0!==s?s:[],F=null!==(i=W.contracts)&&void 0!==i?i:[],G=null!==(l=W.i18n)&&void 0!==l?l:{};delete W.customTemplates,delete W.functions,delete W.menus,delete W.contracts,delete W.i18n,delete W.workflows,delete W.mocks,delete W.userGroups;const z=(0,u.pA)(J,["components"],P);P.extracts.push({name:"index",path:["components"],node:z,nodeType:"others"});const B=(0,p._)(P.extracts);O.file("index.js",h),O.file("routes.jsx",await E((0,f.c)(I,"routes",["routes.jsx"])));const U=O.folder("resources"),H=U.folder("functions"),q=[],V=[];for(const e of R){if("index"===e.name)throw new Error('Unexpected function name: "index"');const t=new Set;let{code:n}=(0,d.transform)(e.source,{filename:"expr."+(e.typescript?"ts":"js"),plugins:[...e.typescript?["syntax-typescript"]:[],k.A,[$.A,{imports:t}]]});const r=t.has("FN");r&&t.delete("FN");const s=[];t.size>0&&s.push(`import { ${[...t].join(", ")} } from "next-jsx/runtime";`),r&&s.push('import FN from "./index.js";'),s.length>0&&(n=`${s.join("\n")}\n\n${n}`),H.file(`${e.name}.${e.typescript?"ts":"js"}`,n),V.push(`import ${e.name} from "./${e.name}.js";`),q.push(e.name)}H.file("index.js",await E(`${V.join("\n")}\n\nconst FN = { ${q.join(",")} };\n\nexport default FN;`));const K=U.folder("menus"),Q=[],X=[];for(const e of D){if(C(e),"index"===e.menuId)throw new Error('Unexpected menu id: "index"');const t=`${e.menuId}.js`;K.file(t,await E((0,f.c)(e,"menu",["resources","menus",t])));let n=e.menuId.replace(/^\d+|[^\w]+/g,"_");_.bB.has(n)&&(n=`${n}__2`),X.push(`import ${n} from "./${t}";`),Q.push(n)}K.file("index.js",await E(`${X.join("\n")}\n\nexport default [${Q.join(",")}]`));const Y=U.folder("contracts"),Z=[],ee=new Set;for(const e of F){const t=e.name.replace(/^\d+|[^\w]+/g,"_");let n=2,r=t;for(;ee.has(r)||_.bB.has(r)||"index"===r;)r=`${t}_${n++}`;ee.add(r),Y.file(`${r}.js`,await E(`export default ${JSON.stringify(e)};`)),Z.push(`import ${r} from "./${r}.js";`)}Y.file("index.js",await E(`${Z.join("\n")}\n\nexport default [${[...ee].join(",")}]`)),U.folder("i18n").file("index.js",await E(`export default ${JSON.stringify(G)};`)),U.file("meta.js",await E(`export default ${JSON.stringify(W,null,2)};`)),U.file("index.js",m),await S(B,O,[]),M.folder("mock-micro-apps").folder(c.appId).file(".gitignore","*\n!.gitignore"),M.file(".editorconfig",x),M.file(".gitignore",g),M.file("dev.config.mjs",w),M.file("declarations.d.ts",y),M.file("jsconfig.json",b),M.file("next-jsx.config.js",v.replaceAll("__APP_ID__",c.appId)),M.file("package.json",A.replaceAll("__APP_ID__",c.appId)),M.file("README.md",j.replaceAll("__PROJECT_NAME__",c.name).replaceAll("__PROJECT_HOMEPAGE__",c.appSetting.homepage));const te=await T.generateAsync({type:"blob"});(0,a.saveAs)(te,"project.zip")}))),customElements.define("vb-experiment.export-widgets",(0,r.createProviderClass)((async function(e){let{name:t,files:n}=e;const r=new Map,s=new(o()),i=s.folder("widgets").folder(t);for(const{path:e,content:t}of n){const n=e.split("/"),s=n.pop();let o=i,a=1;for(const e of n){const t=n.slice(0,a).join("/"),s=r.get(t);s?o=s:(o=o.folder(e),r.set(t,o)),a++}o.file(s,t)}const l=await s.generateAsync({type:"blob"});(0,a.saveAs)(l,`${t}.zip`)})));var T,M=n(4635),O=n(918),P=n(6902),I=n(5536),L=n(6121),W=n(829),J=n(2740),R=n(8769),D=n.n(R),F=n(870),G=n(1921),z=n(981),B=n(9711),U=n(563),H=n(5146),q=n(2518),V=n(1086),K=(n(4419),n(795)),Q=n(1746),X=n(9482);let Y,Z,ee,te,ne,re,se,oe,ae;const ie=D().lazy((async()=>({default:await(0,B.asyncWrapBrick)("vs.code-editor",{onCodeChange:"code.change"})}))),le=[{filePath:"/node_modules/next-tsx/components.d.ts",content:q.replaceAll("export interface","interface")},{filePath:"/node_modules/next-tsx/package.json",content:JSON.stringify({name:"next-tsx",types:"./index.d.ts"})},{filePath:"/node_modules/next-tsx/index.d.ts",content:H}],{defineElement:ce,property:de,event:ue}=(0,F.createDecorators)();let pe;var fe=new WeakMap,me=new WeakMap,he=new WeakMap,xe=new WeakSet,ge=new WeakMap;class ye extends z.ReactNextElement{constructor(){super(...arguments),(0,M.A)(this,xe),(0,O.A)(this,fe,Z(this)),(0,O.A)(this,me,(ee(this),te(this))),(0,O.A)(this,he,(ne(this),re(this))),(0,O.A)(this,ge,(ae(this),e=>{var t;null===(t=(0,I.A)(xe,this,se))||void 0===t||t.emit(e)}))}get source(){return(0,W.A)(fe,this)}set source(e){(0,L.A)(fe,this,e)}get extraLibs(){return(0,W.A)(me,this)}set extraLibs(e){(0,L.A)(me,this,e)}render(){return D().createElement(be,{source:this.source,extraLibs:this.extraLibs,onChange:(0,W.A)(ge,this)})}}function we(e){switch(e){case"notice":return"Hint";case"warning":return"Warning";case"error":case"fatal":return"Error"}return e}function be(e){let{source:t,extraLibs:n,onChange:r}=e;const[s,o]=(0,R.useState)(null!=t?t:""),a=(0,R.useDeferredValue)(s),[i,l]=(0,R.useState)(),[c,d]=(0,R.useState)(),u=(0,R.useMemo)((()=>[...le,...null!=n?n:[]]),[n]),p=(0,R.useCallback)((e=>{o(e.detail),r(e.detail)}),[r]);(0,R.useEffect)((()=>{let e=!1;return async function(){const t=await(0,Q.f)();if(e)return;const n=await t.parse(a);if(e)return;d(n);const r=n.errors.filter((e=>!!e.node));r.length>0?l(r.map((e=>({message:e.message,severity:we(e.severity),startLineNumber:e.node.loc.start.line,startColumn:e.node.loc.start.column+1,endLineNumber:e.node.loc.end.line,endColumn:e.node.loc.end.column+1})))):l(void 0)}(),()=>{e=!0}}),[a]);const f=(0,R.useMemo)((()=>(0,U.uniqueId)()),[]),m=(0,R.useRef)(null),h=(0,R.useRef)(null);return(0,R.useEffect)((()=>{const e=m.current;if(!e)return;const t=(0,X.d)(f),n=(0,G.unstable_createRoot)(e,{portal:t,supportsUseChildren:!0});return h.current=n,()=>{n.unmount(),t.remove(),h.current=null}}),[f]),(0,R.useEffect)((()=>{let e=!1;return(async()=>{if(!c)return;let t;try{var n;if(t=await(0,V.d)(c,{rootId:f,expanded:!0}),e)return;const{brick:r,context:s,functions:o,templates:a}=null!=t?t:{};await(null===(n=h.current)||void 0===n?void 0:n.render(null!=r?r:[],{context:s,functions:o,templates:a}))}catch(e){var r;console.error("Failed to render view:",e),null===(r=h.current)||void 0===r||r.render({brick:customElements.get("easyops-default-error")?"easyops-default-error":"div",properties:{errorTitle:"解析失败",dataset:{errorBoundary:""},style:{color:"var(--color-error)"}},children:[{brick:"div",properties:{textContent:(0,G.httpErrorToString)(e)}}]})}})(),()=>{e=!0}}),[f,c]),D().createElement("div",{className:K.A.container},D().createElement("div",{className:K.A.editor},D().createElement(R.Suspense,{fallback:"Loading..."},D().createElement(ie,{value:t,onCodeChange:p,language:"typescript",uri:"file:///view.tsx",automaticLayout:"fit-container",theme:"tm-vs-dark",extraLibs:u,extraMarkers:i,"data-override-theme":"dark-v2"}))),D().createElement("div",{className:K.A.preview},D().createElement("div",{"data-root-id":f,ref:m})))}T=ye,({e:[Z,ee,te,ne,re,se,oe,ae],c:[pe,Y]}=(0,J.A)(T,[ce("vb-experiment.tsx-playground",{shadowOptions:!1})],[[de({attribute:!1}),1,"source"],[de({attribute:!1}),1,"extraLibs"],[ue({type:"change"}),1,"change",e=>(0,W.A)(he,e),(e,t)=>(0,L.A)(he,e,t)]],0,(e=>ge.has((0,P.A)(e))),z.ReactNextElement)),Y()}}]);
|
|
2
|
-
//# sourceMappingURL=8024.9fc7a2a0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/8024.9fc7a2a0.js","mappings":"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","sources":["webpack:///./src/data-providers/export-as-source-files.ts","webpack:///./src/data-providers/export-widgets.ts","webpack:///./src/tsx-playground/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport type { Storyboard, MicroApp, StoryboardMeta } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport JSZip from \"jszip\";\nimport { saveAs } from \"file-saver\";\nimport { format } from \"prettier/standalone\";\nimport * as prettierPluginBabel from \"prettier/plugins/babel\";\nimport * as prettierPluginEstree from \"prettier/plugins/estree\";\nimport { transform } from \"@babel/standalone\";\nimport {\n ExtractState,\n extractRoutes,\n extractTemplates,\n} from \"./utils/extract.js\";\nimport {\n SourceFileOrFolder,\n buildFileStructure,\n} from \"./utils/buildFileStructure.js\";\nimport { generate } from \"./utils/generators/generate.js\";\nimport srcResourcesIndexJs from \"./raws/src/resources/index.js.txt\";\nimport srcIndexJs from \"./raws/src/index.js.txt\";\nimport editorConfig from \"./raws/.editorconfig.txt\";\nimport gitIgnore from \"./raws/.gitignore.txt\";\nimport declarationsDTs from \"./raws/declarations.d.ts.txt\";\nimport devConfigMjs from \"./raws/dev.config.mjs.txt\";\nimport jsconfigJson from \"./raws/jsconfig.json.txt\";\nimport nextJsxConfigJs from \"./raws/next-jsx.config.js.txt\";\nimport packageJson from \"./raws/package.json.txt\";\nimport readmeMd from \"./raws/README.md.txt\";\nimport { JS_RESERVED_WORDS } from \"./utils/constants.js\";\nimport TransformStoryboardFunction from \"./utils/plugins/storyboard-function.js\";\nimport SmartImports from \"./utils/plugins/smart-imports.js\";\n\nexport interface StoryboardAssemblyResult {\n storyboard: Storyboard;\n\n projectDetail: {\n appId: string;\n name: string;\n appSetting: Pick<\n MicroApp,\n \"homepage\" | \"theme\" | \"locales\" | \"noAuthGuard\"\n > & {\n layoutType?: string;\n defaultConfig?: string;\n icon?: string;\n };\n brickNextVersion?: number;\n };\n}\n\nexport async function exportAsSourceFiles({\n projectDetail,\n storyboard,\n}: StoryboardAssemblyResult): Promise<void> {\n const zip = new JSZip();\n const project = zip.folder(\"project\")!;\n const src = project.folder(\"src\")!;\n\n const extractState: ExtractState = {\n extracts: [],\n namePool: new Map(),\n };\n const extractedRoutes = extractRoutes(storyboard.routes, [], extractState);\n\n const app: MicroApp & { layoutType?: string } = {\n id: projectDetail.appId,\n name: projectDetail.name,\n homepage: projectDetail.appSetting.homepage,\n layoutType: projectDetail.appSetting.layoutType,\n theme: projectDetail.appSetting.theme,\n noAuthGuard: projectDetail.appSetting.noAuthGuard,\n locales: projectDetail.appSetting.locales,\n defaultConfig: JSON.parse(projectDetail.appSetting.defaultConfig || \"{}\"),\n menuIcon: JSON.parse(projectDetail.appSetting.icon || \"null\"),\n standaloneMode: true,\n };\n src.file(\n \"app.js\",\n await formatJs(`export default ${JSON.stringify(app, null, 2)};`)\n );\n\n const meta = (storyboard.meta ?? {}) as StoryboardMeta & {\n workflows?: unknown;\n userGroups?: unknown;\n };\n const customTemplates = meta.customTemplates ?? [];\n const functions = meta.functions ?? [];\n const menus = meta.menus ?? [];\n const contracts = meta.contracts ?? [];\n const i18n = meta.i18n ?? {};\n delete meta.customTemplates;\n delete meta.functions;\n delete meta.menus;\n delete meta.contracts;\n delete meta.i18n;\n delete meta.workflows;\n delete meta.mocks;\n delete meta.userGroups;\n\n const extractedTemplates = extractTemplates(\n customTemplates,\n [\"components\"],\n extractState\n );\n extractState.extracts.push({\n name: \"index\",\n path: [\"components\"],\n node: extractedTemplates,\n nodeType: \"others\",\n });\n\n const fileStructure = buildFileStructure(extractState.extracts);\n\n src.file(\"index.js\", srcIndexJs);\n\n src.file(\n \"routes.jsx\",\n await formatJs(generate(extractedRoutes, \"routes\", [\"routes.jsx\"]))\n );\n\n const resources = src.folder(\"resources\")!;\n\n // Functions\n const fnDir = resources.folder(\"functions\")!;\n const fnNames: string[] = [];\n const fnImports: string[] = [];\n for (const fn of functions) {\n if (fn.name === \"index\") {\n throw new Error('Unexpected function name: \"index\"');\n }\n\n // Prepend with `export default` for functions\n const inferredImports = new Set<string>();\n let { code } = transform(fn.source, {\n filename: `expr.${fn.typescript ? \"ts\" : \"js\"}`,\n plugins: [\n ...(fn.typescript ? [\"syntax-typescript\"] : []),\n TransformStoryboardFunction,\n [\n SmartImports,\n {\n imports: inferredImports,\n },\n ],\n ],\n }) as { code: string };\n const hasFN = inferredImports.has(\"FN\");\n if (hasFN) {\n inferredImports.delete(\"FN\");\n }\n const importStrings: string[] = [];\n if (inferredImports.size > 0) {\n importStrings.push(\n `import { ${[...inferredImports].join(\", \")} } from \"next-jsx/runtime\";`\n );\n }\n if (hasFN) {\n importStrings.push(`import FN from \"./index.js\";`);\n }\n if (importStrings.length > 0) {\n code = `${importStrings.join(\"\\n\")}\\n\\n${code}`;\n }\n\n fnDir.file(`${fn.name}.${fn.typescript ? \"ts\" : \"js\"}`, code);\n fnImports.push(`import ${fn.name} from \"./${fn.name}.js\";`);\n fnNames.push(fn.name);\n }\n fnDir.file(\n \"index.js\",\n await formatJs(\n `${fnImports.join(\"\\n\")}\\n\\nconst FN = { ${fnNames.join(\n \",\"\n )} };\\n\\nexport default FN;`\n )\n );\n\n // Menus\n const menusDir = resources.folder(\"menus\")!;\n const menuNames: string[] = [];\n const menuImports: string[] = [];\n for (const menu of menus) {\n cleanMenu(menu);\n if (menu.menuId === \"index\") {\n throw new Error('Unexpected menu id: \"index\"');\n }\n const filename = `${menu.menuId}.js`;\n menusDir.file(\n filename,\n await formatJs(generate(menu, \"menu\", [\"resources\", \"menus\", filename]))\n );\n let name = menu.menuId.replace(/^\\d+|[^\\w]+/g, \"_\");\n if (JS_RESERVED_WORDS.has(name)) {\n name = `${name}__2`;\n }\n menuImports.push(`import ${name} from \"./${filename}\";`);\n menuNames.push(name);\n }\n menusDir.file(\n \"index.js\",\n await formatJs(\n `${menuImports.join(\"\\n\")}\\n\\nexport default [${menuNames.join(\",\")}]`\n )\n );\n\n // Contracts\n const contractsDir = resources.folder(\"contracts\")!;\n const contractImports: string[] = [];\n const contractNames = new Set<string>();\n for (const contract of contracts) {\n const baseName = contract.name.replace(/^\\d+|[^\\w]+/g, \"_\");\n let counter = 2;\n let varName = baseName;\n while (\n contractNames.has(varName) ||\n JS_RESERVED_WORDS.has(varName) ||\n varName === \"index\"\n ) {\n varName = `${baseName}_${counter++}`;\n }\n contractNames.add(varName);\n\n contractsDir.file(\n `${varName}.js`,\n await formatJs(`export default ${JSON.stringify(contract)};`)\n );\n contractImports.push(`import ${varName} from \"./${varName}.js\";`);\n }\n contractsDir.file(\n \"index.js\",\n await formatJs(\n `${contractImports.join(\"\\n\")}\\n\\nexport default [${[\n ...contractNames,\n ].join(\",\")}]`\n )\n );\n\n resources\n .folder(\"i18n\")!\n .file(\n \"index.js\",\n await formatJs(`export default ${JSON.stringify(i18n)};`)\n );\n resources.file(\n \"meta.js\",\n await formatJs(`export default ${JSON.stringify(meta, null, 2)};`)\n );\n resources.file(\"index.js\", srcResourcesIndexJs);\n\n await generateByFileStructure(fileStructure, src, []);\n\n const appDir = project\n .folder(\"mock-micro-apps\")!\n .folder(projectDetail.appId)!;\n appDir.file(\".gitignore\", \"*\\n!.gitignore\");\n\n project.file(\".editorconfig\", editorConfig);\n project.file(\".gitignore\", gitIgnore);\n project.file(\"dev.config.mjs\", devConfigMjs);\n project.file(\"declarations.d.ts\", declarationsDTs);\n project.file(\"jsconfig.json\", jsconfigJson);\n project.file(\n \"next-jsx.config.js\",\n nextJsxConfigJs.replaceAll(\"__APP_ID__\", projectDetail.appId)\n );\n project.file(\n \"package.json\",\n packageJson.replaceAll(\"__APP_ID__\", projectDetail.appId)\n );\n project.file(\n \"README.md\",\n readmeMd\n .replaceAll(\"__PROJECT_NAME__\", projectDetail.name)\n .replaceAll(\"__PROJECT_HOMEPAGE__\", projectDetail.appSetting.homepage)\n );\n\n const blob = await zip.generateAsync({ type: \"blob\" });\n saveAs(blob, \"project.zip\");\n}\n\ninterface FormatJsOptions {\n typescript?: boolean;\n semi?: boolean;\n printWidth?: number;\n}\n\nasync function formatJs(\n source: string,\n { typescript, semi = true, printWidth }: FormatJsOptions = {}\n): Promise<string> {\n return await format(source, {\n parser: typescript ? \"babel-ts\" : \"babel\",\n plugins: [prettierPluginBabel, prettierPluginEstree as any],\n semi,\n printWidth,\n trailingComma: \"es5\",\n });\n}\n\nasync function generateByFileStructure(\n items: SourceFileOrFolder[],\n folder: JSZip,\n path: string[]\n) {\n for (const item of items) {\n const childPath = [...path, item.name];\n if (item.type === \"folder\") {\n const childFolder = folder.folder(item.name)!;\n await generateByFileStructure(item.items, childFolder, childPath);\n } else {\n folder.file(\n `${item.name}.js${\n item.nodeType === \"routes\" ||\n item.nodeType === \"bricks\" ||\n item.nodeType === \"template\"\n ? \"x\"\n : \"\"\n }`,\n await formatJs(generate(item.node, item.nodeType, childPath))\n );\n }\n }\n}\n\nfunction cleanMenu(menu: Record<string, any>) {\n for (const [key, value] of Object.entries(menu)) {\n switch (key) {\n case \"items\":\n if (Array.isArray(value)) {\n for (const item of value) {\n cleanMenuItem(item);\n }\n }\n break;\n case \"type\":\n if (value === \"main\") {\n delete menu[key];\n }\n break;\n case \"if\":\n break;\n case \"i18n\":\n if (Object.keys(value).length === 0) {\n delete menu[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menu[key];\n }\n }\n }\n}\n\nfunction cleanMenuItem(menuItem: Record<string, any>) {\n for (const [key, value] of Object.entries(menuItem)) {\n switch (key) {\n case \"children\":\n if (Array.isArray(value) && value.length > 0) {\n cleanMenuItem(value);\n }\n break;\n case \"if\":\n break;\n case \"activeExcludes\":\n case \"activeIncludes\":\n if (Array.isArray(value) && value.length === 0) {\n delete menuItem[key];\n }\n break;\n default:\n if (value === null || value === false) {\n delete menuItem[key];\n }\n }\n }\n}\n\ncustomElements.define(\n \"vb-experiment.export-as-source-files\",\n createProviderClass(exportAsSourceFiles)\n);\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport JSZip from \"jszip\";\nimport { saveAs } from \"file-saver\";\n\ninterface ExportWidgetsParams {\n name: string;\n files: FileInfo[];\n}\n\ninterface FileInfo {\n path: string;\n content: string;\n}\n\nexport async function exportWidgets({\n name,\n files,\n}: ExportWidgetsParams): Promise<void> {\n const fs = new Map<string, JSZip>();\n const zip = new JSZip();\n const widgets = zip.folder(\"widgets\")!;\n const project = widgets.folder(name)!;\n\n for (const { path, content } of files) {\n const segments = path.split(\"/\");\n const filename = segments.pop()!;\n let handle = project;\n let i = 1;\n for (const segment of segments) {\n const current = segments.slice(0, i).join(\"/\");\n const found = fs.get(current);\n if (found) {\n handle = found;\n } else {\n handle = handle.folder(segment)!;\n fs.set(current, handle);\n }\n i++;\n }\n handle.file(filename, content);\n }\n\n const blob = await zip.generateAsync({ type: \"blob\" });\n saveAs(blob, `${name}.zip`);\n}\n\ncustomElements.define(\n \"vb-experiment.export-widgets\",\n createProviderClass(exportWidgets)\n);\n","import React, {\n Suspense,\n useCallback,\n useDeferredValue,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { httpErrorToString, unstable_createRoot } from \"@next-core/runtime\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { asyncWrapBrick } from \"@next-core/react-runtime\";\nimport { uniqueId } from \"lodash\";\nimport type {\n CodeEditor,\n CodeEditorProps,\n ExtraLib,\n ExtraMarker,\n} from \"@next-bricks/vs/code-editor\";\nimport nextTsxDefinition from \"@next-shared/tsx-parser/lib/next-tsx.d.ts?raw\";\nimport componentsDefinition from \"@next-shared/tsx-converter/lib/components.d.ts?raw\";\nimport { convertTsx, type ConvertResult } from \"@next-shared/tsx-converter\";\nimport type { ParseResult } from \"@next-shared/tsx-parser\";\nimport \"@next-core/theme\";\nimport styles from \"./styles.module.css\";\nimport { getRemoteTsxParserWorker } from \"./workers/tsxParser.js\";\nimport { createPortal } from \"./createPortal.js\";\n\ninterface CodeEditorEvents {\n \"code.change\": CustomEvent<string>;\n}\n\ninterface CodeEditorMapEvents {\n onCodeChange: \"code.change\";\n}\n\nconst AsyncWrappedCodeEditor = React.lazy(async () => ({\n default: await asyncWrapBrick<\n CodeEditor,\n CodeEditorProps,\n CodeEditorEvents,\n CodeEditorMapEvents\n >(\"vs.code-editor\", {\n onCodeChange: \"code.change\",\n }),\n}));\n\nconst BUILTIN_LIBS: ExtraLib[] = [\n {\n filePath: \"/node_modules/next-tsx/components.d.ts\",\n content: componentsDefinition.replaceAll(\"export interface\", \"interface\"),\n },\n {\n filePath: \"/node_modules/next-tsx/package.json\",\n content: JSON.stringify({\n name: \"next-tsx\",\n types: \"./index.d.ts\",\n }),\n },\n {\n filePath: \"/node_modules/next-tsx/index.d.ts\",\n content: nextTsxDefinition,\n },\n];\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface TsxPlaygroundProps {\n source?: string;\n extraLibs?: ExtraLib[];\n}\n\n/**\n * 构件 `vb-experiment.tsx-playground`\n */\nexport\n@defineElement(\"vb-experiment.tsx-playground\", {\n // Monaco editor does not work well with shadow DOM\n shadowOptions: false,\n})\nclass TsxPlayground extends ReactNextElement implements TsxPlaygroundProps {\n /** 仅初始有效 */\n @property({ attribute: false })\n accessor source: string | undefined;\n\n @property({ attribute: false })\n accessor extraLibs: ExtraLib[] | undefined;\n\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<string>;\n\n #handleChange = (value: string) => {\n this.#change?.emit(value);\n };\n\n render() {\n return (\n <TsxPlaygroundComponent\n source={this.source}\n extraLibs={this.extraLibs}\n onChange={this.#handleChange}\n />\n );\n }\n}\n\ninterface TsxPlaygroundComponentProps extends TsxPlaygroundProps {\n onChange: (value: string) => void;\n}\n\nfunction convertSeverity(\n severity: \"notice\" | \"warning\" | \"error\" | \"fatal\"\n): \"Hint\" | \"Info\" | \"Warning\" | \"Error\" {\n switch (severity) {\n case \"notice\":\n return \"Hint\";\n case \"warning\":\n return \"Warning\";\n case \"error\":\n return \"Error\";\n case \"fatal\":\n return \"Error\";\n }\n return severity;\n}\n\nfunction TsxPlaygroundComponent({\n source,\n extraLibs,\n onChange,\n}: TsxPlaygroundComponentProps) {\n const [code, setCode] = useState(source ?? \"\");\n const deferredCode = useDeferredValue(code);\n const [markers, setMarkers] = useState<ExtraMarker[] | undefined>();\n const [view, setView] = useState<ParseResult | undefined>();\n\n const allLibs = useMemo(\n () => [...BUILTIN_LIBS, ...(extraLibs ?? [])],\n [extraLibs]\n );\n\n const handleCodeChange = useCallback(\n (e: CustomEvent<string>) => {\n setCode(e.detail);\n onChange(e.detail);\n },\n [onChange]\n );\n useEffect(() => {\n let ignore = false;\n (async function run() {\n const worker = await getRemoteTsxParserWorker();\n if (ignore) {\n return;\n }\n const result = await worker.parse(deferredCode);\n if (ignore) {\n return;\n }\n setView(result);\n const withNodeErrors = result.errors.filter((err) => !!err.node);\n if (withNodeErrors.length > 0) {\n setMarkers(\n withNodeErrors.map((error) => ({\n message: error.message,\n severity: convertSeverity(error.severity),\n startLineNumber: error.node!.loc!.start.line,\n startColumn: error.node!.loc!.start.column + 1,\n endLineNumber: error.node!.loc!.end.line,\n endColumn: error.node!.loc!.end.column + 1,\n }))\n );\n } else {\n setMarkers(undefined);\n }\n if (ignore) {\n return;\n }\n })();\n return () => {\n ignore = true;\n };\n }, [deferredCode]);\n\n const rootId = useMemo(() => uniqueId(), []);\n const ref = useRef<HTMLDivElement>(null);\n const rootRef = useRef<Awaited<\n ReturnType<typeof unstable_createRoot>\n > | null>(null);\n\n useEffect(() => {\n const container = ref.current;\n if (!container) {\n return;\n }\n const portal = createPortal(rootId);\n const root = unstable_createRoot(container, {\n portal,\n supportsUseChildren: true,\n } as any);\n rootRef.current = root;\n\n return () => {\n root.unmount();\n portal.remove();\n rootRef.current = null;\n };\n }, [rootId]);\n\n // const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n let ignore = false;\n (async () => {\n if (!view) {\n return;\n }\n // setLoading(true);\n let convertedView: ConvertResult | undefined;\n try {\n convertedView = await convertTsx(view, { rootId, expanded: true });\n if (ignore) {\n return;\n }\n const { brick, context, functions, templates } = convertedView ?? {};\n await rootRef.current?.render(brick ?? [], {\n context,\n functions,\n templates,\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Failed to render view:\", error);\n rootRef.current?.render({\n brick: customElements.get(\"easyops-default-error\")\n ? \"easyops-default-error\"\n : \"div\",\n properties: {\n errorTitle: \"解析失败\",\n dataset: {\n errorBoundary: \"\",\n },\n style: {\n color: \"var(--color-error)\",\n },\n },\n children: [\n {\n brick: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n },\n ],\n });\n }\n // if (!ignore) {\n // setLoading(false);\n // }\n })();\n\n return () => {\n ignore = true;\n };\n }, [rootId, view]);\n\n return (\n <div className={styles.container}>\n <div className={styles.editor}>\n <Suspense fallback=\"Loading...\">\n <AsyncWrappedCodeEditor\n value={source}\n onCodeChange={handleCodeChange}\n language=\"typescript\"\n uri=\"file:///view.tsx\"\n automaticLayout=\"fit-container\"\n theme=\"tm-vs-dark\"\n extraLibs={allLibs}\n extraMarkers={markers}\n data-override-theme=\"dark-v2\"\n />\n </Suspense>\n </div>\n <div className={styles.preview}>\n <div data-root-id={rootId} ref={ref} />\n </div>\n </div>\n );\n}\n"],"names":["async","formatJs","source","typescript","semi","printWidth","arguments","length","undefined","format","parser","plugins","prettierPluginBabel","prettierPluginEstree","trailingComma","generateByFileStructure","items","folder","path","item","childPath","name","type","childFolder","file","nodeType","generate","node","cleanMenu","menu","key","value","Object","entries","Array","isArray","cleanMenuItem","keys","menuItem","customElements","define","createProviderClass","_ref","_storyboard$meta","_meta$customTemplates","_meta$functions","_meta$menus","_meta$contracts","_meta$i18n","projectDetail","storyboard","zip","JSZip","project","src","extractState","extracts","namePool","Map","extractedRoutes","extractRoutes","routes","app","id","appId","homepage","appSetting","layoutType","theme","noAuthGuard","locales","defaultConfig","JSON","parse","menuIcon","icon","standaloneMode","stringify","meta","customTemplates","functions","menus","contracts","i18n","workflows","mocks","userGroups","extractedTemplates","extractTemplates","push","fileStructure","buildFileStructure","srcIndexJs","resources","fnDir","fnNames","fnImports","fn","Error","inferredImports","Set","code","transform","filename","TransformStoryboardFunction","SmartImports","imports","hasFN","has","delete","importStrings","size","join","menusDir","menuNames","menuImports","menuId","replace","JS_RESERVED_WORDS","contractsDir","contractImports","contractNames","contract","baseName","counter","varName","add","srcResourcesIndexJs","editorConfig","gitIgnore","devConfigMjs","declarationsDTs","jsconfigJson","nextJsxConfigJs","replaceAll","packageJson","readmeMd","blob","generateAsync","saveAs","files","fs","content","segments","split","pop","handle","i","segment","current","slice","found","get","set","AsyncWrappedCodeEditor","React","default","asyncWrapBrick","onCodeChange","BUILTIN_LIBS","filePath","componentsDefinition","types","nextTsxDefinition","defineElement","property","event","createDecorators","_TsxPlayground","_A","WeakMap","_B","_C","_TsxPlayground_brand","WeakSet","_handleChange","TsxPlayground","ReactNextElement","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_source","_init_extra_source","_init_extraLibs","_init_extra_extraLibs","_init_change","_init_extra_change","_classPrivateGetter2","_classPrivateGetter","this","_get_change","emit","_classPrivateFieldGet","v","_classPrivateFieldSet","extraLibs","render","TsxPlaygroundComponent","onChange","convertSeverity","severity","setCode","useState","deferredCode","useDeferredValue","markers","setMarkers","view","setView","allLibs","useMemo","handleCodeChange","useCallback","e","detail","useEffect","ignore","worker","getRemoteTsxParserWorker","result","withNodeErrors","errors","filter","err","map","error","message","startLineNumber","loc","start","line","startColumn","column","endLineNumber","end","endColumn","rootId","uniqueId","ref","useRef","rootRef","container","portal","createPortal","root","unstable_createRoot","supportsUseChildren","unmount","remove","convertedView","_rootRef$current","convertTsx","expanded","brick","context","templates","_rootRef$current2","console","properties","errorTitle","dataset","errorBoundary","style","color","children","textContent","httpErrorToString","className","styles","editor","Suspense","fallback","language","uri","automaticLayout","extraMarkers","preview","_TsxPlayground2","_set_change","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e,n,r,t,o,s,i,a,d,l,u,p,c,f,m,g,h,v,y,b={8302:(e,n,r)=>{var t=r(580),o=r(8135),s=r(4);const i=["callApi","callHttp","callTool"];function a(e,n){return!e.async&&!e.generator||(n.errors.push({message:"Function cannot be async or generator",node:e,severity:"error"}),!1)}function d(e,n){return!!e.referencesImport("next-tsx",n)||e.node.name===n&&!e.scope.getBinding(e.node.name)}function l(e,n){let r=null;return o.traverse(e,{enter(e,n){var t;!r&&(o.isFunctionExpression(e)||o.isStatement(e)||o.isAwaitExpression(e)||o.isYieldExpression(e)||o.isJSX(e)||o.isArrowFunctionExpression(e)&&(e.async||e.generator||o.isBlockStatement(e.body)||o.isObjectProperty(null===(t=n[n.length-1])||void 0===t?void 0:t.node)))&&(r=e)}}),!r||(null==n||n.errors.push({message:`Unsupported expression type: ${r.type}`,node:r,severity:"error"}),!1)}function u(e){return e.isNullLiteral()||e.isIdentifier()&&"undefined"===e.node.name&&void 0===e.scope.getBinding("undefined")}function p(e,n,r,t){var o;const s=[],i={TSTypeAnnotation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSTypeParameterInstantiation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSAsExpression(e){s.push({type:"annotation",start:e.node.expression.end,end:e.node.end}),e.skip()},Identifier(e){var t,o,i,a,d,l;if(!e.isReferencedIdentifier())return;const u=e.parentPath.isObjectProperty()&&e.parentPath.node.shorthand,p=e.node.name,c=e.scope.getBindingIdentifier(p);if(c){var f,m;let l;switch(c){case null===(t=r.eventBinding)||void 0===t?void 0:t.id:l=null!==(o=r.eventBinding)&&void 0!==o&&o.isCallback?"EVENT.detail":"EVENT";break;case null===(i=r.forEachBinding)||void 0===i?void 0:i.item:l="ITEM";break;case null===(a=r.forEachBinding)||void 0===a?void 0:a.index:l="INDEX";break;case null===(d=r.dataBinding)||void 0===d?void 0:d.id:l="DATA"}if(l)return void s.push({type:"id",start:e.node.start,end:e.node.end,replacement:l,shorthand:u?p:void 0});const g=null===(f=r.component)||void 0===f?void 0:f.bindingMap.get(c);g?"state"===g.kind||"resource"===g.kind||"constant"===g.kind||"param"===g.kind||"query"===g.kind?s.push({type:"id",start:e.node.start,end:e.node.end,replacement:"query"===g.kind?"QUERY":`${"template"===r.component.type?"STATE":"CTX"}.${c.name}`,shorthand:u?p:void 0}):n.errors.push({message:`Invalid usage of ${g.kind} variable "${c.name}"`,node:e.node,severity:"error"}):null!==(m=r.functionBindings)&&void 0!==m&&m.has(c)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`FN.${p}`,shorthand:u?p:void 0})}else null!==(l=r.contextBindings)&&void 0!==l&&l.includes(p)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`CTX.${p}`,shorthand:u?p:void 0})}};e.isIdentifier()&&i.Identifier(e),e.traverse(i),s.sort(((e,n)=>e.start-n.start));const a=[];let d=e.node.start;for(const e of s)a.push(n.source.substring(d,e.start),"annotation"===e.type?"":`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),d=e.end;a.push(n.source.substring(d,e.node.end));const l=a.join("");return t?l:`<%${null!==(o=r.modifier)&&void 0!==o?o:""} ${l} %>`}const c=/^<%=?\s/,f=/\s%>$/,m={callApi:[2,3],callHttp:[1,2],callTool:[2,3]};function g(e,n,r){if(!e.isCallExpression()&&!e.isOptionalCallExpression())return n.errors.push({message:`Await expression must be a call expression, received ${e.node.type}`,node:e.node,severity:"error"}),null;const t=e.get("callee");let o;if(!t.isIdentifier())return n.errors.push({message:`Await expression must call an identifier, received ${t.type}`,node:t.node,severity:"error"}),null;for(const e of i)if(d(t,e)){o=e;break}if(!o)return n.errors.push({message:`Await expression must call "callApi", "callHttp" or "callTool", received "${t.node.name}"`,node:t.node,severity:"error"}),null;const s=m[o],a=e.get("arguments"),l=a.length<s[0];if((l||!s.includes(a.length))&&(n.errors.push({message:`"${o}()" expects ${s.join(" or ")} arguments, but got ${a.length}`,node:e.node,severity:l?"error":"warning"}),l))return null;let p;const g=a[0];if("callHttp"===o){const e=I(g,n,r);if("string"!=typeof e)return n.errors.push({message:`"${o}()" expects a string value as the first argument, but got ${typeof e}`,node:g.node,severity:"error"}),null;p={api:e,http:!0}}else if("callApi"===o){if(!g.isStringLiteral())return n.errors.push({message:`"${o}()" expects a string literal as the first argument, but got ${g.type}`,node:g.node,severity:"error"}),null;p={api:g.node.value}}else{const e=I(g,n,r);if("string"!=typeof e)return n.errors.push({message:`"${o}()" expects a string value as the first argument, but got ${typeof e}`,node:g.node,severity:"error"}),null;const t=a[1],s=I(t,n,r);if("string"!=typeof s)return n.errors.push({message:`"${o}()" expects a string value as the second argument, but got ${typeof s}`,node:t.node,severity:"error"}),null;const i=a[2];let d;i&&(d=I(i,n,r)),p={api:o,tool:{conversationId:e,stepId:s},params:d}}if("callApi"===o||"callHttp"===o){const e=a[1];if(e&&!u(e)){e.isObjectExpression()||n.errors.push({message:`Data source "params" prefers an object literal, but got ${e.type}`,node:e.node,severity:"notice"});const t=I(e,n,r);(function(e){if("string"!=typeof e)return!1;const n=e.trim();return c.test(n)&&f.test(n)})(t)||"object"==typeof t&&null!==t?p.params=t:n.errors.push({message:"API params expects an object or expression, but got "+typeof t,node:e.node,severity:"error"})}}if("callApi"===o){const e=a[2];if(e&&!u(e))if(e.isObjectExpression()){const r=e.get("properties");for(const e of r){if(!e.isObjectProperty()){n.errors.push({message:`"callApi()" third param "meta" expects object properties, but got ${e.type}`,node:e.node,severity:"error"});continue}const r=e.get("key");if(!r.isIdentifier()){n.errors.push({message:`"callApi()" third param "meta" property key must be an identifier, but got ${r.type}`,node:r.node,severity:"error"});continue}if("objectId"!==r.node.name){n.errors.push({message:`"callApi()" third param "meta" property key must be "objectId", but got "${r.node.name}"`,node:r.node,severity:"error"});continue}const t=e.get("value");if(!u(t)){if(!t.isStringLiteral()){n.errors.push({message:`"callApi()" third param "meta" property "${r.node.name}" expects a string literal, but got ${t.type}`,node:t.node,severity:"error"});continue}p.objectId=t.node.value}}}else n.errors.push({message:`"callApi()" third param "meta" expects an object literal, but got ${e.type}`,node:e.node,severity:"error"})}return p}function h(e,n,r,t){if(!e.isArrowFunctionExpression())return n.errors.push({message:`Event handler must be an arrow function expression, but got ${e.type}`,node:e.node,severity:"error"}),null;const o=e.get("params");if(o.length>1)return n.errors.push({message:`Event handler arrow function must have at most one parameter, but got ${o.length}`,node:e.node,severity:"error"}),null;const s=o[0],i={...r,modifier:void 0,eventBinding:void 0};if(s){if(!s.isIdentifier())return n.errors.push({message:`Event handler arrow function parameter must be an identifier, but got ${s.type}`,node:s.node,severity:"error"}),null;i.eventBinding={id:s.node,isCallback:t}}const a=v(e.get("body"),n,i);return a?[].concat(a):null}function v(e,n,r){if(e.isBlockStatement())return e.get("body").flatMap((e=>v(e,n,r))).filter((e=>null!==e));if(e.isIfStatement())return{action:"conditional",payload:{test:I(e.get("test"),n,r),consequent:v(e.get("consequent"),n,r),alternate:e.node.alternate?v(e.get("alternate"),n,r):null}};if(e.isExpressionStatement())return v(e.get("expression"),n,r);if(e.isCallExpression()||e.isOptionalCallExpression()){const a=e.get("callee"),l=e.get("arguments");if(a.isIdentifier()){if(d(a,"showMessage"))return 1!==l.length?(n.errors.push({message:`"showMessage()" expects exactly 1 argument, but got ${l.length}`,node:e.node,severity:"error"}),null):{action:"show_message",payload:I(l[0],n,r)};if(d(a,"pushQuery"))return 1!==l.length&&2!==l.length?(n.errors.push({message:`"pushQuery()" expects 1 or 2 arguments, but got ${l.length}`,node:e.node,severity:"error"}),null):{action:"update_query",payload:{method:"push",args:l.map((e=>I(e,n,r)))}};for(const t of i)if(d(a,t)){const t=g(e,n,r);return t?(n.contracts.add(t.api),{action:"call_api",payload:t}):null}const o=a.scope.getBindingIdentifier(a.node.name);let s;var t;return o&&(s=null===(t=r.component)||void 0===t?void 0:t.bindingMap.get(o)),s?"setState"===s.kind?{action:"update_variable",payload:{name:s.id.name,value:void 0===l[0]?void 0:I(l[0],n,{...r,modifier:void 0})}}:(n.errors.push({message:`"${a.node.name}" is not callable`,node:a.node,severity:"error"}),null):(n.errors.push({message:`Function "${a.node.name}" is not defined`,node:a.node,severity:"error"}),null)}if(a.isMemberExpression()||a.isOptionalMemberExpression()){if(a.node.computed)return n.errors.push({message:"Event handler call expression with computed member expression is not supported",node:a.node,severity:"error"}),null;const e=a.get("object");if(e.isMemberExpression()||e.isOptionalMemberExpression()){const t=e.get("property");if(!e.node.computed&&t.isIdentifier()&&"current"===t.node.name){const t=e.get("object");if(t.isIdentifier()){var o;const e=t.scope.getBindingIdentifier(t.node.name);let i;var s;if(e&&(i=null===(s=r.component)||void 0===s?void 0:s.bindingMap.get(e)),!i)return n.errors.push({message:`Variable "${t.node.name}" is not defined`,node:t.node,severity:"error"}),null;if("ref"!==i.kind)return n.errors.push({message:`Variable "${t.node.name}" is not a ref, but a ${i.kind}`,node:t.node,severity:"error"}),null;const d=a.get("property");return d.isIdentifier()?{action:"call_ref",payload:{ref:i.id.name,method:d.node.name,args:l.map((e=>I(e,n,r))),scope:null===(o=r.component)||void 0===o?void 0:o.type}}:(n.errors.push({message:"Event handler call expression with non-identifier property is not supported",node:d.node,severity:"error"}),null)}}}if(!e.isCallExpression())return n.errors.push({message:`Member expression in event handler expects a call expression as object, but got ${e.type}`,node:e.node,severity:"error"}),null;const t=e.get("callee");if(!t.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as callee, but got ${t.type}`,node:t.node,severity:"error"}),null;const u=a.get("property");if(!u.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as property, but got ${u.type}`,node:u.node,severity:"error"}),null;let p;for(const e of i)if(d(t,e)){p=e;break}if(p){if("then"!==u.node.name)return n.errors.push({message:`"${p}()" expects "then" as its method, but got ${u.node.name}`,node:u.node,severity:"error"}),null;if(1!==l.length)return n.errors.push({message:`"${p}().then()" expects exactly 1 argument, but got ${l.length}`,node:u.node,severity:"error"}),null;const t=g(e,n,r);if(!t)return null;n.contracts.add(t.api);const o=h(l[0],n,r,!0);return{action:"call_api",payload:t,callback:o?{success:o}:void 0}}return n.errors.push({message:`Unsupported action in event handler: ${t.node.name}`,node:t.node,severity:"error"}),null}}return n.errors.push({message:"Unsupported event handler",node:e.node,severity:"error"}),null}function y(e,n,r){var t,o;if(!e.isJSXExpressionContainer())return void n.errors.push({message:`The "ref" attribute in component expects a JSXExpressionContainer, but got ${null===(t=e.node)||void 0===t?void 0:t.type}`,node:null!==(o=e.node)&&void 0!==o?o:e.parent,severity:"error"});const s=e.get("expression");if(!s.isIdentifier())return void n.errors.push({message:`The "ref" attribute in component expects an identifier, but got ${s.node.type}`,node:s.node,severity:"error"});const i=s.node.name,a=s.scope.getBindingIdentifier(i);let d;var l;if(a&&(d=null===(l=r.component)||void 0===l?void 0:l.bindingMap.get(a)),d){if("ref"===d.kind)return d.id.name;n.errors.push({message:`The variable "${i}" is not a ref, but a ${d.kind}`,node:e.node,severity:"error"})}else n.errors.push({message:`The ref "${i}" is not defined`,node:e.node,severity:"error"})}function b(e){return e.slice(2).replace(/([a-z])([A-Z])/g,"$1.$2").toLowerCase()}function x(e,n,r){if(e.isJSXFragment())return e.get("children").flatMap((e=>x(e,n,r)));if(e.isJSXText())return e.node.value.trim()?{type:"text",text:e.node.value}:null;if(e.isJSXExpressionContainer())return x(e.get("expression"),n,r);if(e.isJSXEmptyExpression())return null;if(e.isJSXElement())return function(e,n,r){const t=e.get("openingElement"),s=t.get("name");if(!s.isJSXIdentifier())return n.errors.push({message:`Unsupported JSX element name type: ${s.type}`,node:s.node,severity:"error"}),null;if(d(s,"Fragment")){for(const e of t.node.attributes)o.isJSXAttribute(e)&&o.isJSXIdentifier(e.name)&&"key"===e.name.name||n.errors.push({message:"Invalid attribute for Fragment",node:e,severity:"error"});return e.get("children").flatMap((e=>x(e,n,r)))}const i={},a={};let l,u;for(const e of t.get("attributes")){if(e.isJSXSpreadAttribute()){n.errors.push({message:"Spread attributes are not supported in component",node:e.node,severity:"error"});continue}const t=e.get("name");if(!t.isJSXIdentifier()){n.errors.push({message:`Expected JSXIdentifier, but got ${t.node.type}`,node:t.node,severity:"error"});continue}const o=t.node.name;if("key"===o)continue;const s=e.get("value");if("ref"!==o)if(/^on[A-Z]/.test(o)){if(!s.isJSXExpressionContainer()){var p,c;n.errors.push({message:`Event handler "${o}" expects a JSXExpressionContainer, but got ${null===(p=s.node)||void 0===p?void 0:p.type}`,node:null!==(c=s.node)&&void 0!==c?c:s.parent,severity:"error"});continue}const e=s.get("expression");if(e.isJSXEmptyExpression()){n.errors.push({message:"Empty expression in events is not allowed",node:e.node,severity:"warning"});continue}let t=null;if(e.isIdentifier()){const n=e.scope.getBindingIdentifier(e.node.name);if(n){var f;const e=null===(f=r.component)||void 0===f?void 0:f.bindingMap.get(n);e&&"eventHandler"===e.kind&&(t=[{action:"dispatch_event",payload:{type:b(e.id.name),detail:"<% EVENT.detail %>"}}])}}t||(t=h(e,n,r)),t&&(null!=l||(l={}),l[b(o)]=t)}else if(null==s.node)i[o]=!0;else if(s.isStringLiteral())i[o]=s.node.value,a[o]=s.node.value;else if(s.isJSXExpressionContainer()){const e=s.get("expression");e.isJSXEmptyExpression()?n.errors.push({message:`Empty expression in JSX attribute "${o}" is not allowed`,node:e.node,severity:"warning"}):i[o]=j(e,n,{...r,allowUseBrick:!0,modifier:"="})}else n.errors.push({message:`Unsupported attribute value type in component: ${s.node.type}`,node:s.node,severity:"error"});else u=y(s,n,r)}const{textContent:m,children:g}=E(e.get("children"),n,r);return m&&(i.textContent=m),{type:"component",component:{name:s.node.name,properties:i,ref:u,events:l,children:g}}}(e,n,r);if(e.isCallExpression()){const t=e.get("callee");if(t.isMemberExpression()||t.isOptionalMemberExpression()){const o=t.get("property");if(o.isIdentifier()&&"map"===o.node.name){const o=e.get("arguments");if(o.length>0){const e=o[0];if(e.isArrowFunctionExpression()){const o=e.get("body");if(o.isExpression()&&$(o.node)){const o=t.get("object");if(!l(o.node,n))return null;const s=e.get("params");if(s.length>2)return n.errors.push({message:`Array map function with JSX elements must have at most two parameters, but got ${s.length}`,node:s[2].node,severity:"error"}),null;const i=s.find((e=>!e.isIdentifier()));if(i)return n.errors.push({message:`Array map function with JSX elements must have identifier parameters, but got ${i.type}`,node:i.node,severity:"error"}),null;const a={...r,forEachBinding:void 0};if(s.length>0){const[e,n]=s;a.forEachBinding={item:e.node,index:null==n?void 0:n.node}}return{type:"component",component:{name:"ForEach",properties:{dataSource:j(o,n,{...r,modifier:"="})},children:k(e.get("body"),n,a)}}}}}}}}else if(e.isConditionalExpression()){const t=e.get("test"),o=e.get("consequent"),s=e.get("alternate");if($(o.node)||$(s.node))return l(t.node,n)?{type:"component",component:{name:"If",properties:{dataSource:j(t,n,{...r,modifier:"="})},children:[...k(o,n,r),...k(s,n,r).map((e=>({...e,slot:"else"})))]}}:null}else if(e.isLogicalExpression()){const t=e.get("left"),o=e.get("right"),s=e.node.operator;if(("&&"===s||"||"===s)&&$(o.node)){if(!l(t.node,n))return null;const e=k(o,n,r);return{type:"component",component:{name:"If",properties:{dataSource:j(t,n,{...r,modifier:"="})},children:"&&"===s?e:e.map((e=>({...e,slot:"else"})))}}}}return e.isExpression()?l(e.node,n)?{type:"expression",expression:e}:null:(n.errors.push({message:`Unsupported node type in JSX children: ${e.type}`,node:e.node,severity:"error"}),null)}function $(e){let n=!1;return o.traverse(e,{enter(e){n||!o.isJSXElement(e)&&!o.isJSXFragment(e)||(n=!0)}}),n}function E(e,n,r){let t=e.flatMap((e=>x(e,n,r))),o=t.every((e=>"text"===(null==e?void 0:e.type)));if(!o){let e=null;const n=[];for(const r of t){if(null===r);else if("text"===r.type||"expression"===r.type){var s,i,a;if("text"===(null===(s=e)||void 0===s?void 0:s.type)||"expression"===(null===(i=e)||void 0===i?void 0:i.type)){e={type:"merged",children:[e,r]},n.splice(n.length-1,1,e);continue}if("merged"===(null===(a=e)||void 0===a?void 0:a.type)){e.children.push(r);continue}}e=r,n.push(r)}t=n,o=t.every((e=>"text"===(null==e?void 0:e.type)||"merged"===(null==e?void 0:e.type)&&e.children.every((e=>"text"===e.type))))}return o?{textContent:t.flatMap((e=>"text"===e.type?e.text:e.children.map((e=>e.text)))).join("").trim()}:t.every((e=>!!e&&"component"!==e.type))?{textContent:S(t.flatMap((e=>"merged"===e.type?e.children:e)),n,r)}:{children:t.filter((e=>!!e)).map((e=>"component"===e.type?e.component:{name:"Plaintext",properties:{textContent:"text"===e.type?e.text:"expression"===e.type?p(e.expression,n,{...r,modifier:"="}):S(e.children,n,r)}}))}}function S(e,n,r){return n.usedHelpers.add("_helper_mergeTexts"),`<%= FN._helper_mergeTexts(${e.map((e=>"text"===e.type?JSON.stringify(e):`{type:"expression",value:(${p(e.expression,n,r,!0)})}`)).join(", ")}) %>`}function k(e,n,r){const{textContent:t,children:o}=E([e],n,r);return null!=o?o:[{name:"Plaintext",properties:{textContent:t}}]}const w=Symbol("ambiguous");function I(e,n,r){if(e.isTSAsExpression())return I(e.get("expression"),n,r);if(e.isObjectExpression())return function(e,n,r){const t=e.get("properties");if(t.some((e=>e.isSpreadElement()||e.isObjectProperty()&&(e.node.computed||e.node.shorthand)))&&l(e.node,n))return r.ambiguous?w:p(e,n,r);const o={};for(const e of t){if(!e.isObjectProperty()){n.errors.push({message:`Unsupported property type: ${e.type}`,node:e.node,severity:"error"});continue}if(e.node.computed||e.node.shorthand){n.errors.push({message:"Unsupported computed or shorthand object property",node:e.node.key,severity:"error"});continue}const t=e.get("key");let s;if(t.isIdentifier())s=t.node.name;else{if(!t.isStringLiteral()){n.errors.push({message:`Unsupported object key type: ${t.node.type}`,node:t.node,severity:"error"});continue}s=t.node.value}o[s]=I(e.get("value"),n,r)}return o}(e,n,r);if(e.isArrayExpression())return function(e,n,r){const t=e.get("elements");if(t.some((e=>!e||e.isSpreadElement()))&&l(e.node,n))return r.ambiguous?w:p(e,n,r);const o=[];for(const s of t)s.node?s.isSpreadElement()?n.errors.push({message:"Spread elements are not supported in array",node:s.node,severity:"error"}):o.push(I(s,n,r)):n.errors.push({message:"Array elements cannot be empty",node:e.node,severity:"error"});return o}(e,n,r);if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(!e.isIdentifier()||"undefined"!==e.node.name||void 0!==e.scope.getBinding("undefined")){if(r.allowUseBrick&&e.isArrowFunctionExpression()){const t=e.get("body");if(t.isBlockStatement())return n.errors.push({message:"Block statements are not supported in render callback",node:t.node,severity:"error"}),null;const o=[];for(const r of e.get("params")){if(!r.isIdentifier())return n.errors.push({message:`Unsupported parameter type: ${r.type}`,node:r.node,severity:"error"}),null;o.push(r.node.name)}return{params:o,children:k(t,n,r)}}return e.isExpression()?l(e.node,n)?r.ambiguous?w:p(e,n,r):null:(n.errors.push({message:`Unsupported value type: ${e.node.type}`,node:e.node,severity:"error"}),null)}}function j(e,n,r){let t=!1;return o.traverse(e.node,{enter(e,n){var r;let s;t||o.isStringLiteral(e)||o.isNumericLiteral(e)||o.isBooleanLiteral(e)||o.isNullLiteral(e)||o.isObjectExpression(e)||o.isArrayExpression(e)||o.isObjectProperty(e)||o.isIdentifier(e)&&(s=null===(r=n[n.length-1])||void 0===r?void 0:r.node,1)&&(s&&o.isObjectProperty(s)?!s.computed&&!s.shorthand:"undefined"===e.name)||(t=!0)}}),t&&l(e.node,null)?p(e,n,r):I(e,n,r)}function A(e,n,r,t,o,s,i){const a=g(e,n,r);if(!a)return null;n.contracts.add(a.api);const d={name:t,config:o,...a};if(s){var l;if(s.length>("catch"===i?1:2))return n.errors.push({message:`".${i}()" expects no more than 2 arguments, but got ${s.length}`,node:null===(l=s[1])||void 0===l?void 0:l.node,severity:"error"}),null;if(s.length>0){const e=C(s[0],n,r);e&&(d["catch"===i?"rejectTransform":"transform"]=e)}if("catch"!==i&&s.length>1){const e=C(s[1],n,r);e&&(d.rejectTransform=e)}}return d}function C(e,n,r){if(!e.isArrowFunctionExpression())return n.errors.push({message:`".then()" callback expects an arrow function, but got ${e.type}`,node:e.node,severity:"error"}),null;const t=e.get("body");if(!t.isExpression())return n.errors.push({message:`".then()" callback function body expects an expression, but got ${t.type}`,node:t.node,severity:"error"}),null;const o=e.get("params");var s,i;if(o.length>1)return n.errors.push({message:`".then()" callback function expects exactly 0 or 1 parameter, but got ${o.length}`,node:null!==(s=null===(i=o[1])||void 0===i?void 0:i.node)&&void 0!==s?s:e,severity:"error"}),null;const a={...r,dataBinding:void 0},d=o[0];if(o.length>0){if(!d.isIdentifier())return n.errors.push({message:`".then()" callback function parameter expects an identifier, but got ${d.type}`,node:d.node,severity:"error"}),null;a.dataBinding={id:d.node}}return p(t,n,a)}function T(e,n,r,t){const o=e.get("id");if(!o.isArrayPattern())return null;const s=o.get("elements");if(1!==s.length&&2!==s.length)return null;const i=s[0];if(!i.isIdentifier())return null;if(1!==n.length&&2!==n.length)return null;const d=n[0];if(!d.isArrowFunctionExpression())return null;if(!a(d.node,r))return null;const l=d.get("body");if(l.isBlockStatement())return null;if(!l.isCallExpression())return null;const u=l.get("callee");if(!u.isIdentifier()&&!u.isMemberExpression())return null;const p=n[1];let c;if(p){if(!p.isObjectExpression())return r.errors.push({message:`"useResource()" second argument must be an object expression, but got ${p.type}`,node:p.node,severity:"error"}),null;for(const e of p.get("properties")){if(!e.isObjectProperty())return r.errors.push({message:`Unsupported property type in "useResource()" second argument: ${e.type}`,node:e.node,severity:"error"}),null;const n=e.get("key");if(!n.isIdentifier())return r.errors.push({message:`"useResource()" second argument property key must be an identifier, but got ${n.type}`,node:n.node,severity:"error"}),null;if(e.node.computed)return r.errors.push({message:'"useResource()" second argument property key cannot be computed',node:n.node,severity:"error"}),null;if("enabled"!==n.node.name&&"fallback"!==n.node.name)return r.errors.push({message:`"useResource()" second argument property key must be "enabled" or "fallback", but got "${n.node.name}"`,node:n.node,severity:"error"}),null;null!=c||(c={}),c[n.node.name]=I(e.get("value"),r,t)}}let f=null;if(u.isMemberExpression()){const e=u.get("property");if(!e.isIdentifier()||u.node.computed||"then"!==e.node.name&&"catch"!==e.node.name)return r.errors.push({message:"Unexpected awaited expression",node:e.node,severity:"error"}),null;f=A(u.get("object"),r,t,i.node.name,c,l.get("arguments"),e.node.name)}else f=A(l,r,t,i.node.name,c);return f?{id:i.node,kind:"resource",resource:f}:null}function B(e,n,r,t){if(!a(e.node,n))return null;const o=new Map,s={bindingMap:o,type:r},i={...t,component:s},l=e.get("params");if("template"===r){if(l.length>1)return n.errors.push({message:`Component function can only have zero or one parameter, received ${l.length}`,node:e.node,severity:"error"}),null;if(l.length>0){const e=l[0];if(!e.isObjectPattern())return n.errors.push({message:`Component function parameter must be an object pattern, received ${e.type}`,node:e.node,severity:"error"}),null;for(const r of e.get("properties")){if(r.isRestElement())return n.errors.push({message:"Component function parameter rest element is not allowed",node:r.node,severity:"error"}),null;const e=r.node;if(e.computed||!e.shorthand)return n.errors.push({message:"Component function parameter properties must be shorthand and not computed",node:r.node,severity:"error"}),null;const t=r.get("key"),s=r.get("value");if(!t.isIdentifier())return n.errors.push({message:`Component function parameter property key must be an identifier, received ${t.type}`,node:t.node,severity:"error"}),null;const a=t.node.name;if(/^on[A-Z]/.test(a)){if(!s.isIdentifier())return n.errors.push({message:`Event handler parameter "${a}" must be an identifier, received ${s.type}`,node:s.node,severity:"error"}),null;o.set(s.node,{id:s.node,kind:"eventHandler"})}else{let e,r;if(s.isAssignmentPattern()){const t=s.get("left");t.isIdentifier()&&(e=t.node,r=I(s.get("right"),n,i))}else s.isIdentifier()&&(e=s.node);if(!e){n.errors.push({message:`Component function parameter property value must be an identifier or assignment pattern, received ${s.type}`,node:s.node,severity:"error"});continue}const t={id:e,kind:"param",initialValue:r};o.set(e,t)}}}}else if(l.length>0)return n.errors.push({message:`Page function cannot have parameters, received ${l.length}`,node:e.node,severity:"error"}),null;const u=e.get("body").get("body");for(const e of u)if(e.isVariableDeclaration()){if("const"!==e.node.kind){n.errors.push({message:`Only "const" variable declaration is allowed, received "${e.node.kind}"`,node:e.node,severity:"error"});continue}for(const r of e.get("declarations")){const e=r.get("init");if(e.isCallExpression()){const t=e.get("callee");if(t.isIdentifier()){const s=e.get("arguments");if(d(t,"useState")){const e=r.get("id");if(!e.isArrayPattern())continue;const t=e.get("elements");if(2!==t.length){n.errors.push({message:`useState() destructuring must have exactly two elements, received ${t.length}`,node:e.node,severity:"error"});continue}const a=t[0],d=t[1];if(!a.isIdentifier()||!d.isIdentifier()){n.errors.push({message:`useState() destructuring must have identifiers as elements, received ${t.map((e=>e.type)).join(", ")}`,node:e.node,severity:"error"});continue}const l={id:a.node,kind:"state"};o.set(a.node,l),o.set(d.node,{id:a.node,kind:"setState"}),s.length>0&&(l.initialValue=I(s[0],n,i)),s.length>1&&n.errors.push({message:`useState() only accepts at most one argument, received ${s.length}`,node:s[1].node,severity:"warning"});continue}if(d(t,"useResource")){const e=T(r,s,n,i);e&&o.set(e.id,e);continue}if(d(t,"useRef")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useRef() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}s.length>1&&n.errors.push({message:`useRef() only accepts at most one argument, received ${s.length}`,node:s[1].node,severity:"warning"});const t=s[0];t&&!t.isNullLiteral()&&n.errors.push({message:`useRef() first argument must be null, received ${t.type}`,node:t.node,severity:"warning"}),o.set(e.node,{id:e.node,kind:"ref"});continue}if(d(t,"useQuery")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useQuery() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}s.length>0&&n.errors.push({message:`useQuery() does not accept any arguments, received ${s.length}`,node:s[0].node,severity:"warning"}),o.set(e.node,{id:e.node,kind:"query"});continue}}}const t=r.get("id");if(!t.isIdentifier()){n.errors.push({message:`Expect an identifier as the variable name, received ${t.type}`,node:t.node,severity:"error"});continue}const s={id:t.node,kind:"constant"};o.set(t.node,s),e.node&&(s.initialValue=I(e,n,i))}}else if(e.isReturnStatement()){const r=e.get("argument");if(!r.isJSXElement()&&!r.isJSXFragment()){n.errors.push({message:`Expect JSX element or fragment as the return value, received ${r.type}`,node:r.node,severity:"error"});continue}s.children=k(r,n,i)}else e.isTSInterfaceDeclaration()||e.isTSTypeAliasDeclaration()||n.errors.push({message:`Unsupported top level statement type: ${e.type}`,node:e.node,severity:"error"});return s}function O(e,n,r){if(!a(e.node,n))return null;const t=[];e.traverse({Identifier(n){if(!n.isReferencedIdentifier())return;const o=n.parentPath.isObjectProperty()&&n.parentPath.node.shorthand,s=n.scope.getBindingIdentifier(n.node.name);var i;s&&s!==e.node.id&&null!==(i=r.functionBindings)&&void 0!==i&&i.has(s)&&t.push({type:"id",start:n.node.start,end:n.node.end,replacement:`FN.${s.name}`,shorthand:o?n.node.name:void 0})}}),t.sort(((e,n)=>e.start-n.start));const o=[];let s=e.node.start;for(const e of t)o.push(n.source.substring(s,e.start),`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),s=e.end;return o.push(n.source.substring(s,e.node.end)),{name:e.node.id.name,source:o.join(""),typescript:!0}}const M=s.default;function X(e,n,r){var t;const o={source:e,errors:[],usedHelpers:new Set,contracts:new Set};if(null!==(t=n.errors)&&void 0!==t&&t.length)for(const e of n.errors)o.errors.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});const s={source:e,filename:null==r?void 0:r.filename,defaultExport:null,internalComponents:[],internalFunctions:[],errors:o.errors,contracts:o.contracts,usedHelpers:o.usedHelpers},i=new Set,a={functionBindings:i,contextBindings:null==r?void 0:r.withContexts};return M(n,{Program(e){const n=e.get("body"),r=[],t=[];let d=null;const l=(e,n)=>{if(e.isExportNamedDeclaration()){const n=e.get("declaration");l(n,"exported")}else if(e.isFunctionDeclaration()){const n=e.node.id;if(!n)return void o.errors.push({message:"Function declaration must have a name",node:e.node,severity:"error"});!function(e){return e.name[0]>="A"&&e.name[0]<="Z"}(n)?(i.add(n),r.push(e)):t.push(e)}else if(e.isExportDefaultDeclaration()){const n=e.get("declaration");n.isFunctionDeclaration()?d=n:o.errors.push({message:`Expected function declaration as default export, but got ${n.type}`,node:n.node,severity:"error"})}else e.isTSInterfaceDeclaration||e.isTSTypeAliasDeclaration()||o.errors.push({message:`Unsupported ${n} statement type: ${e.type}`,node:e.node,severity:"error"})};for(const e of n)l(e,"top level");for(const e of r){const n=O(e,o,a);n&&s.internalFunctions.push(n)}for(const e of t){const n=B(e,o,"template",a);n&&s.internalComponents.push({...n,id:e.node.id})}if(d){const e=B(d,o,"view",a);e&&(s.defaultExport=e)}e.stop()}}),s}const J=s.default;(0,r(7695).p)(class{parse(e,n){return function(e,n){let r,s;try{r=(0,t.parse)(e,{plugins:["jsx","typescript"],sourceType:"module",errorRecovery:!0})}catch(n){return{source:e,dataSources:[],variables:[],components:[],componentsMap:new Map,contracts:new Set,errors:[{message:`Failed to parse TSX: ${n}`,node:null,severity:"fatal"}],functions:[],usedHelpers:new Set,templates:[]}}for(const t of r.program.body)if(o.isExportDefaultDeclaration(t)){o.isFunctionDeclaration(t.declaration)&&(s=X(e,r,n));break}return s||(s=function(e,n,r){var t;const o={source:e,errors:[],usedHelpers:new Set,contracts:new Set};if(null!==(t=n.errors)&&void 0!==t&&t.length)for(const e of n.errors)o.errors.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});const s=new Map,i={type:"view",bindingMap:s},a={component:i,contextBindings:null==r?void 0:r.withContexts},d={source:e,filename:null==r?void 0:r.filename,defaultExport:i,internalComponents:[],internalFunctions:[],errors:o.errors,contracts:o.contracts,usedHelpers:o.usedHelpers};return J(n,{Program(e){const n=e.get("body");let r=!1;for(const e of n)if(e.isVariableDeclaration()){if(r){o.errors.push({message:"Unexpected variable declaration after export",node:e.node,severity:"error"});continue}if("const"!==e.node.kind){o.errors.push({message:`Only "const" variable declaration is allowed, received: ${e.node.kind}`,node:e.node,severity:"error"});continue}for(const n of e.get("declarations")){const e=n.get("id");if(!e.isIdentifier()){o.errors.push({message:`Unsupported variable declaration pattern, expected: Identifier, received: ${e.type}`,node:e.node,severity:"error"});continue}const r={id:e.node,kind:"constant"},t=n.get("init");t.node&&(r.initialValue=I(t,o,a)),s.set(e.node,r)}}else if(e.isExportDefaultDeclaration()){r=!0;const n=e.get("declaration");n.isJSXElement()?i.children=k(n,o,a):o.errors.push({message:`Default export must be a JSX element, received: ${n.type}`,node:e.node,severity:"error"});break}e.stop()}}),d}(e,r,n)),function(e){const n={source:e.source,dataSources:[],variables:[],components:[],componentsMap:new Map,errors:e.errors,functions:[],contracts:e.contracts,templates:[],usedHelpers:e.usedHelpers};if(e.defaultExport){e.defaultExport.children&&n.components.push(...e.defaultExport.children);for(const r of e.defaultExport.bindingMap.values())"resource"===r.kind?n.dataSources.push(r.resource):"state"!==r.kind&&"constant"!==r.kind||n.variables.push({name:r.id.name,value:r.initialValue});n.functions.push(...e.internalFunctions);for(const r of e.internalComponents){const e={name:r.id.name,variables:[],dataSources:[],components:[]};n.templates.push(e),r.children&&e.components.push(...r.children);for(const n of r.bindingMap.values())"resource"===n.kind?e.dataSources.push(n.resource):"state"!==n.kind&&"constant"!==n.kind&&"param"!==n.kind||e.variables.push({name:n.id.name,value:n.initialValue,expose:"param"===n.kind})}}return n}(s)}(e,n)}})}},x={};function $(e){var n=x[e];if(void 0!==n)return n.exports;var r=x[e]={exports:{}};return b[e].call(r.exports,r,r.exports,$),r.exports}$.m=b,$.c=x,$.x=()=>{var e=$.O(void 0,[8135,3735,580],(()=>$(8302)));return $.O(e)},e=[],$.O=(n,r,t,o)=>{if(!r){var s=1/0;for(l=0;l<e.length;l++){for(var[r,t,o]=e[l],i=!0,a=0;a<r.length;a++)(!1&o||s>=o)&&Object.keys($.O).every((e=>$.O[e](r[a])))?r.splice(a--,1):(i=!1,o<s&&(s=o));if(i){e.splice(l--,1);var d=t();void 0!==d&&(n=d)}}return n}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[r,t,o]},$.d=(e,n)=>{for(var r in n)$.o(n,r)&&!$.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},$.f={},$.e=e=>Promise.all(Object.keys($.f).reduce(((n,r)=>($.f[r](e,n),n)),[])),$.u=e=>"chunks/"+e+"."+{3735:"61433691",6773:"87d0ae93",8135:"e17b904e"}[e]+".js",$.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),$.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{$.S={};var e={},n={};$.I=(r,t)=>{t||(t=[]);var o=n[r];if(o||(o=n[r]={}),!(t.indexOf(o)>=0)){if(t.push(o),e[r])return e[r];$.o($.S,r)||($.S[r]={}),$.S[r];var s=[];return e[r]=s.length?Promise.all(s).then((()=>e[r]=1)):1}}})(),(()=>{var e;$.g.importScripts&&(e=$.g.location+"");var n=$.g.document;if(!e&&n&&(n.currentScript&&"SCRIPT"===n.currentScript.tagName.toUpperCase()&&(e=n.currentScript.src),!e)){var r=n.getElementsByTagName("script");if(r.length)for(var t=r.length-1;t>-1&&(!e||!/^http(s?):/.test(e));)e=r[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),$.p=e+"../"})(),n=e=>{var n=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),t=r[1]?n(r[1]):[];return r[2]&&(t.length++,t.push.apply(t,n(r[2]))),r[3]&&(t.push([]),t.push.apply(t,n(r[3]))),t},r=(e,r)=>{e=n(e),r=n(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var o=e[t],s=(typeof o)[0];if(t>=r.length)return"u"==s;var i=r[t],a=(typeof i)[0];if(s!=a)return"o"==s&&"n"==a||"s"==a||"u"==s;if("o"!=s&&"u"!=s&&o!=i)return o<i;t++}},t=e=>{var n=e[0],r="";if(1===e.length)return"*";if(n+.5){r+=0==n?">=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var o=1,s=1;s<e.length;s++)o--,r+="u"==(typeof(a=e[s]))[0]?"-":(o>0?".":"")+(o=2,a);return r}var i=[];for(s=1;s<e.length;s++){var a=e[s];i.push(0===a?"not("+d()+")":1===a?"("+d()+" || "+d()+")":2===a?i.pop()+" "+i.pop():t(a))}return d();function d(){return i.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,r)=>{if(0 in e){r=n(r);var t=e[0],s=t<0;s&&(t=-t-1);for(var i=0,a=1,d=!0;;a++,i++){var l,u,p=a<e.length?(typeof e[a])[0]:"";if(i>=r.length||"o"==(u=(typeof(l=r[i]))[0]))return!d||("u"==p?a>t&&!s:""==p!=s);if("u"==u){if(!d||"u"!=p)return!1}else if(d)if(p==u)if(a<=t){if(l!=e[a])return!1}else{if(s?l>e[a]:l<e[a])return!1;l!=e[a]&&(d=!1)}else if("s"!=p&&"n"!=p){if(s||a<=t)return!1;d=!1,a--}else{if(a<=t||u<p!=s)return!1;d=!1}else"s"!=p&&"n"!=p&&(d=!1,a--)}}var c=[],f=c.pop.bind(c);for(i=1;i<e.length;i++){var m=e[i];c.push(1==m?f()|f():2==m?f()&f():m?o(m,r):!f())}return!!f()},s=(e,n)=>e&&$.o(e,n),i=e=>(e.loaded=1,e.get()),a=e=>Object.keys(e).reduce(((n,r)=>(e[r].eager&&(n[r]=e[r]),n)),{}),d=(e,n,t)=>{var o=t?a(e[n]):e[n];return Object.keys(o).reduce(((e,n)=>!e||!o[e].loaded&&r(e,n)?n:e),0)},l=(e,n,r,o)=>"Unsatisfied version "+r+" from "+(r&&e[n][r].from)+" of shared singleton module "+n+" (required "+t(o)+")",u=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},c=(e,n,r)=>r?r():((e,n)=>u("Shared module "+n+" doesn't exist in shared scope "+e))(e,n),f=(e=>function(n,r,t,o,s){var i=$.I(n);return i&&i.then&&!t?i.then(e.bind(e,n,$.S[n],r,!1,o,s)):e(n,$.S[n],r,t,o,s)})(((e,n,r,t,a,u)=>{if(!s(n,r))return c(e,r,u);var f=d(n,r,t);return o(a,f)||p(l(n,r,f,a)),i(n[r][f])})),m={},g={580:()=>f("default","@babel/parser",!1,[0],(()=>$.e(6773).then((()=>()=>$(6773)))))},h={580:[580]},v={},$.f.consumes=(e,n)=>{$.o(h,e)&&h[e].forEach((e=>{if($.o(m,e))return n.push(m[e]);if(!v[e]){var r=n=>{m[e]=0,$.m[e]=r=>{delete $.c[e],r.exports=n()}};v[e]=!0;var t=n=>{delete m[e],$.m[e]=r=>{throw delete $.c[e],n}};try{var o=g[e]();o.then?n.push(m[e]=o.then(r).catch(t)):r(o)}catch(e){t(e)}}}))},(()=>{var e={8302:1};$.f.i=(n,r)=>{e[n]||580!=n&&importScripts($.p+$.u(n))};var n=globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[],r=n.push.bind(n);n.push=n=>{var[t,o,s]=n;for(var i in o)$.o(o,i)&&($.m[i]=o[i]);for(s&&s($);t.length;)e[t.pop()]=1;r(n)}})(),y=$.x,$.x=()=>Promise.all([8135,3735,580].map($.e,$)).then(y),$.x()})();
|
|
2
|
-
//# sourceMappingURL=8302.b457ddff.js.map
|