@chaibuilder/pages 0.5.0-beta.6 → 0.5.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/{B4MFY5CR-Dg100Fqz.js → B4MFY5CR-CxaAsbN9.js} +1 -1
- package/dist/{B4MFY5CR-B8A0kdLF.cjs → B4MFY5CR-Dejj9XNi.cjs} +1 -1
- package/dist/{HO4MOOFI-DCSoo8Hf.js → HO4MOOFI-DyGZciGV.js} +2 -2
- package/dist/{HO4MOOFI-ly5_awVt.cjs → HO4MOOFI-aeWm2iw3.cjs} +1 -1
- package/dist/{HUY7CZI3-BGXEzwsj.js → HUY7CZI3-BKHbLpsl.js} +2 -2
- package/dist/{HUY7CZI3-pO1P9ijV.cjs → HUY7CZI3-CLInB0IP.cjs} +1 -1
- package/dist/{digital-asset-manager-LovOlgEJ.js → digital-asset-manager-DJEJxRa5.js} +1 -1
- package/dist/{digital-asset-manager-C3_OBsfY.cjs → digital-asset-manager-GB5X0F5T.cjs} +1 -1
- package/dist/index-BV5BWsTF.cjs +2 -0
- package/dist/{index-D4JrrudL.js → index-TNPTcXFM.js} +2911 -2721
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +0 -26
- package/dist/server.js +171 -178
- package/package.json +3 -8
- package/dist/index-DLGUDmIx.cjs +0 -2
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-BV5BWsTF.cjs"),t=require("@chaibuilder/sdk");exports.PermissionChecker=e.PermissionChecker;exports.default=e.ChaiBuilderPages;exports.registerChaiLoginComponent=e.registerLoginComponent;exports.useChaiAuth=e.useChaiAuth;exports.useChaiCurrentPage=e.useCurrentPage;exports.useChaiFetch=e.useChaiFetch;exports.useChaiUserInfo=e.useChaiUserInfo;exports.useFetch=e.useFetch;exports.useLanguagePages=e.useLanguagePages;exports.useUserPermissions=e.useUserRoleAndPermissions;exports.useWebsitePages=e.useWebsitePages;exports.useWebsiteSetting=e.useWebsiteSetting;Object.keys(t).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>t[s]})});
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a0 as s, _ as i, a1 as r, a6 as t, a2 as u, a8 as o, a9 as h, X as n, a3 as g, a7 as C, a4 as m, a5 as P } from "./index-
|
|
1
|
+
import { a0 as s, _ as i, a1 as r, a6 as t, a2 as u, a8 as o, a9 as h, X as n, a3 as g, a7 as C, a4 as m, a5 as P } from "./index-TNPTcXFM.js";
|
|
2
2
|
export * from "@chaibuilder/sdk";
|
|
3
3
|
export {
|
|
4
4
|
s as PermissionChecker,
|
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var B=Object.defineProperty;var M=(i,a,e)=>a in i?B(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var k=(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"),P={};function I(i,a){c.has(P,i)&&console.warn(`Collection ${i} already registered`),P[i]={...a,id:i}}const R=()=>Object.values(P),L=i=>c.get(P,i),w={},_=(i,a)=>{w[i]={key:i,...a,hasSlug:!0}},b=(i,a)=>{w[i]={key:i,...a,hasSlug:!1}},T=()=>Object.values(w),A=i=>w[i];let v=async i=>({...i});const H=i=>v=i,y=async i=>{try{return await v(i)}catch(a){return console.error(a),{}}};class K{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:s},t){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:e}},t))}async getAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSET",data:{id:a}},e)}async getAssets(a,e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"GET_ASSETS",data:a},e)}async deleteAsset({id:a},e){var s,t;return(t=(s=this.backend).handleAssetsAction)==null?void 0:t.call(s,{action:"DELETE_ASSET",data:{id:a}},e)}async updateAsset({id:a,file:e,description:s},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:s}},t)}}class G{constructor(a){this.backend=a}async refreshToken(a){var s,t;const e=await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"REFRESH_TOKEN",data:a}));return e.error?{error:e.error}:e}async login({email:a,password:e}){var t,r;const s=await((r=(t=this.backend).handleUsersAction)==null?void 0:r.call(t,{action:"LOGIN",data:{email:a,password:e}}));return s.error?{error:s.error}:s}async logout(){var a,e;await((e=(a=this.backend).handleUsersAction)==null?void 0:e.call(a,{action:"LOGOUT"}))}async isUserActive(a){var s,t;return(await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{action:"CHECK_USER_STATUS"},a))).success}async getUserRoleAndPermissions(a){var s,t;return await((t=(s=this.backend).handleUsersAction)==null?void 0:t.call(s,{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))}}const 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 N{constructor(a,e,s){k(this,"fallbackLang","");k(this,"currentLang","");k(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=e??new G(this.backend),this.chaiAssets=s??new K(this.backend)}_registerDefaultPageTypes(){_("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>'}),b("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}setCurrentLang(a){if(c.isEmpty(a))throw new Error("Current language cannot be empty");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,m,f,S,E,g,C,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(m=this.chaiAssets)==null?void 0:m.updateAsset(a.data,e);case"REFRESH_TOKEN":return(f=this.chaiUsers)==null?void 0:f.refreshToken(a.data);case"LOGIN":return(S=this.chaiUsers)==null?void 0:S.login(a.data);case"LOGOUT":return(E=this.chaiUsers)==null?void 0:E.logout();case"CHECK_USER_STATUS":return(g=this.chaiUsers)==null?void 0:g.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(C=this.chaiUsers)==null?void 0:C.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 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})));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,e):{error:"Page type not found"}}if(a.action==="GET_COLLECTIONS")return R().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 d=n.repeaterItems.replace("{{#","").replace("}}",""),p=L(d);return p?await(p==null?void 0:p.fetch({block:n,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:n,pageProps:a.data.pageProps,lang:a.data.lang,draft:!0,inBuilder:!0})??{}}}const s=await this.backend.handleAction(a,e);return this.emit(a.action,s),s}emit(a,e){var r,o,l;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=c.get(e,"page");if(!s)return;const t=A(s.pageType);if(t)switch(a){case"CREATE_PAGE":return(r=t.onCreate)==null?void 0:r.call(t,s);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,s);case"DELETE_PAGE":return(l=t.onDelete)==null?void 0:l.call(t,s)}}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],s=a.split(":")[2],t=A(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=A(a);if(!s)return"/not-found";const t=this.isDraftMode(),r=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return s.resolveLink?await s.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(),s={};return T().forEach(t=>{c.has(t,"dynamicSegments")&&t.dynamicSegments&&(s[t.key]=t.dynamicSegments)}),await this.backend.handleAction({action:"GET_PAGE_META",data:{slug:a,draft:e,dynamicSegments:s}})}async getFullPage(a){const e=this.isDraftMode(),s=this.getCurrentLang(),t=this.getFallbackLang();return await this.backend.handleAction({action:"GET_PAGE",data:{id:a,lang:t===s?void 0:s,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,s){var E;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 m={};if(l.length>0){const g=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));m=(await Promise.all(g.map(async({collectionId:h,block:n})=>{const u=L(h);try{const d=await(u==null?void 0:u.fetch({lang:r,draft:t,inBuilder:!1,pageProps:s,block:n}));return Promise.resolve({[`#${h}/${n._id}`]:d??[]})}catch{return Promise.resolve({[`#${h}/${n._id}`]:[]})}}))).reduce((h,n)=>({...h,...n}),{})}const[f,S]=await Promise.all([this.getGlobalData(),((E=o==null?void 0:o.dataProvider)==null?void 0:E.call(o,{lang:r,draft:t,inBuilder:!1,pageProps:s}))||Promise.resolve({})]);return o?{...S,global:f,...m}:{global:f,...m}}async getGlobalData(){const a=this.getCurrentLang();return await y({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class j{constructor(a="",e=D){this.apiKey=a,this.apiUrl=e}async handleUsersAction(a,e){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":e}}),t=await s.json();return c.has(t,"error")?{...t,status:s.status}:t}async handleAction(a,e){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":e}}),t=await s.json();return c.has(t,"error")?{...t,status:s.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 D="https://api.chaibuilder.com";exports.API_URL=D;exports.ChaiBuilderPages=N;exports.ChaiBuilderPagesBackend=j;exports.ChaiBuilderPagesUserManagement=G;exports.LANGUAGES=U;exports.getChaiGlobalData=y;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=I;exports.registerChaiGlobalDataProvider=H;exports.registerChaiPageType=_;exports.registerChaiPartialType=b;
|
|
1
|
+
"use strict";var G=Object.defineProperty;var U=(i,a,e)=>a in i?G(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var p=(i,a,e)=>U(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),B=require("@chaibuilder/runtime"),w={};function D(i,a){c.has(w,i)&&console.warn(`Collection ${i} already registered`),w[i]={...a,id:i}}const M=()=>Object.values(w),T=i=>c.get(w,i),y={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"};let O=async i=>({...i});const L=async i=>{try{return await O(i)}catch(a){return console.error(a),{}}},P={},_=()=>Object.values(P),m=i=>P[i],I=(i,a)=>{P[i]={key:i,...a,hasSlug:!0}},R=(i,a)=>{P[i]={key:i,...a,hasSlug:!1}};class H{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 b{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 K{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 b(this.backend),this.chaiAssets=n??new H(this.backend)}_registerDefaultPageTypes(){I("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>'}),R("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}setCurrentLang(a){if(c.isEmpty(a))throw new Error("Current language cannot be empty");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,A,f,S,E,g,C,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(A=this.chaiAssets)==null?void 0:A.updateAsset(a.data,e);case"REFRESH_TOKEN":return(f=this.chaiUsers)==null?void 0:f.refreshToken(a.data);case"LOGIN":return(S=this.chaiUsers)==null?void 0:S.login(a.data);case"LOGOUT":return(E=this.chaiUsers)==null?void 0:E.logout();case"CHECK_USER_STATUS":return(g=this.chaiUsers)==null?void 0:g.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(C=this.chaiUsers)==null?void 0:C.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 L({lang:a.data.lang,draft:!0,inBuilder:!0}),u=m(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(_().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})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const s=m(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 M().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=T(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=B.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=m(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(y).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=m(e);return t?await this.resolveLink(t.key,n):a}async resolveLink(a,e){const n=m(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 _().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 E;const t=this.isDraftMode(),r=this.getCurrentLang(),o=m(e),l=a.filter(g=>g._type==="Repeater"&&(g==null?void 0:g.repeaterItems.includes("{{#")));let A={};if(l.length>0){const g=l.map(h=>({collectionId:h.repeaterItems.replace("{{#","").replace("}}",""),block:h}));A=(await Promise.all(g.map(async({collectionId:h,block:s})=>{const u=T(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}`]:d??[]})}catch{return Promise.resolve({[`#${h}/${s._id}`]:[]})}}))).reduce((h,s)=>({...h,...s}),{})}const[f,S]=await Promise.all([this.getGlobalData(),((E=o==null?void 0:o.dataProvider)==null?void 0:E.call(o,{lang:r,draft:t,inBuilder:!1,pageProps:n}))||Promise.resolve({})]);return o?{...S,global:f,...A}:{global:f,...A}}async getGlobalData(){const a=this.getCurrentLang();return await L({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class N{constructor(a="",e=v){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 v="https://api.chaibuilder.com";exports.API_URL=v;exports.ChaiBuilderPages=K;exports.ChaiBuilderPagesBackend=N;exports.ChaiBuilderPagesUserManagement=b;exports.LANGUAGES=y;exports.registerChaiCollection=D;
|
package/dist/server.d.ts
CHANGED
|
@@ -262,16 +262,6 @@ declare type CollectionFetchParams = {
|
|
|
262
262
|
};
|
|
263
263
|
};
|
|
264
264
|
|
|
265
|
-
export declare const getChaiGlobalData: (args: {
|
|
266
|
-
lang: string;
|
|
267
|
-
draft: boolean;
|
|
268
|
-
inBuilder: boolean;
|
|
269
|
-
}) => Promise<any>;
|
|
270
|
-
|
|
271
|
-
export declare const getChaiPageType: (key: keyof typeof PAGE_TYPES) => ChaiBuilderPageType;
|
|
272
|
-
|
|
273
|
-
export declare const getChaiPageTypes: () => ChaiBuilderPageType[];
|
|
274
|
-
|
|
275
265
|
export declare const LANGUAGES: {
|
|
276
266
|
[key: string]: string;
|
|
277
267
|
};
|
|
@@ -285,8 +275,6 @@ export declare interface LoggedInUser {
|
|
|
285
275
|
avatar?: string;
|
|
286
276
|
}
|
|
287
277
|
|
|
288
|
-
declare const PAGE_TYPES: Record<string, ChaiBuilderPageType>;
|
|
289
|
-
|
|
290
278
|
export declare type PageTypeSearchResult = {
|
|
291
279
|
id: string;
|
|
292
280
|
name: string;
|
|
@@ -295,18 +283,4 @@ export declare type PageTypeSearchResult = {
|
|
|
295
283
|
|
|
296
284
|
export declare function registerChaiCollection<T = Record<any, any>>(id: string, collection: Omit<CollectionConfig<T>, "id">): void;
|
|
297
285
|
|
|
298
|
-
export declare const registerChaiGlobalDataProvider: <T>(globalDataProvider: (args: {
|
|
299
|
-
lang: string;
|
|
300
|
-
draft: boolean;
|
|
301
|
-
inBuilder: boolean;
|
|
302
|
-
}) => Promise<T>) => (args: {
|
|
303
|
-
lang: string;
|
|
304
|
-
draft: boolean;
|
|
305
|
-
inBuilder: boolean;
|
|
306
|
-
}) => Promise<T>;
|
|
307
|
-
|
|
308
|
-
export declare const registerChaiPageType: (key: string, pageTypeOptions: Omit<ChaiBuilderPageType, "key">) => void;
|
|
309
|
-
|
|
310
|
-
export declare const registerChaiPartialType: (key: string, pageTypeOptions: Omit<ChaiBuilderPageType, "key">) => void;
|
|
311
|
-
|
|
312
286
|
export { }
|
package/dist/server.js
CHANGED
|
@@ -1,158 +1,13 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var p = (i, a, e) =>
|
|
4
|
-
import { has as k, get as y, isEmpty as T, omit as
|
|
5
|
-
import { getRegisteredChaiBlock as
|
|
1
|
+
var v = Object.defineProperty;
|
|
2
|
+
var G = (i, a, e) => a in i ? v(i, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[a] = e;
|
|
3
|
+
var p = (i, a, e) => G(i, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
+
import { has as k, get as y, isEmpty as T, omit as U, isFunction as D, first as M, startsWith as O } from "lodash-es";
|
|
5
|
+
import { getRegisteredChaiBlock as B } from "@chaibuilder/runtime";
|
|
6
6
|
const w = {};
|
|
7
7
|
function $(i, a) {
|
|
8
8
|
k(w, i) && console.warn(`Collection ${i} already registered`), w[i] = { ...a, id: i };
|
|
9
9
|
}
|
|
10
|
-
const
|
|
11
|
-
P[i] = { key: i, ...a, hasSlug: !0 };
|
|
12
|
-
}, R = (i, a) => {
|
|
13
|
-
P[i] = { key: i, ...a, hasSlug: !1 };
|
|
14
|
-
}, _ = () => Object.values(P), A = (i) => P[i];
|
|
15
|
-
let v = async (i) => ({
|
|
16
|
-
...i
|
|
17
|
-
});
|
|
18
|
-
const Y = (i) => v = i, b = async (i) => {
|
|
19
|
-
try {
|
|
20
|
-
return await v(i);
|
|
21
|
-
} catch (a) {
|
|
22
|
-
return console.error(a), {};
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
class N {
|
|
26
|
-
constructor(a) {
|
|
27
|
-
this.backend = a;
|
|
28
|
-
}
|
|
29
|
-
async upload({
|
|
30
|
-
file: a,
|
|
31
|
-
folderId: e,
|
|
32
|
-
name: n
|
|
33
|
-
}, t) {
|
|
34
|
-
var o, c;
|
|
35
|
-
return await ((c = (o = this.backend).handleAssetsAction) == null ? void 0 : c.call(
|
|
36
|
-
o,
|
|
37
|
-
{
|
|
38
|
-
action: "UPLOAD_ASSET",
|
|
39
|
-
data: {
|
|
40
|
-
name: n,
|
|
41
|
-
file: a,
|
|
42
|
-
folderId: e
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
t
|
|
46
|
-
));
|
|
47
|
-
}
|
|
48
|
-
async getAsset({ id: a }, e) {
|
|
49
|
-
var n, t;
|
|
50
|
-
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
51
|
-
n,
|
|
52
|
-
{ action: "GET_ASSET", data: { id: a } },
|
|
53
|
-
e
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
async getAssets(a, e) {
|
|
57
|
-
var n, t;
|
|
58
|
-
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
59
|
-
n,
|
|
60
|
-
{
|
|
61
|
-
action: "GET_ASSETS",
|
|
62
|
-
data: a
|
|
63
|
-
},
|
|
64
|
-
e
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
async deleteAsset({ id: a }, e) {
|
|
68
|
-
var n, t;
|
|
69
|
-
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
70
|
-
n,
|
|
71
|
-
{
|
|
72
|
-
action: "DELETE_ASSET",
|
|
73
|
-
data: { id: a }
|
|
74
|
-
},
|
|
75
|
-
e
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
async updateAsset({
|
|
79
|
-
id: a,
|
|
80
|
-
file: e,
|
|
81
|
-
description: n
|
|
82
|
-
}, t) {
|
|
83
|
-
var r, o;
|
|
84
|
-
return (o = (r = this.backend).handleAssetsAction) == null ? void 0 : o.call(
|
|
85
|
-
r,
|
|
86
|
-
{
|
|
87
|
-
action: "UPDATE_ASSET",
|
|
88
|
-
data: { id: a, file: e, description: n }
|
|
89
|
-
},
|
|
90
|
-
t
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
class j {
|
|
95
|
-
constructor(a) {
|
|
96
|
-
this.backend = a;
|
|
97
|
-
}
|
|
98
|
-
async refreshToken(a) {
|
|
99
|
-
var n, t;
|
|
100
|
-
const e = await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(n, {
|
|
101
|
-
action: "REFRESH_TOKEN",
|
|
102
|
-
data: a
|
|
103
|
-
}));
|
|
104
|
-
return e.error ? { error: e.error } : e;
|
|
105
|
-
}
|
|
106
|
-
async login({
|
|
107
|
-
email: a,
|
|
108
|
-
password: e
|
|
109
|
-
}) {
|
|
110
|
-
var t, r;
|
|
111
|
-
const n = await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(t, {
|
|
112
|
-
action: "LOGIN",
|
|
113
|
-
data: { email: a, password: e }
|
|
114
|
-
}));
|
|
115
|
-
return n.error ? { error: n.error } : n;
|
|
116
|
-
}
|
|
117
|
-
async logout() {
|
|
118
|
-
var a, e;
|
|
119
|
-
await ((e = (a = this.backend).handleUsersAction) == null ? void 0 : e.call(a, {
|
|
120
|
-
action: "LOGOUT"
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
123
|
-
async isUserActive(a) {
|
|
124
|
-
var n, t;
|
|
125
|
-
return (await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
126
|
-
n,
|
|
127
|
-
{
|
|
128
|
-
action: "CHECK_USER_STATUS"
|
|
129
|
-
},
|
|
130
|
-
a
|
|
131
|
-
))).success;
|
|
132
|
-
}
|
|
133
|
-
async getUserRoleAndPermissions(a) {
|
|
134
|
-
var n, t;
|
|
135
|
-
return await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
136
|
-
n,
|
|
137
|
-
{
|
|
138
|
-
action: "GET_ROLE_AND_PERMISSIONS"
|
|
139
|
-
},
|
|
140
|
-
a
|
|
141
|
-
));
|
|
142
|
-
}
|
|
143
|
-
async getUserInfo(a, e) {
|
|
144
|
-
var t, r;
|
|
145
|
-
return await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(
|
|
146
|
-
t,
|
|
147
|
-
{
|
|
148
|
-
action: "GET_CHAI_USER",
|
|
149
|
-
data: e
|
|
150
|
-
},
|
|
151
|
-
a
|
|
152
|
-
));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const F = {
|
|
10
|
+
const I = () => Object.values(w), L = (i) => y(w, i), H = {
|
|
156
11
|
ab: "Abkhazian",
|
|
157
12
|
aa: "Afar",
|
|
158
13
|
af: "Afrikaans",
|
|
@@ -341,18 +196,162 @@ const F = {
|
|
|
341
196
|
za: "Zhuang, Chuang",
|
|
342
197
|
zu: "Zulu"
|
|
343
198
|
};
|
|
344
|
-
|
|
199
|
+
let K = async (i) => ({
|
|
200
|
+
...i
|
|
201
|
+
});
|
|
202
|
+
const _ = async (i) => {
|
|
203
|
+
try {
|
|
204
|
+
return await K(i);
|
|
205
|
+
} catch (a) {
|
|
206
|
+
return console.error(a), {};
|
|
207
|
+
}
|
|
208
|
+
}, P = {}, b = () => Object.values(P), A = (i) => P[i], R = (i, a) => {
|
|
209
|
+
P[i] = { key: i, ...a, hasSlug: !0 };
|
|
210
|
+
}, N = (i, a) => {
|
|
211
|
+
P[i] = { key: i, ...a, hasSlug: !1 };
|
|
212
|
+
};
|
|
213
|
+
class j {
|
|
214
|
+
constructor(a) {
|
|
215
|
+
this.backend = a;
|
|
216
|
+
}
|
|
217
|
+
async upload({
|
|
218
|
+
file: a,
|
|
219
|
+
folderId: e,
|
|
220
|
+
name: n
|
|
221
|
+
}, t) {
|
|
222
|
+
var o, c;
|
|
223
|
+
return await ((c = (o = this.backend).handleAssetsAction) == null ? void 0 : c.call(
|
|
224
|
+
o,
|
|
225
|
+
{
|
|
226
|
+
action: "UPLOAD_ASSET",
|
|
227
|
+
data: {
|
|
228
|
+
name: n,
|
|
229
|
+
file: a,
|
|
230
|
+
folderId: e
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
t
|
|
234
|
+
));
|
|
235
|
+
}
|
|
236
|
+
async getAsset({ id: a }, e) {
|
|
237
|
+
var n, t;
|
|
238
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
239
|
+
n,
|
|
240
|
+
{ action: "GET_ASSET", data: { id: a } },
|
|
241
|
+
e
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
async getAssets(a, e) {
|
|
245
|
+
var n, t;
|
|
246
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
247
|
+
n,
|
|
248
|
+
{
|
|
249
|
+
action: "GET_ASSETS",
|
|
250
|
+
data: a
|
|
251
|
+
},
|
|
252
|
+
e
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
async deleteAsset({ id: a }, e) {
|
|
256
|
+
var n, t;
|
|
257
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
258
|
+
n,
|
|
259
|
+
{
|
|
260
|
+
action: "DELETE_ASSET",
|
|
261
|
+
data: { id: a }
|
|
262
|
+
},
|
|
263
|
+
e
|
|
264
|
+
);
|
|
265
|
+
}
|
|
266
|
+
async updateAsset({
|
|
267
|
+
id: a,
|
|
268
|
+
file: e,
|
|
269
|
+
description: n
|
|
270
|
+
}, t) {
|
|
271
|
+
var r, o;
|
|
272
|
+
return (o = (r = this.backend).handleAssetsAction) == null ? void 0 : o.call(
|
|
273
|
+
r,
|
|
274
|
+
{
|
|
275
|
+
action: "UPDATE_ASSET",
|
|
276
|
+
data: { id: a, file: e, description: n }
|
|
277
|
+
},
|
|
278
|
+
t
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
class F {
|
|
283
|
+
constructor(a) {
|
|
284
|
+
this.backend = a;
|
|
285
|
+
}
|
|
286
|
+
async refreshToken(a) {
|
|
287
|
+
var n, t;
|
|
288
|
+
const e = await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(n, {
|
|
289
|
+
action: "REFRESH_TOKEN",
|
|
290
|
+
data: a
|
|
291
|
+
}));
|
|
292
|
+
return e.error ? { error: e.error } : e;
|
|
293
|
+
}
|
|
294
|
+
async login({
|
|
295
|
+
email: a,
|
|
296
|
+
password: e
|
|
297
|
+
}) {
|
|
298
|
+
var t, r;
|
|
299
|
+
const n = await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(t, {
|
|
300
|
+
action: "LOGIN",
|
|
301
|
+
data: { email: a, password: e }
|
|
302
|
+
}));
|
|
303
|
+
return n.error ? { error: n.error } : n;
|
|
304
|
+
}
|
|
305
|
+
async logout() {
|
|
306
|
+
var a, e;
|
|
307
|
+
await ((e = (a = this.backend).handleUsersAction) == null ? void 0 : e.call(a, {
|
|
308
|
+
action: "LOGOUT"
|
|
309
|
+
}));
|
|
310
|
+
}
|
|
311
|
+
async isUserActive(a) {
|
|
312
|
+
var n, t;
|
|
313
|
+
return (await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
314
|
+
n,
|
|
315
|
+
{
|
|
316
|
+
action: "CHECK_USER_STATUS"
|
|
317
|
+
},
|
|
318
|
+
a
|
|
319
|
+
))).success;
|
|
320
|
+
}
|
|
321
|
+
async getUserRoleAndPermissions(a) {
|
|
322
|
+
var n, t;
|
|
323
|
+
return await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
324
|
+
n,
|
|
325
|
+
{
|
|
326
|
+
action: "GET_ROLE_AND_PERMISSIONS"
|
|
327
|
+
},
|
|
328
|
+
a
|
|
329
|
+
));
|
|
330
|
+
}
|
|
331
|
+
async getUserInfo(a, e) {
|
|
332
|
+
var t, r;
|
|
333
|
+
return await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(
|
|
334
|
+
t,
|
|
335
|
+
{
|
|
336
|
+
action: "GET_CHAI_USER",
|
|
337
|
+
data: e
|
|
338
|
+
},
|
|
339
|
+
a
|
|
340
|
+
));
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
class Y {
|
|
345
344
|
constructor(a, e, n) {
|
|
346
345
|
p(this, "fallbackLang", "");
|
|
347
346
|
p(this, "currentLang", "");
|
|
348
347
|
p(this, "draftMode", !1);
|
|
349
|
-
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new
|
|
348
|
+
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);
|
|
350
349
|
}
|
|
351
350
|
_registerDefaultPageTypes() {
|
|
352
|
-
|
|
351
|
+
R("page", {
|
|
353
352
|
name: "Static Page",
|
|
354
353
|
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
|
-
}),
|
|
354
|
+
}), N("global", {
|
|
356
355
|
name: "Global Block",
|
|
357
356
|
helpText: "A global block can be reused in multiple pages.",
|
|
358
357
|
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>'
|
|
@@ -430,7 +429,7 @@ class W {
|
|
|
430
429
|
);
|
|
431
430
|
}
|
|
432
431
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
433
|
-
const s = await
|
|
432
|
+
const s = await _({
|
|
434
433
|
lang: a.data.lang,
|
|
435
434
|
draft: !0,
|
|
436
435
|
inBuilder: !0
|
|
@@ -449,7 +448,7 @@ class W {
|
|
|
449
448
|
}
|
|
450
449
|
if (a.action === "GET_PAGE_TYPES")
|
|
451
450
|
return Promise.all(
|
|
452
|
-
|
|
451
|
+
b().map(async (s) => ({
|
|
453
452
|
key: s.key,
|
|
454
453
|
helpText: s.helpText ?? "",
|
|
455
454
|
icon: s.icon ?? "",
|
|
@@ -466,8 +465,8 @@ class W {
|
|
|
466
465
|
return s ? s.search ? await s.search(a.data.query) : this.backend.handleAction(a, e) : { error: "Page type not found" };
|
|
467
466
|
}
|
|
468
467
|
if (a.action === "GET_COLLECTIONS")
|
|
469
|
-
return
|
|
470
|
-
(s) =>
|
|
468
|
+
return I().map(
|
|
469
|
+
(s) => U(s, "fetch")
|
|
471
470
|
);
|
|
472
471
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
473
472
|
const s = a.data.block, h = s._type;
|
|
@@ -481,8 +480,8 @@ class W {
|
|
|
481
480
|
inBuilder: !0
|
|
482
481
|
})) ?? [] : [];
|
|
483
482
|
} else {
|
|
484
|
-
const g =
|
|
485
|
-
return !g || !
|
|
483
|
+
const g = B(h);
|
|
484
|
+
return !g || !D(g.dataProvider) ? {} : await g.dataProvider({
|
|
486
485
|
block: s,
|
|
487
486
|
pageProps: a.data.pageProps,
|
|
488
487
|
lang: a.data.lang,
|
|
@@ -516,8 +515,8 @@ class W {
|
|
|
516
515
|
throw new Error(
|
|
517
516
|
"Please set a fallback language using setFallbackLang(lang: string)"
|
|
518
517
|
);
|
|
519
|
-
const e =
|
|
520
|
-
Object.keys(
|
|
518
|
+
const e = M(a || [""]);
|
|
519
|
+
Object.keys(H).includes(e) ? this.setCurrentLang(e) : this.setCurrentLang(this.getFallbackLang());
|
|
521
520
|
}
|
|
522
521
|
/**
|
|
523
522
|
* Resolve a page link
|
|
@@ -525,7 +524,7 @@ class W {
|
|
|
525
524
|
* @returns The resolved link
|
|
526
525
|
*/
|
|
527
526
|
async resolvePageLink(a) {
|
|
528
|
-
if (!
|
|
527
|
+
if (!O(a, "pageType:"))
|
|
529
528
|
return a;
|
|
530
529
|
const e = a.split(":")[1], n = a.split(":")[2], t = A(e);
|
|
531
530
|
return t ? await this.resolveLink(t.key, n) : a;
|
|
@@ -547,7 +546,7 @@ class W {
|
|
|
547
546
|
}
|
|
548
547
|
async getPageBySlug(a) {
|
|
549
548
|
const e = this.isDraftMode(), n = {};
|
|
550
|
-
return
|
|
549
|
+
return b().forEach((t) => {
|
|
551
550
|
k(t, "dynamicSegments") && t.dynamicSegments && (n[t.key] = t.dynamicSegments);
|
|
552
551
|
}), await this.backend.handleAction({
|
|
553
552
|
action: "GET_PAGE_META",
|
|
@@ -620,7 +619,7 @@ class W {
|
|
|
620
619
|
}
|
|
621
620
|
async getGlobalData() {
|
|
622
621
|
const a = this.getCurrentLang();
|
|
623
|
-
return await
|
|
622
|
+
return await _({
|
|
624
623
|
lang: a,
|
|
625
624
|
draft: this.isDraftMode(),
|
|
626
625
|
inBuilder: !1
|
|
@@ -630,7 +629,7 @@ class W {
|
|
|
630
629
|
return await this.backend.handleAction(a);
|
|
631
630
|
}
|
|
632
631
|
}
|
|
633
|
-
class
|
|
632
|
+
class W {
|
|
634
633
|
constructor(a = "", e = x) {
|
|
635
634
|
this.apiKey = a, this.apiUrl = e;
|
|
636
635
|
}
|
|
@@ -670,15 +669,9 @@ class q {
|
|
|
670
669
|
const x = "https://api.chaibuilder.com";
|
|
671
670
|
export {
|
|
672
671
|
x as API_URL,
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
A as getChaiPageType,
|
|
679
|
-
_ as getChaiPageTypes,
|
|
680
|
-
$ as registerChaiCollection,
|
|
681
|
-
Y as registerChaiGlobalDataProvider,
|
|
682
|
-
K as registerChaiPageType,
|
|
683
|
-
R as registerChaiPartialType
|
|
672
|
+
Y as ChaiBuilderPages,
|
|
673
|
+
W as ChaiBuilderPagesBackend,
|
|
674
|
+
F as ChaiBuilderPagesUserManagement,
|
|
675
|
+
H as LANGUAGES,
|
|
676
|
+
$ as registerChaiCollection
|
|
684
677
|
};
|
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.5.
|
|
6
|
+
"version": "0.5.1",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
@@ -21,11 +21,6 @@
|
|
|
21
21
|
"import": "./dist/server.js",
|
|
22
22
|
"require": "./dist/server.cjs"
|
|
23
23
|
},
|
|
24
|
-
"./builder": {
|
|
25
|
-
"types": "./dist/builder.d.ts",
|
|
26
|
-
"import": "./dist/builder.js",
|
|
27
|
-
"require": "./dist/builder.cjs"
|
|
28
|
-
},
|
|
29
24
|
"./web-blocks": {
|
|
30
25
|
"types": "./dist/web-blocks.d.ts",
|
|
31
26
|
"import": "./dist/web-blocks.js",
|
|
@@ -60,7 +55,7 @@
|
|
|
60
55
|
},
|
|
61
56
|
"peerDependencies": {
|
|
62
57
|
"@chaibuilder/runtime": "2.1.5",
|
|
63
|
-
"@chaibuilder/sdk": "2.2.
|
|
58
|
+
"@chaibuilder/sdk": "2.2.28",
|
|
64
59
|
"@types/react": "*",
|
|
65
60
|
"@types/react-dom": "*",
|
|
66
61
|
"react": "^18.0 || ^19.0 || ^19.1",
|
|
@@ -76,7 +71,7 @@
|
|
|
76
71
|
},
|
|
77
72
|
"dependencies": {
|
|
78
73
|
"@chaibuilder/runtime": "2.1.5",
|
|
79
|
-
"@chaibuilder/sdk": "2.2.
|
|
74
|
+
"@chaibuilder/sdk": "2.2.28",
|
|
80
75
|
"@mhsdesign/jit-browser-tailwindcss": "^0.4.2",
|
|
81
76
|
"@tailwindcss/aspect-ratio": "^0.4.2",
|
|
82
77
|
"@tailwindcss/forms": "^0.5.10",
|