@blocklet/pages-kit-inner-components 0.6.30 → 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.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),v=require("./chunks/state-tEydRMV8.js"),Y=require("@arcblock/ux/lib/Empty"),N=require("@arcblock/ux/lib/Locale/context"),O=require("@iconify-icon/react"),K=require("@mui/icons-material/Check"),e=require("@mui/material"),D=require("ahooks"),u=require("react"),S=require("./chunks/index-D5dbumB6.js"),m=require("@arcblock/ux/lib/Theme");require("@blocklet/pages-kit/builtin/color-picker");require("@blocklet/pages-kit/utils/style");require("@emotion/css");require("lodash/without");const p=require("@mui/material/colors");require("@blocklet/pages-kit/builtin/uploader");require("react-use");require("lodash/cloneDeep");require("@mui/icons-material");require("react-dnd");require("@mui/lab");require("immer");require("lodash/omit");require("react-router-dom");require("@arcblock/ux/lib/Button");require("is-uri");require("@arcblock/ux/lib/Toast");require("@mui/material/Tooltip");require("@mui/icons-material/KeyboardArrowLeft");const J=require("@mui/material/Box");require("@mui/material/DialogTitle");require("@mui/material/IconButton");require("@mui/material/Dialog");require("@mui/material/useMediaQuery");const Z=require("@emotion/react");require("@mui/material/Alert");require("@mui/material/AlertTitle");require("react-error-boundary");require("ufo");require("lodash/isEmpty");require("yaml");require("@mui/material/Typography");require("joi");const A=require("@blocklet/aigne-hub/api"),ee=require("@blocklet/js-sdk");require("@mui/x-date-pickers");require("@mui/x-date-pickers/AdapterDayjs");require("@mui/x-date-pickers/LocalizationProvider");require("circular-natal-horoscope-js/dist");const te=require("dayjs"),oe=require("dayjs/plugin/timezone"),re=require("dayjs/plugin/utc");require("fast-deep-equal");require("lodash/isNil");require("tz-lookup");require("@mui/icons-material/CheckCircleOutline");require("lodash/uniq");require("lodash/get");require("lodash/set");const G=require("@blocklet/pages-kit/utils/common"),ie=require("@blocklet/pages-kit/components"),_=o=>o&&o.__esModule?o:{default:o},$=_(Y),ne=_(K),se=_(J),W=_(te),ae=_(oe),le=_(re);p.red[300],p.pink[300],p.purple[300],p.indigo[300],p.blue[300],p.cyan[300],p.teal[300],p.green[300],p.lime[300],p.yellow[300],p.amber[300],p.orange[300],p.brown[300],p.grey[300],p.blueGrey[300];m.styled(e.Box)`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),v=require("./chunks/state-B5PBvcI6.js"),Y=require("@arcblock/ux/lib/Empty"),N=require("@arcblock/ux/lib/Locale/context"),O=require("@iconify-icon/react"),K=require("@mui/icons-material/Check"),e=require("@mui/material"),D=require("ahooks"),u=require("react"),S=require("./chunks/index-CaivrAu8.js"),m=require("@arcblock/ux/lib/Theme");require("@blocklet/pages-kit/builtin/color-picker");require("@blocklet/pages-kit/utils/style");require("@emotion/css");require("lodash/without");const p=require("@mui/material/colors");require("@blocklet/pages-kit/builtin/uploader");require("react-use");require("lodash/cloneDeep");require("@mui/icons-material");require("react-dnd");require("@mui/lab");require("immer");require("lodash/omit");require("react-router-dom");require("@arcblock/ux/lib/Button");require("is-uri");require("@arcblock/ux/lib/Toast");require("@mui/material/Tooltip");require("@mui/icons-material/KeyboardArrowLeft");const J=require("@mui/material/Box");require("@mui/material/DialogTitle");require("@mui/material/IconButton");require("@mui/material/Dialog");require("@mui/material/useMediaQuery");const Z=require("@emotion/react");require("@mui/material/Alert");require("@mui/material/AlertTitle");require("react-error-boundary");require("ufo");require("lodash/isEmpty");require("yaml");require("@mui/material/Typography");require("joi");const A=require("@blocklet/aigne-hub/api"),ee=require("@blocklet/js-sdk");require("@mui/x-date-pickers");require("@mui/x-date-pickers/AdapterDayjs");require("@mui/x-date-pickers/LocalizationProvider");require("circular-natal-horoscope-js/dist");const te=require("dayjs"),oe=require("dayjs/plugin/timezone"),re=require("dayjs/plugin/utc");require("fast-deep-equal");require("lodash/isNil");require("tz-lookup");require("@mui/icons-material/CheckCircleOutline");require("lodash/uniq");require("lodash/get");require("lodash/set");const G=require("@blocklet/pages-kit/utils/common"),ie=require("@blocklet/pages-kit/components"),_=o=>o&&o.__esModule?o:{default:o},$=_(Y),ne=_(K),se=_(J),W=_(te),ae=_(oe),le=_(re);p.red[300],p.pink[300],p.purple[300],p.indigo[300],p.blue[300],p.cyan[300],p.teal[300],p.green[300],p.lime[300],p.yellow[300],p.amber[300],p.orange[300],p.brown[300],p.grey[300],p.blueGrey[300];m.styled(e.Box)`
2
2
  .color-item {
3
3
  position: relative;
4
4
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("./state-tEydRMV8.js");function n({children:e}){const r=t.useProjectId();return s.jsx(t.StoreProvider,{url:t.getWssURL(r??""),name:"root",waitingSynced:!0,children:s.jsx(o,{children:e})})}function o({children:e}){const{state:r}=t.useStore();return e({state:r})}exports.default=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("./state-B5PBvcI6.js");function n({children:e}){const r=t.useProjectId();return s.jsx(t.StoreProvider,{url:t.getWssURL(r??""),name:"root",waitingSynced:!0,children:s.jsx(o,{children:e})})}function o({children:e}){const{state:r}=t.useStore();return e({state:r})}exports.default=n;
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("react/jsx-runtime"),k=require("./state-tEydRMV8.js"),$=require("@arcblock/ux/lib/Locale/context"),te=require("@arcblock/ux/lib/Result"),I=require("@arcblock/ux/lib/Theme"),ne=require("@blocklet/pages-kit/builtin/page/header"),oe=require("@blocklet/pages-kit/contexts/color"),G=require("@blocklet/pages-kit/utils/data-source"),re=require("@blocklet/pages-kit/utils/route"),se=require("@blocklet/ui-react/lib/Header"),ae=require("@emotion/css"),B=require("@emotion/react"),y=require("@mui/material"),F=require("ahooks"),ie=require("isomorphic-dompurify"),ce=require("lodash/cloneDeep"),le=require("lodash/isEmpty"),ue=require("lodash/isEqual"),p=require("react"),de=require("react-helmet"),P=require("react-router-dom"),W=require("react-use"),S=require("ufo"),_=require("./index-D5dbumB6.js"),pe=require("@blocklet/ui-react/lib/Footer");require("webfontloader");const z=require("./session-BRtsDvA-.js"),R=t=>t&&t.__esModule?t:{default:t},K=R(te),me=R(se),ge=R(ie),L=R(ce),he=R(le),Y=R(ue),fe=R(pe),xe=I.styled(y.Box)`
1
+ "use strict";const e=require("react/jsx-runtime"),k=require("./state-B5PBvcI6.js"),$=require("@arcblock/ux/lib/Locale/context"),te=require("@arcblock/ux/lib/Result"),I=require("@arcblock/ux/lib/Theme"),ne=require("@blocklet/pages-kit/builtin/page/header"),oe=require("@blocklet/pages-kit/contexts/color"),G=require("@blocklet/pages-kit/utils/data-source"),re=require("@blocklet/pages-kit/utils/route"),se=require("@blocklet/ui-react/lib/Header"),ae=require("@emotion/css"),B=require("@emotion/react"),y=require("@mui/material"),F=require("ahooks"),ie=require("isomorphic-dompurify"),ce=require("lodash/cloneDeep"),le=require("lodash/isEmpty"),ue=require("lodash/isEqual"),p=require("react"),de=require("react-helmet"),P=require("react-router-dom"),W=require("react-use"),S=require("ufo"),_=require("./index-CaivrAu8.js"),pe=require("@blocklet/ui-react/lib/Footer");require("webfontloader");const z=require("./session-BRtsDvA-.js"),R=t=>t&&t.__esModule?t:{default:t},K=R(te),me=R(se),ge=R(ie),L=R(ce),he=R(le),Y=R(ue),fe=R(pe),xe=I.styled(y.Box)`
2
2
  display: contents;
3
3
  & > div > div > .MuiContainer-root {
4
4
  max-width: unset;
@@ -27,7 +27,7 @@
27
27
  font-family: ${i};
28
28
  }
29
29
  }
30
- `})}function V(t){return t!=null}function we(){const[t]=P.useSearchParams(),{session:n}=z.useSessionContext(),c=z.useIsRoleOrMultiTenant("owner","admin","pagesEditor","member"),r=p.useMemo(()=>{const o=t.get("mode");return _.STATE_MODES.includes(o)?o:"production"},[t]),i=r==="production"?r:n.user?c?r:"production":null;return i?e.jsx(Q,{mode:i}):null}function Q({mode:t}){if(t!=="draft"){const n=window.__PAGE_STATE__;return n?e.jsx(E,{mode:t,state:n}):e.jsx(Re,{mode:t,children:({state:c})=>e.jsx(E,{mode:t,state:c})})}return e.jsx(Se,{children:({state:n})=>e.jsx(E,{mode:t,state:n})})}const ke=p.lazy(()=>Promise.resolve().then(()=>require("./publish-button-B1tpen-s.js"))),Se=p.lazy(()=>Promise.resolve().then(()=>require("./draft-data-BM4piqW0.js")));function Re({mode:t,children:n}){const r=document.querySelector('meta[property="pages:version"]')?.content,i=k.useProjectId(),o=p.useMemo(()=>{if(r==="{{pagesPublishedAt}}"){const l=localStorage.getItem(k.getProjectPageVersionKey(i??""));return Number(l)?Number(l):new Date().getTime()}return Number(r)},[r]),{loading:g,value:a}=W.useAsync(()=>_.getPages({mode:t,version:o}),[t,o]);return g?e.jsx(J,{}):a?n({state:a}):null}function E({mode:t,state:n}){const{t:c,locale:r}=$.useLocaleContext(),[i]=P.useSearchParams(),o=k.useProjectId(),g=k.useProjectSlug(),a=i.get("hiddenBadge")==="true",l=i.get("showPublish")==="true",{pageIds:f,pages:u,routeIds:b,routes:d,supportedLocales:x,config:{defaultLocale:v},resources:C}=n,j=k.getAllComponents(n),h=p.useMemo(()=>x?.some(m=>m.locale===r)?r:void 0,[r,x]),q=Object.values(d||{}).find(m=>m?.path==="/")||Object.values(u).find(m=>m?.slug==="/")?void 0:Object.values(u)[0],O=p.useMemo(()=>t==="production"?f.map(m=>{const s=u[m];return s&&{id:s.id,path:S.joinURL("/",g||o||"",s.slug)}}).filter(V):b.map(m=>{const s=d[m];return s?{id:s.id,path:S.joinURL("/",g||o||"",s.path,`?mode=${t}&showPublish=true`)}:null}).filter(V),[f,u,t,d,b,o,g]),T=([...m])=>(t!=="production"&&l&&m.unshift(e.jsx(p.Suspense,{fallback:e.jsx("div",{}),children:e.jsx(ke,{ref:{current:null},mode:"production",state:n})})),m);return e.jsxs(_.Provider,{value:{pages:O},children:[e.jsxs(P.Routes,{children:[q&&e.jsx(P.Route,{index:!0,element:e.jsx(P.Navigate,{to:S.joinURL("/",h||"",q.slug)})}),b?.map(m=>{const s=d?.[m];if(!s||!s.displayTemplateId)return null;const A=u[s.displayTemplateId];if(!A)return null;let D=[];return s.params&&s.params.length>0&&(D=re.generateParamCombinations({basePath:s.path,params:s.params,routeId:s.id,paramsOptions:s.paramsOptions,currentIndex:0,currentParams:[],currentOptionIds:[],result:[]})?.map(H=>{const N=H.paramOptionIds.join("-");return e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",H.path),element:e.jsx(U,{mode:t,components:j,page:A,locale:h,defaultLocale:v,headerAddons:T,state:n,pageData:s.dataSource?.pathDataMappings?.[N]?.dataCache?.[h||v||"en"]})},N)})),D.push(e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",s.path),element:e.jsx(U,{mode:t,components:j,page:A,locale:h,defaultLocale:v,headerAddons:T,state:n,pageData:s.dataSource?.pathDataMappings?.[s.id]?.dataCache?.[h||v||"en"]})},s.id)),D}),f.map(m=>{const s=u[m];return s?e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",s.slug),element:e.jsx(M,{mode:t,components:j,page:s,locale:h,defaultLocale:v,headerAddons:T})},s.id):null}),C.pages&&Object.values(C.pages).map(({blockletId:m,page:s})=>e.jsx(P.Route,{path:S.joinURL("/",`@${m}`,s.slug),element:e.jsx(M,{mode:t,components:j,page:s,locale:h,defaultLocale:v,headerAddons:T})},s.id)),e.jsx(P.Route,{path:"*",element:e.jsx(y.Box,{sx:{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(K.default,{status:404,extra:e.jsx(ee,{href:"/",children:c("common.back")}),sx:{bgcolor:"transparent",width:"100%",height:"100%"}})})})]}),t!=="production"&&!a&&e.jsx(ye,{sx:{bgcolor:"info.light"},children:t}),e.jsx(Pe,{})]})}function U({mode:t,pageData:n,components:c,page:r,locale:i,defaultLocale:o,headerAddons:g,state:a}){const l=F.useReactive({page:null});p.useEffect(()=>{const u=r||null;u?l.page=L.default(u):l.page=null},[r,JSON.stringify(r),l]);const f=p.useRef(void 0);return p.useEffect(()=>{Y.default(n,f.current)||n&&l.page&&(G.setPageDataSource(l.page,a,i,n),f.current=L.default(n))},[l.page,n,i,a]),l.page?e.jsx(M,{mode:t,components:c,page:l.page,locale:i,defaultLocale:o,headerAddons:g}):null}function Ce({mode:t,state:n,path:c,pageData:r}){const{t:i,locale:o}=$.useLocaleContext(),{pages:g,supportedLocales:a,config:{defaultLocale:l},resources:f}=n,u=Object.values(g).find(j=>j?.slug===c),b=Object.values(f.pages||{}).find(j=>j.page.slug===c),d=p.useMemo(()=>a?.some(j=>j.locale===o)?o:void 0,[o,a]),x=F.useReactive({page:null});p.useEffect(()=>{const j=u||b?.page||null;j?x.page=L.default(j):x.page=null},[u,b]);const v=p.useRef(void 0);if(p.useEffect(()=>{Y.default(r,v.current)||r&&x.page&&(G.setPageDataSource(x.page,n,d,r),v.current=L.default(r))},[{}]),!u&&!b?.page)return e.jsx(y.Box,{sx:{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(K.default,{style:{background:"inherit"},status:404,extra:e.jsx(ee,{href:"/",children:i("common.back")})})});const C=k.getAllComponents(n);return x.page?e.jsx(M,{mode:t,components:C,page:x.page,locale:d,defaultLocale:l}):null}function M({mode:t,components:n,page:c,locale:r,defaultLocale:i,headerAddons:o}){const g=oe.useColorConvert(),a=c.locales?.[r]??c.locales?.[i]??{},l=a.title||window.blocklet?.appName,f=a.description||window.blocklet?.appDescription,u=k.autoResizeImage(k.getImageAbsoluteUrl(a.image),540),{logo:b,brand:d,description:x,...v}=ne.useHeaderState(),C=p.useMemo(()=>h=>{let w=o?.(h)??h;return w=v.addons?.(w)??w,w},[v.addons,o]),j=p.useMemo(()=>a.header?.translucent?Z:X,[a.header?.translucent]);return e.jsxs(_.PageProvider,{page:c,defaultLocale:i,currentLocale:r,children:[e.jsx(B.Global,{styles:B.css`
30
+ `})}function V(t){return t!=null}function we(){const[t]=P.useSearchParams(),{session:n}=z.useSessionContext(),c=z.useIsRoleOrMultiTenant("owner","admin","pagesEditor","member"),r=p.useMemo(()=>{const o=t.get("mode");return _.STATE_MODES.includes(o)?o:"production"},[t]),i=r==="production"?r:n.user?c?r:"production":null;return i?e.jsx(Q,{mode:i}):null}function Q({mode:t}){if(t!=="draft"){const n=window.__PAGE_STATE__;return n?e.jsx(E,{mode:t,state:n}):e.jsx(Re,{mode:t,children:({state:c})=>e.jsx(E,{mode:t,state:c})})}return e.jsx(Se,{children:({state:n})=>e.jsx(E,{mode:t,state:n})})}const ke=p.lazy(()=>Promise.resolve().then(()=>require("./publish-button-CRQmmzK4.js"))),Se=p.lazy(()=>Promise.resolve().then(()=>require("./draft-data-CBA2Fr-1.js")));function Re({mode:t,children:n}){const r=document.querySelector('meta[property="pages:version"]')?.content,i=k.useProjectId(),o=p.useMemo(()=>{if(r==="{{pagesPublishedAt}}"){const l=localStorage.getItem(k.getProjectPageVersionKey(i??""));return Number(l)?Number(l):new Date().getTime()}return Number(r)},[r]),{loading:g,value:a}=W.useAsync(()=>_.getPages({mode:t,version:o}),[t,o]);return g?e.jsx(J,{}):a?n({state:a}):null}function E({mode:t,state:n}){const{t:c,locale:r}=$.useLocaleContext(),[i]=P.useSearchParams(),o=k.useProjectId(),g=k.useProjectSlug(),a=i.get("hiddenBadge")==="true",l=i.get("showPublish")==="true",{pageIds:f,pages:u,routeIds:b,routes:d,supportedLocales:x,config:{defaultLocale:v},resources:C}=n,j=k.getAllComponents(n),h=p.useMemo(()=>x?.some(m=>m.locale===r)?r:void 0,[r,x]),q=Object.values(d||{}).find(m=>m?.path==="/")||Object.values(u).find(m=>m?.slug==="/")?void 0:Object.values(u)[0],O=p.useMemo(()=>t==="production"?f.map(m=>{const s=u[m];return s&&{id:s.id,path:S.joinURL("/",g||o||"",s.slug)}}).filter(V):b.map(m=>{const s=d[m];return s?{id:s.id,path:S.joinURL("/",g||o||"",s.path,`?mode=${t}&showPublish=true`)}:null}).filter(V),[f,u,t,d,b,o,g]),T=([...m])=>(t!=="production"&&l&&m.unshift(e.jsx(p.Suspense,{fallback:e.jsx("div",{}),children:e.jsx(ke,{ref:{current:null},mode:"production",state:n})})),m);return e.jsxs(_.Provider,{value:{pages:O},children:[e.jsxs(P.Routes,{children:[q&&e.jsx(P.Route,{index:!0,element:e.jsx(P.Navigate,{to:S.joinURL("/",h||"",q.slug)})}),b?.map(m=>{const s=d?.[m];if(!s||!s.displayTemplateId)return null;const A=u[s.displayTemplateId];if(!A)return null;let D=[];return s.params&&s.params.length>0&&(D=re.generateParamCombinations({basePath:s.path,params:s.params,routeId:s.id,paramsOptions:s.paramsOptions,currentIndex:0,currentParams:[],currentOptionIds:[],result:[]})?.map(H=>{const N=H.paramOptionIds.join("-");return e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",H.path),element:e.jsx(U,{mode:t,components:j,page:A,locale:h,defaultLocale:v,headerAddons:T,state:n,pageData:s.dataSource?.pathDataMappings?.[N]?.dataCache?.[h||v||"en"]})},N)})),D.push(e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",s.path),element:e.jsx(U,{mode:t,components:j,page:A,locale:h,defaultLocale:v,headerAddons:T,state:n,pageData:s.dataSource?.pathDataMappings?.[s.id]?.dataCache?.[h||v||"en"]})},s.id)),D}),f.map(m=>{const s=u[m];return s?e.jsx(P.Route,{path:S.joinURL(":projectIdOrSlug?",s.slug),element:e.jsx(M,{mode:t,components:j,page:s,locale:h,defaultLocale:v,headerAddons:T})},s.id):null}),C.pages&&Object.values(C.pages).map(({blockletId:m,page:s})=>e.jsx(P.Route,{path:S.joinURL("/",`@${m}`,s.slug),element:e.jsx(M,{mode:t,components:j,page:s,locale:h,defaultLocale:v,headerAddons:T})},s.id)),e.jsx(P.Route,{path:"*",element:e.jsx(y.Box,{sx:{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(K.default,{status:404,extra:e.jsx(ee,{href:"/",children:c("common.back")}),sx:{bgcolor:"transparent",width:"100%",height:"100%"}})})})]}),t!=="production"&&!a&&e.jsx(ye,{sx:{bgcolor:"info.light"},children:t}),e.jsx(Pe,{})]})}function U({mode:t,pageData:n,components:c,page:r,locale:i,defaultLocale:o,headerAddons:g,state:a}){const l=F.useReactive({page:null});p.useEffect(()=>{const u=r||null;u?l.page=L.default(u):l.page=null},[r,JSON.stringify(r),l]);const f=p.useRef(void 0);return p.useEffect(()=>{Y.default(n,f.current)||n&&l.page&&(G.setPageDataSource(l.page,a,i,n),f.current=L.default(n))},[l.page,n,i,a]),l.page?e.jsx(M,{mode:t,components:c,page:l.page,locale:i,defaultLocale:o,headerAddons:g}):null}function Ce({mode:t,state:n,path:c,pageData:r}){const{t:i,locale:o}=$.useLocaleContext(),{pages:g,supportedLocales:a,config:{defaultLocale:l},resources:f}=n,u=Object.values(g).find(j=>j?.slug===c),b=Object.values(f.pages||{}).find(j=>j.page.slug===c),d=p.useMemo(()=>a?.some(j=>j.locale===o)?o:void 0,[o,a]),x=F.useReactive({page:null});p.useEffect(()=>{const j=u||b?.page||null;j?x.page=L.default(j):x.page=null},[u,b]);const v=p.useRef(void 0);if(p.useEffect(()=>{Y.default(r,v.current)||r&&x.page&&(G.setPageDataSource(x.page,n,d,r),v.current=L.default(r))},[{}]),!u&&!b?.page)return e.jsx(y.Box,{sx:{width:"100vw",height:"100vh",display:"flex",justifyContent:"center",alignItems:"center"},children:e.jsx(K.default,{style:{background:"inherit"},status:404,extra:e.jsx(ee,{href:"/",children:i("common.back")})})});const C=k.getAllComponents(n);return x.page?e.jsx(M,{mode:t,components:C,page:x.page,locale:d,defaultLocale:l}):null}function M({mode:t,components:n,page:c,locale:r,defaultLocale:i,headerAddons:o}){const g=oe.useColorConvert(),a=c.locales?.[r]??c.locales?.[i]??{},l=a.title||window.blocklet?.appName,f=a.description||window.blocklet?.appDescription,u=k.autoResizeImage(k.getImageAbsoluteUrl(a.image),540),{logo:b,brand:d,description:x,...v}=ne.useHeaderState(),C=p.useMemo(()=>h=>{let w=o?.(h)??h;return w=v.addons?.(w)??w,w},[v.addons,o]),j=p.useMemo(()=>a.header?.translucent?Z:X,[a.header?.translucent]);return e.jsxs(_.PageProvider,{page:c,defaultLocale:i,currentLocale:r,children:[e.jsx(B.Global,{styles:B.css`
31
31
  body {
32
32
  background-color: ${g(!a.backgroundColor||a.backgroundColor==="transparent"?"background.default":a.backgroundColor)} !important;
33
33
  }
@@ -36,4 +36,4 @@
36
36
  position: sticky;
37
37
  top: 0;
38
38
  }
