@chaibuilder/pages 0.1.0-beta.13 → 0.1.0-beta.131

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/pages.css ADDED
@@ -0,0 +1 @@
1
+ :root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}.sheet-hide-close-btn>button{display:none!important}.no-scrollbar{-ms-overflow-style:none!important;scrollbar-width:none!important}.no-scrollbar::-webkit-scrollbar{display:none!important}[role=treeitem]:focus-visible{outline-width:0px!important}.rjsf input[type=color]{margin-top:-.25rem!important;width:3.5rem!important;border-style:none!important;padding:0!important}.rjsf{padding-left:0;padding-right:0}.rjsf .form-group{display:flex;flex-direction:column}.rjsf .form-group label{font-size:.75rem;line-height:1rem;font-weight:400;color:hsl(var(--muted-foreground))}.rjsf .form-group select{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group select::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group select::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group select:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group select:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group input{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rjsf .form-group input::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group input::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group input:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group input:disabled{cursor:not-allowed;opacity:.5}.rjsf .form-group>textarea{margin-top:.25rem;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-ms-overflow-style:none;scrollbar-width:none}.rjsf .form-group>textarea::-webkit-scrollbar{display:none}.rjsf .form-group>textarea::file-selector-button{border-width:0px;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500}.rjsf .form-group>textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea::placeholder{color:hsl(var(--muted-foreground))}.rjsf .form-group>textarea:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: hsl(var(--ring))}.rjsf .form-group>textarea:disabled{cursor:not-allowed;opacity:.5}.rjsf>div>button[type=submit]{display:none}.rjsf>.form-group>fieldset>*{margin-bottom:.5rem;border-style:none;border-color:hsl(var(--border));padding-bottom:.25rem;padding-top:.25rem}.rjsf .form-group>.checkbox>label>span{margin-top:.25rem}.rjsf .form-group>.checkbox>label{display:flex;align-items:center;-moz-column-gap:.5rem;column-gap:.5rem}.array-item-list .array-item{position:relative;border-radius:.25rem;border-width:1px;padding:.5rem .5rem .75rem}.field-array>legend{display:none}.field-object>fieldset>legend{display:none}.field-object>fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{border-color:hsl(var(--border))!important;outline:2px solid transparent!important;outline-offset:2px!important;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important;--tw-ring-color: transparent !important}.rjsf [type=checkbox]{width:1.5rem!important;padding:0!important}.rjsf [type=checkbox]:checked{background-color:hsl(var(--primary))}.array-item-list>:not([hidden])~:not([hidden]){margin-top:15px}.array-item-toolbox>.btn-group{position:absolute;bottom:-.625rem;right:0;z-index:50;border-radius:.25rem;border-width:1px;border-color:hsl(var(--border))}.array-item-toolbox>.btn-group>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;--tw-divide-opacity: 1}.array-item-toolbox>.btn-group{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.array-item-toolbox>.btn-group>.btn{display:flex;cursor:pointer;align-items:center;justify-content:center;font-size:.6rem;line-height:1rem}.array-item-toolbox>.btn-group>.btn:hover:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.btn.btn-danger.array-item-remove:before{font-size:.6rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity));--tw-content: "✖";content:var(--tw-content)}.btn.btn-default.array-item-move-up:before{--tw-text-opacity: 1;--tw-content: "↑"}.btn.btn-default.array-item-move-down:before,.btn.btn-default.array-item-move-up:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));color:rgb(17 24 39 / var(--tw-text-opacity));content:var(--tw-content)}.btn.btn-default.array-item-move-down:before{--tw-text-opacity: 1;--tw-content: "↓"}
package/dist/runtime.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@chaibuilder/runtime"),r=require("@chaibuilder/runtime/controls");Object.keys(t).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});Object.keys(r).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@chaibuilder/runtime");Object.keys(t).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>t[e]})});
package/dist/runtime.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
 
2
2
  export * from "@chaibuilder/runtime";
3
- export * from "@chaibuilder/runtime/controls";
4
3
 
5
4
  export { }
package/dist/runtime.js CHANGED
@@ -1,2 +1 @@
1
1
  export * from "@chaibuilder/runtime";
