@blocklet/pages-kit-inner-components 0.1.3 → 0.1.5

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.
@@ -1,16 +1,16 @@
1
- "use strict";const v=require("@blocklet/pages-kit/builtin/utils"),N=require("@blocklet/pages-kit/types"),O=require("@blocklet/pages-kit/utils/property"),h=require("@blocklet/quickjs"),q=require("@blocklet/sdk/lib/config"),F=require("lru-cache"),I=require("node-fetch"),C=require("ufo"),B=require("@blocklet/logger"),K=require("@blocklet/pages-kit/utils/builtin"),Q=require("@blocklet/pages-kit/utils/typescript/builtin-module-transformer"),J=require("autoprefixer"),V=require("esbuild"),A=require("postcss"),G=require("tailwindcss"),W=require("typescript"),S=e=>e&&e.__esModule?e:{default:e};function H(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const T=S(q),z=S(I),X=S(B),Y=S(J),Z=H(V),ee=S(A),te=S(G),m=S(W),f=X.default("pages-kit"),oe=async(e,{componentId:t})=>{const o=`@tailwind components;
1
+ "use strict";const v=require("@blocklet/pages-kit/builtin/utils"),N=require("@blocklet/pages-kit/types"),O=require("@blocklet/pages-kit/utils/property"),S=require("@blocklet/quickjs"),q=require("@blocklet/sdk/lib/config"),F=require("lru-cache"),I=require("node-fetch"),C=require("ufo"),B=require("@blocklet/logger"),K=require("@blocklet/pages-kit/utils/builtin"),Q=require("@blocklet/pages-kit/utils/typescript/builtin-module-transformer"),J=require("autoprefixer"),V=require("esbuild"),A=require("postcss"),G=require("tailwindcss"),W=require("typescript"),h=e=>e&&e.__esModule?e:{default:e};function H(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const T=h(q),z=h(I),X=h(B),Y=h(J),Z=H(V),ee=h(A),te=h(G),m=h(W),f=X.default("pages-kit"),oe=async(e,{componentId:t})=>{const o=`@tailwind components;
2
2
  @tailwind utilities;
3
3
  `,n=`.CustomComponent_${t}`;return(await ee.default([te.default({content:[{raw:e,extension:"tsx"}]}),Y.default({overrideBrowserslist:["> 1%","last 2 versions"],stats:{}}),i=>{i.walkRules(r=>{r.selectors=r.selectors.map(s=>s.replace(/\.(.+)/g,`${n}.$1,${n} .$1`))})}]).process(o)).css},ne=async(e,{componentId:t})=>{const o=await oe(e,{componentId:t});return`export const __PagesKit_CSS__ = ${JSON.stringify(o)};
4
4
 
5
5
  ${e}
6
- `},j=h.memoize(async(e,t)=>{let o=m.default.transpileModule(e,{compilerOptions:{jsx:m.default.JsxEmit.React,target:m.default.ScriptTarget.ES2016,module:m.default.ModuleKind.ESNext},transformers:{before:[Q.createBuiltinModuleTransformer(m.default)]}}).outputText;if(t.tailwind&&(o=await ne(o,{componentId:t.componentId})),t.module===N.PreloadComponentScriptModule.ESM)return o;const n=m.default.transpileModule(o,{compilerOptions:{jsx:m.default.JsxEmit.React,target:m.default.ScriptTarget.ES2016,module:m.default.ModuleKind.CommonJS,moduleResolution:m.default.ModuleResolutionKind.Node16}}).outputText;return se(t.moduleName,n)},{keyGenerator:(e,t)=>JSON.stringify(["transpileModule",e,t])}),re=async(e,t)=>{var r,s;const n=(s=(r=(await Z.build({entryPoints:["index.tsx"],external:Object.keys(K.BuiltinModules),format:"esm",target:"es2020",bundle:!0,write:!1,plugins:[{name:"vfs",setup(u){u.onResolve({filter:/.*/},a=>a.path==="index.tsx"?{path:"index.tsx",namespace:"vfs"}:a.path==="./component"?{path:"component.tsx",namespace:"vfs"}:null),u.onLoad({filter:/.*/,namespace:"vfs"},async a=>a.path==="index.tsx"?{contents:`export { ${t} } from './component'`,loader:"tsx"}:a.path==="component.tsx"?{contents:e,loader:"tsx"}:null)}}]})).outputFiles)==null?void 0:r[0])==null?void 0:s.contents;if(!n)throw new Error("Failed to build server code");const c=Buffer.from(n).toString();return m.default.transpileModule(c,{compilerOptions:{module:m.default.ModuleKind.ESNext,target:m.default.ScriptTarget.ES2020}}).outputText},R=h.memoize(async(e,t)=>{const o=await re(e,t);return new RegExp(`export\\s+\\{\\s+${t}\\s+\\}`,"m").test(o)?o:void 0},{keyGenerator:(e,t)=>JSON.stringify(["extractExportValueSchema",e,t])}),se=(e,t)=>`// GENERATED FILE. DO NOT EDIT.
6
+ `},j=S.memoize(async(e,t)=>{let o=m.default.transpileModule(e,{compilerOptions:{jsx:m.default.JsxEmit.React,target:m.default.ScriptTarget.ES2016,module:m.default.ModuleKind.ESNext},transformers:{before:[Q.createBuiltinModuleTransformer(m.default)]}}).outputText;if(t.tailwind&&(o=await ne(o,{componentId:t.componentId})),t.module===N.PreloadComponentScriptModule.ESM)return o;const n=m.default.transpileModule(o,{compilerOptions:{jsx:m.default.JsxEmit.React,target:m.default.ScriptTarget.ES2016,module:m.default.ModuleKind.CommonJS,moduleResolution:m.default.ModuleResolutionKind.Node16}}).outputText;return se(t.moduleName,n)},{keyGenerator:(e,t)=>JSON.stringify(["transpileModule",e,t])}),re=async(e,t)=>{var r,s;const n=(s=(r=(await Z.build({entryPoints:["index.tsx"],external:Object.keys(K.BuiltinModules),format:"esm",target:"es2020",bundle:!0,write:!1,plugins:[{name:"vfs",setup(u){u.onResolve({filter:/.*/},c=>c.path==="index.tsx"?{path:"index.tsx",namespace:"vfs"}:c.path==="./component"?{path:"component.tsx",namespace:"vfs"}:null),u.onLoad({filter:/.*/,namespace:"vfs"},async c=>c.path==="index.tsx"?{contents:`export { ${t} } from './component'`,loader:"tsx"}:c.path==="component.tsx"?{contents:e,loader:"tsx"}:(console.warn("onLoad 11111111",c.path),null))}}]})).outputFiles)==null?void 0:r[0])==null?void 0:s.contents;if(!n)throw new Error("Failed to build server code");const a=Buffer.from(n).toString();return m.default.transpileModule(a,{compilerOptions:{module:m.default.ModuleKind.ESNext,target:m.default.ScriptTarget.ES2020}}).outputText},R=S.memoize(async(e,t)=>{const o=await re(e,t);return new RegExp(`export\\s+\\{\\s+${t}\\s+\\}`,"m").test(o)?o:void 0},{keyGenerator:(e,t)=>JSON.stringify(["extractExportValueSchema",e,t])}),se=(e,t)=>`// GENERATED FILE. DO NOT EDIT.
7
7
  var ${e} = function () {
8
8
  return (function(exports) {
9
9
  ${t}
10
10
  return exports
11
11
  })({})
12
12
  };
13
- `,y=new F.LRUCache({max:100}),$=60*60,M=60;function k(e){f.info("clear preload components cache",{cacheKey:e}),y.delete(e)}function ce(e){for(const t of y.keys())t.includes(e)&&(f.info("clear preload components cache",{cacheKey:t}),k(t))}function U({mode:e,instanceId:t,componentId:o,locale:n}){return["getPreloadComponents",e,t,o,n].join("-")}async function ae({mode:e,req:t,state:o,locale:n,instances:c,module:i}){const{supportedLocales:r,config:{defaultLocale:s}}=o;if(!s)return null;const u=(await Promise.all(c.map(async p=>{const d=U({mode:e,instanceId:p.id,componentId:p.componentId,locale:n});if(e!=="draft"&&p.useCache&&y.has(d))return f.info(`get preload component from cache: ${d}`),y.get(d);const _=w({state:o,componentId:p.componentId});if(!_)return null;const E=await L({req:t,state:o,componentId:_.id,locale:n,defaultLocale:s,properties:p.properties});if(!E)return null;const b={instanceId:p.id,preload:E};if(e!=="draft"&&p.useCache){let P=$;p.cacheDuration&&(P=p.cacheDuration),f.info(`set preload component to cache(${P}s): ${d}`),y.set(d,b,{ttl:P*1e3})}return b}))).filter(p=>!!p),a=Object.values(u.reduce((p,d)=>({...p,...d.preload.components}),{}));async function l(){const p=await Promise.all(a.map(async d=>{const _=O.componentUMDName({componentId:d.component.id}),E=i===N.PreloadComponentScriptModule.ESM?{module:i,script:await j(d.script,{componentId:d.component.id,module:i,tailwind:e!=="draft"})}:{module:i,script:await j(d.script,{componentId:d.component.id,module:i,moduleName:_,tailwind:e!=="draft"}),moduleName:_};return[d.component.id,{component:d.component,script:E}]}));return Object.fromEntries(p)}const g=await l();return{config:{defaultLocale:s,supportedLocales:r},components:g,instances:u.map(p=>({id:p.instanceId,componentId:p.preload.component.id,locales:{[p.preload.locale]:{props:p.preload.props}}}))}}async function L({req:e,state:t,componentId:o,locale:n,defaultLocale:c,properties:i}){const{supportedLocales:r}=t,s=w({state:t,componentId:o});if(!s)return null;const u=r.some(l=>l.locale===n)?n:c;if(!u)return null;const a=await D({req:e,state:t,componentId:o,locale:u,defaultLocale:c,properties:i});return a?{component:s,...a}:null}const ie=20;async function D({req:e,depth:t=0,state:o,componentId:n,locale:c,defaultLocale:i,properties:r}){if(t>ie)throw new RangeError("max component depth exceeded");const s=pe({state:o,componentId:n,properties:r,locale:c});if(!s)return null;const{props:u}=s,a={locale:c||i,components:{[s.component.id]:{component:s.component,script:s.script}},props:{...u}};try{const l=await le({...s,req:e});l!=null&&l.props&&Object.assign(a.props,l.props)}catch(l){f.error("preload data at server side error",{componentId:n,name:s.component.name},{error:l})}return await Promise.all(Object.entries(u).map(async([l,g])=>{if((g==null?void 0:g.type)===O.RenderNestedComponent){const x=await D({req:e,depth:t+1,state:o,componentId:g.componentId,locale:c,defaultLocale:i,properties:g.properties});x&&(Object.assign(a.components,x.components),Object.assign(a.props,{[l]:{type:O.RenderNestedComponent,componentId:g.componentId,props:x.props}}))}})),a}function pe({state:e,componentId:t,locale:o,properties:n}){const c=w({state:e,componentId:t});if(!c)return null;const i=O.mergeComponent({componentId:t,getComponent:r=>w({state:e,componentId:r}),locale:o,defaultLocale:e.config.defaultLocale,properties:n});return i?{component:c,script:i.script,props:{locale:o,...i.properties}}:null}function w({state:e,componentId:t}){var o,n,c;return((o=e.components[t])==null?void 0:o.data)??((c=(n=e.resources.components)==null?void 0:n[t])==null?void 0:c.component)}function ue({state:e,name:t}){var n,c;const o=t.toLowerCase();return((n=Object.values(e.components).find(i=>{var r;return((r=i.data.name)==null?void 0:r.toLowerCase())===o}))==null?void 0:n.data)??((c=e.resources.components&&Object.values(e.resources.components).find(i=>{var r;return((r=i.component.name)==null?void 0:r.toLowerCase())===o}))==null?void 0:c.component)}async function le({component:e,script:t,props:o,req:n}){const c=await R(t,"getServerSideProps");if(!c)return null;const i=new Promise((r,s)=>{setTimeout(()=>s(new Error("getServerSideProps timeout in promise race")),M*1e3)});return Promise.race([i,h.Sandbox.callFunction({code:`${c}
13
+ `,w=new F.LRUCache({max:100}),$=60*60,M=60;function k(e){f.info("clear preload components cache",{cacheKey:e}),w.delete(e)}function ce(e){for(const t of w.keys())t.includes(e)&&(f.info("clear preload components cache",{cacheKey:t}),k(t))}function L({mode:e,instanceId:t,componentId:o,locale:n}){return["getPreloadComponents",e,t,o,n].join("-")}async function ae({mode:e,req:t,state:o,locale:n,instances:a,module:i}){const{supportedLocales:r,config:{defaultLocale:s}}=o;if(!s)return null;const u=(await Promise.all(a.map(async p=>{const d=L({mode:e,instanceId:p.id,componentId:p.componentId,locale:n});if(e!=="draft"&&p.useCache&&w.has(d))return f.info(`get preload component from cache: ${d}`),w.get(d);const _=y({state:o,componentId:p.componentId});if(!_)return null;const E=await U({req:t,state:o,componentId:_.id,locale:n,defaultLocale:s,properties:p.properties});if(!E)return null;const b={instanceId:p.id,preload:E};if(e!=="draft"&&p.useCache){let P=$;p.cacheDuration&&(P=p.cacheDuration),f.info(`set preload component to cache(${P}s): ${d}`),w.set(d,b,{ttl:P*1e3})}return b}))).filter(p=>!!p),c=Object.values(u.reduce((p,d)=>({...p,...d.preload.components}),{}));async function l(){const p=await Promise.all(c.map(async d=>{const _=O.componentUMDName({componentId:d.component.id}),E=i===N.PreloadComponentScriptModule.ESM?{module:i,script:await j(d.script,{componentId:d.component.id,module:i,tailwind:e!=="draft"})}:{module:i,script:await j(d.script,{componentId:d.component.id,module:i,moduleName:_,tailwind:e!=="draft"}),moduleName:_};return[d.component.id,{component:d.component,script:E}]}));return Object.fromEntries(p)}const g=await l();return{config:{defaultLocale:s,supportedLocales:r},components:g,instances:u.map(p=>({id:p.instanceId,componentId:p.preload.component.id,locales:{[p.preload.locale]:{props:p.preload.props}}}))}}async function U({req:e,state:t,componentId:o,locale:n,defaultLocale:a,properties:i}){const{supportedLocales:r}=t,s=y({state:t,componentId:o});if(!s)return null;const u=r.some(l=>l.locale===n)?n:a;if(!u)return null;const c=await D({req:e,state:t,componentId:o,locale:u,defaultLocale:a,properties:i});return c?{component:s,...c}:null}const ie=20;async function D({req:e,depth:t=0,state:o,componentId:n,locale:a,defaultLocale:i,properties:r}){if(t>ie)throw new RangeError("max component depth exceeded");const s=pe({state:o,componentId:n,properties:r,locale:a});if(!s)return null;const{props:u}=s,c={locale:a||i,components:{[s.component.id]:{component:s.component,script:s.script}},props:{...u}};try{const l=await le({...s,req:e});l!=null&&l.props&&Object.assign(c.props,l.props)}catch(l){f.error("preload data at server side error",{componentId:n,name:s.component.name},{error:l})}return await Promise.all(Object.entries(u).map(async([l,g])=>{if((g==null?void 0:g.type)===O.RenderNestedComponent){const x=await D({req:e,depth:t+1,state:o,componentId:g.componentId,locale:a,defaultLocale:i,properties:g.properties});x&&(Object.assign(c.components,x.components),Object.assign(c.props,{[l]:{type:O.RenderNestedComponent,componentId:g.componentId,props:x.props}}))}})),c}function pe({state:e,componentId:t,locale:o,properties:n}){const a=y({state:e,componentId:t});if(!a)return null;const i=O.mergeComponent({componentId:t,getComponent:r=>y({state:e,componentId:r}),locale:o,defaultLocale:e.config.defaultLocale,properties:n});return i?{component:a,script:i.script,props:{locale:o,...i.properties}}:null}function y({state:e,componentId:t}){var o,n,a;return((o=e.components[t])==null?void 0:o.data)??((a=(n=e.resources.components)==null?void 0:n[t])==null?void 0:a.component)}function ue({state:e,name:t}){var n,a;const o=t.toLowerCase();return((n=Object.values(e.components).find(i=>{var r;return((r=i.data.name)==null?void 0:r.toLowerCase())===o}))==null?void 0:n.data)??((a=e.resources.components&&Object.values(e.resources.components).find(i=>{var r;return((r=i.component.name)==null?void 0:r.toLowerCase())===o}))==null?void 0:a.component)}async function le({component:e,script:t,props:o,req:n}){const a=await R(t,"getServerSideProps");if(!a)return null;const i=new Promise((r,s)=>{setTimeout(()=>s(new Error("getServerSideProps timeout in promise race")),M*1e3)});return Promise.race([i,S.Sandbox.callFunction({code:`${a}
14
14
 
15
15
  export async function getServerSidePropsWrapper({ location, fetch, props}) {
16
16
  globalThis.location = location
@@ -20,10 +20,10 @@ export async function getServerSidePropsWrapper({ location, fetch, props}) {
20
20
  }
21
21
  `,filename:`${e.name||e.id}.js`,moduleLoader:r=>{if(r==="@blocklet/pages-kit/builtin/utils")return`const { joinURL, withQuery, getQuery, getComponentMountPoint } = globalThis
22
22
  export { joinURL, withQuery, getQuery, getComponentMountPoint }
23
- `;if(r==="@blocklet/pages-kit/builtin/dayjs")return h.BuiltinModules.dayjs},global:{console:{log:(...r)=>{f.info(...r)},warn:(...r)=>{f.warn(...r)},error:(...r)=>{f.error(...r)}},getComponentMountPoint:v.getComponentMountPoint,joinURL:C.joinURL,withQuery:C.withQuery,getQuery:C.getQuery},functionName:"getServerSidePropsWrapper",args:[{location:{href:C.joinURL(C.withHttps(n.hostname),n.originalUrl)},fetch:(r,{...s}={})=>{const u=typeof r=="string"&&r.startsWith("/")?C.joinURL(T.default.env.appUrl,r):r;if(typeof u=="string"&&C.parseURL(u).host===C.parseURL(T.default.env.appUrl).host){const a=n.get("cookie");if(a){const l=new I.Headers(s.headers);l.set("cookie",a),s.headers=l}}return z.default(u,{...s,timeout:M*1e3}).then(a=>({ok:a.ok,status:a.status,statusText:a.statusText,headers:Object.fromEntries(a.headers.entries()),json:()=>a.json()}))},props:o}]})])}const de=h.memoize(async(e,t,o)=>{const n=await R(e,t);return n?await h.Sandbox.callFunction({code:`
23
+ `;if(r==="@blocklet/pages-kit/builtin/dayjs")return S.BuiltinModules.dayjs},global:{console:{log:(...r)=>{f.info(...r)},warn:(...r)=>{f.warn(...r)},error:(...r)=>{f.error(...r)}},getComponentMountPoint:v.getComponentMountPoint,joinURL:C.joinURL,withQuery:C.withQuery,getQuery:C.getQuery},functionName:"getServerSidePropsWrapper",args:[{location:{href:C.joinURL(C.withHttps(n.hostname),n.originalUrl)},fetch:(r,{...s}={})=>{const u=typeof r=="string"&&r.startsWith("/")?C.joinURL(T.default.env.appUrl,r):r;if(typeof u=="string"&&C.parseURL(u).host===C.parseURL(T.default.env.appUrl).host){const c=n.get("cookie");if(c){const l=new I.Headers(s.headers);l.set("cookie",c),s.headers=l}}return z.default(u,{...s,timeout:M*1e3}).then(c=>({ok:c.ok,status:c.status,statusText:c.statusText,headers:Object.fromEntries(c.headers.entries()),json:()=>c.json()}))},props:o}]})])}const de=S.memoize(async(e,t,o)=>{const n=await R(e,t);return n?await S.Sandbox.callFunction({code:`
24
24
  ${n}
25
25
 
26
26
  export function get${t}SchemaWrapper() {
27
27
  return ${t};
28
28
  }
29
- `,filename:`${o}.js`,functionName:`get${t}SchemaWrapper`}):null},{keyGenerator:(e,t,o)=>JSON.stringify(["getExportSchemaValueFromCode",e,t,o])});exports.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS=$;exports.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS=M;exports.clearPreloadComponentsCache=k;exports.clearPreloadComponentsCacheByMode=ce;exports.getComponentFromState=w;exports.getComponentFromStateByName=ue;exports.getExportSchemaValueFromCode=de;exports.getPreloadComponent=L;exports.getPreloadComponents=ae;exports.getPreloadComponentsCacheKey=U;exports.logger=f;
29
+ `,filename:`${o}.js`,functionName:`get${t}SchemaWrapper`}):null},{keyGenerator:(e,t,o)=>JSON.stringify(["getExportSchemaValueFromCode",e,t,o])});exports.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS=$;exports.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS=M;exports.clearPreloadComponentsCache=k;exports.clearPreloadComponentsCacheByMode=ce;exports.getComponentFromState=y;exports.getComponentFromStateByName=ue;exports.getExportSchemaValueFromCode=de;exports.getPreloadComponent=U;exports.getPreloadComponents=ae;exports.getPreloadComponentsCacheKey=L;exports.logger=f;
@@ -0,0 +1 @@
1
+ "use strict";const O=require("./components-CGE2womb.js"),Ue=require("@blocklet/quickjs"),ue=require("@blocklet/sdk/lib/component"),Ce=require("@blocklet/sdk/lib/config"),Ne=require("@reactivedata/reactive"),H=require("@syncedstore/core"),y=require("fs"),re=require("glob"),Fe=require("lib0/decoding"),qe=require("lib0/encoding"),_=require("lodash"),Te=require("lru-cache"),Me=require("nanoid"),xe=require("p-limit"),f=require("path"),Be=require("stream/promises"),Ve=require("tar"),x=require("ufo"),$e=require("wait-on"),M=require("y-protocols/awareness"),te=require("y-protocols/sync"),Ge=require("yaml"),Je=require("yjs"),Ye=require("lodash/isNil"),T=require("sequelize");require("sqlite3");const Y=t=>t&&t.__esModule?t:{default:t};function Z(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(s,e,n.get?n:{enumerable:!0,get:()=>t[e]})}}return s.default=t,Object.freeze(s)}const S=Y(Ce),se=Z(Fe),j=Z(qe),ze=Y(xe),He=Y(f),Ke=Y($e),V=Z(Ge),q=Z(Je),We=Y(Ye);S.default.env.mode;const Xe="image-bin";S.default.env.INIT_TEMPLATE_PATH;const Qe=process.env.DATABASE_URL||He.default.join(S.default.env.dataDir,"db/pages-kit.db"),Se=S.default,Ze=()=>S.default.env.tenantMode==="multiple",et=()=>{var t;return(We.default(Se.env.preferences.multiTenantAllProjectAccessPassports)?[]:(t=Se.env.preferences.multiTenantAllProjectAccessPassports)==null?void 0:t.split(","))||[]},tt=T.DataTypes.sqlite.DATE.parse;T.DataTypes.sqlite.DATE.parse=(t,s)=>typeof t=="number"?new Date(t):tt(t,s);const z=new T.Sequelize({dialect:"sqlite",storage:Qe,benchmark:process.env.ENABLE_SEQUELIZE_BENCHMARK==="true",retry:{match:[/SQLITE_BUSY/],name:"query",max:10},logging:process.env.ENABLE_SEQUELIZE_LOGGING==="true"?console.log:!1});z.query("pragma journal_mode = WAL;");z.query("pragma synchronous = normal;");z.query("pragma journal_size_limit = 67108864;");class ee extends T.Model{}ee.init({id:{type:T.DataTypes.UUID,allowNull:!1,primaryKey:!0,defaultValue:T.DataTypes.UUIDV4},projectId:{type:T.DataTypes.UUID,allowNull:!1},componentId:{type:T.DataTypes.STRING,allowNull:!1}},{sequelize:z,tableName:"ProjectComponents",timestamps:!1});class C extends T.Model{static async getProjectByIdOrSlug(s){return C.findOne({where:{[T.Op.or]:[{id:s},{slug:s}]}})}}C.init({id:{type:T.DataTypes.UUID,defaultValue:T.DataTypes.UUIDV4,primaryKey:!0},name:{type:T.DataTypes.STRING,allowNull:!1},description:T.DataTypes.TEXT,createdAt:T.DataTypes.DATE,updatedAt:T.DataTypes.DATE,createdBy:{type:T.DataTypes.STRING,allowNull:!1},updatedBy:{type:T.DataTypes.STRING,allowNull:!1},slug:T.DataTypes.STRING,icon:T.DataTypes.STRING,pinnedAt:T.DataTypes.DATE,useAllResources:T.DataTypes.BOOLEAN,relatedBlocklets:{type:T.DataTypes.JSON,allowNull:!1,defaultValue:{},get(){return this.getDataValue("relatedBlocklets")||{}},set(t){this.setDataValue("relatedBlocklets",JSON.stringify(t||{}))}}},{sequelize:z,paranoid:!0});C.hasMany(ee,{foreignKey:"projectId",as:"components"});const st="z8iZiDFg3vkkrPwsiba1TLXy3H9XHzFERsP8o",oe="page",ie="trigger-reload-project-resource",de=st,nt="z2qa7rr3eUyVnWp2PCxEVARuUfLFh6cE5V2xV",{uploadToMediaKit:at}=require("@blocklet/uploader-server"),ce=Me.customAlphabet("abcdefghijklmnopqrstuvwxyz0123456789",16),fe=/^\w+(\w|-|\.)+\w+\.(jpe?g|png|gif|svg|bmp|webp|mp4|m4v|webm)$/,$=/mediakit:\/\/([a-f0-9]{32}\.(jpe?g|png|gif|svg|bmp|webp|mp4|m4v|webm))/i,we=/mediakit:\/\/([a-f0-9]{32}\.(jpe?g|png|gif|svg|bmp|webp|mp4|m4v|webm))/gi,rt=1e4,ot=3e4,K=0,ne=1,it=0,ct=1,le=S.default,B=f.join(process.env.BLOCKLET_DATA_DIR,"site-state"),lt=["production","draft"],pt=["production"];function je(t){return(t==null?void 0:t.replace(/\//g,"|"))||""}function ut(){var e;const t=le.env.languages.map(n=>({locale:n.code,name:n.name})),s=(e=t[0])==null?void 0:e.locale;return{pageIds:[],pages:{},components:{},supportedLocales:t,config:{defaultLocale:s},resources:{}}}const U=class U extends q.Doc{constructor(s){super(),this.options=s,this.states={},this.conns=new Map,this.awarenessChangeHandler=({added:e,updated:n,removed:a},o)=>{const l=e.concat(n,a);if(o!==null){const c=this.conns.get(o);c&&(e.forEach(g=>{c.add(g)}),a.forEach(g=>{c.delete(g)}))}const i=j.createEncoder();j.writeVarUint(i,ne),j.writeVarUint8Array(i,M.encodeAwarenessUpdate(this.awareness,l));const r=j.toUint8Array(i);this.conns.forEach((c,g)=>this.send(g,r))},this.updateHandler=e=>{const n=j.createEncoder();j.writeVarUint(n,K),te.writeUpdate(n,e);const a=j.toUint8Array(n);this.conns.forEach((o,l)=>this.send(l,a))},this.ensureDataStructure=()=>{var l;const{supportedLocales:e,pages:n,pageIds:a,config:o}=this.syncedStore;{const i=new Set(Object.keys(n));let r=0;for(;r<a.length;){const c=a[r];i.has(c)?(i.delete(c),r++):a.splice(r,1)}}e.splice(0,e.length),e.push(...le.env.languages.map(i=>({locale:i.code,name:i.name}))),o.defaultLocale=(l=e[0])==null?void 0:l.locale;{let i=0;const r=new Set;for(;i<e.length;){const{locale:c}=e[i];r.has(c)?e.splice(i,1):(i++,r.add(c))}}},this.send=(e,n)=>{e.readyState!==it&&e.readyState!==ct&&this.closeConn(e);try{e.send(n,a=>{a&&this.closeConn(e)})}catch{this.closeConn(e)}},this.closeConn=e=>{if(e.removeAllListeners(),this.conns.has(e)){const n=this.conns.get(e);this.conns.delete(e),n&&M.removeAwarenessStates(this.awareness,Array.from(n),null)}e.close()},this.autoSave=_.debounce(()=>{y.mkdirSync(f.dirname(this.draftYjsFilePath),{recursive:!0}),y.writeFileSync(this.draftYjsFilePath,q.encodeStateAsUpdate(this))},rt),this.save=({flush:e=!1}={})=>{this.autoSave(),e&&this.autoSave.flush()},this.publish=async({mode:e,pages:n})=>{const a=await this.getState("draft"),o=await this.getState("production");await pe(a,o,{pages:n,pageMergeMode:"replace",deletePages:!0,publishMode:e}),o.config.publishedAt=new Date().getTime();for(const l of n||Object.keys(this.syncedStore.pages))this.syncedStore.pages[l]&&(this.syncedStore.pages[l].publishedAt=new Date().toISOString());await this.setState(e,o)},this.mergeState=async(e,n)=>{var i,r,c;const a=JSON.parse(JSON.stringify(n));(i=e.config).fontFamily??(i.fontFamily={});const o=(r=a.config)==null?void 0:r.fontFamily,l=(c=e.config)==null?void 0:c.fontFamily;e.config.fontFamily.title=(o==null?void 0:o.title)||(l==null?void 0:l.title),e.config.fontFamily.description=(o==null?void 0:o.description)||(l==null?void 0:l.description),await new Promise((g,p)=>{this.transact(async()=>{try{const h=await pe(e,n);g(h)}catch(h){p(h)}})})},this.addConnection=e=>{if(this.conns.has(e))return;e.binaryType="arraybuffer",this.conns.set(e,new Set),e.on("message",o=>this.messageListener(e,new Uint8Array(o)));let n=!0;const a=setInterval(()=>{if(!n)this.conns.has(e)&&this.closeConn(e),clearInterval(a);else if(this.conns.has(e)){n=!1;try{e.ping()}catch{this.closeConn(e),clearInterval(a)}}},ot);e.on("close",()=>{this.closeConn(e),clearInterval(a)}),e.on("pong",()=>{n=!0});{const o=j.createEncoder();j.writeVarUint(o,K),te.writeSyncStep1(o,this),this.send(e,j.toUint8Array(o));const l=this.awareness.getStates();if(l.size>0){const i=j.createEncoder();j.writeVarUint(i,ne),j.writeVarUint8Array(i,M.encodeAwarenessUpdate(this.awareness,Array.from(l.keys()))),this.send(e,j.toUint8Array(i))}}},this.messageListener=(e,n)=>{try{const a=j.createEncoder(),o=se.createDecoder(n),l=se.readVarUint(o);switch(l){case K:j.writeVarUint(a,K),te.readSyncMessage(o,a,this,null),j.length(a)>1&&(this.ensureDataStructure(),this.send(e,j.toUint8Array(a)));break;case ne:{M.applyAwarenessUpdate(this.awareness,se.readVarUint8Array(o),e);break}default:O.logger.warn(`Unsupported messageType ${l}`)}}catch(a){O.logger.error(a)}this.save()},y.existsSync(this.draftYjsFilePath)&&q.applyUpdate(this,y.readFileSync(this.draftYjsFilePath)),this.syncedStore=Ne.reactive(H.syncedStore({pages:{},pageIds:[],components:{},supportedLocales:[],config:{},resources:{}},this)),this.initObserver(),this.on("update",this.updateHandler),this.awareness=new M.Awareness(this),this.awareness.on("update",this.awarenessChangeHandler),this.ensureDataStructure()}static safeDeleteProjectStateDir(s){if(!s)throw new Error("Should provide project context");try{const e=f.join(B,s),n=f.join(B,`@del-${s}`);y.renameSync(e,n)}catch(e){O.logger.error("Failed to safe delete project state dir:",e)}}static get projectIds(){return re.globSync("*/",{cwd:B,ignore:["@del-*","@tmp-*",".*","staging","production","@backup-*"]})}static get allShared(){return this.projectIds.map(s=>U.shared(s))}static shared(s){if(!s)throw new Error("Should provide project context");let e=this.sharedInstances.get(s);return e||(e=new U({path:f.join(B,s)}),this.sharedInstances.set(s,e),e)}destroy(){this.conns.forEach((s,e)=>this.closeConn(e)),this.awareness.destroy(),super.destroy()}initObserver(){const s=n=>{n.observeDeep(a=>{a.some(o=>o.changes.keys.has("updatedAt")||o.changes.keys.has("publishedAt"))||n.set("updatedAt",new Date().toISOString())})};this.syncedStore.pages&&Object.keys(this.syncedStore.pages).forEach(n=>{const a=H.getYjsValue(this.syncedStore.pages[n]);a&&a instanceof q.Map&&s(a)});const e=H.getYjsValue(this.syncedStore.pages);e&&e instanceof q.Map&&e.observe(n=>{n.changes.keys.forEach((a,o)=>{if(a.action==="add"){const l=H.getYjsValue(this.syncedStore.pages[o]);l&&l instanceof q.Map&&s(l)}})})}get draftYjsFilePath(){return f.join(this.options.path,"draft.yjs")}async getState(s){var e,n,a,o;if(s==="draft")return JSON.parse(JSON.stringify(this.syncedStore));if(!this.states[s]&&(this.states[s]=await ge(this.getPublishDir(s),{includeResources:!0})??ut(),!((n=(e=this.states[s])==null?void 0:e.config)!=null&&n.defaultLocale))){(a=this.states[s]).config??(a.config={});const l=le.env.languages.map(i=>({locale:i.code,name:i.name}));this.states[s].config.defaultLocale=(o=l[0])==null?void 0:o.locale}return{...this.states[s],resources:await Le().then(async l=>{var g,p,h,v;const{pages:i,components:r}=_.pick(l,"pages","components");let c=r;if((p=(g=this.states[s])==null?void 0:g.resources)!=null&&p.components)c={...(v=(h=this.states[s])==null?void 0:h.resources)==null?void 0:v.components};else{const I=f.basename(this.options.path),D=await C.findByPk(I);if(D!=null&&D.useAllResources)c=r;else{const N=(await ee.findAll({where:{projectId:I}})).map(m=>m.componentId);c=Object.fromEntries(Object.entries(r||{}).filter(([m])=>N.includes(m)))}}return{pages:i,components:c}}).catch(()=>({}))}}async setState(s,e){const n=await Oe(e,{exportAssets:!1,includeResources:!0}),a=this.getPublishDir(s);y.mkdirSync(f.dirname(a),{recursive:!0}),y.rmSync(a,{force:!0,recursive:!0}),y.renameSync(n,a),this.states[s]=e}getPublishDir(s){return f.join(this.options.path,s)}static async pageUrlMap(s){const{projectIds:e}=this,n={};for(const a of e){const o=await C.findByPk(a);if(!o)continue;const l=await U.shared(a).getState(s),i=_.union(S.default.env.languages.map(r=>r.code),l.supportedLocales.map(r=>r.locale));for(const r of l.pageIds){const c=l.pages[r];if(!c||s==="production"&&!c.isPublic)continue;const g=c.slug,p=o.slug||a,h={projectId:a,projectSlug:p,pageSlug:g,pageId:r,defaultLocale:i==null?void 0:i[0],locales:i,publishedAt:l.config.publishedAt,isPublic:c.isPublic,isTemplate:c.isTemplate};p&&(n[x.joinURL("/",p,g)]={...h,shouldRedirect:!0,mainPage:!0}),n[x.joinURL("/",a,g)]={...h,shouldRedirect:!0,mainPage:!0};for(const v of i){const I={...h,locale:v};n[x.joinURL("/",v,a,g)]=I,p&&(n[x.joinURL("/",v,p,g)]=I)}}}return n}};U.INSTANCE_TTL=30*60*1e3,U.sharedInstances=new Te.LRUCache({max:100,ttl:U.INSTANCE_TTL,dispose:s=>{s.destroy()}});let J=U;function ve(){return y.mkdtempSync(f.join(S.default.env.dataDir,"tmp-"))}function X(t,s,e=[]){return Array.isArray(t)?t.flatMap((n,a)=>X(n,s,[...e,a])):typeof t=="object"?t===null?[]:Object.entries(t).flatMap(([n,a])=>X(a,s,[...e,n])):s(t)?[e]:[]}function L(t){return t.filter(s=>s!=null)}async function dt(t,s,e){if(!t||!y.existsSync(t)||!y.lstatSync(t).isFile())return null;let n=e[t];return n||(n=(async()=>(await at({filePath:t,fileName:s})).data.filename)(),e[t]=n),n}const ft=async(t,s)=>{const e=f.basename(t),n=await ue.call({name:de,path:x.joinURL("/uploads",e),responseType:"stream",method:"GET"});if(n.status>=200&&n.status<400){const a=y.createWriteStream(s);await Be.pipeline(n.data,a)}else throw new Error(`download asset failed ${n.status}`)},gt=async(t,s)=>{await Promise.all(t.map(async e=>{try{await ft(e,f.join(s,f.basename(e)))}catch(n){O.logger.error(`Failed to export assets: ${e}, ${n}`)}}))};function Ie(t){return fe.test(t)?[t]:$.test(t)?(we.lastIndex=0,Array.from(t.matchAll(we)).map(e=>e[1]).filter(e=>!!e)):[]}async function ae(t,s,e){const{getFilename:n,exportAssets:a}=e,o=f.join(s,n(t));if(y.mkdirSync(f.dirname(o),{recursive:!0}),y.writeFileSync(o,V.stringify(t)),a){const i=X(t,r=>typeof r=="string"&&(fe.test(r)||$.test(r))).map(r=>{const c=_.get(t,r);return Ie(c)}).flat().filter(Boolean);await gt(i,f.dirname(o))}}const Ee=new Te.LRUCache({max:1e3,ttl:30*24*60*60*1e3});async function be(t,s,e){var i;const n=X(t,r=>typeof r=="string"&&(fe.test(r)||$.test(r))),a=ze.default(2),o=n.map(r=>a(async()=>{try{const c=_.get(t,r),g=Ie(c);for(const p of g){const h=f.basename(p),v=e.getFilePath(p,r),I=v?`${v}:${h}`:h,D=Ee.get(I);if(D){$.test(c)||_.set(t,r,D);return}const R=await dt(v,h,s);R&&($.test(c)||_.set(t,r,R),Ee.set(I,R))}}catch(c){O.logger.error(`Failed to process upload for path ${r.join(".")}:`,c.message||c.reason)}})),l=await Promise.allSettled(o);(i=e.onFinish)==null||i.call(e,l)}async function Oe(t,{exportAssets:s,pageIds:e="all",componentIds:n="all",rawConfig:a,includeResources:o=!1}={}){var N,F,m,b,E,A;const l=e==="all"?t.pageIds:e,i=mt({state:t,pageIds:l,componentIds:n==="all"?Object.keys(t.components):n}),r=(d,u)=>{var w;return{id:d.id,name:d.name,isTemplateSection:d.isTemplateSection??!1,component:d.component,config:d.config,visibility:d.visibility,properties:((w=d.locales)==null?void 0:w[u])??{}}},c=(d,u)=>{var w;return{id:d.id,createdAt:d.createdAt,updatedAt:d.updatedAt,publishedAt:d.publishedAt,isPublic:d.isPublic??!0,isTemplate:d.isTemplate??!1,meta:((w=d.locales)==null?void 0:w[u])??{},sections:L(d.sectionIds.map(P=>{const k=d.sections[P];return k&&r(k,u)}))}},g=L(t.supportedLocales.map(d=>d.locale).flatMap(d=>l.map(u=>{const w=t.pages[u];return w&&{locale:d,slug:w.slug,page:c(w,d)}}))),p=ve(),h=f.join(p,"pages");y.mkdirSync(h,{recursive:!0});const v=f.join(p,"components");y.mkdirSync(v,{recursive:!0});for(const{locale:d,slug:u,page:w}of g)await ae(w,h,{getFilename:()=>`${je(u)||"index"}.${d}.yml`,exportAssets:s});for(const d of i){const u=(N=t.components[d])==null?void 0:N.data;u&&await ae(u,v,{getFilename:w=>`${w.name||"unnamed"}.${w.id}.yml`,exportAssets:s})}const I=f.join(p,".blocklet/pages/pages.config.yml");y.mkdirSync(f.dirname(I),{recursive:!0});const D={pages:L(l.map(d=>{const u=t.pages[d];return u&&{id:d,slug:u.slug}})),components:L(i.map(d=>{var w;const u=(w=t.components[d])==null?void 0:w.data;return u&&{id:d,name:u.name}})),...o?{resources:{components:L(Object.keys(((F=t.resources)==null?void 0:F.components)||{}).map(d=>{var u,w,P,k;return{id:d,name:(k=(P=(w=(u=t.resources)==null?void 0:u.components)==null?void 0:w[d])==null?void 0:P.component)==null?void 0:k.name}}))}}:{},supportedLocales:t.supportedLocales,config:t.config};y.writeFileSync(I,V.stringify(D));const R=f.join(p,"config.source.json");if(a&&y.writeFileSync(R,JSON.stringify(a)),o){const d=f.join(p,"resources"),u=f.join(d,"components");y.mkdirSync(u,{recursive:!0});for(const w of Object.keys(((m=t==null?void 0:t.resources)==null?void 0:m.components)??{})){const P=(A=(E=(b=t.resources)==null?void 0:b.components)==null?void 0:E[w])==null?void 0:A.component;P&&await ae(P,u,{getFilename:k=>`${k.name||"unnamed"}.${k.id}.yml`,exportAssets:s})}}return p}async function ge(t,{importAssets:s,includeResources:e}={}){var o,l,i;if(!y.existsSync(t))return null;let n,a=!1;try{y.lstatSync(t).isDirectory()?n=t:/\.(tgz|gz|tar)$/.test(t)&&(a=!0,n=ve(),await Ve.x({file:t,C:n}));const r=re.globSync("**/.blocklet/pages/pages.config.yml",{cwd:n,absolute:!0}).at(0),c=r&&f.join(f.dirname(r),"../../pages"),g=r&&f.join(f.dirname(r),"../../components"),p=r&&f.join(f.dirname(r),"../../chunks");if(!r)return null;const h=V.parse(y.readFileSync(r).toString()),v=(m,b,E)=>{let A=f.join(m,`${b}${E?`.${E}`:""}.yml`);return(!y.existsSync(A)||!y.lstatSync(A).isFile())&&(A=f.join(m,b,`index${E?`.${E}`:""}.yml`),!y.existsSync(A)||!y.lstatSync(A))?null:V.parse(y.readFileSync(A).toString())},I=(m,b)=>{try{const E=re.globSync(`*.${b}.yml`,{cwd:m,absolute:!0})[0];return E?V.parse(y.readFileSync(E).toString()):null}catch(E){O.logger.error("parse component error",E)}return null},D=L(h.pages.map(({slug:m})=>{var d;const b=L(h.supportedLocales.map(({locale:u})=>{const w=c?v(c,je(m),u):void 0;if(w)return{locale:u,page:w};const P=c?v(c,m,u):void 0;return P&&{locale:u,page:P}})),E=(d=b[0])==null?void 0:d.page;if(!E)return null;const A=E.sections.map(u=>{const w=u.id||ce();return{id:w,component:u.component,config:u.config,name:u.name,isTemplateSection:u.isTemplateSection??!1,visibility:u.visibility,locales:Object.fromEntries(L(b.map(({locale:P,page:k})=>{const he=k.sections.find(Re=>Re.id===w);return he&&[P,he.properties]})))}});return{id:E.id||ce(),createdAt:E.createdAt,updatedAt:E.updatedAt,publishedAt:E.publishedAt,isPublic:E.isPublic??!0,isTemplate:E.isTemplate??!1,slug:m,sections:Object.fromEntries(A.map(u=>[u.id,u])),sectionIds:A.map(u=>u.id),locales:Object.fromEntries(b.map(({locale:u,page:w})=>[u,w.meta]))}})),R=g?L(((o=h.components)==null?void 0:o.map(({id:m})=>I(g,m)))??[]):[];if(s){const m=(...b)=>{O.logger.info(`[${a?f.basename(t):f.basename(f.join(t,"../../../../"))}] importAssets:`,...b)};try{m("wait image-bin api ready"),await Ke.default({resources:[`${ue.getComponentWebEndpoint(Xe)}/api/sdk/uploads`],validateStatus:A=>A>=200&&A<=500}),m("image-bin api is ready");const b={},E={};m("start to upload assets"),await Promise.allSettled([be(R,b,{getFilePath:A=>g&&f.join(g,A),onFinish:A=>{m(`upload ${A.length} component assets`)}}),be(D,E,{getFilePath:(A,d)=>{const u=_.get(D,d.slice(0,1));return c&&f.join(c,f.dirname(u.slug),A)},onFinish:A=>{m(`upload ${A.length} page assets`)}})]),m("upload assets done"),global.gc&&global.gc()}catch(b){m("Error during asset import:",b)}}const N={};if(e){const m=r&&f.join(f.dirname(r),"../../resources/components"),b=L(((i=(l=h.resources)==null?void 0:l.components)==null?void 0:i.map(({id:E})=>I(m,E)))??[]);b.length>0&&(N.components=Object.fromEntries(b.map((E,A)=>[E.id,{index:A,component:E}])))}const F={};if(p&&y.existsSync(p)){const m=y.readdirSync(p);for(const b of m)F[b]=y.readFileSync(f.join(p,b),"utf-8")}return{supportedLocales:h.supportedLocales,pageIds:D.map(m=>m.id),components:Object.fromEntries(R.map((m,b)=>[m.id,{index:b,data:m}])),pages:Object.fromEntries(D.map(m=>[m.id,m])),config:h.config||{},resources:N,chunks:F}}finally{a&&n&&y.rmSync(n,{force:!0,recursive:!0})}}async function pe(t,s,{pages:e,pageMergeMode:n="byUpdateTime",deletePages:a=!1,publishMode:o=void 0}={}){try{o&&O.clearPreloadComponentsCacheByMode(o)}catch(g){O.logger.error("clear preload page cache error",{error:g})}const{pageIds:l,pages:i,supportedLocales:r}=t;for(const g of e??l){const p=i[g];if(!p){const h=s.pageIds.indexOf(g);h!==-1&&a&&(s.pageIds.splice(h,1),delete s.pages[g]);continue}if(s.pageIds.includes(p.id)){if(n==="replace")s.pages[p.id]=p;else if(n==="byUpdateTime"){const h=s.pages[p.id];(!h||p.updatedAt&&p.updatedAt>h.updatedAt)&&(s.pages[p.id]=p)}}else s.pageIds.push(p.id),s.pages[p.id]=p}if(a&&!e)for(const g of s.pageIds)t.pageIds.includes(g)||delete s.pages[g],s.pageIds=[...s.pageIds].filter(p=>t.pageIds.includes(p));if(s.supportedLocales.splice(0,s.supportedLocales.length),s.supportedLocales.push(..._.cloneDeep(r)),a)for(const g of Object.keys(s.components))delete s.components[g];let c=JSON.parse(JSON.stringify(t.components));c=Object.fromEntries(await Promise.all(Object.entries(c).map(async([g,p])=>{const h=await De(p==null?void 0:p.data);return[g,{...p,data:h}]}))),Object.assign(s.components,c),Object.assign(s.config,JSON.parse(JSON.stringify(t.config))),s.resources.components=JSON.parse(JSON.stringify(t.resources.components||{}))}const De=Ue.memoize(async t=>{var s;if(!_.isEmpty(t==null?void 0:t.properties))return t;if(((s=t==null?void 0:t.renderer)==null?void 0:s.type)==="react-component"){const{script:e}=(t==null?void 0:t.renderer)||{};if(e)try{const n=await O.getExportSchemaValueFromCode(e,"PROPERTIES_SCHEMA",t.id);n&&n.length>0&&t&&(t.properties={},n.forEach((a,o)=>{t!=null&&t.properties&&(t.properties[a.id]={index:o,data:a})}))}catch(n){O.logger.error("checkPropertiesFromCode error",{componentId:t.id,name:t.name},{error:n})}}return t},{keyGenerator:t=>JSON.stringify(["checkPropertiesFromCode",t])});function mt({state:t,pageIds:s=[],componentIds:e=[]}){var l;const n=(i,r=new Set)=>(Array.isArray(i)&&i.forEach(c=>n(c,r)),i&&typeof i=="object"&&(typeof i.componentId=="string"&&r.add(i.componentId),Object.values(i).forEach(c=>n(c,r))),r),a=new Set(e);for(const i of s){const r=t.pages[i];n(r,a)}const o=[...a];for(;o.length;){const i=o.shift();a.has(i)||a.add(i);const r=(l=t.components[i])==null?void 0:l.data;if(r)for(const c of n(r))a.has(c)||o.push(c)}return[...a]}let Q,G,me,ye;function Pe(){return Q=(async()=>{const t=ue.getResources({types:[{did:de,type:oe},{did:nt,type:oe}]});G=(await Promise.all(t.map(async e=>{const n=e.path?await ge(e.path,{importAssets:!1}):void 0;return n?{blockletId:e.did,state:n,blockletTitle:e.title}:void 0}))).filter(e=>!!e),me=G.reduce((e,n)=>Object.assign(e,Object.fromEntries(Object.values(n.state.pages).map(a=>a?[a==null?void 0:a.id,{page:a,blockletId:n.blockletId}]:[]))),{});const s=G.reduce((e,n)=>Object.assign(e,Object.fromEntries(Object.values(n.state.components).map(a=>[a.data.id,{blockletId:n.blockletId,component:a.data}]))),{});ye=Object.fromEntries(await Promise.all(Object.entries(s).map(async([e,n])=>{const a=await De(n.component);return[e,{...n,component:a}]})))})(),Q}function _e(t){const s=_.debounce(async()=>{await Pe().catch(e=>{O.logger.error("load resource states error",{error:e})}),await(t==null?void 0:t({states:G,pages:me,components:ye}))},3e3,{leading:!1,trailing:!0});return s(),S.default.events.on(S.default.Events.componentAdded,s),S.default.events.on(S.default.Events.componentRemoved,s),S.default.events.on(S.default.Events.componentStarted,s),S.default.events.on(S.default.Events.componentStopped,s),S.default.events.on(S.default.Events.componentUpdated,s),S.default.events.on(ie,s),()=>{S.default.events.off(S.default.Events.componentAdded,s),S.default.events.off(S.default.Events.componentRemoved,s),S.default.events.off(S.default.Events.componentStarted,s),S.default.events.off(S.default.Events.componentStopped,s),S.default.events.off(S.default.Events.componentUpdated,s),S.default.events.off(ie,s)}}const ke=Symbol.for("GLOBAL_RESOURCE_STATES_LISTENER_KEY"),W=globalThis;var Ae;(Ae=W[ke])==null||Ae.call(W);W[ke]=_e(async({pages:t,components:s})=>{const{projectIds:e}=J;await Promise.all(e.map(async n=>{const a=J.shared(n);a.syncedStore.resources.pages=t;const o=await C.findByPk(n);if(o!=null&&o.useAllResources)a.syncedStore.resources.components=s;else{const i=(await ee.findAll({where:{projectId:n}})).map(c=>c.componentId),r=Object.fromEntries(Object.entries(s||{}).filter(([c])=>i.includes(c)));a.syncedStore.resources.components=r}O.logger.info(`update [${n}] resource states:`,{pages:Object.keys(a.syncedStore.resources.pages||{}).length,components:Object.keys(a.syncedStore.resources.components||{}).length})}))});async function yt(){O.logger.info("trigger reload all project resource"),S.default.events.emit(ie)}async function Le(){return Q??(Q=Pe()),await Q,{states:G,pages:me,components:ye}}exports.COMPONENT_DID=de;exports.PUBLISH_MODES=pt;exports.Project=C;exports.RESOURCE_TYPE=oe;exports.SITE_STATE_PATH=B;exports.STATE_MODES=lt;exports.SiteState=J;exports.fromPackage=ge;exports.getMultiTenantAllProjectAccessPassports=et;exports.getResourceStates=Le;exports.initPackResourceStates=_e;exports.isMultiTenant=Ze;exports.mergeState=pe;exports.nextId=ce;exports.toPackage=Oe;exports.triggerReloadAllProjectResource=yt;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@blocklet/pages-kit/builtin/utils");require("@blocklet/pages-kit/types");require("@blocklet/pages-kit/utils/property");require("@blocklet/quickjs");require("@blocklet/sdk/lib/config");require("lru-cache");require("node-fetch");require("ufo");const e=require("../components-DITf866E.js");exports.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS=e.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS;exports.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS=e.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS;exports.clearPreloadComponentsCache=e.clearPreloadComponentsCache;exports.clearPreloadComponentsCacheByMode=e.clearPreloadComponentsCacheByMode;exports.getComponentFromState=e.getComponentFromState;exports.getComponentFromStateByName=e.getComponentFromStateByName;exports.getExportSchemaValueFromCode=e.getExportSchemaValueFromCode;exports.getPreloadComponent=e.getPreloadComponent;exports.getPreloadComponents=e.getPreloadComponents;exports.getPreloadComponentsCacheKey=e.getPreloadComponentsCacheKey;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@blocklet/pages-kit/builtin/utils");require("@blocklet/pages-kit/types");require("@blocklet/pages-kit/utils/property");require("@blocklet/quickjs");require("@blocklet/sdk/lib/config");require("lru-cache");require("node-fetch");require("ufo");const e=require("./_chunks/components-CGE2womb.js");exports.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS=e.CUSTOM_COMPONENT_CACHE_DURATION_IN_SECONDS;exports.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS=e.GET_SERVER_SIDE_PROPS_TIMEOUT_IN_SECONDS;exports.clearPreloadComponentsCache=e.clearPreloadComponentsCache;exports.clearPreloadComponentsCacheByMode=e.clearPreloadComponentsCacheByMode;exports.getComponentFromState=e.getComponentFromState;exports.getComponentFromStateByName=e.getComponentFromStateByName;exports.getExportSchemaValueFromCode=e.getExportSchemaValueFromCode;exports.getPreloadComponent=e.getPreloadComponent;exports.getPreloadComponents=e.getPreloadComponents;exports.getPreloadComponentsCacheKey=e.getPreloadComponentsCacheKey;
package/lib/cjs/home.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("react/jsx-runtime");require("../state-BQClQU2N.js");const e=require("../home-D7i9eFDB.js");require("@arcblock/ux/lib/Locale/context");require("@arcblock/ux/lib/Result");require("@blocklet/pages-kit/builtin/page/header");require("@blocklet/ui-react/lib/Header");require("@emotion/css");require("@emotion/react");require("@emotion/styled");require("@mui/material");require("ahooks");require("isomorphic-dompurify");require("lodash");require("lodash/isEmpty");require("react");require("react-helmet");require("react-router-dom");require("react-use");require("ufo");exports.HomeView=e.HomeView;exports.PageRoutes=e.PageRoutes;exports.PageView=e.PageView;exports.PageViewByPath=e.PageViewByPath;exports.TranslucentHeader=e.TranslucentHeader;exports.default=e.Home;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("react/jsx-runtime");require("./_chunks/state-BQClQU2N.js");const e=require("./_chunks/home-D7i9eFDB.js");require("@arcblock/ux/lib/Locale/context");require("@arcblock/ux/lib/Result");require("@blocklet/pages-kit/builtin/page/header");require("@blocklet/ui-react/lib/Header");require("@emotion/css");require("@emotion/react");require("@emotion/styled");require("@mui/material");require("ahooks");require("isomorphic-dompurify");require("lodash");require("lodash/isEmpty");require("react");require("react-helmet");require("react-router-dom");require("react-use");require("ufo");exports.HomeView=e.HomeView;exports.PageRoutes=e.PageRoutes;exports.PageView=e.PageView;exports.PageViewByPath=e.PageViewByPath;exports.TranslucentHeader=e.TranslucentHeader;exports.default=e.Home;
@@ -1 +1 @@
1
- "use strict";const c=require("../site-state-kBaXBQhY.js"),b=require("../components-DITf866E.js"),U=require("async_hooks"),F=require("express"),J=require("fs"),X=require("joi"),O=require("lodash"),N=require("path"),W=require("@blocklet/sdk/lib/middlewares/auth"),G=require("@blocklet/sdk/lib/component"),E=t=>t&&t.__esModule?t:{default:t},p=E(J),I=E(X),k=E(N),v=E(W);new U.AsyncLocalStorage;const K=async(t,e,o)=>{var n,s,r,a;try{const{projectId:u}=t.params;if(!u)return o();const f=await c.Project.findByPk(u);if(!f)return e==null?void 0:e.status(404).json({error:"Project not found"});const P=(n=t.user)==null?void 0:n.did,h=((s=t.user)==null?void 0:s.role)||"UNKNOWN_ROLE";if(!P)return e==null?void 0:e.status(401).json({error:"Authentication required"});if(c.isMultiTenant()){const w=f.createdBy===P,i=(a=(r=c.getMultiTenantAllProjectAccessPassports())==null?void 0:r.includes)==null?void 0:a.call(r,h);if(!w&&!i)return e==null?void 0:e.status(403).json({error:"No permission to access this project in multi-tenant mode"})}else if(!["owner","admin","pagesEditor"].includes(h))return e==null?void 0:e.status(403).json({error:"No permission to access this project in single-tenant mode"});t.project=f,t.projectId=u,o()}catch(u){b.logger.error("Project middleware error:",u),e==null||e.status(500).json({error:"Internal server error"})}};function T(t,e){return new Promise((o,n)=>{const s=p.default.createReadStream(t),r=p.default.createWriteStream(e);s.on("error",n),r.on("error",n),r.on("finish",o),s.pipe(r)})}async function B(t,e){await p.default.promises.mkdir(e,{recursive:!0});const o=await p.default.promises.readdir(t,{withFileTypes:!0});for(const n of o){const s=k.default.join(t,n.name),r=k.default.join(e,n.name);n.isDirectory()?await B(s,r):await T(s,r)}}async function Y(t,e){(await p.default.promises.stat(t)).isDirectory()?await B(t,e):await T(t,e)}const D=(t,e,o)=>c.isMultiTenant()?v.default()(t,e,o):v.default({roles:["owner","admin","pagesEditor"]})(t,e,o),$=(t,e)=>{const o=G.getResourceExportDir({projectId:t,releaseId:e});return N.join(o,c.COMPONENT_DID,c.RESOURCE_TYPE)},S=F.Router(),q="@page",L="@component",y=":",_="ALL",M="@project",C=({pageId:t,projectId:e})=>[q,e,t].join(y),z=t=>{const[e,o,n]=t.split(y);if(e===q)return{pageId:n,projectId:o}},A=({componentId:t,projectId:e})=>[L,e,t].join(y),H=t=>{const[e,o,n]=t.split(y);if(e===L)return{componentId:n,projectId:o}},Q=t=>[M,t].join(y),V=t=>{const[e,o]=t.split(y);if(e===M)return o},Z=t=>{try{return JSON.parse(t)}catch{}return{}};async function x(t){const e=await c.SiteState.shared(t).getState("production"),o=await c.Project.findByPk(t),n=e.pageIds.map(r=>{const a=e.pages[r];if(a)return{id:C({pageId:r,projectId:t}),name:a.slug}}).filter(Boolean),s=O.sortBy(Object.values(e.components),r=>r.index).map(({data:r})=>({id:A({componentId:r.id,projectId:t}),name:r.name||r.id}));return{id:Q(t),name:(o==null?void 0:o.name)||"Unnamed Project",children:[{id:C({pageId:_,projectId:t}),name:"Pages",children:n},{id:A({componentId:_,projectId:t}),name:"Components",children:s}]}}S.get("/resources",D,async(t,e)=>{const{projectId:o}=Z(t.query.resourcesParams);if(o){t.params={...t.params,projectId:o},await K(t,e,()=>{});const r=await x(o);e.json({resources:[r]});return}const n=await c.Project.findAll({where:{}}),s=await Promise.all(n.map(r=>x(r.id)));e.json({resources:s})});const tt=I.default.object({projectId:I.default.string().required().min(1),releaseId:I.default.string().allow(""),resources:I.default.array().items(I.default.string()).required(),locale:I.default.string().allow("")});S.post("/resources",D,async(t,e)=>{const{resources:o,projectId:n,releaseId:s}=await tt.validateAsync(t.body),r="production",a=[],u=[];for(const i of o){if(V(i))continue;const{pageId:m,projectId:j}=z(i)||{};if(m)m===_||m&&j&&a.push({pageId:m,projectId:j});else{const{componentId:l,projectId:d}=H(i)||{};l===_||l&&d&&u.push({componentId:l,projectId:d})}}const f=O.groupBy(a,"projectId"),P=O.groupBy(u,"projectId"),h=new Set([...Object.keys(f),...Object.keys(P)]),w=$(n,s);p.default.rmSync(w,{recursive:!0,force:!0}),p.default.mkdirSync(w,{recursive:!0});for(const i of h){const m=await c.SiteState.shared(i).getState(r),j=f[i],l=P[i],d=j==null?void 0:j.map(g=>g.pageId),R=l==null?void 0:l.map(g=>g.componentId);if(d!=null&&d.length||R!=null&&R.length){const g=await c.toPackage(m,{exportAssets:!0,pageIds:d,componentIds:R});await Y(g,w),p.default.rmSync(g,{recursive:!0,force:!0})}b.logger.info(`Exported resources for project ${i}`,{pageIds:d,componentIds:R})}e.json({})});S.get("/all-resources",D,async(t,e)=>{const{states:o}=await c.getResourceStates(),n=o==null?void 0:o.map(s=>{const r={blockletId:s.blockletId,blockletTitle:s.blockletTitle,components:{}};if(s.state.components&&(r.components=s.state.components),Object.keys(r.components).length!==0)return r}).filter(Boolean);e.json(n)});module.exports=S;
1
+ "use strict";const c=require("./_chunks/site-state-BjTlKyaF.js"),b=require("./_chunks/components-CGE2womb.js"),U=require("async_hooks"),F=require("express"),J=require("fs"),X=require("joi"),O=require("lodash"),N=require("path"),W=require("@blocklet/sdk/lib/middlewares/auth"),G=require("@blocklet/sdk/lib/component"),E=t=>t&&t.__esModule?t:{default:t},p=E(J),I=E(X),k=E(N),v=E(W);new U.AsyncLocalStorage;const K=async(t,e,o)=>{var n,s,r,a;try{const{projectId:u}=t.params;if(!u)return o();const f=await c.Project.findByPk(u);if(!f)return e==null?void 0:e.status(404).json({error:"Project not found"});const P=(n=t.user)==null?void 0:n.did,h=((s=t.user)==null?void 0:s.role)||"UNKNOWN_ROLE";if(!P)return e==null?void 0:e.status(401).json({error:"Authentication required"});if(c.isMultiTenant()){const w=f.createdBy===P,i=(a=(r=c.getMultiTenantAllProjectAccessPassports())==null?void 0:r.includes)==null?void 0:a.call(r,h);if(!w&&!i)return e==null?void 0:e.status(403).json({error:"No permission to access this project in multi-tenant mode"})}else if(!["owner","admin","pagesEditor"].includes(h))return e==null?void 0:e.status(403).json({error:"No permission to access this project in single-tenant mode"});t.project=f,t.projectId=u,o()}catch(u){b.logger.error("Project middleware error:",u),e==null||e.status(500).json({error:"Internal server error"})}};function T(t,e){return new Promise((o,n)=>{const s=p.default.createReadStream(t),r=p.default.createWriteStream(e);s.on("error",n),r.on("error",n),r.on("finish",o),s.pipe(r)})}async function B(t,e){await p.default.promises.mkdir(e,{recursive:!0});const o=await p.default.promises.readdir(t,{withFileTypes:!0});for(const n of o){const s=k.default.join(t,n.name),r=k.default.join(e,n.name);n.isDirectory()?await B(s,r):await T(s,r)}}async function Y(t,e){(await p.default.promises.stat(t)).isDirectory()?await B(t,e):await T(t,e)}const D=(t,e,o)=>c.isMultiTenant()?v.default()(t,e,o):v.default({roles:["owner","admin","pagesEditor"]})(t,e,o),$=(t,e)=>{const o=G.getResourceExportDir({projectId:t,releaseId:e});return N.join(o,c.COMPONENT_DID,c.RESOURCE_TYPE)},S=F.Router(),q="@page",L="@component",y=":",_="ALL",M="@project",C=({pageId:t,projectId:e})=>[q,e,t].join(y),z=t=>{const[e,o,n]=t.split(y);if(e===q)return{pageId:n,projectId:o}},A=({componentId:t,projectId:e})=>[L,e,t].join(y),H=t=>{const[e,o,n]=t.split(y);if(e===L)return{componentId:n,projectId:o}},Q=t=>[M,t].join(y),V=t=>{const[e,o]=t.split(y);if(e===M)return o},Z=t=>{try{return JSON.parse(t)}catch{}return{}};async function x(t){const e=await c.SiteState.shared(t).getState("production"),o=await c.Project.findByPk(t),n=e.pageIds.map(r=>{const a=e.pages[r];if(a)return{id:C({pageId:r,projectId:t}),name:a.slug}}).filter(Boolean),s=O.sortBy(Object.values(e.components),r=>r.index).map(({data:r})=>({id:A({componentId:r.id,projectId:t}),name:r.name||r.id}));return{id:Q(t),name:(o==null?void 0:o.name)||"Unnamed Project",children:[{id:C({pageId:_,projectId:t}),name:"Pages",children:n},{id:A({componentId:_,projectId:t}),name:"Components",children:s}]}}S.get("/resources",D,async(t,e)=>{const{projectId:o}=Z(t.query.resourcesParams);if(o){t.params={...t.params,projectId:o},await K(t,e,()=>{});const r=await x(o);e.json({resources:[r]});return}const n=await c.Project.findAll({where:{}}),s=await Promise.all(n.map(r=>x(r.id)));e.json({resources:s})});const tt=I.default.object({projectId:I.default.string().required().min(1),releaseId:I.default.string().allow(""),resources:I.default.array().items(I.default.string()).required(),locale:I.default.string().allow("")});S.post("/resources",D,async(t,e)=>{const{resources:o,projectId:n,releaseId:s}=await tt.validateAsync(t.body),r="production",a=[],u=[];for(const i of o){if(V(i))continue;const{pageId:m,projectId:j}=z(i)||{};if(m)m===_||m&&j&&a.push({pageId:m,projectId:j});else{const{componentId:l,projectId:d}=H(i)||{};l===_||l&&d&&u.push({componentId:l,projectId:d})}}const f=O.groupBy(a,"projectId"),P=O.groupBy(u,"projectId"),h=new Set([...Object.keys(f),...Object.keys(P)]),w=$(n,s);p.default.rmSync(w,{recursive:!0,force:!0}),p.default.mkdirSync(w,{recursive:!0});for(const i of h){const m=await c.SiteState.shared(i).getState(r),j=f[i],l=P[i],d=j==null?void 0:j.map(g=>g.pageId),R=l==null?void 0:l.map(g=>g.componentId);if(d!=null&&d.length||R!=null&&R.length){const g=await c.toPackage(m,{exportAssets:!0,pageIds:d,componentIds:R});await Y(g,w),p.default.rmSync(g,{recursive:!0,force:!0})}b.logger.info(`Exported resources for project ${i}`,{pageIds:d,componentIds:R})}e.json({})});S.get("/all-resources",D,async(t,e)=>{const{states:o}=await c.getResourceStates(),n=o==null?void 0:o.map(s=>{const r={blockletId:s.blockletId,blockletTitle:s.blockletTitle,components:{}};if(s.state.components&&(r.components=s.state.components),Object.keys(r.components).length!==0)return r}).filter(Boolean);e.json(n)});module.exports=S;
@@ -1,4 +1,4 @@
1
- "use strict";var Be=Object.create;var xe=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var ze=(t,s,i,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let c of Te(s))!Re.call(t,c)&&c!==i&&xe(t,c,{get:()=>s[c],enumerable:!(n=we(s,c))||n.enumerable});return t};var Oe=(t,s,i)=>(i=t!=null?Be(De(t)):{},ze(s||!t||!t.__esModule?xe(i,"default",{value:t,enumerable:!0}):i,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),B=require("../state-BQClQU2N.js"),r=require("@mui/material"),P=require("react"),Fe=require("@arcblock/ux/lib/Empty"),F=require("@arcblock/ux/lib/Locale/context"),Ae=require("@arcblock/ux/lib/Theme"),_e=require("@emotion/css"),ee=require("ahooks"),qe=require("gradient-parser");require("lodash/without");const Ue=require("tinycolor2"),w=require("@mui/material/colors"),D=require("./uploader.js"),Ne=require("@iconify-icon/react"),be=require("react-use"),R=require("lodash"),Ve=require("@arcblock/ux/lib/Toast"),ye=require("@blocklet/code-editor"),X=require("@blocklet/pages-kit/components"),re=require("@mui/base"),z=require("@mui/icons-material"),K=require("@syncedstore/core"),Ke=require("lodash/has"),Me=require("lodash/keyBy"),We=require("lodash/pick"),O=require("material-ui-popup-state/hooks"),Ee=require("react-error-boundary"),He=require("lodash/sortBy"),te=require("react-dnd"),U=t=>t&&t.__esModule?t:{default:t},se=U(Fe),je=U(qe),Le=U(Ue),he=U(Ve),Ye=U(Ke),Je=U(Me),$e=U(We),Ge=U(He);w.red[300],w.pink[300],w.purple[300],w.indigo[300],w.blue[300],w.cyan[300],w.teal[300],w.green[300],w.lime[300],w.yellow[300],w.amber[300],w.orange[300],w.brown[300],w.grey[300],w.blueGrey[300];const Qe=P.forwardRef(function({showMarkdown:s,markdown:i,onMarkdownChange:n,showUploader:c,value:y,meta:a,onChange:p,...k},o){const[b,h]=P.useState("");P.useEffect(()=>{h(y||"")},[y,h]);const m=async()=>{if(b!==y){const l=B.getImageAbsoluteUrl(b);if(!l){p(b,void 0);return}const u=await D.getImageSize(l).catch(()=>D.getVideoSize(l)).catch(()=>{});p(b,{...u,filename:b})}};be.useDebounce(()=>{b!==y&&p(b)},300,[b]),P.useImperativeHandle(o,()=>({submit:m}));const g={};return c&&(g.InputProps={sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mx:.5},children:e.jsx(D.UploaderButton,{onChange:async({response:l})=>{var f;const u=(f=l==null?void 0:l.data)==null?void 0:f.filename,v=B.getImageAbsoluteUrl(u)||"";let S={};v&&(S=await D.getImageSize(v).catch(()=>D.getVideoSize(v)).catch(()=>{})),p(u,{...S,filename:u})}})})}),e.jsx(r.TextField,{size:"small",fullWidth:!0,...k,label:e.jsxs(r.Stack,{direction:"row",spacing:1,alignItems:"center",children:[k.label,s&&e.jsxs(e.Fragment,{children:[" (",e.jsx(r.FormControlLabel,{checked:i,label:e.jsx(r.Box,{component:Ne.Icon,icon:"tabler:markdown",sx:{verticalAlign:"middle"}}),labelPlacement:"start",control:e.jsx(r.Switch,{size:"small"}),sx:{ml:.25,pr:1},onChange:(l,u)=>n==null?void 0:n(u)}),")"]})]}),InputLabelProps:{shrink:!0,...k.InputLabelProps},value:b,onChange:l=>h(l.target.value),...g,onKeyDown:l=>{l.keyCode!==229&&l.key==="Enter"&&m()}})}),Xe=P.lazy(()=>import("react-best-gradient-color-picker"));function Ze(t){try{const i=je.default.parse(t).map(c=>{const y=c.colorStops.map(a=>{if(a.type!=="rgba"){const p=Le.default(a.value).toRgb();return{...a,value:[p.r,p.g,p.b,p.a],type:"rgba"}}return a});return{...c,colorStops:y}});return je.default.stringify(i)}catch{return B.isColorString(t)?t:""}}function et({color:t,sx:s={},...i}){B.isColorString(t);const n={};return B.isGradient(t)?n.backgroundImage=t:n.backgroundColor=t,e.jsx(r.Box,{sx:{...s,width:"100%",paddingBottom:"100%",cursor:"pointer",transition:"opacity 0.2s",border:"1px solid #ccc",borderRadius:.5,"&:hover":{opacity:.75},...n},...i})}const tt=P.forwardRef(function({onSave:s},i){const n=ee.useReactive({value:""}),{t:c}=F.useLocaleContext(),y={};n.value?B.isGradient(n.value)?y.backgroundImage=n.value:y.backgroundColor=n.value:y.border="1px solid #ccc";const[a,{setFalse:p,setTrue:k}]=ee.useBoolean(!1),o=P.useCallback(()=>{p()},[p]),b=()=>{s({value:n.value},o)};return P.useImperativeHandle(i,()=>({open({value:h}={value:""}){n.value=h,k()},close(){o()}})),e.jsxs(r.Dialog,{open:a,onClose:o,hideBackdrop:!0,children:[e.jsx(r.DialogTitle,{children:c("maker.configBackground")}),e.jsx(r.DialogContent,{sx:{width:600},children:e.jsxs(r.Box,{width:"100%",display:"flex",children:[e.jsx(r.Box,{flex:1,mr:1,sx:y,children:!n.value&&e.jsx(se.default,{children:c("error.notConfig")})}),e.jsx(P.Suspense,{children:e.jsx(Xe,{width:200,height:200,value:Ze(n.value),onChange:h=>{n.value=h},hidePresets:!0,hideAdvancedSliders:!0,hideColorGuide:!0,hideInputType:!0})})]})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{variant:"outlined",size:"small",onClick:o,children:c("common.cancel")}),e.jsx(r.Button,{variant:"contained",size:"small",onClick:b,children:c("maker.save")})]})]})});Ae.styled(r.Box)`
1
+ "use strict";var Be=Object.create;var xe=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var ze=(t,s,i,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let c of Te(s))!Re.call(t,c)&&c!==i&&xe(t,c,{get:()=>s[c],enumerable:!(n=we(s,c))||n.enumerable});return t};var Oe=(t,s,i)=>(i=t!=null?Be(De(t)):{},ze(s||!t||!t.__esModule?xe(i,"default",{value:t,enumerable:!0}):i,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),B=require("./_chunks/state-BQClQU2N.js"),r=require("@mui/material"),P=require("react"),Fe=require("@arcblock/ux/lib/Empty"),F=require("@arcblock/ux/lib/Locale/context"),Ae=require("@arcblock/ux/lib/Theme"),_e=require("@emotion/css"),ee=require("ahooks"),qe=require("gradient-parser");require("lodash/without");const Ue=require("tinycolor2"),w=require("@mui/material/colors"),D=require("./uploader.js"),Ne=require("@iconify-icon/react"),be=require("react-use"),R=require("lodash"),Ve=require("@arcblock/ux/lib/Toast"),ye=require("@blocklet/code-editor"),X=require("@blocklet/pages-kit/components"),re=require("@mui/base"),z=require("@mui/icons-material"),K=require("@syncedstore/core"),Ke=require("lodash/has"),Me=require("lodash/keyBy"),We=require("lodash/pick"),O=require("material-ui-popup-state/hooks"),Ee=require("react-error-boundary"),He=require("lodash/sortBy"),te=require("react-dnd"),U=t=>t&&t.__esModule?t:{default:t},se=U(Fe),je=U(qe),Le=U(Ue),he=U(Ve),Ye=U(Ke),Je=U(Me),$e=U(We),Ge=U(He);w.red[300],w.pink[300],w.purple[300],w.indigo[300],w.blue[300],w.cyan[300],w.teal[300],w.green[300],w.lime[300],w.yellow[300],w.amber[300],w.orange[300],w.brown[300],w.grey[300],w.blueGrey[300];const Qe=P.forwardRef(function({showMarkdown:s,markdown:i,onMarkdownChange:n,showUploader:c,value:y,meta:a,onChange:p,...k},o){const[b,h]=P.useState("");P.useEffect(()=>{h(y||"")},[y,h]);const m=async()=>{if(b!==y){const l=B.getImageAbsoluteUrl(b);if(!l){p(b,void 0);return}const u=await D.getImageSize(l).catch(()=>D.getVideoSize(l)).catch(()=>{});p(b,{...u,filename:b})}};be.useDebounce(()=>{b!==y&&p(b)},300,[b]),P.useImperativeHandle(o,()=>({submit:m}));const g={};return c&&(g.InputProps={sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mx:.5},children:e.jsx(D.UploaderButton,{onChange:async({response:l})=>{var f;const u=(f=l==null?void 0:l.data)==null?void 0:f.filename,v=B.getImageAbsoluteUrl(u)||"";let S={};v&&(S=await D.getImageSize(v).catch(()=>D.getVideoSize(v)).catch(()=>{})),p(u,{...S,filename:u})}})})}),e.jsx(r.TextField,{size:"small",fullWidth:!0,...k,label:e.jsxs(r.Stack,{direction:"row",spacing:1,alignItems:"center",children:[k.label,s&&e.jsxs(e.Fragment,{children:[" (",e.jsx(r.FormControlLabel,{checked:i,label:e.jsx(r.Box,{component:Ne.Icon,icon:"tabler:markdown",sx:{verticalAlign:"middle"}}),labelPlacement:"start",control:e.jsx(r.Switch,{size:"small"}),sx:{ml:.25,pr:1},onChange:(l,u)=>n==null?void 0:n(u)}),")"]})]}),InputLabelProps:{shrink:!0,...k.InputLabelProps},value:b,onChange:l=>h(l.target.value),...g,onKeyDown:l=>{l.keyCode!==229&&l.key==="Enter"&&m()}})}),Xe=P.lazy(()=>import("react-best-gradient-color-picker"));function Ze(t){try{const i=je.default.parse(t).map(c=>{const y=c.colorStops.map(a=>{if(a.type!=="rgba"){const p=Le.default(a.value).toRgb();return{...a,value:[p.r,p.g,p.b,p.a],type:"rgba"}}return a});return{...c,colorStops:y}});return je.default.stringify(i)}catch{return B.isColorString(t)?t:""}}function et({color:t,sx:s={},...i}){B.isColorString(t);const n={};return B.isGradient(t)?n.backgroundImage=t:n.backgroundColor=t,e.jsx(r.Box,{sx:{...s,width:"100%",paddingBottom:"100%",cursor:"pointer",transition:"opacity 0.2s",border:"1px solid #ccc",borderRadius:.5,"&:hover":{opacity:.75},...n},...i})}const tt=P.forwardRef(function({onSave:s},i){const n=ee.useReactive({value:""}),{t:c}=F.useLocaleContext(),y={};n.value?B.isGradient(n.value)?y.backgroundImage=n.value:y.backgroundColor=n.value:y.border="1px solid #ccc";const[a,{setFalse:p,setTrue:k}]=ee.useBoolean(!1),o=P.useCallback(()=>{p()},[p]),b=()=>{s({value:n.value},o)};return P.useImperativeHandle(i,()=>({open({value:h}={value:""}){n.value=h,k()},close(){o()}})),e.jsxs(r.Dialog,{open:a,onClose:o,hideBackdrop:!0,children:[e.jsx(r.DialogTitle,{children:c("maker.configBackground")}),e.jsx(r.DialogContent,{sx:{width:600},children:e.jsxs(r.Box,{width:"100%",display:"flex",children:[e.jsx(r.Box,{flex:1,mr:1,sx:y,children:!n.value&&e.jsx(se.default,{children:c("error.notConfig")})}),e.jsx(P.Suspense,{children:e.jsx(Xe,{width:200,height:200,value:Ze(n.value),onChange:h=>{n.value=h},hidePresets:!0,hideAdvancedSliders:!0,hideColorGuide:!0,hideInputType:!0})})]})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{variant:"outlined",size:"small",onClick:o,children:c("common.cancel")}),e.jsx(r.Button,{variant:"contained",size:"small",onClick:b,children:c("maker.save")})]})]})});Ae.styled(r.Box)`
2
2
  .color-item {
3
3
  position: relative;
4
4
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../components-DITf866E.js");const e=require("../site-state-kBaXBQhY.js");require("@blocklet/quickjs");require("@blocklet/sdk/lib/component");require("@blocklet/sdk/lib/config");require("@reactivedata/reactive");require("@syncedstore/core");require("fs");require("glob");require("lib0/decoding");require("lib0/encoding");require("lodash");require("lru-cache");require("nanoid");require("p-limit");require("path");require("stream/promises");require("tar");require("ufo");require("wait-on");require("y-protocols/awareness");require("y-protocols/sync");require("yaml");require("yjs");exports.PUBLISH_MODES=e.PUBLISH_MODES;exports.SITE_STATE_PATH=e.SITE_STATE_PATH;exports.STATE_MODES=e.STATE_MODES;exports.default=e.SiteState;exports.fromPackage=e.fromPackage;exports.getResourceStates=e.getResourceStates;exports.initPackResourceStates=e.initPackResourceStates;exports.mergeState=e.mergeState;exports.nextId=e.nextId;exports.toPackage=e.toPackage;exports.triggerReloadAllProjectResource=e.triggerReloadAllProjectResource;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./_chunks/components-CGE2womb.js");const e=require("./_chunks/site-state-BjTlKyaF.js");require("@blocklet/quickjs");require("@blocklet/sdk/lib/component");require("@blocklet/sdk/lib/config");require("@reactivedata/reactive");require("@syncedstore/core");require("fs");require("glob");require("lib0/decoding");require("lib0/encoding");require("lodash");require("lru-cache");require("nanoid");require("p-limit");require("path");require("stream/promises");require("tar");require("ufo");require("wait-on");require("y-protocols/awareness");require("y-protocols/sync");require("yaml");require("yjs");exports.PUBLISH_MODES=e.PUBLISH_MODES;exports.SITE_STATE_PATH=e.SITE_STATE_PATH;exports.STATE_MODES=e.STATE_MODES;exports.default=e.SiteState;exports.fromPackage=e.fromPackage;exports.getResourceStates=e.getResourceStates;exports.initPackResourceStates=e.initPackResourceStates;exports.mergeState=e.mergeState;exports.nextId=e.nextId;exports.toPackage=e.toPackage;exports.triggerReloadAllProjectResource=e.triggerReloadAllProjectResource;
@@ -75,14 +75,14 @@ ${e}
75
75
  {
76
76
  name: "vfs",
77
77
  setup(l) {
78
- l.onResolve({ filter: /.*/ }, (i) => i.path === "index.tsx" ? { path: "index.tsx", namespace: "vfs" } : i.path === "./component" ? { path: "component.tsx", namespace: "vfs" } : null), l.onLoad({ filter: /.*/, namespace: "vfs" }, async (i) => i.path === "index.tsx" ? { contents: `export { ${t} } from './component'`, loader: "tsx" } : i.path === "component.tsx" ? { contents: e, loader: "tsx" } : null);
78
+ l.onResolve({ filter: /.*/ }, (c) => c.path === "index.tsx" ? { path: "index.tsx", namespace: "vfs" } : c.path === "./component" ? { path: "component.tsx", namespace: "vfs" } : null), l.onLoad({ filter: /.*/, namespace: "vfs" }, async (c) => c.path === "index.tsx" ? { contents: `export { ${t} } from './component'`, loader: "tsx" } : c.path === "component.tsx" ? { contents: e, loader: "tsx" } : (console.warn("onLoad 11111111", c.path), null));
79
79
  }
80
80
  }
