@chaibuilder/pages 0.4.20-beta.2 → 0.5.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/{B4MFY5CR-DExT9uZV.cjs → B4MFY5CR-Bq7ULioH.cjs} +1 -1
- package/dist/{B4MFY5CR-D0TTPQw0.js → B4MFY5CR-Dal6AZmj.js} +1 -1
- package/dist/{HO4MOOFI-3ZFIZEaF.js → HO4MOOFI-Buv_Pvi9.js} +2 -2
- package/dist/{HO4MOOFI-dnAR0JsU.cjs → HO4MOOFI-DEBT81sw.cjs} +1 -1
- package/dist/{HUY7CZI3-CAHqdhAS.cjs → HUY7CZI3-CcTJkiOT.cjs} +1 -1
- package/dist/{HUY7CZI3-BSDTRnrG.js → HUY7CZI3-H_gdIxzv.js} +2 -2
- package/dist/digital-asset-manager-CGWzyhsf.cjs +1 -0
- package/dist/{digital-asset-manager-C2ypiQHt.js → digital-asset-manager-DWilfiv8.js} +158 -155
- package/dist/{index-HVr8s8no.js → index-Cm83yAXd.js} +1054 -1029
- package/dist/index-CmIMVx7z.cjs +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.d.ts +6 -2
- package/dist/server.js +193 -137
- package/package.json +5 -5
- package/dist/digital-asset-manager-CY2bsy43.cjs +0 -1
- package/dist/index-DT8GZKx6.cjs +0 -2
package/dist/server.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChaiBlock } from '@chaibuilder/runtime';
|
|
1
2
|
import { ChaiPageProps } from '@chaibuilder/runtime';
|
|
2
3
|
|
|
3
4
|
export declare const API_URL = "https://api.chaibuilder.com";
|
|
@@ -66,7 +67,10 @@ export declare class ChaiBuilderPages implements ChaiBuilderPagesInterface {
|
|
|
66
67
|
getPageBySlug(slug: string): Promise<any>;
|
|
67
68
|
getFullPage(id: string): Promise<any>;
|
|
68
69
|
getSiteSettings(): Promise<any>;
|
|
69
|
-
getPageData(pageType: string, pageProps
|
|
70
|
+
getPageData(blocks: ChaiBlock[], pageType: string, pageProps: {
|
|
71
|
+
slug: string;
|
|
72
|
+
params?: Record<string, string>;
|
|
73
|
+
}): Promise<{
|
|
70
74
|
global: any;
|
|
71
75
|
}>;
|
|
72
76
|
getGlobalData(): Promise<any>;
|
|
@@ -140,7 +144,7 @@ export declare interface ChaiBuilderPagesInterface {
|
|
|
140
144
|
getPageBySlug(slug: string): Promise<any>;
|
|
141
145
|
getFullPage(id: string): Promise<any>;
|
|
142
146
|
getSiteSettings(): Promise<any>;
|
|
143
|
-
getPageData(pageType: string, props: any): Promise<any>;
|
|
147
|
+
getPageData(blocks: ChaiBlock[], pageType: string, props: any): Promise<any>;
|
|
144
148
|
getGlobalData(): Promise<any>;
|
|
145
149
|
}
|
|
146
150
|
|
package/dist/server.js
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
var G = Object.defineProperty;
|
|
2
|
+
var U = (i, a, e) => a in i ? G(i, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[a] = e;
|
|
3
|
+
var p = (i, a, e) => U(i, typeof a != "symbol" ? a + "" : a, e);
|
|
4
|
+
import { getRegisteredChaiBlock as D } from "@chaibuilder/runtime";
|
|
5
|
+
import { get as b, isEmpty as T, omit as M, isFunction as O, first as B, startsWith as I, has as P } from "lodash-es";
|
|
6
|
+
const k = {}, H = (i, a) => {
|
|
7
|
+
k[i] = { key: i, ...a, hasSlug: !0 };
|
|
8
|
+
}, K = (i, a) => {
|
|
9
|
+
k[i] = { key: i, ...a, hasSlug: !1 };
|
|
10
|
+
}, C = () => Object.values(k), A = (i) => k[i];
|
|
11
|
+
let y = async (i) => ({
|
|
11
12
|
...i
|
|
12
13
|
});
|
|
13
|
-
const
|
|
14
|
+
const Y = (i) => y = i, L = async (i) => {
|
|
14
15
|
try {
|
|
15
|
-
return await
|
|
16
|
+
return await y(i);
|
|
16
17
|
} catch (a) {
|
|
17
18
|
return console.error(a), {};
|
|
18
19
|
}
|
|
19
20
|
};
|
|
20
|
-
class
|
|
21
|
+
class R {
|
|
21
22
|
constructor(a) {
|
|
22
23
|
this.backend = a;
|
|
23
24
|
}
|
|
24
25
|
async upload({
|
|
25
26
|
file: a,
|
|
26
27
|
folderId: e,
|
|
27
|
-
name:
|
|
28
|
+
name: n
|
|
28
29
|
}, t) {
|
|
29
30
|
var o, c;
|
|
30
31
|
return await ((c = (o = this.backend).handleAssetsAction) == null ? void 0 : c.call(
|
|
@@ -32,7 +33,7 @@ class D {
|
|
|
32
33
|
{
|
|
33
34
|
action: "UPLOAD_ASSET",
|
|
34
35
|
data: {
|
|
35
|
-
name:
|
|
36
|
+
name: n,
|
|
36
37
|
file: a,
|
|
37
38
|
folderId: e
|
|
38
39
|
}
|
|
@@ -41,17 +42,17 @@ class D {
|
|
|
41
42
|
));
|
|
42
43
|
}
|
|
43
44
|
async getAsset({ id: a }, e) {
|
|
44
|
-
var
|
|
45
|
-
return (t = (
|
|
46
|
-
|
|
45
|
+
var n, t;
|
|
46
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
47
|
+
n,
|
|
47
48
|
{ action: "GET_ASSET", data: { id: a } },
|
|
48
49
|
e
|
|
49
50
|
);
|
|
50
51
|
}
|
|
51
52
|
async getAssets(a, e) {
|
|
52
|
-
var
|
|
53
|
-
return (t = (
|
|
54
|
-
|
|
53
|
+
var n, t;
|
|
54
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
55
|
+
n,
|
|
55
56
|
{
|
|
56
57
|
action: "GET_ASSETS",
|
|
57
58
|
data: a
|
|
@@ -60,9 +61,9 @@ class D {
|
|
|
60
61
|
);
|
|
61
62
|
}
|
|
62
63
|
async deleteAsset({ id: a }, e) {
|
|
63
|
-
var
|
|
64
|
-
return (t = (
|
|
65
|
-
|
|
64
|
+
var n, t;
|
|
65
|
+
return (t = (n = this.backend).handleAssetsAction) == null ? void 0 : t.call(
|
|
66
|
+
n,
|
|
66
67
|
{
|
|
67
68
|
action: "DELETE_ASSET",
|
|
68
69
|
data: { id: a }
|
|
@@ -73,26 +74,26 @@ class D {
|
|
|
73
74
|
async updateAsset({
|
|
74
75
|
id: a,
|
|
75
76
|
file: e,
|
|
76
|
-
description:
|
|
77
|
+
description: n
|
|
77
78
|
}, t) {
|
|
78
|
-
var
|
|
79
|
-
return (o = (
|
|
80
|
-
|
|
79
|
+
var r, o;
|
|
80
|
+
return (o = (r = this.backend).handleAssetsAction) == null ? void 0 : o.call(
|
|
81
|
+
r,
|
|
81
82
|
{
|
|
82
83
|
action: "UPDATE_ASSET",
|
|
83
|
-
data: { id: a, file: e, description:
|
|
84
|
+
data: { id: a, file: e, description: n }
|
|
84
85
|
},
|
|
85
86
|
t
|
|
86
87
|
);
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
class
|
|
90
|
+
class N {
|
|
90
91
|
constructor(a) {
|
|
91
92
|
this.backend = a;
|
|
92
93
|
}
|
|
93
94
|
async refreshToken(a) {
|
|
94
|
-
var
|
|
95
|
-
const e = await ((t = (
|
|
95
|
+
var n, t;
|
|
96
|
+
const e = await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(n, {
|
|
96
97
|
action: "REFRESH_TOKEN",
|
|
97
98
|
data: a
|
|
98
99
|
}));
|
|
@@ -102,12 +103,12 @@ class M {
|
|
|
102
103
|
email: a,
|
|
103
104
|
password: e
|
|
104
105
|
}) {
|
|
105
|
-
var t,
|
|
106
|
-
const
|
|
106
|
+
var t, r;
|
|
107
|
+
const n = await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(t, {
|
|
107
108
|
action: "LOGIN",
|
|
108
109
|
data: { email: a, password: e }
|
|
109
110
|
}));
|
|
110
|
-
return
|
|
111
|
+
return n.error ? { error: n.error } : n;
|
|
111
112
|
}
|
|
112
113
|
async logout() {
|
|
113
114
|
var a, e;
|
|
@@ -116,9 +117,9 @@ class M {
|
|
|
116
117
|
}));
|
|
117
118
|
}
|
|
118
119
|
async isUserActive(a) {
|
|
119
|
-
var
|
|
120
|
-
return (await ((t = (
|
|
121
|
-
|
|
120
|
+
var n, t;
|
|
121
|
+
return (await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
122
|
+
n,
|
|
122
123
|
{
|
|
123
124
|
action: "CHECK_USER_STATUS"
|
|
124
125
|
},
|
|
@@ -126,9 +127,9 @@ class M {
|
|
|
126
127
|
))).success;
|
|
127
128
|
}
|
|
128
129
|
async getUserRoleAndPermissions(a) {
|
|
129
|
-
var
|
|
130
|
-
return await ((t = (
|
|
131
|
-
|
|
130
|
+
var n, t;
|
|
131
|
+
return await ((t = (n = this.backend).handleUsersAction) == null ? void 0 : t.call(
|
|
132
|
+
n,
|
|
132
133
|
{
|
|
133
134
|
action: "GET_ROLE_AND_PERMISSIONS"
|
|
134
135
|
},
|
|
@@ -136,8 +137,8 @@ class M {
|
|
|
136
137
|
));
|
|
137
138
|
}
|
|
138
139
|
async getUserInfo(a, e) {
|
|
139
|
-
var t,
|
|
140
|
-
return await ((
|
|
140
|
+
var t, r;
|
|
141
|
+
return await ((r = (t = this.backend).handleUsersAction) == null ? void 0 : r.call(
|
|
141
142
|
t,
|
|
142
143
|
{
|
|
143
144
|
action: "GET_CHAI_USER",
|
|
@@ -147,7 +148,7 @@ class M {
|
|
|
147
148
|
));
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
|
-
const
|
|
151
|
+
const j = {
|
|
151
152
|
ab: "Abkhazian",
|
|
152
153
|
aa: "Afar",
|
|
153
154
|
af: "Afrikaans",
|
|
@@ -335,26 +336,26 @@ const I = {
|
|
|
335
336
|
yo: "Yoruba",
|
|
336
337
|
za: "Zhuang, Chuang",
|
|
337
338
|
zu: "Zulu"
|
|
338
|
-
};
|
|
339
|
-
class
|
|
340
|
-
constructor(a, e,
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
this.backend = a, this.chaiUsers = e, this.chaiAssets =
|
|
339
|
+
}, v = {}, F = () => Object.values(v), _ = (i) => b(v, i);
|
|
340
|
+
class $ {
|
|
341
|
+
constructor(a, e, n) {
|
|
342
|
+
p(this, "fallbackLang", "");
|
|
343
|
+
p(this, "currentLang", "");
|
|
344
|
+
p(this, "draftMode", !1);
|
|
345
|
+
this.backend = a, this.chaiUsers = e, this.chaiAssets = n, this._registerDefaultPageTypes(), this.chaiUsers = e ?? new N(this.backend), this.chaiAssets = n ?? new R(this.backend);
|
|
345
346
|
}
|
|
346
347
|
_registerDefaultPageTypes() {
|
|
347
|
-
|
|
348
|
+
H("page", {
|
|
348
349
|
name: "Static Page",
|
|
349
350
|
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>'
|
|
350
|
-
}),
|
|
351
|
+
}), K("global", {
|
|
351
352
|
name: "Global Block",
|
|
352
353
|
helpText: "A global block can be reused in multiple pages.",
|
|
353
354
|
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>'
|
|
354
355
|
});
|
|
355
356
|
}
|
|
356
357
|
setFallbackLang(a) {
|
|
357
|
-
if (
|
|
358
|
+
if (T(a))
|
|
358
359
|
throw new Error("Fallback language cannot be empty");
|
|
359
360
|
this.fallbackLang = a;
|
|
360
361
|
}
|
|
@@ -362,7 +363,7 @@ class N {
|
|
|
362
363
|
return this.fallbackLang;
|
|
363
364
|
}
|
|
364
365
|
setCurrentLang(a) {
|
|
365
|
-
if (
|
|
366
|
+
if (T(a))
|
|
366
367
|
throw new Error("Current language cannot be empty");
|
|
367
368
|
this.currentLang = a;
|
|
368
369
|
}
|
|
@@ -376,7 +377,7 @@ class N {
|
|
|
376
377
|
return this.draftMode;
|
|
377
378
|
}
|
|
378
379
|
async handle(a, e) {
|
|
379
|
-
var t,
|
|
380
|
+
var t, r, o, c, d, m, E, f, u, w, l;
|
|
380
381
|
switch (a.action) {
|
|
381
382
|
// Media
|
|
382
383
|
case "UPLOAD_ASSET":
|
|
@@ -390,7 +391,7 @@ class N {
|
|
|
390
391
|
e
|
|
391
392
|
);
|
|
392
393
|
case "GET_ASSET":
|
|
393
|
-
return (
|
|
394
|
+
return (r = this.chaiAssets) == null ? void 0 : r.getAsset(
|
|
394
395
|
a.data,
|
|
395
396
|
e
|
|
396
397
|
);
|
|
@@ -402,81 +403,107 @@ class N {
|
|
|
402
403
|
e
|
|
403
404
|
);
|
|
404
405
|
case "UPDATE_ASSET":
|
|
405
|
-
return (
|
|
406
|
+
return (d = this.chaiAssets) == null ? void 0 : d.updateAsset(a.data, e);
|
|
406
407
|
// Users
|
|
407
408
|
case "REFRESH_TOKEN":
|
|
408
|
-
return (
|
|
409
|
+
return (m = this.chaiUsers) == null ? void 0 : m.refreshToken(
|
|
409
410
|
a.data
|
|
410
411
|
);
|
|
411
412
|
case "LOGIN":
|
|
412
|
-
return (
|
|
413
|
+
return (E = this.chaiUsers) == null ? void 0 : E.login(
|
|
413
414
|
a.data
|
|
414
415
|
);
|
|
415
416
|
case "LOGOUT":
|
|
416
|
-
return (
|
|
417
|
+
return (f = this.chaiUsers) == null ? void 0 : f.logout();
|
|
417
418
|
case "CHECK_USER_STATUS":
|
|
418
|
-
return (
|
|
419
|
+
return (u = this.chaiUsers) == null ? void 0 : u.isUserActive(e);
|
|
419
420
|
case "GET_ROLE_AND_PERMISSIONS":
|
|
420
|
-
return (
|
|
421
|
+
return (w = this.chaiUsers) == null ? void 0 : w.getUserRoleAndPermissions(e);
|
|
421
422
|
case "GET_CHAI_USER":
|
|
422
|
-
return (
|
|
423
|
+
return (l = this.chaiUsers) == null ? void 0 : l.getUserInfo(
|
|
423
424
|
e,
|
|
424
425
|
a.data
|
|
425
426
|
);
|
|
426
427
|
}
|
|
427
428
|
if (a.action === "GET_BUILDER_PAGE_DATA") {
|
|
428
|
-
const
|
|
429
|
+
const s = await L({
|
|
429
430
|
lang: a.data.lang,
|
|
430
431
|
draft: !0,
|
|
431
432
|
inBuilder: !0
|
|
432
|
-
}),
|
|
433
|
+
}), h = A(
|
|
433
434
|
a.data.pageType
|
|
434
435
|
);
|
|
435
|
-
return
|
|
436
|
-
...
|
|
436
|
+
return h ? {
|
|
437
|
+
...h.dataProvider ? await h.dataProvider({
|
|
437
438
|
lang: a.data.lang,
|
|
438
439
|
draft: !0,
|
|
439
440
|
inBuilder: !0,
|
|
440
441
|
pageProps: a.data.pageProps ?? {}
|
|
441
442
|
}) : {},
|
|
442
|
-
global:
|
|
443
|
-
} : { global:
|
|
443
|
+
global: s
|
|
444
|
+
} : { global: s };
|
|
444
445
|
}
|
|
445
446
|
if (a.action === "GET_PAGE_TYPES")
|
|
446
447
|
return Promise.all(
|
|
447
|
-
|
|
448
|
-
key:
|
|
449
|
-
helpText:
|
|
450
|
-
icon:
|
|
451
|
-
dynamicSegments:
|
|
452
|
-
dynamicSlug:
|
|
453
|
-
hasSlug:
|
|
454
|
-
name: typeof
|
|
448
|
+
C().map(async (s) => ({
|
|
449
|
+
key: s.key,
|
|
450
|
+
helpText: s.helpText ?? "",
|
|
451
|
+
icon: s.icon ?? "",
|
|
452
|
+
dynamicSegments: s.dynamicSegments ?? "",
|
|
453
|
+
dynamicSlug: s.dynamicSlug ?? "",
|
|
454
|
+
hasSlug: s.hasSlug ?? !0,
|
|
455
|
+
name: typeof s.name == "function" ? await s.name() : s.name
|
|
455
456
|
}))
|
|
456
457
|
);
|
|
457
458
|
if (a.action === "SEARCH_PAGE_TYPE_ITEMS") {
|
|
458
|
-
const
|
|
459
|
+
const s = A(
|
|
459
460
|
a.data.pageType
|
|
460
461
|
);
|
|
461
|
-
return
|
|
462
|
+
return s ? s.search ? await s.search(a.data.query) : this.backend.handleAction(a, e) : { error: "Page type not found" };
|
|
462
463
|
}
|
|
463
|
-
|
|
464
|
-
|
|
464
|
+
if (a.action === "GET_COLLECTIONS")
|
|
465
|
+
return F().map(
|
|
466
|
+
(s) => M(s, "fetch")
|
|
467
|
+
);
|
|
468
|
+
if (a.action === "GET_BLOCK_ASYNC_PROPS") {
|
|
469
|
+
const s = a.data.block, h = s._type;
|
|
470
|
+
if (h === "Repeater" && (s != null && s.repeaterItems.includes("{{#"))) {
|
|
471
|
+
const g = s.repeaterItems.replace("{{#", "").replace("}}", ""), S = _(g);
|
|
472
|
+
return S ? await (S == null ? void 0 : S.fetch({
|
|
473
|
+
block: s,
|
|
474
|
+
pageProps: a.data.pageProps,
|
|
475
|
+
lang: a.data.lang,
|
|
476
|
+
draft: !0,
|
|
477
|
+
inBuilder: !0
|
|
478
|
+
})) ?? [] : [];
|
|
479
|
+
} else {
|
|
480
|
+
const g = D(h);
|
|
481
|
+
return !g || !O(g.dataProvider) ? {} : await g.dataProvider({
|
|
482
|
+
block: s,
|
|
483
|
+
pageProps: a.data.pageProps,
|
|
484
|
+
lang: a.data.lang,
|
|
485
|
+
draft: !0,
|
|
486
|
+
inBuilder: !0
|
|
487
|
+
}) ?? {};
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
const n = await this.backend.handleAction(a, e);
|
|
491
|
+
return this.emit(a.action, n), n;
|
|
465
492
|
}
|
|
466
493
|
emit(a, e) {
|
|
467
|
-
var
|
|
494
|
+
var r, o, c;
|
|
468
495
|
if (!["CREATE_PAGE", "UPDATE_PAGE", "DELETE_PAGE"].includes(a)) return;
|
|
469
|
-
const
|
|
470
|
-
if (!
|
|
471
|
-
const t =
|
|
496
|
+
const n = b(e, "page");
|
|
497
|
+
if (!n) return;
|
|
498
|
+
const t = A(n.pageType);
|
|
472
499
|
if (t)
|
|
473
500
|
switch (a) {
|
|
474
501
|
case "CREATE_PAGE":
|
|
475
|
-
return (
|
|
502
|
+
return (r = t.onCreate) == null ? void 0 : r.call(t, n);
|
|
476
503
|
case "UPDATE_PAGE":
|
|
477
|
-
return (o = t.onUpdate) == null ? void 0 : o.call(t,
|
|
504
|
+
return (o = t.onUpdate) == null ? void 0 : o.call(t, n);
|
|
478
505
|
case "DELETE_PAGE":
|
|
479
|
-
return (c = t.onDelete) == null ? void 0 : c.call(t,
|
|
506
|
+
return (c = t.onDelete) == null ? void 0 : c.call(t, n);
|
|
480
507
|
}
|
|
481
508
|
}
|
|
482
509
|
// APIS
|
|
@@ -485,8 +512,8 @@ class N {
|
|
|
485
512
|
throw new Error(
|
|
486
513
|
"Please set a fallback language using setFallbackLang(lang: string)"
|
|
487
514
|
);
|
|
488
|
-
const e =
|
|
489
|
-
Object.keys(
|
|
515
|
+
const e = B(a || [""]);
|
|
516
|
+
Object.keys(j).includes(e) ? this.setCurrentLang(e) : this.setCurrentLang(this.getFallbackLang());
|
|
490
517
|
}
|
|
491
518
|
/**
|
|
492
519
|
* Resolve a page link
|
|
@@ -494,42 +521,42 @@ class N {
|
|
|
494
521
|
* @returns The resolved link
|
|
495
522
|
*/
|
|
496
523
|
async resolvePageLink(a) {
|
|
497
|
-
if (!
|
|
524
|
+
if (!I(a, "pageType:"))
|
|
498
525
|
return a;
|
|
499
|
-
const e = a.split(":")[1],
|
|
500
|
-
return t ? await this.resolveLink(t.key,
|
|
526
|
+
const e = a.split(":")[1], n = a.split(":")[2], t = A(e);
|
|
527
|
+
return t ? await this.resolveLink(t.key, n) : a;
|
|
501
528
|
}
|
|
502
529
|
async resolveLink(a, e) {
|
|
503
|
-
const
|
|
504
|
-
if (!
|
|
530
|
+
const n = A(a);
|
|
531
|
+
if (!n)
|
|
505
532
|
return "/not-found";
|
|
506
|
-
const t = this.isDraftMode(),
|
|
507
|
-
return
|
|
533
|
+
const t = this.isDraftMode(), r = this.getCurrentLang() === this.getFallbackLang() ? "" : this.getCurrentLang();
|
|
534
|
+
return n.resolveLink ? await n.resolveLink(e, t, r) : await this.backend.handleAction({
|
|
508
535
|
action: "GET_LINK",
|
|
509
536
|
data: {
|
|
510
537
|
pageType: a,
|
|
511
538
|
id: e,
|
|
512
539
|
draft: t,
|
|
513
|
-
lang:
|
|
540
|
+
lang: r
|
|
514
541
|
}
|
|
515
542
|
});
|
|
516
543
|
}
|
|
517
544
|
async getPageBySlug(a) {
|
|
518
|
-
const e = this.isDraftMode(),
|
|
519
|
-
return
|
|
520
|
-
|
|
545
|
+
const e = this.isDraftMode(), n = {};
|
|
546
|
+
return C().forEach((t) => {
|
|
547
|
+
P(t, "dynamicSegments") && t.dynamicSegments && (n[t.key] = t.dynamicSegments);
|
|
521
548
|
}), await this.backend.handleAction({
|
|
522
549
|
action: "GET_PAGE_META",
|
|
523
|
-
data: { slug: a, draft: e, dynamicSegments:
|
|
550
|
+
data: { slug: a, draft: e, dynamicSegments: n }
|
|
524
551
|
});
|
|
525
552
|
}
|
|
526
553
|
async getFullPage(a) {
|
|
527
|
-
const e = this.isDraftMode(),
|
|
554
|
+
const e = this.isDraftMode(), n = this.getCurrentLang(), t = this.getFallbackLang();
|
|
528
555
|
return await this.backend.handleAction({
|
|
529
556
|
action: "GET_PAGE",
|
|
530
557
|
data: {
|
|
531
558
|
id: a,
|
|
532
|
-
lang: t ===
|
|
559
|
+
lang: t === n ? void 0 : n,
|
|
533
560
|
draft: e,
|
|
534
561
|
mergePartials: !0
|
|
535
562
|
}
|
|
@@ -542,25 +569,54 @@ class N {
|
|
|
542
569
|
data: { draft: a }
|
|
543
570
|
});
|
|
544
571
|
}
|
|
545
|
-
async getPageData(a, e
|
|
546
|
-
var
|
|
547
|
-
const
|
|
572
|
+
async getPageData(a, e, n) {
|
|
573
|
+
var f;
|
|
574
|
+
const t = this.isDraftMode(), r = this.getCurrentLang(), o = A(e), c = a.filter(
|
|
575
|
+
(u) => u._type === "Repeater" && (u == null ? void 0 : u.repeaterItems.includes("{{#"))
|
|
576
|
+
);
|
|
577
|
+
let d = {};
|
|
578
|
+
if (c.length > 0) {
|
|
579
|
+
const u = c.map((l) => ({ collectionId: l.repeaterItems.replace("{{#", "").replace("}}", ""), block: l }));
|
|
580
|
+
d = (await Promise.all(
|
|
581
|
+
u.map(async ({ collectionId: l, block: s }) => {
|
|
582
|
+
const h = _(l);
|
|
583
|
+
try {
|
|
584
|
+
const g = await (h == null ? void 0 : h.fetch({
|
|
585
|
+
lang: r,
|
|
586
|
+
draft: t,
|
|
587
|
+
inBuilder: !1,
|
|
588
|
+
pageProps: n,
|
|
589
|
+
block: s
|
|
590
|
+
}));
|
|
591
|
+
return Promise.resolve({
|
|
592
|
+
[`{{#${l}/${s._id}}}`]: g ?? []
|
|
593
|
+
});
|
|
594
|
+
} catch {
|
|
595
|
+
return Promise.resolve({
|
|
596
|
+
[`{{#${l}/${s._id}}}`]: []
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
})
|
|
600
|
+
)).reduce((l, s) => ({ ...l, ...s }), {});
|
|
601
|
+
}
|
|
602
|
+
const [m, E] = await Promise.all([
|
|
548
603
|
this.getGlobalData(),
|
|
549
|
-
((
|
|
550
|
-
lang:
|
|
551
|
-
draft:
|
|
604
|
+
((f = o == null ? void 0 : o.dataProvider) == null ? void 0 : f.call(o, {
|
|
605
|
+
lang: r,
|
|
606
|
+
draft: t,
|
|
552
607
|
inBuilder: !1,
|
|
553
|
-
pageProps:
|
|
608
|
+
pageProps: n
|
|
554
609
|
})) || Promise.resolve({})
|
|
555
610
|
]);
|
|
556
|
-
return
|
|
557
|
-
...
|
|
558
|
-
global:
|
|
559
|
-
|
|
611
|
+
return o ? {
|
|
612
|
+
...E,
|
|
613
|
+
global: m,
|
|
614
|
+
...d
|
|
615
|
+
} : { global: m, ...d };
|
|
560
616
|
}
|
|
561
617
|
async getGlobalData() {
|
|
562
618
|
const a = this.getCurrentLang();
|
|
563
|
-
return await
|
|
619
|
+
return await L({
|
|
564
620
|
lang: a,
|
|
565
621
|
draft: this.isDraftMode(),
|
|
566
622
|
inBuilder: !1
|
|
@@ -570,31 +626,31 @@ class N {
|
|
|
570
626
|
return await this.backend.handleAction(a);
|
|
571
627
|
}
|
|
572
628
|
}
|
|
573
|
-
class
|
|
574
|
-
constructor(a = "", e =
|
|
629
|
+
class W {
|
|
630
|
+
constructor(a = "", e = x) {
|
|
575
631
|
this.apiKey = a, this.apiUrl = e;
|
|
576
632
|
}
|
|
577
633
|
async handleUsersAction(a, e) {
|
|
578
|
-
const
|
|
634
|
+
const n = await fetch(`${this.apiUrl}/v1/api/users`, {
|
|
579
635
|
method: "POST",
|
|
580
636
|
body: JSON.stringify(a),
|
|
581
637
|
headers: {
|
|
582
638
|
"x-chai-api-key": this.apiKey,
|
|
583
639
|
"x-chai-auth-token": e
|
|
584
640
|
}
|
|
585
|
-
}), t = await
|
|
586
|
-
return
|
|
641
|
+
}), t = await n.json();
|
|
642
|
+
return P(t, "error") ? { ...t, status: n.status } : t;
|
|
587
643
|
}
|
|
588
644
|
async handleAction(a, e) {
|
|
589
|
-
const
|
|
645
|
+
const n = await fetch(`${this.apiUrl}/v1/api/chai`, {
|
|
590
646
|
method: "POST",
|
|
591
647
|
body: JSON.stringify(a),
|
|
592
648
|
headers: {
|
|
593
649
|
"x-chai-api-key": this.apiKey,
|
|
594
650
|
"x-chai-auth-token": e
|
|
595
651
|
}
|
|
596
|
-
}), t = await
|
|
597
|
-
return
|
|
652
|
+
}), t = await n.json();
|
|
653
|
+
return P(t, "error") ? { ...t, status: n.status } : t;
|
|
598
654
|
}
|
|
599
655
|
async handleAssetsAction(a, e) {
|
|
600
656
|
return await (await fetch(`${this.apiUrl}/v1/api/assets`, {
|
|
@@ -607,17 +663,17 @@ class R {
|
|
|
607
663
|
})).json();
|
|
608
664
|
}
|
|
609
665
|
}
|
|
610
|
-
const
|
|
666
|
+
const x = "https://api.chaibuilder.com";
|
|
611
667
|
export {
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
668
|
+
x as API_URL,
|
|
669
|
+
$ as ChaiBuilderPages,
|
|
670
|
+
W as ChaiBuilderPagesBackend,
|
|
671
|
+
N as ChaiBuilderPagesUserManagement,
|
|
672
|
+
j as LANGUAGES,
|
|
673
|
+
L as getChaiGlobalData,
|
|
674
|
+
A as getChaiPageType,
|
|
675
|
+
C as getChaiPageTypes,
|
|
676
|
+
Y as registerChaiGlobalDataProvider,
|
|
677
|
+
H as registerChaiPageType,
|
|
678
|
+
K as registerChaiPartialType
|
|
623
679
|
};
|
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.
|
|
6
|
+
"version": "0.5.0-beta.1",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"test": "vitest"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"@chaibuilder/runtime": "2.1.
|
|
63
|
-
"@chaibuilder/sdk": "2.2.
|
|
62
|
+
"@chaibuilder/runtime": "2.1.4",
|
|
63
|
+
"@chaibuilder/sdk": "2.2.23",
|
|
64
64
|
"@types/react": "*",
|
|
65
65
|
"@types/react-dom": "*",
|
|
66
66
|
"react": "^18.0 || ^19.0 || ^19.1",
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@chaibuilder/runtime": "2.1.
|
|
79
|
-
"@chaibuilder/sdk": "2.2.
|
|
78
|
+
"@chaibuilder/runtime": "2.1.4",
|
|
79
|
+
"@chaibuilder/sdk": "2.2.23",
|
|
80
80
|
"@mhsdesign/jit-browser-tailwindcss": "^0.4.2",
|
|
81
81
|
"@tailwindcss/aspect-ratio": "^0.4.2",
|
|
82
82
|
"@tailwindcss/forms": "^0.5.10",
|