@blocklet/pages-kit-inner-components 0.6.31 → 0.6.32
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/lib/cjs/add-component.js +1 -1
- package/lib/cjs/chunks/{draft-data-BM4piqW0.js → draft-data-CBA2Fr-1.js} +1 -1
- package/lib/cjs/chunks/{home-DHalB2t8.js → home-2n7dbQz5.js} +3 -3
- package/lib/cjs/chunks/{index-D5dbumB6.js → index-CaivrAu8.js} +1 -1
- package/lib/cjs/chunks/{publish-button-B1tpen-s.js → publish-button-CRQmmzK4.js} +1 -1
- package/lib/cjs/chunks/state-B5PBvcI6.js +1 -0
- package/lib/cjs/home.js +1 -1
- package/lib/cjs/setting.js +1 -1
- package/lib/es/add-component.js +2 -2
- package/lib/es/chunks/{draft-data-CpCuyq4R.js → draft-data-mNAXJMtq.js} +1 -1
- package/lib/es/chunks/{home-geXez-Pe.js → home-DK0hbr0h.js} +4 -4
- package/lib/es/chunks/{index-BB4iH1hV.js → index-DOEiNkBX.js} +1 -1
- package/lib/es/chunks/{publish-button-BtQimyJM.js → publish-button-C6Ixf5NB.js} +3 -3
- package/lib/es/chunks/{state-DSo43FAB.js → state-DRjnlQY_.js} +148 -145
- package/lib/es/home.js +3 -3
- package/lib/es/setting.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/chunks/state-tEydRMV8.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const X=require("react/jsx-runtime"),x=require("ufo"),Y=require("@blocklet/js-sdk"),Z=require("lodash/isEmpty"),H=require("yaml"),ee=require("@arcblock/ux/lib/Locale/context"),k=require("@blocklet/pages-kit/utils/common"),te=require("@blocklet/pages-kit/utils/page-model");require("@mui/material");const J=require("@syncedstore/core"),oe=require("@syncedstore/react"),ne=require("ahooks"),M=require("immer"),re=require("lodash/cloneDeep"),se=require("lodash/debounce"),f=require("react"),T=require("react-router-dom"),ce=require("y-indexeddb"),ie=require("y-websocket"),ae=require("yjs");require("@blocklet/pages-kit/types");const N=o=>o&&o.__esModule?o:{default:o};function de(o){if(o&&o.__esModule)return o;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const u in o)if(u!=="default"){const l=Object.getOwnPropertyDescriptor(o,u);Object.defineProperty(n,u,l.get?l:{enumerable:!0,get:()=>o[u]})}}return n.default=o,Object.freeze(n)}const ue=N(Z),le=de(H),fe=N(J),$=N(re),U=N(se);function G(){const{pathname:o}=window.location,u=o.match(/\/admin\/(maker|previewer)\/([^/]+)/)?.[2],l=window.__PROJECT_ID__;if(!u&&!l)throw new Error("Unable to get projectId from pathname");return u||l}function ge(o){return`${o}:pages:version`}function pe(o,n){return n==="yaml"?ue.default(o)?"":le.stringify(o,{indent:2}):n==="json"?JSON.parse(JSON.stringify(o||{})):n==="array"?JSON.parse(JSON.stringify(o||[])):o}const A=window.blocklet?.prefix||"/",D=Y.createAxios({timeout:200*1e3}),me=window.location.protocol==="https:"?"wss":"ws",Se=o=>x.joinURL(`${me}://${window.location.hostname}`,A,`api/${o}/ws/pages`),Pe="z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9";blocklet?.componentMountPoints.find(o=>o.did===Pe)?.mountPoint||x.joinURL(A,"/image-bin");function Ie(o){return o&&!/^(https?:\/\/|\/)/.test(o)?window.location.origin+x.joinURL(A,"uploads",o):o}const we=window.innerWidth<=750;function ye(o,n,u){if(!o||/\.gif/.test(o))return o;const l=(we?n/1.5:n)*(u==="quality"?1.5:1);return he(o,{imageFilter:"resize",w:l,f:"webp"})}function he(o,n){return!o||!n?o:x.withQuery(o,n)}async function Ce(o){return D.get(`/api/projects/${o}`).then(n=>n.data)}async function be(o){return D.post(`/api/projects/${o.id}/update`,o).then(n=>n.data)}const je=500,B=f.createContext(null);function ve({url:o,name:n,children:u,waitingSynced:l}){const[y,m]=f.useState(!1),{locale:g}=ee.useLocaleContext(),S=q(),b=`${S}:MakerLocalState`,e=`${S}:${n}`,[t,s]=ne.useLocalStorageState(b,{defaultValue:{},listenStorageChange:!0}),r=f.useRef(t);r.current=t;const i=f.useMemo(()=>fe.default({dataSourceIds:[],dataSources:{},pages:{},pageIds:[],routes:{},routeIds:[],components:{},supportedLocales:[],config:{},resources:{}}),[]),c=f.useMemo(()=>J.getYjsDoc(i),[i]);f.useMemo(()=>new ce.IndexeddbPersistence(e,c),[e,c]);const a=f.useMemo(()=>new ie.WebsocketProvider(o,e,c,{params:{},resyncInterval:5*60*1e3}),[o,e,c]),d=f.useCallback(()=>{a&&(a.disconnect(),a.connect())},[a]),P=f.useMemo(()=>new ae.UndoManager([c.getArray("pageIds"),c.getMap("pages"),c.getArray("supportedLocales"),c.getMap("config"),c.getMap("dataSources"),c.getArray("dataSourceIds"),c.getArray("routeIds"),c.getMap("routes")],{doc:c}),[c]),[C,j]=f.useState(null),[L,R]=f.useState(!1),[v,E]=f.useState(void 0),O=f.useCallback(async()=>{if(S){R(!0);try{const p=await Ce(S);j(p)}catch(p){console.error("Failed to fetch project:",p)}finally{R(!1)}}},[S]),_=f.useCallback(async(p,I)=>{if(E(void 0),!!S){I?.optimisticUpdate&&C&&j(w=>({...w,...p}));try{const w=await be({...p});j(w)}catch(w){console.error("Failed to update project:",w),I?.optimisticUpdate&&j(C),E(w?.response?.data)}}},[S,C]);f.useEffect(()=>{S&&O()},[S,O]);const Q=f.useMemo(()=>({doc:c,state:i,localState:{...t,currentLocale:g},setLocalState:p=>s(typeof p=="function"?I=>p(I??{}):p),undoManager:P,projectState:{project:C,isLoadingProject:L,error:v},updateProject:_,forceSync:d}),[c,i,JSON.stringify(t),s,P,C,L,_,v,g,d]);return f.useEffect(()=>{P.on("stack-item-added",({stackItem:p})=>{const{currentPageId:I,currentLocale:w,pages:h}=r.current;p.meta.set("localState",{currentPageId:I,currentLocale:w,pages:h})}),P.on("stack-item-popped",({stackItem:p})=>{const I=p.meta.get("localState");I&&s(w=>({...w,...I}))})},[P,s]),f.useEffect(()=>{a.awareness.setLocalState(t)},[a,t]),f.useEffect(()=>{a.once("synced",()=>m(!0));const p=()=>{s(h=>({...h,networkStatus:void 0}))},I=()=>{s(h=>({...h,networkStatus:"offline"}))},w=U.default(({status:h})=>{h==="connected"?p():h==="disconnected"&&I()},je);return a.on("status",w),window.addEventListener("online",p),window.addEventListener("offline",I),()=>{a.off("status",w),window.removeEventListener("online",p),window.removeEventListener("offline",I)}},[a,s]),l&&!y?null:X.jsx(B.Provider,{value:Q,children:u})}const F=()=>{const o=f.useContext(B);if(!o)throw new Error("Context is null");const n=oe.useSyncedStore(o.state),{setLocalState:u,localState:l}=o,y=T.useNavigate(),m=q(),g=f.useMemo(()=>({get currentPage(){const{localState:{currentPageId:e}}=o;return e?n.pages[e]:void 0},get currentSection(){const{localState:{currentPageId:e,...t}}=o;if(!e)return;const s=t.pages?.[e]?.currentSectionId;if(s)return n.pages[e]?.sections[s]??this.currentPageModel?.getComponentById(s)?.model},get currentSectionProperties(){const{localState:{currentPageId:e,...t}}=o;if(!e)return;const s=t.pages?.[e]?.currentSectionId;if(!s)return;const r=n.pages[e]?.dataSource?.[s];if(!r)return;const{currentLocale:i}=this.currentLocaleMap;return i?r[i]:void 0},get currentSectionPropertiesWithFallback(){const{localState:{currentPageId:e,...t}}=o;if(!e)return;const s=t.pages?.[e]?.currentSectionId;if(!s)return;const r=n.pages[e]?.dataSource?.[s];if(!r)return;const{currentLocale:i,defaultLocale:c,fallbackLocale:a}=this.currentLocaleMap;if(i&&r[i])return r[i];if(c&&r[c])return r[c];if(a&&r[a])return r[a]},get currentLocaleMap(){const{localState:{currentLocale:e},state:{supportedLocales:t,config:{defaultLocale:s}}}=o;return{currentLocale:e,defaultLocale:s,fallbackLocale:t?.[0]?.locale??"en"}},get currentRoute(){const{localState:{currentRouteId:e}}=o;return e?n.routes?.[e]:void 0},get currentPageModel(){const e=this.currentPage??null;if(e)return te.getPageTemplateModel(e,!1)}}),[JSON.stringify(l),n]),S=f.useMemo(()=>({setCurrentSectionId:(e,t)=>{e===l.currentPageId&&t===l.pages?.[e]?.currentSectionId||(y(x.joinURL("/admin/maker",m??"","pages",e)),u(s=>M.produce(s,r=>{r.currentPageId=e,r.currentComponentId=void 0,t!==void 0&&(r.pages??={},r.pages[e]??={},r.pages[e].currentSectionId=t??void 0),t?window.sessionStorage.setItem("iframe_show_id",`"${t}"`):window.sessionStorage.removeItem("iframe_show_id")})))},setCurrentComponentId:e=>{e!==l.currentComponentId&&(y(x.joinURL("/admin/maker",m??"","components",e)),u(t=>M.produce(t,s=>{s.currentComponentId=e})))},setCurrentRouteId:({routeId:e,dynamicParams:t})=>{u(s=>M.produce(s,r=>{r.currentRouteId=e,r.currentDynamicParams=t}))},setCustomComponentPreviewerProperties:(()=>{const e={};let t="";const s=U.default(()=>{u(r=>M.produce(r,i=>{i.customComponentPreviewerProperties??={},i.customComponentPreviewerProperties[t]={...i.customComponentPreviewerProperties[t],...$.default(e[t])},delete e[t]}))},5);return(r,i)=>{const c=e[r]??{};Object.assign(c,i),e[r]=c,t=r,s()}})(),setRouteGenerateProcess:e=>{u(t=>M.produce(t,s=>{e?s.routeGenerateProcess={...s.routeGenerateProcess,...e}:s.routeGenerateProcess={}}))},resetRouteGenerateProcess:()=>{u(e=>M.produce(e,t=>{t.routeGenerateProcess={progress:"complete"}}))}}),[u,y,m,g]),b=f.useMemo(()=>({addPage:(e,t)=>{const s=e?.id??k.nextId(),r={...e,id:s,createdAt:e?.createdAt??new Date().toISOString(),updatedAt:e?.updatedAt??new Date().toISOString(),publishedAt:new Date(0).toISOString(),slug:e?.slug??`/${s}`,sections:e?.sections??{},sectionIds:e?.sectionIds??[],isPublic:e?.isPublic??!0,templateConfig:e?.templateConfig??{isTemplate:e?.templateConfig?.isTemplate??!0,displayTemplateId:e?.templateConfig?.displayTemplateId??void 0,dataSourceIds:e?.templateConfig?.dataSourceIds??void 0,dataSourceParameters:e?.templateConfig?.dataSourceParameters??{},enabledGenerate:e?.templateConfig?.enabledGenerate??!1,agentId:e?.templateConfig?.agentId??void 0}};return o.doc.transact(()=>{n.pages[r.id]=r,n.pageIds.splice(t??n.pageIds.length,0,r.id)}),r},addRoute:(e,t)=>{const s=e?.id??k.nextId(),r={...e,id:s,createdAt:e?.createdAt??new Date().toISOString(),updatedAt:e?.updatedAt??new Date().toISOString(),publishedAt:new Date(0).toISOString(),path:e?.path??`/${s}`,handler:e?.handler??"Pages Kit",isPublic:e?.isPublic??!0,params:e?.params??[],enabledGenerate:e?.enabledGenerate??!1,displayTemplateId:e?.displayTemplateId??void 0,dataSource:e?.dataSource??{}};return o.doc.transact(()=>{n.routes??={},n.routeIds??=[],n.routes[r.id]=r,n.routeIds.splice(t??n.routeIds.length,0,r.id)}),r},deleteRoute:e=>{if(!e)return;const t=n.routeIds?.indexOf(e);t!==void 0&&t!==-1&&o.doc.transact(()=>{n.routeIds?.splice(t,1),delete n.routes?.[e]})},deletePage:e=>{const t=n.pageIds.indexOf(e);t!==-1&&o.doc.transact(()=>{n.pageIds.splice(t,1),delete n.pages[e]})},movePage:(e,t)=>{const{pageIds:s}=n,r=s.indexOf(e);r>=0&&s.splice(t,0,...s.splice(r,1))},addSection:(e,t,s,r)=>{const i=n.pages[e];if(!i)throw new Error(`Page ${e} is not exists`);const c={...t,id:t.id??k.nextId(),isTemplateSection:t.isTemplateSection??!0,llmConfig:t.llmConfig??{}},a=$.default(c.locales);return delete c.locales,o.doc.transact(()=>{if(r&&r.component==="layout-block"){const d=g.currentPageModel?.getComponentById(r.id);d&&(d.model.sections??={},d.model.sections[c.id]=c,d.model.sectionIds??=[],d.model.sectionIds.push(c.id))}else i.sections[c.id]=c,i.sectionIds.splice(s??i.sectionIds.length,0,c.id);a&&(i.dataSource??={},i.dataSource[c.id]=a)}),c},deleteSection:(e,t)=>{const s=n.pages[e];if(!s)throw new Error(`Page ${e} is not exists`);o.doc.transact(()=>{const r=[],i=g.currentPageModel?.getComponentById(t),c=i?.parent;if(i&&(r.push(i.model.id,...i.all().map(a=>a.model.id)),c?.model.component==="layout-block")){const a=c.model.sectionIds?.indexOf(t);a!==void 0&&a!==-1&&(c.model.sectionIds?.splice(a,1),delete c.model.sections?.[t]),c.model.config?.gridSettings&&Object.keys(c.model.config.gridSettings).forEach(d=>{try{delete c.model.config.gridSettings[d]?.[t]}catch{}}),c.model.config?.backgroundSectionId===t&&(c.model.config.backgroundSectionId=void 0)}r.forEach(a=>{const d=s.sectionIds.indexOf(a);d!==-1&&s.sectionIds.splice(d,1),s.sections[a]&&delete s.sections[a],s.dataSource?.[a]&&delete s.dataSource?.[a]})})},lockSection:(e,t)=>{if(!n.pages[e])throw new Error(`Page ${e} is not exists`);const r=g.currentPageModel?.getComponentById(t)?.model;r&&(r.locked=!r.locked)},toggleSectionVisibility:(e,t,s)=>{if(!n.pages[e])throw new Error(`Page ${e} is not exists`);const i=g.currentPageModel?.getComponentById(t)?.model;i&&(i.visibility=s)},moveSection:(e,t,s,r)=>{if(!n.pages[e])throw new Error(`Page ${e} is not exists`);if(r&&r!==t){const c=g.currentPageModel?.getComponentById(t),a=g.currentPageModel?.getComponentById(r),d=c?.parent,P=a?.parent;P&&d&&P?.model?.id===d?.model?.id?o.doc.transact(()=>{d.model.sectionIds.splice(c.getIndex(),1),d.model.sectionIds.splice(a.getIndex(),0,t)}):P&&d&&P?.model?.id!==d?.model?.id&&t!==r&&!c?.model?.sectionIds?.includes(r)&&o.doc.transact(()=>{P.model.sections[t]=JSON.parse(JSON.stringify(c.model)),P.model.sectionIds.splice(a.getIndex(),0,t),d.model.sectionIds.splice(c.getIndex(),1),delete d.model.sections[t]})}},copySection:(e,t)=>{if(!n.pages[e])throw new Error(`Page ${e} is not exists`);const r=g.currentPageModel?.getComponentById(t);if(!r?.model)throw new Error(`Section ${t} is not exists`);const i=JSON.parse(JSON.stringify(r.model)),c=K(i),a=c.id,d=r?.parent;if(d){if(d.model.sections[a]=c,d.model.sectionIds.push(a),g.currentPage?.dataSource?.[t]&&(g.currentPage.dataSource[a]=JSON.parse(JSON.stringify(g.currentPage.dataSource[t])),c.component==="layout-block")){const P=(C,j)=>{C?.forEach((L,R)=>{const v=j?.[R];if(v&&g.currentPage?.dataSource){const E=g.currentPage.dataSource[v];E&&(g.currentPage.dataSource[L]=JSON.parse(JSON.stringify(E)));const O=c.sections?.[L],_=i.sections?.[v];O?.component==="layout-block"&&O.sectionIds&&_?.sectionIds&&P(O.sectionIds,_.sectionIds)}})};c.sectionIds&&i.sectionIds&&P(c.sectionIds,i.sectionIds)}S.setCurrentSectionId(e,a)}return c},addDataSource:e=>{const t=e.id??k.nextId(),s={...e??{},id:t,createdAt:new Date().toISOString()};return o.doc.transact(()=>{n.dataSourceIds??=[],n.dataSources??={},n.dataSourceIds.push(t),n.dataSources[t]=s}),n.dataSources[t]},deleteDataSource:e=>{const t=n.dataSourceIds.indexOf(e);t!==-1&&o.doc.transact(()=>{n.dataSourceIds.splice(t,1),delete n.dataSources[e]})}}),[n,o.doc,g]);return{...o,state:n,actions:b,localActions:S,...g}},q=()=>{const{projectId:o}=T.useParams();return o??G()??""},Oe=()=>window.__PROJECT_SLUG__??"";function W(o){const{resources:n}=o;if(!n.components)return{};const u={};return window?.blocklet?.componentMountPoints?.forEach(l=>{u[l.did]=l}),Object.fromEntries(Object.entries(n.components).map(([l,{blockletId:y,component:m}])=>[l,{data:m,blockletId:y,blockletTitle:u[y]?.title||y}]))}function V(o){const{components:n}=o;return n||{}}function z(o){return{...W(o),...V(o)}}const Me=()=>z(F().state);function K(o){const n=JSON.parse(JSON.stringify(o)),u=k.nextId();if(n.component==="layout-block"){const l={...n.config??{}},y=n.sectionIds?.map(m=>{const g=n.sections?.[m],S=K(n.sections?.[m]),b=S.id;return g?.id===n.config?.backgroundSectionId&&(l.backgroundSectionId=S.id),n.config?.gridSettings&&Object.keys(n.config.gridSettings).forEach(e=>{l.gridSettings[e]={...l.gridSettings[e]??{},[b]:{...n.config?.gridSettings?.[e]?.[m],id:b}},delete n.config?.gridSettings?.[e]?.[m]}),S});n.sections=Object.fromEntries(y?.map(m=>[m.id,m])??[]),n.sectionIds=y?.map(m=>m.id)??[],n.config=l}return{...n,id:u}}exports.StoreProvider=ve;exports.api=D;exports.autoResizeImage=ye;exports.getAllComponents=z;exports.getCustomComponents=V;exports.getImageAbsoluteUrl=Ie;exports.getProjectIdFromPathnameOrWindow=G;exports.getProjectPageVersionKey=ge;exports.getResourceComponents=W;exports.getWssURL=Se;exports.transformValue=pe;exports.useAllComponents=Me;exports.useProjectId=q;exports.useProjectSlug=Oe;exports.useStore=F;
|