81
81
  ]
82
82
  })).outputFiles) == null ? void 0 : n[0]) == null ? void 0 : s.contents;
83
83
  if (!r) throw new Error("Failed to build server code");
84
- const c = Buffer.from(r).toString();
85
- return d.transpileModule(c, {
84
+ const i = Buffer.from(r).toString();
85
+ return d.transpileModule(i, {
86
86
  compilerOptions: { module: d.ModuleKind.ESNext, target: d.ScriptTarget.ES2020 }
87
87
  }).outputText;
88
88
  }, N = O(
@@ -121,7 +121,7 @@ async function Pe({
121
121
  req: t,
122
122
  state: o,
123
123
  locale: r,
124
- instances: c,
124
+ instances: i,
125
125
  module: a
126
126
  }) {
127
127
  const {
@@ -130,7 +130,7 @@ async function Pe({
130
130
  } = o;
131
131
  if (!s) return null;
132
132
  const l = (await Promise.all(
133
- c.map(async (p) => {
133
+ i.map(async (p) => {
134
134
  const u = ne({
135
135
  mode: e,
136
136
  instanceId: p.id,
@@ -159,12 +159,12 @@ async function Pe({
159
159
  }
160
160
  return P;
161
161
  })
162
- )).filter((p) => !!p), i = Object.values(
162
+ )).filter((p) => !!p), c = Object.values(
163
163
  l.reduce((p, u) => ({ ...p, ...u.preload.components }), {})
164
164
  );
165
165
  async function m() {
166
166
  const p = await Promise.all(
167
- i.map(async (u) => {
167
+ c.map(async (u) => {
168
168
  const h = v({ componentId: u.component.id }), S = a === $.ESM ? {
169
169
  module: a,
170
170
  script: await I(u.script, {
@@ -203,17 +203,17 @@ async function re({
203
203
  state: t,
204
204
  componentId: o,
205
205
  locale: r,
206
- defaultLocale: c,
206
+ defaultLocale: i,
207
207
  properties: a
208
208
  }) {
209
209
  const { supportedLocales: n } = t, s = C({ state: t, componentId: o });
210
210
  if (!s) return null;
211
- const l = n.some((m) => m.locale === r) ? r : c;
211
+ const l = n.some((m) => m.locale === r) ? r : i;
212
212
  if (!l) return null;
213
- const i = await R({ req: e, state: t, componentId: o, locale: l, defaultLocale: c, properties: a });
214
- return i ? {
213
+ const c = await R({ req: e, state: t, componentId: o, locale: l, defaultLocale: i, properties: a });
214
+ return c ? {
215
215
  component: s,
216
- ...i
216
+ ...c
217
217
  } : null;
218
218
  }
219
219
  const se = 20;
@@ -222,21 +222,21 @@ async function R({
222
222
  depth: t = 0,
223
223
  state: o,
224
224
  componentId: r,
225
- locale: c,
225
+ locale: i,
226
226
  defaultLocale: a,
227
227
  properties: n
228
228
  }) {
229
229
  if (t > se) throw new RangeError("max component depth exceeded");
230
- const s = ce({ state: o, componentId: r, properties: n, locale: c });
230
+ const s = ce({ state: o, componentId: r, properties: n, locale: i });
231
231
  if (!s) return null;
232
- const { props: l } = s, i = {
233
- locale: c || a,
232
+ const { props: l } = s, c = {
233
+ locale: i || a,
234
234
  components: { [s.component.id]: { component: s.component, script: s.script } },
235
235
  props: { ...l }
236
236
  };
237
237
  try {
238
238
  const m = await ie({ ...s, req: e });
239
- m != null && m.props && Object.assign(i.props, m.props);
239
+ m != null && m.props && Object.assign(c.props, m.props);
240
240
  } catch (m) {
241
241
  g.error("preload data at server side error", { componentId: r, name: s.component.name }, { error: m });
242
242
  }
@@ -248,11 +248,11 @@ async function R({
248
248
  depth: t + 1,
249
249
  state: o,
250
250
  componentId: f.componentId,
251
- locale: c,
251
+ locale: i,
252
252
  defaultLocale: a,
253
253
  properties: f.properties
254
254
  });
255
- x && (Object.assign(i.components, x.components), Object.assign(i.props, {
255
+ x && (Object.assign(c.components, x.components), Object.assign(c.props, {
256
256
  [m]: {
257
257
  type: M,
258
258
  componentId: f.componentId,
@@ -261,7 +261,7 @@ async function R({
261
261
  }));
262
262
  }
263
263
  })
264
- ), i;
264
+ ), c;
265
265
  }
266
266
  function ce({
267
267
  state: e,
@@ -269,8 +269,8 @@ function ce({
269
269
  locale: o,
270
270
  properties: r
271
271
  }) {
272
- const c = C({ state: e, componentId: t });
273
- if (!c) return null;
272
+ const i = C({ state: e, componentId: t });
273
+ if (!i) return null;
274
274
  const a = L({
275
275
  componentId: t,
276
276
  getComponent: (n) => C({ state: e, componentId: n }),
@@ -278,22 +278,22 @@ function ce({
278
278
  defaultLocale: e.config.defaultLocale,
279
279
  properties: r
280
280
  });
281
- return a ? { component: c, script: a.script, props: { locale: o, ...a.properties } } : null;
281
+ return a ? { component: i, script: a.script, props: { locale: o, ...a.properties } } : null;
282
282
  }
283
283
  function C({ state: e, componentId: t }) {
284
- var o, r, c;
285
- return ((o = e.components[t]) == null ? void 0 : o.data) ?? ((c = (r = e.resources.components) == null ? void 0 : r[t]) == null ? void 0 : c.component);
284
+ var o, r, i;
285
+ return ((o = e.components[t]) == null ? void 0 : o.data) ?? ((i = (r = e.resources.components) == null ? void 0 : r[t]) == null ? void 0 : i.component);
286
286
  }
287
287
  function Me({ state: e, name: t }) {
288
- var r, c;
288
+ var r, i;
289
289
  const o = t.toLowerCase();
290
290
  return ((r = Object.values(e.components).find((a) => {
291
291
  var n;
292
292
  return ((n = a.data.name) == null ? void 0 : n.toLowerCase()) === o;
293
- })) == null ? void 0 : r.data) ?? ((c = e.resources.components && Object.values(e.resources.components).find((a) => {
293
+ })) == null ? void 0 : r.data) ?? ((i = e.resources.components && Object.values(e.resources.components).find((a) => {
294
294
  var n;
295
295
  return ((n = a.component.name) == null ? void 0 : n.toLowerCase()) === o;
296
- })) == null ? void 0 : c.component);
296
+ })) == null ? void 0 : i.component);
297
297
  }
298
298
  async function ie({
299
299
  component: e,
@@ -301,15 +301,15 @@ async function ie({
301
301
  props: o,
302
302
  req: r
303
303
  }) {
304
- const c = await N(t, "getServerSideProps");
305
- if (!c) return null;
304
+ const i = await N(t, "getServerSideProps");
305
+ if (!i) return null;
306
306
  const a = new Promise((n, s) => {
307
307
  setTimeout(() => s(new Error("getServerSideProps timeout in promise race")), j * 1e3);
308
308
  });
309
309
  return Promise.race([
310
310
  a,
311
311
  _.callFunction({
312
- code: `${c}
312
+ code: `${i}
313
313
 
314
314
  export async function getServerSidePropsWrapper({ location, fetch, props}) {
315
315
  globalThis.location = location
@@ -355,21 +355,21 @@ export { joinURL, withQuery, getQuery, getComponentMountPoint }
355
355
  fetch: (n, { ...s } = {}) => {
356
356
  const l = typeof n == "string" && n.startsWith("/") ? E(T.env.appUrl, n) : n;
357
357
  if (typeof l == "string" && b(l).host === b(T.env.appUrl).host) {
358
- const i = r.get("cookie");
359
- if (i) {
358
+ const c = r.get("cookie");
359
+ if (c) {
360
360
  const m = new B(s.headers);
361
- m.set("cookie", i), s.headers = m;
361
+ m.set("cookie", c), s.headers = m;
362
362
  }
363
363
  }
364
364
  return F(l, {
365
365
  ...s,
366
366
  timeout: j * 1e3
367
- }).then((i) => ({
368
- ok: i.ok,
369
- status: i.status,
370
- statusText: i.statusText,
371
- headers: Object.fromEntries(i.headers.entries()),
372
- json: () => i.json()
367
+ }).then((c) => ({
368
+ ok: c.ok,
369
+ status: c.status,
370
+ statusText: c.statusText,
371
+ headers: Object.fromEntries(c.headers.entries()),
372
+ json: () => c.json()
373
373
  }));
374
374
  },
375
375
  props: o
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { u as o, S as a, k as s, h as n } from "./state-C0vjPuun.mjs";
2
+ import { u as o, S as a, k as s, h as n } from "./state-C0vjPuun.js";
3
3
  function d({ children: t }) {
4
4
  const r = o();
5
5
  return /* @__PURE__ */ e(a, { url: s(r ?? ""), name: "root", waitingSynced: !0, children: /* @__PURE__ */ e(i, { children: t }) });
@@ -1,5 +1,5 @@
1
1
  import { jsx as n, jsxs as _, Fragment as U } from "react/jsx-runtime";
2
- import { a as R, g as N, i as ae, b as ce, E as le, c as ct, d as lt, e as Et, u as de, f as me } from "./state-C0vjPuun.mjs";
2
+ import { a as R, g as N, i as ae, b as ce, E as le, c as ct, d as lt, e as Et, u as de, f as me } from "./state-C0vjPuun.js";
3
3
  import { useLocaleContext as zt } from "@arcblock/ux/lib/Locale/context";
4
4
  import Wt from "@arcblock/ux/lib/Result";
5
5
  import { useHeaderState as ue } from "@blocklet/pages-kit/builtin/page/header";
@@ -2046,7 +2046,7 @@ function jo({ mode: t }) {
2046
2046
  }
2047
2047
  return /* @__PURE__ */ n(Bo, { children: ({ state: e }) => /* @__PURE__ */ n(et, { mode: t, state: e }) });
2048
2048
  }
2049
- const Bo = Dt(() => import("./draft-data-Bbv-4GaF.mjs"));
2049
+ const Bo = Dt(() => import("./draft-data-CyvourYt.js"));
2050
2050
  function Ro({
2051
2051
  mode: t,
2052
2052
  children: e
@@ -2262,7 +2262,7 @@ function at({
2262
2262
  !((bt = a.footer) != null && bt.hidden) && /* @__PURE__ */ n(wo, {})
2263
2263
  ] });
2264
2264
  }
2265
- const To = Dt(() => import("./publish-button-B0t_3Z4M.mjs")), re = Ht(pe)`
2265
+ const To = Dt(() => import("./publish-button-D1FdjYsc.js")), re = Ht(pe)`
2266
2266
  &.sticky {
2267
2267
  position: sticky;
2268
2268
  top: 0;
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as p, Fragment as H } from "react/jsx-runtime";
2
- import { u as R, l as J, f as q, P as G } from "./state-C0vjPuun.mjs";
2
+ import { u as R, l as J, f as q, P as G } from "./state-C0vjPuun.js";
3
3
  import { useLocaleContext as V } from "@arcblock/ux/lib/Locale/context";
4
4
  import I from "@arcblock/ux/lib/Toast";
5
5
  import { Warning as F, Sync as Q, VisibilityOff as U } from "@mui/icons-material";
@@ -9,7 +9,7 @@ import { produce as oe } from "immer";
9
9
  import N from "lodash/difference";
10
10
  import { useState as D, useMemo as j, useCallback as L, forwardRef as se, useImperativeHandle as le, useEffect as ce } from "react";
11
11
  import { useAsync as ae } from "react-use";
12
- import { p as de, g as ue, L as me } from "./home-DSngH2He.mjs";
12
+ import { p as de, g as ue, L as me } from "./home-cM7dMWyx.js";
13
13
  function ge(r) {
14
14
  const [a, y] = D(!1);
15
15
  return /* @__PURE__ */ e(