@blocklet/pages-kit-inner-components 0.4.157 → 0.4.158

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/pages-kit-inner-components",
3
- "version": "0.4.157",
3
+ "version": "0.4.158",
4
4
  "description": "Pages Kit inner components library",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -69,25 +69,25 @@
69
69
  "url": "git+https://github.com/blocklet/pages-kit.git"
70
70
  },
71
71
  "dependencies": {
72
- "@arcblock/did-auth": "^1.20.4",
72
+ "@arcblock/did-auth": "^1.20.6",
73
73
  "@arcblock/did-auth-storage-nedb": "^1.7.1",
74
- "@arcblock/did-connect": "^2.13.19",
75
- "@arcblock/react-hooks": "^2.13.19",
76
- "@arcblock/ux": "^2.13.19",
74
+ "@arcblock/did-connect": "^2.13.23",
75
+ "@arcblock/react-hooks": "^2.13.23",
76
+ "@arcblock/ux": "^2.13.23",
77
77
  "@blocklet/ai-kit": "^0.1.74",
78
- "@blocklet/ai-runtime": "^0.4.263",
79
- "@blocklet/code-editor": "^0.4.263",
80
- "@blocklet/crawler": "^2.3.9",
78
+ "@blocklet/ai-runtime": "^0.4.264",
79
+ "@blocklet/code-editor": "^0.4.264",
80
+ "@blocklet/crawler": "^2.3.17",
81
81
  "@blocklet/embed": "^0.2.4",
82
82
  "@blocklet/js-sdk": "^1.16.42",
83
83
  "@blocklet/logger": "1.16.36",
84
- "@blocklet/quickjs": "^0.4.263",
84
+ "@blocklet/quickjs": "^0.4.264",
85
85
  "@blocklet/sdk": "^1.16.42",
86
- "@blocklet/studio-ui": "^0.4.263",
86
+ "@blocklet/studio-ui": "^0.4.264",
87
87
  "@blocklet/tracker": "^1.16.42",
88
- "@blocklet/ui-react": "^2.13.19",
89
- "@blocklet/uploader": "^0.1.84",
90
- "@blocklet/uploader-server": "^0.1.96",
88
+ "@blocklet/ui-react": "^2.13.23",
89
+ "@blocklet/uploader": "^0.1.85",
90
+ "@blocklet/uploader-server": "^0.1.97",
91
91
  "@emotion/cache": "^11.13.1",
92
92
  "@emotion/css": "^11.13.0",
93
93
  "@emotion/react": "^11.13.0",
@@ -106,9 +106,9 @@
106
106
  "@mui/styles": "^5.16.14",
107
107
  "@mui/utils": "^5.16.6",
108
108
  "@mui/x-date-pickers": "^7.13.0",
109
- "@ocap/client": "^1.20.4",
110
- "@ocap/mcrypto": "^1.20.4",
111
- "@ocap/wallet": "^1.20.4",
109
+ "@ocap/client": "^1.20.6",
110
+ "@ocap/mcrypto": "^1.20.6",
111
+ "@ocap/wallet": "^1.20.6",
112
112
  "@reactivedata/reactive": "^0.2.2",
113
113
  "@syncedstore/core": "^0.6.0",
114
114
  "@syncedstore/react": "^0.6.0",
@@ -205,8 +205,8 @@
205
205
  "yaml": "^2.5.0",
206
206
  "yjs": "^13.6.18",
207
207
  "zustand": "^4.5.5",
208
- "@blocklet/pages-kit": "^0.4.157",
209
- "@blocklet/pages-kit-block-studio": "^0.4.157"
208
+ "@blocklet/pages-kit": "^0.4.158",
209
+ "@blocklet/pages-kit-block-studio": "^0.4.158"
210
210
  },