39
- `;function qe({logo:t}){const[n,c]=p.useState(),r=y.useMediaQuery(o=>o.breakpoints.down("sm")),{value:i}=W.useAsync(()=>{const o=new URL(r?window?.blocklet?.appLogo||"/.well-known/service/blocklet/logo":window?.blocklet?.appLogoRect||"/.well-known/service/blocklet/logo-rect",window.location.origin);o.searchParams.delete("imageFilter"),o.searchParams.delete("f");const g=o.toString();return new Promise(a=>{fetch(g).then(l=>{l.headers.get("content-type")?.includes("svg")&&l.text().then(u=>{c(u),a(null)}),a(l.url)})})},[r]);if(t)return t;if(n)return e.jsx(y.Box,{sx:{filter:"initial !important"},dangerouslySetInnerHTML:{__html:ge.default.sanitize(n)}});if(i){const o=new URL(i);o.searchParams.set("imageFilter","convert"),o.searchParams.set("f","png"),o.searchParams.set("h","80");const g=o.toString();return e.jsx("img",{src:g,alt:"logo"})}return null}function Z({logo:t,translucentTextColor:n,...c}){const i=F.useScroll(document.getElementById("app"),d=>d.top<1200),o=y.useTheme(),g=o.palette.mode==="dark",a=Math.min(i?.top??0,800),l=p.useMemo(()=>{let d=Math.min(a/800,1),x="";return d>.1?(d=Math.max(d,.6),x=y.alpha(o.palette.text.primary,d)):x=n||"#EEEEEE",{backgroundOpacity:d,textColor:x,isReversed:d<.7}},[a,800,o.palette.text.primary,n]),{backgroundOpacity:f,textColor:u,isReversed:b}=l;return e.jsx(X,{logo:e.jsx(qe,{logo:t}),...c,sx:{position:"fixed !important",top:0,left:0,right:0,zIndex:o.zIndex.appBar,backgroundColor:"transparent !important","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:-1,backgroundColor:y.alpha(o.palette.background.default,f),backdropFilter:f>=.6?"blur(10px)":"blur(0px)",transition:"backgroundColor 0.3s ease-in-out"},transition:"color 0.3s ease-in-out",".navmenu-root>.navmenu-sub>span,\n .navmenu-root>.navmenu-item,\n .header-addons>button,\n .header-addons>a,\n .header-addons>div>button":{color:`${u} !important`},".header-logo":{color:`${u} !important`},"& .navmenu--horizontal":{bgcolor:"transparent !important"},".header-addons *":{borderColor:`${u} !important`},".header-logo > div":{filter:g?"unset":`invert(${b?1:0})`,transition:"filter 0.3s ease-in-out"}}})}const ee=I.styled(y.Button)``;exports.Home=we;exports.HomeView=Q;exports.Loading=J;exports.PageRoutes=E;exports.PageView=M;exports.PageViewByPath=Ce;exports.PageViewWithDataSource=U;exports.TranslucentHeader=Z;
39
+ `;function qe({logo:t}){const[n,c]=p.useState(),r=y.useMediaQuery(o=>o.breakpoints.down("sm")),{value:i}=W.useAsync(()=>{const o=new URL(r?window?.blocklet?.appLogo||"/.well-known/service/blocklet/logo":window?.blocklet?.appLogoRect||"/.well-known/service/blocklet/logo-rect",window.location.origin);o.searchParams.delete("imageFilter"),o.searchParams.delete("f");const g=o.toString();return new Promise(a=>{fetch(g).then(l=>{l.headers.get("content-type")?.includes("svg")&&l.text().then(u=>{c(u),a(null)}),a(l.url)})})},[r]);if(t)return t;if(n)return e.jsx(y.Box,{sx:{filter:"initial !important"},dangerouslySetInnerHTML:{__html:ge.default.sanitize(n)}});if(i){const o=new URL(i);o.searchParams.set("imageFilter","convert"),o.searchParams.set("f","png"),o.searchParams.set("h","80");const g=o.toString();return e.jsx("img",{src:g,alt:"logo"})}return null}function Z({logo:t,translucentTextColor:n,...c}){const i=F.useScroll(document.getElementById("app"),d=>d.top<1200),o=y.useTheme(),g=o.palette.mode==="dark",a=Math.min(i?.top??0,800),l=p.useMemo(()=>{let d=Math.min(a/800,1),x="";return d>.1?(d=Math.max(d,.6),x=y.alpha(o.palette.text.primary,d)):x=n||"#EEEEEE",{backgroundOpacity:d,textColor:x,isReversed:d<.7}},[a,800,o.palette.text.primary,n]),{backgroundOpacity:f,textColor:u,isReversed:b}=l;return e.jsx(X,{logo:e.jsx(qe,{logo:t}),...c,sx:{position:"fixed !important",top:0,left:0,right:0,zIndex:o.zIndex.appBar,backgroundColor:"transparent !important","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:-1,backgroundColor:y.alpha(o.palette.background.default,f),backdropFilter:f>=.6?"blur(10px)":"blur(0px)",transition:"backgroundColor 0.3s ease-in-out"},transition:"color 0.3s ease-in-out",".navmenu-root>.navmenu-sub>span,\n .navmenu-root>.navmenu-item,\n .header-addons>button,\n .header-addons>a,\n .header-addons>div>button":{color:`${u} !important`},".header-logo, .header-menu":{color:`${u} !important`},"& .navmenu--horizontal":{bgcolor:"transparent !important"},".header-addons *":{borderColor:`${u} !important`},".header-logo > div":{filter:g?"unset":`invert(${b?1:0})`,transition:"filter 0.3s ease-in-out"}}})}const ee=I.styled(y.Button)``;exports.Home=we;exports.HomeView=Q;exports.Loading=J;exports.PageRoutes=E;exports.PageView=M;exports.PageViewByPath=Ce;exports.PageViewWithDataSource=U;exports.TranslucentHeader=Z;
@@ -1,4 +1,4 @@
1
- "use strict";var se=Object.create;var Ct=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var Ae=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var ue=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ce(e))!de.call(t,i)&&i!==n&&Ct(t,i,{get:()=>e[i],enumerable:!(r=le(e,i))||r.enumerable});return t};var ge=(t,e,n)=>(n=t!=null?se(Ae(t)):{},ue(e||!t||!t.__esModule?Ct(n,"default",{value:t,enumerable:!0}):n,t));const o=require("react/jsx-runtime"),me=require("@mui/icons-material"),d=require("@mui/material"),xe=require("lodash/isEmpty"),pe=require("lodash/pick"),p=require("react"),he=require("lodash/keyBy"),I=require("@arcblock/ux/lib/Theme"),b=require("@emotion/css"),fe=require("lodash/omit"),ct=require("react-router-dom"),ye=require("@arcblock/ux/lib/Button"),be=require("is-uri"),zt=require("@iconify-icon/react"),C=require("./state-tEydRMV8.js"),Be=require("@blocklet/pages-kit/builtin/markdown/markdown-renderer"),Ut=require("@blocklet/pages-kit/contexts/color"),ke=require("react-syntax-highlighter/dist/esm/styles/prism"),ve=require("@arcblock/react-hooks/lib/useBrowser"),we=require("@arcblock/ux/lib/Colors"),At=require("@blocklet/pages-kit/components"),jt=require("@blocklet/pages-kit/utils/style"),Ce=require("@mui/material/useMediaQuery"),X=require("pathe"),V=require("ufo"),je=require("@blocklet/embed/message"),Ie=require("ahooks"),Ee=require("lodash/isEqual"),Se=require("@blocklet/embed/react"),De=require("@arcblock/ux/lib/Locale/context"),Re=require("@arcblock/ux/lib/Screenshot"),Qe=require("react-twitter-embed"),It=require("react-use"),E=t=>t&&t.__esModule?t:{default:t},Pe=E(xe),Z=E(pe),Me=E(p),S=E(he),Q=E(fe),Ne=E(ye),at=E(be),Le=E(Be),ze=E(ve),Et=E(we),Wt=E(Ce),Ue=E(Ee),Ft=E(Re),O="{{CUSTOM_VALUE}}",We=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{py:{xs:2.5,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{py:{xs:5,md:7.5,lg:10,xl:12.5}}},{title:"Large",value:"large",sx:{py:{xs:7.5,md:10,lg:12.5,xl:15}}}],Fe=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{py:{xs:2.5,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{py:{xs:5,md:7,lg:7,xl:9}}},{title:"Large",value:"large",sx:{py:{xs:6,md:9,lg:9,xl:11}}},{title:"Extra Large",value:"xl",sx:{py:{xs:8,md:12,lg:12,xl:16}}}],He=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{px:{xs:2,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{px:{xs:2.5,md:7.5,lg:10,xl:12.5}}},{title:"Large",value:"large",sx:{px:{xs:2.5,md:10,lg:12.5,xl:15}}},{title:"Extra Large",value:"xl",sx:{px:{xs:3,md:12.5,lg:15,xl:17.5}}}],K=(t,e,n)=>{const r=t.breakpoints.values[n];return`${e}${r?` (${r}px)`:""}`},Ve=[{title:"100%",value:"full",sx:{}},{title:"None",value:"none",sx:{maxWidth:"none"}},{title:t=>K(t,"Small","sm"),value:"sm",sx:{maxWidth:t=>t.breakpoints.values.sm,width:"100%",mx:"auto"}},{title:t=>K(t,"Normal","md"),value:"md",sx:{maxWidth:t=>t.breakpoints.values.md,width:"100%",mx:"auto"}},{title:t=>K(t,"Large","lg"),value:"lg",sx:{maxWidth:t=>t.breakpoints.values.lg,width:"100%",mx:"auto"}},{title:t=>K(t,"Extra Large","xl"),value:"xl",sx:{maxWidth:t=>t.breakpoints.values.xl,width:"100%",mx:"auto"}},{title:"Custom",value:"custom",sx:{maxWidth:O,width:"100%",mx:"auto"}}],Ge=[{title:"None",value:"none",sx:{gap:0}},{title:"Small",value:"small",sx:{gap:{xs:1,md:2,lg:2,xl:3}}},{title:"Normal",value:"normal",sx:{gap:{xs:2,md:3.5,lg:3.5,xl:5}}},{title:"Large",value:"large",sx:{gap:{xs:3,md:5,lg:5,xl:6.5}}}],dt=t=>[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{[t]:{xs:1,md:2,lg:2,xl:3}}},{title:"Normal",value:"normal",sx:{[t]:{xs:2.5,md:5,lg:5,xl:7.5}}},{title:"Large",value:"large",sx:{[t]:{xs:3,md:6,lg:6,xl:9}}},{title:"Extra Large",value:"xl",sx:{[t]:{xs:4,md:8,lg:8,xl:12}}},{title:"Custom",value:"custom",sx:{[t]:O}}],Te=dt("p"),Oe=dt("px"),Ye=dt("py"),Je=[{title:"Start",value:"start",sx:{alignContent:"start"}},{title:"Center",value:"center",sx:{alignContent:"center"}},{title:"End",value:"end",sx:{alignContent:"end"}},{title:"Space Between",value:"space-between",sx:{alignContent:"space-between"}},{title:"Space Around",value:"space-around",sx:{alignContent:"space-around"}},{title:"Space Evenly",value:"space-evenly",sx:{alignContent:"space-evenly"}}],qe=[{title:"Start",value:"start",sx:{justifyContent:"start"}},{title:"Center",value:"center",sx:{justifyContent:"center"}},{title:"End",value:"end",sx:{justifyContent:"end"}},{title:"Space Between",value:"space-between",sx:{justifyContent:"space-between"}},{title:"Space Around",value:"space-around",sx:{justifyContent:"space-around"}},{title:"Space Evenly",value:"space-evenly",sx:{justifyContent:"space-evenly"}}],Xe=[{title:"Solid",value:"solid",sx:{border:"1px solid",borderColor:"divider"},group:"borderFrame"},{title:"Dashed",value:"dashed",sx:{border:"1px dashed",borderColor:"divider"},group:"borderFrame"},{title:"Dotted",value:"dotted",sx:{border:"1px dotted",borderColor:"divider"},group:"borderFrame"},{title:"Custom",value:"custom",sx:{border:O},group:"borderFrame"}],Ht=[{value:"macbook",title:"MacBook",group:"deviceFrame"},{value:"phone",title:"Phone",group:"deviceFrame"}],Ke=t=>Ht.some(e=>e.value===t),Ze=t=>Vt.some(e=>e.value===t),Vt=[{value:"chrome",title:"Chrome Browser",group:"browserFrame",sx:{}},{value:"safari",title:"Safari Browser",group:"browserFrame",sx:{}}],_e=[{value:"shadow-sm",title:"Shadow Low Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[2]}},{value:"shadow-md",title:"Shadow Medium Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[6]}},{value:"shadow-lg",title:"Shadow High Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[12]}},{value:"shadow-xl",title:"Shadow Extra High Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[16]}},{value:"shadow-max",title:"Shadow Max Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[24]}}],$e=[{title:"None",value:"none",sx:{border:"none"},group:"commonFrame"},...Xe,...Vt,..._e,...Ht],to=[{title:"None",value:"none",sx:{borderRadius:0}},{title:"Small",value:"small",sx:{borderRadius:1}},{title:"Medium",value:"medium",sx:{borderRadius:2}},{title:"Large",value:"large",sx:{borderRadius:3}},{title:"Extra Large",value:"xl",sx:{borderRadius:4}},{title:"Rounded",value:"rounded",sx:{borderRadius:"50%"}},{title:"Custom",value:"custom",sx:{borderRadius:O}}],eo=[{title:"100%",value:"100%",sx:{height:"100%"}},{title:"Auto",value:"auto",sx:{height:"auto"}},{title:"Unset",value:"unset",sx:{height:"unset"}},{title:"Inherit",value:"inherit",sx:{height:"inherit"}},{title:"Initial",value:"initial",sx:{height:"initial"}},{title:"Fit Content",value:"fit-content",sx:{height:"fit-content"}},{title:"Max Content",value:"max-content",sx:{height:"max-content"}},{title:"Min Content",value:"min-content",sx:{height:"min-content"}}],oo=S.default(We,"value"),no=S.default(Fe,"value"),ro=S.default(He,"value"),io=S.default(Ve,"value"),ao=S.default(Ge,"value"),so=S.default(Te,"value"),lo=S.default(Oe,"value"),co=S.default(Ye,"value"),Ao=S.default(Je,"value"),uo=S.default(qe,"value"),go=S.default($e,"value"),mo=S.default(to,"value"),xo=S.default(eo,"value"),po=new Map([["baseSectionPaddingY",oo],["maxWidth",io],["paddingY",no],["paddingX",ro],["layoutBlockGap",ao],["layoutBlockPadding",so],["layoutBlockPaddingX",lo],["layoutBlockPaddingY",co],["layoutBlockAlignContent",Ao],["layoutBlockJustifyContent",uo],["layoutBlockBorder",go],["layoutBlockBorderRadius",mo],["layoutBlockHeight",xo]]);function R(t){const{type:e,value:n,format:r="sx",defaultValue:i=null}=t,a=po.get(e);if(!a||typeof n!="string"||!n)return i;const c=n.startsWith("custom:"),s=c?"custom":n;if(a?.[s]&&a?.[s]?.[r]){const l=a[s][r];if(c){const A=n.replace("custom:","");try{return JSON.parse(JSON.stringify(l||{}).replaceAll(O,A))}catch{}}return l}return i}const Gt=p.createContext({page:null,getPageMeta:()=>({}),getPageMetaStyle:()=>({})});function Tt(){return p.useContext(Gt)}function ho({page:t,children:e,defaultLocale:n="en",currentLocale:r}){const i=p.useMemo(()=>t?JSON.parse(JSON.stringify(t)):null,[JSON.stringify(t)]),a=p.useCallback(()=>{if(!i)return{};const l=r||n;return i.locales?.[l]??{}},[i,n,r]),c=p.useCallback((l="sx")=>{const A=a();return!A||!A.style?{}:Object.entries(A.style||{}).reduce((g,[x,m])=>{if(!m)return g;const y=`${x}Custom`;A.style[y];const f=R({type:x,value:m,format:l});return f?{...g,...f}:g},{})},[a]),s=p.useMemo(()=>({page:i,getPageMeta:a,getPageMetaStyle:c}),[i,a,c]);return o.jsx(Gt.Provider,{value:s,children:e})}const _=["editing","height","locale","dev","sx"];function fo(t){const{className:e,...n}=t;return o.jsx(yo,{...n,className:b.cx("BlockBase-root",e)})}const yo=I.styled(d.Box)`
1
+ "use strict";var se=Object.create;var Ct=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var Ae=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var ue=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ce(e))!de.call(t,i)&&i!==n&&Ct(t,i,{get:()=>e[i],enumerable:!(r=le(e,i))||r.enumerable});return t};var ge=(t,e,n)=>(n=t!=null?se(Ae(t)):{},ue(e||!t||!t.__esModule?Ct(n,"default",{value:t,enumerable:!0}):n,t));const o=require("react/jsx-runtime"),me=require("@mui/icons-material"),d=require("@mui/material"),xe=require("lodash/isEmpty"),pe=require("lodash/pick"),p=require("react"),he=require("lodash/keyBy"),I=require("@arcblock/ux/lib/Theme"),b=require("@emotion/css"),fe=require("lodash/omit"),ct=require("react-router-dom"),ye=require("@arcblock/ux/lib/Button"),be=require("is-uri"),zt=require("@iconify-icon/react"),C=require("./state-B5PBvcI6.js"),Be=require("@blocklet/pages-kit/builtin/markdown/markdown-renderer"),Ut=require("@blocklet/pages-kit/contexts/color"),ke=require("react-syntax-highlighter/dist/esm/styles/prism"),ve=require("@arcblock/react-hooks/lib/useBrowser"),we=require("@arcblock/ux/lib/Colors"),At=require("@blocklet/pages-kit/components"),jt=require("@blocklet/pages-kit/utils/style"),Ce=require("@mui/material/useMediaQuery"),X=require("pathe"),V=require("ufo"),je=require("@blocklet/embed/message"),Ie=require("ahooks"),Ee=require("lodash/isEqual"),Se=require("@blocklet/embed/react"),De=require("@arcblock/ux/lib/Locale/context"),Re=require("@arcblock/ux/lib/Screenshot"),Qe=require("react-twitter-embed"),It=require("react-use"),E=t=>t&&t.__esModule?t:{default:t},Pe=E(xe),Z=E(pe),Me=E(p),S=E(he),Q=E(fe),Ne=E(ye),at=E(be),Le=E(Be),ze=E(ve),Et=E(we),Wt=E(Ce),Ue=E(Ee),Ft=E(Re),O="{{CUSTOM_VALUE}}",We=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{py:{xs:2.5,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{py:{xs:5,md:7.5,lg:10,xl:12.5}}},{title:"Large",value:"large",sx:{py:{xs:7.5,md:10,lg:12.5,xl:15}}}],Fe=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{py:{xs:2.5,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{py:{xs:5,md:7,lg:7,xl:9}}},{title:"Large",value:"large",sx:{py:{xs:6,md:9,lg:9,xl:11}}},{title:"Extra Large",value:"xl",sx:{py:{xs:8,md:12,lg:12,xl:16}}}],He=[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{px:{xs:2,md:4,lg:4,xl:6}}},{title:"Normal",value:"normal",sx:{px:{xs:2.5,md:7.5,lg:10,xl:12.5}}},{title:"Large",value:"large",sx:{px:{xs:2.5,md:10,lg:12.5,xl:15}}},{title:"Extra Large",value:"xl",sx:{px:{xs:3,md:12.5,lg:15,xl:17.5}}}],K=(t,e,n)=>{const r=t.breakpoints.values[n];return`${e}${r?` (${r}px)`:""}`},Ve=[{title:"100%",value:"full",sx:{}},{title:"None",value:"none",sx:{maxWidth:"none"}},{title:t=>K(t,"Small","sm"),value:"sm",sx:{maxWidth:t=>t.breakpoints.values.sm,width:"100%",mx:"auto"}},{title:t=>K(t,"Normal","md"),value:"md",sx:{maxWidth:t=>t.breakpoints.values.md,width:"100%",mx:"auto"}},{title:t=>K(t,"Large","lg"),value:"lg",sx:{maxWidth:t=>t.breakpoints.values.lg,width:"100%",mx:"auto"}},{title:t=>K(t,"Extra Large","xl"),value:"xl",sx:{maxWidth:t=>t.breakpoints.values.xl,width:"100%",mx:"auto"}},{title:"Custom",value:"custom",sx:{maxWidth:O,width:"100%",mx:"auto"}}],Ge=[{title:"None",value:"none",sx:{gap:0}},{title:"Small",value:"small",sx:{gap:{xs:1,md:2,lg:2,xl:3}}},{title:"Normal",value:"normal",sx:{gap:{xs:2,md:3.5,lg:3.5,xl:5}}},{title:"Large",value:"large",sx:{gap:{xs:3,md:5,lg:5,xl:6.5}}}],dt=t=>[{title:"None",value:"none",sx:{}},{title:"Small",value:"small",sx:{[t]:{xs:1,md:2,lg:2,xl:3}}},{title:"Normal",value:"normal",sx:{[t]:{xs:2.5,md:5,lg:5,xl:7.5}}},{title:"Large",value:"large",sx:{[t]:{xs:3,md:6,lg:6,xl:9}}},{title:"Extra Large",value:"xl",sx:{[t]:{xs:4,md:8,lg:8,xl:12}}},{title:"Custom",value:"custom",sx:{[t]:O}}],Te=dt("p"),Oe=dt("px"),Ye=dt("py"),Je=[{title:"Start",value:"start",sx:{alignContent:"start"}},{title:"Center",value:"center",sx:{alignContent:"center"}},{title:"End",value:"end",sx:{alignContent:"end"}},{title:"Space Between",value:"space-between",sx:{alignContent:"space-between"}},{title:"Space Around",value:"space-around",sx:{alignContent:"space-around"}},{title:"Space Evenly",value:"space-evenly",sx:{alignContent:"space-evenly"}}],qe=[{title:"Start",value:"start",sx:{justifyContent:"start"}},{title:"Center",value:"center",sx:{justifyContent:"center"}},{title:"End",value:"end",sx:{justifyContent:"end"}},{title:"Space Between",value:"space-between",sx:{justifyContent:"space-between"}},{title:"Space Around",value:"space-around",sx:{justifyContent:"space-around"}},{title:"Space Evenly",value:"space-evenly",sx:{justifyContent:"space-evenly"}}],Xe=[{title:"Solid",value:"solid",sx:{border:"1px solid",borderColor:"divider"},group:"borderFrame"},{title:"Dashed",value:"dashed",sx:{border:"1px dashed",borderColor:"divider"},group:"borderFrame"},{title:"Dotted",value:"dotted",sx:{border:"1px dotted",borderColor:"divider"},group:"borderFrame"},{title:"Custom",value:"custom",sx:{border:O},group:"borderFrame"}],Ht=[{value:"macbook",title:"MacBook",group:"deviceFrame"},{value:"phone",title:"Phone",group:"deviceFrame"}],Ke=t=>Ht.some(e=>e.value===t),Ze=t=>Vt.some(e=>e.value===t),Vt=[{value:"chrome",title:"Chrome Browser",group:"browserFrame",sx:{}},{value:"safari",title:"Safari Browser",group:"browserFrame",sx:{}}],_e=[{value:"shadow-sm",title:"Shadow Low Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[2]}},{value:"shadow-md",title:"Shadow Medium Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[6]}},{value:"shadow-lg",title:"Shadow High Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[12]}},{value:"shadow-xl",title:"Shadow Extra High Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[16]}},{value:"shadow-max",title:"Shadow Max Elevation",group:"shadowFrame",sx:{boxShadow:t=>t.shadows[24]}}],$e=[{title:"None",value:"none",sx:{border:"none"},group:"commonFrame"},...Xe,...Vt,..._e,...Ht],to=[{title:"None",value:"none",sx:{borderRadius:0}},{title:"Small",value:"small",sx:{borderRadius:1}},{title:"Medium",value:"medium",sx:{borderRadius:2}},{title:"Large",value:"large",sx:{borderRadius:3}},{title:"Extra Large",value:"xl",sx:{borderRadius:4}},{title:"Rounded",value:"rounded",sx:{borderRadius:"50%"}},{title:"Custom",value:"custom",sx:{borderRadius:O}}],eo=[{title:"100%",value:"100%",sx:{height:"100%"}},{title:"Auto",value:"auto",sx:{height:"auto"}},{title:"Unset",value:"unset",sx:{height:"unset"}},{title:"Inherit",value:"inherit",sx:{height:"inherit"}},{title:"Initial",value:"initial",sx:{height:"initial"}},{title:"Fit Content",value:"fit-content",sx:{height:"fit-content"}},{title:"Max Content",value:"max-content",sx:{height:"max-content"}},{title:"Min Content",value:"min-content",sx:{height:"min-content"}}],oo=S.default(We,"value"),no=S.default(Fe,"value"),ro=S.default(He,"value"),io=S.default(Ve,"value"),ao=S.default(Ge,"value"),so=S.default(Te,"value"),lo=S.default(Oe,"value"),co=S.default(Ye,"value"),Ao=S.default(Je,"value"),uo=S.default(qe,"value"),go=S.default($e,"value"),mo=S.default(to,"value"),xo=S.default(eo,"value"),po=new Map([["baseSectionPaddingY",oo],["maxWidth",io],["paddingY",no],["paddingX",ro],["layoutBlockGap",ao],["layoutBlockPadding",so],["layoutBlockPaddingX",lo],["layoutBlockPaddingY",co],["layoutBlockAlignContent",Ao],["layoutBlockJustifyContent",uo],["layoutBlockBorder",go],["layoutBlockBorderRadius",mo],["layoutBlockHeight",xo]]);function R(t){const{type:e,value:n,format:r="sx",defaultValue:i=null}=t,a=po.get(e);if(!a||typeof n!="string"||!n)return i;const c=n.startsWith("custom:"),s=c?"custom":n;if(a?.[s]&&a?.[s]?.[r]){const l=a[s][r];if(c){const A=n.replace("custom:","");try{return JSON.parse(JSON.stringify(l||{}).replaceAll(O,A))}catch{}}return l}return i}const Gt=p.createContext({page:null,getPageMeta:()=>({}),getPageMetaStyle:()=>({})});function Tt(){return p.useContext(Gt)}function ho({page:t,children:e,defaultLocale:n="en",currentLocale:r}){const i=p.useMemo(()=>t?JSON.parse(JSON.stringify(t)):null,[JSON.stringify(t)]),a=p.useCallback(()=>{if(!i)return{};const l=r||n;return i.locales?.[l]??{}},[i,n,r]),c=p.useCallback((l="sx")=>{const A=a();return!A||!A.style?{}:Object.entries(A.style||{}).reduce((g,[x,m])=>{if(!m)return g;const y=`${x}Custom`;A.style[y];const f=R({type:x,value:m,format:l});return f?{...g,...f}:g},{})},[a]),s=p.useMemo(()=>({page:i,getPageMeta:a,getPageMetaStyle:c}),[i,a,c]);return o.jsx(Gt.Provider,{value:s,children:e})}const _=["editing","height","locale","dev","sx"];function fo(t){const{className:e,...n}=t;return o.jsx(yo,{...n,className:b.cx("BlockBase-root",e)})}const yo=I.styled(d.Box)`
2
2
  position: relative;
3
3
  color: ${({theme:t})=>t.palette.text.primary};
4
4
  `,Ot=p.createContext({pages:[],project:void 0}),{Provider:bo,Consumer:sr}=Ot;function Yt(){return p.useContext(Ot)}function Bo({icon:t,...e}){return o.jsx(zt.Icon,{icon:t,...e,ref:null})}function ko({icon:t,className:e="",size:n="1rem",...r}){return o.jsx(vo,{component:Bo,className:b.cx("css-icon",e),size:n,...r,icon:t})}const vo=I.styled(d.Box)`
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),N=require("./state-tEydRMV8.js"),q=require("@arcblock/ux/lib/Locale/context"),Y=require("@arcblock/ux/lib/Toast"),Z=require("@blocklet/pages-kit/utils/route"),C=require("@mui/icons-material"),F=require("@mui/lab"),s=require("@mui/material"),ee=require("immer"),te=require("lodash/difference"),a=require("react"),se=require("react-use"),ne=require("./home-DHalB2t8.js"),H=require("./index-D5dbumB6.js"),J=o=>o&&o.__esModule?o:{default:o},z=J(Y),V=J(te);function ie(o){const[x,g]=a.useState(!1);return e.jsx(F.LoadingButton,{...o,loading:o.loading||x,onClick:c=>{const m=o.onClick?.(c);m instanceof Promise&&(g(!0),m.finally(()=>{g(!1)}))}})}const oe=s.createSvgIcon(e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("path",{d:"M7.75732 16.2426L16.2426 7.75736",stroke:"#4B5563",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M16.2426 16.2426L7.75732 7.75735",stroke:"#4B5563",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),"Close");function re(){const[o,x]=a.useState(),g=a.useMemo(()=>o?e.jsx(s.Dialog,{...o}):null,[o]),c=a.useCallback(()=>{x(void 0)},[]),m=a.useCallback(({title:b,content:d,cancelText:P="Cancel",okText:f="Ok",onOk:y,onClose:u,okIcon:L,okColor:k="primary",cancelColor:h="primary",DialogContentProps:v,form:R,...I})=>{x({...I,open:!0,children:e.jsxs("form",{onSubmit:B=>B.preventDefault(),children:[b&&e.jsxs(s.DialogTitle,{className:"between",zIndex:"appBar",bgcolor:"background.paper",sx:{borderBottom:B=>`1px solid ${B.palette.divider}`},children:[e.jsx(s.Box,{children:b}),e.jsx(s.IconButton,{size:"small",onClick:async()=>{c(),u?.()},children:e.jsx(oe,{})})]}),d&&e.jsx(s.DialogContent,{...v,sx:{mt:-3,...v?.sx,bgcolor:"background.paper"},children:e.jsx(s.Box,{sx:{pt:3},children:d})}),e.jsxs(s.DialogActions,{sx:{bgcolor:"background.paper"},children:[e.jsx(s.Button,{variant:"outlined",color:h||"primary",onClick:u??c,children:P}),e.jsx(ie,{variant:"contained",color:k||"primary",startIcon:L,loadingPosition:L?"start":"center",onClick:async()=>{await y?.(),c()},type:"submit",children:f})]})]}),onClose:u??c})},[c]);return{dialog:g,showDialog:m,closeDialog:c}}const ae=({ref:o,mode:x,state:g})=>{const{t:c}=q.useLocaleContext(),[m,b]=a.useState(!1),{dialog:d,showDialog:P}=re(),f=N.useProjectId(),y=a.useCallback(L=>{let k=[];P({title:c("maker.publishToProduction"),content:e.jsxs(s.Box,{sx:{minWidth:300},children:[e.jsx(s.Alert,{color:"warning",icon:e.jsx(C.Warning,{}),children:c("maker.publishToProductionTip")}),e.jsx(s.Box,{sx:{maxHeight:"50vh",overflow:"auto",mt:2},children:e.jsx(ce,{state:g,toMode:x,onChange:h=>k=h,defaultRouteIds:L})})]}),okText:c("maker.publish"),cancelText:c("common.cancel"),onOk:async()=>{if(k?.length===0){const h=c("maker.publishSelectPagesMessage");throw z.default.error(h),new Error(h)}localStorage.setItem(N.getProjectPageVersionKey(f??""),String(new Date().getTime())),b(!0);try{await H.publishPages({mode:x,routes:k}),z.default.success(c("maker.publishSuccessMessage"))}catch(h){throw z.default.error(h.message),h}finally{b(!1)}}})},[x,g,c,f,P]);a.useImperativeHandle(o,()=>({openPublishDialog:y}));const u=a.useCallback(()=>{y()},[y]);return e.jsxs(e.Fragment,{children:[e.jsx(F.LoadingButton,{color:"primary",variant:"contained",size:"small",sx:{mr:1},onClick:u,loading:m,disabled:m,children:c("maker.publish")}),d]})};function le({routePathInfo:o,checked:x,onClick:g,route:c}){const{t:m}=q.useLocaleContext(),b=!o.routeMetaData?.publishedAt||o.routeMetaData?.updatedAt&&new Date(o.routeMetaData?.updatedAt)>new Date(o.routeMetaData?.publishedAt);return e.jsx(s.ListItem,{sx:{pl:4,pr:3},disablePadding:!0,secondaryAction:e.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",minWidth:"auto"},children:[b&&e.jsx(s.Box,{className:"visible",title:m("maker.pages.needPublish"),sx:{mr:.35,color:"warning.main",display:"flex",alignItems:"center"},children:e.jsx(s.Tooltip,{title:m("maker.pages.needPublish"),children:e.jsx(C.Sync,{fontSize:"small",sx:{fontSize:"16px"}})})}),(!o.routeMetaData?.isPublic||!c.isPublic)&&e.jsx(s.Box,{className:"visible",sx:{color:"warning.main"},children:e.jsx(s.Tooltip,{title:m("maker.pages.notPublic"),children:e.jsx(C.VisibilityOff,{fontSize:"small",sx:{fontSize:"16px"}})})})]}),children:e.jsxs(s.ListItemButton,{onClick:g,dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:x,tabIndex:-1})}),e.jsx(s.ListItemText,{primary:o.path,slotProps:{primary:{fontSize:"0.8rem",fontStyle:"italic",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",pr:1}}})]})})}function ce({state:o,toMode:x,onChange:g,defaultRouteIds:c}){const{t:m,locale:b}=q.useLocaleContext(),[d,P]=a.useState(!1),[f,y]=a.useState(()=>c?Object.fromEntries(c.filter(t=>!t.includes("-")).map(t=>[t,!0])):{}),[u,L]=a.useState({}),[k,h]=a.useState(()=>c?Object.fromEntries(c.filter(t=>t.includes("-")).map(t=>[t,!0])):{}),[v,R]=a.useState({}),{loading:I,error:B,value:w}=se.useAsync(()=>H.getPages({mode:x}),[x]);if(B)throw B;const j=a.useMemo(()=>o.routeIds||[],[o]),M=a.useMemo(()=>w?.pageIds||[],[w]),D=a.useMemo(()=>!j||!o.routes?[]:JSON.parse(JSON.stringify(j)).sort((n,i)=>{const r=o.routes?.[n],l=o.routes?.[i];return r?.publishedAt&&new Date(r.publishedAt).getTime()<new Date(r.updatedAt).getTime()?-1:l?.publishedAt&&new Date(l.publishedAt).getTime()<new Date(l.updatedAt).getTime()?1:new Date(r?.updatedAt??"").getTime()-new Date(l?.updatedAt??"").getTime()}),[o,j]),E=a.useMemo(()=>{if(!D)return[];if(!u)return D;const t=[...D].filter(n=>!u[n]);return Object.values(u).forEach(n=>{n.forEach(i=>{t.push(`${i.originalRouteId}-${i.paramOptionIds.join("-")}`)})}),t},[D,u]),O=a.useMemo(()=>!w||!M||!E?[]:V.default(M,E),[E,w,M]),T=a.useMemo(()=>j?[...j].concat(O):O,[j,O]),$=a.useCallback(()=>{const t={};D?.forEach(n=>{const i=o.routes?.[n];if(i&&i.params&&i.params.length>0&&i.paramsOptions&&i.paramsOptions.length>0){const r=Z.generateParamCombinations({basePath:i.path,params:i.params,routeId:i.id,paramsOptions:i.paramsOptions,currentIndex:0,currentParams:[],currentOptionIds:[],result:[]});r.length>0&&(t[i.id]=r)}}),L(t)},[D,o.routes]);a.useEffect(()=>{$()},[$]),a.useEffect(()=>{R(t=>{const n={...t};return Object.keys(u).forEach(i=>{u[i]&&u[i]?.length>0&&n[i]===void 0&&(n[i]=!0)}),n})},[u]);const W=a.useRef(!0);a.useEffect(()=>{h(t=>{const n={...t};return Object.keys(u).length===0||(Object.keys(u).forEach(i=>{const r=u[i]||[],l=d||!!f[i];r.forEach(A=>{const p=`${i}-${A.paramOptionIds.join("-")}`;W.current?n[p]=l||t[p]||!1:n[p]=l})}),W.current=!1),n})},[f,u,d]);const U=(t,n)=>{n.stopPropagation(),R(i=>{const r={...i};return r[t]=!r[t],r})},_=a.useCallback(t=>{y(n=>{const i=ee.produce(n,r=>{d?(Object.assign(r,Object.fromEntries(T.map(l=>[l,!0]))),delete r[t]):r[t]?(delete r[t],O.includes(t)&&(j||[]).filter(l=>o.pages[l]?.slug===w?.pages[t]?.slug).forEach(l=>{delete r[l]})):(r[t]=!0,j&&j.includes(t)&&O.filter(l=>w?.pages[l]?.slug===o.pages[t]?.slug).forEach(l=>{r[l]=!0}))});return P(V.default(T,Object.keys(i)).length===0),i})},[d,T,O,o,w,j]),G=a.useCallback((t,n)=>{const i=`${t}-${n.paramOptionIds.join("-")}`;h(r=>{const l={...r};l[i]=!l[i];const A=u[t]?.every(p=>l[`${t}-${p.paramOptionIds.join("-")}`])??!1;return y(p=>{if(A&&!p[t])return{...p,[t]:!0};if(!A&&p[t]){const S={...p};return delete S[t],S}return p}),l})},[u]),Q=a.useCallback(()=>{P(t=>(t&&y({}),!t))},[]);return a.useEffect(()=>{const t=d?T:Object.keys(f),n=Object.entries(k).filter(([,r])=>r).map(([r])=>r).filter(r=>r!==void 0),i=Array.from(new Set([...t,...n]));g(d?null:i)},[d,f,k,T,g]),I?e.jsx(ne.Loading,{sx:{my:4}}):e.jsxs(s.List,{disablePadding:!0,sx:{maxWidth:700},children:[e.jsx(s.ListItem,{sx:{position:"sticky",top:0,zIndex:1},disablePadding:!0,children:e.jsxs(s.ListItemButton,{onClick:Q,dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d,tabIndex:-1})}),e.jsx(s.ListItemText,{primary:m("common.all")})]})}),D.map(t=>{const n=o.routes?.[t];if(!n)return null;const i=!1,r=u&&u[t]&&u[t]?.length>0,l=v[t]!==!1,A=u[t]||[],p=!n.publishedAt||n.updatedAt&&new Date(n.updatedAt).getTime()>new Date(n.publishedAt).getTime();return e.jsxs(s.Box,{children:[e.jsx(s.ListItem,{sx:{pr:4},disablePadding:!0,secondaryAction:e.jsxs(s.Box,{sx:{display:"flex",alignItems:"center"},children:[p&&e.jsx(s.Tooltip,{title:m("maker.pages.needPublish"),children:e.jsx(C.Sync,{fontSize:"small",sx:{color:"warning.main",fontSize:16,mr:.35}})}),!n.isPublic&&e.jsx(s.Tooltip,{title:m("maker.pages.notPublic"),children:e.jsx(C.VisibilityOff,{fontSize:"small",sx:{color:"warning.main",fontSize:16,mr:.35}})}),i,r&&e.jsx(s.Box,{onClick:S=>U(t,S),sx:{display:"inline-flex",alignItems:"center",mr:.35,cursor:"pointer",color:"info.main"},children:l?e.jsx(C.KeyboardArrowDown,{fontSize:"small",sx:{fontSize:"18px"}}):e.jsx(C.KeyboardArrowRight,{fontSize:"small",sx:{fontSize:"18px"}})})]}),children:e.jsxs(s.ListItemButton,{onClick:()=>_(t),dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d||!!f[t],tabIndex:-1})}),e.jsx(s.ListItemText,{primary:n.path,slotProps:{primary:{noWrap:!0,textOverflow:"ellipsis"},secondary:{noWrap:!0,textOverflow:"ellipsis"}}})]})}),r&&e.jsx(s.Collapse,{in:l,children:e.jsx(s.Box,{children:A.map(S=>{const K=`${t}-${S.paramOptionIds.join("-")}`,X=k[K]||!1;return e.jsx(le,{routePathInfo:S,checked:d||X,onClick:()=>G(t,S),route:n},K)})})})]},t)}),O.map(t=>{const n=w?.pages[t];return n?e.jsx(s.ListItem,{disablePadding:!0,secondaryAction:e.jsx(s.Chip,{color:"warning",label:"deleted",size:"small"}),children:e.jsxs(s.ListItemButton,{onClick:()=>_(t),dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d||!!f[t],tabIndex:-1})}),e.jsx(s.ListItemText,{primary:n.slug,secondary:n.locales?.[b]?.title,slotProps:{primary:{noWrap:!0,textOverflow:"ellipsis"},secondary:{noWrap:!0,textOverflow:"ellipsis"}}})]})},t):null})]})}exports.default=ae;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),N=require("./state-B5PBvcI6.js"),q=require("@arcblock/ux/lib/Locale/context"),Y=require("@arcblock/ux/lib/Toast"),Z=require("@blocklet/pages-kit/utils/route"),C=require("@mui/icons-material"),F=require("@mui/lab"),s=require("@mui/material"),ee=require("immer"),te=require("lodash/difference"),a=require("react"),se=require("react-use"),ne=require("./home-2n7dbQz5.js"),H=require("./index-CaivrAu8.js"),J=o=>o&&o.__esModule?o:{default:o},z=J(Y),V=J(te);function ie(o){const[x,g]=a.useState(!1);return e.jsx(F.LoadingButton,{...o,loading:o.loading||x,onClick:c=>{const m=o.onClick?.(c);m instanceof Promise&&(g(!0),m.finally(()=>{g(!1)}))}})}const oe=s.createSvgIcon(e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("path",{d:"M7.75732 16.2426L16.2426 7.75736",stroke:"#4B5563",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M16.2426 16.2426L7.75732 7.75735",stroke:"#4B5563",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),"Close");function re(){const[o,x]=a.useState(),g=a.useMemo(()=>o?e.jsx(s.Dialog,{...o}):null,[o]),c=a.useCallback(()=>{x(void 0)},[]),m=a.useCallback(({title:b,content:d,cancelText:P="Cancel",okText:f="Ok",onOk:y,onClose:u,okIcon:L,okColor:k="primary",cancelColor:h="primary",DialogContentProps:v,form:R,...I})=>{x({...I,open:!0,children:e.jsxs("form",{onSubmit:B=>B.preventDefault(),children:[b&&e.jsxs(s.DialogTitle,{className:"between",zIndex:"appBar",bgcolor:"background.paper",sx:{borderBottom:B=>`1px solid ${B.palette.divider}`},children:[e.jsx(s.Box,{children:b}),e.jsx(s.IconButton,{size:"small",onClick:async()=>{c(),u?.()},children:e.jsx(oe,{})})]}),d&&e.jsx(s.DialogContent,{...v,sx:{mt:-3,...v?.sx,bgcolor:"background.paper"},children:e.jsx(s.Box,{sx:{pt:3},children:d})}),e.jsxs(s.DialogActions,{sx:{bgcolor:"background.paper"},children:[e.jsx(s.Button,{variant:"outlined",color:h||"primary",onClick:u??c,children:P}),e.jsx(ie,{variant:"contained",color:k||"primary",startIcon:L,loadingPosition:L?"start":"center",onClick:async()=>{await y?.(),c()},type:"submit",children:f})]})]}),onClose:u??c})},[c]);return{dialog:g,showDialog:m,closeDialog:c}}const ae=({ref:o,mode:x,state:g})=>{const{t:c}=q.useLocaleContext(),[m,b]=a.useState(!1),{dialog:d,showDialog:P}=re(),f=N.useProjectId(),y=a.useCallback(L=>{let k=[];P({title:c("maker.publishToProduction"),content:e.jsxs(s.Box,{sx:{minWidth:300},children:[e.jsx(s.Alert,{color:"warning",icon:e.jsx(C.Warning,{}),children:c("maker.publishToProductionTip")}),e.jsx(s.Box,{sx:{maxHeight:"50vh",overflow:"auto",mt:2},children:e.jsx(ce,{state:g,toMode:x,onChange:h=>k=h,defaultRouteIds:L})})]}),okText:c("maker.publish"),cancelText:c("common.cancel"),onOk:async()=>{if(k?.length===0){const h=c("maker.publishSelectPagesMessage");throw z.default.error(h),new Error(h)}localStorage.setItem(N.getProjectPageVersionKey(f??""),String(new Date().getTime())),b(!0);try{await H.publishPages({mode:x,routes:k}),z.default.success(c("maker.publishSuccessMessage"))}catch(h){throw z.default.error(h.message),h}finally{b(!1)}}})},[x,g,c,f,P]);a.useImperativeHandle(o,()=>({openPublishDialog:y}));const u=a.useCallback(()=>{y()},[y]);return e.jsxs(e.Fragment,{children:[e.jsx(F.LoadingButton,{color:"primary",variant:"contained",size:"small",sx:{mr:1},onClick:u,loading:m,disabled:m,children:c("maker.publish")}),d]})};function le({routePathInfo:o,checked:x,onClick:g,route:c}){const{t:m}=q.useLocaleContext(),b=!o.routeMetaData?.publishedAt||o.routeMetaData?.updatedAt&&new Date(o.routeMetaData?.updatedAt)>new Date(o.routeMetaData?.publishedAt);return e.jsx(s.ListItem,{sx:{pl:4,pr:3},disablePadding:!0,secondaryAction:e.jsxs(s.Box,{sx:{display:"flex",alignItems:"center",minWidth:"auto"},children:[b&&e.jsx(s.Box,{className:"visible",title:m("maker.pages.needPublish"),sx:{mr:.35,color:"warning.main",display:"flex",alignItems:"center"},children:e.jsx(s.Tooltip,{title:m("maker.pages.needPublish"),children:e.jsx(C.Sync,{fontSize:"small",sx:{fontSize:"16px"}})})}),(!o.routeMetaData?.isPublic||!c.isPublic)&&e.jsx(s.Box,{className:"visible",sx:{color:"warning.main"},children:e.jsx(s.Tooltip,{title:m("maker.pages.notPublic"),children:e.jsx(C.VisibilityOff,{fontSize:"small",sx:{fontSize:"16px"}})})})]}),children:e.jsxs(s.ListItemButton,{onClick:g,dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:x,tabIndex:-1})}),e.jsx(s.ListItemText,{primary:o.path,slotProps:{primary:{fontSize:"0.8rem",fontStyle:"italic",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",pr:1}}})]})})}function ce({state:o,toMode:x,onChange:g,defaultRouteIds:c}){const{t:m,locale:b}=q.useLocaleContext(),[d,P]=a.useState(!1),[f,y]=a.useState(()=>c?Object.fromEntries(c.filter(t=>!t.includes("-")).map(t=>[t,!0])):{}),[u,L]=a.useState({}),[k,h]=a.useState(()=>c?Object.fromEntries(c.filter(t=>t.includes("-")).map(t=>[t,!0])):{}),[v,R]=a.useState({}),{loading:I,error:B,value:w}=se.useAsync(()=>H.getPages({mode:x}),[x]);if(B)throw B;const j=a.useMemo(()=>o.routeIds||[],[o]),M=a.useMemo(()=>w?.pageIds||[],[w]),D=a.useMemo(()=>!j||!o.routes?[]:JSON.parse(JSON.stringify(j)).sort((n,i)=>{const r=o.routes?.[n],l=o.routes?.[i];return r?.publishedAt&&new Date(r.publishedAt).getTime()<new Date(r.updatedAt).getTime()?-1:l?.publishedAt&&new Date(l.publishedAt).getTime()<new Date(l.updatedAt).getTime()?1:new Date(r?.updatedAt??"").getTime()-new Date(l?.updatedAt??"").getTime()}),[o,j]),E=a.useMemo(()=>{if(!D)return[];if(!u)return D;const t=[...D].filter(n=>!u[n]);return Object.values(u).forEach(n=>{n.forEach(i=>{t.push(`${i.originalRouteId}-${i.paramOptionIds.join("-")}`)})}),t},[D,u]),O=a.useMemo(()=>!w||!M||!E?[]:V.default(M,E),[E,w,M]),T=a.useMemo(()=>j?[...j].concat(O):O,[j,O]),$=a.useCallback(()=>{const t={};D?.forEach(n=>{const i=o.routes?.[n];if(i&&i.params&&i.params.length>0&&i.paramsOptions&&i.paramsOptions.length>0){const r=Z.generateParamCombinations({basePath:i.path,params:i.params,routeId:i.id,paramsOptions:i.paramsOptions,currentIndex:0,currentParams:[],currentOptionIds:[],result:[]});r.length>0&&(t[i.id]=r)}}),L(t)},[D,o.routes]);a.useEffect(()=>{$()},[$]),a.useEffect(()=>{R(t=>{const n={...t};return Object.keys(u).forEach(i=>{u[i]&&u[i]?.length>0&&n[i]===void 0&&(n[i]=!0)}),n})},[u]);const W=a.useRef(!0);a.useEffect(()=>{h(t=>{const n={...t};return Object.keys(u).length===0||(Object.keys(u).forEach(i=>{const r=u[i]||[],l=d||!!f[i];r.forEach(A=>{const p=`${i}-${A.paramOptionIds.join("-")}`;W.current?n[p]=l||t[p]||!1:n[p]=l})}),W.current=!1),n})},[f,u,d]);const U=(t,n)=>{n.stopPropagation(),R(i=>{const r={...i};return r[t]=!r[t],r})},_=a.useCallback(t=>{y(n=>{const i=ee.produce(n,r=>{d?(Object.assign(r,Object.fromEntries(T.map(l=>[l,!0]))),delete r[t]):r[t]?(delete r[t],O.includes(t)&&(j||[]).filter(l=>o.pages[l]?.slug===w?.pages[t]?.slug).forEach(l=>{delete r[l]})):(r[t]=!0,j&&j.includes(t)&&O.filter(l=>w?.pages[l]?.slug===o.pages[t]?.slug).forEach(l=>{r[l]=!0}))});return P(V.default(T,Object.keys(i)).length===0),i})},[d,T,O,o,w,j]),G=a.useCallback((t,n)=>{const i=`${t}-${n.paramOptionIds.join("-")}`;h(r=>{const l={...r};l[i]=!l[i];const A=u[t]?.every(p=>l[`${t}-${p.paramOptionIds.join("-")}`])??!1;return y(p=>{if(A&&!p[t])return{...p,[t]:!0};if(!A&&p[t]){const S={...p};return delete S[t],S}return p}),l})},[u]),Q=a.useCallback(()=>{P(t=>(t&&y({}),!t))},[]);return a.useEffect(()=>{const t=d?T:Object.keys(f),n=Object.entries(k).filter(([,r])=>r).map(([r])=>r).filter(r=>r!==void 0),i=Array.from(new Set([...t,...n]));g(d?null:i)},[d,f,k,T,g]),I?e.jsx(ne.Loading,{sx:{my:4}}):e.jsxs(s.List,{disablePadding:!0,sx:{maxWidth:700},children:[e.jsx(s.ListItem,{sx:{position:"sticky",top:0,zIndex:1},disablePadding:!0,children:e.jsxs(s.ListItemButton,{onClick:Q,dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d,tabIndex:-1})}),e.jsx(s.ListItemText,{primary:m("common.all")})]})}),D.map(t=>{const n=o.routes?.[t];if(!n)return null;const i=!1,r=u&&u[t]&&u[t]?.length>0,l=v[t]!==!1,A=u[t]||[],p=!n.publishedAt||n.updatedAt&&new Date(n.updatedAt).getTime()>new Date(n.publishedAt).getTime();return e.jsxs(s.Box,{children:[e.jsx(s.ListItem,{sx:{pr:4},disablePadding:!0,secondaryAction:e.jsxs(s.Box,{sx:{display:"flex",alignItems:"center"},children:[p&&e.jsx(s.Tooltip,{title:m("maker.pages.needPublish"),children:e.jsx(C.Sync,{fontSize:"small",sx:{color:"warning.main",fontSize:16,mr:.35}})}),!n.isPublic&&e.jsx(s.Tooltip,{title:m("maker.pages.notPublic"),children:e.jsx(C.VisibilityOff,{fontSize:"small",sx:{color:"warning.main",fontSize:16,mr:.35}})}),i,r&&e.jsx(s.Box,{onClick:S=>U(t,S),sx:{display:"inline-flex",alignItems:"center",mr:.35,cursor:"pointer",color:"info.main"},children:l?e.jsx(C.KeyboardArrowDown,{fontSize:"small",sx:{fontSize:"18px"}}):e.jsx(C.KeyboardArrowRight,{fontSize:"small",sx:{fontSize:"18px"}})})]}),children:e.jsxs(s.ListItemButton,{onClick:()=>_(t),dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d||!!f[t],tabIndex:-1})}),e.jsx(s.ListItemText,{primary:n.path,slotProps:{primary:{noWrap:!0,textOverflow:"ellipsis"},secondary:{noWrap:!0,textOverflow:"ellipsis"}}})]})}),r&&e.jsx(s.Collapse,{in:l,children:e.jsx(s.Box,{children:A.map(S=>{const K=`${t}-${S.paramOptionIds.join("-")}`,X=k[K]||!1;return e.jsx(le,{routePathInfo:S,checked:d||X,onClick:()=>G(t,S),route:n},K)})})})]},t)}),O.map(t=>{const n=w?.pages[t];return n?e.jsx(s.ListItem,{disablePadding:!0,secondaryAction:e.jsx(s.Chip,{color:"warning",label:"deleted",size:"small"}),children:e.jsxs(s.ListItemButton,{onClick:()=>_(t),dense:!0,children:[e.jsx(s.ListItemIcon,{children:e.jsx(s.Checkbox,{edge:"start",checked:d||!!f[t],tabIndex:-1})}),e.jsx(s.ListItemText,{primary:n.slug,secondary:n.locales?.[b]?.title,slotProps:{primary:{noWrap:!0,textOverflow:"ellipsis"},secondary:{noWrap:!0,textOverflow:"ellipsis"}}})]})},t):null})]})}exports.default=ae;
@@ -0,0 +1 @@
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"),E=require("@blocklet/pages-kit/utils/common"),te=require("@blocklet/pages-kit/utils/page-model");require("@mui/material");const T=require("@syncedstore/core"),oe=require("@syncedstore/react"),ne=require("ahooks"),M=require("immer"),re=require("lodash/cloneDeep"),se=require("lodash/debounce"),f=require("react"),U=require("react-router-dom"),ce=require("y-indexeddb"),ie=require("y-websocket"),ae=require("yjs");require("@blocklet/pages-kit/types");const A=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=A(Z),le=de(H),fe=A(T),J=A(re),G=A(se);function B(){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 D=window.blocklet?.prefix||"/",q=Y.createAxios({timeout:200*1e3}),me=window.location.protocol==="https:"?"wss":"ws",Se=o=>x.joinURL(`${me}://${window.location.hostname}`,D,`api/${o}/ws/pages`),Pe="z8ia1mAXo8ZE7ytGF36L5uBf9kD2kenhqFGp9";blocklet?.componentMountPoints.find(o=>o.did===Pe)?.mountPoint||x.joinURL(D,"/image-bin");function Ie(o){return o&&!/^(https?:\/\/|\/)/.test(o)?window.location.origin+x.joinURL(D,"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 q.get(`/api/projects/${o}`).then(n=>n.data)}async function be(o){return q.post(`/api/projects/${o.id}/update`,o).then(n=>n.data)}const je=500,F=f.createContext(null);function ve({url:o,name:n,children:u,waitingSynced:l}){const[y,m]=f.useState(!1),{locale:g}=ee.useLocaleContext(),S=$(),v=`${S}:MakerLocalState`,e=`${S}:${n}`,[t,s]=ne.useLocalStorageState(v,{defaultValue:{},listenStorageChange:!0}),r=f.useRef(t);r.current=t;const a=f.useMemo(()=>fe.default({dataSourceIds:[],dataSources:{},pages:{},pageIds:[],routes:{},routeIds:[],components:{},supportedLocales:[],config:{},resources:{}}),[]),c=f.useMemo(()=>T.getYjsDoc(a),[a]);f.useMemo(()=>new ce.IndexeddbPersistence(e,c),[e,c]);const i=f.useMemo(()=>new ie.WebsocketProvider(o,e,c,{params:{},resyncInterval:5*60*1e3}),[o,e,c]),d=f.useCallback(()=>{i&&(i.disconnect(),i.connect())},[i]),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]),[h,b]=f.useState(null),[_,k]=f.useState(!1),[L,R]=f.useState(void 0),j=f.useCallback(async()=>{if(S){k(!0);try{const p=await Ce(S);b(p)}catch(p){console.error("Failed to fetch project:",p)}finally{k(!1)}}},[S]),O=f.useCallback(async(p,I)=>{if(R(void 0),!!S){I?.optimisticUpdate&&h&&b(w=>({...w,...p}));try{const w=await be({...p});b(w)}catch(w){console.error("Failed to update project:",w),I?.optimisticUpdate&&b(h),R(w?.response?.data)}}},[S,h]);f.useEffect(()=>{S&&j()},[S,j]);const N=f.useMemo(()=>({doc:c,state:a,localState:{...t,currentLocale:g},setLocalState:p=>s(typeof p=="function"?I=>p(I??{}):p),undoManager:P,projectState:{project:h,isLoadingProject:_,error:L},updateProject:O,forceSync:d}),[c,a,JSON.stringify(t),s,P,h,_,O,L,g,d]);return f.useEffect(()=>{P.on("stack-item-added",({stackItem:p})=>{const{currentPageId:I,currentLocale:w,pages:C}=r.current;p.meta.set("localState",{currentPageId:I,currentLocale:w,pages:C})}),P.on("stack-item-popped",({stackItem:p})=>{const I=p.meta.get("localState");I&&s(w=>({...w,...I}))})},[P,s]),f.useEffect(()=>{i.awareness.setLocalState(t)},[i,t]),f.useEffect(()=>{i.once("synced",()=>m(!0));const p=()=>{s(C=>({...C,networkStatus:void 0}))},I=()=>{s(C=>({...C,networkStatus:"offline"}))},w=G.default(({status:C})=>{C==="connected"?p():C==="disconnected"&&I()},je);return i.on("status",w),window.addEventListener("online",p),window.addEventListener("offline",I),()=>{i.off("status",w),window.removeEventListener("online",p),window.removeEventListener("offline",I)}},[i,s]),l&&!y?null:X.jsx(F.Provider,{value:N,children:u})}const W=()=>{const o=f.useContext(F);if(!o)throw new Error("Context is null");const n=oe.useSyncedStore(o.state),{setLocalState:u,localState:l}=o,y=U.useNavigate(),m=$(),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:a}=this.currentLocaleMap;return a?r[a]: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:a,defaultLocale:c,fallbackLocale:i}=this.currentLocaleMap;if(a&&r[a])return r[a];if(c&&r[c])return r[c];if(i&&r[i])return r[i]},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=G.default(()=>{u(r=>M.produce(r,a=>{a.customComponentPreviewerProperties??={},a.customComponentPreviewerProperties[t]={...a.customComponentPreviewerProperties[t],...J.default(e[t])},delete e[t]}))},5);return(r,a)=>{const c=e[r]??{};Object.assign(c,a),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]),v=f.useMemo(()=>({addPage:(e,t)=>{const s=e?.id??E.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??E.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 a=n.pages[e];if(!a)throw new Error(`Page ${e} is not exists`);const c={...t,id:t.id??E.nextId(),isTemplateSection:t.isTemplateSection??!0,llmConfig:t.llmConfig??{}},i=J.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 a.sections[c.id]=c,a.sectionIds.splice(s??a.sectionIds.length,0,c.id);i&&(a.dataSource??={},a.dataSource[c.id]=i)}),c},deleteSection:(e,t)=>{const s=n.pages[e];if(!s)throw new Error(`Page ${e} is not exists`);o.doc.transact(()=>{const r=[],a=g.currentPageModel?.getComponentById(t),c=a?.parent;if(a&&(r.push(a.model.id,...a.all().map(i=>i.model.id)),c?.model.component==="layout-block")){const i=c.model.sectionIds?.indexOf(t);i!==void 0&&i!==-1&&(c.model.sectionIds?.splice(i,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(i=>{const d=s.sectionIds.indexOf(i);d!==-1&&s.sectionIds.splice(d,1),s.sections[i]&&delete s.sections[i],s.dataSource?.[i]&&delete s.dataSource?.[i]})})},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 a=g.currentPageModel?.getComponentById(t)?.model;a&&(a.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),i=g.currentPageModel?.getComponentById(r),d=c?.parent,P=i?.parent;P&&d&&P?.model?.id===d?.model?.id?o.doc.transact(()=>{d.model.sectionIds.splice(c.getIndex(),1),d.model.sectionIds.splice(i.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(i.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 a=JSON.parse(JSON.stringify(r.model)),c=Q(a),i=c.id,d=r?.parent;if(d){if(d.model.sections[i]=c,d.model.sectionIds.push(i),g.currentPage?.dataSource?.[t]&&(g.currentPage.dataSource[i]=JSON.parse(JSON.stringify(g.currentPage.dataSource[t])),c.component==="layout-block")){const P=(h,b)=>{const _=h.sectionIds,k=b.sectionIds;_?.forEach((L,R)=>{const j=k?.[R];if(j){if(j&&g.currentPage?.dataSource){const p=g.currentPage.dataSource[j];p&&(g.currentPage.dataSource[L]=JSON.parse(JSON.stringify(p)))}const O=h.sections?.[L],N=b?.sections?.[j];O?.component==="layout-block"&&O.sectionIds&&N?.sectionIds&&P(O,N)}})};c.sectionIds&&a.sectionIds&&P(c,a)}S.setCurrentSectionId(e,i)}return c},addDataSource:e=>{const t=e.id??E.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:v,localActions:S,...g}},$=()=>{const{projectId:o}=U.useParams();return o??B()??""},Oe=()=>window.__PROJECT_SLUG__??"";function V(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 z(o){const{components:n}=o;return n||{}}function K(o){return{...V(o),...z(o)}}const Me=()=>K(W().state);function Q(o){const n=JSON.parse(JSON.stringify(o)),u=E.nextId();if(n.component==="layout-block"){const l={...n.config??{}},y=n.sectionIds?.map(m=>{const g=n.sections?.[m],S=Q(n.sections?.[m]),v=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]??{},[v]:{...n.config?.gridSettings?.[e]?.[m],id:v}},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=q;exports.autoResizeImage=ye;exports.getAllComponents=K;exports.getCustomComponents=z;exports.getImageAbsoluteUrl=Ie;exports.getProjectIdFromPathnameOrWindow=B;exports.getProjectPageVersionKey=ge;exports.getResourceComponents=V;exports.getWssURL=Se;exports.transformValue=pe;exports.useAllComponents=Me;exports.useProjectId=$;exports.useProjectSlug=Oe;exports.useStore=W;
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("./chunks/state-tEydRMV8.js");require("@arcblock/ux/lib/Locale/context");require("@arcblock/ux/lib/Result");require("@arcblock/ux/lib/Theme");require("@blocklet/pages-kit/builtin/page/header");require("@blocklet/pages-kit/contexts/color");require("@blocklet/pages-kit/utils/data-source");require("@blocklet/pages-kit/utils/route");require("@blocklet/ui-react/lib/Header");require("@emotion/css");require("@emotion/react");require("@mui/material");require("ahooks");require("isomorphic-dompurify");require("lodash/cloneDeep");require("lodash/isEmpty");require("lodash/isEqual");require("react");require("react-helmet");require("react-router-dom");require("react-use");require("ufo");require("./chunks/index-D5dbumB6.js");const e=require("./chunks/home-DHalB2t8.js");require("./chunks/session-BRtsDvA-.js");exports.HomeView=e.HomeView;exports.PageRoutes=e.PageRoutes;exports.PageView=e.PageView;exports.PageViewByPath=e.PageViewByPath;exports.PageViewWithDataSource=e.PageViewWithDataSource;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-B5PBvcI6.js");require("@arcblock/ux/lib/Locale/context");require("@arcblock/ux/lib/Result");require("@arcblock/ux/lib/Theme");require("@blocklet/pages-kit/builtin/page/header");require("@blocklet/pages-kit/contexts/color");require("@blocklet/pages-kit/utils/data-source");require("@blocklet/pages-kit/utils/route");require("@blocklet/ui-react/lib/Header");require("@emotion/css");require("@emotion/react");require("@mui/material");require("ahooks");require("isomorphic-dompurify");require("lodash/cloneDeep");require("lodash/isEmpty");require("lodash/isEqual");require("react");require("react-helmet");require("react-router-dom");require("react-use");require("ufo");require("./chunks/index-CaivrAu8.js");const e=require("./chunks/home-2n7dbQz5.js");require("./chunks/session-BRtsDvA-.js");exports.HomeView=e.HomeView;exports.PageRoutes=e.PageRoutes;exports.PageView=e.PageView;exports.PageViewByPath=e.PageViewByPath;exports.PageViewWithDataSource=e.PageViewWithDataSource;exports.TranslucentHeader=e.TranslucentHeader;exports.default=e.Home;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),r=require("@mui/material"),_=require("./chunks/state-tEydRMV8.js"),ye=require("@arcblock/ux/lib/Empty"),O=require("@arcblock/ux/lib/Locale/context"),te=require("@blocklet/code-editor"),Ce=require("@mui/icons-material/AddRounded"),ve=require("@mui/icons-material/ArrowDownward"),ke=require("@mui/icons-material/ArrowUpward"),Pe=require("@mui/icons-material/DeleteOutline"),Se=require("lodash/sortBy"),v=require("react"),re=require("react-use"),ne=require("@blocklet/pages-kit/builtin/color-picker"),N=require("@blocklet/pages-kit/builtin/uploader"),we=require("@iconify-icon/react"),Ie=require("lodash/isEmpty"),Te=require("lodash/set"),Be=require("yaml"),Oe=require("lodash/cloneDeep"),Re=require("@arcblock/ux/lib/Toast"),K=require("@blocklet/pages-kit/components"),Ne=require("@blocklet/pages-kit/utils/property"),le=require("@mui/base"),V=require("@mui/icons-material"),L=require("@syncedstore/core"),ae=require("ahooks"),Ve=require("lodash/assign"),_e=require("lodash/get"),ze=require("lodash/has"),Ee=require("lodash/isEqual"),Ae=require("lodash/isNil"),De=require("lodash/isObject"),Fe=require("lodash/keyBy"),qe=require("lodash/omit"),Le=require("lodash/pick"),Ue=require("lodash/reduce"),A=require("material-ui-popup-state/hooks"),Me=require("react-error-boundary"),We=require("@emotion/css"),$=require("react-dnd"),ce=require("@blocklet/pages-kit/utils/common"),T=t=>t&&t.__esModule?t:{default:t};function Ke(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(s,i,l.get?l:{enumerable:!0,get:()=>t[i]})}}return s.default=t,Object.freeze(s)}const U=T(ye),Je=T(Ce),He=T(ve),Ye=T(ke),$e=T(Pe),z=T(Se),D=T(Ie),ue=T(Te),G=Ke(Be),Q=T(Oe),X=T(Re),Ge=T(Ve),Qe=T(_e),Xe=T(ze),Ze=T(Ee),J=T(Ae),et=T(De),tt=T(Fe),rt=T(qe),st=T(Le),nt=T(Ue);function ot({error:t}){return e.jsx(r.Box,{children:e.jsx(r.Alert,{severity:"error",children:t.message})})}function it({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"warning",variant:"outlined",disabled:s,onClick:t,...l,children:e.jsx($e.default,{fontSize:"small"})})}function lt({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"primary",disabled:s,onClick:t,...l,children:e.jsx(Ye.default,{fontSize:"small"})})}function at({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"primary",disabled:s,onClick:t,...l,children:e.jsx(He.default,{fontSize:"small"})})}function ct({label:t,value:s,onChange:i,disabled:l=!1,itemLabel:f="",emptyHeight:x=40,property:d,renderItem:b,...m}){const{t:u,locale:a}=O.useLocaleContext(),c=re.useUpdate(),o=v.useCallback(g=>{i(_.transformValue(g,d.type))},[i,d.type]),n=v.useMemo(()=>Array.isArray(s)?s:[],[s]),h=v.useCallback(()=>{const g=[...n,""];o(g),c()},[n,o,c]),j=v.useCallback(()=>{if(!d||!d.subProperties)return h();const g={};z.default(Object.values(d.subProperties),"index").forEach(({data:R})=>{if(!R.key)return;const E=R.locales?.[a]?.defaultValue??"";g[R.key]=E});const w=[...n,g];o(w),c()},[n,o,c,d,a,h]),p=v.useCallback(g=>{try{const C=JSON.parse(g);Array.isArray(C)?o(C):console.error("JSON解析结果不是数组")}catch(C){console.error("JSON解析错误:",C)}},[o]),y=v.useCallback(g=>{const C=n.filter((w,R)=>R!==g);o(C),c()},[n,o,c]),P=v.useCallback(g=>{if(g<=0)return;const C=[...n],w=C[g];C[g]=C[g-1],C[g-1]=w,o(C),c()},[n,o,c]),I=v.useCallback(g=>{if(g>=n.length-1)return;const C=[...n],w=C[g];C[g]=C[g+1],C[g+1]=w,o(C),c()},[n,o,c]),S=v.useCallback((g,C)=>{const w=[...n];w[g]=C,o(w)},[n,o]),k=d&&d.subProperties&&Object.keys(d.subProperties).length>0,B=v.useMemo(()=>[{field:"index",headerName:"#",width:40,align:"center",renderCell:({index:g})=>e.jsx(r.Typography,{variant:"body1",sx:{bgcolor:"action.hover",borderRadius:"50%",width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:g+1})},{field:"content",headerName:"",renderCell:({row:g,index:C})=>b&&k?b({item:g,index:C,property:d,onChange:w=>S(C,w)}):e.jsx(r.TextField,{fullWidth:!0,size:"small",disabled:l,value:g,placeholder:f||`${u("item")} ${C+1}`,onChange:w=>S(C,w.target.value),...m})},{field:"actions",headerName:"",width:30,align:"center",renderCell:({index:g})=>e.jsxs(r.Stack,{direction:"column",spacing:.25,children:[e.jsx(lt,{disabled:l||g===0,onClick:()=>P(g)}),e.jsx(at,{disabled:l||g===n.length-1,onClick:()=>I(g)}),e.jsx(it,{disabled:l,onClick:()=>y(g)})]})}],[b,k,d,S,f,u,l,m,y,P,I,n.length]);return k?e.jsxs(r.Stack,{sx:{width:"100%",gap:1},children:[t&&e.jsx(r.FormLabel,{children:t}),n.length>0?e.jsx(r.TableContainer,{component:r.Paper,variant:"outlined",sx:{borderRadius:1,mb:1},children:e.jsxs(r.Table,{size:"small",sx:{"& .MuiTableCell-root":{py:.25,px:1,whiteSpace:"nowrap"},"& .MuiTableCell-head":{backgroundColor:"action.hover",py:.25,px:1},borderCollapse:"collapse"},children:[e.jsx(r.TableHead,{sx:{display:"none"},children:e.jsx(r.TableRow,{children:B.map(g=>e.jsx(r.TableCell,{width:g.width,align:g.align||"left",sx:{fontWeight:"bold"},children:g.renderHeader?g.renderHeader():g.headerName},g.field))})}),e.jsx(r.TableBody,{children:n.map((g,C,w)=>e.jsx(r.TableRow,{sx:{borderBottom:C<w.length-1?"1px solid":"none",borderColor:"divider","&:hover":{backgroundColor:"action.hover"}},children:B.map(R=>e.jsx(r.TableCell,{width:R.width,align:R.align||"left",sx:{borderBottom:"none"},children:R.renderCell({row:g,index:C,onChange:E=>S(C,E)})},`${C}-${R.field}`))},C))})]})}):e.jsx(U.default,{style:{fontSize:12,height:x},children:u("maker.properties.arrayEmpty")}),e.jsx(r.Button,{fullWidth:!0,size:"small",variant:"outlined",disabled:l,startIcon:e.jsx(Je.default,{}),onClick:j,children:u("maker.properties.addArrayItem")})]}):e.jsxs(r.Stack,{sx:{width:"100%",gap:1},children:[t&&e.jsx(r.FormLabel,{children:t}),e.jsx(r.Box,{sx:{border:1,borderColor:"divider",borderRadius:1,minHeight:150},children:e.jsx(te.CodeEditor,{keyId:d.id,locale:a,language:"json",value:JSON.stringify(n,null,2),onChange:g=>p(g||""),fullScreenOptions:{enableEscExit:!0,targetContainer:()=>document.getElementById("parameters-config-dialog")||null}},d.id)})]})}function ut({ref:t,showMarkdown:s,markdown:i,onMarkdownChange:l,showUploader:f,value:x,meta:d,onChange:b,...m}){const[u,a]=v.useState("");v.useEffect(()=>{a(x||"")},[x,a]);const c=async()=>{if(u!==x){const n=_.getImageAbsoluteUrl(u);if(!n){b(u,void 0);return}const h=await N.getImageSize(n).catch(()=>N.getVideoSize(n)).catch(()=>{});b(u,{...h,filename:u})}};re.useDebounce(()=>{u!==x&&b(u)},300,[u]),v.useImperativeHandle(t,()=>({submit:c}));const o={};return f&&(o.InputProps={sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mx:.5},children:e.jsx(N.UploaderButton,{onChange:async({response:n})=>{const h=n?.data?.filename,j=_.getImageAbsoluteUrl(h)||"";let p={};j&&(p=await N.getImageSize(j).catch(()=>N.getVideoSize(j)).catch(()=>{})),b(h,{...p,filename:h})}})})}),e.jsx(r.TextField,{size:"small",fullWidth:!0,...m,label:e.jsxs(r.Stack,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[m.label,s&&e.jsxs(e.Fragment,{children:[" (",e.jsx(r.FormControlLabel,{checked:i,label:e.jsx(r.Box,{component:we.Icon,icon:"tabler:markdown",sx:{verticalAlign:"middle"}}),labelPlacement:"start",control:e.jsx(r.Switch,{size:"small"}),sx:{ml:.25,pr:1},onChange:(n,h)=>l?.(h)}),")"]})]}),value:u,onChange:n=>a(n.target.value),...o,onKeyDown:n=>{n.keyCode!==229&&n.key==="Enter"&&c()},slotProps:{inputLabel:{shrink:!0,...m.InputLabelProps}}})}function dt({value:t,onChange:s,disableGradient:i=!1,...l}){const f=v.useRef(null);return e.jsxs(e.Fragment,{children:[e.jsx(ut,{...l,value:t,onChange:s,InputProps:{endAdornment:e.jsx(r.InputAdornment,{position:"end",children:e.jsx(ne.ColorItem,{color:t??"",style:{width:"1.5rem",height:"1.5rem",padding:0},onClick:()=>{f.current?.open({value:t??""})}})})}}),e.jsx(ne.ConfigColorDialog,{ref:f,onSave:({value:x},d)=>{s(x),d()},disableGradient:i})]})}function pt({label:t,value:s,onChange:i,property:l,component:f,defaultLocale:x,allComponents:d,PropertyValueField:b,onUpload:m}){const{locale:u}=O.useLocaleContext(),a=v.useRef(null);if(!D.default(l.subProperties)){const o=z.default(Object.values(l.subProperties||{}),"index").filter(n=>n.data.visible!==!1&&n.data.key);return e.jsxs(r.Stack,{sx:{width:"100%"},children:[e.jsx(r.FormLabel,{sx:{px:.25,py:.5},children:t}),e.jsx(r.Box,{children:e.jsx(r.Box,{sx:{position:"relative"},children:o.map((n,h)=>{const{data:j}=n,p=j.key??j.id,y=h===o.length-1;let P=null;try{s&&typeof s=="object"?P=s[p]:typeof s=="string"&&(P=(l.type==="yaml"?G.parse(s||""):JSON.parse(s||"{}"))[p])}catch{}P==null&&(j.locales&&u&&j.locales[u]?P=j.locales[u].defaultValue:j.locales&&x&&j.locales[x]&&(P=j.locales[x].defaultValue));const I=k=>{try{let B={};if(typeof s=="string")try{B=l.type==="yaml"?G.parse(s||""):JSON.parse(s||"{}")}catch{}else typeof s=="object"&&s!==null&&(B={...s});ue.default(B,p,k);const g=_.transformValue(B,l.type);i?.(g)}catch(B){console.error("Error updating property:",B)}},S=8;return e.jsxs(r.Box,{sx:{mb:y?0:1,display:"flex",flexDirection:"row"},children:[e.jsxs(r.Box,{sx:{position:"relative",width:24,flexShrink:0},children:[e.jsx(r.Box,{sx:{position:"absolute",left:S,top:0,height:16,width:0,borderLeft:"1px dashed",borderColor:"divider"}}),e.jsx(r.Box,{sx:{position:"absolute",left:S,top:16,width:12,height:0,borderTop:"1px dashed",borderColor:"divider"}}),!y&&e.jsx(r.Box,{sx:{position:"absolute",left:S,top:16,bottom:-8,width:0,borderLeft:"1px dashed",borderColor:"divider"}})]}),e.jsx(r.Box,{sx:{flexGrow:1},children:e.jsx(b,{component:f,property:j,value:P,onChange:I,size:"small",fullWidth:!0,defaultLocale:x,allComponents:d})})]},j.id)})})})]})}return e.jsx(r.Stack,{sx:{width:"100%",gap:2},children:e.jsxs(r.Stack,{sx:{width:"100%",position:"relative",pt:1,pb:"6px",px:"1px",minHeight:50,".monaco-editor,.overflow-guard":{borderRadius:1}},children:[e.jsx(r.FormLabel,{sx:{position:"absolute",left:0,top:0,transform:"translate(0px, -7px) scale(0.75)"},children:t}),e.jsx(te.CodeEditor,{keyId:l.id,locale:u,language:l.type==="yaml"?"yaml":"json",value:typeof s=="string"?s:"",onChange:o=>{i?.(o)},onUpload:o=>{a.current=o,m&&m(o)},fullScreenOptions:{enableEscExit:!0,targetContainer:()=>document.getElementById("parameters-config-dialog")||null}},l.id),e.jsx(r.Box,{component:"fieldset",sx:{pointerEvents:"none",position:"absolute",left:0,top:-5,width:"100%",height:"100%",border:1,borderColor:"rgba(0, 0, 0, 0.23)",borderRadius:1,px:1,py:0},children:e.jsx(r.Box,{component:"legend",sx:{fontSize:"0.75em"},children:e.jsx(r.Box,{component:"span",sx:{opacity:0},children:t})})})]})})}const xt=["string","multiline","json","yaml","url","component","custom","array"];function oe(t){return t.type?!xt.includes(t.type):!1}function de({disabled:t,list:s,renderItem:i,...l}){const f=v.useRef(null),x=v.useId(),d=ae.useUpdate(),b=z.default(Object.entries(s),n=>n[1].index).map(n=>n[0]),m=v.useRef(b),u=v.useCallback(n=>{m.current=n,d()},[d]),a=v.useCallback(({index:n},{index:h})=>{const j=[...m.current];j.splice(h,0,...j.splice(n,1)),u(j)},[u]);v.useEffect(()=>{u(b)},[b.join("-")]);const[{isOver:c},o]=$.useDrop({accept:x,collect:n=>({isOver:n.isOver()}),canDrop:()=>!t,drop:()=>{const n=()=>{m.current.forEach((j,p)=>{const y=s[j];y&&(y.index=p)})},h=L.getYjsValue(s)?.doc;h?h.transact(()=>{n()}):n()}});return v.useEffect(()=>{c||u(b)},[c]),o(f),e.jsx(r.Box,{...l,ref:f,className:We.cx(c&&"isDragging"),children:m.current.map((n,h)=>e.jsx(mt,{type:x,disabled:t,id:n,index:h,itemIndex:j=>m.current.indexOf(j),move:a,children:j=>{const p=s[n];return p?i(p.data,h,j):null}},n))})}function mt({disabled:t,id:s,index:i,type:l,children:f,itemIndex:x,move:d}){const b=v.useRef(void 0),[{isDragging:m},u,a]=$.useDrag({type:l,item:()=>({id:s}),canDrag:()=>!t,collect:o=>({isDragging:o.isDragging()})}),[,c]=$.useDrop({accept:l,canDrop:()=>!t,hover(o,n){if(!b.current)return;const h=x(o.id),j=i;if(h===j)return;const p=b.current?.getBoundingClientRect(),y=(p.bottom-p.top)/2,I=n.getClientOffset().y-p.top;h<j&&I<y||h>j&&I>y||d({id:o.id,index:h},{id:s,index:i})}});return typeof f=="function"?f({isDragging:m,drag:u,drop:o=>(b.current=o,c(o)),preview:a}):(u(c(a(b))),e.jsx(r.Box,{ref:b,children:f}))}function ft({drop:t,preview:s,drag:i,disabled:l,isDragging:f,children:x,onDelete:d,onVisibilityChange:b,visible:m=!0,actions:u,alwaysShowActions:a=!1}){const{t:c}=O.useLocaleContext();return e.jsx(r.Box,{ref:t,sx:{":hover .hover-visible":{maxWidth:"100%"},opacity:m?1:.5},children:e.jsxs(r.Box,{sx:{position:"relative"},children:[e.jsx(r.Box,{ref:s,sx:{flex:1,borderRadius:.5,bgcolor:f?"action.hover":"background.paper",opacity:.9999},children:x}),!l&&e.jsx(r.Box,{className:a?"":"hover-visible",sx:{maxWidth:a?"100%":0,overflow:"hidden",position:"absolute",right:2,top:2,transition:"max-width 0.3s ease-in-out"},children:e.jsxs(r.Stack,{direction:"row",sx:{bgcolor:o=>r.alpha(o.palette.grey[200],.9),borderRadius:1,p:.5,[`.${r.buttonClasses.root}`]:{minWidth:24,width:24,height:24,p:0}},children:[u,b&&e.jsx(r.Tooltip,{title:c(m?"hideParameter":"showParameter"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{onClick:()=>b(!m),children:m?e.jsx(V.VisibilityOffRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}}):e.jsx(V.VisibilityRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}})})}),d&&e.jsx(r.Tooltip,{title:c("delete"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{onClick:d,children:e.jsx(V.DeleteOutlineRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}})})}),e.jsx(r.Tooltip,{title:c("dragSort"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{ref:i,children:e.jsx(V.DragIndicatorRounded,{sx:{color:"grey.500"}})})})]})})]})})}function ht(t){const s=["string","json","array","url","multiline"],i=["style","fontSize","color","content","type"];return!!(s.includes(t.type||"")&&!i.includes(t.key||""))}function bt(t,s,i){return t.locales&&t.locales[s]&&t.locales[s].name?t.locales[s].name:i&&t.locales&&t.locales[i]&&t.locales[i].name?t.locales[i].name:t.key?t.key:t.id}const pe=(t,s,i,l)=>{const f={};return z.default(Object.entries(t),([,d])=>d.index).forEach(([d,b])=>{const m=b.data;if(!m)return;const u=m.key||m.id,a=i?bt(m,i,l||""):u,c=s?.[m.id],o={key:u,isNeedGenerate:c?.isNeedGenerate??ht(m),describe:c?.describe??"",displayName:a};m.subProperties&&!D.default(m.subProperties)&&(o.subProperties=pe(m.subProperties,c?.subProperties,i,l)),f[m.id]=o}),f};function jt({open:t,onClose:s,onConfirm:i,component:l,initialConfig:f,locale:x,defaultLocale:d,title:b,loading:m=!1}){const{t:u}=O.useLocaleContext(),[a,c]=v.useState(null);v.useEffect(()=>{if(t&&l){const p={properties:{}};if(l.properties){const y=f?.properties;p.properties=pe(l.properties,y,x,d)}c(p)}},[t,l,f,x,d]);const o=()=>{s()},n=()=>{a&&(i(a),s())},h=(p,y,P)=>{if(!a||!p.length)return;const I=JSON.parse(JSON.stringify(a));let S=I.properties,k=null;for(let g=0;g<p.length-1;g++){const C=p[g];if(!C||!S[C])return;k=S;const w=S[C];w.subProperties||(w.subProperties={}),S=w.subProperties}const B=p[p.length-1];if(B){if("isNeedGenerate"in P){const g=P.isNeedGenerate,C={...y,...P};if(y.subProperties&&!D.default(y.subProperties)){const w=(R,E)=>{const q={};return Object.entries(R).forEach(([ge,M])=>{const Y={...M};E!==null&&(Y.isNeedGenerate=E),M.subProperties&&!D.default(M.subProperties)&&(Y.subProperties=w(M.subProperties,E!==null?E:null)),q[ge]=Y}),q};C.subProperties=w(y.subProperties,g===!1?!1:null)}if(p.length===1)I.properties[B]=C;else if(k&&p.length>=2){const w=p[p.length-2];w&&k[w]&&(k[w].subProperties||(k[w].subProperties={}),k[w].subProperties[B]=C)}}else if(p.length===1)I.properties[B]={...y,...P};else if(k&&p.length>=2){const g=p[p.length-2];g&&k[g]&&k[g].subProperties&&(k[g].subProperties[B]={...y,...P})}c(I)}},j=(p,y=[],P=!0)=>{if(!p||D.default(p))return e.jsx(U.default,{children:u("maker.properties.noProperties")});const I=z.default(Object.entries(p),([,S])=>S.displayName);return e.jsx(r.Stack,{spacing:1.5,children:I.map(([S,k],B)=>{const g=[...y,S],C=B===I.length-1,w=k.subProperties&&!D.default(k.subProperties),R=k.displayName||S,E=!P;return e.jsx(r.Box,{sx:{position:"relative"},children:e.jsxs(r.Stack,{direction:"row",children:[y.length>0&&e.jsxs(r.Box,{sx:{position:"relative",width:24,flexShrink:0},children:[e.jsx(r.Box,{sx:{position:"absolute",left:8,top:0,height:16,width:0,borderLeft:"1px dashed",borderColor:"divider"}}),e.jsx(r.Box,{sx:{position:"absolute",left:8,top:16,width:12,height:0,borderTop:"1px dashed",borderColor:"divider"}}),!C&&e.jsx(r.Box,{sx:{position:"absolute",left:8,top:16,bottom:-12,width:0,borderLeft:"1px dashed",borderColor:"divider"}})]}),e.jsxs(r.Stack,{spacing:1.5,sx:{flexGrow:1},children:[e.jsxs(r.Stack,{direction:{xs:"column",md:"row"},spacing:1.5,sx:{alignItems:{xs:"flex-start",md:"center"},width:"100%"},children:[e.jsx(r.FormControlLabel,{control:e.jsx(r.Checkbox,{checked:k.isNeedGenerate,disabled:E,onChange:q=>{h(g,k,{isNeedGenerate:q.target.checked})}}),label:R,sx:{minWidth:"180px",maxWidth:"280px",mr:2,"& .MuiFormControlLabel-label":{wordBreak:"break-word"}}}),e.jsx(r.TextField,{size:"small",fullWidth:!0,label:u("maker.properties.llmPropertyDescribe"),value:k.describe,onChange:q=>{h(g,k,{describe:q.target.value})},disabled:!k.isNeedGenerate})]}),w&&e.jsx(r.Box,{sx:{ml:3},children:j(k.subProperties,g,k.isNeedGenerate&&P)})]})]})},S)})})};return e.jsxs(r.Dialog,{open:t,onClose:o,maxWidth:"lg",fullWidth:!0,children:[e.jsx(r.DialogTitle,{children:b||u("maker.properties.llmConfigTitle")}),e.jsx(r.DialogContent,{children:e.jsx(r.Box,{sx:{my:3},children:m?e.jsx(r.Typography,{children:u("maker.properties.loading")}):l?a?e.jsxs(r.Stack,{spacing:3,children:[e.jsx(r.Typography,{variant:"subtitle2",children:u("maker.properties.llmConfigInstructions")}),j(a.properties)]}):e.jsx(r.Typography,{children:u("maker.properties.loading")}):e.jsx(r.Typography,{color:"error",children:u("maker.properties.componentNotFound")})})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{onClick:o,children:u("common.cancel")}),e.jsx(r.Button,{variant:"contained",onClick:n,disabled:!a||m,children:u("common.confirm")})]})]})}function gt({label:t,value:s,onChange:i}){const[l,f]=v.useState(!1);return e.jsxs(r.Stack,{sx:{gap:1},children:[e.jsx(r.TextField,{label:t,size:"small",value:s,onChange:x=>i?.(x.target.value),slotProps:{input:{sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",children:e.jsx(N.UploaderButton,{onChange:({response:x})=>{const d=x?.data?.filename;d&&i?.(d)}})})}}}),s&&e.jsx(r.Box,{component:"img",src:_.getImageAbsoluteUrl(s),alt:t,onClick:()=>f(!0),sx:{maxWidth:100,maxHeight:100,width:"100%",objectFit:"contain",borderRadius:1,cursor:"pointer"}}),e.jsx(r.Dialog,{open:l,onClose:()=>f(!1),children:e.jsx(r.Box,{component:"img",sx:{objectFit:"contain"},src:_.getImageAbsoluteUrl(s),alt:t})})]})}function Z(t,s=""){return nt.default(t,(i,l,f)=>{const x=s?`${s}.${f}`:f;return et.default(l)?Ge.default(i,Z(l,x)):i[x]=l,i},{})}const yt=[{value:"string",label:"Text"},{value:"multiline",label:"Text (Multiline)"},{value:"number",label:"Number"},{value:"decimal",label:"Decimal"},{value:"boolean",label:"Boolean"},{value:"color",label:"Color"},{value:"url",label:"URL (Upload)"},{value:"json",label:"JSON"},{value:"yaml",label:"YAML"},{value:"array",label:"Array"},{value:"component",label:"Component"},{value:"custom",label:"Custom (Render by a Component)"}];function W(t,s,i){return!t||!i?!1:Object.values(t).some(({data:l})=>l.id!==s&&l.key===i)}function ee(t,s){return!t||!s?!1:t[s]?.data.visible??!0}function Ct({componentId:t}){const{state:{components:s}}=_.useStore(),l=s[t]?.data;return l?e.jsx(r.Stack,{sx:{maxHeight:"100%",overflow:"auto"},children:e.jsx(r.Box,{sx:{p:2},children:e.jsx(Me.ErrorBoundary,{FallbackComponent:ot,resetKeys:[t],children:e.jsx(vt,{value:l,componentId:t})})})}):null}function vt({value:t,componentId:s}){const{t:i}=O.useLocaleContext(),{localState:{currentLocale:l,customComponentPreviewerProperties:f},state:{config:{defaultLocale:x}},localActions:{setCustomComponentPreviewerProperties:d}}=_.useStore(),b=L.getYjsValue(t).doc,m=_.useAllComponents(),u=v.useMemo(()=>f?.[s]??{},[s,f]),a=ae.useReactive({componentId:s,propertiesValue:{...u}});return v.useEffect(()=>{a.componentId!==s&&(a.componentId=s,a.propertiesValue={...u})},[s,u,a]),v.useEffect(()=>{if(a.componentId!==s)return;const c=Object.fromEntries(Object.values(t.properties??{}).map(({data:o})=>[o.id,{value:a.propertiesValue[o.id]?.value??Ne.parsePropertyValue(o,o.locales?.[l]?.defaultValue??o.locales?.[x]?.defaultValue,{locale:l,defaultLocale:x})}]));d(s,c)},[JSON.stringify(a.propertiesValue),s,a.componentId]),e.jsx(r.Stack,{sx:{height:"100%"},children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsx(xe,{config:t}),e.jsx(fe,{config:t,currentLocale:l,defaultLocale:x,allComponents:m,onUpdateConfig:c=>{b.transact(()=>{c(t)})}}),e.jsxs(r.Stack,{direction:"row",sx:{gap:2,justifyContent:"space-between",alignItems:"center"},children:[e.jsx(r.Typography,{variant:"subtitle1",children:i("renderer")}),e.jsxs(r.TextField,{hiddenLabel:!0,size:"small",select:!0,value:t.renderer?.type||"react-component",onChange:c=>{b.transact(()=>{const o=c.target.value;t.renderer??={type:o},t.renderer.type=o})},slotProps:{select:{autoWidth:!0}},children:[e.jsx(r.MenuItem,{value:"react-component",children:"React Component"}),e.jsx(r.MenuItem,{value:"component",children:"Custom Component"})]})]}),t.renderer?.type==="component"&&e.jsx(Bt,{value:t}),t.renderer?.type==="react-component"&&e.jsx(Tt,{value:t}),e.jsx(se,{config:t,currentLocale:l,defaultLocale:x,allComponents:m,propertiesValue:a.propertiesValue,onChange:({value:c,id:o,path:n})=>{const h=[...n,"data"];if(!Qe.default(t,h)){X.default.warning(i("cannotFindPropertyKey",{key:h.join(".")}));return}a.propertiesValue[o]={value:c.value}}})]})})}function xe({config:t}){const{t:s}=O.useLocaleContext();return e.jsx(N.UploaderProvider,{children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsx(r.Typography,{variant:"subtitle1",children:s("basicInfo")}),e.jsx(r.TextField,{label:s("name"),size:"small",value:t.name||"",onChange:i=>t.name=i.target.value}),e.jsx(r.TextField,{label:s("description"),size:"small",multiline:!0,minRows:2,maxRows:10,value:t.description||"",onChange:i=>t.description=i.target.value,slotProps:{input:{endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mt:-1.5},children:e.jsx(Ot,{config:t})})},htmlInput:{maxLength:200}}}),e.jsx(r.Autocomplete,{size:"small",options:[],multiple:!0,freeSolo:!0,value:t.tags??[],onChange:(i,l)=>t.tags=l,renderInput:i=>e.jsx(r.TextField,{label:s("tags"),...i})}),e.jsx(gt,{label:s("previewImage"),value:t.previewImage||"",onChange:i=>t.previewImage=i})]})})}function me({data:t,params:s,visible:i,config:l,currentLocale:f,defaultLocale:x,allComponents:d,onUpdateConfig:b}){const{t:m}=O.useLocaleContext(),u=v.useMemo(()=>t.type==="json"||t.type==="yaml"||t.type==="array"?wt:F,[t.type]);return e.jsx(ft,{preview:s.preview,drop:s.drop,drag:s.drag,isDragging:s.isDragging,onDelete:()=>{b(a=>{if(a.properties){const o=Object.entries(a.properties).sort(([,h],[,j])=>h.index-j.index);delete a.properties[t.id],o.filter(([h])=>h!==t.id).forEach(([,h],j)=>{h.index=j})}})},visible:i,onVisibilityChange:a=>{b(c=>{const o=c.properties[t.id].data;o.visible=a})},alwaysShowActions:!0,children:e.jsxs(r.Stack,{direction:"column",sx:{gap:2},children:[e.jsx(r.TextField,{label:m("key"),size:"small",required:!0,sx:{width:"calc(100% - 80px - 8px)",flex:1,"& .MuiOutlinedInput-root":{borderColor:t.key?W(l.properties,t.id,t.key)?"warning.main":void 0:"error.main"},"& .MuiFormLabel-root":{color:t.key?W(l.properties,t.id,t.key)?"warning.main":"text.secondary":"error.main"},"& .MuiFormLabel-root.Mui-focused":{color:t.key?W(l.properties,t.id,t.key)?"warning.main":"primary.main":"error.main"}},value:t.key||"",onChange:a=>{b(c=>{const o=c.properties[t.id].data;o.key=a.target.value.trim()})},slotProps:{input:{endAdornment:!t.key||t.key&&W(l.properties,t.id,t.key)?e.jsx(r.InputAdornment,{position:"end",sx:{width:16,ml:0},children:e.jsx(r.Tooltip,{title:t.key?m("duplicateKey"):m("requiredKey"),children:e.jsx(V.InfoRounded,{sx:{color:t.key?"warning.main":"error.main",fontSize:16}})})}):null}}}),e.jsxs(r.Stack,{direction:"row",sx:{gap:1},children:[e.jsx(r.TextField,{label:m("label"),size:"small",sx:{flex:1},value:(t.locales?.[f]?.name??t.locales?.[x]?.name)||"",onChange:a=>{b(c=>{const o=c.properties[t.id].data;o.locales??={},o.locales[f]??={},o.locales[f].name=a.target.value})}}),e.jsx(r.TextField,{label:m("type"),size:"small",select:!0,sx:{flex:1},value:t.type==="string"&&t.multiline?"multiline":t.type||"string",onChange:a=>{b(c=>{const o=c.properties[t.id].data;if(o.locales)for(const h of Object.keys(o.locales))o.locales[h].defaultValue=void 0;const n=a.target.value;n==="multiline"?(o.type="string",o.multiline=!0):(typeof o.multiline<"u"&&delete o.multiline,o.type=n)})},children:yt.map(a=>e.jsx(r.MenuItem,{value:a.value,children:a.label},a.value))})]}),e.jsxs(r.Stack,{direction:"row",sx:{gap:1},children:[e.jsx(u,{allComponents:d,defaultLocale:x,component:l,property:t,label:m("defaultValue"),size:"small",fullWidth:!0,value:t.locales?.[f]?.defaultValue,onChange:(a,c)=>{b(o=>{const n=o.properties[t.id].data;if(c?.forceUpdateProperty){const h=Z(n),j=Z(a);Object.keys(j).forEach(p=>{h[p]||ue.default(n,p,j[p])})}else n.locales??={},n.locales[f]??={},n.locales[f].defaultValue=a})}}),t.type==="custom"?e.jsx(r.Box,{children:e.jsx(Pt,{property:t,allComponents:d})}):null]})]})})}function kt(t,s){const[i,l]=v.useState(0);return v.useEffect(()=>{const x=setTimeout(()=>{if(t.current){let d=t.current.parentElement,b=0;for(;d;)d.classList.contains("property-container")&&b++,d=d.parentElement;l(b)}},100);return()=>clearTimeout(x)},[t,s]),i}function fe({config:t,currentLocale:s,defaultLocale:i,allComponents:l,onUpdateConfig:f,useI18nEditor:x=!0}){const{t:d}=O.useLocaleContext(),b=A.usePopupState({variant:"dialog"}),m=t.properties&&z.default(Object.values(t.properties),"index");return e.jsx(N.UploaderProvider,{children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsxs(r.Stack,{direction:"row",sx:{gap:1,alignItems:"center",justifyContent:"space-between"},children:[e.jsx(r.Typography,{variant:"subtitle1",children:d("properties")}),e.jsx(r.Box,{sx:{flex:1}}),x&&e.jsx(r.Button,{sx:{minWidth:32,minHeight:32,p:0},...A.bindTrigger(b),children:e.jsx(V.TranslateRounded,{fontSize:"small"})})]}),t.properties&&Object.keys(t.properties).length>0?e.jsx(de,{component:r.Stack,gap:2,list:t.properties,renderItem:(u,a,c)=>{const o=ee(t.properties,u.id);return e.jsx(r.Paper,{elevation:0,className:"property-container",sx:{p:1.25,borderRadius:1,border:o?"1px solid":"1px dashed",borderColor:"divider"},children:e.jsx(r.Stack,{sx:{gap:2},children:e.jsx(me,{data:u,params:c,visible:o,config:t,currentLocale:s,defaultLocale:i,allComponents:l,onUpdateConfig:f})})},u.id)}}):e.jsx(U.default,{style:{fontSize:12},children:d("maker.properties.noProperties")}),e.jsx(r.Button,{fullWidth:!0,variant:"outlined",className:"ignore-style-override",onClick:()=>{f(u=>{const a=ce.nextId();u.properties??={},u.properties[a]??={index:m?.length||0,data:{id:a}}})},startIcon:e.jsx(V.AddRounded,{}),children:d("addObject",{object:d("property")})}),x&&e.jsx(he,{...A.bindDialog(b),component:t})]})})}function Pt({property:t,allComponents:s}){const i=A.usePopupState({variant:"popper"});return e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{sx:{minWidth:0},...A.bindTrigger(i),children:e.jsx(V.SettingsRounded,{fontSize:"small"})}),e.jsx(r.Popper,{...A.bindPopper(i),children:e.jsx(le.ClickAwayListener,{onClickAway:i.close,children:e.jsx(r.Paper,{children:e.jsx(r.Box,{sx:{width:500,p:2},children:e.jsx(H,{value:t.componentId,onChange:(l,f)=>t.componentId=f,allComponents:s})})})})})]})}function St({value:t,valueImmutable:s,onChange:i,defaultLocale:l,allComponents:f}){const[x,d]=v.useState(!1),{t:b,locale:m}=O.useLocaleContext(),u=typeof t?.componentId=="string"?f[t.componentId]?.data:void 0;return u?e.jsxs(r.Box,{sx:{width:"100%",position:"relative"},children:[e.jsx(r.IconButton,{sx:{minWidth:0},disabled:!u,size:"small",onClick:()=>d(!x),color:x?"primary":"default",children:e.jsx(V.SettingsRounded,{fontSize:"small"})}),x&&e.jsx(r.Collapse,{in:x,timeout:"auto",unmountOnExit:!0,sx:{width:"100%",zIndex:10},children:e.jsxs(r.Paper,{elevation:1,sx:{mt:1,p:2,borderRadius:1,border:"1px solid",borderColor:"divider",width:"100%"},children:[e.jsx(r.Box,{sx:{width:"100%",mb:2},children:e.jsx(se,{config:u,currentLocale:m,defaultLocale:l,allComponents:f,propertiesValue:t?.properties,onChange:({id:a,value:c})=>{const o=Q.default(c.value),n=JSON.parse(JSON.stringify(t));n?.componentId&&(s?i?.({...n,properties:{...n.properties,[a]:{value:o}}}):(n.properties=n.properties??{},n.properties[a]={value:o},i?.(n)))}})}),e.jsx(r.Button,{size:"small",onClick:()=>d(!1),sx:{mt:1},children:b("close")})]})})]}):null}function he({type:t="properties",component:s,...i}){const{t:l}=O.useLocaleContext(),{state:{components:f,supportedLocales:x,config:{defaultLocale:d}}}=_.useStore(),b=_.useAllComponents(),m=L.getYjsValue(s).doc,u=t==="properties"?s.properties:t==="parameters"&&s.renderer?.type==="component"?f[s.renderer.componentId]?.data.properties:void 0,a=s.renderer?.type==="component"?s:void 0;return e.jsxs(r.Dialog,{...i,fullWidth:!0,maxWidth:"lg",children:[e.jsx(r.DialogTitle,{children:l("i18nEditorTitle")}),e.jsx(r.DialogContent,{children:u&&e.jsx(r.Stack,{children:e.jsxs(r.Table,{stickyHeader:!0,sx:{td:{verticalAlign:"top"}},children:[e.jsx(r.TableHead,{children:e.jsx(r.TableRow,{children:x.map(({locale:c,name:o})=>e.jsx(r.TableCell,{children:e.jsxs(r.Typography,{sx:{color:"text.primary"},children:[o,d===c&&e.jsx(V.StarRounded,{sx:{fontSize:12}})]})},c))})}),e.jsx(r.TableBody,{children:z.default(Object.values(u),"index").map(({data:c})=>e.jsx(r.TableRow,{children:x.map(({locale:o})=>e.jsx(r.TableCell,{children:e.jsx(r.Stack,{sx:{gap:1},children:t==="properties"?e.jsxs(e.Fragment,{children:[e.jsx(r.TextField,{size:"small",label:"Key",value:c.key||"",onChange:n=>{m.transact(()=>{c.key=n.target.value.trim()})}}),e.jsx(r.TextField,{size:"small",label:l("label"),value:(c.locales?.[o]?.name??c.locales?.[d]?.name)||"",onChange:n=>{m.transact(()=>{c.locales??={},c.locales[o]??={},c.locales[o].name=n.target.value})}}),e.jsx(r.Box,{children:e.jsx(F,{allComponents:b,defaultLocale:d,component:s,property:c,size:"small",fullWidth:!0,label:"Default Value",valueImmutable:J.default(c.locales?.[o]?.defaultValue),value:c.locales?.[o]?.defaultValue??c.locales?.[d]?.defaultValue,onChange:n=>{m.transact(()=>{c.locales??={},c.locales[o]??={},c.locales[o].defaultValue=n})}})})]}):t==="parameters"&&a?e.jsx(r.Box,{children:e.jsx(F,{allComponents:b,defaultLocale:d,component:s,property:c,size:"small",fullWidth:!0,valueImmutable:J.default(a.renderer.properties?.[c.id]?.locales?.[o]?.value),value:a.renderer.properties?.[c.id]?.locales?.[o]?.value??a.renderer.properties?.[c.id]?.locales?.[d]?.value??c.locales?.[o]?.defaultValue??c.locales?.[d]?.defaultValue,onChange:n=>{m.transact(()=>{a.renderer.properties??={},a.renderer.properties[c.id]??={},a.renderer.properties[c.id].locales??={},a.renderer.properties[c.id].locales[o]??={},a.renderer.properties[c.id].locales[o].value=n})}})}):null},c.id)},o))},c.id))})]})})}),e.jsx(r.DialogActions,{children:e.jsx(r.Button,{onClick:c=>i.onClose?.(c,"escapeKeyDown"),children:l("close")})})]})}const ie=(t,s)=>i=>{const l=[i.palette.info.main,i.palette.primary.main,i.palette.secondary.main,i.palette.success.main,i.palette.warning.main],f=Math.min(l.length-1,t),x=l[f],d=r.alpha(x,.5),b=r.alpha(x,1);return{borderColor:`${d} !important`,borderLeft:"3px solid !important",borderLeftColor:d,color:b,...s}};function wt({property:t,onChange:s,defaultLocale:i,allComponents:l}){const{t:f,locale:x}=O.useLocaleContext(),d=v.useRef(null),b=kt(d,t),m=v.useCallback(()=>{if(!(t.type!=="json"&&t.type!=="yaml"&&t.type!=="array")&&t.subProperties)try{let u={};z.default(Object.values(t.subProperties),"index").filter(o=>o.data.visible!==!1&&o.data.key).forEach(({data:o})=>{if(!o.key)return;let n=o.locales?.[x]?.defaultValue??o.locales?.[i]?.defaultValue;if(o.type==="number")n=Number(n);else if(o.type==="boolean")n=n===!0||n==="true";else if((o.type==="json"||o.type==="yaml")&&typeof n=="string")try{o.type==="json"?n=JSON.parse(n):n=G.parse(n)}catch(h){console.error("Error parsing nested value",n,h),n={}}u[o.key]=n}),t.type==="array"&&!Array.isArray(u)&&(u=D.default(u)?[]:[u]);const c=_.transformValue(u,t.type);s?.(c)}catch(u){console.error("Error converting structure to text:",u)}},[t,x,i,s]);return t.type!=="json"&&t.type!=="yaml"&&t.type!=="array"?null:e.jsxs(r.Stack,{direction:"column",ref:d,sx:{gap:1.5,width:"100%"},children:[e.jsx(r.Divider,{sx:{mt:-1},children:e.jsx(r.Typography,{variant:"caption",sx:{color:"text.secondary"},children:f("maker.properties.subProperties")})}),t.subProperties&&Object.keys(t.subProperties).length>0?e.jsx(de,{component:r.Stack,gap:2,list:t.subProperties,renderItem:(u,a,c)=>{const o=u.visible!==!1;return e.jsx(r.Paper,{elevation:0,className:"property-container",sx:{p:1.25,borderRadius:1,border:o?"1px solid":"1px dashed","&":ie(b)},children:e.jsx(r.Stack,{sx:{gap:2},children:e.jsx(me,{data:u,params:c,visible:o,config:{properties:t.subProperties},currentLocale:x,defaultLocale:i,allComponents:l,onUpdateConfig:n=>{try{const h={properties:t.subProperties||{}};n(h);const j={...t,subProperties:h.properties};s?.(j,{forceUpdateProperty:!0}),m()}catch(h){console.error("Error updating property:",h)}}})})},u.id)}}):e.jsx(U.default,{style:{fontSize:12,height:100},children:f("maker.properties.noSubProperties")}),e.jsx(r.Button,{fullWidth:!0,variant:"outlined",className:"ignore-style-override",size:"small",startIcon:e.jsx(V.AddRounded,{}),onClick:()=>{try{const u=t.subProperties||{},a=ce.nextId(),o={index:Object.values(u).length,data:{id:a,key:"",type:"string",visible:!0,locales:{[x]:{name:"",defaultValue:""}},subProperties:{}}},n={...t,subProperties:{...u,[a]:o}};s?.(n,{forceUpdateProperty:!0}),m()}catch(u){console.error("Error adding property:",u)}},sx:{"&":ie(b,{})},children:f("maker.properties.addSubProperty")})]})}function F({component:t,property:s,value:i,onChange:l,valueImmutable:f,defaultLocale:x,allComponents:d,...b}){const{locale:m}=O.useLocaleContext(),u=N.useUploader(),a=v.useRef(null),c=()=>{const n=u?.current?.getUploader();n?.open(),a.current&&n.onceUploadSuccess(({response:h})=>{let j=h?.data?.filename||"";j&&(j=`mediakit://${j}`,i&&!i.includes("mediakit://")&&(j+=" # please use < import { getMediaKitAbsoluteUrl } from '@blocklet/pages-kit/builtin/utils' > to get the full address")),a.current?.(j)})},o=b.label??(s.locales?.[m]?.name||s.locales?.[x]?.name||s.key||s.id);if(s.type==="number")return e.jsx(It,{...b,label:o,NumberProps:{value:["number","string"].includes(typeof i)?i:null,onChange:(n,h)=>l?.(h)}});if(s.type==="decimal")return e.jsx(r.TextField,{...b,label:o,type:"text",value:i??"",onChange:n=>{const h=n.target.value;if(h===""||h==="-"){l?.(h);return}if(/^-?(?!.*\..*\.)[0-9]*(\.[0-9]{0,9})?$/.test(h)){let p=h;/^-?[1-9]+[0-9]*(\.[0-9]{1,9})?$/.test(p)&&(p=Number(p)),l?.(p)}}});if(s.type==="boolean")return e.jsx(r.FormControlLabel,{label:o,labelPlacement:"start",control:e.jsx(r.Switch,{checked:i===!0,onChange:(n,h)=>l?.(h)})});if(s.type==="color")return e.jsx(dt,{label:o,value:i,onChange:n=>{l?.(n)}});if(s.type==="json"||s.type==="yaml")return e.jsx(pt,{label:o,value:i,onChange:n=>{l?.(n)},property:s,component:t,defaultLocale:x,allComponents:d,PropertyValueField:F,onUpload:n=>{a.current=n,c()}});if(s.type==="custom"){const n=d[s.componentId]?.data;return n?e.jsx(r.Box,{sx:{width:"100%"},children:e.jsx(K.CustomComponentRenderer,{componentId:n.id,props:{label:o,value:i,onChange:l},locale:m,dev:{mode:"draft",components:d,defaultLocale:x}})}):e.jsx(r.TextField,{...b,label:o,disabled:!0,placeholder:"Click right button select a component"})}if(s.type==="component")return e.jsxs(r.Stack,{direction:"column",sx:{width:"100%",gap:1},children:[e.jsx(H,{allComponents:d,label:o,value:i?.componentId,onChange:(n,h)=>{f||!i?l?.({...i&&JSON.parse(JSON.stringify(i)),componentId:h}):typeof i=="object"&&(i.componentId=h,l?.({...i&&JSON.parse(JSON.stringify(i)),componentId:h}))}}),i?.componentId&&e.jsx(St,{value:i,valueImmutable:f,onChange:l,defaultLocale:x,allComponents:d})]});if(!s.type||["string","url","multiline"].includes(s.type)){let n=s.type==="string"?s.multiline:void 0;s.type==="multiline"&&(n=!0);const h=s.type==="url"?i?.url:i;return e.jsx(r.TextField,{...b,label:o,value:typeof h=="string"?h:"",multiline:n,minRows:n?2:void 0,maxRows:n?10:void 0,onChange:j=>l?.(s.type==="url"?{...i,url:j.target.value,mediaKitUrl:j.target.value}:j.target.value),slotProps:{input:s.type==="url"?{sx:{pr:0},endAdornment:e.jsxs(r.InputAdornment,{position:"end",sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(N.UploaderButton,{onChange:async({response:j})=>{const p=j?.data?.url||j?.data?.fileUrl;let y;p&&(y=await N.getImageSize(p).catch(()=>N.getVideoSize(p)).catch(()=>{}));let P=j?.data?.filename||"";P&&(P=`mediakit://${P}`),l?.({url:p,mediaKitUrl:P,width:y?.naturalWidth,height:y?.naturalHeight})}}),e.jsx(r.Tooltip,{title:"If you are using the 'mediaKitUrl' property, please use < import { getMediaKitAbsoluteUrl } from '@blocklet/pages-kit/builtin/utils' > to get the full address.",children:e.jsx(V.InfoRounded,{sx:{cursor:"default",mr:1},fontSize:"small"})})]})}:void 0}})}return s.type==="array"?e.jsx(ct,{label:o,value:Array.isArray(i)?i:[],onChange:n=>l?.(n),property:s,renderItem:({item:n,index:h,onChange:j})=>s.subProperties&&Object.keys(s.subProperties).length>0?e.jsx(r.Stack,{sx:{gap:1,width:"100%"},children:z.default(Object.values(s.subProperties),"index").filter(p=>p.data.visible!==!1).map(({data:p})=>p.key?e.jsx(F,{component:t,property:p,value:n[p.key],onChange:y=>{const P={...n,[p.key]:y};j(P)},size:"small",fullWidth:!0,defaultLocale:x,allComponents:d},p.id):null)},h):e.jsx(r.TextField,{size:b.size,fullWidth:!0,value:n,onChange:p=>j(p.target.value)})}):(console.error("Unsupported property type",s.type),null)}function It({NumberProps:t,...s}){const{getInputProps:i}=le.unstable_useNumberInput(t),l=i();return e.jsx(r.TextField,{...s,slotProps:{htmlInput:l}})}const be=`import React from '@blocklet/pages-kit/builtin/react'
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),r=require("@mui/material"),_=require("./chunks/state-B5PBvcI6.js"),ye=require("@arcblock/ux/lib/Empty"),O=require("@arcblock/ux/lib/Locale/context"),te=require("@blocklet/code-editor"),Ce=require("@mui/icons-material/AddRounded"),ve=require("@mui/icons-material/ArrowDownward"),ke=require("@mui/icons-material/ArrowUpward"),Pe=require("@mui/icons-material/DeleteOutline"),Se=require("lodash/sortBy"),v=require("react"),re=require("react-use"),ne=require("@blocklet/pages-kit/builtin/color-picker"),N=require("@blocklet/pages-kit/builtin/uploader"),we=require("@iconify-icon/react"),Ie=require("lodash/isEmpty"),Te=require("lodash/set"),Be=require("yaml"),Oe=require("lodash/cloneDeep"),Re=require("@arcblock/ux/lib/Toast"),K=require("@blocklet/pages-kit/components"),Ne=require("@blocklet/pages-kit/utils/property"),le=require("@mui/base"),V=require("@mui/icons-material"),L=require("@syncedstore/core"),ae=require("ahooks"),Ve=require("lodash/assign"),_e=require("lodash/get"),ze=require("lodash/has"),Ee=require("lodash/isEqual"),Ae=require("lodash/isNil"),De=require("lodash/isObject"),Fe=require("lodash/keyBy"),qe=require("lodash/omit"),Le=require("lodash/pick"),Ue=require("lodash/reduce"),A=require("material-ui-popup-state/hooks"),Me=require("react-error-boundary"),We=require("@emotion/css"),$=require("react-dnd"),ce=require("@blocklet/pages-kit/utils/common"),T=t=>t&&t.__esModule?t:{default:t};function Ke(t){if(t&&t.__esModule)return t;const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(s,i,l.get?l:{enumerable:!0,get:()=>t[i]})}}return s.default=t,Object.freeze(s)}const U=T(ye),Je=T(Ce),He=T(ve),Ye=T(ke),$e=T(Pe),z=T(Se),D=T(Ie),ue=T(Te),G=Ke(Be),Q=T(Oe),X=T(Re),Ge=T(Ve),Qe=T(_e),Xe=T(ze),Ze=T(Ee),J=T(Ae),et=T(De),tt=T(Fe),rt=T(qe),st=T(Le),nt=T(Ue);function ot({error:t}){return e.jsx(r.Box,{children:e.jsx(r.Alert,{severity:"error",children:t.message})})}function it({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"warning",variant:"outlined",disabled:s,onClick:t,...l,children:e.jsx($e.default,{fontSize:"small"})})}function lt({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"primary",disabled:s,onClick:t,...l,children:e.jsx(Ye.default,{fontSize:"small"})})}function at({onClick:t,disabled:s,sx:i,...l}){return e.jsx(r.IconButton,{size:"small",color:"primary",disabled:s,onClick:t,...l,children:e.jsx(He.default,{fontSize:"small"})})}function ct({label:t,value:s,onChange:i,disabled:l=!1,itemLabel:f="",emptyHeight:x=40,property:d,renderItem:b,...m}){const{t:u,locale:a}=O.useLocaleContext(),c=re.useUpdate(),o=v.useCallback(g=>{i(_.transformValue(g,d.type))},[i,d.type]),n=v.useMemo(()=>Array.isArray(s)?s:[],[s]),h=v.useCallback(()=>{const g=[...n,""];o(g),c()},[n,o,c]),j=v.useCallback(()=>{if(!d||!d.subProperties)return h();const g={};z.default(Object.values(d.subProperties),"index").forEach(({data:R})=>{if(!R.key)return;const E=R.locales?.[a]?.defaultValue??"";g[R.key]=E});const w=[...n,g];o(w),c()},[n,o,c,d,a,h]),p=v.useCallback(g=>{try{const C=JSON.parse(g);Array.isArray(C)?o(C):console.error("JSON解析结果不是数组")}catch(C){console.error("JSON解析错误:",C)}},[o]),y=v.useCallback(g=>{const C=n.filter((w,R)=>R!==g);o(C),c()},[n,o,c]),P=v.useCallback(g=>{if(g<=0)return;const C=[...n],w=C[g];C[g]=C[g-1],C[g-1]=w,o(C),c()},[n,o,c]),I=v.useCallback(g=>{if(g>=n.length-1)return;const C=[...n],w=C[g];C[g]=C[g+1],C[g+1]=w,o(C),c()},[n,o,c]),S=v.useCallback((g,C)=>{const w=[...n];w[g]=C,o(w)},[n,o]),k=d&&d.subProperties&&Object.keys(d.subProperties).length>0,B=v.useMemo(()=>[{field:"index",headerName:"#",width:40,align:"center",renderCell:({index:g})=>e.jsx(r.Typography,{variant:"body1",sx:{bgcolor:"action.hover",borderRadius:"50%",width:24,height:24,display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:g+1})},{field:"content",headerName:"",renderCell:({row:g,index:C})=>b&&k?b({item:g,index:C,property:d,onChange:w=>S(C,w)}):e.jsx(r.TextField,{fullWidth:!0,size:"small",disabled:l,value:g,placeholder:f||`${u("item")} ${C+1}`,onChange:w=>S(C,w.target.value),...m})},{field:"actions",headerName:"",width:30,align:"center",renderCell:({index:g})=>e.jsxs(r.Stack,{direction:"column",spacing:.25,children:[e.jsx(lt,{disabled:l||g===0,onClick:()=>P(g)}),e.jsx(at,{disabled:l||g===n.length-1,onClick:()=>I(g)}),e.jsx(it,{disabled:l,onClick:()=>y(g)})]})}],[b,k,d,S,f,u,l,m,y,P,I,n.length]);return k?e.jsxs(r.Stack,{sx:{width:"100%",gap:1},children:[t&&e.jsx(r.FormLabel,{children:t}),n.length>0?e.jsx(r.TableContainer,{component:r.Paper,variant:"outlined",sx:{borderRadius:1,mb:1},children:e.jsxs(r.Table,{size:"small",sx:{"& .MuiTableCell-root":{py:.25,px:1,whiteSpace:"nowrap"},"& .MuiTableCell-head":{backgroundColor:"action.hover",py:.25,px:1},borderCollapse:"collapse"},children:[e.jsx(r.TableHead,{sx:{display:"none"},children:e.jsx(r.TableRow,{children:B.map(g=>e.jsx(r.TableCell,{width:g.width,align:g.align||"left",sx:{fontWeight:"bold"},children:g.renderHeader?g.renderHeader():g.headerName},g.field))})}),e.jsx(r.TableBody,{children:n.map((g,C,w)=>e.jsx(r.TableRow,{sx:{borderBottom:C<w.length-1?"1px solid":"none",borderColor:"divider","&:hover":{backgroundColor:"action.hover"}},children:B.map(R=>e.jsx(r.TableCell,{width:R.width,align:R.align||"left",sx:{borderBottom:"none"},children:R.renderCell({row:g,index:C,onChange:E=>S(C,E)})},`${C}-${R.field}`))},C))})]})}):e.jsx(U.default,{style:{fontSize:12,height:x},children:u("maker.properties.arrayEmpty")}),e.jsx(r.Button,{fullWidth:!0,size:"small",variant:"outlined",disabled:l,startIcon:e.jsx(Je.default,{}),onClick:j,children:u("maker.properties.addArrayItem")})]}):e.jsxs(r.Stack,{sx:{width:"100%",gap:1},children:[t&&e.jsx(r.FormLabel,{children:t}),e.jsx(r.Box,{sx:{border:1,borderColor:"divider",borderRadius:1,minHeight:150},children:e.jsx(te.CodeEditor,{keyId:d.id,locale:a,language:"json",value:JSON.stringify(n,null,2),onChange:g=>p(g||""),fullScreenOptions:{enableEscExit:!0,targetContainer:()=>document.getElementById("parameters-config-dialog")||null}},d.id)})]})}function ut({ref:t,showMarkdown:s,markdown:i,onMarkdownChange:l,showUploader:f,value:x,meta:d,onChange:b,...m}){const[u,a]=v.useState("");v.useEffect(()=>{a(x||"")},[x,a]);const c=async()=>{if(u!==x){const n=_.getImageAbsoluteUrl(u);if(!n){b(u,void 0);return}const h=await N.getImageSize(n).catch(()=>N.getVideoSize(n)).catch(()=>{});b(u,{...h,filename:u})}};re.useDebounce(()=>{u!==x&&b(u)},300,[u]),v.useImperativeHandle(t,()=>({submit:c}));const o={};return f&&(o.InputProps={sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mx:.5},children:e.jsx(N.UploaderButton,{onChange:async({response:n})=>{const h=n?.data?.filename,j=_.getImageAbsoluteUrl(h)||"";let p={};j&&(p=await N.getImageSize(j).catch(()=>N.getVideoSize(j)).catch(()=>{})),b(h,{...p,filename:h})}})})}),e.jsx(r.TextField,{size:"small",fullWidth:!0,...m,label:e.jsxs(r.Stack,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[m.label,s&&e.jsxs(e.Fragment,{children:[" (",e.jsx(r.FormControlLabel,{checked:i,label:e.jsx(r.Box,{component:we.Icon,icon:"tabler:markdown",sx:{verticalAlign:"middle"}}),labelPlacement:"start",control:e.jsx(r.Switch,{size:"small"}),sx:{ml:.25,pr:1},onChange:(n,h)=>l?.(h)}),")"]})]}),value:u,onChange:n=>a(n.target.value),...o,onKeyDown:n=>{n.keyCode!==229&&n.key==="Enter"&&c()},slotProps:{inputLabel:{shrink:!0,...m.InputLabelProps}}})}function dt({value:t,onChange:s,disableGradient:i=!1,...l}){const f=v.useRef(null);return e.jsxs(e.Fragment,{children:[e.jsx(ut,{...l,value:t,onChange:s,InputProps:{endAdornment:e.jsx(r.InputAdornment,{position:"end",children:e.jsx(ne.ColorItem,{color:t??"",style:{width:"1.5rem",height:"1.5rem",padding:0},onClick:()=>{f.current?.open({value:t??""})}})})}}),e.jsx(ne.ConfigColorDialog,{ref:f,onSave:({value:x},d)=>{s(x),d()},disableGradient:i})]})}function pt({label:t,value:s,onChange:i,property:l,component:f,defaultLocale:x,allComponents:d,PropertyValueField:b,onUpload:m}){const{locale:u}=O.useLocaleContext(),a=v.useRef(null);if(!D.default(l.subProperties)){const o=z.default(Object.values(l.subProperties||{}),"index").filter(n=>n.data.visible!==!1&&n.data.key);return e.jsxs(r.Stack,{sx:{width:"100%"},children:[e.jsx(r.FormLabel,{sx:{px:.25,py:.5},children:t}),e.jsx(r.Box,{children:e.jsx(r.Box,{sx:{position:"relative"},children:o.map((n,h)=>{const{data:j}=n,p=j.key??j.id,y=h===o.length-1;let P=null;try{s&&typeof s=="object"?P=s[p]:typeof s=="string"&&(P=(l.type==="yaml"?G.parse(s||""):JSON.parse(s||"{}"))[p])}catch{}P==null&&(j.locales&&u&&j.locales[u]?P=j.locales[u].defaultValue:j.locales&&x&&j.locales[x]&&(P=j.locales[x].defaultValue));const I=k=>{try{let B={};if(typeof s=="string")try{B=l.type==="yaml"?G.parse(s||""):JSON.parse(s||"{}")}catch{}else typeof s=="object"&&s!==null&&(B={...s});ue.default(B,p,k);const g=_.transformValue(B,l.type);i?.(g)}catch(B){console.error("Error updating property:",B)}},S=8;return e.jsxs(r.Box,{sx:{mb:y?0:1,display:"flex",flexDirection:"row"},children:[e.jsxs(r.Box,{sx:{position:"relative",width:24,flexShrink:0},children:[e.jsx(r.Box,{sx:{position:"absolute",left:S,top:0,height:16,width:0,borderLeft:"1px dashed",borderColor:"divider"}}),e.jsx(r.Box,{sx:{position:"absolute",left:S,top:16,width:12,height:0,borderTop:"1px dashed",borderColor:"divider"}}),!y&&e.jsx(r.Box,{sx:{position:"absolute",left:S,top:16,bottom:-8,width:0,borderLeft:"1px dashed",borderColor:"divider"}})]}),e.jsx(r.Box,{sx:{flexGrow:1},children:e.jsx(b,{component:f,property:j,value:P,onChange:I,size:"small",fullWidth:!0,defaultLocale:x,allComponents:d})})]},j.id)})})})]})}return e.jsx(r.Stack,{sx:{width:"100%",gap:2},children:e.jsxs(r.Stack,{sx:{width:"100%",position:"relative",pt:1,pb:"6px",px:"1px",minHeight:50,".monaco-editor,.overflow-guard":{borderRadius:1}},children:[e.jsx(r.FormLabel,{sx:{position:"absolute",left:0,top:0,transform:"translate(0px, -7px) scale(0.75)"},children:t}),e.jsx(te.CodeEditor,{keyId:l.id,locale:u,language:l.type==="yaml"?"yaml":"json",value:typeof s=="string"?s:"",onChange:o=>{i?.(o)},onUpload:o=>{a.current=o,m&&m(o)},fullScreenOptions:{enableEscExit:!0,targetContainer:()=>document.getElementById("parameters-config-dialog")||null}},l.id),e.jsx(r.Box,{component:"fieldset",sx:{pointerEvents:"none",position:"absolute",left:0,top:-5,width:"100%",height:"100%",border:1,borderColor:"rgba(0, 0, 0, 0.23)",borderRadius:1,px:1,py:0},children:e.jsx(r.Box,{component:"legend",sx:{fontSize:"0.75em"},children:e.jsx(r.Box,{component:"span",sx:{opacity:0},children:t})})})]})})}const xt=["string","multiline","json","yaml","url","component","custom","array"];function oe(t){return t.type?!xt.includes(t.type):!1}function de({disabled:t,list:s,renderItem:i,...l}){const f=v.useRef(null),x=v.useId(),d=ae.useUpdate(),b=z.default(Object.entries(s),n=>n[1].index).map(n=>n[0]),m=v.useRef(b),u=v.useCallback(n=>{m.current=n,d()},[d]),a=v.useCallback(({index:n},{index:h})=>{const j=[...m.current];j.splice(h,0,...j.splice(n,1)),u(j)},[u]);v.useEffect(()=>{u(b)},[b.join("-")]);const[{isOver:c},o]=$.useDrop({accept:x,collect:n=>({isOver:n.isOver()}),canDrop:()=>!t,drop:()=>{const n=()=>{m.current.forEach((j,p)=>{const y=s[j];y&&(y.index=p)})},h=L.getYjsValue(s)?.doc;h?h.transact(()=>{n()}):n()}});return v.useEffect(()=>{c||u(b)},[c]),o(f),e.jsx(r.Box,{...l,ref:f,className:We.cx(c&&"isDragging"),children:m.current.map((n,h)=>e.jsx(mt,{type:x,disabled:t,id:n,index:h,itemIndex:j=>m.current.indexOf(j),move:a,children:j=>{const p=s[n];return p?i(p.data,h,j):null}},n))})}function mt({disabled:t,id:s,index:i,type:l,children:f,itemIndex:x,move:d}){const b=v.useRef(void 0),[{isDragging:m},u,a]=$.useDrag({type:l,item:()=>({id:s}),canDrag:()=>!t,collect:o=>({isDragging:o.isDragging()})}),[,c]=$.useDrop({accept:l,canDrop:()=>!t,hover(o,n){if(!b.current)return;const h=x(o.id),j=i;if(h===j)return;const p=b.current?.getBoundingClientRect(),y=(p.bottom-p.top)/2,I=n.getClientOffset().y-p.top;h<j&&I<y||h>j&&I>y||d({id:o.id,index:h},{id:s,index:i})}});return typeof f=="function"?f({isDragging:m,drag:u,drop:o=>(b.current=o,c(o)),preview:a}):(u(c(a(b))),e.jsx(r.Box,{ref:b,children:f}))}function ft({drop:t,preview:s,drag:i,disabled:l,isDragging:f,children:x,onDelete:d,onVisibilityChange:b,visible:m=!0,actions:u,alwaysShowActions:a=!1}){const{t:c}=O.useLocaleContext();return e.jsx(r.Box,{ref:t,sx:{":hover .hover-visible":{maxWidth:"100%"},opacity:m?1:.5},children:e.jsxs(r.Box,{sx:{position:"relative"},children:[e.jsx(r.Box,{ref:s,sx:{flex:1,borderRadius:.5,bgcolor:f?"action.hover":"background.paper",opacity:.9999},children:x}),!l&&e.jsx(r.Box,{className:a?"":"hover-visible",sx:{maxWidth:a?"100%":0,overflow:"hidden",position:"absolute",right:2,top:2,transition:"max-width 0.3s ease-in-out"},children:e.jsxs(r.Stack,{direction:"row",sx:{bgcolor:o=>r.alpha(o.palette.grey[200],.9),borderRadius:1,p:.5,[`.${r.buttonClasses.root}`]:{minWidth:24,width:24,height:24,p:0}},children:[u,b&&e.jsx(r.Tooltip,{title:c(m?"hideParameter":"showParameter"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{onClick:()=>b(!m),children:m?e.jsx(V.VisibilityOffRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}}):e.jsx(V.VisibilityRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}})})}),d&&e.jsx(r.Tooltip,{title:c("delete"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{onClick:d,children:e.jsx(V.DeleteOutlineRounded,{sx:{fontSize:"1.25rem",color:"grey.500"}})})}),e.jsx(r.Tooltip,{title:c("dragSort"),disableInteractive:!0,placement:"top",children:e.jsx(r.Button,{ref:i,children:e.jsx(V.DragIndicatorRounded,{sx:{color:"grey.500"}})})})]})})]})})}function ht(t){const s=["string","json","array","url","multiline"],i=["style","fontSize","color","content","type"];return!!(s.includes(t.type||"")&&!i.includes(t.key||""))}function bt(t,s,i){return t.locales&&t.locales[s]&&t.locales[s].name?t.locales[s].name:i&&t.locales&&t.locales[i]&&t.locales[i].name?t.locales[i].name:t.key?t.key:t.id}const pe=(t,s,i,l)=>{const f={};return z.default(Object.entries(t),([,d])=>d.index).forEach(([d,b])=>{const m=b.data;if(!m)return;const u=m.key||m.id,a=i?bt(m,i,l||""):u,c=s?.[m.id],o={key:u,isNeedGenerate:c?.isNeedGenerate??ht(m),describe:c?.describe??"",displayName:a};m.subProperties&&!D.default(m.subProperties)&&(o.subProperties=pe(m.subProperties,c?.subProperties,i,l)),f[m.id]=o}),f};function jt({open:t,onClose:s,onConfirm:i,component:l,initialConfig:f,locale:x,defaultLocale:d,title:b,loading:m=!1}){const{t:u}=O.useLocaleContext(),[a,c]=v.useState(null);v.useEffect(()=>{if(t&&l){const p={properties:{}};if(l.properties){const y=f?.properties;p.properties=pe(l.properties,y,x,d)}c(p)}},[t,l,f,x,d]);const o=()=>{s()},n=()=>{a&&(i(a),s())},h=(p,y,P)=>{if(!a||!p.length)return;const I=JSON.parse(JSON.stringify(a));let S=I.properties,k=null;for(let g=0;g<p.length-1;g++){const C=p[g];if(!C||!S[C])return;k=S;const w=S[C];w.subProperties||(w.subProperties={}),S=w.subProperties}const B=p[p.length-1];if(B){if("isNeedGenerate"in P){const g=P.isNeedGenerate,C={...y,...P};if(y.subProperties&&!D.default(y.subProperties)){const w=(R,E)=>{const q={};return Object.entries(R).forEach(([ge,M])=>{const Y={...M};E!==null&&(Y.isNeedGenerate=E),M.subProperties&&!D.default(M.subProperties)&&(Y.subProperties=w(M.subProperties,E!==null?E:null)),q[ge]=Y}),q};C.subProperties=w(y.subProperties,g===!1?!1:null)}if(p.length===1)I.properties[B]=C;else if(k&&p.length>=2){const w=p[p.length-2];w&&k[w]&&(k[w].subProperties||(k[w].subProperties={}),k[w].subProperties[B]=C)}}else if(p.length===1)I.properties[B]={...y,...P};else if(k&&p.length>=2){const g=p[p.length-2];g&&k[g]&&k[g].subProperties&&(k[g].subProperties[B]={...y,...P})}c(I)}},j=(p,y=[],P=!0)=>{if(!p||D.default(p))return e.jsx(U.default,{children:u("maker.properties.noProperties")});const I=z.default(Object.entries(p),([,S])=>S.displayName);return e.jsx(r.Stack,{spacing:1.5,children:I.map(([S,k],B)=>{const g=[...y,S],C=B===I.length-1,w=k.subProperties&&!D.default(k.subProperties),R=k.displayName||S,E=!P;return e.jsx(r.Box,{sx:{position:"relative"},children:e.jsxs(r.Stack,{direction:"row",children:[y.length>0&&e.jsxs(r.Box,{sx:{position:"relative",width:24,flexShrink:0},children:[e.jsx(r.Box,{sx:{position:"absolute",left:8,top:0,height:16,width:0,borderLeft:"1px dashed",borderColor:"divider"}}),e.jsx(r.Box,{sx:{position:"absolute",left:8,top:16,width:12,height:0,borderTop:"1px dashed",borderColor:"divider"}}),!C&&e.jsx(r.Box,{sx:{position:"absolute",left:8,top:16,bottom:-12,width:0,borderLeft:"1px dashed",borderColor:"divider"}})]}),e.jsxs(r.Stack,{spacing:1.5,sx:{flexGrow:1},children:[e.jsxs(r.Stack,{direction:{xs:"column",md:"row"},spacing:1.5,sx:{alignItems:{xs:"flex-start",md:"center"},width:"100%"},children:[e.jsx(r.FormControlLabel,{control:e.jsx(r.Checkbox,{checked:k.isNeedGenerate,disabled:E,onChange:q=>{h(g,k,{isNeedGenerate:q.target.checked})}}),label:R,sx:{minWidth:"180px",maxWidth:"280px",mr:2,"& .MuiFormControlLabel-label":{wordBreak:"break-word"}}}),e.jsx(r.TextField,{size:"small",fullWidth:!0,label:u("maker.properties.llmPropertyDescribe"),value:k.describe,onChange:q=>{h(g,k,{describe:q.target.value})},disabled:!k.isNeedGenerate})]}),w&&e.jsx(r.Box,{sx:{ml:3},children:j(k.subProperties,g,k.isNeedGenerate&&P)})]})]})},S)})})};return e.jsxs(r.Dialog,{open:t,onClose:o,maxWidth:"lg",fullWidth:!0,children:[e.jsx(r.DialogTitle,{children:b||u("maker.properties.llmConfigTitle")}),e.jsx(r.DialogContent,{children:e.jsx(r.Box,{sx:{my:3},children:m?e.jsx(r.Typography,{children:u("maker.properties.loading")}):l?a?e.jsxs(r.Stack,{spacing:3,children:[e.jsx(r.Typography,{variant:"subtitle2",children:u("maker.properties.llmConfigInstructions")}),j(a.properties)]}):e.jsx(r.Typography,{children:u("maker.properties.loading")}):e.jsx(r.Typography,{color:"error",children:u("maker.properties.componentNotFound")})})}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{onClick:o,children:u("common.cancel")}),e.jsx(r.Button,{variant:"contained",onClick:n,disabled:!a||m,children:u("common.confirm")})]})]})}function gt({label:t,value:s,onChange:i}){const[l,f]=v.useState(!1);return e.jsxs(r.Stack,{sx:{gap:1},children:[e.jsx(r.TextField,{label:t,size:"small",value:s,onChange:x=>i?.(x.target.value),slotProps:{input:{sx:{pr:0},endAdornment:e.jsx(r.InputAdornment,{position:"end",children:e.jsx(N.UploaderButton,{onChange:({response:x})=>{const d=x?.data?.filename;d&&i?.(d)}})})}}}),s&&e.jsx(r.Box,{component:"img",src:_.getImageAbsoluteUrl(s),alt:t,onClick:()=>f(!0),sx:{maxWidth:100,maxHeight:100,width:"100%",objectFit:"contain",borderRadius:1,cursor:"pointer"}}),e.jsx(r.Dialog,{open:l,onClose:()=>f(!1),children:e.jsx(r.Box,{component:"img",sx:{objectFit:"contain"},src:_.getImageAbsoluteUrl(s),alt:t})})]})}function Z(t,s=""){return nt.default(t,(i,l,f)=>{const x=s?`${s}.${f}`:f;return et.default(l)?Ge.default(i,Z(l,x)):i[x]=l,i},{})}const yt=[{value:"string",label:"Text"},{value:"multiline",label:"Text (Multiline)"},{value:"number",label:"Number"},{value:"decimal",label:"Decimal"},{value:"boolean",label:"Boolean"},{value:"color",label:"Color"},{value:"url",label:"URL (Upload)"},{value:"json",label:"JSON"},{value:"yaml",label:"YAML"},{value:"array",label:"Array"},{value:"component",label:"Component"},{value:"custom",label:"Custom (Render by a Component)"}];function W(t,s,i){return!t||!i?!1:Object.values(t).some(({data:l})=>l.id!==s&&l.key===i)}function ee(t,s){return!t||!s?!1:t[s]?.data.visible??!0}function Ct({componentId:t}){const{state:{components:s}}=_.useStore(),l=s[t]?.data;return l?e.jsx(r.Stack,{sx:{maxHeight:"100%",overflow:"auto"},children:e.jsx(r.Box,{sx:{p:2},children:e.jsx(Me.ErrorBoundary,{FallbackComponent:ot,resetKeys:[t],children:e.jsx(vt,{value:l,componentId:t})})})}):null}function vt({value:t,componentId:s}){const{t:i}=O.useLocaleContext(),{localState:{currentLocale:l,customComponentPreviewerProperties:f},state:{config:{defaultLocale:x}},localActions:{setCustomComponentPreviewerProperties:d}}=_.useStore(),b=L.getYjsValue(t).doc,m=_.useAllComponents(),u=v.useMemo(()=>f?.[s]??{},[s,f]),a=ae.useReactive({componentId:s,propertiesValue:{...u}});return v.useEffect(()=>{a.componentId!==s&&(a.componentId=s,a.propertiesValue={...u})},[s,u,a]),v.useEffect(()=>{if(a.componentId!==s)return;const c=Object.fromEntries(Object.values(t.properties??{}).map(({data:o})=>[o.id,{value:a.propertiesValue[o.id]?.value??Ne.parsePropertyValue(o,o.locales?.[l]?.defaultValue??o.locales?.[x]?.defaultValue,{locale:l,defaultLocale:x})}]));d(s,c)},[JSON.stringify(a.propertiesValue),s,a.componentId]),e.jsx(r.Stack,{sx:{height:"100%"},children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsx(xe,{config:t}),e.jsx(fe,{config:t,currentLocale:l,defaultLocale:x,allComponents:m,onUpdateConfig:c=>{b.transact(()=>{c(t)})}}),e.jsxs(r.Stack,{direction:"row",sx:{gap:2,justifyContent:"space-between",alignItems:"center"},children:[e.jsx(r.Typography,{variant:"subtitle1",children:i("renderer")}),e.jsxs(r.TextField,{hiddenLabel:!0,size:"small",select:!0,value:t.renderer?.type||"react-component",onChange:c=>{b.transact(()=>{const o=c.target.value;t.renderer??={type:o},t.renderer.type=o})},slotProps:{select:{autoWidth:!0}},children:[e.jsx(r.MenuItem,{value:"react-component",children:"React Component"}),e.jsx(r.MenuItem,{value:"component",children:"Custom Component"})]})]}),t.renderer?.type==="component"&&e.jsx(Bt,{value:t}),t.renderer?.type==="react-component"&&e.jsx(Tt,{value:t}),e.jsx(se,{config:t,currentLocale:l,defaultLocale:x,allComponents:m,propertiesValue:a.propertiesValue,onChange:({value:c,id:o,path:n})=>{const h=[...n,"data"];if(!Qe.default(t,h)){X.default.warning(i("cannotFindPropertyKey",{key:h.join(".")}));return}a.propertiesValue[o]={value:c.value}}})]})})}function xe({config:t}){const{t:s}=O.useLocaleContext();return e.jsx(N.UploaderProvider,{children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsx(r.Typography,{variant:"subtitle1",children:s("basicInfo")}),e.jsx(r.TextField,{label:s("name"),size:"small",value:t.name||"",onChange:i=>t.name=i.target.value}),e.jsx(r.TextField,{label:s("description"),size:"small",multiline:!0,minRows:2,maxRows:10,value:t.description||"",onChange:i=>t.description=i.target.value,slotProps:{input:{endAdornment:e.jsx(r.InputAdornment,{position:"end",sx:{mt:-1.5},children:e.jsx(Ot,{config:t})})},htmlInput:{maxLength:200}}}),e.jsx(r.Autocomplete,{size:"small",options:[],multiple:!0,freeSolo:!0,value:t.tags??[],onChange:(i,l)=>t.tags=l,renderInput:i=>e.jsx(r.TextField,{label:s("tags"),...i})}),e.jsx(gt,{label:s("previewImage"),value:t.previewImage||"",onChange:i=>t.previewImage=i})]})})}function me({data:t,params:s,visible:i,config:l,currentLocale:f,defaultLocale:x,allComponents:d,onUpdateConfig:b}){const{t:m}=O.useLocaleContext(),u=v.useMemo(()=>t.type==="json"||t.type==="yaml"||t.type==="array"?wt:F,[t.type]);return e.jsx(ft,{preview:s.preview,drop:s.drop,drag:s.drag,isDragging:s.isDragging,onDelete:()=>{b(a=>{if(a.properties){const o=Object.entries(a.properties).sort(([,h],[,j])=>h.index-j.index);delete a.properties[t.id],o.filter(([h])=>h!==t.id).forEach(([,h],j)=>{h.index=j})}})},visible:i,onVisibilityChange:a=>{b(c=>{const o=c.properties[t.id].data;o.visible=a})},alwaysShowActions:!0,children:e.jsxs(r.Stack,{direction:"column",sx:{gap:2},children:[e.jsx(r.TextField,{label:m("key"),size:"small",required:!0,sx:{width:"calc(100% - 80px - 8px)",flex:1,"& .MuiOutlinedInput-root":{borderColor:t.key?W(l.properties,t.id,t.key)?"warning.main":void 0:"error.main"},"& .MuiFormLabel-root":{color:t.key?W(l.properties,t.id,t.key)?"warning.main":"text.secondary":"error.main"},"& .MuiFormLabel-root.Mui-focused":{color:t.key?W(l.properties,t.id,t.key)?"warning.main":"primary.main":"error.main"}},value:t.key||"",onChange:a=>{b(c=>{const o=c.properties[t.id].data;o.key=a.target.value.trim()})},slotProps:{input:{endAdornment:!t.key||t.key&&W(l.properties,t.id,t.key)?e.jsx(r.InputAdornment,{position:"end",sx:{width:16,ml:0},children:e.jsx(r.Tooltip,{title:t.key?m("duplicateKey"):m("requiredKey"),children:e.jsx(V.InfoRounded,{sx:{color:t.key?"warning.main":"error.main",fontSize:16}})})}):null}}}),e.jsxs(r.Stack,{direction:"row",sx:{gap:1},children:[e.jsx(r.TextField,{label:m("label"),size:"small",sx:{flex:1},value:(t.locales?.[f]?.name??t.locales?.[x]?.name)||"",onChange:a=>{b(c=>{const o=c.properties[t.id].data;o.locales??={},o.locales[f]??={},o.locales[f].name=a.target.value})}}),e.jsx(r.TextField,{label:m("type"),size:"small",select:!0,sx:{flex:1},value:t.type==="string"&&t.multiline?"multiline":t.type||"string",onChange:a=>{b(c=>{const o=c.properties[t.id].data;if(o.locales)for(const h of Object.keys(o.locales))o.locales[h].defaultValue=void 0;const n=a.target.value;n==="multiline"?(o.type="string",o.multiline=!0):(typeof o.multiline<"u"&&delete o.multiline,o.type=n)})},children:yt.map(a=>e.jsx(r.MenuItem,{value:a.value,children:a.label},a.value))})]}),e.jsxs(r.Stack,{direction:"row",sx:{gap:1},children:[e.jsx(u,{allComponents:d,defaultLocale:x,component:l,property:t,label:m("defaultValue"),size:"small",fullWidth:!0,value:t.locales?.[f]?.defaultValue,onChange:(a,c)=>{b(o=>{const n=o.properties[t.id].data;if(c?.forceUpdateProperty){const h=Z(n),j=Z(a);Object.keys(j).forEach(p=>{h[p]||ue.default(n,p,j[p])})}else n.locales??={},n.locales[f]??={},n.locales[f].defaultValue=a})}}),t.type==="custom"?e.jsx(r.Box,{children:e.jsx(Pt,{property:t,allComponents:d})}):null]})]})})}function kt(t,s){const[i,l]=v.useState(0);return v.useEffect(()=>{const x=setTimeout(()=>{if(t.current){let d=t.current.parentElement,b=0;for(;d;)d.classList.contains("property-container")&&b++,d=d.parentElement;l(b)}},100);return()=>clearTimeout(x)},[t,s]),i}function fe({config:t,currentLocale:s,defaultLocale:i,allComponents:l,onUpdateConfig:f,useI18nEditor:x=!0}){const{t:d}=O.useLocaleContext(),b=A.usePopupState({variant:"dialog"}),m=t.properties&&z.default(Object.values(t.properties),"index");return e.jsx(N.UploaderProvider,{children:e.jsxs(r.Stack,{sx:{gap:2},children:[e.jsxs(r.Stack,{direction:"row",sx:{gap:1,alignItems:"center",justifyContent:"space-between"},children:[e.jsx(r.Typography,{variant:"subtitle1",children:d("properties")}),e.jsx(r.Box,{sx:{flex:1}}),x&&e.jsx(r.Button,{sx:{minWidth:32,minHeight:32,p:0},...A.bindTrigger(b),children:e.jsx(V.TranslateRounded,{fontSize:"small"})})]}),t.properties&&Object.keys(t.properties).length>0?e.jsx(de,{component:r.Stack,gap:2,list:t.properties,renderItem:(u,a,c)=>{const o=ee(t.properties,u.id);return e.jsx(r.Paper,{elevation:0,className:"property-container",sx:{p:1.25,borderRadius:1,border:o?"1px solid":"1px dashed",borderColor:"divider"},children:e.jsx(r.Stack,{sx:{gap:2},children:e.jsx(me,{data:u,params:c,visible:o,config:t,currentLocale:s,defaultLocale:i,allComponents:l,onUpdateConfig:f})})},u.id)}}):e.jsx(U.default,{style:{fontSize:12},children:d("maker.properties.noProperties")}),e.jsx(r.Button,{fullWidth:!0,variant:"outlined",className:"ignore-style-override",onClick:()=>{f(u=>{const a=ce.nextId();u.properties??={},u.properties[a]??={index:m?.length||0,data:{id:a}}})},startIcon:e.jsx(V.AddRounded,{}),children:d("addObject",{object:d("property")})}),x&&e.jsx(he,{...A.bindDialog(b),component:t})]})})}function Pt({property:t,allComponents:s}){const i=A.usePopupState({variant:"popper"});return e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{sx:{minWidth:0},...A.bindTrigger(i),children:e.jsx(V.SettingsRounded,{fontSize:"small"})}),e.jsx(r.Popper,{...A.bindPopper(i),children:e.jsx(le.ClickAwayListener,{onClickAway:i.close,children:e.jsx(r.Paper,{children:e.jsx(r.Box,{sx:{width:500,p:2},children:e.jsx(H,{value:t.componentId,onChange:(l,f)=>t.componentId=f,allComponents:s})})})})})]})}function St({value:t,valueImmutable:s,onChange:i,defaultLocale:l,allComponents:f}){const[x,d]=v.useState(!1),{t:b,locale:m}=O.useLocaleContext(),u=typeof t?.componentId=="string"?f[t.componentId]?.data:void 0;return u?e.jsxs(r.Box,{sx:{width:"100%",position:"relative"},children:[e.jsx(r.IconButton,{sx:{minWidth:0},disabled:!u,size:"small",onClick:()=>d(!x),color:x?"primary":"default",children:e.jsx(V.SettingsRounded,{fontSize:"small"})}),x&&e.jsx(r.Collapse,{in:x,timeout:"auto",unmountOnExit:!0,sx:{width:"100%",zIndex:10},children:e.jsxs(r.Paper,{elevation:1,sx:{mt:1,p:2,borderRadius:1,border:"1px solid",borderColor:"divider",width:"100%"},children:[e.jsx(r.Box,{sx:{width:"100%",mb:2},children:e.jsx(se,{config:u,currentLocale:m,defaultLocale:l,allComponents:f,propertiesValue:t?.properties,onChange:({id:a,value:c})=>{const o=Q.default(c.value),n=JSON.parse(JSON.stringify(t));n?.componentId&&(s?i?.({...n,properties:{...n.properties,[a]:{value:o}}}):(n.properties=n.properties??{},n.properties[a]={value:o},i?.(n)))}})}),e.jsx(r.Button,{size:"small",onClick:()=>d(!1),sx:{mt:1},children:b("close")})]})})]}):null}function he({type:t="properties",component:s,...i}){const{t:l}=O.useLocaleContext(),{state:{components:f,supportedLocales:x,config:{defaultLocale:d}}}=_.useStore(),b=_.useAllComponents(),m=L.getYjsValue(s).doc,u=t==="properties"?s.properties:t==="parameters"&&s.renderer?.type==="component"?f[s.renderer.componentId]?.data.properties:void 0,a=s.renderer?.type==="component"?s:void 0;return e.jsxs(r.Dialog,{...i,fullWidth:!0,maxWidth:"lg",children:[e.jsx(r.DialogTitle,{children:l("i18nEditorTitle")}),e.jsx(r.DialogContent,{children:u&&e.jsx(r.Stack,{children:e.jsxs(r.Table,{stickyHeader:!0,sx:{td:{verticalAlign:"top"}},children:[e.jsx(r.TableHead,{children:e.jsx(r.TableRow,{children:x.map(({locale:c,name:o})=>e.jsx(r.TableCell,{children:e.jsxs(r.Typography,{sx:{color:"text.primary"},children:[o,d===c&&e.jsx(V.StarRounded,{sx:{fontSize:12}})]})},c))})}),e.jsx(r.TableBody,{children:z.default(Object.values(u),"index").map(({data:c})=>e.jsx(r.TableRow,{children:x.map(({locale:o})=>e.jsx(r.TableCell,{children:e.jsx(r.Stack,{sx:{gap:1},children:t==="properties"?e.jsxs(e.Fragment,{children:[e.jsx(r.TextField,{size:"small",label:"Key",value:c.key||"",onChange:n=>{m.transact(()=>{c.key=n.target.value.trim()})}}),e.jsx(r.TextField,{size:"small",label:l("label"),value:(c.locales?.[o]?.name??c.locales?.[d]?.name)||"",onChange:n=>{m.transact(()=>{c.locales??={},c.locales[o]??={},c.locales[o].name=n.target.value})}}),e.jsx(r.Box,{children:e.jsx(F,{allComponents:b,defaultLocale:d,component:s,property:c,size:"small",fullWidth:!0,label:"Default Value",valueImmutable:J.default(c.locales?.[o]?.defaultValue),value:c.locales?.[o]?.defaultValue??c.locales?.[d]?.defaultValue,onChange:n=>{m.transact(()=>{c.locales??={},c.locales[o]??={},c.locales[o].defaultValue=n})}})})]}):t==="parameters"&&a?e.jsx(r.Box,{children:e.jsx(F,{allComponents:b,defaultLocale:d,component:s,property:c,size:"small",fullWidth:!0,valueImmutable:J.default(a.renderer.properties?.[c.id]?.locales?.[o]?.value),value:a.renderer.properties?.[c.id]?.locales?.[o]?.value??a.renderer.properties?.[c.id]?.locales?.[d]?.value??c.locales?.[o]?.defaultValue??c.locales?.[d]?.defaultValue,onChange:n=>{m.transact(()=>{a.renderer.properties??={},a.renderer.properties[c.id]??={},a.renderer.properties[c.id].locales??={},a.renderer.properties[c.id].locales[o]??={},a.renderer.properties[c.id].locales[o].value=n})}})}):null},c.id)},o))},c.id))})]})})}),e.jsx(r.DialogActions,{children:e.jsx(r.Button,{onClick:c=>i.onClose?.(c,"escapeKeyDown"),children:l("close")})})]})}const ie=(t,s)=>i=>{const l=[i.palette.info.main,i.palette.primary.main,i.palette.secondary.main,i.palette.success.main,i.palette.warning.main],f=Math.min(l.length-1,t),x=l[f],d=r.alpha(x,.5),b=r.alpha(x,1);return{borderColor:`${d} !important`,borderLeft:"3px solid !important",borderLeftColor:d,color:b,...s}};function wt({property:t,onChange:s,defaultLocale:i,allComponents:l}){const{t:f,locale:x}=O.useLocaleContext(),d=v.useRef(null),b=kt(d,t),m=v.useCallback(()=>{if(!(t.type!=="json"&&t.type!=="yaml"&&t.type!=="array")&&t.subProperties)try{let u={};z.default(Object.values(t.subProperties),"index").filter(o=>o.data.visible!==!1&&o.data.key).forEach(({data:o})=>{if(!o.key)return;let n=o.locales?.[x]?.defaultValue??o.locales?.[i]?.defaultValue;if(o.type==="number")n=Number(n);else if(o.type==="boolean")n=n===!0||n==="true";else if((o.type==="json"||o.type==="yaml")&&typeof n=="string")try{o.type==="json"?n=JSON.parse(n):n=G.parse(n)}catch(h){console.error("Error parsing nested value",n,h),n={}}u[o.key]=n}),t.type==="array"&&!Array.isArray(u)&&(u=D.default(u)?[]:[u]);const c=_.transformValue(u,t.type);s?.(c)}catch(u){console.error("Error converting structure to text:",u)}},[t,x,i,s]);return t.type!=="json"&&t.type!=="yaml"&&t.type!=="array"?null:e.jsxs(r.Stack,{direction:"column",ref:d,sx:{gap:1.5,width:"100%"},children:[e.jsx(r.Divider,{sx:{mt:-1},children:e.jsx(r.Typography,{variant:"caption",sx:{color:"text.secondary"},children:f("maker.properties.subProperties")})}),t.subProperties&&Object.keys(t.subProperties).length>0?e.jsx(de,{component:r.Stack,gap:2,list:t.subProperties,renderItem:(u,a,c)=>{const o=u.visible!==!1;return e.jsx(r.Paper,{elevation:0,className:"property-container",sx:{p:1.25,borderRadius:1,border:o?"1px solid":"1px dashed","&":ie(b)},children:e.jsx(r.Stack,{sx:{gap:2},children:e.jsx(me,{data:u,params:c,visible:o,config:{properties:t.subProperties},currentLocale:x,defaultLocale:i,allComponents:l,onUpdateConfig:n=>{try{const h={properties:t.subProperties||{}};n(h);const j={...t,subProperties:h.properties};s?.(j,{forceUpdateProperty:!0}),m()}catch(h){console.error("Error updating property:",h)}}})})},u.id)}}):e.jsx(U.default,{style:{fontSize:12,height:100},children:f("maker.properties.noSubProperties")}),e.jsx(r.Button,{fullWidth:!0,variant:"outlined",className:"ignore-style-override",size:"small",startIcon:e.jsx(V.AddRounded,{}),onClick:()=>{try{const u=t.subProperties||{},a=ce.nextId(),o={index:Object.values(u).length,data:{id:a,key:"",type:"string",visible:!0,locales:{[x]:{name:"",defaultValue:""}},subProperties:{}}},n={...t,subProperties:{...u,[a]:o}};s?.(n,{forceUpdateProperty:!0}),m()}catch(u){console.error("Error adding property:",u)}},sx:{"&":ie(b,{})},children:f("maker.properties.addSubProperty")})]})}function F({component:t,property:s,value:i,onChange:l,valueImmutable:f,defaultLocale:x,allComponents:d,...b}){const{locale:m}=O.useLocaleContext(),u=N.useUploader(),a=v.useRef(null),c=()=>{const n=u?.current?.getUploader();n?.open(),a.current&&n.onceUploadSuccess(({response:h})=>{let j=h?.data?.filename||"";j&&(j=`mediakit://${j}`,i&&!i.includes("mediakit://")&&(j+=" # please use < import { getMediaKitAbsoluteUrl } from '@blocklet/pages-kit/builtin/utils' > to get the full address")),a.current?.(j)})},o=b.label??(s.locales?.[m]?.name||s.locales?.[x]?.name||s.key||s.id);if(s.type==="number")return e.jsx(It,{...b,label:o,NumberProps:{value:["number","string"].includes(typeof i)?i:null,onChange:(n,h)=>l?.(h)}});if(s.type==="decimal")return e.jsx(r.TextField,{...b,label:o,type:"text",value:i??"",onChange:n=>{const h=n.target.value;if(h===""||h==="-"){l?.(h);return}if(/^-?(?!.*\..*\.)[0-9]*(\.[0-9]{0,9})?$/.test(h)){let p=h;/^-?[1-9]+[0-9]*(\.[0-9]{1,9})?$/.test(p)&&(p=Number(p)),l?.(p)}}});if(s.type==="boolean")return e.jsx(r.FormControlLabel,{label:o,labelPlacement:"start",control:e.jsx(r.Switch,{checked:i===!0,onChange:(n,h)=>l?.(h)})});if(s.type==="color")return e.jsx(dt,{label:o,value:i,onChange:n=>{l?.(n)}});if(s.type==="json"||s.type==="yaml")return e.jsx(pt,{label:o,value:i,onChange:n=>{l?.(n)},property:s,component:t,defaultLocale:x,allComponents:d,PropertyValueField:F,onUpload:n=>{a.current=n,c()}});if(s.type==="custom"){const n=d[s.componentId]?.data;return n?e.jsx(r.Box,{sx:{width:"100%"},children:e.jsx(K.CustomComponentRenderer,{componentId:n.id,props:{label:o,value:i,onChange:l},locale:m,dev:{mode:"draft",components:d,defaultLocale:x}})}):e.jsx(r.TextField,{...b,label:o,disabled:!0,placeholder:"Click right button select a component"})}if(s.type==="component")return e.jsxs(r.Stack,{direction:"column",sx:{width:"100%",gap:1},children:[e.jsx(H,{allComponents:d,label:o,value:i?.componentId,onChange:(n,h)=>{f||!i?l?.({...i&&JSON.parse(JSON.stringify(i)),componentId:h}):typeof i=="object"&&(i.componentId=h,l?.({...i&&JSON.parse(JSON.stringify(i)),componentId:h}))}}),i?.componentId&&e.jsx(St,{value:i,valueImmutable:f,onChange:l,defaultLocale:x,allComponents:d})]});if(!s.type||["string","url","multiline"].includes(s.type)){let n=s.type==="string"?s.multiline:void 0;s.type==="multiline"&&(n=!0);const h=s.type==="url"?i?.url:i;return e.jsx(r.TextField,{...b,label:o,value:typeof h=="string"?h:"",multiline:n,minRows:n?2:void 0,maxRows:n?10:void 0,onChange:j=>l?.(s.type==="url"?{...i,url:j.target.value,mediaKitUrl:j.target.value}:j.target.value),slotProps:{input:s.type==="url"?{sx:{pr:0},endAdornment:e.jsxs(r.InputAdornment,{position:"end",sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(N.UploaderButton,{onChange:async({response:j})=>{const p=j?.data?.url||j?.data?.fileUrl;let y;p&&(y=await N.getImageSize(p).catch(()=>N.getVideoSize(p)).catch(()=>{}));let P=j?.data?.filename||"";P&&(P=`mediakit://${P}`),l?.({url:p,mediaKitUrl:P,width:y?.naturalWidth,height:y?.naturalHeight})}}),e.jsx(r.Tooltip,{title:"If you are using the 'mediaKitUrl' property, please use < import { getMediaKitAbsoluteUrl } from '@blocklet/pages-kit/builtin/utils' > to get the full address.",children:e.jsx(V.InfoRounded,{sx:{cursor:"default",mr:1},fontSize:"small"})})]})}:void 0}})}return s.type==="array"?e.jsx(ct,{label:o,value:Array.isArray(i)?i:[],onChange:n=>l?.(n),property:s,renderItem:({item:n,index:h,onChange:j})=>s.subProperties&&Object.keys(s.subProperties).length>0?e.jsx(r.Stack,{sx:{gap:1,width:"100%"},children:z.default(Object.values(s.subProperties),"index").filter(p=>p.data.visible!==!1).map(({data:p})=>p.key?e.jsx(F,{component:t,property:p,value:n[p.key],onChange:y=>{const P={...n,[p.key]:y};j(P)},size:"small",fullWidth:!0,defaultLocale:x,allComponents:d},p.id):null)},h):e.jsx(r.TextField,{size:b.size,fullWidth:!0,value:n,onChange:p=>j(p.target.value)})}):(console.error("Unsupported property type",s.type),null)}function It({NumberProps:t,...s}){const{getInputProps:i}=le.unstable_useNumberInput(t),l=i();return e.jsx(r.TextField,{...s,slotProps:{htmlInput:l}})}const be=`import React from '@blocklet/pages-kit/builtin/react'
2
2
  import { Box } from '@blocklet/pages-kit/builtin/mui/material'
3
3
 
4
4
  export default function () {
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as y } from "react/jsx-runtime";
2
- import { i as G, a as j, h as J, j as Z, k as ee, f as oe } from "./chunks/state-DSo43FAB.js";
2
+ import { i as G, a as j, h as J, j as Z, k as ee, f as oe } from "./chunks/state-DRjnlQY_.js";
3
3
  import W from "@arcblock/ux/lib/Empty";
4
4
  import { useLocaleContext as F } from "@arcblock/ux/lib/Locale/context";
5
5
  import { Icon as P } from "@iconify-icon/react";
@@ -7,7 +7,7 @@ import te from "@mui/icons-material/Check";
7
7
  import { Box as n, styled as H, Dialog as re, DialogTitle as ie, TextField as ne, IconButton as ae, DialogContent as se, Tabs as le, Tab as pe, Grid as N, Card as de, CardMedia as ce, CardContent as me, Typography as V, DialogActions as ue, Button as $, Skeleton as fe } from "@mui/material";
8
8
  import { useReactive as Q } from "ahooks";
9
9
  import { createContext as L, useMemo as M, useEffect as A, useRef as S } from "react";
10
- import { b as be, T as he, I as ge, B as xe } from "./chunks/index-BB4iH1hV.js";
10
+ import { b as be, T as he, I as ge, B as xe } from "./chunks/index-DOEiNkBX.js";
11
11
  import { styled as m } from "@arcblock/ux/lib/Theme";
12
12
  import "@blocklet/pages-kit/builtin/color-picker";
13
13
  import "@blocklet/pages-kit/utils/style";
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { u as a, S as o, g as s, a as n } from "./state-DSo43FAB.js";
2
+ import { u as a, S as o, g as s, a as n } from "./state-DRjnlQY_.js";
3
3
  function d({ children: t }) {
4
4
  const r = a();
5
5
  return /* @__PURE__ */ e(o, { url: s(r ?? ""), name: "root", waitingSynced: !0, children: /* @__PURE__ */ e(i, { children: t }) });
@@ -1,5 +1,5 @@
1
1
  import { jsx as e, jsxs as R } from "react/jsx-runtime";
2
- import { u as z, c as U, d as re, e as ae, f as se, b as ie } from "./state-DSo43FAB.js";
2
+ import { u as z, c as U, d as re, e as ae, f as se, b as ie } from "./state-DRjnlQY_.js";
3
3
  import { useLocaleContext as V } from "@arcblock/ux/lib/Locale/context";
4
4
  import G from "@arcblock/ux/lib/Result";
5
5
  import { styled as M, useTheme as le } from "@arcblock/ux/lib/Theme";
@@ -21,7 +21,7 @@ import { Helmet as we } from "react-helmet";
21
21
  import { useSearchParams as ee, Routes as Se, Route as C, Navigate as Ce, ScrollRestoration as Ie } from "react-router-dom";
22
22
  import { useAsync as te } from "react-use";
23
23
  import { joinURL as k } from "ufo";
24
- import { S as Te, P as je, a as Re, B as Oe, g as Ee } from "./index-BB4iH1hV.js";
24
+ import { S as Te, P as je, a as Re, B as Oe, g as Ee } from "./index-DOEiNkBX.js";
25
25
  import Me from "@blocklet/ui-react/lib/Footer";
26
26
  import "webfontloader";
27
27
  import { u as Ae, a as Be } from "./session-C72Dq8zg.js";
@@ -114,7 +114,7 @@ function ze({ mode: t }) {
114
114
  }
115
115
  return /* @__PURE__ */ e(Ve, { children: ({ state: o }) => /* @__PURE__ */ e(F, { mode: t, state: o }) });
116
116
  }
117
- const Ue = X(() => import("./publish-button-BtQimyJM.js")), Ve = X(() => import("./draft-data-CpCuyq4R.js"));
117
+ const Ue = X(() => import("./publish-button-C6Ixf5NB.js")), Ve = X(() => import("./draft-data-mNAXJMtq.js"));
118
118
  function Ge({
119
119
  mode: t,
120
120
  children: o
@@ -564,7 +564,7 @@ function qe({
564
564
  color: `${u} !important`
565
565
  // 使用 inherit 来同步颜色
566
566
  },
567
- ".header-logo": {
567
+ ".header-logo, .header-menu": {
568
568
  color: `${u} !important`
569
569
  },
570
570
  "& .navmenu--horizontal": {
@@ -12,7 +12,7 @@ import { Link as Re, NavLink as Ne, useNavigate as Le } from "react-router-dom";
12
12
  import je from "@arcblock/ux/lib/Button";
13
13
  import gt from "is-uri";
14
14
  import { Icon as Kt } from "@iconify-icon/react";
15
- import { e as U, f as N, i as bt, l as yt } from "./state-DSo43FAB.js";
15
+ import { e as U, f as N, i as bt, l as yt } from "./state-DRjnlQY_.js";
16
16
  import Pe from "@blocklet/pages-kit/builtin/markdown/markdown-renderer";
17
17
  import { useColorConvert as Zt } from "@blocklet/pages-kit/contexts/color";
18
18
  import { materialDark as ze } from "react-syntax-highlighter/dist/esm/styles/prism";
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as m, Fragment as oe } from "react/jsx-runtime";
2
- import { u as ae, b as le } from "./state-DSo43FAB.js";
2
+ import { u as ae, b as le } from "./state-DRjnlQY_.js";
3
3
  import { useLocaleContext as G } from "@arcblock/ux/lib/Locale/context";
4
4
  import q from "@arcblock/ux/lib/Toast";
5
5
  import { generateParamCombinations as ce } from "@blocklet/pages-kit/utils/route";
@@ -10,8 +10,8 @@ import { produce as De } from "immer";
10
10
  import Z from "lodash/difference";
11
11
  import { useState as D, useMemo as C, useCallback as O, useImperativeHandle as Oe, useEffect as E, useRef as Ae } from "react";
12
12
  import { useAsync as je } from "react-use";
13
- import { L as ve } from "./home-geXez-Pe.js";
14
- import { p as Ce, g as Re } from "./index-BB4iH1hV.js";
13
+ import { L as ve } from "./home-DK0hbr0h.js";
14
+ import { p as Ce, g as Re } from "./index-DOEiNkBX.js";
15
15
  function ze(s) {
16
16
  const [u, g] = D(!1);
17
17
  return /* @__PURE__ */ t(