@chaibuilder/pages 0.6.8 → 0.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{B4MFY5CR-DwLMOwKu.js → B4MFY5CR-kJPshsEk.js} +1 -1
- package/dist/{B4MFY5CR-Dp4AUWG-.cjs → B4MFY5CR-sOl0IlGA.cjs} +1 -1
- package/dist/{HO4MOOFI-BT2N2k4u.js → HO4MOOFI-B-oF_eIl.js} +2 -2
- package/dist/{HO4MOOFI-C51esShy.cjs → HO4MOOFI-DAE_aO4G.cjs} +1 -1
- package/dist/{HUY7CZI3-D5qjaMAP.js → HUY7CZI3-BAQtQDre.js} +2 -2
- package/dist/{HUY7CZI3-y1AD0V0w.cjs → HUY7CZI3-CgZgvc1q.cjs} +1 -1
- package/dist/index-CpS9F10B.js +9991 -0
- package/dist/index-DuGc6PxG.cjs +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +11 -0
- package/dist/server.js +83 -96
- package/package.json +4 -3
- package/dist/index-B9FmktAC.cjs +0 -2
- package/dist/index-o9kh9YJd.js +0 -10019
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-DuGc6PxG.cjs"),a=require("@chaibuilder/sdk");exports.ImagePicker=e.ImagePicker;exports.NestedPathSelector=e.NestedPathSelector;exports.PermissionChecker=e.PermissionChecker;exports.default=e.ChaiBuilderPages;exports.registerChaiLoginComponent=e.registerLoginComponent;exports.useActivePage=e.useActivePage;exports.useBuilderPageData=e.useBuilderPageData;exports.useChaiAuth=e.useChaiAuth;exports.useChaiCurrentPage=e.useCurrentPage;exports.useChaiFetch=e.useChaiFetch;exports.useChaiUserInfo=e.useChaiUserInfo;exports.useFallbackLang=e.useFallbackLang;exports.useFetch=e.useFetch;exports.useGotoPage=e.useGotoPage;exports.useLanguagePages=e.useLanguagePages;exports.usePageTypes=e.usePageTypes;exports.useUpdateActivePageMetadata=e.useUpdateActivePageMetadata;exports.useUserPermissions=e.useUserRoleAndPermissions;exports.useWebsitePages=e.useWebsitePages;exports.useWebsiteSetting=e.useWebsiteSetting;Object.keys(a).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>a[s]})});
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a4 as s, X as t, a3 as u, W as i, a5 as r, Y as g, Z as o, aa as P, a6 as h, ac as n, ae as c, _ as C, ad as d, a0 as m, a7 as l, a1 as p, a2 as b, ab as f, a8 as k, a9 as A } from "./index-
|
|
1
|
+
import { a4 as s, X as t, a3 as u, W as i, a5 as r, Y as g, Z as o, aa as P, a6 as h, ac as n, ae as c, _ as C, ad as d, a0 as m, a7 as l, a1 as p, a2 as b, ab as f, a8 as k, a9 as A } from "./index-CpS9F10B.js";
|
|
2
2
|
export * from "@chaibuilder/sdk";
|
|
3
3
|
export {
|
|
4
4
|
s as ImagePicker,
|
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var B=Object.defineProperty;var I=(n,a,t)=>a in n?B(n,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[a]=t;var C=(n,a,t)=>I(n,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),M=require("@chaibuilder/runtime");let v=async n=>({...n});const O=n=>{v=n},y=async n=>{try{return await v(n)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),A=n=>P[n],b=(n,a)=>{P[n]={key:n,...a,hasSlug:!0}},G=(n,a)=>{P[n]={key:n,...a,hasSlug:!1}},k={};function R(n,a){c.has(k,n)&&console.warn(`Collection ${n} already registered`),k[n]={...a,id:n}}const U=()=>Object.values(k),_=n=>c.get(k,n);class H{constructor(a){this.backend=a}async upload({file:a,folderId:t,name:s},e){var o,l;return await((l=(o=this.backend).handleAssetsAction)==null?void 0:l.call(o,{action:"UPLOAD_ASSET",data:{name:s,file:a,folderId:t}},e))}async getAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSET",data:{id:a}},t)}async getAssets(a,t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSETS",data:a},t)}async deleteAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"DELETE_ASSET",data:{id:a}},t)}async updateAsset({id:a,file:t,description:s},e){var r,o;return(o=(r=this.backend).handleAssetsAction)==null?void 0:o.call(r,{action:"UPDATE_ASSET",data:{id:a,file:t,description:s}},e)}}class L{constructor(a){this.backend=a}async refreshToken(a){var s,e;const t=await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"REFRESH_TOKEN",data:a}));return t.error?{error:t.error}:t}async login({email:a,password:t}){var e,r;const s=await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"LOGIN",data:{email:a,password:t}}));return s.error?{error:s.error}:s}async logout(){var a,t;await((t=(a=this.backend).handleUsersAction)==null?void 0:t.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,e;return(await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,e;return await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,t){var e,r;return await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"GET_CHAI_USER",data:t},a))}}class K{constructor(a,t,s){C(this,"fallbackLang","");C(this,"draftMode",!1);this.backend=a,this.chaiUsers=t,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=t??new L(this.backend),this.chaiAssets=s??new H(this.backend)}_registerDefaultPageTypes(){b("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),G("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setFallbackLang(a){if(c.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,t){var e,r,o,l,m,f,E,S,d,w,h;switch(a.action){case"UPLOAD_ASSET":return(e=this.chaiAssets)==null?void 0:e.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null,optimize:a.data.optimize??!0},t);case"GET_ASSET":return(r=this.chaiAssets)==null?void 0:r.getAsset(a.data,t);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,t);case"DELETE_ASSET":return(l=this.chaiAssets)==null?void 0:l.deleteAsset(a.data,t);case"UPDATE_ASSET":return(m=this.chaiAssets)==null?void 0:m.updateAsset(a.data,t);case"REFRESH_TOKEN":return(f=this.chaiUsers)==null?void 0:f.refreshToken(a.data);case"LOGIN":return(E=this.chaiUsers)==null?void 0:E.login(a.data);case"LOGOUT":return(S=this.chaiUsers)==null?void 0:S.logout();case"CHECK_USER_STATUS":return(d=this.chaiUsers)==null?void 0:d.isUserActive(t);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(t);case"GET_CHAI_USER":return(h=this.chaiUsers)==null?void 0:h.getUserInfo(t,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const i=await y({lang:a.data.lang,draft:!0,inBuilder:!0}),u=A(a.data.pageType);return u?{...u.dataProvider?await u.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:i}:{global:i}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async i=>({key:i.key,helpText:i.helpText??"",icon:i.icon??"",dynamicSegments:i.dynamicSegments??"",dynamicSlug:i.dynamicSlug??"",hasSlug:i.hasSlug??!0,name:typeof i.name=="function"?await i.name():i.name,...c.isFunction(i.defaultTrackingInfo)?{trackingDefault:i.defaultTrackingInfo()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const i=A(a.data.pageType);return i?i.search?await i.search(a.data.query):this.backend.handleAction(a,t):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return U().map(i=>c.omit(i,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const i=a.data.block,u=i._type;if(u==="Repeater"&&(i!=null&&i.repeaterItems.includes("{{#"))){const g=i.repeaterItems.replace("{{#","").replace("}}",""),p=_(g);return p?await(p==null?void 0:p.fetch({block:i,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const g=M.getRegisteredChaiBlock(u);return!g||!c.isFunction(g.dataProvider)?{}:await g.dataProvider({block:i,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,t);return this.emit(a.action,s),s}emit(a,t){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=c.get(t,"page");if(!s)return;const e=A(s.pageType);if(e)switch(a){case"CREATE_PAGE":return(r=e.onCreate)==null?void 0:r.call(e,s);case"UPDATE_PAGE":return(o=e.onUpdate)==null?void 0:o.call(e,s);case"DELETE_PAGE":return(l=e.onDelete)==null?void 0:l.call(e,s)}}async resolvePageLink(a,t){if(!c.startsWith(a,"pageType:"))return a;const s=a.split(":")[1],e=a.split(":")[2],r=A(s);return r?await this.resolveLink(r.key,e,t):a}async resolveLink(a,t,s){const e=A(a);if(!e)return"/not-found";const r=this.isDraftMode();return e.resolveLink?await e.resolveLink(t,r,s):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:t,draft:r,lang:s===this.getFallbackLang()?"":s}})}async getPageBySlug(a){const t=this.isDraftMode(),s={};return T().forEach(e=>{c.has(e,"dynamicSegments")&&e.dynamicSegments&&(s[e.key]=e.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:s}})}async getFullPage(a){const t=this.isDraftMode();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,draft:t,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData({blocks:a,pageType:t,pageProps:s,lang:e}){var S;const r=this.isDraftMode(),o=A(t),l=a.filter(d=>d._type==="Repeater"&&(d==null?void 0:d.repeaterItems.includes("{{#")));let m={};if(l.length>0){const d=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));m=(await Promise.all(d.map(async({collectionId:h,block:i})=>{const u=_(h);try{const g=await(u==null?void 0:u.fetch({lang:e,draft:r,inBuilder:!1,pageProps:s,block:i}));return Promise.resolve({[`#${h}/${i._id}`]:c.get(g,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${i._id}`]:[]})}}))).reduce((h,i)=>({...h,...i}),{})}const[f,E]=await Promise.all([this.getGlobalData(e),((S=o==null?void 0:o.dataProvider)==null?void 0:S.call(o,{lang:e,draft:r,inBuilder:!1,pageProps:s}))||Promise.resolve({})]);return o?{...E,global:f,...m}:{global:f,...m}}async getGlobalData(a){return await y({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class N{constructor(a="",t=D){this.apiKey=a,this.apiUrl=t}async handleUsersAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAssetsAction(a,t){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}})).json()}}const j={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},D="https://api.chaibuilder.com";exports.API_URL=D;exports.ChaiBuilderPages=K;exports.ChaiBuilderPagesBackend=N;exports.ChaiBuilderPagesUserManagement=L;exports.LANGUAGES=j;exports.getChaiCollection=_;exports.getChaiCollections=U;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=R;exports.registerChaiGlobalDataProvider=O;exports.registerChaiPageType=b;exports.registerChaiPartialType=G;
|
|
1
|
+
"use strict";var I=Object.defineProperty;var O=(i,a,t)=>a in i?I(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var C=(i,a,t)=>O(i,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),B=require("@chaibuilder/runtime");let v=async i=>({...i});const M=i=>{v=i},y=async i=>{try{return await v(i)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),g=i=>P[i],G=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},U=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}},p={};function N(i,a){c.has(p,i)&&console.warn(`Collection ${i} already registered`),p[i]={...a,id:i}}const b=()=>Object.values(p),_=i=>c.get(p,i);class R{constructor(a){this.backend=a}async upload({file:a,folderId:t,name:s},e){var o,l;return await((l=(o=this.backend).handleAssetsAction)==null?void 0:l.call(o,{action:"UPLOAD_ASSET",data:{name:s,file:a,folderId:t}},e))}async getAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSET",data:{id:a}},t)}async getAssets(a,t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"GET_ASSETS",data:a},t)}async deleteAsset({id:a},t){var s,e;return(e=(s=this.backend).handleAssetsAction)==null?void 0:e.call(s,{action:"DELETE_ASSET",data:{id:a}},t)}async updateAsset({id:a,file:t,description:s},e){var r,o;return(o=(r=this.backend).handleAssetsAction)==null?void 0:o.call(r,{action:"UPDATE_ASSET",data:{id:a,file:t,description:s}},e)}}class D{constructor(a){this.backend=a}async refreshToken(a){var s,e;const t=await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"REFRESH_TOKEN",data:a}));return t.error?{error:t.error}:t}async login({email:a,password:t}){var e,r;const s=await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"LOGIN",data:{email:a,password:t}}));return s.error?{error:s.error}:s}async logout(){var a,t;await((t=(a=this.backend).handleUsersAction)==null?void 0:t.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,e;return(await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,e;return await((e=(s=this.backend).handleUsersAction)==null?void 0:e.call(s,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,t){var e,r;return await((r=(e=this.backend).handleUsersAction)==null?void 0:r.call(e,{action:"GET_CHAI_USER",data:t},a))}}class H{constructor(a,t,s){C(this,"fallbackLang","");C(this,"draftMode",!1);this.backend=a,this.chaiUsers=t,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=t??new D(this.backend),this.chaiAssets=s??new R(this.backend)}_registerDefaultPageTypes(){G("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),U("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setFallbackLang(a){if(c.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,t){var e,r,o,l,f,m,E,S,d,w,h;switch(a.action){case"UPLOAD_ASSET":return(e=this.chaiAssets)==null?void 0:e.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null,optimize:a.data.optimize??!0},t);case"GET_ASSET":return(r=this.chaiAssets)==null?void 0:r.getAsset(a.data,t);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,t);case"DELETE_ASSET":return(l=this.chaiAssets)==null?void 0:l.deleteAsset(a.data,t);case"UPDATE_ASSET":return(f=this.chaiAssets)==null?void 0:f.updateAsset(a.data,t);case"REFRESH_TOKEN":return(m=this.chaiUsers)==null?void 0:m.refreshToken(a.data);case"LOGIN":return(E=this.chaiUsers)==null?void 0:E.login(a.data);case"LOGOUT":return(S=this.chaiUsers)==null?void 0:S.logout();case"CHECK_USER_STATUS":return(d=this.chaiUsers)==null?void 0:d.isUserActive(t);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(t);case"GET_CHAI_USER":return(h=this.chaiUsers)==null?void 0:h.getUserInfo(t,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const n=await y({lang:a.data.lang,draft:!0,inBuilder:!0}),u=g(a.data.pageType);return u?{...u.dataProvider?await u.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:n}:{global:n}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async n=>({key:n.key,helpText:n.helpText??"",icon:n.icon??"",dynamicSegments:n.dynamicSegments??"",dynamicSlug:n.dynamicSlug??"",hasSlug:n.hasSlug??!0,name:typeof n.name=="function"?await n.name():n.name,...c.isFunction(n.defaultTrackingInfo)?{trackingDefault:n.defaultTrackingInfo()}:{},...c.isFunction(n.defaultSeo)?{defaultSeo:n.defaultSeo()}:{},...c.isFunction(n.defaultJSONLD)?{defaultJSONLD:n.defaultJSONLD()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const n=g(a.data.pageType);return n?n.search?await n.search(a.data.query):this.backend.handleAction(a,t):{error:"Page type not found"}}if(a.action==="GET_DYNAMIC_PAGES"){const n=g(a.data.pageType);return n?n.getDynamicPages?await n.getDynamicPages(a.data):[]:{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return b().map(n=>c.omit(n,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const n=a.data.block,u=n._type;if(u==="Repeater"&&(n!=null&&n.repeaterItems.includes("{{#"))){const A=n.repeaterItems.replace("{{#","").replace("}}",""),k=_(A);return k?await(k==null?void 0:k.fetch({block:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const A=B.getRegisteredChaiBlock(u);return!A||!c.isFunction(A.dataProvider)?{}:await A.dataProvider({block:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,t);return this.emit(a.action,s),s}emit(a,t){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=c.get(t,"page");if(!s)return;const e=g(s.pageType);if(e)switch(a){case"CREATE_PAGE":return(r=e.onCreate)==null?void 0:r.call(e,s);case"UPDATE_PAGE":return(o=e.onUpdate)==null?void 0:o.call(e,s);case"DELETE_PAGE":return(l=e.onDelete)==null?void 0:l.call(e,s)}}async resolvePageLink(a,t){if(!c.startsWith(a,"pageType:"))return a;const s=a.split(":")[1],e=a.split(":")[2],r=g(s);return r?await this.resolveLink(r.key,e,t):a}async resolveLink(a,t,s){const e=g(a);if(!e)return"/not-found";const r=this.isDraftMode();return e.resolveLink?await e.resolveLink(t,r,s):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:t,draft:r,lang:s===this.getFallbackLang()?"":s}})}async getPageBySlug(a){const t=this.isDraftMode(),s={};return T().forEach(e=>{c.has(e,"dynamicSegments")&&e.dynamicSegments&&(s[e.key]=e.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:s}})}async getFullPage(a){const t=this.isDraftMode();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,draft:t,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData({blocks:a,pageType:t,pageProps:s,lang:e}){var S;const r=this.isDraftMode(),o=g(t),l=a.filter(d=>d._type==="Repeater"&&(d==null?void 0:d.repeaterItems.includes("{{#")));let f={};if(l.length>0){const d=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));f=(await Promise.all(d.map(async({collectionId:h,block:n})=>{const u=_(h);try{const A=await(u==null?void 0:u.fetch({lang:e,draft:r,inBuilder:!1,pageProps:s,block:n}));return Promise.resolve({[`#${h}/${n._id}`]:c.get(A,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${n._id}`]:[]})}}))).reduce((h,n)=>({...h,...n}),{})}const[m,E]=await Promise.all([this.getGlobalData(e),((S=o==null?void 0:o.dataProvider)==null?void 0:S.call(o,{lang:e,draft:r,inBuilder:!1,pageProps:s}))||Promise.resolve({})]);return o?{...E,global:m,...f}:{global:m,...f}}async getGlobalData(a){return await y({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class K{constructor(a="",t=L){this.apiKey=a,this.apiUrl=t}async handleUsersAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAction(a,t){const s=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}}),e=await s.json();return c.has(e,"error")?{...e,status:s.status}:e}async handleAssetsAction(a,t){return await(await fetch(`${this.apiUrl}/v1/api/assets`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":t}})).json()}}const j={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},L="https://api.chaibuilder.com";exports.API_URL=L;exports.ChaiBuilderPages=H;exports.ChaiBuilderPagesBackend=K;exports.ChaiBuilderPagesUserManagement=D;exports.LANGUAGES=j;exports.getChaiCollection=_;exports.getChaiCollections=b;exports.getChaiPageType=g;exports.getChaiPageTypes=T;exports.registerChaiCollection=N;exports.registerChaiGlobalDataProvider=M;exports.registerChaiPageType=G;exports.registerChaiPartialType=U;
|
package/dist/server.d.ts
CHANGED
|
@@ -207,6 +207,10 @@ export declare type ChaiBuilderPageType = {
|
|
|
207
207
|
name: string | (() => Promise<string>);
|
|
208
208
|
dynamicSegments?: string;
|
|
209
209
|
dynamicSlug?: string;
|
|
210
|
+
getDynamicPages?: ({ query, uuid }: {
|
|
211
|
+
query?: string;
|
|
212
|
+
uuid?: string;
|
|
213
|
+
}) => Promise<ChaiDynamicPage[]>;
|
|
210
214
|
search?: (query: string) => Promise<PageTypeSearchResult[] | Error>;
|
|
211
215
|
resolveLink?: (id: string, draft?: boolean, lang?: string) => Promise<string>;
|
|
212
216
|
onCreate?: (data: Omit<ChaiBuilderPage, "seo">) => Promise<void>;
|
|
@@ -230,6 +234,13 @@ export declare type ChaiBuilderUserInfo = {
|
|
|
230
234
|
avatar?: string;
|
|
231
235
|
};
|
|
232
236
|
|
|
237
|
+
export declare type ChaiDynamicPage = {
|
|
238
|
+
id: string;
|
|
239
|
+
slug: string;
|
|
240
|
+
name: string;
|
|
241
|
+
primaryPage?: string;
|
|
242
|
+
};
|
|
243
|
+
|
|
233
244
|
export { ChaiPageProps }
|
|
234
245
|
|
|
235
246
|
export declare type ChaiWebsiteSetting = {
|
package/dist/server.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { has as
|
|
5
|
-
import { getRegisteredChaiBlock as
|
|
6
|
-
let
|
|
1
|
+
var D = Object.defineProperty;
|
|
2
|
+
var b = (i, a, t) => a in i ? D(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
|
|
3
|
+
var _ = (i, a, t) => b(i, typeof a != "symbol" ? a + "" : a, t);
|
|
4
|
+
import { has as p, get as C, isEmpty as L, isFunction as k, omit as I, startsWith as O } from "lodash-es";
|
|
5
|
+
import { getRegisteredChaiBlock as M } from "@chaibuilder/runtime";
|
|
6
|
+
let U = async (i) => ({
|
|
7
7
|
...i
|
|
8
8
|
});
|
|
9
9
|
const F = (i) => {
|
|
10
|
-
|
|
10
|
+
U = i;
|
|
11
11
|
}, v = async (i) => {
|
|
12
12
|
try {
|
|
13
|
-
return await
|
|
13
|
+
return await U(i);
|
|
14
14
|
} catch (a) {
|
|
15
15
|
return console.error(a), {};
|
|
16
16
|
}
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
function
|
|
23
|
-
|
|
17
|
+
}, P = {}, G = () => Object.values(P), g = (i) => P[i], B = (i, a) => {
|
|
18
|
+
P[i] = { key: i, ...a, hasSlug: !0 };
|
|
19
|
+
}, N = (i, a) => {
|
|
20
|
+
P[i] = { key: i, ...a, hasSlug: !1 };
|
|
21
|
+
}, w = {};
|
|
22
|
+
function J(i, a) {
|
|
23
|
+
p(w, i) && console.warn(`Collection ${i} already registered`), w[i] = { ...a, id: i };
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
class
|
|
25
|
+
const H = () => Object.values(w), y = (i) => C(w, i);
|
|
26
|
+
class K {
|
|
27
27
|
constructor(a) {
|
|
28
28
|
this.backend = a;
|
|
29
29
|
}
|
|
@@ -92,7 +92,7 @@ class R {
|
|
|
92
92
|
);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
class
|
|
95
|
+
class R {
|
|
96
96
|
constructor(a) {
|
|
97
97
|
this.backend = a;
|
|
98
98
|
}
|
|
@@ -153,24 +153,24 @@ class N {
|
|
|
153
153
|
));
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
class
|
|
156
|
+
class Y {
|
|
157
157
|
constructor(a, t, s) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this.backend = a, this.chaiUsers = t, this.chaiAssets = s, this._registerDefaultPageTypes(), this.chaiUsers = t ?? new
|
|
158
|
+
_(this, "fallbackLang", "");
|
|
159
|
+
_(this, "draftMode", !1);
|
|
160
|
+
this.backend = a, this.chaiUsers = t, this.chaiAssets = s, this._registerDefaultPageTypes(), this.chaiUsers = t ?? new R(this.backend), this.chaiAssets = s ?? new K(this.backend);
|
|
161
161
|
}
|
|
162
162
|
_registerDefaultPageTypes() {
|
|
163
|
-
|
|
163
|
+
B("page", {
|
|
164
164
|
name: "Static Page",
|
|
165
165
|
icon: '<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'
|
|
166
|
-
}),
|
|
166
|
+
}), N("global", {
|
|
167
167
|
name: "Global Block",
|
|
168
168
|
helpText: "A global block can be reused in multiple pages.",
|
|
169
169
|
icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
setFallbackLang(a) {
|
|
173
|
-
if (
|
|
173
|
+
if (L(a))
|
|
174
174
|
throw new Error("Fallback language cannot be empty");
|
|
175
175
|
this.fallbackLang = a;
|
|
176
176
|
}
|
|
@@ -184,7 +184,7 @@ class $ {
|
|
|
184
184
|
return this.draftMode;
|
|
185
185
|
}
|
|
186
186
|
async handle(a, t) {
|
|
187
|
-
var e, r, o, c,
|
|
187
|
+
var e, r, o, c, f, A, S, m, u, T, l;
|
|
188
188
|
switch (a.action) {
|
|
189
189
|
// Media
|
|
190
190
|
case "UPLOAD_ASSET":
|
|
@@ -198,48 +198,33 @@ class $ {
|
|
|
198
198
|
t
|
|
199
199
|
);
|
|
200
200
|
case "GET_ASSET":
|
|
201
|
-
return (r = this.chaiAssets) == null ? void 0 : r.getAsset(
|
|
202
|
-
a.data,
|
|
203
|
-
t
|
|
204
|
-
);
|
|
201
|
+
return (r = this.chaiAssets) == null ? void 0 : r.getAsset(a.data, t);
|
|
205
202
|
case "GET_ASSETS":
|
|
206
203
|
return (o = this.chaiAssets) == null ? void 0 : o.getAssets(a.data, t);
|
|
207
204
|
case "DELETE_ASSET":
|
|
208
|
-
return (c = this.chaiAssets) == null ? void 0 : c.deleteAsset(
|
|
209
|
-
a.data,
|
|
210
|
-
t
|
|
211
|
-
);
|
|
205
|
+
return (c = this.chaiAssets) == null ? void 0 : c.deleteAsset(a.data, t);
|
|
212
206
|
case "UPDATE_ASSET":
|
|
213
|
-
return (
|
|
207
|
+
return (f = this.chaiAssets) == null ? void 0 : f.updateAsset(a.data, t);
|
|
214
208
|
// Users
|
|
215
209
|
case "REFRESH_TOKEN":
|
|
216
|
-
return (
|
|
217
|
-
a.data
|
|
218
|
-
);
|
|
210
|
+
return (A = this.chaiUsers) == null ? void 0 : A.refreshToken(a.data);
|
|
219
211
|
case "LOGIN":
|
|
220
|
-
return (
|
|
221
|
-
a.data
|
|
222
|
-
);
|
|
212
|
+
return (S = this.chaiUsers) == null ? void 0 : S.login(a.data);
|
|
223
213
|
case "LOGOUT":
|
|
224
|
-
return (
|
|
214
|
+
return (m = this.chaiUsers) == null ? void 0 : m.logout();
|
|
225
215
|
case "CHECK_USER_STATUS":
|
|
226
216
|
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(t);
|
|
227
217
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
228
|
-
return (
|
|
218
|
+
return (T = this.chaiUsers) == null ? void 0 : T.getUserRoleAndPermissions(t);
|
|
229
219
|
case "GET_CHAI_USER":
|
|
230
|
-
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(
|
|
231
|
-
t,
|
|
232
|
-
a.data
|
|
233
|
-
);
|
|
220
|
+
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(t, a.data);
|
|
234
221
|
}
|
|
235
222
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
236
223
|
const n = await v({
|
|
237
224
|
lang: a.data.lang,
|
|
238
225
|
draft: !0,
|
|
239
226
|
inBuilder: !0
|
|
240
|
-
}), h =
|
|
241
|
-
a.data.pageType
|
|
242
|
-
);
|
|
227
|
+
}), h = g(a.data.pageType);
|
|
243
228
|
return h ? {
|
|
244
229
|
...h.dataProvider ? await h.dataProvider({
|
|
245
230
|
lang: a.data.lang,
|
|
@@ -252,7 +237,7 @@ class $ {
|
|
|
252
237
|
}
|
|
253
238
|
if (a.action === "GET_PAGE_TYPES")
|
|
254
239
|
return Promise.all(
|
|
255
|
-
|
|
240
|
+
G().map(async (n) => ({
|
|
256
241
|
key: n.key,
|
|
257
242
|
helpText: n.helpText ?? "",
|
|
258
243
|
icon: n.icon ?? "",
|
|
@@ -260,24 +245,26 @@ class $ {
|
|
|
260
245
|
dynamicSlug: n.dynamicSlug ?? "",
|
|
261
246
|
hasSlug: n.hasSlug ?? !0,
|
|
262
247
|
name: typeof n.name == "function" ? await n.name() : n.name,
|
|
263
|
-
...
|
|
248
|
+
...k(n.defaultTrackingInfo) ? { trackingDefault: n.defaultTrackingInfo() } : {},
|
|
249
|
+
...k(n.defaultSeo) ? { defaultSeo: n.defaultSeo() } : {},
|
|
250
|
+
...k(n.defaultJSONLD) ? { defaultJSONLD: n.defaultJSONLD() } : {}
|
|
264
251
|
}))
|
|
265
252
|
);
|
|
266
253
|
if (a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
267
|
-
const n =
|
|
268
|
-
a.data.pageType
|
|
269
|
-
);
|
|
254
|
+
const n = g(a.data.pageType);
|
|
270
255
|
return n ? n.search ? await n.search(a.data.query) : this.backend.handleAction(a, t) : { error: "Page type not found" };
|
|
271
256
|
}
|
|
257
|
+
if (a.action === "GET_DYNAMIC_PAGES") {
|
|
258
|
+
const n = g(a.data.pageType);
|
|
259
|
+
return n ? n.getDynamicPages ? await n.getDynamicPages(a.data) : [] : { error: "Page type not found" };
|
|
260
|
+
}
|
|
272
261
|
if (a.action === "GET_COLLECTIONS")
|
|
273
|
-
return
|
|
274
|
-
(n) => I(n, "fetch")
|
|
275
|
-
);
|
|
262
|
+
return H().map((n) => I(n, "fetch"));
|
|
276
263
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
277
264
|
const n = a.data.block, h = n._type;
|
|
278
265
|
if (h === "Repeater" && (n != null && n.repeaterItems.includes("{{#"))) {
|
|
279
|
-
const d = n.repeaterItems.replace("{{#", "").replace("}}", ""),
|
|
280
|
-
return
|
|
266
|
+
const d = n.repeaterItems.replace("{{#", "").replace("}}", ""), E = y(d);
|
|
267
|
+
return E ? await (E == null ? void 0 : E.fetch({
|
|
281
268
|
block: n,
|
|
282
269
|
pageProps: a.data.pageProps,
|
|
283
270
|
lang: a.data.lang,
|
|
@@ -285,8 +272,8 @@ class $ {
|
|
|
285
272
|
inBuilder: !0
|
|
286
273
|
})) ?? [] : [];
|
|
287
274
|
} else {
|
|
288
|
-
const d =
|
|
289
|
-
return !d || !
|
|
275
|
+
const d = M(h);
|
|
276
|
+
return !d || !k(d.dataProvider) ? {} : await d.dataProvider({
|
|
290
277
|
block: n,
|
|
291
278
|
pageProps: a.data.pageProps,
|
|
292
279
|
lang: a.data.lang,
|
|
@@ -301,9 +288,9 @@ class $ {
|
|
|
301
288
|
emit(a, t) {
|
|
302
289
|
var r, o, c;
|
|
303
290
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
304
|
-
const s =
|
|
291
|
+
const s = C(t, "page");
|
|
305
292
|
if (!s) return;
|
|
306
|
-
const e =
|
|
293
|
+
const e = g(s.pageType);
|
|
307
294
|
if (e)
|
|
308
295
|
switch (a) {
|
|
309
296
|
case "CREATE_PAGE":
|
|
@@ -320,13 +307,13 @@ class $ {
|
|
|
320
307
|
* @returns The resolved link
|
|
321
308
|
*/
|
|
322
309
|
async resolvePageLink(a, t) {
|
|
323
|
-
if (!
|
|
310
|
+
if (!O(a, "pageType:"))
|
|
324
311
|
return a;
|
|
325
|
-
const s = a.split(":")[1], e = a.split(":")[2], r =
|
|
312
|
+
const s = a.split(":")[1], e = a.split(":")[2], r = g(s);
|
|
326
313
|
return r ? await this.resolveLink(r.key, e, t) : a;
|
|
327
314
|
}
|
|
328
315
|
async resolveLink(a, t, s) {
|
|
329
|
-
const e =
|
|
316
|
+
const e = g(a);
|
|
330
317
|
if (!e)
|
|
331
318
|
return "/not-found";
|
|
332
319
|
const r = this.isDraftMode();
|
|
@@ -342,8 +329,8 @@ class $ {
|
|
|
342
329
|
}
|
|
343
330
|
async getPageBySlug(a) {
|
|
344
331
|
const t = this.isDraftMode(), s = {};
|
|
345
|
-
return
|
|
346
|
-
|
|
332
|
+
return G().forEach((e) => {
|
|
333
|
+
p(e, "dynamicSegments") && e.dynamicSegments && (s[e.key] = e.dynamicSegments);
|
|
347
334
|
}), await this.backend.handleAction({
|
|
348
335
|
action: "GET_PAGE_META",
|
|
349
336
|
data: { slug: a, draft: t, dynamicSegments: s }
|
|
@@ -373,16 +360,16 @@ class $ {
|
|
|
373
360
|
pageProps: s,
|
|
374
361
|
lang: e
|
|
375
362
|
}) {
|
|
376
|
-
var
|
|
377
|
-
const r = this.isDraftMode(), o =
|
|
363
|
+
var m;
|
|
364
|
+
const r = this.isDraftMode(), o = g(t), c = a.filter(
|
|
378
365
|
(u) => u._type === "Repeater" && (u == null ? void 0 : u.repeaterItems.includes("{{#"))
|
|
379
366
|
);
|
|
380
|
-
let
|
|
367
|
+
let f = {};
|
|
381
368
|
if (c.length > 0) {
|
|
382
369
|
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
383
|
-
|
|
370
|
+
f = (await Promise.all(
|
|
384
371
|
u.map(async ({ collectionId: l, block: n }) => {
|
|
385
|
-
const h =
|
|
372
|
+
const h = y(l);
|
|
386
373
|
try {
|
|
387
374
|
const d = await (h == null ? void 0 : h.fetch({
|
|
388
375
|
lang: e,
|
|
@@ -392,7 +379,7 @@ class $ {
|
|
|
392
379
|
block: n
|
|
393
380
|
}));
|
|
394
381
|
return Promise.resolve({
|
|
395
|
-
[`#${l}/${n._id}`]:
|
|
382
|
+
[`#${l}/${n._id}`]: C(d, "items", []) ?? []
|
|
396
383
|
});
|
|
397
384
|
} catch {
|
|
398
385
|
return Promise.resolve({
|
|
@@ -402,9 +389,9 @@ class $ {
|
|
|
402
389
|
})
|
|
403
390
|
)).reduce((l, n) => ({ ...l, ...n }), {});
|
|
404
391
|
}
|
|
405
|
-
const [
|
|
392
|
+
const [A, S] = await Promise.all([
|
|
406
393
|
this.getGlobalData(e),
|
|
407
|
-
((
|
|
394
|
+
((m = o == null ? void 0 : o.dataProvider) == null ? void 0 : m.call(o, {
|
|
408
395
|
lang: e,
|
|
409
396
|
draft: r,
|
|
410
397
|
inBuilder: !1,
|
|
@@ -412,10 +399,10 @@ class $ {
|
|
|
412
399
|
})) || Promise.resolve({})
|
|
413
400
|
]);
|
|
414
401
|
return o ? {
|
|
415
|
-
...
|
|
416
|
-
global:
|
|
417
|
-
...
|
|
418
|
-
} : { global:
|
|
402
|
+
...S,
|
|
403
|
+
global: A,
|
|
404
|
+
...f
|
|
405
|
+
} : { global: A, ...f };
|
|
419
406
|
}
|
|
420
407
|
async getGlobalData(a) {
|
|
421
408
|
return await v({
|
|
@@ -428,7 +415,7 @@ class $ {
|
|
|
428
415
|
return await this.backend.handleAction(a);
|
|
429
416
|
}
|
|
430
417
|
}
|
|
431
|
-
class
|
|
418
|
+
class Z {
|
|
432
419
|
constructor(a = "", t = j) {
|
|
433
420
|
this.apiKey = a, this.apiUrl = t;
|
|
434
421
|
}
|
|
@@ -441,7 +428,7 @@ class Y {
|
|
|
441
428
|
"x-chai-auth-token": t
|
|
442
429
|
}
|
|
443
430
|
}), e = await s.json();
|
|
444
|
-
return
|
|
431
|
+
return p(e, "error") ? { ...e, status: s.status } : e;
|
|
445
432
|
}
|
|
446
433
|
async handleAction(a, t) {
|
|
447
434
|
const s = await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
@@ -452,7 +439,7 @@ class Y {
|
|
|
452
439
|
"x-chai-auth-token": t
|
|
453
440
|
}
|
|
454
441
|
}), e = await s.json();
|
|
455
|
-
return
|
|
442
|
+
return p(e, "error") ? { ...e, status: s.status } : e;
|
|
456
443
|
}
|
|
457
444
|
async handleAssetsAction(a, t) {
|
|
458
445
|
return await (await fetch(`${this.apiUrl}/v1/api/assets`, {
|
|
@@ -465,7 +452,7 @@ class Y {
|
|
|
465
452
|
})).json();
|
|
466
453
|
}
|
|
467
454
|
}
|
|
468
|
-
const
|
|
455
|
+
const $ = {
|
|
469
456
|
ab: "Abkhazian",
|
|
470
457
|
aa: "Afar",
|
|
471
458
|
af: "Afrikaans",
|
|
@@ -656,16 +643,16 @@ const W = {
|
|
|
656
643
|
}, j = "https://api.chaibuilder.com";
|
|
657
644
|
export {
|
|
658
645
|
j as API_URL,
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
646
|
+
Y as ChaiBuilderPages,
|
|
647
|
+
Z as ChaiBuilderPagesBackend,
|
|
648
|
+
R as ChaiBuilderPagesUserManagement,
|
|
649
|
+
$ as LANGUAGES,
|
|
650
|
+
y as getChaiCollection,
|
|
651
|
+
H as getChaiCollections,
|
|
652
|
+
g as getChaiPageType,
|
|
653
|
+
G as getChaiPageTypes,
|
|
654
|
+
J as registerChaiCollection,
|
|
668
655
|
F as registerChaiGlobalDataProvider,
|
|
669
|
-
|
|
670
|
-
|
|
656
|
+
B as registerChaiPageType,
|
|
657
|
+
N as registerChaiPartialType
|
|
671
658
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"author": "Suraj Air",
|
|
4
4
|
"license": "Private",
|
|
5
5
|
"homepage": "https://chaibuilder.com",
|
|
6
|
-
"version": "0.6.
|
|
6
|
+
"version": "0.6.10",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"@chaibuilder/runtime": "2.2.0",
|
|
58
|
-
"@chaibuilder/sdk": "2.2.
|
|
58
|
+
"@chaibuilder/sdk": "2.2.36",
|
|
59
59
|
"@types/react": "*",
|
|
60
60
|
"@types/react-dom": "*",
|
|
61
61
|
"react": "^18.0 || ^19.0 || ^19.1",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@chaibuilder/runtime": "2.2.0",
|
|
74
|
-
"@chaibuilder/sdk": "2.2.
|
|
74
|
+
"@chaibuilder/sdk": "2.2.36",
|
|
75
75
|
"@mhsdesign/jit-browser-tailwindcss": "^0.4.2",
|
|
76
76
|
"@tailwindcss/aspect-ratio": "^0.4.2",
|
|
77
77
|
"@tailwindcss/forms": "^0.5.10",
|
|
@@ -128,6 +128,7 @@
|
|
|
128
128
|
"nodemon": "^3.1.9",
|
|
129
129
|
"postcss": "^8.5.1",
|
|
130
130
|
"prettier": "^3.4.2",
|
|
131
|
+
"prettier-plugin-tailwindcss": "^0.6.13",
|
|
131
132
|
"react": "^19.1.0",
|
|
132
133
|
"react-dom": "^19.1.0",
|
|
133
134
|
"tailwindcss": "^3.4.13",
|