211
211
  "devDependencies": {
212
212
  "@trivago/prettier-plugin-sort-imports": "^5.2.1",
@@ -1,38 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),E=require("./state-D4MG-uJB.js"),X=require("@arcblock/ux/lib/Locale/context"),ce=require("@arcblock/ux/lib/Result"),le=require("@blocklet/pages-kit/builtin/page/header"),ue=require("@blocklet/pages-kit/contexts/color"),Y=require("@blocklet/pages-kit/utils/data-source"),de=require("@blocklet/pages-kit/utils/route"),pe=require("@blocklet/ui-react/lib/Header"),J=require("@emotion/css"),N=require("@emotion/react"),ge=require("@emotion/styled"),P=require("@mui/material"),z=require("ahooks"),me=require("isomorphic-dompurify"),fe=require("lodash/cloneDeep"),he=require("lodash/isEmpty"),xe=require("lodash/isEqual"),g=require("react"),je=require("react-helmet"),w=require("react-router-dom"),Z=require("react-use"),M=require("ufo"),I=require("./array-6wh7d5gC.js"),G=require("@arcblock/ux/lib/Theme"),ye=require("@blocklet/ui-react/lib/Footer");require("webfontloader");const be=require("@arcblock/did-connect/lib/Session"),k=t=>t&&t.__esModule?t:{default:t},ee=k(ce),ve=k(pe),te=k(ge),we=k(me),V=k(fe),Pe=k(he),ne=k(xe),Se=k(ye),Re=G.styled(Se.default,{shouldForwardProp:t=>!!t})`
2
- & > div > .MuiContainer-root {
3
- max-width: unset;
4
- }
5
- `;function ke({meta:t,...n}){const r=G.useTheme();return e.jsx(Re,{...n,meta:t,theme:r||{}})}function oe(t){return e.jsx(P.Box,{display:"flex",flex:1,height:"100%",alignItems:"center",justifyContent:"center",...t,children:e.jsx(P.CircularProgress,{size:30})})}function Ce(t){return e.jsx(qe,{...t})}const qe=G.styled(P.Box)`
6
- position: fixed;
7
- left: 0;
8
- top: 0;
9
- z-index: 999999999999;
10
- width: 80px;
11
- font-size: 12px;
12
- text-align: center;
13
- opacity: 0.7;
14
- transform: translateX(-23%) translateY(70%) rotate(-45deg);
15
- pointer-events: none;
16
- `,_e=`Avenir, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
17
- sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'`;function Me({titleFontFamily:t,descriptionFontFamily:n}){var o;const r=P.useTheme(),a=(o=r==null?void 0:r.typography)==null?void 0:o.fontFamily;g.useEffect(()=>{},[t,n]);const s=`${a}, ${_e}`;return e.jsx(N.Global,{styles:N.css`
18
- #app {
19
- font-family: ${s};
20
-
21
- .page-kit-section__title {
22
- font-family: ${s};
23
- }
24
-
25
- .page-kit-section__description {
26
- font-family: ${s};
27
- }
28
- }
29
- `})}const{SessionProvider:Ue,SessionContext:Ee,SessionConsumer:Ae,withSession:Ne}=be.createAuthServiceSessionContext();function W(){return g.useContext(Ee)}function Ie(...t){var r;const{session:n}=W();return t.includes((r=n.user)==null?void 0:r.role)}function Be(...t){var a;const{session:n}=W(),r=Ie(...t);return((a=window.blocklet)==null?void 0:a.tenantMode)==="multiple"?!!n.user:r}function Le(){const[t]=w.useSearchParams(),{session:n}=W(),r=Be("owner","admin","pagesEditor","member"),a=g.useMemo(()=>{const o=t.get("mode");return I.STATE_MODES.includes(o)?o:"production"},[t]),s=a==="production"?a:n.user?r?a:"production":null;return s?e.jsx(se,{mode:s}):null}function se({mode:t}){if(t!=="draft"){const n=window.__PAGE_STATE__;return n?e.jsx(A,{mode:t,state:n}):e.jsx(De,{mode:t,children:({state:r})=>e.jsx(A,{mode:t,state:r})})}return e.jsx(Te,{children:({state:n})=>e.jsx(A,{mode:t,state:n})})}const Te=g.lazy(()=>Promise.resolve().then(()=>require("./draft-data-DPZIakr4.js")));function De({mode:t,children:n}){const r=document.querySelector('meta[property="pages:version"]'),a=r==null?void 0:r.content,s=E.useProjectId(),o=g.useMemo(()=>{if(a==="{{pagesPublishedAt}}"){const l=localStorage.getItem(E.getProjectPageVersionKey(s??""));return Number(l)?Number(l):new Date().getTime()}return Number(a)},[a]),{loading:m,value:c}=Z.useAsync(()=>I.getPages({mode:t,version:o}),[t,o]);return m?e.jsx(oe,{}):c?n({state:c}):null}function A({mode:t,state:n}){const{t:r,locale:a}=X.useLocaleContext(),[s]=w.useSearchParams(),o=s.get("hiddenBadge")==="true",m=s.get("showPublish")==="true",{pageIds:c,pages:l,routeIds:f,routes:p,supportedLocales:u,config:{defaultLocale:j},resources:b}=n,v=E.getAllComponents(n),y=g.useMemo(()=>u!=null&&u.some(d=>d.locale===a)?a:void 0,[a,u]),h=Object.values(l).find(d=>(d==null?void 0:d.slug)==="/")?void 0:Object.values(l)[0],H=g.useMemo(()=>c.map(d=>{const i=l[d];return i&&{id:i.id,path:M.joinURL("/",y||"",i.slug,t!=="production"?`?mode=${t}`:"")}}).filter(I.nonNullable),[c,l,y,t]),C=([...d])=>(t!=="production"&&m&&d.unshift(e.jsx(g.Suspense,{fallback:e.jsx("div",{}),children:e.jsx(Oe,{mode:"production",state:n})})),d);return e.jsxs(I.Provider,{value:{pages:H},children:[e.jsxs(w.Routes,{children:[h&&e.jsx(w.Route,{index:!0,element:e.jsx(w.Navigate,{to:M.joinURL("/",y||"",h.slug)})}),f==null?void 0:f.map(d=>{var B,L,T,S;const i=p==null?void 0:p[d];if(!i||!i.displayTemplateId)return null;const q=l[i.displayTemplateId];if(!q)return null;let _=[];if(i.params&&i.params.length>0){const x=de.generateParamCombinations({basePath:i.path,params:i.params,routeId:i.id,paramsOptions:i.paramsOptions,currentIndex:0,currentParams:[],currentOptionIds:[],result:[]});_=x==null?void 0:x.map(R=>{var D,F,K,Q;const U=R.paramOptionIds.join("-");return e.jsx(w.Route,{path:M.joinURL(":projectIdOrSlug?",R.path),element:e.jsx($,{mode:t,components:v,page:q,locale:y,defaultLocale:j,headerAddons:C,state:n,pageData:(Q=(K=(F=(D=i.dataSource)==null?void 0:D.pathDataMappings)==null?void 0:F[U])==null?void 0:K.dataCache)==null?void 0:Q[y||j||"en"]})},U)})}return _.push(e.jsx(w.Route,{path:M.joinURL(":projectIdOrSlug?",i.path),element:e.jsx($,{mode:t,components:v,page:q,locale:y,defaultLocale:j,headerAddons:C,state:n,pageData:(S=(T=(L=(B=i.dataSource)==null?void 0:B.pathDataMappings)==null?void 0:L[i.id])==null?void 0:T.dataCache)==null?void 0:S[y||j||"en"]})},i.id)),_}),c.map(d=>{const i=l[d];return i?e.jsx(w.Route,{path:M.joinURL(":projectIdOrSlug?",i.slug),element:e.jsx(O,{mode:t,components:v,page:i,locale:y,defaultLocale:j,headerAddons:C})},i.id):null}),b.pages&&Object.values(b.pages).map(({blockletId:d,page:i})=>e.jsx(w.Route,{path:M.joinURL("/",`@${d}`,i.slug),element:e.jsx(O,{mode:t,components:v,page:i,locale:y,defaultLocale:j,headerAddons:C})},i.id)),e.jsx(w.Route,{path:"*",element:e.jsx(P.Box,{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center",children:e.jsx(ee.default,{status:404,extra:e.jsx(ie,{href:"/",children:r("common.back")})})})})]}),t!=="production"&&!o&&e.jsx(Ce,{sx:{bgcolor:"info.light"},children:t}),e.jsx(Me,{})]})}function $({mode:t,pageData:n,components:r,page:a,locale:s,defaultLocale:o,headerAddons:m,state:c}){const l=z.useReactive({page:null});g.useEffect(()=>{const p=a||null;p?l.page=V.default(p):l.page=null},[a,l]);const f=g.useRef();return g.useEffect(()=>{ne.default(n,f.current)||n&&l.page&&(Y.setPageDataSource(l.page,c,s,n),f.current=V.default(n))},[l.page,n,s,c]),l.page?e.jsx(O,{mode:t,components:r,page:l.page,locale:s,defaultLocale:o,headerAddons:m}):null}function Fe({mode:t,state:n,path:r,pageData:a}){const{t:s,locale:o}=X.useLocaleContext(),{pages:m,supportedLocales:c,config:{defaultLocale:l},resources:f}=n,p=Object.values(m).find(h=>(h==null?void 0:h.slug)===r),u=Object.values(f.pages||{}).find(h=>h.page.slug===r),j=g.useMemo(()=>c!=null&&c.some(h=>h.locale===o)?o:void 0,[o,c]),b=z.useReactive({page:null});g.useEffect(()=>{const h=p||(u==null?void 0:u.page)||null;h?b.page=V.default(h):b.page=null},[p,u]);const v=g.useRef();if(g.useEffect(()=>{ne.default(a,v.current)||a&&b.page&&(Y.setPageDataSource(b.page,n,j,a),v.current=V.default(a))},[{}]),!p&&!(u!=null&&u.page))return e.jsx(P.Box,{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center",children:e.jsx(ee.default,{style:{background:"inherit"},status:404,extra:e.jsx(ie,{href:"/",children:s("common.back")})})});const y=E.getAllComponents(n);return b.page?e.jsx(O,{mode:t,components:y,page:b.page,locale:j,defaultLocale:l}):null}function O({mode:t,components:n,page:r,locale:a,defaultLocale:s,headerAddons:o}){var H,C,d,i,q,_,B,L,T;const m=ue.useColorConvert(),c=((H=r.locales)==null?void 0:H[a])??((C=r.locales)==null?void 0:C[s])??{},l=c.title||((d=window.blocklet)==null?void 0:d.appName),f=c.description||((i=window.blocklet)==null?void 0:i.appDescription),p=E.autoResizeImage(E.getImageAbsoluteUrl(c.image),540),{logo:u,brand:j,description:b,...v}=le.useHeaderState(),y=g.useMemo(()=>S=>{var R;let x=(o==null?void 0:o(S))??S;return x=((R=v.addons)==null?void 0:R.call(v,x))??x,x},[v.addons,o]),h=(q=c.header)!=null&&q.translucent?ae:re;return e.jsxs(I.PageProvider,{page:r,defaultLocale:s,currentLocale:a,children:[e.jsx(N.Global,{styles:N.css`
30
- body {
31
- background-color: ${m(!c.backgroundColor||c.backgroundColor==="transparent"?"background.default":c.backgroundColor)} !important;
32
- }
33
- `}),e.jsx(h,{hideNavMenu:!!((_=c.header)!=null&&_.hideNavMenus),translucentTextColor:(B=c.header)==null?void 0:B.translucentTextColor,...u?{logo:u}:{},...j?{brand:j}:{},...b?{description:b}:{},className:J.cx(((L=c.header)==null?void 0:L.sticky)&&"sticky","page-header"),maxWidth:!1,addons:y}),e.jsx(w.ScrollRestoration,{}),e.jsxs(je.Helmet,{children:[e.jsx("title",{children:l}),e.jsx("meta",{name:"og:title",content:l}),e.jsx("meta",{name:"og:description",content:f}),e.jsx("meta",{name:"og:image",content:p}),e.jsx("meta",{name:"twitter:image:src",content:p}),e.jsx("meta",{name:"twitter:image",content:p}),e.jsx("meta",{property:"twitter:description",content:f}),e.jsx("meta",{property:"twitter:title",content:l}),e.jsx("meta",{name:"description",content:f})]}),e.jsx(P.Stack,{flexGrow:1,className:"PageView-root",sx:{"& .BlockBase-root:first-child":{pt:"0 !important"}},children:r.sectionIds.map(S=>{var D,F;const x=r.sections[S];if(!x||x.visibility==="hidden")return null;const R=(D=x.locales)==null?void 0:D[a],U=((F=x.locales)==null?void 0:F[s])??{};return e.jsx(I.BlockRenderer,{id:S,type:x.component,mode:t,section:x,config:{...Pe.default(R)?U:R,locale:a,dev:t==="draft"?{mode:t,components:n,defaultLocale:s}:{mode:t}}},S)})}),!((T=c.footer)!=null&&T.hidden)&&e.jsx(ke,{})]})}const Oe=g.lazy(()=>Promise.resolve().then(()=>require("./publish-button-Cr534T09.js"))),re=te.default(ve.default)`
34
- &.sticky {
35
- position: sticky;
36
- top: 0;
37
- }
38
- `;function He({logo:t}){const[n,r]=g.useState(),a=P.useMediaQuery(o=>o.breakpoints.down("sm")),{value:s}=Z.useAsync(()=>{var c,l;const o=new URL(a?((c=window==null?void 0:window.blocklet)==null?void 0:c.appLogo)||"/.well-known/service/blocklet/logo":((l=window==null?void 0:window.blocklet)==null?void 0:l.appLogoRect)||"/.well-known/service/blocklet/logo-rect",window.location.origin);o.searchParams.delete("imageFilter"),o.searchParams.delete("f");const m=o.toString();return new Promise(f=>{fetch(m).then(p=>{const u=p.headers.get("content-type");u!=null&&u.includes("svg")&&p.text().then(j=>{r(j),f(null)}),f(p.url)})})},[a]);if(t)return t;if(n)return e.jsx(P.Box,{sx:{filter:"initial !important"},dangerouslySetInnerHTML:{__html:we.default.sanitize(n)}});if(s){const o=new URL(s);o.searchParams.set("imageFilter","convert"),o.searchParams.set("f","png"),o.searchParams.set("h","80");const m=o.toString();return e.jsx("img",{src:m,alt:"logo"})}return null}function ae({logo:t,translucentTextColor:n,...r}){const{top:a=0}=z.useScroll(()=>document.getElementById("app"))||{};let s=Math.min(a/800,1),o="";if(s>.1){s=Math.max(s,.6);const m=Math.round(255*Math.min(1-s,.2));o=`rgb(${m}, ${m}, ${m})`}else o=n||"#EEEEEE";return e.jsx(re,{logo:e.jsx(He,{logo:t}),...r,className:J.cx(s<=.7&&"reverse-color"),style:{backgroundColor:`rgba(255,255,255,${s})`,"--logo-invert":s<=.7?1-s/6:1-s},sx:{backdropFilter:s>=.6?"blur(10px)":"blur(0px)",transition:"all 0.3s ease",position:"fixed !important",left:0,top:0,right:0,bgcolor:"transparent","&.reverse-color":{".navmenu-root>.navmenu-sub>span,\n .navmenu-root>.navmenu-item,\n .header-addons>button,\n .header-addons>a,\n .header-addons>div>button":{color:`${o} !important`}},"& .navmenu--horizontal":{bgcolor:"transparent !important"},".header-logo > div":{filter:"invert(var(--logo-invert))"},".header-logo":{color:o}}})}const ie=te.default(P.Button)``;exports.Home=Le;exports.HomeView=se;exports.Loading=oe;exports.PageRoutes=A;exports.PageView=O;exports.PageViewByPath=Fe;exports.PageViewWithDataSource=$;exports.TranslucentHeader=ae;
@@ -1 +0,0 @@
1
- "use strict";const _=require("react/jsx-runtime"),T=require("@mui/material"),b=require("ufo"),Z=require("@blocklet/js-sdk"),H=require("lodash/isEmpty"),ee=require("yaml"),te=require("@arcblock/ux/lib/Locale/context"),N=require("@syncedstore/core"),ne=require("@syncedstore/react"),oe=require("ahooks"),C=require("immer"),re=require("js-cookie"),se=require("lodash/debounce"),ce=require("nanoid"),d=require("react"),V=require("react-router-dom"),ie=require("y-indexeddb"),ae=require("y-websocket"),de=require("yjs");require("@blocklet/pages-kit/types");const E=t=>t&&t.__esModule?t:{default:t};function ue(t){if(t&&t.__esModule)return t;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const S=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,S.get?S:{enumerable:!0,get:()=>t[i]})}}return n.default=t,Object.freeze(n)}const le=E(H),fe=ue(ee),me=E(N),Se=E(re),W=E(se),we=t=>{const n=blocklet==null?void 0:blocklet.componentMountPoints.find(i=>i.name===t);return n?n.mountPoint:"/"};function z(){const{pathname:t}=window.location,n=t.match(/\/admin\/(maker|previewer)\/([^/]+)/),i=n==null?void 0:n[2],S=window.__PROJECT_ID__;if(!i&&!S)throw new Error("Unable to get projectId from pathname");return i||S}function pe(t){return`${t}:pages:version`}function Pe(t,n){return n==="yaml"?le.default(t)?"":fe.stringify(t,{indent:2}):n==="json"?JSON.parse(JSON.stringify(t||{})):n==="array"?JSON.parse(JSON.stringify(t||[])):t}function Ie({error:t}){return _.jsx(T.Box,{children:_.jsx(T.Alert,{severity:"error",children:t.message})})}var G;const k=((G=window.blocklet)==null?void 0:G.prefix)||"/",L=Z.createAxios({timeout:200*1e3}),ge=window.location.protocol==="https:"?"wss":"ws",je=t=>b.joinURL(`${ge}://${window.location.hostname}`,k,`api/${t}/ws/pages`),ye="z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9";var F;(F=blocklet==null?void 0:blocklet.componentMountPoints.find(t=>t.did===ye))!=null&&F.mountPoint||b.joinURL(k,"/image-bin");function Ce(t){return t&&!/^(https?:\/\/|\/)/.test(t)?window.location.origin+b.joinURL(k,"uploads",t):t}const be=window.innerWidth<=750;function he(t,n,i){if(!t||/\.gif/.test(t))return t;const S=(be?n/1.5:n)*(i==="quality"?1.5:1);return ve(t,{imageFilter:"resize",w:S,f:"webp"})}function ve(t,n){return!t||!n?t:b.withQuery(t,n)}async function xe(t){return L.get(`/api/projects/${t}`).then(n=>n.data)}async function Oe(t){return L.post(`/api/projects/${t.id}/update`,t).then(n=>n.data)}const Ee=500,x=ce.customAlphabet("abcdefghijklmnopqrstuvwxyz0123456789",16),J=d.createContext(null);function _e({url:t,name:n,children:i,waitingSynced:S}){const[g,P]=d.useState(!1),{locale:j}=te.useLocaleContext(),w=R(),e=`${w}:MakerLocalState`,o=`${w}:${n}`,[s,r]=oe.useLocalStorageState(e,{defaultValue:{},listenStorageChange:!0}),c=d.useRef(s);c.current=s;const a=d.useMemo(()=>me.default({dataSourceIds:[],dataSources:{},pages:{},pageIds:[],routes:{},routeIds:[],components:{},supportedLocales:[],config:{},resources:{}}),[]),u=d.useMemo(()=>N.getYjsDoc(a),[a]);d.useMemo(()=>new ie.IndexeddbPersistence(o,u),[o,u]);const p=d.useMemo(()=>new ae.WebsocketProvider(t,o,u,{params:{token:Se.default.get("login_token")},resyncInterval:5*60*1e3}),[t,o,u]),h=d.useCallback(()=>{p&&(p.disconnect(),p.connect())},[p]),y=d.useMemo(()=>new de.UndoManager([u.getArray("pageIds"),u.getMap("pages"),u.getArray("supportedLocales"),u.getMap("config")],{doc:u}),[u]),[v,O]=d.useState(null),[A,M]=d.useState(!1),[q,D]=d.useState(void 0),U=d.useCallback(async()=>{if(w){M(!0);try{const l=await xe(w);O(l)}catch(l){console.error("Failed to fetch project:",l)}finally{M(!1)}}},[w]),$=d.useCallback(async(l,f)=>{var I;if(D(void 0),!!w){f!=null&&f.optimisticUpdate&&v&&O(m=>({...m,...l}));try{const m=await Oe({...l});O(m)}catch(m){console.error("Failed to update project:",m),f!=null&&f.optimisticUpdate&&O(v),D((I=m==null?void 0:m.response)==null?void 0:I.data)}}},[w,v]);d.useEffect(()=>{w&&U()},[w,U]);const Y=d.useMemo(()=>({doc:u,state:a,localState:{...s,currentLocale:j},setLocalState:l=>r(typeof l=="function"?f=>l(f??{}):l),undoManager:y,projectState:{project:v,isLoadingProject:A,error:q},updateProject:$,forceSync:h}),[u,a,JSON.stringify(s),r,y,v,A,$,q,j,h]);return d.useEffect(()=>{y.on("stack-item-added",({stackItem:l})=>{const{currentPageId:f,currentLocale:I,pages:m}=c.current;l.meta.set("localState",{currentPageId:f,currentLocale:I,pages:m})}),y.on("stack-item-popped",({stackItem:l})=>{const f=l.meta.get("localState");f&&r(I=>({...I,...f}))})},[y,r]),d.useEffect(()=>{p.awareness.setLocalState(s)},[p,s]),d.useEffect(()=>{p.once("synced",()=>P(!0));const l=()=>{r(m=>({...m,networkStatus:void 0}))},f=()=>{r(m=>({...m,networkStatus:"offline"}))},I=W.default(({status:m})=>{m==="connected"?l():m==="disconnected"&&f()},Ee);return p.on("status",I),window.addEventListener("online",l),window.addEventListener("offline",f),()=>{p.off("status",I),window.removeEventListener("online",l),window.removeEventListener("offline",f)}},[p,r]),S&&!g?null:_.jsx(J.Provider,{value:Y,children:i})}const B=()=>{const t=d.useContext(J);if(!t)throw new Error("Context is null");const n=ne.useSyncedStore(t.state),{setLocalState:i,localState:S}=t,g=V.useNavigate(),P=R(),j=d.useMemo(()=>({setCurrentSectionId:(e,o)=>{var s,r;e===S.currentPageId&&o===((r=(s=S.pages)==null?void 0:s[e])==null?void 0:r.currentSectionId)||(g(b.joinURL("/admin/maker",P??"","pages",e)),i(c=>C.produce(c,a=>{var u;a.currentPageId=e,a.currentComponentId=void 0,a.customComponentPreviewerProperties={},o!==void 0&&(a.pages??(a.pages={}),(u=a.pages)[e]??(u[e]={}),a.pages[e].currentSectionId=o??void 0),o?window.sessionStorage.setItem("iframe_show_id",`"${o}"`):window.sessionStorage.removeItem("iframe_show_id")})))},setCurrentComponentId:e=>{e!==S.currentComponentId&&(g(b.joinURL("/admin/maker",P??"","components",e)),i(o=>C.produce(o,s=>{s.currentComponentId=e,s.customComponentPreviewerProperties={}})))},setCurrentRouteId:({routeId:e,dynamicParams:o})=>{i(s=>C.produce(s,r=>{r.currentRouteId=e,r.currentDynamicParams=o}))},setCustomComponentPreviewerProperties:(()=>{const e={},o=W.default(()=>{i(s=>C.produce(s,r=>{r.customComponentPreviewerProperties={...r==null?void 0:r.customComponentPreviewerProperties,...e},Object.keys(e).forEach(c=>delete e[c])}))},5);return s=>{Object.assign(e,s),o()}})(),setRouteGenerateProcess:e=>{i(o=>C.produce(o,s=>{e?s.routeGenerateProcess={...s.routeGenerateProcess,...e}:s.routeGenerateProcess={}}))},resetRouteGenerateProcess:()=>{i(e=>C.produce(e,o=>{o.routeGenerateProcess={progress:"complete"}}))}}),[i,g,P]),w=d.useMemo(()=>({addPage:(e,o)=>{var c,a,u,p,h,y;const s=(e==null?void 0:e.id)??x(),r={...e,id:s,createdAt:(e==null?void 0:e.createdAt)??new Date().toISOString(),updatedAt:(e==null?void 0:e.updatedAt)??new Date().toISOString(),publishedAt:new Date(0).toISOString(),slug:(e==null?void 0:e.slug)??`/${s}`,sections:(e==null?void 0:e.sections)??{},sectionIds:(e==null?void 0:e.sectionIds)??[],isPublic:(e==null?void 0:e.isPublic)??!0,templateConfig:(e==null?void 0:e.templateConfig)??{isTemplate:((c=e==null?void 0:e.templateConfig)==null?void 0:c.isTemplate)??!0,displayTemplateId:((a=e==null?void 0:e.templateConfig)==null?void 0:a.displayTemplateId)??void 0,dataSourceIds:((u=e==null?void 0:e.templateConfig)==null?void 0:u.dataSourceIds)??void 0,dataSourceParameters:((p=e==null?void 0:e.templateConfig)==null?void 0:p.dataSourceParameters)??{},enabledGenerate:((h=e==null?void 0:e.templateConfig)==null?void 0:h.enabledGenerate)??!1,agentId:((y=e==null?void 0:e.templateConfig)==null?void 0:y.agentId)??void 0}};return t.doc.transact(()=>{n.pages[r.id]=r,n.pageIds.splice(o??n.pageIds.length,0,r.id)}),r},addRoute:(e,o)=>{const s=(e==null?void 0:e.id)??x(),r={...e,id:s,createdAt:(e==null?void 0:e.createdAt)??new Date().toISOString(),updatedAt:(e==null?void 0:e.updatedAt)??new Date().toISOString(),publishedAt:new Date(0).toISOString(),path:(e==null?void 0:e.path)??`/${s}`,handler:(e==null?void 0:e.handler)??"Pages Kit",isPublic:(e==null?void 0:e.isPublic)??!0,params:(e==null?void 0:e.params)??[],enabledGenerate:(e==null?void 0:e.enabledGenerate)??!1,displayTemplateId:(e==null?void 0:e.displayTemplateId)??void 0,dataSource:(e==null?void 0:e.dataSource)??{}};return t.doc.transact(()=>{n.routes??(n.routes={}),n.routeIds??(n.routeIds=[]),n.routes[r.id]=r,n.routeIds.splice(o??n.routeIds.length,0,r.id)}),r},deleteRoute:e=>{var s;if(!e)return;const o=(s=n.routeIds)==null?void 0:s.indexOf(e);o!==void 0&&o!==-1&&t.doc.transact(()=>{var r,c;(r=n.routeIds)==null||r.splice(o,1),(c=n.routes)==null||delete c[e]})},deletePage:e=>{const o=n.pageIds.indexOf(e);o!==-1&&t.doc.transact(()=>{n.pageIds.splice(o,1),delete n.pages[e]})},movePage:(e,o)=>{const{pageIds:s}=n,r=s.indexOf(e);r>=0&&s.splice(o,0,...s.splice(r,1))},addSection:(e,o,s)=>{const r=n.pages[e];if(!r)throw new Error(`Page ${e} is not exists`);const c={...o,id:o.id??x(),isTemplateSection:o.isTemplateSection??!0,llmConfig:o.llmConfig??{}};return t.doc.transact(()=>{r.sections[c.id]=c,r.sectionIds.splice(s??r.sectionIds.length,0,c.id)}),c},deleteSection:(e,o)=>{const s=n.pages[e];if(!s)throw new Error(`Page ${e} is not exists`);const r=s.sectionIds.indexOf(o);r!==-1&&t.doc.transact(()=>{s.sectionIds.splice(r,1),delete s.sections[o]})},toggleSectionVisibility:(e,o,s)=>{const r=n.pages[e];if(!r)throw new Error(`Page ${e} is not exists`);const c=r.sections[o];c&&(c.visibility=s)},moveSection:(e,o,s)=>{const r=n.pages[e];if(!r)throw new Error(`Page ${e} is not exists`);const{sectionIds:c}=r,a=c.indexOf(o);a>=0&&c.splice(s,0,...c.splice(a,1))},addDataSource:e=>{const o=e.id??x(),s={...e??{},id:o,createdAt:new Date().toISOString()};return t.doc.transact(()=>{n.dataSourceIds??(n.dataSourceIds=[]),n.dataSources??(n.dataSources={}),n.dataSourceIds.push(o),n.dataSources[o]=s}),n.dataSources[o]},deleteDataSource:e=>{const o=n.dataSourceIds.indexOf(e);o!==-1&&t.doc.transact(()=>{n.dataSourceIds.splice(o,1),delete n.dataSources[e]})}}),[n,t.doc]);return{...t,state:n,actions:w,localActions:j,get currentPage(){const{localState:{currentPageId:e}}=t;return e?n.pages[e]:void 0},get currentSection(){var r,c,a;const{localState:{currentPageId:e,...o}}=t;if(!e)return;const s=(c=(r=o.pages)==null?void 0:r[e])==null?void 0:c.currentSectionId;if(s)return(a=n.pages[e])==null?void 0:a.sections[s]},get currentRoute(){var o;const{localState:{currentRouteId:e}}=t;return e?(o=n.routes)==null?void 0:o[e]:void 0}}},R=()=>{const{projectId:t}=V.useParams();return t??z()??""};function K(t){var S,g;const{resources:n}=t;if(!n.components)return{};const i={};return(g=(S=window==null?void 0:window.blocklet)==null?void 0:S.componentMountPoints)==null||g.forEach(P=>{i[P.did]=P}),Object.fromEntries(Object.entries(n.components).map(([P,{blockletId:j,component:w}])=>{var e;return[P,{data:w,blockletId:j,blockletTitle:((e=i[j])==null?void 0:e.title)||j}]}))}function Q(t){const{components:n}=t;return n||{}}function X(t){return{...K(t),...Q(t)}}const ke=()=>X(B().state);exports.ErrorView=Ie;exports.StoreProvider=_e;exports.api=L;exports.autoResizeImage=he;exports.getAllComponents=X;exports.getCustomComponents=Q;exports.getImageAbsoluteUrl=Ce;exports.getMountPoint=we;exports.getProjectIdFromPathnameOrWindow=z;exports.getProjectPageVersionKey=pe;exports.getResourceComponents=K;exports.getWssURL=je;exports.nextId=x;exports.transformValue=Pe;exports.useAllComponents=ke;exports.useProjectId=R;exports.useStore=B;