@picked/client 0.0.72-next.1 → 0.0.72-next.3
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/.tsbuildinfo +1 -1
- package/dist/{api-B9DDtylO.cjs → api-B4qxWoQN.cjs} +1 -1
- package/dist/{api-BmzHzzpu.js → api-DNvaLWw_.js} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/explanation/content-references.md +99 -0
- package/dist/docs/explanation/how-picked-works.md +25 -3
- package/dist/docs/explanation/the-content-model.md +38 -28
- package/dist/docs/how-to/create-a-content-entry.md +48 -0
- package/dist/docs/how-to/define-a-page-layout.md +12 -5
- package/dist/docs/how-to/point-one-entry-at-another.md +61 -0
- package/dist/docs/how-to/read-a-referenced-entry.md +111 -0
- package/dist/docs/how-to/reuse-a-section.md +26 -10
- package/dist/docs/index.md +1 -1
- package/dist/docs/reference/dashboard/content/blocks.mdx +57 -0
- package/dist/docs/reference/dashboard/content/content-entries.mdx +61 -10
- package/dist/docs/reference/dashboard/content/models.mdx +108 -0
- package/dist/docs/reference/dashboard/content/pages.mdx +4 -3
- package/dist/docs/reference/dashboard/fields.mdx +1 -1
- package/dist/docs/reference/dashboard/steps.mdx +2 -2
- package/dist/docs/reference/delivery-api/experience-content.md +68 -13
- package/dist/docs/reference/glossary.md +13 -5
- package/dist/docs/reference/management-api/error-handling.md +2 -2
- package/dist/docs/reference/sdk/content.md +216 -0
- package/dist/docs/reference/sdk/plugins/dynamic-experiences.md +51 -3
- package/dist/docs/reference/sdk/ssr/serialize.md +6 -3
- package/dist/docs/reference/tools/vite-plugin.md +90 -8
- package/dist/docs/tutorials/first-api-call.md +1 -1
- package/dist/docs/tutorials/first-server-rendered-page.mdx +1 -1
- package/dist/esm/index.js +484 -429
- package/dist/esm/plugins/dynamic-experiences/index.js +4 -3
- package/dist/esm/server/index.js +43 -46
- package/dist/plugin-DkSWIASL.cjs +1 -0
- package/dist/plugin-DviILBha.js +153 -0
- package/dist/provider-Bskcgd6U.js +68 -0
- package/dist/provider-Bv5nM3So.cjs +1 -0
- package/dist/registry-BMXsAEbZ.cjs +1 -0
- package/dist/registry-DjBZ8upD.js +74 -0
- package/dist/types/data-source/api.d.ts +60 -0
- package/dist/types/data-source/api.d.ts.map +1 -0
- package/dist/types/data-source/provider.d.ts +90 -0
- package/dist/types/data-source/provider.d.ts.map +1 -0
- package/dist/types/data-source/registry.d.ts +26 -0
- package/dist/types/data-source/registry.d.ts.map +1 -0
- package/dist/types/data-source/virtual-data.d.ts +19 -0
- package/dist/types/data-source/virtual-data.d.ts.map +1 -0
- package/dist/types/entities/content/reference.d.ts +101 -0
- package/dist/types/entities/content/reference.d.ts.map +1 -0
- package/dist/types/exports.d.ts +2 -0
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/picked.d.ts +65 -1
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +1 -0
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +9 -40
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +25 -23
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/server/index.d.ts +1 -1
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/server/serialize.d.ts +27 -34
- package/dist/types/server/serialize.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/docs/reference/dashboard/content/layouts.mdx +0 -62
- package/dist/docs/reference/dashboard/content/sections.mdx +0 -28
- package/dist/plugin-CZN0_kqv.js +0 -252
- package/dist/plugin-SFx511s_.cjs +0 -1
package/dist/esm/index.js
CHANGED
|
@@ -2,17 +2,17 @@ import { t as e } from "../object-BUDGxEqy.js";
|
|
|
2
2
|
import { n as t, t as n } from "../rules-logic-HesIUCu6.js";
|
|
3
3
|
import { t as r } from "../logger-DMN6TxJJ.js";
|
|
4
4
|
import { a as i, c as a, d as o, f as s, i as c, l, m as u, n as d, o as f, r as p, s as m, t as h, u as g } from "../supports-CO9bJGNl.js";
|
|
5
|
-
import { a as _, i as v, r as
|
|
6
|
-
import { l as
|
|
7
|
-
import { i as
|
|
8
|
-
import { n as
|
|
9
|
-
import { t as
|
|
10
|
-
import { n as
|
|
11
|
-
import { attach as
|
|
12
|
-
import { createFactory as
|
|
5
|
+
import { a as _, i as v, r as ee, s as y, t as b } from "../dom-BqcToNL0.js";
|
|
6
|
+
import { l as x, n as S, r as C, u as w } from "../experience-instance-DGk11d8a.js";
|
|
7
|
+
import { i as T, n as E, r as D, t as O } from "../storage-1MW3-_As.js";
|
|
8
|
+
import { n as te, r as ne } from "../api-DNvaLWw_.js";
|
|
9
|
+
import { t as re } from "../id-Bo4RBeOs.js";
|
|
10
|
+
import { n as ie, r as ae, t as oe } from "../inert-script-report-B_bMPRzp.js";
|
|
11
|
+
import { attach as k, combine as A, createApi as j, createDomain as M, createEffect as N, createEvent as P, createStore as F, is as se, sample as I } from "effector";
|
|
12
|
+
import { createFactory as L, invoke as R } from "@withease/factories";
|
|
13
13
|
//#region src/entities/experience/experience.ts
|
|
14
|
-
var
|
|
15
|
-
let i =
|
|
14
|
+
var z = M("experience"), ce = L(({ client: e, experience: r }) => {
|
|
15
|
+
let i = z.store(r), a = j(i, { merge(e, t) {
|
|
16
16
|
return {
|
|
17
17
|
...e,
|
|
18
18
|
...t.experience
|
|
@@ -22,34 +22,34 @@ var B = N("experience"), oe = R(({ client: e, experience: r }) => {
|
|
|
22
22
|
decisionLogic: e.condition,
|
|
23
23
|
targetSelectors: e.targets,
|
|
24
24
|
initializeOpenLogic: e.initializeOpen
|
|
25
|
-
})), s =
|
|
26
|
-
let r = e.nodes.filter(
|
|
25
|
+
})), s = A(i, e.components.listStore, (e, t) => (e.componentName ? t.find((t) => t.name === e.componentName) : void 0) || t.find((t) => t.name === `experience:${e.id}`) || t.find((e) => e.name === "experience"), { skipVoid: !1 }), c = A(i, e.steps.indexStore, e.conditions.indexStore, (e, t, n) => {
|
|
26
|
+
let r = e.nodes.filter(w).map((e) => t[e.stepId]).filter((e) => e !== void 0), i = e.nodes.filter(x).map((e) => n[e.conditionId]).filter((e) => e !== void 0);
|
|
27
27
|
return {
|
|
28
28
|
steps: r,
|
|
29
29
|
nodes: e.nodes,
|
|
30
30
|
edges: e.edges,
|
|
31
31
|
conditions: i
|
|
32
32
|
};
|
|
33
|
-
}), l = r.actions ?? [], u, d =
|
|
33
|
+
}), l = r.actions ?? [], u, d = k({
|
|
34
34
|
source: o,
|
|
35
35
|
effect: (t, n) => {
|
|
36
36
|
let i = v(t.targetSelectors, r.id);
|
|
37
|
-
i.forEach(({ elements: e }) => e.forEach((e) =>
|
|
37
|
+
i.forEach(({ elements: e }) => e.forEach((e) => y(e, r.id))), b(i, r.id, r.key).forEach((t) => {
|
|
38
38
|
n ? e.experienceInstances.spawn(u, t, n) : e.experienceInstances.spawn(u, t);
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
}), f =
|
|
41
|
+
}), f = A({
|
|
42
42
|
preconditionPassed: e.preconditionPassedStore,
|
|
43
43
|
isUser: e.session.store.map((e) => e.isUser, { skipVoid: !1 }),
|
|
44
44
|
config: o
|
|
45
|
-
}), p =
|
|
45
|
+
}), p = k({
|
|
46
46
|
source: f,
|
|
47
47
|
effect: async ({ preconditionPassed: i, isUser: a, config: o }) => {
|
|
48
48
|
if (!i || !a) return !1;
|
|
49
49
|
let { decisionLogic: s, targetSelectors: c } = o;
|
|
50
50
|
return c.length === 0 || v(c, r.id).length < 1 ? !1 : s === void 0 || !t(s) || await n(e, s) === !0;
|
|
51
51
|
}
|
|
52
|
-
}), m =
|
|
52
|
+
}), m = N(async () => {
|
|
53
53
|
if (!e.contentLoader) return !0;
|
|
54
54
|
try {
|
|
55
55
|
await e.contentLoader({
|
|
@@ -60,26 +60,26 @@ var B = N("experience"), oe = R(({ client: e, experience: r }) => {
|
|
|
60
60
|
`${r.id}`;
|
|
61
61
|
}
|
|
62
62
|
return !0;
|
|
63
|
-
}), h =
|
|
64
|
-
return
|
|
63
|
+
}), h = P(), g = P(), _ = z.createStore(void 0, { skipVoid: !1 }).on(h, (e, t) => t).on(g, (e, t) => t);
|
|
64
|
+
return I({
|
|
65
65
|
clock: h,
|
|
66
66
|
target: p
|
|
67
|
-
}),
|
|
67
|
+
}), I({
|
|
68
68
|
clock: p.doneData,
|
|
69
69
|
source: _,
|
|
70
70
|
filter: (e, t) => t,
|
|
71
71
|
fn: (e) => e,
|
|
72
72
|
target: d
|
|
73
|
-
}),
|
|
73
|
+
}), I({
|
|
74
74
|
clock: p.doneData,
|
|
75
75
|
filter: Boolean,
|
|
76
76
|
target: m
|
|
77
|
-
}),
|
|
77
|
+
}), I({
|
|
78
78
|
clock: g,
|
|
79
79
|
source: _,
|
|
80
80
|
fn: (e) => e,
|
|
81
81
|
target: d
|
|
82
|
-
}),
|
|
82
|
+
}), I({
|
|
83
83
|
clock: g,
|
|
84
84
|
target: m
|
|
85
85
|
}), u = {
|
|
@@ -98,22 +98,22 @@ var B = N("experience"), oe = R(({ client: e, experience: r }) => {
|
|
|
98
98
|
prepareExperienceContentFx: m
|
|
99
99
|
}, u;
|
|
100
100
|
});
|
|
101
|
-
function
|
|
102
|
-
return
|
|
101
|
+
function le(e) {
|
|
102
|
+
return R(ce, e);
|
|
103
103
|
}
|
|
104
|
-
var
|
|
105
|
-
let t =
|
|
104
|
+
var ue = L(({ client: e }) => {
|
|
105
|
+
let t = z.store({}), n = j(t, { register(e, t) {
|
|
106
106
|
return {
|
|
107
107
|
...e,
|
|
108
108
|
[t.id]: t
|
|
109
109
|
};
|
|
110
|
-
} }), r =
|
|
111
|
-
n.register(
|
|
110
|
+
} }), r = P(), i = N((t) => {
|
|
111
|
+
n.register(le({
|
|
112
112
|
client: e,
|
|
113
113
|
experience: t
|
|
114
114
|
}));
|
|
115
115
|
});
|
|
116
|
-
|
|
116
|
+
I({
|
|
117
117
|
clock: r,
|
|
118
118
|
source: t,
|
|
119
119
|
filter: (e, t) => e[t.id] !== void 0,
|
|
@@ -126,7 +126,7 @@ var ce = R(({ client: e }) => {
|
|
|
126
126
|
experience: t,
|
|
127
127
|
strategy: "override"
|
|
128
128
|
});
|
|
129
|
-
}),
|
|
129
|
+
}), I({
|
|
130
130
|
clock: r,
|
|
131
131
|
source: t,
|
|
132
132
|
filter: (e, t) => e[t.id] === void 0,
|
|
@@ -140,7 +140,7 @@ var ce = R(({ client: e }) => {
|
|
|
140
140
|
function s(e) {
|
|
141
141
|
return t.map((t) => Object.values(t).find((t) => t.key === e) ?? t[e], { skipVoid: !1 });
|
|
142
142
|
}
|
|
143
|
-
let c =
|
|
143
|
+
let c = k({
|
|
144
144
|
source: t,
|
|
145
145
|
effect: (e, t) => {
|
|
146
146
|
let n = "key" in t ? Object.values(e).find((e) => e.key === t.key) : e[t.id];
|
|
@@ -158,7 +158,7 @@ var ce = R(({ client: e }) => {
|
|
|
158
158
|
getById: o,
|
|
159
159
|
getByKey: s,
|
|
160
160
|
launch: c,
|
|
161
|
-
open:
|
|
161
|
+
open: k({
|
|
162
162
|
source: {
|
|
163
163
|
experiences: t,
|
|
164
164
|
instances: e.experienceInstances.listStore
|
|
@@ -186,7 +186,7 @@ var ce = R(({ client: e }) => {
|
|
|
186
186
|
}
|
|
187
187
|
}),
|
|
188
188
|
listStore: a,
|
|
189
|
-
initialiseExperiencesFx:
|
|
189
|
+
initialiseExperiencesFx: k({
|
|
190
190
|
source: a,
|
|
191
191
|
effect: (e) => {
|
|
192
192
|
for (let t of e) t.initialiseRequested(void 0);
|
|
@@ -194,20 +194,20 @@ var ce = R(({ client: e }) => {
|
|
|
194
194
|
})
|
|
195
195
|
};
|
|
196
196
|
});
|
|
197
|
-
function
|
|
198
|
-
return
|
|
197
|
+
function de(e) {
|
|
198
|
+
return R(ue, e);
|
|
199
199
|
}
|
|
200
|
-
var
|
|
200
|
+
var fe = async (e) => {
|
|
201
201
|
await e.experiences.initialiseExperiencesFx();
|
|
202
202
|
};
|
|
203
203
|
//#endregion
|
|
204
204
|
//#region src/entities/plugin/plugin.ts
|
|
205
|
-
function
|
|
206
|
-
return
|
|
205
|
+
function pe(e) {
|
|
206
|
+
return N(async () => {
|
|
207
207
|
await e();
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
|
-
var
|
|
210
|
+
var me = (e, t, n) => {
|
|
211
211
|
let r = t.name, i = t.setup(e);
|
|
212
212
|
if (i) {
|
|
213
213
|
let e = n[r] ?? {};
|
|
@@ -216,29 +216,29 @@ var fe = (e, t, n) => {
|
|
|
216
216
|
...i
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
|
-
},
|
|
219
|
+
}, he = M("component"), ge = L(({ client: e, component: t, name: n }) => ({
|
|
220
220
|
name: n,
|
|
221
221
|
component: t,
|
|
222
222
|
frameworkStore: e.frameworks.getByName(t.frameworkName)
|
|
223
223
|
}));
|
|
224
|
-
function
|
|
225
|
-
return
|
|
224
|
+
function _e(e) {
|
|
225
|
+
return R(ge, e);
|
|
226
226
|
}
|
|
227
|
-
var
|
|
228
|
-
let t =
|
|
227
|
+
var ve = L(({ client: e }) => {
|
|
228
|
+
let t = he.store({}), n = j(t, { register(e, t) {
|
|
229
229
|
return {
|
|
230
230
|
...e,
|
|
231
231
|
[t.name]: t
|
|
232
232
|
};
|
|
233
|
-
} }), i =
|
|
234
|
-
|
|
233
|
+
} }), i = P();
|
|
234
|
+
I({
|
|
235
235
|
clock: i,
|
|
236
236
|
source: t,
|
|
237
237
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
238
238
|
fn: (e, { name: t }) => `Component '${t}' already registered. Registering again will override the previous registration.`
|
|
239
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
239
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
240
240
|
clock: i,
|
|
241
|
-
fn: ({ name: t, component: n }) =>
|
|
241
|
+
fn: ({ name: t, component: n }) => _e({
|
|
242
242
|
client: e,
|
|
243
243
|
name: t,
|
|
244
244
|
component: n
|
|
@@ -255,27 +255,27 @@ var ge = R(({ client: e }) => {
|
|
|
255
255
|
listStore: a
|
|
256
256
|
};
|
|
257
257
|
});
|
|
258
|
-
function
|
|
259
|
-
return
|
|
258
|
+
function ye(e) {
|
|
259
|
+
return R(ve, e);
|
|
260
260
|
}
|
|
261
|
-
var
|
|
261
|
+
var be = (e, t, n) => {
|
|
262
262
|
n.register({
|
|
263
263
|
name: e,
|
|
264
264
|
component: t
|
|
265
265
|
});
|
|
266
|
-
},
|
|
267
|
-
let t =
|
|
266
|
+
}, xe = M("framework"), Se = L((e) => {
|
|
267
|
+
let t = xe.store({}), n = j(t, { register(e, t) {
|
|
268
268
|
return {
|
|
269
269
|
...e,
|
|
270
270
|
[t.name]: t.framework
|
|
271
271
|
};
|
|
272
|
-
} }), i =
|
|
273
|
-
|
|
272
|
+
} }), i = P();
|
|
273
|
+
I({
|
|
274
274
|
clock: i,
|
|
275
275
|
source: t,
|
|
276
276
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
277
277
|
fn: (e, { name: t }) => `Framework '${t}' already registered. Registering again will override the previous registration.`
|
|
278
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
278
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
279
279
|
clock: i,
|
|
280
280
|
target: n.register
|
|
281
281
|
});
|
|
@@ -289,106 +289,106 @@ var V = (e, t, n) => {
|
|
|
289
289
|
listStore: a
|
|
290
290
|
};
|
|
291
291
|
});
|
|
292
|
-
function
|
|
293
|
-
return
|
|
292
|
+
function Ce(e) {
|
|
293
|
+
return R(Se, e);
|
|
294
294
|
}
|
|
295
|
-
var
|
|
295
|
+
var we = (e, t) => {
|
|
296
296
|
t.register({
|
|
297
297
|
name: e.name,
|
|
298
298
|
framework: e
|
|
299
299
|
});
|
|
300
|
-
},
|
|
300
|
+
}, Te = L(({ client: e }) => {
|
|
301
301
|
let t = "window" in globalThis, n = {
|
|
302
302
|
location: t ? globalThis.location : void 0,
|
|
303
303
|
document: t ? globalThis.document : void 0,
|
|
304
304
|
sessionStorage: t ? globalThis.sessionStorage : void 0,
|
|
305
305
|
localStorage: t ? globalThis.localStorage : void 0
|
|
306
306
|
};
|
|
307
|
-
return
|
|
307
|
+
return A(e.responses.listStore, e.fields.listStore, (t, r) => Object.freeze({
|
|
308
308
|
client: e,
|
|
309
309
|
responses: t,
|
|
310
310
|
fields: r,
|
|
311
311
|
...n
|
|
312
312
|
}));
|
|
313
313
|
});
|
|
314
|
-
function
|
|
315
|
-
return
|
|
314
|
+
function Ee(e) {
|
|
315
|
+
return R(Te, e);
|
|
316
316
|
}
|
|
317
317
|
//#endregion
|
|
318
318
|
//#region src/logic-engine.ts
|
|
319
|
-
function
|
|
319
|
+
function De(e) {
|
|
320
320
|
return typeof e == "number" && !isNaN(e);
|
|
321
321
|
}
|
|
322
|
-
function
|
|
322
|
+
function B(e) {
|
|
323
323
|
return typeof e == "string";
|
|
324
324
|
}
|
|
325
|
-
function
|
|
325
|
+
function V(e) {
|
|
326
326
|
return Array.isArray(e);
|
|
327
327
|
}
|
|
328
|
-
function
|
|
328
|
+
function Oe(e) {
|
|
329
329
|
return e instanceof Promise;
|
|
330
330
|
}
|
|
331
|
-
function
|
|
331
|
+
function ke(e) {
|
|
332
332
|
return typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1;
|
|
333
333
|
}
|
|
334
|
-
function
|
|
335
|
-
if (
|
|
334
|
+
function H(e) {
|
|
335
|
+
if (De(e)) return e;
|
|
336
336
|
let t = parseFloat(`${e}`);
|
|
337
337
|
return isNaN(t) ? 0 : t;
|
|
338
338
|
}
|
|
339
|
-
function
|
|
339
|
+
function U(e) {
|
|
340
340
|
return `${e}`;
|
|
341
341
|
}
|
|
342
|
-
var
|
|
342
|
+
var Ae = {
|
|
343
343
|
"==": (e, t) => e == t,
|
|
344
344
|
"===": (e, t) => e === t,
|
|
345
345
|
"!=": (e, t) => e != t,
|
|
346
346
|
"!==": (e, t) => e !== t,
|
|
347
|
-
">": (e, t) =>
|
|
348
|
-
">=": (e, t) =>
|
|
347
|
+
">": (e, t) => H(e) > H(t),
|
|
348
|
+
">=": (e, t) => H(e) >= H(t),
|
|
349
349
|
"<": (e, t, n) => {
|
|
350
|
-
let r =
|
|
350
|
+
let r = H(e), i = H(t);
|
|
351
351
|
if (n === void 0) return r < i;
|
|
352
|
-
let a =
|
|
352
|
+
let a = H(n);
|
|
353
353
|
return r < i && i < a;
|
|
354
354
|
},
|
|
355
355
|
"<=": (e, t, n) => {
|
|
356
|
-
let r =
|
|
356
|
+
let r = H(e), i = H(t);
|
|
357
357
|
if (n === void 0) return r <= i;
|
|
358
|
-
let a =
|
|
358
|
+
let a = H(n);
|
|
359
359
|
return r <= i && i <= a;
|
|
360
360
|
},
|
|
361
|
-
"!!": async (e) => await
|
|
362
|
-
"!": async (e) => !await
|
|
363
|
-
"%": (e, t) =>
|
|
361
|
+
"!!": async (e) => await G(e),
|
|
362
|
+
"!": async (e) => !await G(e),
|
|
363
|
+
"%": (e, t) => H(e) % H(t),
|
|
364
364
|
log: (e) => (console.log(e), e),
|
|
365
|
-
in: (e, t) => t ?
|
|
366
|
-
cat: (...e) => e.map(
|
|
365
|
+
in: (e, t) => t ? B(t) ? t.indexOf(U(e)) !== -1 : V(t) ? t.includes(e) : !1 : !1,
|
|
366
|
+
cat: (...e) => e.map(U).join(""),
|
|
367
367
|
substr: (e, t, n) => {
|
|
368
|
-
let r =
|
|
368
|
+
let r = U(e), i = H(t);
|
|
369
369
|
if (n === void 0) return r.substr(i);
|
|
370
|
-
let a =
|
|
370
|
+
let a = H(n);
|
|
371
371
|
if (a < 0) {
|
|
372
372
|
let e = r.substr(i);
|
|
373
373
|
return e.substr(0, e.length + a);
|
|
374
374
|
}
|
|
375
375
|
return r.substr(i, a);
|
|
376
376
|
},
|
|
377
|
-
"+": (...e) => e.reduce((e, t) =>
|
|
378
|
-
"*": (...e) => e.reduce((e, t) =>
|
|
377
|
+
"+": (...e) => e.reduce((e, t) => H(e) + H(t), 0),
|
|
378
|
+
"*": (...e) => e.reduce((e, t) => H(e) * H(t), 1),
|
|
379
379
|
"-": (e, t) => {
|
|
380
|
-
let n =
|
|
381
|
-
return t === void 0 ? -n : n -
|
|
380
|
+
let n = H(e);
|
|
381
|
+
return t === void 0 ? -n : n - H(t);
|
|
382
382
|
},
|
|
383
|
-
"/": (e, t) =>
|
|
384
|
-
min: (...e) => Math.min(...e.map(
|
|
385
|
-
max: (...e) => Math.max(...e.map(
|
|
386
|
-
merge: (...e) => e.reduce((e, t) =>
|
|
383
|
+
"/": (e, t) => H(e) / H(t),
|
|
384
|
+
min: (...e) => Math.min(...e.map(H)),
|
|
385
|
+
max: (...e) => Math.max(...e.map(H)),
|
|
386
|
+
merge: (...e) => e.reduce((e, t) => V(t) ? e.concat(t) : e.concat([t]), []),
|
|
387
387
|
var(e, t) {
|
|
388
388
|
let n = arguments.length > 1 ? t : null;
|
|
389
389
|
if (e === "" || e === "." || e == null) return this;
|
|
390
390
|
if (typeof e == "number" && Array.isArray(this)) return e >= 0 && e < this.length ? this[e] : n;
|
|
391
|
-
let r =
|
|
391
|
+
let r = U(e);
|
|
392
392
|
if (r === "" || r === ".") return this;
|
|
393
393
|
let i = r.split("."), a = this;
|
|
394
394
|
for (let e of i) {
|
|
@@ -401,126 +401,126 @@ var De = {
|
|
|
401
401
|
return a === void 0 ? n : a;
|
|
402
402
|
},
|
|
403
403
|
async missing(...e) {
|
|
404
|
-
let t =
|
|
404
|
+
let t = V(e[0]) ? e[0] : e, n = [];
|
|
405
405
|
for (let e of t) {
|
|
406
|
-
let t = await
|
|
406
|
+
let t = await W({ var: e }, this);
|
|
407
407
|
(t === null || t === "") && n.push(`${e}`);
|
|
408
408
|
}
|
|
409
409
|
return n;
|
|
410
410
|
},
|
|
411
411
|
async missing_some(e, t) {
|
|
412
|
-
let n = await
|
|
413
|
-
if (!
|
|
414
|
-
let r = n.filter(
|
|
415
|
-
return t.filter(
|
|
412
|
+
let n = await W({ missing: t }, this);
|
|
413
|
+
if (!V(n) || !V(t)) return [];
|
|
414
|
+
let r = n.filter(B);
|
|
415
|
+
return t.filter(B).length - r.length >= H(e) ? [] : r;
|
|
416
416
|
},
|
|
417
417
|
invoke(...e) {
|
|
418
418
|
let [t, ...n] = e;
|
|
419
419
|
return typeof t == "function" ? Reflect.apply(t, null, n) : null;
|
|
420
420
|
},
|
|
421
|
-
startsWith: (e, t) =>
|
|
422
|
-
endsWith: (e, t) =>
|
|
421
|
+
startsWith: (e, t) => B(e) && B(t) && e.startsWith(t),
|
|
422
|
+
endsWith: (e, t) => B(e) && B(t) && e.endsWith(t),
|
|
423
423
|
regexp_matches(e, t) {
|
|
424
424
|
let n = e, r = "";
|
|
425
|
-
if (
|
|
425
|
+
if (V(e)) {
|
|
426
426
|
let [t, i] = e;
|
|
427
427
|
n = t, r = i;
|
|
428
428
|
}
|
|
429
|
-
return !
|
|
429
|
+
return !B(n) || !B(r) ? !1 : new RegExp(n, r).test(U(t));
|
|
430
430
|
},
|
|
431
431
|
throw(e) {
|
|
432
|
-
throw Error(
|
|
432
|
+
throw Error(U(e));
|
|
433
433
|
}
|
|
434
434
|
};
|
|
435
|
-
async function
|
|
435
|
+
async function W(e, t) {
|
|
436
436
|
if (!e) return e;
|
|
437
|
-
if (
|
|
438
|
-
if (
|
|
439
|
-
if (!
|
|
440
|
-
let n =
|
|
441
|
-
switch (
|
|
437
|
+
if (Oe(e)) return W(await e, t);
|
|
438
|
+
if (V(e)) return Promise.all(e.map((e) => W(e, t)));
|
|
439
|
+
if (!ke(e)) return e;
|
|
440
|
+
let n = je(e), r = n ? e[n] ?? [] : [];
|
|
441
|
+
switch (V(r) || (r = [r]), n) {
|
|
442
442
|
case "if":
|
|
443
443
|
case "?:":
|
|
444
|
-
for (let e = 0; e < r.length - 1; e += 2) if (await
|
|
445
|
-
return r.length % 2 == 1 ?
|
|
444
|
+
for (let e = 0; e < r.length - 1; e += 2) if (await G(await W(r[e], t))) return W(r[e + 1], t);
|
|
445
|
+
return r.length % 2 == 1 ? W(r[r.length - 1], t) : null;
|
|
446
446
|
case "and": {
|
|
447
447
|
let e = null;
|
|
448
|
-
for (let n of r) if (e = await
|
|
448
|
+
for (let n of r) if (e = await W(n, t), !await G(e)) return e;
|
|
449
449
|
return e;
|
|
450
450
|
}
|
|
451
451
|
case "or": {
|
|
452
452
|
let e = null;
|
|
453
|
-
for (let n of r) if (e = await
|
|
453
|
+
for (let n of r) if (e = await W(n, t), await G(e)) return e;
|
|
454
454
|
return e;
|
|
455
455
|
}
|
|
456
456
|
case "map": {
|
|
457
|
-
let e = await
|
|
458
|
-
return
|
|
457
|
+
let e = await W(r[0], t);
|
|
458
|
+
return V(e) ? await Promise.all(e.map((e) => W(r[1], e))) : [];
|
|
459
459
|
}
|
|
460
460
|
case "filter": {
|
|
461
|
-
let e = await
|
|
462
|
-
return
|
|
461
|
+
let e = await W(r[0], t);
|
|
462
|
+
return V(e) ? (await Promise.all(e.map(async (e) => ({
|
|
463
463
|
item: e,
|
|
464
|
-
shouldInclude: await
|
|
464
|
+
shouldInclude: await G(await W(r[1], e))
|
|
465
465
|
})))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
|
|
466
466
|
}
|
|
467
467
|
case "reduce": {
|
|
468
|
-
let e = await
|
|
469
|
-
if (!
|
|
470
|
-
let n = r[1], i = r.length > 2 ? await
|
|
471
|
-
for (let t of e) i = await
|
|
468
|
+
let e = await W(r[0], t);
|
|
469
|
+
if (!V(e)) return r.length > 2 ? await W(r[2], t) : null;
|
|
470
|
+
let n = r[1], i = r.length > 2 ? await W(r[2], t) : null;
|
|
471
|
+
for (let t of e) i = await W(n, {
|
|
472
472
|
current: t,
|
|
473
473
|
accumulator: i
|
|
474
474
|
});
|
|
475
475
|
return i;
|
|
476
476
|
}
|
|
477
477
|
case "all": {
|
|
478
|
-
let e = await
|
|
479
|
-
if (!
|
|
480
|
-
for (let t of e) if (!await
|
|
478
|
+
let e = await W(r[0], t);
|
|
479
|
+
if (!V(e) || e.length === 0) return !1;
|
|
480
|
+
for (let t of e) if (!await G(await W(r[1], t))) return !1;
|
|
481
481
|
return !0;
|
|
482
482
|
}
|
|
483
483
|
case "some": {
|
|
484
|
-
let e = await
|
|
485
|
-
if (!
|
|
486
|
-
for (let t of e) if (await
|
|
484
|
+
let e = await W(r[0], t);
|
|
485
|
+
if (!V(e)) return !1;
|
|
486
|
+
for (let t of e) if (await G(await W(r[1], t))) return !0;
|
|
487
487
|
return !1;
|
|
488
488
|
}
|
|
489
489
|
case "none": {
|
|
490
|
-
let e = await
|
|
491
|
-
if (!
|
|
492
|
-
for (let t of e) if (await
|
|
490
|
+
let e = await W(r[0], t);
|
|
491
|
+
if (!V(e)) return !0;
|
|
492
|
+
for (let t of e) if (await G(await W(r[1], t))) return !1;
|
|
493
493
|
return !0;
|
|
494
494
|
}
|
|
495
495
|
case "catch": try {
|
|
496
|
-
return await
|
|
496
|
+
return await W(r[0], t);
|
|
497
497
|
} catch (e) {
|
|
498
|
-
return
|
|
498
|
+
return ke(e) ? await W(e, t) : r[1] ? await W(r[1], e) : e instanceof Error ? e.message : e;
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
|
-
let i = await Promise.all(r.map((e) =>
|
|
501
|
+
let i = await Promise.all(r.map((e) => W(e, t))), a = n ? Ae[n] : void 0;
|
|
502
502
|
if (!a) throw Error(`Unrecognized operation ${n}`);
|
|
503
503
|
return a.apply(t, i);
|
|
504
504
|
}
|
|
505
|
-
async function
|
|
506
|
-
return
|
|
505
|
+
async function G(e) {
|
|
506
|
+
return Oe(e) ? G(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
|
|
507
507
|
}
|
|
508
|
-
function
|
|
508
|
+
function je(e) {
|
|
509
509
|
return Object.keys(e)[0];
|
|
510
510
|
}
|
|
511
511
|
//#endregion
|
|
512
512
|
//#region src/lifecycle/rules-logic.ts
|
|
513
|
-
function
|
|
513
|
+
function Me(e, t, n) {
|
|
514
514
|
return new Proxy(Object.create(null), { get(r, i) {
|
|
515
515
|
if (typeof i != "string") return;
|
|
516
516
|
let a = e.find((e) => e.key === i);
|
|
517
|
-
if (a !== void 0) return async () => !n.has(i) && await
|
|
517
|
+
if (a !== void 0) return async () => !n.has(i) && await W(a.logic, {
|
|
518
518
|
...t,
|
|
519
|
-
conditions:
|
|
519
|
+
conditions: Me(e, t, new Set(n).add(i))
|
|
520
520
|
}) === !0;
|
|
521
521
|
} });
|
|
522
522
|
}
|
|
523
|
-
var
|
|
523
|
+
var Ne = L(({ client: e }) => k({
|
|
524
524
|
source: {
|
|
525
525
|
stateSnapshot: e.stateSnapshotStore,
|
|
526
526
|
predicates: e.predicates.listStore,
|
|
@@ -557,149 +557,149 @@ var Ae = R(({ client: e }) => A({
|
|
|
557
557
|
features: u,
|
|
558
558
|
...s
|
|
559
559
|
};
|
|
560
|
-
return await
|
|
560
|
+
return await W(o, {
|
|
561
561
|
...d,
|
|
562
|
-
conditions:
|
|
562
|
+
conditions: Me(a, d, /* @__PURE__ */ new Set())
|
|
563
563
|
});
|
|
564
564
|
}
|
|
565
565
|
}));
|
|
566
|
-
function
|
|
567
|
-
return
|
|
566
|
+
function Pe(e) {
|
|
567
|
+
return R(Ne, e);
|
|
568
568
|
}
|
|
569
569
|
//#endregion
|
|
570
570
|
//#region src/ping.ts
|
|
571
|
-
var
|
|
571
|
+
var Fe = 6e3, Ie = O("last_ping", "global"), Le = async (e) => {
|
|
572
572
|
try {
|
|
573
|
-
let t = Date.now(), n =
|
|
574
|
-
if (n.isSet() && (r = n.json() ?? 0), r && t - r <
|
|
573
|
+
let t = Date.now(), n = E.get(Ie), r = 0;
|
|
574
|
+
if (n.isSet() && (r = n.json() ?? 0), r && t - r < Fe) return !0;
|
|
575
575
|
let i = {
|
|
576
576
|
projectId: e.projectId,
|
|
577
577
|
path: window.location.pathname
|
|
578
578
|
}, a = {}, o = document.getElementById("picked_script")?.dataset.verceltoken;
|
|
579
579
|
o && (a["x-vercel-protection-bypass"] = o);
|
|
580
|
-
let s = (await
|
|
580
|
+
let s = (await te(e.apiUrl, "ping", i, a)).ok;
|
|
581
581
|
return s && n.set(t), s;
|
|
582
582
|
} catch {
|
|
583
583
|
return !1;
|
|
584
584
|
}
|
|
585
|
-
},
|
|
586
|
-
let t =
|
|
585
|
+
}, K = M("lifecycle"), Re = L(({ client: e }) => {
|
|
586
|
+
let t = K.store(!1), r = F(void 0, {
|
|
587
587
|
skipVoid: !1,
|
|
588
|
-
domain:
|
|
589
|
-
}), i =
|
|
588
|
+
domain: K
|
|
589
|
+
}), i = F(void 0, {
|
|
590
590
|
skipVoid: !1,
|
|
591
|
-
domain:
|
|
592
|
-
}), a =
|
|
591
|
+
domain: K
|
|
592
|
+
}), a = K.store("idle"), o = K.store([]), s = F(void 0, {
|
|
593
593
|
skipVoid: !1,
|
|
594
|
-
domain:
|
|
595
|
-
}), l =
|
|
594
|
+
domain: K
|
|
595
|
+
}), l = F(void 0, {
|
|
596
596
|
skipVoid: !1,
|
|
597
|
-
domain:
|
|
598
|
-
}), u =
|
|
597
|
+
domain: K
|
|
598
|
+
}), u = P(), d = P(), f = P(), p = P(), m = P(), h = P();
|
|
599
599
|
o.on(p, (e, t) => [...e, t]), s.on(m, (e, t) => t), l.on(h, (e, t) => t), t.on(d, () => !0);
|
|
600
|
-
let g =
|
|
601
|
-
|
|
602
|
-
}), _ =
|
|
603
|
-
await
|
|
604
|
-
}), v =
|
|
605
|
-
await
|
|
606
|
-
}),
|
|
600
|
+
let g = N(() => {
|
|
601
|
+
Le(e);
|
|
602
|
+
}), _ = N(async () => {
|
|
603
|
+
await ee();
|
|
604
|
+
}), v = N(async () => {
|
|
605
|
+
await fe(e);
|
|
606
|
+
}), y = k({ effect: v }), b = k({
|
|
607
607
|
source: o,
|
|
608
608
|
effect: async (e) => {
|
|
609
609
|
for (let t of e) await t();
|
|
610
610
|
}
|
|
611
|
-
}),
|
|
611
|
+
}), x = k({
|
|
612
612
|
source: s,
|
|
613
613
|
effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
|
|
614
|
-
}),
|
|
614
|
+
}), S = k({
|
|
615
615
|
source: l,
|
|
616
616
|
effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
|
|
617
|
-
}),
|
|
617
|
+
}), C = I({
|
|
618
618
|
clock: u,
|
|
619
619
|
source: a,
|
|
620
620
|
filter: (e) => e === "idle" && c(),
|
|
621
621
|
fn: () => void 0
|
|
622
622
|
});
|
|
623
|
-
|
|
624
|
-
clock:
|
|
623
|
+
I({
|
|
624
|
+
clock: C,
|
|
625
625
|
fn: () => "starting",
|
|
626
626
|
target: a
|
|
627
|
-
}),
|
|
628
|
-
clock:
|
|
627
|
+
}), I({
|
|
628
|
+
clock: C,
|
|
629
629
|
target: g
|
|
630
|
-
}),
|
|
631
|
-
clock:
|
|
632
|
-
target:
|
|
633
|
-
}),
|
|
634
|
-
clock:
|
|
630
|
+
}), I({
|
|
631
|
+
clock: C,
|
|
632
|
+
target: b
|
|
633
|
+
}), I({
|
|
634
|
+
clock: C,
|
|
635
635
|
target: _
|
|
636
|
-
}),
|
|
637
|
-
clock:
|
|
638
|
-
target:
|
|
639
|
-
}),
|
|
640
|
-
clock:
|
|
636
|
+
}), I({
|
|
637
|
+
clock: b.done,
|
|
638
|
+
target: x
|
|
639
|
+
}), I({
|
|
640
|
+
clock: x.doneData,
|
|
641
641
|
target: r
|
|
642
|
-
}),
|
|
643
|
-
clock: C.doneData,
|
|
644
|
-
target: i
|
|
645
|
-
}), L({
|
|
642
|
+
}), I({
|
|
646
643
|
clock: S.doneData,
|
|
644
|
+
target: i
|
|
645
|
+
}), I({
|
|
646
|
+
clock: x.doneData,
|
|
647
647
|
filter: (e) => e,
|
|
648
|
-
target:
|
|
649
|
-
}),
|
|
650
|
-
clock:
|
|
648
|
+
target: S
|
|
649
|
+
}), I({
|
|
650
|
+
clock: S.doneData,
|
|
651
651
|
target: e.session.setIsUser
|
|
652
|
-
}),
|
|
653
|
-
clock:
|
|
652
|
+
}), I({
|
|
653
|
+
clock: S.doneData,
|
|
654
654
|
fn: (e) => ({
|
|
655
655
|
type: "user_decide",
|
|
656
656
|
value: e
|
|
657
657
|
}),
|
|
658
658
|
target: e.eventBus
|
|
659
|
-
}),
|
|
660
|
-
clock:
|
|
659
|
+
}), I({
|
|
660
|
+
clock: x.doneData,
|
|
661
661
|
filter: (e) => !e,
|
|
662
662
|
fn: () => void 0,
|
|
663
663
|
target: f
|
|
664
|
-
}),
|
|
665
|
-
clock:
|
|
664
|
+
}), I({
|
|
665
|
+
clock: S.doneData,
|
|
666
666
|
fn: () => void 0,
|
|
667
667
|
target: f
|
|
668
|
-
}),
|
|
668
|
+
}), I({
|
|
669
669
|
clock: f,
|
|
670
670
|
fn: () => ({ type: "initialize" }),
|
|
671
671
|
target: e.eventBus
|
|
672
672
|
});
|
|
673
|
-
let
|
|
674
|
-
|
|
673
|
+
let w = F(!1).on(_.done, () => !0), T = F(!1).on(f, () => !0), E = F(!1).on(y.done, () => !0), D = A(r, i, (e, t) => e === !0 && t === !0);
|
|
674
|
+
I({
|
|
675
675
|
clock: f,
|
|
676
|
-
source:
|
|
676
|
+
source: D,
|
|
677
677
|
filter: (e) => e,
|
|
678
678
|
fn: () => void 0,
|
|
679
679
|
target: v
|
|
680
680
|
});
|
|
681
|
-
let
|
|
682
|
-
|
|
683
|
-
clock:
|
|
681
|
+
let O = A(w, T, D, (e, t, n) => e && t && n);
|
|
682
|
+
I({
|
|
683
|
+
clock: O,
|
|
684
684
|
filter: (e) => e,
|
|
685
685
|
fn: () => void 0,
|
|
686
|
-
target:
|
|
686
|
+
target: y
|
|
687
687
|
});
|
|
688
|
-
let
|
|
689
|
-
return
|
|
690
|
-
clock:
|
|
688
|
+
let te = A(w, T, D, E, (e, t, n, r) => e && t && (!n || r));
|
|
689
|
+
return I({
|
|
690
|
+
clock: te,
|
|
691
691
|
filter: (e) => e,
|
|
692
692
|
fn: () => void 0,
|
|
693
693
|
target: d
|
|
694
|
-
}),
|
|
694
|
+
}), I({
|
|
695
695
|
clock: d,
|
|
696
696
|
fn: () => "ready",
|
|
697
697
|
target: a
|
|
698
|
-
}),
|
|
698
|
+
}), I({
|
|
699
699
|
clock: d,
|
|
700
700
|
fn: () => ({ type: "ready" }),
|
|
701
701
|
target: e.eventBus
|
|
702
|
-
}),
|
|
702
|
+
}), I({
|
|
703
703
|
clock: d,
|
|
704
704
|
source: e.session.store,
|
|
705
705
|
fn: ({ id: e, isUser: t, identifiers: n }) => ({
|
|
@@ -709,13 +709,13 @@ var Me = 6e3, Ne = k("last_ping", "global"), Pe = async (e) => {
|
|
|
709
709
|
identifiers: n
|
|
710
710
|
}),
|
|
711
711
|
target: e.eventBus
|
|
712
|
-
}),
|
|
712
|
+
}), I({
|
|
713
713
|
clock: [
|
|
714
|
+
b.fail,
|
|
714
715
|
x.fail,
|
|
715
716
|
S.fail,
|
|
716
|
-
C.fail,
|
|
717
717
|
v.fail,
|
|
718
|
-
|
|
718
|
+
y.fail,
|
|
719
719
|
_.fail
|
|
720
720
|
],
|
|
721
721
|
fn: () => "failed",
|
|
@@ -731,13 +731,13 @@ var Me = 6e3, Ne = k("last_ping", "global"), Pe = async (e) => {
|
|
|
731
731
|
setCondition: h
|
|
732
732
|
};
|
|
733
733
|
});
|
|
734
|
-
function
|
|
735
|
-
return
|
|
734
|
+
function ze(e) {
|
|
735
|
+
return R(Re, e);
|
|
736
736
|
}
|
|
737
737
|
//#endregion
|
|
738
738
|
//#region src/entities/predicate/predicate.ts
|
|
739
|
-
var
|
|
740
|
-
let t =
|
|
739
|
+
var Be = M("predicate"), Ve = L(({ client: e }) => {
|
|
740
|
+
let t = Be.store({}), n = j(t, { register(e, t) {
|
|
741
741
|
return {
|
|
742
742
|
...e,
|
|
743
743
|
[t.name]: {
|
|
@@ -745,13 +745,13 @@ var Le = N("predicate"), Re = R(({ client: e }) => {
|
|
|
745
745
|
predicate: t.predicate
|
|
746
746
|
}
|
|
747
747
|
};
|
|
748
|
-
} }), i =
|
|
749
|
-
|
|
748
|
+
} }), i = P();
|
|
749
|
+
I({
|
|
750
750
|
clock: i,
|
|
751
751
|
source: t,
|
|
752
752
|
filter: (e, { name: t }) => e[t] !== void 0,
|
|
753
753
|
fn: (e, { name: t }) => `Predicate '${t}' already registered. Registering again will override the previous registration.`
|
|
754
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
754
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
755
755
|
clock: i,
|
|
756
756
|
fn: ({ name: e, predicate: t }) => Object.freeze({
|
|
757
757
|
name: e,
|
|
@@ -764,7 +764,7 @@ var Le = N("predicate"), Re = R(({ client: e }) => {
|
|
|
764
764
|
return t.map((t) => t[e]?.predicate, { skipVoid: !1 });
|
|
765
765
|
}
|
|
766
766
|
function s(t) {
|
|
767
|
-
let n =
|
|
767
|
+
let n = F(() => void 0, { skipVoid: !1 }), r = k({
|
|
768
768
|
source: {
|
|
769
769
|
predicate: o(t),
|
|
770
770
|
snapshot: e.stateSnapshotStore
|
|
@@ -776,13 +776,13 @@ var Le = N("predicate"), Re = R(({ client: e }) => {
|
|
|
776
776
|
});
|
|
777
777
|
}
|
|
778
778
|
});
|
|
779
|
-
return
|
|
779
|
+
return I({
|
|
780
780
|
source: {
|
|
781
781
|
responses: e.responses.listStore,
|
|
782
782
|
fields: e.fields.listStore
|
|
783
783
|
},
|
|
784
784
|
target: r
|
|
785
|
-
}),
|
|
785
|
+
}), I({
|
|
786
786
|
clock: r.doneData,
|
|
787
787
|
filter: (e) => e !== void 0,
|
|
788
788
|
target: n
|
|
@@ -795,34 +795,34 @@ var Le = N("predicate"), Re = R(({ client: e }) => {
|
|
|
795
795
|
getEvokablePredicate: s
|
|
796
796
|
};
|
|
797
797
|
});
|
|
798
|
-
function
|
|
799
|
-
return
|
|
798
|
+
function He(e) {
|
|
799
|
+
return R(Ve, e);
|
|
800
800
|
}
|
|
801
|
-
var
|
|
801
|
+
var Ue = (e, t, n) => {
|
|
802
802
|
n.register({
|
|
803
803
|
name: e,
|
|
804
804
|
predicate: t
|
|
805
805
|
});
|
|
806
|
-
},
|
|
807
|
-
function
|
|
806
|
+
}, We = M("feature");
|
|
807
|
+
function q(e) {
|
|
808
808
|
return e?.enabled === !1;
|
|
809
809
|
}
|
|
810
|
-
function
|
|
810
|
+
function Ge(e) {
|
|
811
811
|
return e === "true" || e !== "false" && e;
|
|
812
812
|
}
|
|
813
|
-
var
|
|
814
|
-
let t =
|
|
813
|
+
var Ke = L(({ client: e }) => {
|
|
814
|
+
let t = We.store({}), n = We.store([]), i = j(t, { register(e, t) {
|
|
815
815
|
return {
|
|
816
816
|
...e,
|
|
817
817
|
[t.id]: t.feature
|
|
818
818
|
};
|
|
819
|
-
} }), a =
|
|
820
|
-
|
|
819
|
+
} }), a = P();
|
|
820
|
+
I({
|
|
821
821
|
clock: a,
|
|
822
822
|
source: t,
|
|
823
823
|
filter: (e, { id: t }) => e[t] !== void 0,
|
|
824
824
|
fn: (e, { id: t }) => `Feature '${t}' already registered. Registering again will override the previous registration.`
|
|
825
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
825
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
826
826
|
clock: a,
|
|
827
827
|
fn: ({ id: e, feature: t }) => Object.freeze({
|
|
828
828
|
id: e,
|
|
@@ -836,20 +836,20 @@ var Ue = R(({ client: e }) => {
|
|
|
836
836
|
}),
|
|
837
837
|
target: i.register
|
|
838
838
|
});
|
|
839
|
-
let o =
|
|
839
|
+
let o = N(async ({ id: e, key: t, storage: n = "local", enabled: r }) => {
|
|
840
840
|
if (r === !1) return null;
|
|
841
|
-
let i =
|
|
841
|
+
let i = O(`feature:${e}:${t}`, "global"), a = (n === "session" ? D : E).get(i).text();
|
|
842
842
|
return a ? {
|
|
843
843
|
id: e,
|
|
844
844
|
key: t,
|
|
845
|
-
bucket:
|
|
845
|
+
bucket: Ge(a),
|
|
846
846
|
storage: n
|
|
847
847
|
} : null;
|
|
848
|
-
}), s =
|
|
848
|
+
}), s = N((e) => {
|
|
849
849
|
if (!e) return null;
|
|
850
|
-
let t =
|
|
851
|
-
(e.storage === "session" ?
|
|
852
|
-
}), c = /* @__PURE__ */ new Map(), l =
|
|
850
|
+
let t = O(`feature:${e.id}:${e.key}`, "global");
|
|
851
|
+
(e.storage === "session" ? D : E).set(t, e.bucket);
|
|
852
|
+
}), c = /* @__PURE__ */ new Map(), l = k({
|
|
853
853
|
source: {
|
|
854
854
|
allFeaturesStore: t,
|
|
855
855
|
resolvedFeaturesStore: n
|
|
@@ -859,7 +859,7 @@ var Ue = R(({ client: e }) => {
|
|
|
859
859
|
if (a) return a;
|
|
860
860
|
let o = e[n];
|
|
861
861
|
if (!o) throw Error(`Feature with id '${n}' not found`);
|
|
862
|
-
if (
|
|
862
|
+
if (q(o.feature)) return {
|
|
863
863
|
id: o.id,
|
|
864
864
|
bucket: !1,
|
|
865
865
|
key: i,
|
|
@@ -886,7 +886,7 @@ var Ue = R(({ client: e }) => {
|
|
|
886
886
|
};
|
|
887
887
|
}
|
|
888
888
|
});
|
|
889
|
-
|
|
889
|
+
I({
|
|
890
890
|
clock: i.register,
|
|
891
891
|
fn: (e) => {
|
|
892
892
|
let { id: t, feature: n } = e;
|
|
@@ -898,10 +898,10 @@ var Ue = R(({ client: e }) => {
|
|
|
898
898
|
};
|
|
899
899
|
},
|
|
900
900
|
target: o
|
|
901
|
-
}),
|
|
901
|
+
}), I({
|
|
902
902
|
source: t,
|
|
903
903
|
clock: l.doneData,
|
|
904
|
-
filter: (e, t) => !
|
|
904
|
+
filter: (e, t) => !q(e[t.id]?.feature),
|
|
905
905
|
fn: (e, t) => {
|
|
906
906
|
let { id: n, bucket: r, storage: i } = t, a = e[n]?.feature.key;
|
|
907
907
|
return a ? {
|
|
@@ -913,7 +913,7 @@ var Ue = R(({ client: e }) => {
|
|
|
913
913
|
},
|
|
914
914
|
target: s
|
|
915
915
|
});
|
|
916
|
-
let u =
|
|
916
|
+
let u = A({
|
|
917
917
|
allFeaturesStore: t,
|
|
918
918
|
resolvedFeaturesStore: n
|
|
919
919
|
}).map(({ allFeaturesStore: e, resolvedFeaturesStore: t }) => Object.values(e).map((e) => {
|
|
@@ -939,25 +939,25 @@ var Ue = R(({ client: e }) => {
|
|
|
939
939
|
isResolved: !1
|
|
940
940
|
};
|
|
941
941
|
}));
|
|
942
|
-
|
|
942
|
+
I({
|
|
943
943
|
clock: l.doneData,
|
|
944
944
|
source: {
|
|
945
945
|
resolvedFeatures: n,
|
|
946
946
|
allFeatures: t
|
|
947
947
|
},
|
|
948
|
-
filter: ({ resolvedFeatures: e, allFeatures: t }, { id: n, key: r }) => !
|
|
948
|
+
filter: ({ resolvedFeatures: e, allFeatures: t }, { id: n, key: r }) => !q(t[n]?.feature) && !e.some((e) => e.id === n && e.key === r),
|
|
949
949
|
fn: (e, t) => t,
|
|
950
950
|
target: e.eventBus.prepend((e) => ({
|
|
951
951
|
type: "feature_decide",
|
|
952
952
|
feature: e
|
|
953
953
|
}))
|
|
954
|
-
}),
|
|
954
|
+
}), I({
|
|
955
955
|
clock: [o.doneData, l.doneData],
|
|
956
956
|
source: {
|
|
957
957
|
resolvedFeatures: n,
|
|
958
958
|
allFeatures: t
|
|
959
959
|
},
|
|
960
|
-
fn: ({ resolvedFeatures: e, allFeatures: t }, n) => !n ||
|
|
960
|
+
fn: ({ resolvedFeatures: e, allFeatures: t }, n) => !n || q(t[n.id]?.feature) || e.some((e) => e.id === n.id && e.key === n.key) ? e : [...e, n],
|
|
961
961
|
target: n
|
|
962
962
|
});
|
|
963
963
|
function d(e) {
|
|
@@ -974,16 +974,16 @@ var Ue = R(({ client: e }) => {
|
|
|
974
974
|
return t.map((t) => t[e], { skipVoid: !1 });
|
|
975
975
|
}
|
|
976
976
|
function _(e) {
|
|
977
|
-
let t =
|
|
977
|
+
let t = F(async () => void 0, { skipVoid: !1 }), n = h(e), r = k({
|
|
978
978
|
source: n,
|
|
979
979
|
effect: async (e) => {
|
|
980
980
|
if (e) return async () => (await e.getBucket()).bucket;
|
|
981
981
|
}
|
|
982
982
|
});
|
|
983
|
-
return
|
|
983
|
+
return I({
|
|
984
984
|
clock: n,
|
|
985
985
|
target: r
|
|
986
|
-
}),
|
|
986
|
+
}), I({
|
|
987
987
|
clock: r.doneData,
|
|
988
988
|
filter: (e) => e !== void 0,
|
|
989
989
|
target: t
|
|
@@ -995,13 +995,13 @@ var Ue = R(({ client: e }) => {
|
|
|
995
995
|
let n = _(e);
|
|
996
996
|
return p.set(e, n), n;
|
|
997
997
|
}
|
|
998
|
-
function
|
|
999
|
-
let t = v(e), n =
|
|
998
|
+
function ee(e) {
|
|
999
|
+
let t = v(e), n = F(void 0, { skipVoid: !1 }), r = k({
|
|
1000
1000
|
source: t,
|
|
1001
1001
|
mapParams: (e, t) => t,
|
|
1002
|
-
effect:
|
|
1002
|
+
effect: N(async (e) => await e())
|
|
1003
1003
|
});
|
|
1004
|
-
return
|
|
1004
|
+
return I({
|
|
1005
1005
|
clock: r.doneData,
|
|
1006
1006
|
fn: (t) => {
|
|
1007
1007
|
if (t !== void 0) return {
|
|
@@ -1010,15 +1010,15 @@ var Ue = R(({ client: e }) => {
|
|
|
1010
1010
|
};
|
|
1011
1011
|
},
|
|
1012
1012
|
target: n
|
|
1013
|
-
}),
|
|
1013
|
+
}), I({
|
|
1014
1014
|
clock: t,
|
|
1015
1015
|
target: r
|
|
1016
1016
|
}), r(), n;
|
|
1017
1017
|
}
|
|
1018
|
-
function
|
|
1018
|
+
function y(e) {
|
|
1019
1019
|
let t = m.get(e);
|
|
1020
1020
|
if (t) return t;
|
|
1021
|
-
let n =
|
|
1021
|
+
let n = ee(e);
|
|
1022
1022
|
return m.set(e, n), n;
|
|
1023
1023
|
}
|
|
1024
1024
|
return {
|
|
@@ -1027,29 +1027,29 @@ var Ue = R(({ client: e }) => {
|
|
|
1027
1027
|
getByName: g,
|
|
1028
1028
|
listStore: u,
|
|
1029
1029
|
getEvokableFeature: v,
|
|
1030
|
-
getFeatureResult:
|
|
1030
|
+
getFeatureResult: y
|
|
1031
1031
|
};
|
|
1032
1032
|
});
|
|
1033
|
-
function
|
|
1034
|
-
return
|
|
1033
|
+
function qe(e) {
|
|
1034
|
+
return R(Ke, e);
|
|
1035
1035
|
}
|
|
1036
|
-
var
|
|
1036
|
+
var Je = (e, t, n) => {
|
|
1037
1037
|
n.register({
|
|
1038
1038
|
id: e,
|
|
1039
1039
|
feature: t
|
|
1040
1040
|
});
|
|
1041
|
-
},
|
|
1042
|
-
function
|
|
1041
|
+
}, J = M("history");
|
|
1042
|
+
function Ye(e, t) {
|
|
1043
1043
|
return {
|
|
1044
|
-
id:
|
|
1044
|
+
id: re(`history-entry-${Date.now()}-${Math.random()}}`),
|
|
1045
1045
|
node: t,
|
|
1046
1046
|
at: Date.now(),
|
|
1047
1047
|
experienceId: e
|
|
1048
1048
|
};
|
|
1049
1049
|
}
|
|
1050
|
-
var
|
|
1051
|
-
let e =
|
|
1052
|
-
e.on(t, (e, t) => ({ entries: [...e.entries,
|
|
1050
|
+
var Xe = L(() => {
|
|
1051
|
+
let e = J.store({ entries: [] }), t = J.event(), n = J.event(), r = J.event(), i = J.event();
|
|
1052
|
+
e.on(t, (e, t) => ({ entries: [...e.entries, Ye(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Ye(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
|
|
1053
1053
|
function a(e, t) {
|
|
1054
1054
|
let n = {
|
|
1055
1055
|
lastStepIndex: -1,
|
|
@@ -1057,7 +1057,7 @@ var qe = R(() => {
|
|
|
1057
1057
|
};
|
|
1058
1058
|
for (let r = e.length - 1; r >= 0; r--) {
|
|
1059
1059
|
let i = e[r], a = i?.node;
|
|
1060
|
-
if (!(!a || !
|
|
1060
|
+
if (!(!a || !w(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
|
|
1061
1061
|
else {
|
|
1062
1062
|
n.secondLastStepIndex = r;
|
|
1063
1063
|
break;
|
|
@@ -1079,20 +1079,20 @@ var qe = R(() => {
|
|
|
1079
1079
|
entriesStore: e.map((e) => e.entries)
|
|
1080
1080
|
};
|
|
1081
1081
|
});
|
|
1082
|
-
function
|
|
1083
|
-
return
|
|
1082
|
+
function Ze() {
|
|
1083
|
+
return R(Xe);
|
|
1084
1084
|
}
|
|
1085
1085
|
//#endregion
|
|
1086
1086
|
//#region src/utils/events.ts
|
|
1087
|
-
var
|
|
1088
|
-
let t =
|
|
1087
|
+
var Qe = 0, $e = (e) => {
|
|
1088
|
+
let t = F([]);
|
|
1089
1089
|
return t.on(e, (e, t) => [...e, {
|
|
1090
|
-
id:
|
|
1090
|
+
id: Qe++,
|
|
1091
1091
|
at: /* @__PURE__ */ new Date(),
|
|
1092
1092
|
payload: t
|
|
1093
1093
|
}]), t;
|
|
1094
|
-
},
|
|
1095
|
-
let e =
|
|
1094
|
+
}, et = M("field"), tt = L(() => {
|
|
1095
|
+
let e = et.store({}), t = j(e, {
|
|
1096
1096
|
register(e, t) {
|
|
1097
1097
|
return {
|
|
1098
1098
|
...e,
|
|
@@ -1140,13 +1140,13 @@ var Ye = 0, Xe = (e) => {
|
|
|
1140
1140
|
getByName: c
|
|
1141
1141
|
};
|
|
1142
1142
|
});
|
|
1143
|
-
function
|
|
1144
|
-
return
|
|
1143
|
+
function nt() {
|
|
1144
|
+
return R(tt);
|
|
1145
1145
|
}
|
|
1146
1146
|
//#endregion
|
|
1147
1147
|
//#region src/entities/step/step.ts
|
|
1148
|
-
var
|
|
1149
|
-
let e =
|
|
1148
|
+
var rt = M("step"), it = L(() => {
|
|
1149
|
+
let e = rt.store({}), t = j(e, { register(e, t) {
|
|
1150
1150
|
return {
|
|
1151
1151
|
...e,
|
|
1152
1152
|
[t.step.id]: t.step
|
|
@@ -1170,16 +1170,16 @@ var et = N("step"), tt = R(() => {
|
|
|
1170
1170
|
indexStore: e
|
|
1171
1171
|
};
|
|
1172
1172
|
});
|
|
1173
|
-
function
|
|
1174
|
-
return
|
|
1173
|
+
function at() {
|
|
1174
|
+
return R(it);
|
|
1175
1175
|
}
|
|
1176
|
-
function
|
|
1176
|
+
function ot(e, t) {
|
|
1177
1177
|
t.register(e);
|
|
1178
1178
|
}
|
|
1179
1179
|
//#endregion
|
|
1180
1180
|
//#region src/entities/content/content.ts
|
|
1181
|
-
var
|
|
1182
|
-
let e =
|
|
1181
|
+
var st = M("content"), ct = L(() => {
|
|
1182
|
+
let e = st.store({}), t = j(e, {
|
|
1183
1183
|
register(e, t) {
|
|
1184
1184
|
return {
|
|
1185
1185
|
...e,
|
|
@@ -1220,16 +1220,16 @@ var it = N("content"), at = R(() => {
|
|
|
1220
1220
|
indexStore: e
|
|
1221
1221
|
};
|
|
1222
1222
|
});
|
|
1223
|
-
function
|
|
1224
|
-
return
|
|
1223
|
+
function lt() {
|
|
1224
|
+
return R(ct);
|
|
1225
1225
|
}
|
|
1226
|
-
function
|
|
1226
|
+
function ut(e, t) {
|
|
1227
1227
|
t.register(e);
|
|
1228
1228
|
}
|
|
1229
1229
|
//#endregion
|
|
1230
1230
|
//#region src/entities/action/action.ts
|
|
1231
|
-
var
|
|
1232
|
-
let t =
|
|
1231
|
+
var dt = M("action"), ft = L(({ client: e }) => {
|
|
1232
|
+
let t = dt.store({}), n = j(t, { register(e, t) {
|
|
1233
1233
|
return {
|
|
1234
1234
|
...e,
|
|
1235
1235
|
[t.key]: {
|
|
@@ -1237,13 +1237,13 @@ var ct = N("action"), lt = R(({ client: e }) => {
|
|
|
1237
1237
|
action: t.action
|
|
1238
1238
|
}
|
|
1239
1239
|
};
|
|
1240
|
-
} }), i =
|
|
1241
|
-
|
|
1240
|
+
} }), i = P();
|
|
1241
|
+
I({
|
|
1242
1242
|
clock: i,
|
|
1243
1243
|
source: t,
|
|
1244
1244
|
filter: (e, { key: t }) => e[t] !== void 0,
|
|
1245
1245
|
fn: (e, { key: t }) => `Action '${t}' already registered. Registering again will override the previous registration.`
|
|
1246
|
-
}).watch((e) => /* @__PURE__ */ r("warn", e)),
|
|
1246
|
+
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
1247
1247
|
clock: i,
|
|
1248
1248
|
fn: ({ key: e, action: t }) => Object.freeze({
|
|
1249
1249
|
key: e,
|
|
@@ -1256,7 +1256,7 @@ var ct = N("action"), lt = R(({ client: e }) => {
|
|
|
1256
1256
|
return t.map((t) => t[e]?.action, { skipVoid: !1 });
|
|
1257
1257
|
}
|
|
1258
1258
|
function s(t, n) {
|
|
1259
|
-
let r =
|
|
1259
|
+
let r = F(() => void 0, { skipVoid: !1 }), i = n ? { experience: n.experience } : null, a = k({
|
|
1260
1260
|
source: {
|
|
1261
1261
|
action: o(t),
|
|
1262
1262
|
snapshot: e.stateSnapshotStore
|
|
@@ -1268,13 +1268,13 @@ var ct = N("action"), lt = R(({ client: e }) => {
|
|
|
1268
1268
|
}, i);
|
|
1269
1269
|
}
|
|
1270
1270
|
});
|
|
1271
|
-
return
|
|
1271
|
+
return I({
|
|
1272
1272
|
source: {
|
|
1273
1273
|
responses: e.responses.listStore,
|
|
1274
1274
|
fields: e.fields.listStore
|
|
1275
1275
|
},
|
|
1276
1276
|
target: a
|
|
1277
|
-
}),
|
|
1277
|
+
}), I({
|
|
1278
1278
|
clock: a.doneData,
|
|
1279
1279
|
filter: (e) => e !== void 0,
|
|
1280
1280
|
target: r
|
|
@@ -1287,10 +1287,10 @@ var ct = N("action"), lt = R(({ client: e }) => {
|
|
|
1287
1287
|
getEvokableAction: s
|
|
1288
1288
|
};
|
|
1289
1289
|
});
|
|
1290
|
-
function
|
|
1291
|
-
return
|
|
1290
|
+
function pt(e) {
|
|
1291
|
+
return R(ft, e);
|
|
1292
1292
|
}
|
|
1293
|
-
var
|
|
1293
|
+
var mt = (e, t, n) => {
|
|
1294
1294
|
n.register({
|
|
1295
1295
|
key: e,
|
|
1296
1296
|
action: t
|
|
@@ -1298,7 +1298,7 @@ var dt = (e, t, n) => {
|
|
|
1298
1298
|
};
|
|
1299
1299
|
//#endregion
|
|
1300
1300
|
//#region src/entities/response/response-validation.ts
|
|
1301
|
-
function
|
|
1301
|
+
function Y(e, t, n, r) {
|
|
1302
1302
|
return {
|
|
1303
1303
|
fieldKey: e.key,
|
|
1304
1304
|
userMessage: n,
|
|
@@ -1306,62 +1306,62 @@ function Z(e, t, n, r) {
|
|
|
1306
1306
|
value: t
|
|
1307
1307
|
};
|
|
1308
1308
|
}
|
|
1309
|
-
function
|
|
1309
|
+
function X(e) {
|
|
1310
1310
|
return e === null || e === "" || Array.isArray(e) && !e.length;
|
|
1311
1311
|
}
|
|
1312
|
-
function
|
|
1312
|
+
function ht(e) {
|
|
1313
1313
|
return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
|
|
1314
1314
|
}
|
|
1315
|
-
function
|
|
1315
|
+
function gt(e) {
|
|
1316
1316
|
try {
|
|
1317
1317
|
return JSON.stringify(e), !0;
|
|
1318
1318
|
} catch {
|
|
1319
1319
|
return !1;
|
|
1320
1320
|
}
|
|
1321
1321
|
}
|
|
1322
|
-
function
|
|
1322
|
+
function _t(e, t) {
|
|
1323
1323
|
return t.find((t) => t.key === e) ?? null;
|
|
1324
1324
|
}
|
|
1325
|
-
function
|
|
1325
|
+
function vt(e, t) {
|
|
1326
1326
|
return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
|
|
1327
1327
|
}
|
|
1328
|
-
function
|
|
1329
|
-
if (e.type !== "object" ||
|
|
1328
|
+
function yt(e, t) {
|
|
1329
|
+
if (e.type !== "object" || X(t)) return null;
|
|
1330
1330
|
if (e.multiple) {
|
|
1331
|
-
if (!Array.isArray(t)) return
|
|
1331
|
+
if (!Array.isArray(t)) return Y(e, t, "This field expects multiple values", "Field expects an array of objects.");
|
|
1332
1332
|
for (let n of t) {
|
|
1333
|
-
if (typeof n != "object" || !n) return
|
|
1334
|
-
if (!
|
|
1333
|
+
if (typeof n != "object" || !n) return Y(e, t, "This field expects object values", "Field expects an array of objects, but received non-object value.");
|
|
1334
|
+
if (!gt(n)) return Y(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1335
1335
|
}
|
|
1336
1336
|
return null;
|
|
1337
1337
|
}
|
|
1338
|
-
return Array.isArray(t) ?
|
|
1338
|
+
return Array.isArray(t) ? Y(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? Y(e, t, "This field expects an object value", "Field expects an object value.") : gt(t) ? null : Y(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1339
1339
|
}
|
|
1340
|
-
function
|
|
1341
|
-
if (
|
|
1340
|
+
function bt(e, t) {
|
|
1341
|
+
if (X(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
|
|
1342
1342
|
let n = Array.isArray(t) ? t : [t];
|
|
1343
1343
|
if (e.type === "object") {
|
|
1344
1344
|
let r = new Set(e.options.map((e) => JSON.stringify(e.value)));
|
|
1345
|
-
return n.every((e) => r.has(JSON.stringify(e))) ? null :
|
|
1345
|
+
return n.every((e) => r.has(JSON.stringify(e))) ? null : Y(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
|
|
1346
1346
|
}
|
|
1347
1347
|
let r = e.options.map((e) => e.value);
|
|
1348
|
-
return n.every((e) => !
|
|
1348
|
+
return n.every((e) => !ht(e) || e === null ? !1 : r.includes(e)) ? null : Y(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
|
|
1349
1349
|
}
|
|
1350
|
-
async function
|
|
1351
|
-
if (n.validation && !e(n.validation) && !
|
|
1350
|
+
async function xt(t, n, r, i) {
|
|
1351
|
+
if (n.validation && !e(n.validation) && !X(r)) {
|
|
1352
1352
|
let e = i ? {
|
|
1353
1353
|
$input: r,
|
|
1354
1354
|
responses: i
|
|
1355
1355
|
} : { $input: r }, a = await t(n.validation, e);
|
|
1356
|
-
if (typeof a == "string") return
|
|
1357
|
-
if (a === !1) return
|
|
1356
|
+
if (typeof a == "string") return Y(n, r, a, `Field validation resulted in an error: ${a}.`);
|
|
1357
|
+
if (a === !1) return Y(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
|
|
1358
1358
|
}
|
|
1359
|
-
return n.required &&
|
|
1359
|
+
return n.required && X(r) ? Y(n, r, "This field is required", "Field is required.") : !n.multiple && Array.isArray(r) && r.length > 1 ? Y(n, r, "This field expects a single response", "Field expects a single response.") : null;
|
|
1360
1360
|
}
|
|
1361
1361
|
//#endregion
|
|
1362
1362
|
//#region src/entities/response/response.ts
|
|
1363
|
-
var
|
|
1364
|
-
let t =
|
|
1363
|
+
var St = M("response"), Ct = L(({ client: e }) => {
|
|
1364
|
+
let t = St.store({}), r = P(), i = P(), a = j(t, {
|
|
1365
1365
|
register(e, t) {
|
|
1366
1366
|
return {
|
|
1367
1367
|
...e,
|
|
@@ -1390,7 +1390,7 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1390
1390
|
});
|
|
1391
1391
|
} else a.registerBatch(e);
|
|
1392
1392
|
}
|
|
1393
|
-
let s = (t, r) => n(e, t, r), c =
|
|
1393
|
+
let s = (t, r) => n(e, t, r), c = k({
|
|
1394
1394
|
source: {
|
|
1395
1395
|
allFields: e.fields.listStore,
|
|
1396
1396
|
existingResponses: t
|
|
@@ -1400,7 +1400,7 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1400
1400
|
...t,
|
|
1401
1401
|
...n
|
|
1402
1402
|
}, o = Object.entries(n), c = await Promise.allSettled(o.map(async ([t, n]) => {
|
|
1403
|
-
let o =
|
|
1403
|
+
let o = _t(t, e);
|
|
1404
1404
|
if (!o) {
|
|
1405
1405
|
r.push({
|
|
1406
1406
|
fieldKey: t,
|
|
@@ -1410,17 +1410,17 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1410
1410
|
});
|
|
1411
1411
|
return;
|
|
1412
1412
|
}
|
|
1413
|
-
let c =
|
|
1413
|
+
let c = vt(o, n), l = await xt(s, o, c, a);
|
|
1414
1414
|
if (l) {
|
|
1415
1415
|
r.push(l);
|
|
1416
1416
|
return;
|
|
1417
1417
|
}
|
|
1418
|
-
let u =
|
|
1418
|
+
let u = yt(o, c);
|
|
1419
1419
|
if (u) {
|
|
1420
1420
|
r.push(u);
|
|
1421
1421
|
return;
|
|
1422
1422
|
}
|
|
1423
|
-
let d =
|
|
1423
|
+
let d = bt(o, c);
|
|
1424
1424
|
if (d) {
|
|
1425
1425
|
r.push(d);
|
|
1426
1426
|
return;
|
|
@@ -1448,7 +1448,7 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1448
1448
|
async function l(e) {
|
|
1449
1449
|
return c(e);
|
|
1450
1450
|
}
|
|
1451
|
-
let u =
|
|
1451
|
+
let u = k({
|
|
1452
1452
|
source: t,
|
|
1453
1453
|
effect: async (e, t) => {
|
|
1454
1454
|
let { responsesToCommit: n, validationErrors: r } = await c(t);
|
|
@@ -1463,7 +1463,7 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1463
1463
|
value: t
|
|
1464
1464
|
})));
|
|
1465
1465
|
function m(e) {
|
|
1466
|
-
return
|
|
1466
|
+
return A({
|
|
1467
1467
|
f: e,
|
|
1468
1468
|
s: t
|
|
1469
1469
|
}, ({ f: e, s: t }) => {
|
|
@@ -1480,10 +1480,10 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1480
1480
|
function _(t) {
|
|
1481
1481
|
return m(e.fields.getByName(t));
|
|
1482
1482
|
}
|
|
1483
|
-
return
|
|
1483
|
+
return I({
|
|
1484
1484
|
clock: r,
|
|
1485
1485
|
target: a.clearAll
|
|
1486
|
-
}),
|
|
1486
|
+
}), I({
|
|
1487
1487
|
clock: i,
|
|
1488
1488
|
target: a.clear
|
|
1489
1489
|
}), {
|
|
@@ -1499,13 +1499,13 @@ var yt = N("response"), bt = R(({ client: e }) => {
|
|
|
1499
1499
|
getByFieldName: _
|
|
1500
1500
|
};
|
|
1501
1501
|
});
|
|
1502
|
-
function
|
|
1503
|
-
return
|
|
1502
|
+
function wt(e) {
|
|
1503
|
+
return R(Ct, e);
|
|
1504
1504
|
}
|
|
1505
1505
|
//#endregion
|
|
1506
1506
|
//#region src/entities/condition/condition.ts
|
|
1507
|
-
var
|
|
1508
|
-
let e =
|
|
1507
|
+
var Tt = M("condition"), Et = L(() => {
|
|
1508
|
+
let e = Tt.store({}), t = j(e, { register(e, t) {
|
|
1509
1509
|
return {
|
|
1510
1510
|
...e,
|
|
1511
1511
|
[t.condition.id]: t.condition
|
|
@@ -1529,12 +1529,12 @@ var St = N("condition"), Ct = R(() => {
|
|
|
1529
1529
|
indexStore: e
|
|
1530
1530
|
};
|
|
1531
1531
|
});
|
|
1532
|
-
function
|
|
1533
|
-
return
|
|
1532
|
+
function Dt() {
|
|
1533
|
+
return R(Et);
|
|
1534
1534
|
}
|
|
1535
1535
|
//#endregion
|
|
1536
1536
|
//#region src/utils/api-url.ts
|
|
1537
|
-
function
|
|
1537
|
+
function Ot() {
|
|
1538
1538
|
if (c()) {
|
|
1539
1539
|
let e = [
|
|
1540
1540
|
document.currentScript,
|
|
@@ -1549,7 +1549,7 @@ function Tt() {
|
|
|
1549
1549
|
}
|
|
1550
1550
|
//#endregion
|
|
1551
1551
|
//#region src/utils/search-params.ts
|
|
1552
|
-
function
|
|
1552
|
+
function kt() {
|
|
1553
1553
|
if (!s()) return {};
|
|
1554
1554
|
let e = new URLSearchParams(window.location.search), t = {}, n = /* @__PURE__ */ new Set();
|
|
1555
1555
|
for (let [t] of e.entries()) t.startsWith("picked-") && n.add(t);
|
|
@@ -1557,23 +1557,23 @@ function Et() {
|
|
|
1557
1557
|
let n = r.replace("picked-", "");
|
|
1558
1558
|
t[n] = e.getAll(r);
|
|
1559
1559
|
}
|
|
1560
|
-
let r =
|
|
1561
|
-
if (n.size > 0)
|
|
1560
|
+
let r = O("s");
|
|
1561
|
+
if (n.size > 0) D.set(r, t);
|
|
1562
1562
|
else {
|
|
1563
|
-
let e =
|
|
1563
|
+
let e = D.get(r);
|
|
1564
1564
|
if (e) return e.json() || {};
|
|
1565
1565
|
}
|
|
1566
1566
|
return t;
|
|
1567
1567
|
}
|
|
1568
1568
|
//#endregion
|
|
1569
1569
|
//#region src/entities/session/session.ts
|
|
1570
|
-
var
|
|
1571
|
-
function
|
|
1570
|
+
var At = O("session", "global");
|
|
1571
|
+
function jt() {
|
|
1572
1572
|
return p() ? crypto.randomUUID() : `${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 15)}-${Math.random().toString(36).substring(2, 15)}-${Math.random().toString(36).substring(2, 15)}`;
|
|
1573
1573
|
}
|
|
1574
|
-
function
|
|
1574
|
+
function Mt() {
|
|
1575
1575
|
if (!m()) return null;
|
|
1576
|
-
let e =
|
|
1576
|
+
let e = E.get(At);
|
|
1577
1577
|
if (!e.isSet()) return null;
|
|
1578
1578
|
try {
|
|
1579
1579
|
return e.json();
|
|
@@ -1581,10 +1581,10 @@ function kt() {
|
|
|
1581
1581
|
return null;
|
|
1582
1582
|
}
|
|
1583
1583
|
}
|
|
1584
|
-
var
|
|
1585
|
-
let e =
|
|
1584
|
+
var Nt = L(() => {
|
|
1585
|
+
let e = Mt(), t = { id: e?.id ?? jt() };
|
|
1586
1586
|
e?.isUser !== void 0 && (t.isUser = e.isUser), e?.identifiers && Object.keys(e.identifiers).length > 0 && (t.identifiers = e.identifiers);
|
|
1587
|
-
let n =
|
|
1587
|
+
let n = F(t), r = j(n, {
|
|
1588
1588
|
setIsUser: (e, t) => ({
|
|
1589
1589
|
...e,
|
|
1590
1590
|
isUser: t
|
|
@@ -1604,15 +1604,15 @@ var At = R(() => {
|
|
|
1604
1604
|
let i = { id: e.id };
|
|
1605
1605
|
return e.isUser !== void 0 && (i.isUser = e.isUser), Object.keys(r).length > 0 && (i.identifiers = r), i;
|
|
1606
1606
|
}
|
|
1607
|
-
}), i =
|
|
1607
|
+
}), i = k({
|
|
1608
1608
|
source: n,
|
|
1609
1609
|
effect: (e) => {
|
|
1610
1610
|
if (m()) try {
|
|
1611
|
-
|
|
1611
|
+
E.get(At).set(e);
|
|
1612
1612
|
} catch {}
|
|
1613
1613
|
}
|
|
1614
1614
|
});
|
|
1615
|
-
return
|
|
1615
|
+
return I({
|
|
1616
1616
|
source: n,
|
|
1617
1617
|
target: i
|
|
1618
1618
|
}), {
|
|
@@ -1622,39 +1622,39 @@ var At = R(() => {
|
|
|
1622
1622
|
removeIdentifier: r.removeIdentifier
|
|
1623
1623
|
};
|
|
1624
1624
|
});
|
|
1625
|
-
function
|
|
1626
|
-
return
|
|
1625
|
+
function Pt() {
|
|
1626
|
+
return R(Nt, void 0);
|
|
1627
1627
|
}
|
|
1628
1628
|
//#endregion
|
|
1629
1629
|
//#region src/utils/picked-config.ts
|
|
1630
|
-
function
|
|
1630
|
+
function Ft() {
|
|
1631
1631
|
if (s()) return globalThis.window.pickedConfig;
|
|
1632
1632
|
}
|
|
1633
|
-
function
|
|
1634
|
-
if (s()) return
|
|
1633
|
+
function It() {
|
|
1634
|
+
if (s()) return Ft()?.projectId;
|
|
1635
1635
|
}
|
|
1636
|
-
function
|
|
1636
|
+
function Lt() {
|
|
1637
1637
|
if (!c()) return;
|
|
1638
1638
|
let e = document.getElementById("picked_script") || document.querySelector("script#picked") || document.getElementById("cvly");
|
|
1639
1639
|
if (e) return e.dataset.projectid || e.getAttribute("project-id") || void 0;
|
|
1640
1640
|
}
|
|
1641
|
-
function
|
|
1641
|
+
function Rt(e) {
|
|
1642
1642
|
if (e.projectId) return e.projectId;
|
|
1643
|
-
let t =
|
|
1643
|
+
let t = It();
|
|
1644
1644
|
if (t) return t;
|
|
1645
|
-
let n =
|
|
1645
|
+
let n = Lt();
|
|
1646
1646
|
if (n) return n;
|
|
1647
1647
|
throw Error("projectId is required. You can provide it via one of:\n (1) createClient({ projectId }) options;\n (2) window.pickedConfig = { projectId };\n (3) a <script> tag with id 'picked_script', 'picked', or 'cvly' that includes a data-projectid (or project-id) attribute.");
|
|
1648
1648
|
}
|
|
1649
1649
|
//#endregion
|
|
1650
1650
|
//#region src/utils/render-string.ts
|
|
1651
|
-
function
|
|
1651
|
+
function Z(e) {
|
|
1652
1652
|
return e == null || e === "" || Number.isNaN(e);
|
|
1653
1653
|
}
|
|
1654
|
-
var
|
|
1655
|
-
default: (e, t) =>
|
|
1656
|
-
append: (e, t) => t &&
|
|
1657
|
-
prepend: (e, t) => t &&
|
|
1654
|
+
var zt = {
|
|
1655
|
+
default: (e, t) => Z(e) ? String(t ?? "") : String(e),
|
|
1656
|
+
append: (e, t) => t && !Z(e) ? `${e} ${t}` : e,
|
|
1657
|
+
prepend: (e, t) => t && !Z(e) ? `${t} ${e}` : e,
|
|
1658
1658
|
upper: (e) => typeof e == "string" ? e.toUpperCase() : e,
|
|
1659
1659
|
lower: (e) => typeof e == "string" ? e.toLowerCase() : e,
|
|
1660
1660
|
capitalize: (e) => typeof e == "string" ? e.charAt(0).toUpperCase() + e.slice(1) : e,
|
|
@@ -1672,24 +1672,24 @@ var It = {
|
|
|
1672
1672
|
return e instanceof Set ? t.format(Array.from(e).map(String)) : e;
|
|
1673
1673
|
}
|
|
1674
1674
|
};
|
|
1675
|
-
function
|
|
1675
|
+
function Bt(e) {
|
|
1676
1676
|
return typeof e == "object" && !!e;
|
|
1677
1677
|
}
|
|
1678
|
-
function
|
|
1678
|
+
function Vt(e, t) {
|
|
1679
1679
|
let n = t;
|
|
1680
|
-
for (let t of e.split(".")) if (
|
|
1680
|
+
for (let t of e.split(".")) if (Bt(n) && t in n) n = n[t];
|
|
1681
1681
|
else return;
|
|
1682
1682
|
return typeof n == "function" ? n() : n;
|
|
1683
1683
|
}
|
|
1684
|
-
function
|
|
1685
|
-
let n = e.split("|").map((e) => e.trim()), r =
|
|
1684
|
+
function Ht(e, t) {
|
|
1685
|
+
let n = e.split("|").map((e) => e.trim()), r = Vt(n.shift() ?? "", t);
|
|
1686
1686
|
for (let e of n) {
|
|
1687
|
-
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o =
|
|
1687
|
+
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = zt[i];
|
|
1688
1688
|
o && (r = o(r, a));
|
|
1689
1689
|
}
|
|
1690
|
-
return
|
|
1690
|
+
return Z(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
|
|
1691
1691
|
}
|
|
1692
|
-
function
|
|
1692
|
+
function Ut(e, t) {
|
|
1693
1693
|
let n = "", r = 0;
|
|
1694
1694
|
for (; r < e.length;) if (e[r] === "{" && e[r + 1] === "{") {
|
|
1695
1695
|
r += 2;
|
|
@@ -1701,91 +1701,112 @@ function Bt(e, t) {
|
|
|
1701
1701
|
}
|
|
1702
1702
|
i += e[r++];
|
|
1703
1703
|
}
|
|
1704
|
-
n +=
|
|
1704
|
+
n += Ht(i.trim(), t);
|
|
1705
1705
|
} else n += e[r++];
|
|
1706
1706
|
return n;
|
|
1707
1707
|
}
|
|
1708
1708
|
//#endregion
|
|
1709
1709
|
//#region src/utils/preview-session.ts
|
|
1710
|
-
var
|
|
1711
|
-
function
|
|
1712
|
-
return !s() || !h() ? !1 : !!
|
|
1710
|
+
var Wt = "preview-token";
|
|
1711
|
+
function Gt() {
|
|
1712
|
+
return !s() || !h() ? !1 : !!kt()[Wt]?.[0];
|
|
1713
1713
|
}
|
|
1714
1714
|
//#endregion
|
|
1715
1715
|
//#region src/picked.ts
|
|
1716
|
-
var
|
|
1716
|
+
var Kt = class {
|
|
1717
1717
|
static logger = r;
|
|
1718
1718
|
options;
|
|
1719
1719
|
dataSource = null;
|
|
1720
|
+
seededVersionId = null;
|
|
1721
|
+
versionSkew = null;
|
|
1720
1722
|
contentLoader;
|
|
1721
1723
|
previewEmbedderOrigins = null;
|
|
1722
1724
|
plugins = {};
|
|
1723
|
-
|
|
1725
|
+
dataProviders = /* @__PURE__ */ new Map();
|
|
1726
|
+
eventBus = P();
|
|
1724
1727
|
events;
|
|
1725
1728
|
projectId;
|
|
1726
1729
|
apiUrl;
|
|
1727
1730
|
dashboardUrl;
|
|
1728
1731
|
documentationSiteUrl;
|
|
1729
|
-
session =
|
|
1730
|
-
searchParams =
|
|
1731
|
-
history =
|
|
1732
|
-
components =
|
|
1733
|
-
experienceInstances =
|
|
1734
|
-
experiences =
|
|
1735
|
-
frameworks =
|
|
1736
|
-
predicates =
|
|
1737
|
-
features =
|
|
1738
|
-
conditions =
|
|
1739
|
-
fields =
|
|
1740
|
-
responses =
|
|
1741
|
-
steps =
|
|
1742
|
-
contents =
|
|
1743
|
-
actions =
|
|
1744
|
-
conditionResults =
|
|
1745
|
-
stateSnapshotStore =
|
|
1746
|
-
evaluateRuleLogicFx =
|
|
1732
|
+
session = Pt();
|
|
1733
|
+
searchParams = kt();
|
|
1734
|
+
history = Ze();
|
|
1735
|
+
components = ye({ client: this });
|
|
1736
|
+
experienceInstances = S({ client: this });
|
|
1737
|
+
experiences = de({ client: this });
|
|
1738
|
+
frameworks = Ce({ client: this });
|
|
1739
|
+
predicates = He({ client: this });
|
|
1740
|
+
features = qe({ client: this });
|
|
1741
|
+
conditions = Dt();
|
|
1742
|
+
fields = nt();
|
|
1743
|
+
responses = wt({ client: this });
|
|
1744
|
+
steps = at();
|
|
1745
|
+
contents = lt();
|
|
1746
|
+
actions = pt({ client: this });
|
|
1747
|
+
conditionResults = C();
|
|
1748
|
+
stateSnapshotStore = Ee({ client: this });
|
|
1749
|
+
evaluateRuleLogicFx = Pe({ client: this });
|
|
1747
1750
|
start;
|
|
1748
1751
|
readyStore;
|
|
1749
1752
|
preconditionPassedStore;
|
|
1750
1753
|
conditionPassedStore;
|
|
1751
1754
|
lifecycleStageStore;
|
|
1752
|
-
lifecycle =
|
|
1753
|
-
renderStringFx =
|
|
1755
|
+
lifecycle = ze({ client: this });
|
|
1756
|
+
renderStringFx = k({
|
|
1754
1757
|
source: this.responses.listStore,
|
|
1755
1758
|
effect: (e, { template: t, context: n }) => {
|
|
1756
1759
|
let r = {};
|
|
1757
1760
|
for (let t of e) r[t.fieldKey] = t.value;
|
|
1758
|
-
return
|
|
1761
|
+
return Ut(t, {
|
|
1759
1762
|
...n,
|
|
1760
1763
|
responses: r
|
|
1761
1764
|
});
|
|
1762
1765
|
}
|
|
1763
1766
|
});
|
|
1764
1767
|
constructor(e) {
|
|
1765
|
-
this.events =
|
|
1768
|
+
this.events = $e(this.eventBus), this.projectId = Rt(e), this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Ot(), this.dashboardUrl = e.dashboardUrl ?? "https://dashboard.picked.app", this.documentationSiteUrl = e.documentationSiteUrl ?? "https://docs.picked.app", this.start = this.lifecycle.start, this.readyStore = this.lifecycle.readyStore, this.preconditionPassedStore = this.lifecycle.preconditionPassedStore, this.conditionPassedStore = this.lifecycle.conditionPassedStore, this.lifecycleStageStore = this.lifecycle.lifecycleStageStore, this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.setupComponents(), this.lifecycle.setPrecondition(e.precondition), this.lifecycle.setCondition(e.condition), this.eventBus({
|
|
1766
1769
|
type: "load",
|
|
1767
|
-
version:
|
|
1770
|
+
version: ne()
|
|
1768
1771
|
}), this.maybeStartPreviewChannel();
|
|
1769
1772
|
}
|
|
1773
|
+
dataProviderFor(e) {
|
|
1774
|
+
let t = e ?? "", n = this.dataProviders.get(t);
|
|
1775
|
+
if (n) return n;
|
|
1776
|
+
let r = import("../provider-Bskcgd6U.js").then((t) => t.createPickedDataProvider({
|
|
1777
|
+
apiUrl: this.apiUrl,
|
|
1778
|
+
projectId: this.projectId,
|
|
1779
|
+
...e !== void 0 && { previewToken: e }
|
|
1780
|
+
}));
|
|
1781
|
+
return this.dataProviders.set(t, r), r;
|
|
1782
|
+
}
|
|
1783
|
+
async getProjectConfig(e) {
|
|
1784
|
+
let t = await this.dataProviderFor(e?.previewToken), n = await t.getProjectConfig();
|
|
1785
|
+
if (this.dataSource = t.meta.manifest, n === null) throw Error(`Picked could not resolve the configuration for project "${this.projectId}" from ${this.apiUrl}.`);
|
|
1786
|
+
return n;
|
|
1787
|
+
}
|
|
1788
|
+
async getExperienceContent(e, t) {
|
|
1789
|
+
return (await this.dataProviderFor(t?.previewToken)).getContent(e, t?.signal === void 0 ? void 0 : { signal: t.signal });
|
|
1790
|
+
}
|
|
1770
1791
|
maybeStartPreviewChannel() {
|
|
1771
|
-
|
|
1792
|
+
Gt() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
|
|
1772
1793
|
}
|
|
1773
1794
|
registerFramework = (e) => {
|
|
1774
|
-
|
|
1795
|
+
we(e, this.frameworks);
|
|
1775
1796
|
};
|
|
1776
1797
|
registerComponent = (e, t) => {
|
|
1777
|
-
|
|
1798
|
+
be(e, t, this.components);
|
|
1778
1799
|
};
|
|
1779
1800
|
registerPlugin = (e) => {
|
|
1780
|
-
|
|
1801
|
+
me(this, e, this.plugins);
|
|
1781
1802
|
let t = this.plugins[e.name];
|
|
1782
1803
|
t?.onStart && this.lifecycle.registerPluginStartHook(t.onStart);
|
|
1783
1804
|
};
|
|
1784
1805
|
registerFeature = (e, t) => {
|
|
1785
|
-
|
|
1806
|
+
Je(e, t, this.features);
|
|
1786
1807
|
};
|
|
1787
1808
|
registerPredicate = (e, t) => {
|
|
1788
|
-
|
|
1809
|
+
Ue(e, t, this.predicates);
|
|
1789
1810
|
};
|
|
1790
1811
|
registerCondition = (e) => {
|
|
1791
1812
|
this.conditions.register(e);
|
|
@@ -1794,19 +1815,19 @@ var Ut = class {
|
|
|
1794
1815
|
this.fields.register(e);
|
|
1795
1816
|
};
|
|
1796
1817
|
registerStep = (e) => {
|
|
1797
|
-
|
|
1818
|
+
ot(e, this.steps);
|
|
1798
1819
|
};
|
|
1799
1820
|
registerContent = (e) => {
|
|
1800
|
-
|
|
1821
|
+
ut(e, this.contents);
|
|
1801
1822
|
};
|
|
1802
1823
|
patchContent = (e, t) => {
|
|
1803
1824
|
this.contents.patch(e, t);
|
|
1804
1825
|
};
|
|
1805
1826
|
registerAction = (e, t) => {
|
|
1806
|
-
|
|
1827
|
+
mt(e, t, this.actions);
|
|
1807
1828
|
};
|
|
1808
1829
|
registerExperience = (e) => {
|
|
1809
|
-
e.component &&
|
|
1830
|
+
e.component && be(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
|
|
1810
1831
|
};
|
|
1811
1832
|
launchExperienceById = async (e, t) => {
|
|
1812
1833
|
this.experiences.launch({
|
|
@@ -1851,7 +1872,7 @@ var Ut = class {
|
|
|
1851
1872
|
try {
|
|
1852
1873
|
let [t, n] = e.split(":");
|
|
1853
1874
|
if (!t || !n) return;
|
|
1854
|
-
let r =
|
|
1875
|
+
let r = Ge(n);
|
|
1855
1876
|
this.registerFeature(t, {
|
|
1856
1877
|
key: `${r}`,
|
|
1857
1878
|
name: t,
|
|
@@ -1888,8 +1909,8 @@ var Ut = class {
|
|
|
1888
1909
|
});
|
|
1889
1910
|
}
|
|
1890
1911
|
getPluginConfig = (e) => this.plugins[e] ?? {};
|
|
1891
|
-
},
|
|
1892
|
-
async function
|
|
1912
|
+
}, qt = "application/picked-javascript", Jt = "application/picked-module", Yt = "data-picked-hydrated";
|
|
1913
|
+
async function Xt(e) {
|
|
1893
1914
|
if (!("document" in globalThis)) return;
|
|
1894
1915
|
let t = "application/picked-module", n = "data-picked-hydrated";
|
|
1895
1916
|
function r(e) {
|
|
@@ -1918,30 +1939,64 @@ async function qt(e) {
|
|
|
1918
1939
|
a && await a;
|
|
1919
1940
|
}
|
|
1920
1941
|
}
|
|
1921
|
-
function
|
|
1922
|
-
return `<script>(${
|
|
1942
|
+
function Zt() {
|
|
1943
|
+
return `<script>(${Xt.toString()})(document)<\/script>`;
|
|
1923
1944
|
}
|
|
1924
1945
|
//#endregion
|
|
1925
1946
|
//#region src/utils/html-asset-value.ts
|
|
1926
|
-
function
|
|
1947
|
+
function Qt(e) {
|
|
1927
1948
|
return typeof e == "object" && !!e && "id" in e && typeof e.id == "string" && "content" in e && (typeof e.content == "string" || e.content === null);
|
|
1928
1949
|
}
|
|
1929
1950
|
//#endregion
|
|
1930
1951
|
//#region src/entities/component/lazyComponent.ts
|
|
1931
|
-
function
|
|
1952
|
+
function $t(e) {
|
|
1932
1953
|
return {
|
|
1933
1954
|
$$type: "lazy-component",
|
|
1934
1955
|
load: e
|
|
1935
1956
|
};
|
|
1936
1957
|
}
|
|
1937
|
-
function
|
|
1958
|
+
function en(e) {
|
|
1938
1959
|
return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
|
|
1939
1960
|
}
|
|
1940
1961
|
//#endregion
|
|
1962
|
+
//#region src/entities/content/reference.ts
|
|
1963
|
+
function Q(e) {
|
|
1964
|
+
return typeof e == "object" && !!e && !Array.isArray(e) && "contentEntryId" in e && typeof e.contentEntryId == "string";
|
|
1965
|
+
}
|
|
1966
|
+
function $(e) {
|
|
1967
|
+
return Q(e) ? e.contentEntryId : null;
|
|
1968
|
+
}
|
|
1969
|
+
function tn(e) {
|
|
1970
|
+
let t = Array.isArray(e) ? e : [e], n = [];
|
|
1971
|
+
for (let e of t) Q(e) && n.push(e.contentEntryId);
|
|
1972
|
+
return n;
|
|
1973
|
+
}
|
|
1974
|
+
function nn(e, t) {
|
|
1975
|
+
return t === null ? null : e[t] ?? null;
|
|
1976
|
+
}
|
|
1977
|
+
function rn(e, t) {
|
|
1978
|
+
let n = [];
|
|
1979
|
+
for (let r of t) {
|
|
1980
|
+
let t = e[r];
|
|
1981
|
+
t !== void 0 && n.push(t);
|
|
1982
|
+
}
|
|
1983
|
+
return n;
|
|
1984
|
+
}
|
|
1985
|
+
function an(e, t) {
|
|
1986
|
+
if (se.store(t)) return A(t, e.indexStore, (e, t) => nn(t, $(e)));
|
|
1987
|
+
let n = $(t);
|
|
1988
|
+
return e.indexStore.map((e) => nn(e, n), { skipVoid: !1 });
|
|
1989
|
+
}
|
|
1990
|
+
function on(e, t) {
|
|
1991
|
+
if (se.store(t)) return A(t, e.indexStore, (e, t) => rn(t, tn(e)));
|
|
1992
|
+
let n = tn(t);
|
|
1993
|
+
return e.indexStore.map((e) => rn(e, n), { skipVoid: !1 });
|
|
1994
|
+
}
|
|
1995
|
+
//#endregion
|
|
1941
1996
|
//#region src/exports.ts
|
|
1942
|
-
var
|
|
1943
|
-
let t = new
|
|
1997
|
+
var sn = (e) => {
|
|
1998
|
+
let t = new Kt(e);
|
|
1944
1999
|
return u(t), t;
|
|
1945
2000
|
};
|
|
1946
2001
|
//#endregion
|
|
1947
|
-
export {
|
|
2002
|
+
export { Yt as PICKED_HYDRATED_ATTR, Jt as PICKED_MODULE_SCRIPT_TYPE, qt as PICKED_SCRIPT_TYPE, Wt as PREVIEW_TOKEN_PARAM, Kt as Picked, Zt as buildRehydrateBootstrap, sn as createClient, pe as createPluginEffect, O as createStorageKey, an as deriveReference, on as deriveReferences, n as evaluateRuleLogic, Ft as getPickedConfig, Q as isContentReference, Qt as isHtmlAssetValue, h as isInsideIframe, en as isLazyLoader, _ as isPickedRoot, Gt as isPreviewSession, $t as lazyComponent, E as localStore, oe as onInertScriptSubtrees, $ as readReferenceId, tn as readReferenceIds, Xt as rehydrateScripts, ie as reportInertScriptSubtrees, ae as resetInertScriptReport, D as sessionStore, T as subscribe, d as supportsCookies, p as supportsCryptoRandomUUID, c as supportsDocument, i as supportsHistory, f as supportsIntersectionObserver, m as supportsLocalStorage, a as supportsLocation, l as supportsSessionStorage, g as supportsShadowRoot, o as supportsWebComponents, s as supportsWindow };
|