@chaibuilder/pages 0.5.3 → 0.5.4
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--lNS1XOZ.cjs → B4MFY5CR-DLMF4Fia.cjs} +1 -1
- package/dist/{B4MFY5CR-SntV1tRS.js → B4MFY5CR-DlwPVpmD.js} +1 -1
- package/dist/{HO4MOOFI-Dtsz_siU.cjs → HO4MOOFI-CH5TIJEX.cjs} +1 -1
- package/dist/{HO4MOOFI-BqUF7yRt.js → HO4MOOFI-CTW4q_go.js} +2 -2
- package/dist/{HUY7CZI3-BQnbnmHI.js → HUY7CZI3-Bic9WgW9.js} +2 -2
- package/dist/{HUY7CZI3-D_CODqZw.cjs → HUY7CZI3-CvHF_hS5.cjs} +1 -1
- package/dist/index-BBnsUqd9.cjs +2 -0
- package/dist/index-Cmn1hFYF.js +9240 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.js +14 -10
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +14 -1
- package/dist/server.js +29 -25
- package/package.json +5 -5
- package/dist/digital-asset-manager-Biz2tg8j.js +0 -801
- package/dist/digital-asset-manager-_BA_7qEh.cjs +0 -1
- package/dist/index-B0BuMI6F.cjs +0 -2
- package/dist/index-cpLk6vnM.js +0 -8262
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-BBnsUqd9.cjs"),t=require("@chaibuilder/sdk");exports.ImagePicker=e.ImagePicker;exports.PermissionChecker=e.PermissionChecker;exports.default=e.ChaiBuilderPages;exports.registerChaiLoginComponent=e.registerLoginComponent;exports.useActivePage=e.useActivePage;exports.useChaiAuth=e.useChaiAuth;exports.useChaiCurrentPage=e.useCurrentPage;exports.useChaiFetch=e.useChaiFetch;exports.useChaiUserInfo=e.useChaiUserInfo;exports.useFallbackLang=e.useFallbackLang;exports.useFetch=e.useFetch;exports.useLanguagePages=e.useLanguagePages;exports.useUpdateActivePageMetadata=e.useUpdateActivePageMetadata;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
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ChaiBuilderEditorProps } from '@chaibuilder/sdk';
|
|
2
2
|
import { ComponentType } from 'react';
|
|
3
|
+
import { default as default_2 } from 'react';
|
|
3
4
|
import { DefinedUseQueryResult } from '@tanstack/react-query';
|
|
4
5
|
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
5
6
|
import { ReactNode } from 'react';
|
|
6
7
|
import { RESET } from 'jotai/utils';
|
|
8
|
+
import { UseMutationResult } from '@tanstack/react-query';
|
|
7
9
|
import { UseQueryResult } from '@tanstack/react-query';
|
|
8
10
|
|
|
9
11
|
declare const ChaiBuilderPages: (props: ChaiBuilderPagesProps) => JSX_2.Element;
|
|
@@ -14,7 +16,8 @@ declare type ChaiBuilderPagesProps = {
|
|
|
14
16
|
apiUrl?: string;
|
|
15
17
|
usersApiUrl?: string;
|
|
16
18
|
assetsApiUrl?: string;
|
|
17
|
-
getPreviewUrl?: (
|
|
19
|
+
getPreviewUrl?: (slug: string) => string;
|
|
20
|
+
getLiveUrl?: (slug: string) => string;
|
|
18
21
|
onLogout?: () => void;
|
|
19
22
|
} & Pick<ChaiBuilderEditorProps, "onError" | "translations" | "locale" | "htmlDir" | "autoSaveSupport" | "autoSaveInterval" | "fallbackLang" | "languages" | "themePresets">;
|
|
20
23
|
|
|
@@ -24,6 +27,20 @@ declare type ChaiWebsiteSetting = {
|
|
|
24
27
|
theme: Record<"fontFamily" | "borderRadius" | "colors", any>;
|
|
25
28
|
};
|
|
26
29
|
|
|
30
|
+
export declare const ImagePicker: default_2.FC<ImagePickerProps>;
|
|
31
|
+
|
|
32
|
+
declare interface ImagePickerProps {
|
|
33
|
+
assetId?: string;
|
|
34
|
+
assetUrl?: string;
|
|
35
|
+
onChange: (value: {
|
|
36
|
+
url: string;
|
|
37
|
+
id: string;
|
|
38
|
+
}) => void;
|
|
39
|
+
className?: string;
|
|
40
|
+
placeholder?: string;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
27
44
|
declare type LoggedInUser = {
|
|
28
45
|
accessToken: string;
|
|
29
46
|
refreshToken: string;
|
|
@@ -42,6 +59,11 @@ export declare const PermissionChecker: ({ permission, permissions, children, fa
|
|
|
42
59
|
|
|
43
60
|
export declare const registerChaiLoginComponent: (component: ComponentType) => void;
|
|
44
61
|
|
|
62
|
+
export declare const useActivePage: () => {
|
|
63
|
+
data: any;
|
|
64
|
+
isFetching: boolean;
|
|
65
|
+
};
|
|
66
|
+
|
|
45
67
|
export declare const useChaiAuth: () => {
|
|
46
68
|
readonly isLoggedIn: boolean;
|
|
47
69
|
readonly user: LoggedInUser | null;
|
|
@@ -68,6 +90,8 @@ email: string;
|
|
|
68
90
|
avatar: string;
|
|
69
91
|
}, Error>;
|
|
70
92
|
|
|
93
|
+
export declare const useFallbackLang: () => string;
|
|
94
|
+
|
|
71
95
|
export declare const useFetch: () => (url: string, body: {
|
|
72
96
|
action: string;
|
|
73
97
|
data?: any;
|
|
@@ -75,6 +99,8 @@ export declare const useFetch: () => (url: string, body: {
|
|
|
75
99
|
|
|
76
100
|
export declare const useLanguagePages: () => DefinedUseQueryResult<any[] | null, Error>;
|
|
77
101
|
|
|
102
|
+
export declare const useUpdateActivePageMetadata: () => UseMutationResult<any, Error, Record<string, any>, unknown>;
|
|
103
|
+
|
|
78
104
|
export declare const useUserPermissions: () => UseQueryResult<any, Error>;
|
|
79
105
|
|
|
80
106
|
export declare const useWebsitePages: () => UseQueryResult<any, Error>;
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { a0 as s, _ as i, a1 as r, a6 as
|
|
1
|
+
import { a0 as s, _ as t, W as i, a1 as u, X as r, a6 as g, a2 as n, a8 as o, aa as h, Y as C, a9 as P, a3 as c, Z as m, a7 as f, a4 as p, a5 as b } from "./index-Cmn1hFYF.js";
|
|
2
2
|
export * from "@chaibuilder/sdk";
|
|
3
3
|
export {
|
|
4
|
-
s as
|
|
4
|
+
s as ImagePicker,
|
|
5
|
+
t as PermissionChecker,
|
|
5
6
|
i as default,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
u as registerChaiLoginComponent,
|
|
8
|
+
r as useActivePage,
|
|
9
|
+
g as useChaiAuth,
|
|
10
|
+
n as useChaiCurrentPage,
|
|
9
11
|
o as useChaiFetch,
|
|
10
12
|
h as useChaiUserInfo,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
m as
|
|
15
|
-
|
|
13
|
+
C as useFallbackLang,
|
|
14
|
+
P as useFetch,
|
|
15
|
+
c as useLanguagePages,
|
|
16
|
+
m as useUpdateActivePageMetadata,
|
|
17
|
+
f as useUserPermissions,
|
|
18
|
+
p as useWebsitePages,
|
|
19
|
+
b as useWebsiteSetting
|
|
16
20
|
};
|
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");let y=async i=>({...i});const I=i=>{y=i},T=async i=>{try{return await y(i)}catch(a){return console.error(a),{}}},w={},L=()=>Object.values(w),m=i=>w[i],b=(i,a)=>{w[i]={key:i,...a,hasSlug:!0}},v=(i,a)=>{w[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 H=()=>Object.values(P),_=i=>c.get(P,i),G={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: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 U{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))}}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 U(this.backend),this.chaiAssets=s??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){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 n=await T({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:n}:{global:n}}if(a.action==="GET_PAGE_TYPES")return Promise.all(L().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=m(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 H().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=_(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=m(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(G).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=m(e);return t?await this.resolveLink(t.key,s):a}async resolveLink(a,e){const s=m(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 L().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=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:n})=>{const u=_(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,...A}:{global:f,...A}}async getGlobalData(){const a=this.getCurrentLang();return await T({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=U;exports.LANGUAGES=G;exports.registerChaiCollection=R;exports.registerChaiGlobalDataProvider=I;exports.registerChaiPageType=b;exports.registerChaiPartialType=v;
|
|
1
|
+
"use strict";var M=Object.defineProperty;var O=(i,a,e)=>a in i?M(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var k=(i,a,e)=>O(i,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),I=require("@chaibuilder/runtime");let _=async i=>({...i});const R=i=>{_=i},L=async i=>{try{return await _(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),y=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: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 D{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))}}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 D(this.backend),this.chaiAssets=s??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){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,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(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(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 n=await L({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 G().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=y(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=I.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=y(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}`]:c.get(d,"items",[])??[]})}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 L({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 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 B="https://api.chaibuilder.com";exports.API_URL=B;exports.ChaiBuilderPages=N;exports.ChaiBuilderPagesBackend=j;exports.ChaiBuilderPagesUserManagement=D;exports.LANGUAGES=U;exports.getChaiCollection=y;exports.getChaiCollections=G;exports.getChaiPageType=A;exports.getChaiPageTypes=T;exports.registerChaiCollection=H;exports.registerChaiGlobalDataProvider=R;exports.registerChaiPageType=b;exports.registerChaiPartialType=v;
|
package/dist/server.d.ts
CHANGED
|
@@ -247,7 +247,10 @@ declare interface CollectionConfig<T> {
|
|
|
247
247
|
id: string;
|
|
248
248
|
name: string;
|
|
249
249
|
}[];
|
|
250
|
-
fetch: (params: CollectionFetchParams) => Promise<
|
|
250
|
+
fetch: (params: CollectionFetchParams) => Promise<{
|
|
251
|
+
items: T[];
|
|
252
|
+
totalItems?: number;
|
|
253
|
+
}>;
|
|
251
254
|
}
|
|
252
255
|
|
|
253
256
|
declare type CollectionFetchParams = {
|
|
@@ -262,6 +265,14 @@ declare type CollectionFetchParams = {
|
|
|
262
265
|
};
|
|
263
266
|
};
|
|
264
267
|
|
|
268
|
+
export declare const getChaiCollection: (key: string) => CollectionConfig<any>;
|
|
269
|
+
|
|
270
|
+
export declare const getChaiCollections: () => CollectionConfig<any>[];
|
|
271
|
+
|
|
272
|
+
export declare const getChaiPageType: (key: keyof typeof PAGE_TYPES) => ChaiBuilderPageType;
|
|
273
|
+
|
|
274
|
+
export declare const getChaiPageTypes: () => ChaiBuilderPageType[];
|
|
275
|
+
|
|
265
276
|
export declare const LANGUAGES: {
|
|
266
277
|
[key: string]: string;
|
|
267
278
|
};
|
|
@@ -275,6 +286,8 @@ export declare interface LoggedInUser {
|
|
|
275
286
|
avatar?: string;
|
|
276
287
|
}
|
|
277
288
|
|
|
289
|
+
declare const PAGE_TYPES: Record<string, ChaiBuilderPageType>;
|
|
290
|
+
|
|
278
291
|
export declare type PageTypeSearchResult = {
|
|
279
292
|
id: string;
|
|
280
293
|
name: string;
|
package/dist/server.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
var G = Object.defineProperty;
|
|
2
2
|
var U = (i, a, e) => a in i ? G(i, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[a] = e;
|
|
3
3
|
var p = (i, a, e) => U(i, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
-
import { has as k, get as
|
|
4
|
+
import { has as k, get as T, isEmpty as L, omit as D, isFunction as M, first as O, startsWith as B } from "lodash-es";
|
|
5
5
|
import { getRegisteredChaiBlock as I } from "@chaibuilder/runtime";
|
|
6
6
|
let v = async (i) => ({
|
|
7
7
|
...i
|
|
8
8
|
});
|
|
9
9
|
const $ = (i) => {
|
|
10
10
|
v = i;
|
|
11
|
-
},
|
|
11
|
+
}, _ = async (i) => {
|
|
12
12
|
try {
|
|
13
13
|
return await v(i);
|
|
14
14
|
} catch (a) {
|
|
15
15
|
return console.error(a), {};
|
|
16
16
|
}
|
|
17
|
-
}, P = {},
|
|
17
|
+
}, P = {}, b = () => Object.values(P), m = (i) => P[i], H = (i, a) => {
|
|
18
18
|
P[i] = { key: i, ...a, hasSlug: !0 };
|
|
19
19
|
}, K = (i, a) => {
|
|
20
20
|
P[i] = { key: i, ...a, hasSlug: !1 };
|
|
@@ -22,7 +22,7 @@ const $ = (i) => {
|
|
|
22
22
|
function Y(i, a) {
|
|
23
23
|
k(w, i) && console.warn(`Collection ${i} already registered`), w[i] = { ...a, id: i };
|
|
24
24
|
}
|
|
25
|
-
const R = () => Object.values(w),
|
|
25
|
+
const R = () => Object.values(w), y = (i) => T(w, i), N = {
|
|
26
26
|
ab: "Abkhazian",
|
|
27
27
|
aa: "Afar",
|
|
28
28
|
af: "Afrikaans",
|
|
@@ -359,7 +359,7 @@ class W {
|
|
|
359
359
|
});
|
|
360
360
|
}
|
|
361
361
|
setFallbackLang(a) {
|
|
362
|
-
if (
|
|
362
|
+
if (L(a))
|
|
363
363
|
throw new Error("Fallback language cannot be empty");
|
|
364
364
|
this.fallbackLang = a;
|
|
365
365
|
}
|
|
@@ -367,7 +367,7 @@ class W {
|
|
|
367
367
|
return this.fallbackLang;
|
|
368
368
|
}
|
|
369
369
|
setCurrentLang(a) {
|
|
370
|
-
if (
|
|
370
|
+
if (L(a))
|
|
371
371
|
throw new Error("Current language cannot be empty");
|
|
372
372
|
this.currentLang = a;
|
|
373
373
|
}
|
|
@@ -381,7 +381,7 @@ class W {
|
|
|
381
381
|
return this.draftMode;
|
|
382
382
|
}
|
|
383
383
|
async handle(a, e) {
|
|
384
|
-
var t, r, o, c, d,
|
|
384
|
+
var t, r, o, c, d, A, E, f, u, C, l;
|
|
385
385
|
switch (a.action) {
|
|
386
386
|
// Media
|
|
387
387
|
case "UPLOAD_ASSET":
|
|
@@ -410,7 +410,7 @@ class W {
|
|
|
410
410
|
return (d = this.chaiAssets) == null ? void 0 : d.updateAsset(a.data, e);
|
|
411
411
|
// Users
|
|
412
412
|
case "REFRESH_TOKEN":
|
|
413
|
-
return (
|
|
413
|
+
return (A = this.chaiUsers) == null ? void 0 : A.refreshToken(
|
|
414
414
|
a.data
|
|
415
415
|
);
|
|
416
416
|
case "LOGIN":
|
|
@@ -430,11 +430,11 @@ class W {
|
|
|
430
430
|
);
|
|
431
431
|
}
|
|
432
432
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
433
|
-
const s = await
|
|
433
|
+
const s = await _({
|
|
434
434
|
lang: a.data.lang,
|
|
435
435
|
draft: !0,
|
|
436
436
|
inBuilder: !0
|
|
437
|
-
}), h =
|
|
437
|
+
}), h = m(
|
|
438
438
|
a.data.pageType
|
|
439
439
|
);
|
|
440
440
|
return h ? {
|
|
@@ -449,7 +449,7 @@ class W {
|
|
|
449
449
|
}
|
|
450
450
|
if (a.action === "GET_PAGE_TYPES")
|
|
451
451
|
return Promise.all(
|
|
452
|
-
|
|
452
|
+
b().map(async (s) => ({
|
|
453
453
|
key: s.key,
|
|
454
454
|
helpText: s.helpText ?? "",
|
|
455
455
|
icon: s.icon ?? "",
|
|
@@ -460,7 +460,7 @@ class W {
|
|
|
460
460
|
}))
|
|
461
461
|
);
|
|
462
462
|
if (a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
463
|
-
const s =
|
|
463
|
+
const s = m(
|
|
464
464
|
a.data.pageType
|
|
465
465
|
);
|
|
466
466
|
return s ? s.search ? await s.search(a.data.query) : this.backend.handleAction(a, e) : { error: "Page type not found" };
|
|
@@ -472,7 +472,7 @@ class W {
|
|
|
472
472
|
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
473
473
|
const s = a.data.block, h = s._type;
|
|
474
474
|
if (h === "Repeater" && (s != null && s.repeaterItems.includes("{{#"))) {
|
|
475
|
-
const g = s.repeaterItems.replace("{{#", "").replace("}}", ""), S =
|
|
475
|
+
const g = s.repeaterItems.replace("{{#", "").replace("}}", ""), S = y(g);
|
|
476
476
|
return S ? await (S == null ? void 0 : S.fetch({
|
|
477
477
|
block: s,
|
|
478
478
|
pageProps: a.data.pageProps,
|
|
@@ -497,9 +497,9 @@ class W {
|
|
|
497
497
|
emit(a, e) {
|
|
498
498
|
var r, o, c;
|
|
499
499
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
500
|
-
const n =
|
|
500
|
+
const n = T(e, "page");
|
|
501
501
|
if (!n) return;
|
|
502
|
-
const t =
|
|
502
|
+
const t = m(n.pageType);
|
|
503
503
|
if (t)
|
|
504
504
|
switch (a) {
|
|
505
505
|
case "CREATE_PAGE":
|
|
@@ -527,11 +527,11 @@ class W {
|
|
|
527
527
|
async resolvePageLink(a) {
|
|
528
528
|
if (!B(a, "pageType:"))
|
|
529
529
|
return a;
|
|
530
|
-
const e = a.split(":")[1], n = a.split(":")[2], t =
|
|
530
|
+
const e = a.split(":")[1], n = a.split(":")[2], t = m(e);
|
|
531
531
|
return t ? await this.resolveLink(t.key, n) : a;
|
|
532
532
|
}
|
|
533
533
|
async resolveLink(a, e) {
|
|
534
|
-
const n =
|
|
534
|
+
const n = m(a);
|
|
535
535
|
if (!n)
|
|
536
536
|
return "/not-found";
|
|
537
537
|
const t = this.isDraftMode(), r = this.getCurrentLang() === this.getFallbackLang() ? "" : this.getCurrentLang();
|
|
@@ -547,7 +547,7 @@ class W {
|
|
|
547
547
|
}
|
|
548
548
|
async getPageBySlug(a) {
|
|
549
549
|
const e = this.isDraftMode(), n = {};
|
|
550
|
-
return
|
|
550
|
+
return b().forEach((t) => {
|
|
551
551
|
k(t, "dynamicSegments") && t.dynamicSegments && (n[t.key] = t.dynamicSegments);
|
|
552
552
|
}), await this.backend.handleAction({
|
|
553
553
|
action: "GET_PAGE_META",
|
|
@@ -575,7 +575,7 @@ class W {
|
|
|
575
575
|
}
|
|
576
576
|
async getPageData(a, e, n) {
|
|
577
577
|
var f;
|
|
578
|
-
const t = this.isDraftMode(), r = this.getCurrentLang(), o =
|
|
578
|
+
const t = this.isDraftMode(), r = this.getCurrentLang(), o = m(e), c = a.filter(
|
|
579
579
|
(u) => u._type === "Repeater" && (u == null ? void 0 : u.repeaterItems.includes("{{#"))
|
|
580
580
|
);
|
|
581
581
|
let d = {};
|
|
@@ -583,7 +583,7 @@ class W {
|
|
|
583
583
|
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
584
584
|
d = (await Promise.all(
|
|
585
585
|
u.map(async ({ collectionId: l, block: s }) => {
|
|
586
|
-
const h =
|
|
586
|
+
const h = y(l);
|
|
587
587
|
try {
|
|
588
588
|
const g = await (h == null ? void 0 : h.fetch({
|
|
589
589
|
lang: r,
|
|
@@ -593,7 +593,7 @@ class W {
|
|
|
593
593
|
block: s
|
|
594
594
|
}));
|
|
595
595
|
return Promise.resolve({
|
|
596
|
-
[`#${l}/${s._id}`]: g ?? []
|
|
596
|
+
[`#${l}/${s._id}`]: T(g, "items", []) ?? []
|
|
597
597
|
});
|
|
598
598
|
} catch {
|
|
599
599
|
return Promise.resolve({
|
|
@@ -603,7 +603,7 @@ class W {
|
|
|
603
603
|
})
|
|
604
604
|
)).reduce((l, s) => ({ ...l, ...s }), {});
|
|
605
605
|
}
|
|
606
|
-
const [
|
|
606
|
+
const [A, E] = await Promise.all([
|
|
607
607
|
this.getGlobalData(),
|
|
608
608
|
((f = o == null ? void 0 : o.dataProvider) == null ? void 0 : f.call(o, {
|
|
609
609
|
lang: r,
|
|
@@ -614,13 +614,13 @@ class W {
|
|
|
614
614
|
]);
|
|
615
615
|
return o ? {
|
|
616
616
|
...E,
|
|
617
|
-
global:
|
|
617
|
+
global: A,
|
|
618
618
|
...d
|
|
619
|
-
} : { global:
|
|
619
|
+
} : { global: A, ...d };
|
|
620
620
|
}
|
|
621
621
|
async getGlobalData() {
|
|
622
622
|
const a = this.getCurrentLang();
|
|
623
|
-
return await
|
|
623
|
+
return await _({
|
|
624
624
|
lang: a,
|
|
625
625
|
draft: this.isDraftMode(),
|
|
626
626
|
inBuilder: !1
|
|
@@ -674,6 +674,10 @@ export {
|
|
|
674
674
|
q as ChaiBuilderPagesBackend,
|
|
675
675
|
F as ChaiBuilderPagesUserManagement,
|
|
676
676
|
N as LANGUAGES,
|
|
677
|
+
y as getChaiCollection,
|
|
678
|
+
R as getChaiCollections,
|
|
679
|
+
m as getChaiPageType,
|
|
680
|
+
b as getChaiPageTypes,
|
|
677
681
|
Y as registerChaiCollection,
|
|
678
682
|
$ as registerChaiGlobalDataProvider,
|
|
679
683
|
H as registerChaiPageType,
|
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.4",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"test": "vitest"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@chaibuilder/runtime": "2.
|
|
58
|
-
"@chaibuilder/sdk": "2.2.
|
|
57
|
+
"@chaibuilder/runtime": "2.2.0",
|
|
58
|
+
"@chaibuilder/sdk": "2.2.30",
|
|
59
59
|
"@types/react": "*",
|
|
60
60
|
"@types/react-dom": "*",
|
|
61
61
|
"react": "^18.0 || ^19.0 || ^19.1",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@chaibuilder/runtime": "2.
|
|
74
|
-
"@chaibuilder/sdk": "2.2.
|
|
73
|
+
"@chaibuilder/runtime": "2.2.0",
|
|
74
|
+
"@chaibuilder/sdk": "2.2.30",
|
|
75
75
|
"@mhsdesign/jit-browser-tailwindcss": "^0.4.2",
|
|
76
76
|
"@tailwindcss/aspect-ratio": "^0.4.2",
|
|
77
77
|
"@tailwindcss/forms": "^0.5.10",
|