@chaibuilder/pages 0.5.16-beta.1 → 0.6.0-beta.1
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/server.cjs +1 -1
- package/dist/server.d.ts +20 -17
- package/dist/server.js +381 -393
- package/package.json +1 -1
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var I=Object.defineProperty;var M=(i,a,e)=>a in i?I(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var p=(i,a,e)=>M(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),O=require("@chaibuilder/runtime");let y=async i=>({...i});const R=i=>{y=i},_=async i=>{try{return await y(i)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),A=i=>P[i],b=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},v=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}},C={};function H(i,a){c.has(C,i)&&console.warn(`Collection ${i} already registered`),C[i]={...a,id:i}}const G=()=>Object.values(C),L=i=>c.get(C,i),U={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"};class K{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:n},t){var o,l;return await((l=(o=this.backend).handleAssetsAction)==null?void 0:l.call(o,{action:"UPLOAD_ASSET",data:{name:n,file:a,folderId:e}},t))}async getAsset({id:a},e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"GET_ASSET",data:{id:a}},e)}async getAssets(a,e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"GET_ASSETS",data:a},e)}async deleteAsset({id:a},e){var n,t;return(t=(n=this.backend).handleAssetsAction)==null?void 0:t.call(n,{action:"DELETE_ASSET",data:{id:a}},e)}async updateAsset({id:a,file:e,description:n},t){var r,o;return(o=(r=this.backend).handleAssetsAction)==null?void 0:o.call(r,{action:"UPDATE_ASSET",data:{id:a,file:e,description:n}},t)}}class D{constructor(a){this.backend=a}async refreshToken(a){var n,t;const e=await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var t,r;const n=await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"LOGIN",data:{email:a,password:e}}));return n.error?{error:n.error}:n}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var n,t;return(await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var n,t;return await((t=(n=this.backend).handleUsersAction)==null?void 0:t.call(n,{action:"GET_ROLE_AND_PERMISSIONS"},a))}async getUserInfo(a,e){var t,r;return await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"GET_CHAI_USER",data:e},a))}}class N{constructor(a,e,n){p(this,"fallbackLang","");p(this,"currentLang","");p(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=n,this._registerDefaultPageTypes(),this.chaiUsers=e??new D(this.backend),this.chaiAssets=n??new K(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>'}),v("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){c.isEmpty(a)&&console.warn("Fallback language cannot be empty"),this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){c.isEmpty(a)&&console.warn("Current language cannot be empty"),console.info("Setting current language to",a),this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,e){var t,r,o,l,f,m,E,S,g,w,h;switch(a.action){case"UPLOAD_ASSET":return(t=this.chaiAssets)==null?void 0:t.upload({file:a.data.file,name:a.data.name,folderId:a.data.folderId??null,optimize:a.data.optimize??!0},e);case"GET_ASSET":return(r=this.chaiAssets)==null?void 0:r.getAsset(a.data,e);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,e);case"DELETE_ASSET":return(l=this.chaiAssets)==null?void 0:l.deleteAsset(a.data,e);case"UPDATE_ASSET":return(f=this.chaiAssets)==null?void 0:f.updateAsset(a.data,e);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(g=this.chaiUsers)==null?void 0:g.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(h=this.chaiUsers)==null?void 0:h.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const s=await _({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:s}:{global:s}}if(a.action==="GET_PAGE_TYPES")return Promise.all(T().map(async s=>({key:s.key,helpText:s.helpText??"",icon:s.icon??"",dynamicSegments:s.dynamicSegments??"",dynamicSlug:s.dynamicSlug??"",hasSlug:s.hasSlug??!0,name:typeof s.name=="function"?await s.name():s.name,...c.isFunction(s.defaultTrackingInfo)?{trackingDefault:s.defaultTrackingInfo()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const s=A(a.data.pageType);return s?s.search?await s.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return G().map(s=>c.omit(s,"fetch"));if(a.action==="GET_BLOCK_ASYNC_PROPS"){const s=a.data.block,u=s._type;if(u==="Repeater"&&(s!=null&&s.repeaterItems.includes("{{#"))){const d=s.repeaterItems.replace("{{#","").replace("}}",""),k=L(d);return k?await(k==null?void 0:k.fetch({block:s,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0}))??[]:[]}else{const d=O.getRegisteredChaiBlock(u);return!d||!c.isFunction(d.dataProvider)?{}:await d.dataProvider({block:s,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const n=await this.backend.handleAction(a,e);return this.emit(a.action,n),n}emit(a,e){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const n=c.get(e,"page");if(!n)return;const t=A(n.pageType);if(t)switch(a){case"CREATE_PAGE":return(r=t.onCreate)==null?void 0:r.call(t,n);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,n);case"DELETE_PAGE":return(l=t.onDelete)==null?void 0:l.call(t,n)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=c.first(a||[""]);Object.keys(U).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolvePageLink(a){if(!c.startsWith(a,"pageType:"))return a;const e=a.split(":")[1],n=a.split(":")[2],t=A(e);return t?await this.resolveLink(t.key,n):a}async resolveLink(a,e){const n=A(a);if(!n)return"/not-found";const t=this.isDraftMode(),r=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return n.resolveLink?await n.resolveLink(e,t,r):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:t,lang:r}})}async getPageBySlug(a){const e=this.isDraftMode(),n={};return T().forEach(t=>{c.has(t,"dynamicSegments")&&t.dynamicSegments&&(n[t.key]=t.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:n}})}async getFullPage(a){const e=this.isDraftMode(),n=this.getCurrentLang(),t=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:t===n?void 0:n,draft:e,mergePartials:!0}})}async getSiteSettings(){const a=this.isDraftMode();return await this.backend.handleAction({action:"GET_WEBSITE_SETTINGS",data:{draft:a}})}async getPageData(a,e,n){var S;const t=this.isDraftMode(),r=this.getCurrentLang(),o=A(e),l=a.filter(g=>g._type==="Repeater"&&(g==null?void 0:g.repeaterItems.includes("{{#")));let f={};if(l.length>0){const g=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));f=(await Promise.all(g.map(async({collectionId:h,block:s})=>{const u=L(h);try{const d=await(u==null?void 0:u.fetch({lang:r,draft:t,inBuilder:!1,pageProps:n,block:s}));return Promise.resolve({[`#${h}/${s._id}`]:c.get(d,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${s._id}`]:[]})}}))).reduce((h,s)=>({...h,...s}),{})}const[m,E]=await Promise.all([this.getGlobalData(),((S=o==null?void 0:o.dataProvider)==null?void 0:S.call(o,{lang:r,draft:t,inBuilder:!1,pageProps:n}))||Promise.resolve({})]);return o?{...E,global:m,...f}:{global:m,...f}}async getGlobalData(){const a=this.getCurrentLang();return await _({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class j{constructor(a="",e=B){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){const n=await fetch(`${this.apiUrl}/v1/api/users`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),t=await n.json();return c.has(t,"error")?{...t,status:n.status}:t}async handleAction(a,e){const n=await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify(a),headers:{"x-chai-api-key":this.apiKey,"x-chai-auth-token":e}}),t=await n.json();return c.has(t,"error")?{...t,status:n.status}:t}async handleAssetsAction(a,e){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":e}})).json()}}const B="https://api.chaibuilder.com";exports.API_URL=B;exports.ChaiBuilderPages=N;exports.ChaiBuilderPagesBackend=j;exports.ChaiBuilderPagesUserManagement=D;exports.LANGUAGES=U;exports.getChaiCollection=L;exports.getChaiCollections=G;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=H;exports.registerChaiGlobalDataProvider=R;exports.registerChaiPageType=b;exports.registerChaiPartialType=v;
|
|
1
|
+
"use strict";var B=Object.defineProperty;var I=(i,a,t)=>a in i?B(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var C=(i,a,t)=>I(i,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 i=>({...i});const O=i=>{v=i},y=async i=>{try{return await v(i)}catch(a){return console.error(a),{}}},P={},T=()=>Object.values(P),A=i=>P[i],b=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},G=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}},p={};function R(i,a){c.has(p,i)&&console.warn(`Collection ${i} already registered`),p[i]={...a,id:i}}const U=()=>Object.values(p),_=i=>c.get(p,i);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){c.isEmpty(a)&&console.warn("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 n=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: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()}:{}})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const n=A(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_COLLECTIONS")return U().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 g=n.repeaterItems.replace("{{#","").replace("}}",""),k=_(g);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 g=M.getRegisteredChaiBlock(u);return!g||!c.isFunction(g.dataProvider)?{}:await g.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=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&&c.isFunction(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:n})=>{const u=_(h);try{const g=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(g,"items",[])??[]})}catch{return Promise.resolve({[`#${h}/${n._id}`]:[]})}}))).reduce((h,n)=>({...h,...n}),{})}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;
|
package/dist/server.d.ts
CHANGED
|
@@ -41,14 +41,11 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
41
41
|
protected chaiUsers?: ChaiBuilderPagesUsersInterface | undefined;
|
|
42
42
|
protected chaiAssets?: ChaiBuilderPagesAssetsInterface | undefined;
|
|
43
43
|
private fallbackLang;
|
|
44
|
-
private currentLang;
|
|
45
44
|
private draftMode;
|
|
46
45
|
constructor(backend: ChaiBuilderPagesBackendInterface, chaiUsers?: ChaiBuilderPagesUsersInterface | undefined, chaiAssets?: ChaiBuilderPagesAssetsInterface | undefined);
|
|
47
46
|
private _registerDefaultPageTypes;
|
|
48
47
|
setFallbackLang(lang: string): void;
|
|
49
48
|
getFallbackLang(): string;
|
|
50
|
-
setCurrentLang(lang: string): void;
|
|
51
|
-
getCurrentLang(): string;
|
|
52
49
|
setDraftMode(draft: boolean): void;
|
|
53
50
|
isDraftMode(): boolean;
|
|
54
51
|
handle(body: {
|
|
@@ -56,25 +53,29 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
56
53
|
data: Record<string, any>;
|
|
57
54
|
}, authToken: string): Promise<any>;
|
|
58
55
|
emit(action: string, data: any): Promise<void> | undefined;
|
|
59
|
-
setLanguageFromSlug(slug: string[]): void;
|
|
60
56
|
/**
|
|
61
57
|
* Resolve a page link
|
|
62
58
|
* @param href - The href to resolve
|
|
63
59
|
* @returns The resolved link
|
|
64
60
|
*/
|
|
65
|
-
resolvePageLink(href: string): Promise<any>;
|
|
66
|
-
resolveLink(pageTypeKey: string, id: string): Promise<any>;
|
|
61
|
+
resolvePageLink(href: string, lang: string): Promise<any>;
|
|
62
|
+
resolveLink(pageTypeKey: string, id: string, lang: string): Promise<any>;
|
|
67
63
|
getPageBySlug(slug: string): Promise<any>;
|
|
68
64
|
getFullPage(id: string): Promise<any>;
|
|
69
65
|
getSiteSettings(): Promise<any>;
|
|
70
|
-
getPageData(blocks
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
getPageData({ blocks, pageType, pageProps, lang, }: {
|
|
67
|
+
blocks?: ChaiBlock[];
|
|
68
|
+
pageType: string;
|
|
69
|
+
pageProps: {
|
|
70
|
+
slug: string;
|
|
71
|
+
params?: Record<string, string>;
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
};
|
|
74
|
+
lang: string;
|
|
74
75
|
}): Promise<{
|
|
75
76
|
global: any;
|
|
76
77
|
}>;
|
|
77
|
-
getGlobalData(): Promise<any>;
|
|
78
|
+
getGlobalData(lang: string): Promise<any>;
|
|
78
79
|
request(body: any): Promise<any>;
|
|
79
80
|
}
|
|
80
81
|
|
|
@@ -134,19 +135,21 @@ export declare interface ChaiBuilderPagesBackendInterface {
|
|
|
134
135
|
export declare interface ChaiBuilderPagesInterface {
|
|
135
136
|
setFallbackLang(lang: string): void;
|
|
136
137
|
getFallbackLang(): string;
|
|
137
|
-
setCurrentLang(lang: string): void;
|
|
138
|
-
getCurrentLang(): string;
|
|
139
138
|
setDraftMode(draft: boolean): void;
|
|
140
139
|
isDraftMode(): boolean;
|
|
141
140
|
handle(body: any, authToken: string): Promise<any>;
|
|
142
141
|
emit(action: string, data: any): void;
|
|
143
|
-
setLanguageFromSlug(slug: string[]): void;
|
|
144
|
-
resolveLink(pageTypeKey: string, id: string): Promise<string>;
|
|
145
142
|
getPageBySlug(slug: string): Promise<any>;
|
|
146
143
|
getFullPage(id: string): Promise<any>;
|
|
147
144
|
getSiteSettings(): Promise<any>;
|
|
148
|
-
|
|
149
|
-
|
|
145
|
+
resolveLink(pageTypeKey: string, id: string, lang: string): Promise<string>;
|
|
146
|
+
getPageData({ blocks, pageType, pageProps, lang, }: {
|
|
147
|
+
blocks?: ChaiBlock[];
|
|
148
|
+
pageType: string;
|
|
149
|
+
pageProps: any;
|
|
150
|
+
lang: string;
|
|
151
|
+
}): Promise<any>;
|
|
152
|
+
getGlobalData(lang: string): Promise<any>;
|
|
150
153
|
}
|
|
151
154
|
|
|
152
155
|
export declare class ChaiBuilderPagesUserManagement implements ChaiBuilderPagesUsersInterface {
|
package/dist/server.js
CHANGED
|
@@ -1,318 +1,130 @@
|
|
|
1
1
|
var U = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { has as
|
|
2
|
+
var L = (i, a, t) => a in i ? U(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
|
|
3
|
+
var T = (i, a, t) => L(i, typeof a != "symbol" ? a + "" : a, t);
|
|
4
|
+
import { has as k, get as C, isEmpty as D, isFunction as _, omit as I, startsWith as M } from "lodash-es";
|
|
5
5
|
import { getRegisteredChaiBlock as B } from "@chaibuilder/runtime";
|
|
6
6
|
let G = async (i) => ({
|
|
7
7
|
...i
|
|
8
8
|
});
|
|
9
|
-
const
|
|
9
|
+
const F = (i) => {
|
|
10
10
|
G = i;
|
|
11
|
-
},
|
|
11
|
+
}, v = async (i) => {
|
|
12
12
|
try {
|
|
13
13
|
return await G(i);
|
|
14
14
|
} catch (a) {
|
|
15
15
|
return console.error(a), {};
|
|
16
16
|
}
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
function
|
|
23
|
-
p
|
|
17
|
+
}, w = {}, y = () => Object.values(w), A = (i) => w[i], O = (i, a) => {
|
|
18
|
+
w[i] = { key: i, ...a, hasSlug: !0 };
|
|
19
|
+
}, H = (i, a) => {
|
|
20
|
+
w[i] = { key: i, ...a, hasSlug: !1 };
|
|
21
|
+
}, p = {};
|
|
22
|
+
function Z(i, a) {
|
|
23
|
+
k(p, i) && console.warn(`Collection ${i} already registered`), p[i] = { ...a, id: i };
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
aa: "Afar",
|
|
28
|
-
af: "Afrikaans",
|
|
29
|
-
ak: "Akan",
|
|
30
|
-
sq: "Albanian",
|
|
31
|
-
am: "Amharic",
|
|
32
|
-
ar: "Arabic",
|
|
33
|
-
an: "Aragonese",
|
|
34
|
-
hy: "Armenian",
|
|
35
|
-
as: "Assamese",
|
|
36
|
-
av: "Avaric",
|
|
37
|
-
ae: "Avestan",
|
|
38
|
-
ay: "Aymara",
|
|
39
|
-
az: "Azerbaijani",
|
|
40
|
-
bm: "Bambara",
|
|
41
|
-
ba: "Bashkir",
|
|
42
|
-
eu: "Basque",
|
|
43
|
-
be: "Belarusian",
|
|
44
|
-
bn: "Bengali",
|
|
45
|
-
bh: "Bihari",
|
|
46
|
-
bi: "Bislama",
|
|
47
|
-
bs: "Bosnian",
|
|
48
|
-
br: "Breton",
|
|
49
|
-
bg: "Bulgarian",
|
|
50
|
-
my: "Burmese",
|
|
51
|
-
ca: "Catalan",
|
|
52
|
-
ch: "Chamorro",
|
|
53
|
-
ce: "Chechen",
|
|
54
|
-
ny: "Chichewa",
|
|
55
|
-
zh: "Chinese",
|
|
56
|
-
"zh-Hans": "Chinese (Simplified)",
|
|
57
|
-
"zh-Hant": "Chinese (Traditional)",
|
|
58
|
-
cv: "Chuvash",
|
|
59
|
-
kw: "Cornish",
|
|
60
|
-
co: "Corsican",
|
|
61
|
-
cr: "Cree",
|
|
62
|
-
hr: "Croatian",
|
|
63
|
-
cs: "Czech",
|
|
64
|
-
da: "Danish",
|
|
65
|
-
dv: "Maldivian",
|
|
66
|
-
nl: "Dutch",
|
|
67
|
-
dz: "Dzongkha",
|
|
68
|
-
en: "English",
|
|
69
|
-
eo: "Esperanto",
|
|
70
|
-
et: "Estonian",
|
|
71
|
-
ee: "Ewe",
|
|
72
|
-
fo: "Faroese",
|
|
73
|
-
fj: "Fijian",
|
|
74
|
-
fi: "Finnish",
|
|
75
|
-
fr: "French",
|
|
76
|
-
ff: "Fula, Pular",
|
|
77
|
-
gl: "Galician",
|
|
78
|
-
gd: "Gaelic (Scottish)",
|
|
79
|
-
gv: "Manx",
|
|
80
|
-
ka: "Georgian",
|
|
81
|
-
de: "German",
|
|
82
|
-
el: "Greek",
|
|
83
|
-
kl: "Kalaallisut",
|
|
84
|
-
gn: "Guarani",
|
|
85
|
-
gu: "Gujarati",
|
|
86
|
-
ht: "Haitian Creole",
|
|
87
|
-
ha: "Hausa",
|
|
88
|
-
he: "Hebrew",
|
|
89
|
-
hz: "Herero",
|
|
90
|
-
hi: "Hindi",
|
|
91
|
-
ho: "Hiri Motu",
|
|
92
|
-
hu: "Hungarian",
|
|
93
|
-
is: "Icelandic",
|
|
94
|
-
io: "Ido",
|
|
95
|
-
ig: "Igbo",
|
|
96
|
-
id: "Indonesian",
|
|
97
|
-
ia: "Interlingua",
|
|
98
|
-
ie: "Interlingue",
|
|
99
|
-
iu: "Inuktitut",
|
|
100
|
-
ik: "Inupiak",
|
|
101
|
-
ga: "Irish",
|
|
102
|
-
it: "Italian",
|
|
103
|
-
ja: "Japanese",
|
|
104
|
-
jv: "Javanese",
|
|
105
|
-
kn: "Kannada",
|
|
106
|
-
kr: "Kanuri",
|
|
107
|
-
ks: "Kashmiri",
|
|
108
|
-
kk: "Kazakh",
|
|
109
|
-
km: "Khmer",
|
|
110
|
-
ki: "Kikuyu",
|
|
111
|
-
rw: "Kinyarwanda",
|
|
112
|
-
rn: "Kirundi",
|
|
113
|
-
ky: "Kyrgyz",
|
|
114
|
-
kv: "Komi",
|
|
115
|
-
kg: "Kongo",
|
|
116
|
-
ko: "Korean",
|
|
117
|
-
ku: "Kurdish",
|
|
118
|
-
kj: "Kwanyama",
|
|
119
|
-
lo: "Lao",
|
|
120
|
-
la: "Latin",
|
|
121
|
-
lv: "Latvian",
|
|
122
|
-
li: "Limburgish",
|
|
123
|
-
ln: "Lingala",
|
|
124
|
-
lt: "Lithuanian",
|
|
125
|
-
lu: "Luga-Katanga",
|
|
126
|
-
lg: "Luganda, Ganda",
|
|
127
|
-
lb: "Luxembourgish",
|
|
128
|
-
mk: "Macedonian",
|
|
129
|
-
mg: "Malagasy",
|
|
130
|
-
ms: "Malay",
|
|
131
|
-
ml: "Malayalam",
|
|
132
|
-
mt: "Maltese",
|
|
133
|
-
mi: "Maori",
|
|
134
|
-
mr: "Marathi",
|
|
135
|
-
mh: "Marshallese",
|
|
136
|
-
mo: "Moldavian",
|
|
137
|
-
mn: "Mongolian",
|
|
138
|
-
na: "Nauru",
|
|
139
|
-
nv: "Navajo",
|
|
140
|
-
ng: "Ndonga",
|
|
141
|
-
nd: "Northern Ndebele",
|
|
142
|
-
ne: "Nepali",
|
|
143
|
-
no: "Norwegian",
|
|
144
|
-
nb: "Norwegian bokmål",
|
|
145
|
-
nn: "Norwegian nynorsk",
|
|
146
|
-
ii: "Sichuan Yi",
|
|
147
|
-
oc: "Occitan",
|
|
148
|
-
oj: "Ojibwe",
|
|
149
|
-
cu: "Old Church Slavonic",
|
|
150
|
-
or: "Oriya",
|
|
151
|
-
om: "Oromo",
|
|
152
|
-
os: "Ossetian",
|
|
153
|
-
pi: "Pāli",
|
|
154
|
-
ps: "Pashto, Pushto",
|
|
155
|
-
fa: "Persian (Farsi)",
|
|
156
|
-
pl: "Polish",
|
|
157
|
-
pt: "Portuguese",
|
|
158
|
-
pa: "Punjabi (Eastern)",
|
|
159
|
-
qu: "Quechua",
|
|
160
|
-
rm: "Romansh",
|
|
161
|
-
ro: "Romanian",
|
|
162
|
-
ru: "Russian",
|
|
163
|
-
se: "Sami",
|
|
164
|
-
sm: "Samoan",
|
|
165
|
-
sg: "Sango",
|
|
166
|
-
sa: "Sanskrit",
|
|
167
|
-
sr: "Serbian",
|
|
168
|
-
sh: "Serbo-Croatian",
|
|
169
|
-
st: "Sesotho",
|
|
170
|
-
tn: "Setswana",
|
|
171
|
-
sn: "Shona",
|
|
172
|
-
sd: "Sindhi",
|
|
173
|
-
si: "Sinhalese",
|
|
174
|
-
ss: "Swati",
|
|
175
|
-
sk: "Slovak",
|
|
176
|
-
sl: "Slovenian",
|
|
177
|
-
so: "Somali",
|
|
178
|
-
nr: "Southern Ndebele",
|
|
179
|
-
es: "Spanish",
|
|
180
|
-
su: "Sundanese",
|
|
181
|
-
sw: "Swahili (Kiswahili)",
|
|
182
|
-
sv: "Swedish",
|
|
183
|
-
tl: "Tagalog",
|
|
184
|
-
ty: "Tahitian",
|
|
185
|
-
tg: "Tajik",
|
|
186
|
-
ta: "Tamil",
|
|
187
|
-
tt: "Tatar",
|
|
188
|
-
te: "Telugu",
|
|
189
|
-
th: "Thai",
|
|
190
|
-
bo: "Tibetan",
|
|
191
|
-
ti: "Tigrinya",
|
|
192
|
-
to: "Tonga",
|
|
193
|
-
ts: "Tsonga",
|
|
194
|
-
tr: "Turkish",
|
|
195
|
-
tk: "Turkmen",
|
|
196
|
-
tw: "Twi",
|
|
197
|
-
ug: "Uyghur",
|
|
198
|
-
uk: "Ukrainian",
|
|
199
|
-
ur: "Urdu",
|
|
200
|
-
uz: "Uzbek",
|
|
201
|
-
ve: "Venda",
|
|
202
|
-
vi: "Vietnamese",
|
|
203
|
-
vo: "Volapük",
|
|
204
|
-
wa: "Wallon",
|
|
205
|
-
cy: "Welsh",
|
|
206
|
-
wo: "Wolof",
|
|
207
|
-
fy: "Western Frisian",
|
|
208
|
-
xh: "Xhosa",
|
|
209
|
-
yi: "Yiddish",
|
|
210
|
-
yo: "Yoruba",
|
|
211
|
-
za: "Zhuang, Chuang",
|
|
212
|
-
zu: "Zulu"
|
|
213
|
-
};
|
|
214
|
-
class j {
|
|
25
|
+
const K = () => Object.values(p), b = (i) => C(p, i);
|
|
26
|
+
class R {
|
|
215
27
|
constructor(a) {
|
|
216
28
|
this.backend = a;
|
|
217
29
|
}
|
|
218
30
|
async upload({
|
|
219
31
|
file: a,
|
|
220
|
-
folderId:
|
|
221
|
-
name:
|
|
222
|
-
},
|
|
32
|
+
folderId: t,
|
|
33
|
+
name: s
|
|
34
|
+
}, e) {
|
|
223
35
|
var o, c;
|
|
224
36
|
return await ((c = (o = this.backend).handleAssetsAction) == null ? void 0 : c.call(
|
|
225
37
|
o,
|
|
226
38
|
{
|
|
227
39
|
action: "UPLOAD_ASSET",
|
|
228
40
|
data: {
|
|
229
|
-
name:
|
|
41
|
+
name: s,
|
|
230
42
|
file: a,
|
|
231
|
-
folderId:
|
|
43
|
+
folderId: t
|
|
232
44
|
}
|
|
233
45
|
},
|
|
234
|
-
|
|
46
|
+
e
|
|
235
47
|
));
|
|
236
48
|
}
|
|
237
|
-
async getAsset({ id: a },
|
|
238
|
-
var
|
|
239
|
-
return (
|
|
240
|
-
|
|
49
|
+
async getAsset({ id: a }, t) {
|
|
50
|
+
var s, e;
|
|
51
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
52
|
+
s,
|
|
241
53
|
{ action: "GET_ASSET", data: { id: a } },
|
|
242
|
-
|
|
54
|
+
t
|
|
243
55
|
);
|
|
244
56
|
}
|
|
245
|
-
async getAssets(a,
|
|
246
|
-
var
|
|
247
|
-
return (
|
|
248
|
-
|
|
57
|
+
async getAssets(a, t) {
|
|
58
|
+
var s, e;
|
|
59
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
60
|
+
s,
|
|
249
61
|
{
|
|
250
62
|
action: "GET_ASSETS",
|
|
251
63
|
data: a
|
|
252
64
|
},
|
|
253
|
-
|
|
65
|
+
t
|
|
254
66
|
);
|
|
255
67
|
}
|
|
256
|
-
async deleteAsset({ id: a },
|
|
257
|
-
var
|
|
258
|
-
return (
|
|
259
|
-
|
|
68
|
+
async deleteAsset({ id: a }, t) {
|
|
69
|
+
var s, e;
|
|
70
|
+
return (e = (s = this.backend).handleAssetsAction) == null ? void 0 : e.call(
|
|
71
|
+
s,
|
|
260
72
|
{
|
|
261
73
|
action: "DELETE_ASSET",
|
|
262
74
|
data: { id: a }
|
|
263
75
|
},
|
|
264
|
-
|
|
76
|
+
t
|
|
265
77
|
);
|
|
266
78
|
}
|
|
267
79
|
async updateAsset({
|
|
268
80
|
id: a,
|
|
269
|
-
file:
|
|
270
|
-
description:
|
|
271
|
-
},
|
|
81
|
+
file: t,
|
|
82
|
+
description: s
|
|
83
|
+
}, e) {
|
|
272
84
|
var r, o;
|
|
273
85
|
return (o = (r = this.backend).handleAssetsAction) == null ? void 0 : o.call(
|
|
274
86
|
r,
|
|
275
87
|
{
|
|
276
88
|
action: "UPDATE_ASSET",
|
|
277
|
-
data: { id: a, file:
|
|
89
|
+
data: { id: a, file: t, description: s }
|
|
278
90
|
},
|
|
279
|
-
|
|
91
|
+
e
|
|
280
92
|
);
|
|
281
93
|
}
|
|
282
94
|
}
|
|
283
|
-
class
|
|
95
|
+
class N {
|
|
284
96
|
constructor(a) {
|
|
285
97
|
this.backend = a;
|
|
286
98
|
}
|
|
287
99
|
async refreshToken(a) {
|
|
288
|
-
var
|
|
289
|
-
const
|
|
100
|
+
var s, e;
|
|
101
|
+
const t = await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(s, {
|
|
290
102
|
action: "REFRESH_TOKEN",
|
|
291
103
|
data: a
|
|
292
104
|
}));
|
|
293
|
-
return
|
|
105
|
+
return t.error ? { error: t.error } : t;
|
|
294
106
|
}
|
|
295
107
|
async login({
|
|
296
108
|
email: a,
|
|
297
|
-
password:
|
|
109
|
+
password: t
|
|
298
110
|
}) {
|
|
299
|
-
var
|
|
300
|
-
const
|
|
111
|
+
var e, r;
|
|
112
|
+
const s = await ((r = (e = this.backend).handleUsersAction) == null ? void 0 : r.call(e, {
|
|
301
113
|
action: "LOGIN",
|
|
302
|
-
data: { email: a, password:
|
|
114
|
+
data: { email: a, password: t }
|
|
303
115
|
}));
|
|
304
|
-
return
|
|
116
|
+
return s.error ? { error: s.error } : s;
|
|
305
117
|
}
|
|
306
118
|
async logout() {
|
|
307
|
-
var a,
|
|
308
|
-
await ((
|
|
119
|
+
var a, t;
|
|
120
|
+
await ((t = (a = this.backend).handleUsersAction) == null ? void 0 : t.call(a, {
|
|
309
121
|
action: "LOGOUT"
|
|
310
122
|
}));
|
|
311
123
|
}
|
|
312
124
|
async isUserActive(a) {
|
|
313
|
-
var
|
|
314
|
-
return (await ((
|
|
315
|
-
|
|
125
|
+
var s, e;
|
|
126
|
+
return (await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(
|
|
127
|
+
s,
|
|
316
128
|
{
|
|
317
129
|
action: "CHECK_USER_STATUS"
|
|
318
130
|
},
|
|
@@ -320,90 +132,83 @@ class F {
|
|
|
320
132
|
))).success;
|
|
321
133
|
}
|
|
322
134
|
async getUserRoleAndPermissions(a) {
|
|
323
|
-
var
|
|
324
|
-
return await ((
|
|
325
|
-
|
|
135
|
+
var s, e;
|
|
136
|
+
return await ((e = (s = this.backend).handleUsersAction) == null ? void 0 : e.call(
|
|
137
|
+
s,
|
|
326
138
|
{
|
|
327
139
|
action: "GET_ROLE_AND_PERMISSIONS"
|
|
328
140
|
},
|
|
329
141
|
a
|
|
330
142
|
));
|
|
331
143
|
}
|
|
332
|
-
async getUserInfo(a,
|
|
333
|
-
var
|
|
334
|
-
return await ((r = (
|
|
335
|
-
|
|
144
|
+
async getUserInfo(a, t) {
|
|
145
|
+
var e, r;
|
|
146
|
+
return await ((r = (e = this.backend).handleUsersAction) == null ? void 0 : r.call(
|
|
147
|
+
e,
|
|
336
148
|
{
|
|
337
149
|
action: "GET_CHAI_USER",
|
|
338
|
-
data:
|
|
150
|
+
data: t
|
|
339
151
|
},
|
|
340
152
|
a
|
|
341
153
|
));
|
|
342
154
|
}
|
|
343
155
|
}
|
|
344
|
-
class
|
|
345
|
-
constructor(a,
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new F(this.backend), this.chaiAssets = n ?? new j(this.backend);
|
|
156
|
+
class $ {
|
|
157
|
+
constructor(a, t, s) {
|
|
158
|
+
T(this, "fallbackLang", "");
|
|
159
|
+
T(this, "draftMode", !1);
|
|
160
|
+
this.backend = a, this.chaiUsers = t, this.chaiAssets = s, this._registerDefaultPageTypes(), this.chaiUsers = t ?? new N(this.backend), this.chaiAssets = s ?? new R(this.backend);
|
|
350
161
|
}
|
|
351
162
|
_registerDefaultPageTypes() {
|
|
352
|
-
|
|
163
|
+
O("page", {
|
|
353
164
|
name: "Static Page",
|
|
354
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>'
|
|
355
|
-
}),
|
|
166
|
+
}), H("global", {
|
|
356
167
|
name: "Global Block",
|
|
357
168
|
helpText: "A global block can be reused in multiple pages.",
|
|
358
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>'
|
|
359
170
|
});
|
|
360
171
|
}
|
|
361
172
|
setFallbackLang(a) {
|
|
362
|
-
|
|
173
|
+
D(a) && console.warn("Fallback language cannot be empty"), this.fallbackLang = a;
|
|
363
174
|
}
|
|
364
175
|
getFallbackLang() {
|
|
365
176
|
return this.fallbackLang;
|
|
366
177
|
}
|
|
367
|
-
setCurrentLang(a) {
|
|
368
|
-
L(a) && console.warn("Current language cannot be empty"), console.info("Setting current language to", a), this.currentLang = a;
|
|
369
|
-
}
|
|
370
|
-
getCurrentLang() {
|
|
371
|
-
return this.currentLang;
|
|
372
|
-
}
|
|
373
178
|
setDraftMode(a) {
|
|
374
179
|
this.draftMode = a;
|
|
375
180
|
}
|
|
376
181
|
isDraftMode() {
|
|
377
182
|
return this.draftMode;
|
|
378
183
|
}
|
|
379
|
-
async handle(a,
|
|
380
|
-
var
|
|
184
|
+
async handle(a, t) {
|
|
185
|
+
var e, r, o, c, g, m, S, f, u, P, l;
|
|
381
186
|
switch (a.action) {
|
|
382
187
|
// Media
|
|
383
188
|
case "UPLOAD_ASSET":
|
|
384
|
-
return (
|
|
189
|
+
return (e = this.chaiAssets) == null ? void 0 : e.upload(
|
|
385
190
|
{
|
|
386
191
|
file: a.data.file,
|
|
387
192
|
name: a.data.name,
|
|
388
193
|
folderId: a.data.folderId ?? null,
|
|
389
194
|
optimize: a.data.optimize ?? !0
|
|
390
195
|
},
|
|
391
|
-
|
|
196
|
+
t
|
|
392
197
|
);
|
|
393
198
|
case "GET_ASSET":
|
|
394
199
|
return (r = this.chaiAssets) == null ? void 0 : r.getAsset(
|
|
395
200
|
a.data,
|
|
396
|
-
|
|
201
|
+
t
|
|
397
202
|
);
|
|
398
203
|
case "GET_ASSETS":
|
|
399
|
-
return (o = this.chaiAssets) == null ? void 0 : o.getAssets(a.data,
|
|
204
|
+
return (o = this.chaiAssets) == null ? void 0 : o.getAssets(a.data, t);
|
|
400
205
|
case "DELETE_ASSET":
|
|
401
206
|
return (c = this.chaiAssets) == null ? void 0 : c.deleteAsset(
|
|
402
207
|
a.data,
|
|
403
|
-
|
|
208
|
+
t
|
|
404
209
|
);
|
|
405
210
|
case "UPDATE_ASSET":
|
|
406
|
-
return (
|
|
211
|
+
return (g = this.chaiAssets) == null ? void 0 : g.updateAsset(a.data, t);
|
|
407
212
|
// Users
|
|
408
213
|
case "REFRESH_TOKEN":
|
|
409
214
|
return (m = this.chaiUsers) == null ? void 0 : m.refreshToken(
|
|
@@ -414,23 +219,23 @@ class W {
|
|
|
414
219
|
a.data
|
|
415
220
|
);
|
|
416
221
|
case "LOGOUT":
|
|
417
|
-
return (
|
|
222
|
+
return (f = this.chaiUsers) == null ? void 0 : f.logout();
|
|
418
223
|
case "CHECK_USER_STATUS":
|
|
419
|
-
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(
|
|
224
|
+
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(t);
|
|
420
225
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
421
|
-
return (
|
|
226
|
+
return (P = this.chaiUsers) == null ? void 0 : P.getUserRoleAndPermissions(t);
|
|
422
227
|
case "GET_CHAI_USER":
|
|
423
228
|
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(
|
|
424
|
-
|
|
229
|
+
t,
|
|
425
230
|
a.data
|
|
426
231
|
);
|
|
427
232
|
}
|
|
428
233
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
429
|
-
const
|
|
234
|
+
const n = await v({
|
|
430
235
|
lang: a.data.lang,
|
|
431
236
|
draft: !0,
|
|
432
237
|
inBuilder: !0
|
|
433
|
-
}), h =
|
|
238
|
+
}), h = A(
|
|
434
239
|
a.data.pageType
|
|
435
240
|
);
|
|
436
241
|
return h ? {
|
|
@@ -440,47 +245,47 @@ class W {
|
|
|
440
245
|
inBuilder: !0,
|
|
441
246
|
pageProps: a.data.pageProps ?? {}
|
|
442
247
|
}) : {},
|
|
443
|
-
global:
|
|
444
|
-
} : { global:
|
|
248
|
+
global: n
|
|
249
|
+
} : { global: n };
|
|
445
250
|
}
|
|
446
251
|
if (a.action === "GET_PAGE_TYPES")
|
|
447
252
|
return Promise.all(
|
|
448
|
-
y().map(async (
|
|
449
|
-
key:
|
|
450
|
-
helpText:
|
|
451
|
-
icon:
|
|
452
|
-
dynamicSegments:
|
|
453
|
-
dynamicSlug:
|
|
454
|
-
hasSlug:
|
|
455
|
-
name: typeof
|
|
456
|
-
..._(
|
|
253
|
+
y().map(async (n) => ({
|
|
254
|
+
key: n.key,
|
|
255
|
+
helpText: n.helpText ?? "",
|
|
256
|
+
icon: n.icon ?? "",
|
|
257
|
+
dynamicSegments: n.dynamicSegments ?? "",
|
|
258
|
+
dynamicSlug: n.dynamicSlug ?? "",
|
|
259
|
+
hasSlug: n.hasSlug ?? !0,
|
|
260
|
+
name: typeof n.name == "function" ? await n.name() : n.name,
|
|
261
|
+
..._(n.defaultTrackingInfo) ? { trackingDefault: n.defaultTrackingInfo() } : {}
|
|
457
262
|
}))
|
|
458
263
|
);
|
|
459
264
|
if (a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
460
|
-
const
|
|
265
|
+
const n = A(
|
|
461
266
|
a.data.pageType
|
|
462
267
|
);
|
|
463
|
-
return
|
|
268
|
+
return n ? n.search ? await n.search(a.data.query) : this.backend.handleAction(a, t) : { error: "Page type not found" };
|
|
464
269
|
}
|
|
465
270
|
if (a.action === "GET_COLLECTIONS")
|
|
466
|
-
return
|
|
467
|
-
(
|
|
271
|
+
return K().map(
|
|
272
|
+
(n) => I(n, "fetch")
|
|
468
273
|
);
|
|
469
274
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
470
|
-
const
|
|
471
|
-
if (h === "Repeater" && (
|
|
472
|
-
const
|
|
473
|
-
return
|
|
474
|
-
block:
|
|
275
|
+
const n = a.data.block, h = n._type;
|
|
276
|
+
if (h === "Repeater" && (n != null && n.repeaterItems.includes("{{#"))) {
|
|
277
|
+
const d = n.repeaterItems.replace("{{#", "").replace("}}", ""), E = b(d);
|
|
278
|
+
return E ? await (E == null ? void 0 : E.fetch({
|
|
279
|
+
block: n,
|
|
475
280
|
pageProps: a.data.pageProps,
|
|
476
281
|
lang: a.data.lang,
|
|
477
282
|
draft: !0,
|
|
478
283
|
inBuilder: !0
|
|
479
284
|
})) ?? [] : [];
|
|
480
285
|
} else {
|
|
481
|
-
const
|
|
482
|
-
return !
|
|
483
|
-
block:
|
|
286
|
+
const d = B(h);
|
|
287
|
+
return !d || !_(d.dataProvider) ? {} : await d.dataProvider({
|
|
288
|
+
block: n,
|
|
484
289
|
pageProps: a.data.pageProps,
|
|
485
290
|
lang: a.data.lang,
|
|
486
291
|
draft: !0,
|
|
@@ -488,77 +293,68 @@ class W {
|
|
|
488
293
|
}) ?? {};
|
|
489
294
|
}
|
|
490
295
|
}
|
|
491
|
-
const
|
|
492
|
-
return this.emit(a.action,
|
|
296
|
+
const s = await this.backend.handleAction(a, t);
|
|
297
|
+
return this.emit(a.action, s), s;
|
|
493
298
|
}
|
|
494
|
-
emit(a,
|
|
299
|
+
emit(a, t) {
|
|
495
300
|
var r, o, c;
|
|
496
301
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
497
|
-
const
|
|
498
|
-
if (!
|
|
499
|
-
const
|
|
500
|
-
if (
|
|
302
|
+
const s = C(t, "page");
|
|
303
|
+
if (!s) return;
|
|
304
|
+
const e = A(s.pageType);
|
|
305
|
+
if (e)
|
|
501
306
|
switch (a) {
|
|
502
307
|
case "CREATE_PAGE":
|
|
503
|
-
return (r =
|
|
308
|
+
return (r = e.onCreate) == null ? void 0 : r.call(e, s);
|
|
504
309
|
case "UPDATE_PAGE":
|
|
505
|
-
return (o =
|
|
310
|
+
return (o = e.onUpdate) == null ? void 0 : o.call(e, s);
|
|
506
311
|
case "DELETE_PAGE":
|
|
507
|
-
return (c =
|
|
312
|
+
return (c = e.onDelete) == null ? void 0 : c.call(e, s);
|
|
508
313
|
}
|
|
509
314
|
}
|
|
510
|
-
// APIS
|
|
511
|
-
setLanguageFromSlug(a) {
|
|
512
|
-
if (!this.getFallbackLang())
|
|
513
|
-
throw new Error(
|
|
514
|
-
"Please set a fallback language using setFallbackLang(lang: string)"
|
|
515
|
-
);
|
|
516
|
-
const e = M(a || [""]);
|
|
517
|
-
Object.keys(N).includes(e) ? this.setCurrentLang(e) : this.setCurrentLang(this.getFallbackLang());
|
|
518
|
-
}
|
|
519
315
|
/**
|
|
520
316
|
* Resolve a page link
|
|
521
317
|
* @param href - The href to resolve
|
|
522
318
|
* @returns The resolved link
|
|
523
319
|
*/
|
|
524
|
-
async resolvePageLink(a) {
|
|
525
|
-
if (!
|
|
320
|
+
async resolvePageLink(a, t) {
|
|
321
|
+
if (!M(a, "pageType:"))
|
|
526
322
|
return a;
|
|
527
|
-
const
|
|
528
|
-
return
|
|
323
|
+
const s = a.split(":")[1], e = a.split(":")[2], r = A(s);
|
|
324
|
+
return r ? await this.resolveLink(r.key, e, t) : a;
|
|
529
325
|
}
|
|
530
|
-
async resolveLink(a,
|
|
531
|
-
const
|
|
532
|
-
if (!
|
|
326
|
+
async resolveLink(a, t, s) {
|
|
327
|
+
const e = A(a);
|
|
328
|
+
if (!e)
|
|
533
329
|
return "/not-found";
|
|
534
|
-
const
|
|
535
|
-
return
|
|
330
|
+
const r = this.isDraftMode();
|
|
331
|
+
return e.resolveLink && _(e.resolveLink) ? await e.resolveLink(t, r, s) : await this.backend.handleAction({
|
|
536
332
|
action: "GET_LINK",
|
|
537
333
|
data: {
|
|
538
334
|
pageType: a,
|
|
539
|
-
id:
|
|
540
|
-
draft:
|
|
541
|
-
lang:
|
|
335
|
+
id: t,
|
|
336
|
+
draft: r,
|
|
337
|
+
lang: s === this.getFallbackLang() ? "" : s
|
|
338
|
+
//empty string for fallback lang. due to DB schema
|
|
542
339
|
}
|
|
543
340
|
});
|
|
544
341
|
}
|
|
545
342
|
async getPageBySlug(a) {
|
|
546
|
-
const
|
|
547
|
-
return y().forEach((
|
|
548
|
-
|
|
343
|
+
const t = this.isDraftMode(), s = {};
|
|
344
|
+
return y().forEach((e) => {
|
|
345
|
+
k(e, "dynamicSegments") && e.dynamicSegments && (s[e.key] = e.dynamicSegments);
|
|
549
346
|
}), await this.backend.handleAction({
|
|
550
347
|
action: "GET_PAGE_META",
|
|
551
|
-
data: { slug: a, draft:
|
|
348
|
+
data: { slug: a, draft: t, dynamicSegments: s }
|
|
552
349
|
});
|
|
553
350
|
}
|
|
554
351
|
async getFullPage(a) {
|
|
555
|
-
const
|
|
352
|
+
const t = this.isDraftMode();
|
|
556
353
|
return await this.backend.handleAction({
|
|
557
354
|
action: "GET_PAGE",
|
|
558
355
|
data: {
|
|
559
356
|
id: a,
|
|
560
|
-
|
|
561
|
-
draft: e,
|
|
357
|
+
draft: t,
|
|
562
358
|
mergePartials: !0
|
|
563
359
|
}
|
|
564
360
|
});
|
|
@@ -570,54 +366,58 @@ class W {
|
|
|
570
366
|
data: { draft: a }
|
|
571
367
|
});
|
|
572
368
|
}
|
|
573
|
-
async getPageData(
|
|
574
|
-
|
|
575
|
-
|
|
369
|
+
async getPageData({
|
|
370
|
+
blocks: a = [],
|
|
371
|
+
pageType: t,
|
|
372
|
+
pageProps: s,
|
|
373
|
+
lang: e
|
|
374
|
+
}) {
|
|
375
|
+
var f;
|
|
376
|
+
const r = this.isDraftMode(), o = A(t), c = a.filter(
|
|
576
377
|
(u) => u._type === "Repeater" && (u == null ? void 0 : u.repeaterItems.includes("{{#"))
|
|
577
378
|
);
|
|
578
|
-
let
|
|
379
|
+
let g = {};
|
|
579
380
|
if (c.length > 0) {
|
|
580
381
|
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
581
|
-
|
|
582
|
-
u.map(async ({ collectionId: l, block:
|
|
583
|
-
const h =
|
|
382
|
+
g = (await Promise.all(
|
|
383
|
+
u.map(async ({ collectionId: l, block: n }) => {
|
|
384
|
+
const h = b(l);
|
|
584
385
|
try {
|
|
585
|
-
const
|
|
586
|
-
lang:
|
|
587
|
-
draft:
|
|
386
|
+
const d = await (h == null ? void 0 : h.fetch({
|
|
387
|
+
lang: e,
|
|
388
|
+
draft: r,
|
|
588
389
|
inBuilder: !1,
|
|
589
|
-
pageProps:
|
|
590
|
-
block:
|
|
390
|
+
pageProps: s,
|
|
391
|
+
block: n
|
|
591
392
|
}));
|
|
592
393
|
return Promise.resolve({
|
|
593
|
-
[`#${l}/${
|
|
394
|
+
[`#${l}/${n._id}`]: C(d, "items", []) ?? []
|
|
594
395
|
});
|
|
595
396
|
} catch {
|
|
596
397
|
return Promise.resolve({
|
|
597
|
-
[`#${l}/${
|
|
398
|
+
[`#${l}/${n._id}`]: []
|
|
598
399
|
});
|
|
599
400
|
}
|
|
600
401
|
})
|
|
601
|
-
)).reduce((l,
|
|
402
|
+
)).reduce((l, n) => ({ ...l, ...n }), {});
|
|
602
403
|
}
|
|
603
404
|
const [m, S] = await Promise.all([
|
|
604
|
-
this.getGlobalData(),
|
|
605
|
-
((
|
|
606
|
-
lang:
|
|
607
|
-
draft:
|
|
405
|
+
this.getGlobalData(e),
|
|
406
|
+
((f = o == null ? void 0 : o.dataProvider) == null ? void 0 : f.call(o, {
|
|
407
|
+
lang: e,
|
|
408
|
+
draft: r,
|
|
608
409
|
inBuilder: !1,
|
|
609
|
-
pageProps:
|
|
410
|
+
pageProps: s
|
|
610
411
|
})) || Promise.resolve({})
|
|
611
412
|
]);
|
|
612
413
|
return o ? {
|
|
613
414
|
...S,
|
|
614
415
|
global: m,
|
|
615
|
-
...
|
|
616
|
-
} : { global: m, ...
|
|
416
|
+
...g
|
|
417
|
+
} : { global: m, ...g };
|
|
617
418
|
}
|
|
618
|
-
async getGlobalData() {
|
|
619
|
-
|
|
620
|
-
return await b({
|
|
419
|
+
async getGlobalData(a) {
|
|
420
|
+
return await v({
|
|
621
421
|
lang: a,
|
|
622
422
|
draft: this.isDraftMode(),
|
|
623
423
|
inBuilder: !1
|
|
@@ -627,56 +427,244 @@ class W {
|
|
|
627
427
|
return await this.backend.handleAction(a);
|
|
628
428
|
}
|
|
629
429
|
}
|
|
630
|
-
class
|
|
631
|
-
constructor(a = "",
|
|
632
|
-
this.apiKey = a, this.apiUrl =
|
|
430
|
+
class Y {
|
|
431
|
+
constructor(a = "", t = j) {
|
|
432
|
+
this.apiKey = a, this.apiUrl = t;
|
|
633
433
|
}
|
|
634
|
-
async handleUsersAction(a,
|
|
635
|
-
const
|
|
434
|
+
async handleUsersAction(a, t) {
|
|
435
|
+
const s = await fetch(`${this.apiUrl}/v1/api/users`, {
|
|
636
436
|
method: "POST",
|
|
637
437
|
body: JSON.stringify(a),
|
|
638
438
|
headers: {
|
|
639
439
|
"x-chai-api-key": this.apiKey,
|
|
640
|
-
"x-chai-auth-token":
|
|
440
|
+
"x-chai-auth-token": t
|
|
641
441
|
}
|
|
642
|
-
}),
|
|
643
|
-
return
|
|
442
|
+
}), e = await s.json();
|
|
443
|
+
return k(e, "error") ? { ...e, status: s.status } : e;
|
|
644
444
|
}
|
|
645
|
-
async handleAction(a,
|
|
646
|
-
const
|
|
445
|
+
async handleAction(a, t) {
|
|
446
|
+
const s = await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
647
447
|
method: "POST",
|
|
648
448
|
body: JSON.stringify(a),
|
|
649
449
|
headers: {
|
|
650
450
|
"x-chai-api-key": this.apiKey,
|
|
651
|
-
"x-chai-auth-token":
|
|
451
|
+
"x-chai-auth-token": t
|
|
652
452
|
}
|
|
653
|
-
}),
|
|
654
|
-
return
|
|
453
|
+
}), e = await s.json();
|
|
454
|
+
return k(e, "error") ? { ...e, status: s.status } : e;
|
|
655
455
|
}
|
|
656
|
-
async handleAssetsAction(a,
|
|
456
|
+
async handleAssetsAction(a, t) {
|
|
657
457
|
return await (await fetch(`${this.apiUrl}/v1/api/assets`, {
|
|
658
458
|
method: "POST",
|
|
659
459
|
body: JSON.stringify(a),
|
|
660
460
|
headers: {
|
|
661
461
|
"x-chai-api-key": this.apiKey,
|
|
662
|
-
"x-chai-auth-token":
|
|
462
|
+
"x-chai-auth-token": t
|
|
663
463
|
}
|
|
664
464
|
})).json();
|
|
665
465
|
}
|
|
666
466
|
}
|
|
667
|
-
const
|
|
467
|
+
const W = {
|
|
468
|
+
ab: "Abkhazian",
|
|
469
|
+
aa: "Afar",
|
|
470
|
+
af: "Afrikaans",
|
|
471
|
+
ak: "Akan",
|
|
472
|
+
sq: "Albanian",
|
|
473
|
+
am: "Amharic",
|
|
474
|
+
ar: "Arabic",
|
|
475
|
+
an: "Aragonese",
|
|
476
|
+
hy: "Armenian",
|
|
477
|
+
as: "Assamese",
|
|
478
|
+
av: "Avaric",
|
|
479
|
+
ae: "Avestan",
|
|
480
|
+
ay: "Aymara",
|
|
481
|
+
az: "Azerbaijani",
|
|
482
|
+
bm: "Bambara",
|
|
483
|
+
ba: "Bashkir",
|
|
484
|
+
eu: "Basque",
|
|
485
|
+
be: "Belarusian",
|
|
486
|
+
bn: "Bengali",
|
|
487
|
+
bh: "Bihari",
|
|
488
|
+
bi: "Bislama",
|
|
489
|
+
bs: "Bosnian",
|
|
490
|
+
br: "Breton",
|
|
491
|
+
bg: "Bulgarian",
|
|
492
|
+
my: "Burmese",
|
|
493
|
+
ca: "Catalan",
|
|
494
|
+
ch: "Chamorro",
|
|
495
|
+
ce: "Chechen",
|
|
496
|
+
ny: "Chichewa",
|
|
497
|
+
zh: "Chinese",
|
|
498
|
+
"zh-Hans": "Chinese (Simplified)",
|
|
499
|
+
"zh-Hant": "Chinese (Traditional)",
|
|
500
|
+
cv: "Chuvash",
|
|
501
|
+
kw: "Cornish",
|
|
502
|
+
co: "Corsican",
|
|
503
|
+
cr: "Cree",
|
|
504
|
+
hr: "Croatian",
|
|
505
|
+
cs: "Czech",
|
|
506
|
+
da: "Danish",
|
|
507
|
+
dv: "Maldivian",
|
|
508
|
+
nl: "Dutch",
|
|
509
|
+
dz: "Dzongkha",
|
|
510
|
+
en: "English",
|
|
511
|
+
eo: "Esperanto",
|
|
512
|
+
et: "Estonian",
|
|
513
|
+
ee: "Ewe",
|
|
514
|
+
fo: "Faroese",
|
|
515
|
+
fj: "Fijian",
|
|
516
|
+
fi: "Finnish",
|
|
517
|
+
fr: "French",
|
|
518
|
+
ff: "Fula, Pular",
|
|
519
|
+
gl: "Galician",
|
|
520
|
+
gd: "Gaelic (Scottish)",
|
|
521
|
+
gv: "Manx",
|
|
522
|
+
ka: "Georgian",
|
|
523
|
+
de: "German",
|
|
524
|
+
el: "Greek",
|
|
525
|
+
kl: "Kalaallisut",
|
|
526
|
+
gn: "Guarani",
|
|
527
|
+
gu: "Gujarati",
|
|
528
|
+
ht: "Haitian Creole",
|
|
529
|
+
ha: "Hausa",
|
|
530
|
+
he: "Hebrew",
|
|
531
|
+
hz: "Herero",
|
|
532
|
+
hi: "Hindi",
|
|
533
|
+
ho: "Hiri Motu",
|
|
534
|
+
hu: "Hungarian",
|
|
535
|
+
is: "Icelandic",
|
|
536
|
+
io: "Ido",
|
|
537
|
+
ig: "Igbo",
|
|
538
|
+
id: "Indonesian",
|
|
539
|
+
ia: "Interlingua",
|
|
540
|
+
ie: "Interlingue",
|
|
541
|
+
iu: "Inuktitut",
|
|
542
|
+
ik: "Inupiak",
|
|
543
|
+
ga: "Irish",
|
|
544
|
+
it: "Italian",
|
|
545
|
+
ja: "Japanese",
|
|
546
|
+
jv: "Javanese",
|
|
547
|
+
kn: "Kannada",
|
|
548
|
+
kr: "Kanuri",
|
|
549
|
+
ks: "Kashmiri",
|
|
550
|
+
kk: "Kazakh",
|
|
551
|
+
km: "Khmer",
|
|
552
|
+
ki: "Kikuyu",
|
|
553
|
+
rw: "Kinyarwanda",
|
|
554
|
+
rn: "Kirundi",
|
|
555
|
+
ky: "Kyrgyz",
|
|
556
|
+
kv: "Komi",
|
|
557
|
+
kg: "Kongo",
|
|
558
|
+
ko: "Korean",
|
|
559
|
+
ku: "Kurdish",
|
|
560
|
+
kj: "Kwanyama",
|
|
561
|
+
lo: "Lao",
|
|
562
|
+
la: "Latin",
|
|
563
|
+
lv: "Latvian",
|
|
564
|
+
li: "Limburgish",
|
|
565
|
+
ln: "Lingala",
|
|
566
|
+
lt: "Lithuanian",
|
|
567
|
+
lu: "Luga-Katanga",
|
|
568
|
+
lg: "Luganda, Ganda",
|
|
569
|
+
lb: "Luxembourgish",
|
|
570
|
+
mk: "Macedonian",
|
|
571
|
+
mg: "Malagasy",
|
|
572
|
+
ms: "Malay",
|
|
573
|
+
ml: "Malayalam",
|
|
574
|
+
mt: "Maltese",
|
|
575
|
+
mi: "Maori",
|
|
576
|
+
mr: "Marathi",
|
|
577
|
+
mh: "Marshallese",
|
|
578
|
+
mo: "Moldavian",
|
|
579
|
+
mn: "Mongolian",
|
|
580
|
+
na: "Nauru",
|
|
581
|
+
nv: "Navajo",
|
|
582
|
+
ng: "Ndonga",
|
|
583
|
+
nd: "Northern Ndebele",
|
|
584
|
+
ne: "Nepali",
|
|
585
|
+
no: "Norwegian",
|
|
586
|
+
nb: "Norwegian bokmål",
|
|
587
|
+
nn: "Norwegian nynorsk",
|
|
588
|
+
ii: "Sichuan Yi",
|
|
589
|
+
oc: "Occitan",
|
|
590
|
+
oj: "Ojibwe",
|
|
591
|
+
cu: "Old Church Slavonic",
|
|
592
|
+
or: "Oriya",
|
|
593
|
+
om: "Oromo",
|
|
594
|
+
os: "Ossetian",
|
|
595
|
+
pi: "Pāli",
|
|
596
|
+
ps: "Pashto, Pushto",
|
|
597
|
+
fa: "Persian (Farsi)",
|
|
598
|
+
pl: "Polish",
|
|
599
|
+
pt: "Portuguese",
|
|
600
|
+
pa: "Punjabi (Eastern)",
|
|
601
|
+
qu: "Quechua",
|
|
602
|
+
rm: "Romansh",
|
|
603
|
+
ro: "Romanian",
|
|
604
|
+
ru: "Russian",
|
|
605
|
+
se: "Sami",
|
|
606
|
+
sm: "Samoan",
|
|
607
|
+
sg: "Sango",
|
|
608
|
+
sa: "Sanskrit",
|
|
609
|
+
sr: "Serbian",
|
|
610
|
+
sh: "Serbo-Croatian",
|
|
611
|
+
st: "Sesotho",
|
|
612
|
+
tn: "Setswana",
|
|
613
|
+
sn: "Shona",
|
|
614
|
+
sd: "Sindhi",
|
|
615
|
+
si: "Sinhalese",
|
|
616
|
+
ss: "Swati",
|
|
617
|
+
sk: "Slovak",
|
|
618
|
+
sl: "Slovenian",
|
|
619
|
+
so: "Somali",
|
|
620
|
+
nr: "Southern Ndebele",
|
|
621
|
+
es: "Spanish",
|
|
622
|
+
su: "Sundanese",
|
|
623
|
+
sw: "Swahili (Kiswahili)",
|
|
624
|
+
sv: "Swedish",
|
|
625
|
+
tl: "Tagalog",
|
|
626
|
+
ty: "Tahitian",
|
|
627
|
+
tg: "Tajik",
|
|
628
|
+
ta: "Tamil",
|
|
629
|
+
tt: "Tatar",
|
|
630
|
+
te: "Telugu",
|
|
631
|
+
th: "Thai",
|
|
632
|
+
bo: "Tibetan",
|
|
633
|
+
ti: "Tigrinya",
|
|
634
|
+
to: "Tonga",
|
|
635
|
+
ts: "Tsonga",
|
|
636
|
+
tr: "Turkish",
|
|
637
|
+
tk: "Turkmen",
|
|
638
|
+
tw: "Twi",
|
|
639
|
+
ug: "Uyghur",
|
|
640
|
+
uk: "Ukrainian",
|
|
641
|
+
ur: "Urdu",
|
|
642
|
+
uz: "Uzbek",
|
|
643
|
+
ve: "Venda",
|
|
644
|
+
vi: "Vietnamese",
|
|
645
|
+
vo: "Volapük",
|
|
646
|
+
wa: "Wallon",
|
|
647
|
+
cy: "Welsh",
|
|
648
|
+
wo: "Wolof",
|
|
649
|
+
fy: "Western Frisian",
|
|
650
|
+
xh: "Xhosa",
|
|
651
|
+
yi: "Yiddish",
|
|
652
|
+
yo: "Yoruba",
|
|
653
|
+
za: "Zhuang, Chuang",
|
|
654
|
+
zu: "Zulu"
|
|
655
|
+
}, j = "https://api.chaibuilder.com";
|
|
668
656
|
export {
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
657
|
+
j as API_URL,
|
|
658
|
+
$ as ChaiBuilderPages,
|
|
659
|
+
Y as ChaiBuilderPagesBackend,
|
|
660
|
+
N as ChaiBuilderPagesUserManagement,
|
|
661
|
+
W as LANGUAGES,
|
|
662
|
+
b as getChaiCollection,
|
|
663
|
+
K as getChaiCollections,
|
|
664
|
+
A as getChaiPageType,
|
|
677
665
|
y as getChaiPageTypes,
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
666
|
+
Z as registerChaiCollection,
|
|
667
|
+
F as registerChaiGlobalDataProvider,
|
|
668
|
+
O as registerChaiPageType,
|
|
669
|
+
H as registerChaiPartialType
|
|
682
670
|
};
|