2
- export * from "@chaibuilder/runtime/controls";
package/dist/server.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var d=Object.defineProperty;var m=(i,e,a)=>e in i?d(i,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[e]=a;var u=(i,e,a)=>m(i,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-es"),k="https://api.chaibuilder.com",y=async(i,e)=>{try{const a=new Headers;a.append("x-chai-api-key",e);const s={headers:a,method:"POST",body:JSON.stringify(i)},n=await fetch(k+"/v1/api/chai",s);if(n.ok)return{data:await n.json()};throw new Error("Failed to handle request: "+n.statusText)}catch(a){return{error:a}}},o={},c=(i,e)=>{o[i]={key:i,...e}},g=()=>Object.values(o),r=i=>o[i],p={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"},t="https://api.chaibuilder.com";class S{constructor(e){u(this,"currentLang","");this.apiKey=e,c("pages",{name:"Pages",search:async a=>(await fetch(`${t}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"SEARCH_PAGES",data:{query:a}}),headers:{"x-chai-api-key":this.apiKey}})).json(),resolveLink:async(a,s)=>{const h=await(await fetch(`${t}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_LINK",data:{id:a,lang:s}}),headers:{"x-chai-api-key":this.apiKey}})).json();return l.get(h,"slug","")}})}setCurrentLang(e){this.currentLang=e}getCurrentLang(){return this.currentLang}setLanguageFromSlug(e){const a=l.first(e||[""]),s=Object.keys(p);s.includes(a)||s.some(n=>a.startsWith(n))?this.setCurrentLang(a):this.setCurrentLang("")}async handle(e){if(e.action==="GET_COLLECTIONS")return g().map(a=>({key:a.key,name:a.name,urlIdentifier:a.urlIdentifier}));if(e.action==="SEARCH_COLLECTION_ITEMS"){const a=r(e.data.collection);return a?await(a==null?void 0:a.search(e.data.query)):{error:"Collection not found"}}return await y(e,this.apiKey)}async resolveLink(e,a,s=""){const n=r(e);return n?await(n==null?void 0:n.resolveLink(a,s||this.currentLang)):""}async getPageMeta(e){return(await fetch(`${t}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE_META",data:{slug:e,published:!0}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getPage(e){return(await fetch(`${t}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE",data:{id:e,published:!0,mergeGlobal:!0}}),headers:{"x-chai-api-key":this.apiKey}})).json()}}exports.ChaiBuilderPages=S;exports.getCollection=r;exports.getCollections=g;exports.registerCollection=c;
1
+ "use strict";var k=Object.defineProperty;var S=(r,a,t)=>a in r?k(r,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[a]=t;var l=(r,a,t)=>S(r,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),y="https://api.chaibuilder.com",w=async(r,a,t,n=y)=>{try{const e=new Headers;e.append("x-chai-api-key",a),e.append("x-chai-user",t);const i={headers:e,method:"POST",body:JSON.stringify(r),cache:"no-store"},s=await fetch(n+"/v1/api/chai",i);if(s.ok)return await s.json();{const o=await s.json();throw new Error((o==null?void 0:o.error)||s.statusText)}}catch(e){return{error:e.message}}},E={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"},m={},u=(r,a)=>{m[r]={key:r,...a}},g=()=>Object.values(m),h=r=>m[r];let p=async(r,a=!1,t=!1)=>({lang:r,isDraft:a,inBuilder:t});const C=r=>p=r,d=async(r,a,t)=>await p(r,a,t),b="https://api.chaibuilder.com";class P{constructor(a,t=b){l(this,"fallbackLang","");l(this,"currentLang","");l(this,"draftMode",!1);this.apiKey=a,this.apiUrl=t,u("page",{name:"Static Page",icon:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M5 8V20H19V8H5ZM5 6H19V4H5V6ZM20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM7 10H11V14H7V10ZM7 16H17V18H7V16ZM13 11H17V13H13V11Z"></path></svg>'}),u("global",{name:"Global Block",helpText:"A global block can be reused in multiple pages.",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-4 h-4 text-slate-500 stroke-[1]"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>'})}setFallbackLang(a){this.fallbackLang=a}getFallbackLang(){return this.fallbackLang}setCurrentLang(a){this.currentLang=a}getCurrentLang(){return this.currentLang}setDraftMode(a){this.draftMode=a}isDraftMode(){return this.draftMode}async handle(a,t){if(a.action==="GET_BUILDER_PAGE_DATA"){const e=await d(a.data.lang,!0,!0),i=h(a.data.pageType);return i?{...i.dataProvider?await i.dataProvider({},a.data.lang,!0,!0):{},global:e}:{global:e}}if(a.action==="GET_PAGE_TYPES"||a.action==="GET_COLLECTIONS")return Promise.all(g().map(async e=>({key:e.key,helpText:e.helpText??"",icon:e.icon??"",dynamicSegments:e.dynamicSegments??"",dynamicSlug:e.dynamicSlug??"",name:typeof e.name=="function"?await e.name():e.name})));if(a.action==="SEARCH_COLLECTION_ITEMS"||a.action==="SEARCH_PAGE_TYPE_ITEMS"){const e=h(a.data.pageType);return e?e.search?await e.search(a.data.query):await(await fetch(`${this.apiUrl}/v1/api/chai`,{cache:"no-store",method:"POST",body:JSON.stringify({action:"SEARCH_PAGES",data:{query:a.data.query,pageType:a.data.pageType}}),headers:{"x-chai-api-key":this.apiKey}})).json():{error:"Page type not found"}}const n=await w(a,this.apiKey,t,this.apiUrl);return this.emit(a.action,n),n}emit(a,t){var i,s,o;if(!["CREATE_PAGE","UPDATE_PAGE","DELETE_PAGE"].includes(a))return;const n=c.get(t,"page");if(!n)return;const e=h(n.pageType);if(e)switch(a){case"CREATE_PAGE":return(i=e.onCreate)==null?void 0:i.call(e,n);case"UPDATE_PAGE":return(s=e.onUpdate)==null?void 0:s.call(e,n);case"DELETE_PAGE":return(o=e.onDelete)==null?void 0:o.call(e,n)}}setLanguageFromSlug(a){const t=c.first(a||[""]);Object.keys(E).includes(t)?this.setCurrentLang(t):this.setCurrentLang("")}async getPageTypeFromSlug(a){return a==="/"||a===`/${this.getCurrentLang()}`,"page"}async resolveLink(a,t){const n=h(a);if(!n)return"/not-found";const e=this.isDraftMode(),i=this.getCurrentLang();if(n.resolveLink)return await n.resolveLink(t,e,i);const o=await(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_LINK",data:{pageType:a,id:t,draft:e,...i?{lang:i}:{}}}),headers:{"x-chai-api-key":this.apiKey}})).json();return c.get(o,"link","/not-found")}async getPageBySlug(a){const t=this.isDraftMode(),n={};return g().forEach(i=>{c.has(i,"dynamicSegments")&&i.dynamicSegments&&(n[i.key]=i.dynamicSegments)}),(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE_META",data:{slug:a,draft:t,dynamicSegments:n}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getFullPage(a){const t=this.isDraftMode(),n=this.getCurrentLang();return(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE",data:{id:a,lang:n,draft:t,mergeGlobal:!0}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getSiteSettings(){const a=this.isDraftMode();return(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_WEBSITE_SETTINGS",data:{draft:a}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getPageData(a,t){var f;const n=this.isDraftMode(),e=this.getCurrentLang(),i=h(a),[s,o]=await Promise.all([this.getGlobalData(),((f=i==null?void 0:i.dataProvider)==null?void 0:f.call(i,t,e,n))||Promise.resolve({})]);return i?{...o,global:s}:{global:s}}async getGlobalData(){const a=this.getCurrentLang();return await d(a,this.isDraftMode())}}exports.ChaiBuilderPages=P;exports.getChaiGlobalData=d;exports.getChaiPageType=h;exports.getChaiPageTypes=g;exports.registerChaiGlobalDataProvider=C;exports.registerChaiPageType=u;
package/dist/server.d.ts CHANGED
@@ -1,34 +1,70 @@
1
+ export declare type ChaiBuilderPage = {
2
+ id: string;
3
+ slug: string;
4
+ name: string;
5
+ lang: string;
6
+ online: boolean;
7
+ seo: Record<string, any>;
8
+ };
9
+
1
10
  export declare class ChaiBuilderPages {
2
11
  private apiKey;
12
+ private apiUrl;
13
+ private fallbackLang;
3
14
  private currentLang;
4
- constructor(apiKey: string);
15
+ private draftMode;
16
+ constructor(apiKey: string, apiUrl?: string);
17
+ setFallbackLang(lang: string): void;
18
+ getFallbackLang(): string;
5
19
  setCurrentLang(lang: string): void;
6
20
  getCurrentLang(): string;
21
+ setDraftMode(draft: boolean): void;
22
+ isDraftMode(): boolean;
23
+ handle(body: any, chaiUser: string): Promise<any>;
24
+ emit(action: string, data: any): Promise<void> | undefined;
7
25
  setLanguageFromSlug(slug: string[]): void;
8
- handle(body: any): Promise<any>;
9
- resolveLink(collectionKey: string, id: string, lang?: string): Promise<string>;
10
- getPageMeta(slug: string): Promise<any>;
11
- getPage(id: string): Promise<any>;
26
+ getPageTypeFromSlug(slug: string): Promise<string>;
27
+ resolveLink(pageTypeKey: string, id: string): Promise<any>;
28
+ getPageBySlug(slug: string): Promise<any>;
29
+ getFullPage(id: string): Promise<any>;
30
+ getSiteSettings(): Promise<any>;
31
+ getPageData(pageType: string, props: any): Promise<{
32
+ global: any;
33
+ }>;
34
+ getGlobalData(): Promise<any>;
12
35
  }
13
36
 
14
- export declare type Collection = {
37
+ export declare type ChaiBuilderPageType = {
15
38
  key: string;
16
- name: string;
17
- urlIdentifier?: string;
18
- search: (query: string) => Promise<CollectionItem[] | Error>;
19
- resolveLink: (id: string, lang?: string) => Promise<string>;
39
+ helpText?: string;
40
+ icon?: string;
41
+ name: string | (() => Promise<string>);
42
+ dynamicSegments?: string;
43
+ dynamicSlug?: string;
44
+ search?: (query: string) => Promise<PageTypeSearchResult[] | Error>;
45
+ resolveLink?: (id: string, draft?: boolean, lang?: string) => Promise<string>;
46
+ onCreate?: (data: Omit<ChaiBuilderPage, "seo">) => Promise<void>;
47
+ onUpdate?: (data: ChaiBuilderPage) => Promise<void>;
48
+ onDelete?: (data: Pick<ChaiBuilderPage, "id">) => Promise<void>;
49
+ dataProvider?: (props: any, lang: string, isDraft?: boolean, inBuilder?: boolean) => Promise<Record<string, any>>;
20
50
  };
21
51
 
22
- export declare type CollectionItem = {
52
+ export declare const getChaiGlobalData: (lang: string, isDraft?: boolean, inBuilder?: boolean) => Promise<any>;
53
+
54
+ export declare const getChaiPageType: (key: keyof typeof PAGE_TYPES) => ChaiBuilderPageType;
55
+
56
+ export declare const getChaiPageTypes: () => ChaiBuilderPageType[];
57
+
58
+ declare const PAGE_TYPES: Record<string, ChaiBuilderPageType>;
59
+
60
+ export declare type PageTypeSearchResult = {
23
61
  id: string;
24
62
  name: string;
25
63
  slug?: string;
26
64
  };
27
65
 
28
- export declare const getCollection: (key: string) => Collection;
29
-
30
- export declare const getCollections: () => Collection[];
66
+ export declare const registerChaiGlobalDataProvider: <T>(globalDataProvider: (lang: string, draft?: boolean, inBuilder?: boolean) => Promise<T>) => (lang: string, draft?: boolean, inBuilder?: boolean) => Promise<T>;
31
67
 
32
- export declare const registerCollection: (key: string, collection: Omit<Collection, "key">) => void;
68
+ export declare const registerChaiPageType: (key: string, pageTypeOptions: Omit<ChaiBuilderPageType, "key">) => void;
33
69
 
34
70
  export { }
package/dist/server.js CHANGED
@@ -1,28 +1,30 @@
1
- var c = Object.defineProperty;
2
- var l = (n, e, a) => e in n ? c(n, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : n[e] = a;
3
- var h = (n, e, a) => l(n, typeof e != "symbol" ? e + "" : e, a);
4
- import { get as g, first as d } from "lodash-es";
5
- const m = "https://api.chaibuilder.com", k = async (n, e) => {
1
+ var k = Object.defineProperty;
2
+ var S = (s, a, t) => a in s ? k(s, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[a] = t;
3
+ var c = (s, a, t) => S(s, typeof a != "symbol" ? a + "" : a, t);
4
+ import { get as g, first as w, has as y } from "lodash-es";
5
+ const E = "https://api.chaibuilder.com", b = async (s, a, t, i = E) => {
6
6
  try {
7
- const a = new Headers();
8
- a.append("x-chai-api-key", e);
9
- const s = {
10
- headers: a,
7
+ const e = new Headers();
8
+ e.append("x-chai-api-key", a), e.append("x-chai-user", t);
9
+ const n = {
10
+ headers: e,
11
11
  method: "POST",
12
- body: JSON.stringify(n)
13
- }, i = await fetch(
14
- m + "/v1/api/chai",
15
- s
12
+ body: JSON.stringify(s),
13
+ cache: "no-store"
14
+ }, r = await fetch(
15
+ i + "/v1/api/chai",
16
+ n
16
17
  );
17
- if (i.ok)
18
- return { data: await i.json() };
19
- throw new Error("Failed to handle request: " + i.statusText);
20
- } catch (a) {
21
- return { error: a };
18
+ if (r.ok)
19
+ return await r.json();
20
+ {
21
+ const o = await r.json();
22
+ throw new Error((o == null ? void 0 : o.error) || r.statusText);
23
+ }
24
+ } catch (e) {
25
+ return { error: e.message };
22
26
  }
23
- }, r = {}, p = (n, e) => {
24
- r[n] = { key: n, ...e };
25
- }, y = () => Object.values(r), u = (n) => r[n], S = {
27
+ }, C = {
26
28
  ab: "Abkhazian",
27
29
  aa: "Afar",
28
30
  af: "Afrikaans",
@@ -210,78 +212,189 @@ const m = "https://api.chaibuilder.com", k = async (n, e) => {
210
212
  yo: "Yoruba",
211
213
  za: "Zhuang, Chuang",
212
214
  zu: "Zulu"
213
- }, t = "https://api.chaibuilder.com";
214
- class C {
215
- constructor(e) {
216
- h(this, "currentLang", "");
217
- this.apiKey = e, p("pages", {
218
- name: "Pages",
219
- search: async (a) => (await fetch(`${t}/v1/api/chai`, {
220
- method: "POST",
221
- body: JSON.stringify({ action: "SEARCH_PAGES", data: { query: a } }),
222
- headers: { "x-chai-api-key": this.apiKey }
223
- })).json(),
224
- resolveLink: async (a, s) => {
225
- const o = await (await fetch(`${t}/v1/api/chai`, {
226
- method: "POST",
227
- body: JSON.stringify({ action: "GET_LINK", data: { id: a, lang: s } }),
228
- headers: { "x-chai-api-key": this.apiKey }
229
- })).json();
230
- return g(o, "slug", "");
231
- }
215
+ }, l = {}, d = (s, a) => {
216
+ l[s] = { key: s, ...a };
217
+ }, m = () => Object.values(l), h = (s) => l[s];
218
+ let p = async (s, a = !1, t = !1) => ({
219
+ lang: s,
220
+ isDraft: a,
221
+ inBuilder: t
222
+ });
223
+ const T = (s) => p = s, f = async (s, a, t) => await p(s, a, t), P = "https://api.chaibuilder.com";
224
+ class L {
225
+ constructor(a, t = P) {
226
+ c(this, "fallbackLang", "");
227
+ c(this, "currentLang", "");
228
+ c(this, "draftMode", !1);
229
+ this.apiKey = a, this.apiUrl = t, d("page", {
230
+ name: "Static Page",
231
+ 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>'
232
+ }), d("global", {
233
+ name: "Global Block",
234
+ helpText: "A global block can be reused in multiple pages.",
235
+ 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>'
232
236
  });
233
237
  }
234
- setCurrentLang(e) {
235
- this.currentLang = e;
238
+ setFallbackLang(a) {
239
+ this.fallbackLang = a;
240
+ }
241
+ getFallbackLang() {
242
+ return this.fallbackLang;
243
+ }
244
+ setCurrentLang(a) {
245
+ this.currentLang = a;
236
246
  }
237
247
  getCurrentLang() {
238
248
  return this.currentLang;
239
249
  }
240
- setLanguageFromSlug(e) {
241
- const a = d(e || [""]), s = Object.keys(S);
242
- s.includes(a) || s.some((i) => a.startsWith(i)) ? this.setCurrentLang(a) : this.setCurrentLang("");
250
+ setDraftMode(a) {
251
+ this.draftMode = a;
252
+ }
253
+ isDraftMode() {
254
+ return this.draftMode;
243
255
  }
244
- async handle(e) {
245
- if (e.action === "GET_COLLECTIONS")
246
- return y().map((a) => ({
247
- key: a.key,
248
- name: a.name,
249
- urlIdentifier: a.urlIdentifier
250
- }));
251
- if (e.action === "SEARCH_COLLECTION_ITEMS") {
252
- const a = u(e.data.collection);
253
- return a ? await (a == null ? void 0 : a.search(e.data.query)) : { error: "Collection not found" };
256
+ async handle(a, t) {
257
+ if (a.action === "GET_BUILDER_PAGE_DATA") {
258
+ const e = await f(a.data.lang, !0, !0), n = h(
259
+ a.data.pageType
260
+ );
261
+ return n ? {
262
+ ...n.dataProvider ? await n.dataProvider({}, a.data.lang, !0, !0) : {},
263
+ global: e
264
+ } : { global: e };
254
265
  }
255
- return await k(e, this.apiKey);
266
+ if (a.action === "GET_PAGE_TYPES" || a.action === "GET_COLLECTIONS")
267
+ return Promise.all(
268
+ m().map(async (e) => ({
269
+ key: e.key,
270
+ helpText: e.helpText ?? "",
271
+ icon: e.icon ?? "",
272
+ dynamicSegments: e.dynamicSegments ?? "",
273
+ dynamicSlug: e.dynamicSlug ?? "",
274
+ name: typeof e.name == "function" ? await e.name() : e.name
275
+ }))
276
+ );
277
+ if (a.action === "SEARCH_COLLECTION_ITEMS" || a.action === "SEARCH_PAGE_TYPE_ITEMS") {
278
+ const e = h(
279
+ a.data.pageType
280
+ );
281
+ return e ? e.search ? await e.search(a.data.query) : await (await fetch(`${this.apiUrl}/v1/api/chai`, {
282
+ cache: "no-store",
283
+ method: "POST",
284
+ body: JSON.stringify({
285
+ action: "SEARCH_PAGES",
286
+ data: { query: a.data.query, pageType: a.data.pageType }
287
+ }),
288
+ headers: { "x-chai-api-key": this.apiKey }
289
+ })).json() : { error: "Page type not found" };
290
+ }
291
+ const i = await b(a, this.apiKey, t, this.apiUrl);
292
+ return this.emit(a.action, i), i;
256
293
  }
257
- async resolveLink(e, a, s = "") {
258
- const i = u(e);
259
- return i ? await (i == null ? void 0 : i.resolveLink(a, s || this.currentLang)) : "";
294
+ emit(a, t) {
295
+ var n, r, o;
296
+ if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a))
297
+ return;
298
+ const i = g(t, "page");
299
+ if (!i)
300
+ return;
301
+ const e = h(i.pageType);
302
+ if (e)
303
+ switch (a) {
304
+ case "CREATE_PAGE":
305
+ return (n = e.onCreate) == null ? void 0 : n.call(e, i);
306
+ case "UPDATE_PAGE":
307
+ return (r = e.onUpdate) == null ? void 0 : r.call(e, i);
308
+ case "DELETE_PAGE":
309
+ return (o = e.onDelete) == null ? void 0 : o.call(e, i);
310
+ }
260
311
  }
261
- async getPageMeta(e) {
262
- return (await fetch(`${t}/v1/api/chai`, {
312
+ // APIS
313
+ setLanguageFromSlug(a) {
314
+ const t = w(a || [""]);
315
+ Object.keys(C).includes(t) ? this.setCurrentLang(t) : this.setCurrentLang("");
316
+ }
317
+ async getPageTypeFromSlug(a) {
318
+ return a === "/" || a === `/${this.getCurrentLang()}`, "page";
319
+ }
320
+ async resolveLink(a, t) {
321
+ const i = h(a);
322
+ if (!i)
323
+ return "/not-found";
324
+ const e = this.isDraftMode(), n = this.getCurrentLang();
325
+ if (i.resolveLink)
326
+ return await i.resolveLink(t, e, n);
327
+ const o = await (await fetch(`${this.apiUrl}/v1/api/chai`, {
328
+ method: "POST",
329
+ body: JSON.stringify({
330
+ action: "GET_LINK",
331
+ data: {
332
+ pageType: a,
333
+ id: t,
334
+ draft: e,
335
+ ...n ? { lang: n } : {}
336
+ }
337
+ }),
338
+ headers: { "x-chai-api-key": this.apiKey }
339
+ })).json();
340
+ return g(o, "link", "/not-found");
341
+ }
342
+ async getPageBySlug(a) {
343
+ const t = this.isDraftMode(), i = {};
344
+ return m().forEach((n) => {
345
+ y(n, "dynamicSegments") && n.dynamicSegments && (i[n.key] = n.dynamicSegments);
346
+ }), (await fetch(`${this.apiUrl}/v1/api/chai`, {
263
347
  method: "POST",
264
348
  body: JSON.stringify({
265
349
  action: "GET_PAGE_META",
266
- data: { slug: e, published: !0 }
350
+ data: { slug: a, draft: t, dynamicSegments: i }
267
351
  }),
268
352
  headers: { "x-chai-api-key": this.apiKey }
269
353
  })).json();
270
354
  }
271
- async getPage(e) {
272
- return (await fetch(`${t}/v1/api/chai`, {
355
+ async getFullPage(a) {
356
+ const t = this.isDraftMode(), i = this.getCurrentLang();
357
+ return (await fetch(`${this.apiUrl}/v1/api/chai`, {
273
358
  method: "POST",
274
359
  body: JSON.stringify({
275
360
  action: "GET_PAGE",
276
- data: { id: e, published: !0, mergeGlobal: !0 }
361
+ data: { id: a, lang: i, draft: t, mergeGlobal: !0 }
277
362
  }),
278
363
  headers: { "x-chai-api-key": this.apiKey }
279
364
  })).json();
280
365
  }
366
+ async getSiteSettings() {
367
+ const a = this.isDraftMode();
368
+ return (await fetch(`${this.apiUrl}/v1/api/chai`, {
369
+ method: "POST",
370
+ body: JSON.stringify({
371
+ action: "GET_WEBSITE_SETTINGS",
372
+ data: { draft: a }
373
+ }),
374
+ headers: { "x-chai-api-key": this.apiKey }
375
+ })).json();
376
+ }
377
+ async getPageData(a, t) {
378
+ var u;
379
+ const i = this.isDraftMode(), e = this.getCurrentLang(), n = h(a), [r, o] = await Promise.all([
380
+ this.getGlobalData(),
381
+ ((u = n == null ? void 0 : n.dataProvider) == null ? void 0 : u.call(n, t, e, i)) || Promise.resolve({})
382
+ ]);
383
+ return n ? {
384
+ ...o,
385
+ global: r
386
+ } : { global: r };
387
+ }
388
+ async getGlobalData() {
389
+ const a = this.getCurrentLang();
390
+ return await f(a, this.isDraftMode());
391
+ }
281
392
  }
282
393
  export {
283
- C as ChaiBuilderPages,
284
- u as getCollection,
285
- y as getCollections,
286
- p as registerCollection
394
+ L as ChaiBuilderPages,
395
+ f as getChaiGlobalData,
396
+ h as getChaiPageType,
397
+ m as getChaiPageTypes,
398
+ T as registerChaiGlobalDataProvider,
399
+ d as registerChaiPageType
287
400
  };