@chaibuilder/pages 0.5.16 → 0.6.0-beta.1

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