@chaibuilder/pages 0.4.19 → 0.4.20-beta.2
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-BJJ3VRd7.js → B4MFY5CR-D0TTPQw0.js} +1 -1
- package/dist/{B4MFY5CR-DVeLudHJ.cjs → B4MFY5CR-DExT9uZV.cjs} +1 -1
- package/dist/{HO4MOOFI-B4QqHm_c.js → HO4MOOFI-3ZFIZEaF.js} +2 -2
- package/dist/{HO4MOOFI-XgWdN8Lb.cjs → HO4MOOFI-dnAR0JsU.cjs} +1 -1
- package/dist/{HUY7CZI3-09hfItYI.js → HUY7CZI3-BSDTRnrG.js} +2 -2
- package/dist/{HUY7CZI3-D-Q1VDG4.cjs → HUY7CZI3-CAHqdhAS.cjs} +1 -1
- package/dist/{digital-asset-manager-DmSzitAK.js → digital-asset-manager-C2ypiQHt.js} +1 -1
- package/dist/{digital-asset-manager-KwiOzEF5.cjs → digital-asset-manager-CY2bsy43.cjs} +1 -1
- package/dist/index-DT8GZKx6.cjs +2 -0
- package/dist/{index-gS3Azpcv.js → index-HVr8s8no.js} +2599 -2672
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +8 -9
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.js +17 -16
- package/package.json +1 -1
- package/dist/index-DKI0gzx7.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-DT8GZKx6.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.d.ts
CHANGED
|
@@ -73,8 +73,6 @@ export declare const useFetch: () => (url: string, body: {
|
|
|
73
73
|
data?: any;
|
|
74
74
|
}, headers?: Record<string, string>) => Promise<any>;
|
|
75
75
|
|
|
76
|
-
export declare const useFetchUpload: () => (url: string, body: FormData, headers?: Record<string, string>) => Promise<any>;
|
|
77
|
-
|
|
78
76
|
export declare const useLanguagePages: () => DefinedUseQueryResult<any[] | null, Error>;
|
|
79
77
|
|
|
80
78
|
export declare const useUserPermissions: () => UseQueryResult<any, Error>;
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { a0 as s, _ as i, a1 as
|
|
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-HVr8s8no.js";
|
|
2
2
|
export * from "@chaibuilder/sdk";
|
|
3
3
|
export {
|
|
4
4
|
s as PermissionChecker,
|
|
5
5
|
i as default,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
r as registerChaiLoginComponent,
|
|
7
|
+
t as useChaiAuth,
|
|
8
|
+
u as useChaiCurrentPage,
|
|
9
9
|
o as useChaiFetch,
|
|
10
10
|
h as useChaiUserInfo,
|
|
11
11
|
n as useFetch,
|
|
12
|
-
g as
|
|
13
|
-
C as
|
|
14
|
-
m as
|
|
15
|
-
P as
|
|
16
|
-
c as useWebsiteSetting
|
|
12
|
+
g as useLanguagePages,
|
|
13
|
+
C as useUserPermissions,
|
|
14
|
+
m as useWebsitePages,
|
|
15
|
+
P as useWebsiteSetting
|
|
17
16
|
};
|
package/dist/server.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var G=Object.defineProperty;var v=(i,a,e)=>a in i?G(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var g=(i,a,e)=>v(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-es"),d={},P=(i,a)=>{d[i]={key:i,...a,hasSlug:!0}},T=(i,a)=>{d[i]={key:i,...a,hasSlug:!1}},E=()=>Object.values(d),h=i=>d[i];let C=async i=>({...i});const U=i=>C=i,S=async i=>{try{return await C(i)}catch(a){return console.error(a),{}}};class D{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:s},t){var o,c;return await((c=(o=this.backend).handleAssetsAction)==null?void 0:c.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 n,o;return(o=(n=this.backend).handleAssetsAction)==null?void 0:o.call(n,{action:"UPDATE_ASSET",data:{id:a,file:e,description:s}},t)}}class y{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,n;const s=await((n=(t=this.backend).handleUsersAction)==null?void 0:n.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,n;return await((n=(t=this.backend).handleUsersAction)==null?void 0:n.call(t,{action:"GET_CHAI_USER",data:e},a))}}const L={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 M{constructor(a,e,s){g(this,"fallbackLang","");g(this,"currentLang","");g(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=e??new y(this.backend),this.chaiAssets=s??new D(this.backend)}_registerDefaultPageTypes(){P("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>'}),T("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(l.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(l.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,n,o,c,u,k,m,f,b,w,p;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},e);case"GET_ASSET":return(n=this.chaiAssets)==null?void 0:n.getAsset(a.data,e);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,e);case"DELETE_ASSET":return(c=this.chaiAssets)==null?void 0:c.deleteAsset(a.data,e);case"UPDATE_ASSET":return(u=this.chaiAssets)==null?void 0:u.updateAsset(a.data,e);case"REFRESH_TOKEN":return(k=this.chaiUsers)==null?void 0:k.refreshToken(a.data);case"LOGIN":return(m=this.chaiUsers)==null?void 0:m.login(a.data);case"LOGOUT":return(f=this.chaiUsers)==null?void 0:f.logout();case"CHECK_USER_STATUS":return(b=this.chaiUsers)==null?void 0:b.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(p=this.chaiUsers)==null?void 0:p.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const r=await S({lang:a.data.lang,draft:!0,inBuilder:!0}),A=h(a.data.pageType);return A?{...A.dataProvider?await A.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:r}:{global:r}}if(a.action==="GET_PAGE_TYPES")return Promise.all(E().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const r=h(a.data.pageType);return r?r.search?await r.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}const s=await this.backend.handleAction(a,e);return this.emit(a.action,s),s}emit(a,e){var n,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=l.get(e,"page");if(!s)return;const t=h(s.pageType);if(t)switch(a){case"CREATE_PAGE":return(n=t.onCreate)==null?void 0:n.call(t,s);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,s);case"DELETE_PAGE":return(c=t.onDelete)==null?void 0:c.call(t,s)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=l.first(a||[""]);Object.keys(L).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolvePageLink(a){if(!l.startsWith(a,"pageType:"))return a;const e=a.split(":")[1],s=a.split(":")[2],t=h(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=h(a);if(!s)return"/not-found";const t=this.isDraftMode(),n=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return s.resolveLink?await s.resolveLink(e,t,n):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:t,lang:n}})}async getPageBySlug(a){const e=this.isDraftMode(),s={};return E().forEach(t=>{l.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={}){var u;const s=this.isDraftMode(),t=this.getCurrentLang(),n=h(a),[o,c]=await Promise.all([this.getGlobalData(),((u=n==null?void 0:n.dataProvider)==null?void 0:u.call(n,{lang:t,draft:s,inBuilder:!1,pageProps:e}))||Promise.resolve({})]);return n?{...c,global:o}:{global:o}}async getGlobalData(){const a=this.getCurrentLang();return await S({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class B{constructor(a="",e=_){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 l.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 l.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 _="https://api.chaibuilder.com";exports.API_URL=_;exports.ChaiBuilderPages=M;exports.ChaiBuilderPagesBackend=B;exports.ChaiBuilderPagesUserManagement=y;exports.LANGUAGES=L;exports.getChaiGlobalData=S;exports.getChaiPageType=h;exports.getChaiPageTypes=E;exports.registerChaiGlobalDataProvider=U;exports.registerChaiPageType=P;exports.registerChaiPartialType=T;
|
|
1
|
+
"use strict";var G=Object.defineProperty;var v=(i,a,e)=>a in i?G(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var g=(i,a,e)=>v(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-es"),d={},P=(i,a)=>{d[i]={key:i,...a,hasSlug:!0}},T=(i,a)=>{d[i]={key:i,...a,hasSlug:!1}},E=()=>Object.values(d),h=i=>d[i];let C=async i=>({...i});const U=i=>C=i,S=async i=>{try{return await C(i)}catch(a){return console.error(a),{}}};class D{constructor(a){this.backend=a}async upload({file:a,folderId:e,name:s},t){var o,c;return await((c=(o=this.backend).handleAssetsAction)==null?void 0:c.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 n,o;return(o=(n=this.backend).handleAssetsAction)==null?void 0:o.call(n,{action:"UPDATE_ASSET",data:{id:a,file:e,description:s}},t)}}class y{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,n;const s=await((n=(t=this.backend).handleUsersAction)==null?void 0:n.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,n;return await((n=(t=this.backend).handleUsersAction)==null?void 0:n.call(t,{action:"GET_CHAI_USER",data:e},a))}}const L={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 M{constructor(a,e,s){g(this,"fallbackLang","");g(this,"currentLang","");g(this,"draftMode",!1);this.backend=a,this.chaiUsers=e,this.chaiAssets=s,this._registerDefaultPageTypes(),this.chaiUsers=e??new y(this.backend),this.chaiAssets=s??new D(this.backend)}_registerDefaultPageTypes(){P("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>'}),T("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(l.isEmpty(a))throw new Error("Fallback language cannot be empty");this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){if(l.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,n,o,c,u,k,m,f,p,w,b;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(n=this.chaiAssets)==null?void 0:n.getAsset(a.data,e);case"GET_ASSETS":return(o=this.chaiAssets)==null?void 0:o.getAssets(a.data,e);case"DELETE_ASSET":return(c=this.chaiAssets)==null?void 0:c.deleteAsset(a.data,e);case"UPDATE_ASSET":return(u=this.chaiAssets)==null?void 0:u.updateAsset(a.data,e);case"REFRESH_TOKEN":return(k=this.chaiUsers)==null?void 0:k.refreshToken(a.data);case"LOGIN":return(m=this.chaiUsers)==null?void 0:m.login(a.data);case"LOGOUT":return(f=this.chaiUsers)==null?void 0:f.logout();case"CHECK_USER_STATUS":return(p=this.chaiUsers)==null?void 0:p.isUserActive(e);case"GET_ROLE_AND_PERMISSIONS":return(w=this.chaiUsers)==null?void 0:w.getUserRoleAndPermissions(e);case"GET_CHAI_USER":return(b=this.chaiUsers)==null?void 0:b.getUserInfo(e,a.data)}if(a.action==="GET_BUILDER_PAGE_DATA"){const r=await S({lang:a.data.lang,draft:!0,inBuilder:!0}),A=h(a.data.pageType);return A?{...A.dataProvider?await A.dataProvider({lang:a.data.lang,draft:!0,inBuilder:!0,pageProps:a.data.pageProps??{}}):{},global:r}:{global:r}}if(a.action==="GET_PAGE_TYPES")return Promise.all(E().map(async r=>({key:r.key,helpText:r.helpText??"",icon:r.icon??"",dynamicSegments:r.dynamicSegments??"",dynamicSlug:r.dynamicSlug??"",hasSlug:r.hasSlug??!0,name:typeof r.name=="function"?await r.name():r.name})));if(a.action==="SEARCH_PAGE_TYPE_ITEMS"){const r=h(a.data.pageType);return r?r.search?await r.search(a.data.query):this.backend.handleAction(a,e):{error:"Page type not found"}}const s=await this.backend.handleAction(a,e);return this.emit(a.action,s),s}emit(a,e){var n,o,c;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const s=l.get(e,"page");if(!s)return;const t=h(s.pageType);if(t)switch(a){case"CREATE_PAGE":return(n=t.onCreate)==null?void 0:n.call(t,s);case"UPDATE_PAGE":return(o=t.onUpdate)==null?void 0:o.call(t,s);case"DELETE_PAGE":return(c=t.onDelete)==null?void 0:c.call(t,s)}}setLanguageFromSlug(a){if(!this.getFallbackLang())throw new Error("Please set a fallback language using setFallbackLang(lang: string)");const e=l.first(a||[""]);Object.keys(L).includes(e)?this.setCurrentLang(e):this.setCurrentLang(this.getFallbackLang())}async resolvePageLink(a){if(!l.startsWith(a,"pageType:"))return a;const e=a.split(":")[1],s=a.split(":")[2],t=h(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=h(a);if(!s)return"/not-found";const t=this.isDraftMode(),n=this.getCurrentLang()===this.getFallbackLang()?"":this.getCurrentLang();return s.resolveLink?await s.resolveLink(e,t,n):await this.backend.handleAction({action:"GET_LINK",data:{pageType:a,id:e,draft:t,lang:n}})}async getPageBySlug(a){const e=this.isDraftMode(),s={};return E().forEach(t=>{l.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={}){var u;const s=this.isDraftMode(),t=this.getCurrentLang(),n=h(a),[o,c]=await Promise.all([this.getGlobalData(),((u=n==null?void 0:n.dataProvider)==null?void 0:u.call(n,{lang:t,draft:s,inBuilder:!1,pageProps:e}))||Promise.resolve({})]);return n?{...c,global:o}:{global:o}}async getGlobalData(){const a=this.getCurrentLang();return await S({lang:a,draft:this.isDraftMode(),inBuilder:!1})}async request(a){return await this.backend.handleAction(a)}}class B{constructor(a="",e=_){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 l.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 l.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 _="https://api.chaibuilder.com";exports.API_URL=_;exports.ChaiBuilderPages=M;exports.ChaiBuilderPagesBackend=B;exports.ChaiBuilderPagesUserManagement=y;exports.LANGUAGES=L;exports.getChaiGlobalData=S;exports.getChaiPageType=h;exports.getChaiPageTypes=E;exports.registerChaiGlobalDataProvider=U;exports.registerChaiPageType=P;exports.registerChaiPartialType=T;
|
package/dist/server.d.ts
CHANGED
|
@@ -74,10 +74,11 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
export declare interface ChaiBuilderPagesAssetsInterface {
|
|
77
|
-
upload({ file, folderId, name, }: {
|
|
77
|
+
upload({ file, folderId, name, optimize, }: {
|
|
78
78
|
name: string;
|
|
79
79
|
file: Base64URLString;
|
|
80
80
|
folderId?: string | null;
|
|
81
|
+
optimize?: boolean;
|
|
81
82
|
}, authToken: string): Promise<ChaiAsset | {
|
|
82
83
|
error: string;
|
|
83
84
|
}>;
|
package/dist/server.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var u = (i, a, e) =>
|
|
4
|
-
import { isEmpty as
|
|
1
|
+
var C = Object.defineProperty;
|
|
2
|
+
var L = (i, a, e) => a in i ? C(i, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[a] = e;
|
|
3
|
+
var u = (i, a, e) => L(i, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
+
import { isEmpty as p, get as y, first as _, startsWith as v, has as A } from "lodash-es";
|
|
5
5
|
const g = {}, U = (i, a) => {
|
|
6
6
|
g[i] = { key: i, ...a, hasSlug: !0 };
|
|
7
7
|
}, G = (i, a) => {
|
|
8
8
|
g[i] = { key: i, ...a, hasSlug: !1 };
|
|
9
|
-
},
|
|
9
|
+
}, b = () => Object.values(g), l = (i) => g[i];
|
|
10
10
|
let T = async (i) => ({
|
|
11
11
|
...i
|
|
12
12
|
});
|
|
@@ -354,7 +354,7 @@ class N {
|
|
|
354
354
|
});
|
|
355
355
|
}
|
|
356
356
|
setFallbackLang(a) {
|
|
357
|
-
if (
|
|
357
|
+
if (p(a))
|
|
358
358
|
throw new Error("Fallback language cannot be empty");
|
|
359
359
|
this.fallbackLang = a;
|
|
360
360
|
}
|
|
@@ -362,7 +362,7 @@ class N {
|
|
|
362
362
|
return this.fallbackLang;
|
|
363
363
|
}
|
|
364
364
|
setCurrentLang(a) {
|
|
365
|
-
if (
|
|
365
|
+
if (p(a))
|
|
366
366
|
throw new Error("Current language cannot be empty");
|
|
367
367
|
this.currentLang = a;
|
|
368
368
|
}
|
|
@@ -376,7 +376,7 @@ class N {
|
|
|
376
376
|
return this.draftMode;
|
|
377
377
|
}
|
|
378
378
|
async handle(a, e) {
|
|
379
|
-
var t, n, o, c, h, k, E, S,
|
|
379
|
+
var t, n, o, c, h, k, m, E, S, f, w;
|
|
380
380
|
switch (a.action) {
|
|
381
381
|
// Media
|
|
382
382
|
case "UPLOAD_ASSET":
|
|
@@ -384,7 +384,8 @@ class N {
|
|
|
384
384
|
{
|
|
385
385
|
file: a.data.file,
|
|
386
386
|
name: a.data.name,
|
|
387
|
-
folderId: a.data.folderId ?? null
|
|
387
|
+
folderId: a.data.folderId ?? null,
|
|
388
|
+
optimize: a.data.optimize ?? !0
|
|
388
389
|
},
|
|
389
390
|
e
|
|
390
391
|
);
|
|
@@ -408,13 +409,13 @@ class N {
|
|
|
408
409
|
a.data
|
|
409
410
|
);
|
|
410
411
|
case "LOGIN":
|
|
411
|
-
return (
|
|
412
|
+
return (m = this.chaiUsers) == null ? void 0 : m.login(
|
|
412
413
|
a.data
|
|
413
414
|
);
|
|
414
415
|
case "LOGOUT":
|
|
415
|
-
return (
|
|
416
|
+
return (E = this.chaiUsers) == null ? void 0 : E.logout();
|
|
416
417
|
case "CHECK_USER_STATUS":
|
|
417
|
-
return (
|
|
418
|
+
return (S = this.chaiUsers) == null ? void 0 : S.isUserActive(e);
|
|
418
419
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
419
420
|
return (f = this.chaiUsers) == null ? void 0 : f.getUserRoleAndPermissions(e);
|
|
420
421
|
case "GET_CHAI_USER":
|
|
@@ -443,7 +444,7 @@ class N {
|
|
|
443
444
|
}
|
|
444
445
|
if (a.action === "GET_PAGE_TYPES")
|
|
445
446
|
return Promise.all(
|
|
446
|
-
|
|
447
|
+
b().map(async (r) => ({
|
|
447
448
|
key: r.key,
|
|
448
449
|
helpText: r.helpText ?? "",
|
|
449
450
|
icon: r.icon ?? "",
|
|
@@ -465,7 +466,7 @@ class N {
|
|
|
465
466
|
emit(a, e) {
|
|
466
467
|
var n, o, c;
|
|
467
468
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
468
|
-
const s =
|
|
469
|
+
const s = y(e, "page");
|
|
469
470
|
if (!s) return;
|
|
470
471
|
const t = l(s.pageType);
|
|
471
472
|
if (t)
|
|
@@ -515,7 +516,7 @@ class N {
|
|
|
515
516
|
}
|
|
516
517
|
async getPageBySlug(a) {
|
|
517
518
|
const e = this.isDraftMode(), s = {};
|
|
518
|
-
return
|
|
519
|
+
return b().forEach((t) => {
|
|
519
520
|
A(t, "dynamicSegments") && t.dynamicSegments && (s[t.key] = t.dynamicSegments);
|
|
520
521
|
}), await this.backend.handleAction({
|
|
521
522
|
action: "GET_PAGE_META",
|
|
@@ -615,7 +616,7 @@ export {
|
|
|
615
616
|
I as LANGUAGES,
|
|
616
617
|
P as getChaiGlobalData,
|
|
617
618
|
l as getChaiPageType,
|
|
618
|
-
|
|
619
|
+
b as getChaiPageTypes,
|
|
619
620
|
K as registerChaiGlobalDataProvider,
|
|
620
621
|
U as registerChaiPageType,
|
|
621
622
|
G as registerChaiPartialType
|