@picked/client 0.0.1-dev.1786001783467 → 0.0.1-dev.1786065500148
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/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/reference/sdk/plugins/dynamic-experiences.md +11 -13
- package/dist/docs/reference/tools/vite-plugin.md +36 -18
- package/dist/esm/index.js +354 -270
- package/dist/esm/plugins/dynamic-experiences/index.js +3 -3
- package/dist/esm/server/index.js +36 -39
- package/dist/plugin-EFn9ALEF.cjs +1 -0
- package/dist/plugin-YytfMG0n.js +153 -0
- package/dist/registry-BYtEBdL1.js +111 -0
- package/dist/registry-DtmKJre-.cjs +1 -0
- package/dist/types/data-source/provider.d.ts +21 -16
- package/dist/types/data-source/provider.d.ts.map +1 -1
- package/dist/types/data-source/registry.d.ts +11 -20
- package/dist/types/data-source/registry.d.ts.map +1 -1
- 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/picked.d.ts +50 -1
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +1 -3
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +8 -7
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +0 -24
- 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 +7 -25
- package/dist/types/server/serialize.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/api-BivzqML_.cjs +0 -1
- package/dist/api-i7XfDMTd.js +0 -38
- package/dist/plugin-Cbhl3kSg.js +0 -300
- package/dist/plugin-h2BTDtJ0.cjs +0 -1
package/dist/esm/index.js
CHANGED
|
@@ -5,13 +5,13 @@ 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
|
|
|
5
5
|
import { a as _, i as v, r as ee, s as y, t as b } from "../dom-BqcToNL0.js";
|
|
6
6
|
import { l as x, n as S, r as C, u as w } from "../experience-instance-DGk11d8a.js";
|
|
7
7
|
import { i as T, n as E, r as D, t as O } from "../storage-1MW3-_As.js";
|
|
8
|
-
import {
|
|
9
|
-
import { t as
|
|
10
|
-
import { n as
|
|
8
|
+
import { a as te, i as ne, o as re, r as ie, s as ae, t as oe } from "../registry-BYtEBdL1.js";
|
|
9
|
+
import { t as se } from "../id-Bo4RBeOs.js";
|
|
10
|
+
import { n as ce, r as le, t as ue } from "../inert-script-report-B_bMPRzp.js";
|
|
11
11
|
import { attach as k, combine as A, createApi as j, createDomain as M, createEffect as N, createEvent as P, createStore as F, sample as I } from "effector";
|
|
12
12
|
import { createFactory as L, invoke as R } from "@withease/factories";
|
|
13
13
|
//#region src/entities/experience/experience.ts
|
|
14
|
-
var z = M("experience"),
|
|
14
|
+
var z = M("experience"), de = L(({ client: e, experience: r }) => {
|
|
15
15
|
let i = z.store(r), a = j(i, { merge(e, t) {
|
|
16
16
|
return {
|
|
17
17
|
...e,
|
|
@@ -98,17 +98,17 @@ var z = M("experience"), se = L(({ client: e, experience: r }) => {
|
|
|
98
98
|
prepareExperienceContentFx: m
|
|
99
99
|
}, u;
|
|
100
100
|
});
|
|
101
|
-
function
|
|
102
|
-
return R(
|
|
101
|
+
function fe(e) {
|
|
102
|
+
return R(de, e);
|
|
103
103
|
}
|
|
104
|
-
var
|
|
104
|
+
var pe = L(({ client: e }) => {
|
|
105
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
110
|
} }), r = P(), i = N((t) => {
|
|
111
|
-
n.register(
|
|
111
|
+
n.register(fe({
|
|
112
112
|
client: e,
|
|
113
113
|
experience: t
|
|
114
114
|
}));
|
|
@@ -194,20 +194,20 @@ var le = L(({ client: e }) => {
|
|
|
194
194
|
})
|
|
195
195
|
};
|
|
196
196
|
});
|
|
197
|
-
function
|
|
198
|
-
return R(
|
|
197
|
+
function me(e) {
|
|
198
|
+
return R(pe, e);
|
|
199
199
|
}
|
|
200
|
-
var
|
|
200
|
+
var he = async (e) => {
|
|
201
201
|
await e.experiences.initialiseExperiencesFx();
|
|
202
202
|
};
|
|
203
203
|
//#endregion
|
|
204
204
|
//#region src/entities/plugin/plugin.ts
|
|
205
|
-
function
|
|
205
|
+
function ge(e) {
|
|
206
206
|
return N(async () => {
|
|
207
207
|
await e();
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
|
-
var
|
|
210
|
+
var _e = (e, t, n) => {
|
|
211
211
|
let r = t.name, i = t.setup(e);
|
|
212
212
|
if (i) {
|
|
213
213
|
let e = n[r] ?? {};
|
|
@@ -216,16 +216,16 @@ var pe = (e, t, n) => {
|
|
|
216
216
|
...i
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
|
-
},
|
|
219
|
+
}, ve = M("component"), ye = 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 R(
|
|
224
|
+
function be(e) {
|
|
225
|
+
return R(ye, e);
|
|
226
226
|
}
|
|
227
|
-
var
|
|
228
|
-
let t =
|
|
227
|
+
var xe = L(({ client: e }) => {
|
|
228
|
+
let t = ve.store({}), n = j(t, { register(e, t) {
|
|
229
229
|
return {
|
|
230
230
|
...e,
|
|
231
231
|
[t.name]: t
|
|
@@ -238,7 +238,7 @@ var _e = L(({ client: e }) => {
|
|
|
238
238
|
fn: (e, { name: t }) => `Component '${t}' already registered. Registering again will override the previous registration.`
|
|
239
239
|
}).watch((e) => /* @__PURE__ */ r("warn", e)), I({
|
|
240
240
|
clock: i,
|
|
241
|
-
fn: ({ name: t, component: n }) =>
|
|
241
|
+
fn: ({ name: t, component: n }) => be({
|
|
242
242
|
client: e,
|
|
243
243
|
name: t,
|
|
244
244
|
component: n
|
|
@@ -255,16 +255,16 @@ var _e = L(({ client: e }) => {
|
|
|
255
255
|
listStore: a
|
|
256
256
|
};
|
|
257
257
|
});
|
|
258
|
-
function
|
|
259
|
-
return R(
|
|
258
|
+
function Se(e) {
|
|
259
|
+
return R(xe, e);
|
|
260
260
|
}
|
|
261
|
-
var
|
|
261
|
+
var Ce = (e, t, n) => {
|
|
262
262
|
n.register({
|
|
263
263
|
name: e,
|
|
264
264
|
component: t
|
|
265
265
|
});
|
|
266
|
-
},
|
|
267
|
-
let t =
|
|
266
|
+
}, we = M("framework"), Te = L((e) => {
|
|
267
|
+
let t = we.store({}), n = j(t, { register(e, t) {
|
|
268
268
|
return {
|
|
269
269
|
...e,
|
|
270
270
|
[t.name]: t.framework
|
|
@@ -289,15 +289,15 @@ var B = (e, t, n) => {
|
|
|
289
289
|
listStore: a
|
|
290
290
|
};
|
|
291
291
|
});
|
|
292
|
-
function
|
|
293
|
-
return R(
|
|
292
|
+
function Ee(e) {
|
|
293
|
+
return R(Te, e);
|
|
294
294
|
}
|
|
295
|
-
var
|
|
295
|
+
var De = (e, t) => {
|
|
296
296
|
t.register({
|
|
297
297
|
name: e.name,
|
|
298
298
|
framework: e
|
|
299
299
|
});
|
|
300
|
-
},
|
|
300
|
+
}, Oe = 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,
|
|
@@ -311,84 +311,84 @@ var Se = (e, t) => {
|
|
|
311
311
|
...n
|
|
312
312
|
}));
|
|
313
313
|
});
|
|
314
|
-
function
|
|
315
|
-
return R(
|
|
314
|
+
function ke(e) {
|
|
315
|
+
return R(Oe, e);
|
|
316
316
|
}
|
|
317
317
|
//#endregion
|
|
318
318
|
//#region src/logic-engine.ts
|
|
319
|
-
function
|
|
319
|
+
function Ae(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 je(e) {
|
|
329
329
|
return e instanceof Promise;
|
|
330
330
|
}
|
|
331
|
-
function
|
|
331
|
+
function Me(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 (Ae(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 Ne = {
|
|
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 (je(e)) return W(await e, t);
|
|
438
|
+
if (V(e)) return Promise.all(e.map((e) => W(e, t)));
|
|
439
|
+
if (!Me(e)) return e;
|
|
440
|
+
let n = Pe(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 Me(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 ? Ne[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 je(e) ? G(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
|
|
507
507
|
}
|
|
508
|
-
function
|
|
508
|
+
function Pe(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 Fe(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: Fe(e, t, new Set(n).add(i))
|
|
520
520
|
}) === !0;
|
|
521
521
|
} });
|
|
522
522
|
}
|
|
523
|
-
var
|
|
523
|
+
var Ie = L(({ client: e }) => k({
|
|
524
524
|
source: {
|
|
525
525
|
stateSnapshot: e.stateSnapshotStore,
|
|
526
526
|
predicates: e.predicates.listStore,
|
|
@@ -557,52 +557,52 @@ var Ae = L(({ client: e }) => k({
|
|
|
557
557
|
features: u,
|
|
558
558
|
...s
|
|
559
559
|
};
|
|
560
|
-
return await
|
|
560
|
+
return await W(o, {
|
|
561
561
|
...d,
|
|
562
|
-
conditions:
|
|
562
|
+
conditions: Fe(a, d, /* @__PURE__ */ new Set())
|
|
563
563
|
});
|
|
564
564
|
}
|
|
565
565
|
}));
|
|
566
|
-
function
|
|
567
|
-
return R(
|
|
566
|
+
function Le(e) {
|
|
567
|
+
return R(Ie, e);
|
|
568
568
|
}
|
|
569
569
|
//#endregion
|
|
570
570
|
//#region src/ping.ts
|
|
571
|
-
var
|
|
571
|
+
var Re = 6e3, ze = O("last_ping", "global"), Be = async (e) => {
|
|
572
572
|
try {
|
|
573
|
-
let t = Date.now(), n = E.get(
|
|
574
|
-
if (n.isSet() && (r = n.json() ?? 0), r && t - r <
|
|
573
|
+
let t = Date.now(), n = E.get(ze), r = 0;
|
|
574
|
+
if (n.isSet() && (r = n.json() ?? 0), r && t - r < Re) 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 re(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"), Ve = L(({ client: e }) => {
|
|
586
|
+
let t = K.store(!1), r = F(void 0, {
|
|
587
587
|
skipVoid: !1,
|
|
588
|
-
domain:
|
|
588
|
+
domain: K
|
|
589
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:
|
|
594
|
+
domain: K
|
|
595
595
|
}), l = F(void 0, {
|
|
596
596
|
skipVoid: !1,
|
|
597
|
-
domain:
|
|
597
|
+
domain: K
|
|
598
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
600
|
let g = N(() => {
|
|
601
|
-
|
|
601
|
+
Be(e);
|
|
602
602
|
}), _ = N(async () => {
|
|
603
603
|
await ee();
|
|
604
604
|
}), v = N(async () => {
|
|
605
|
-
await
|
|
605
|
+
await he(e);
|
|
606
606
|
}), y = k({ effect: v }), b = k({
|
|
607
607
|
source: o,
|
|
608
608
|
effect: async (e) => {
|
|
@@ -731,13 +731,13 @@ var Me = 6e3, Ne = O("last_ping", "global"), Pe = async (e) => {
|
|
|
731
731
|
setCondition: h
|
|
732
732
|
};
|
|
733
733
|
});
|
|
734
|
-
function
|
|
735
|
-
return R(
|
|
734
|
+
function He(e) {
|
|
735
|
+
return R(Ve, e);
|
|
736
736
|
}
|
|
737
737
|
//#endregion
|
|
738
738
|
//#region src/entities/predicate/predicate.ts
|
|
739
|
-
var
|
|
740
|
-
let t =
|
|
739
|
+
var Ue = M("predicate"), We = L(({ client: e }) => {
|
|
740
|
+
let t = Ue.store({}), n = j(t, { register(e, t) {
|
|
741
741
|
return {
|
|
742
742
|
...e,
|
|
743
743
|
[t.name]: {
|
|
@@ -795,23 +795,23 @@ var Le = M("predicate"), Re = L(({ client: e }) => {
|
|
|
795
795
|
getEvokablePredicate: s
|
|
796
796
|
};
|
|
797
797
|
});
|
|
798
|
-
function
|
|
799
|
-
return R(
|
|
798
|
+
function Ge(e) {
|
|
799
|
+
return R(We, e);
|
|
800
800
|
}
|
|
801
|
-
var
|
|
801
|
+
var Ke = (e, t, n) => {
|
|
802
802
|
n.register({
|
|
803
803
|
name: e,
|
|
804
804
|
predicate: t
|
|
805
805
|
});
|
|
806
|
-
},
|
|
807
|
-
function
|
|
806
|
+
}, qe = M("feature");
|
|
807
|
+
function q(e) {
|
|
808
808
|
return e?.enabled === !1;
|
|
809
809
|
}
|
|
810
|
-
function
|
|
810
|
+
function Je(e) {
|
|
811
811
|
return e === "true" || e !== "false" && e;
|
|
812
812
|
}
|
|
813
|
-
var
|
|
814
|
-
let t =
|
|
813
|
+
var Ye = L(({ client: e }) => {
|
|
814
|
+
let t = qe.store({}), n = qe.store([]), i = j(t, { register(e, t) {
|
|
815
815
|
return {
|
|
816
816
|
...e,
|
|
817
817
|
[t.id]: t.feature
|
|
@@ -842,7 +842,7 @@ var Ue = L(({ client: e }) => {
|
|
|
842
842
|
return a ? {
|
|
843
843
|
id: e,
|
|
844
844
|
key: t,
|
|
845
|
-
bucket:
|
|
845
|
+
bucket: Je(a),
|
|
846
846
|
storage: n
|
|
847
847
|
} : null;
|
|
848
848
|
}), s = N((e) => {
|
|
@@ -859,7 +859,7 @@ var Ue = L(({ 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,
|
|
@@ -901,7 +901,7 @@ var Ue = L(({ client: e }) => {
|
|
|
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 ? {
|
|
@@ -945,7 +945,7 @@ var Ue = L(({ client: e }) => {
|
|
|
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",
|
|
@@ -957,7 +957,7 @@ var Ue = L(({ client: e }) => {
|
|
|
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) {
|
|
@@ -991,26 +991,26 @@ var Ue = L(({ client: e }) => {
|
|
|
991
991
|
getEvokableFeature: p
|
|
992
992
|
};
|
|
993
993
|
});
|
|
994
|
-
function
|
|
995
|
-
return R(
|
|
994
|
+
function Xe(e) {
|
|
995
|
+
return R(Ye, e);
|
|
996
996
|
}
|
|
997
|
-
var
|
|
997
|
+
var Ze = (e, t, n) => {
|
|
998
998
|
n.register({
|
|
999
999
|
id: e,
|
|
1000
1000
|
feature: t
|
|
1001
1001
|
});
|
|
1002
|
-
},
|
|
1003
|
-
function
|
|
1002
|
+
}, J = M("history");
|
|
1003
|
+
function Qe(e, t) {
|
|
1004
1004
|
return {
|
|
1005
|
-
id:
|
|
1005
|
+
id: se(`history-entry-${Date.now()}-${Math.random()}}`),
|
|
1006
1006
|
node: t,
|
|
1007
1007
|
at: Date.now(),
|
|
1008
1008
|
experienceId: e
|
|
1009
1009
|
};
|
|
1010
1010
|
}
|
|
1011
|
-
var
|
|
1012
|
-
let e =
|
|
1013
|
-
e.on(t, (e, t) => ({ entries: [...e.entries,
|
|
1011
|
+
var $e = L(() => {
|
|
1012
|
+
let e = J.store({ entries: [] }), t = J.event(), n = J.event(), r = J.event(), i = J.event();
|
|
1013
|
+
e.on(t, (e, t) => ({ entries: [...e.entries, Qe(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Qe(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
|
|
1014
1014
|
function a(e, t) {
|
|
1015
1015
|
let n = {
|
|
1016
1016
|
lastStepIndex: -1,
|
|
@@ -1040,20 +1040,20 @@ var qe = L(() => {
|
|
|
1040
1040
|
entriesStore: e.map((e) => e.entries)
|
|
1041
1041
|
};
|
|
1042
1042
|
});
|
|
1043
|
-
function
|
|
1044
|
-
return R(
|
|
1043
|
+
function et() {
|
|
1044
|
+
return R($e);
|
|
1045
1045
|
}
|
|
1046
1046
|
//#endregion
|
|
1047
1047
|
//#region src/utils/events.ts
|
|
1048
|
-
var
|
|
1048
|
+
var tt = 0, nt = (e) => {
|
|
1049
1049
|
let t = F([]);
|
|
1050
1050
|
return t.on(e, (e, t) => [...e, {
|
|
1051
|
-
id:
|
|
1051
|
+
id: tt++,
|
|
1052
1052
|
at: /* @__PURE__ */ new Date(),
|
|
1053
1053
|
payload: t
|
|
1054
1054
|
}]), t;
|
|
1055
|
-
},
|
|
1056
|
-
let e =
|
|
1055
|
+
}, rt = M("field"), it = L(() => {
|
|
1056
|
+
let e = rt.store({}), t = j(e, {
|
|
1057
1057
|
register(e, t) {
|
|
1058
1058
|
return {
|
|
1059
1059
|
...e,
|
|
@@ -1101,13 +1101,13 @@ var Ye = 0, Xe = (e) => {
|
|
|
1101
1101
|
getByName: c
|
|
1102
1102
|
};
|
|
1103
1103
|
});
|
|
1104
|
-
function
|
|
1105
|
-
return R(
|
|
1104
|
+
function at() {
|
|
1105
|
+
return R(it);
|
|
1106
1106
|
}
|
|
1107
1107
|
//#endregion
|
|
1108
1108
|
//#region src/entities/step/step.ts
|
|
1109
|
-
var
|
|
1110
|
-
let e =
|
|
1109
|
+
var ot = M("step"), st = L(() => {
|
|
1110
|
+
let e = ot.store({}), t = j(e, { register(e, t) {
|
|
1111
1111
|
return {
|
|
1112
1112
|
...e,
|
|
1113
1113
|
[t.step.id]: t.step
|
|
@@ -1131,16 +1131,16 @@ var et = M("step"), tt = L(() => {
|
|
|
1131
1131
|
indexStore: e
|
|
1132
1132
|
};
|
|
1133
1133
|
});
|
|
1134
|
-
function
|
|
1135
|
-
return R(
|
|
1134
|
+
function ct() {
|
|
1135
|
+
return R(st);
|
|
1136
1136
|
}
|
|
1137
|
-
function
|
|
1137
|
+
function lt(e, t) {
|
|
1138
1138
|
t.register(e);
|
|
1139
1139
|
}
|
|
1140
1140
|
//#endregion
|
|
1141
1141
|
//#region src/entities/content/content.ts
|
|
1142
|
-
var
|
|
1143
|
-
let e =
|
|
1142
|
+
var ut = M("content"), dt = L(() => {
|
|
1143
|
+
let e = ut.store({}), t = j(e, {
|
|
1144
1144
|
register(e, t) {
|
|
1145
1145
|
return {
|
|
1146
1146
|
...e,
|
|
@@ -1181,16 +1181,81 @@ var it = M("content"), at = L(() => {
|
|
|
1181
1181
|
indexStore: e
|
|
1182
1182
|
};
|
|
1183
1183
|
});
|
|
1184
|
-
function
|
|
1185
|
-
return R(
|
|
1184
|
+
function ft() {
|
|
1185
|
+
return R(dt);
|
|
1186
1186
|
}
|
|
1187
|
-
function
|
|
1187
|
+
function pt(e, t) {
|
|
1188
1188
|
t.register(e);
|
|
1189
1189
|
}
|
|
1190
1190
|
//#endregion
|
|
1191
|
+
//#region src/data-source/provider.ts
|
|
1192
|
+
var Y = "bundle", X = "api";
|
|
1193
|
+
async function mt() {
|
|
1194
|
+
try {
|
|
1195
|
+
let e = await import("virtual:picked/data");
|
|
1196
|
+
return ie(e) ? e : null;
|
|
1197
|
+
} catch {
|
|
1198
|
+
return null;
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
function ht(e) {
|
|
1202
|
+
if (e === void 0 || ie(e)) return e;
|
|
1203
|
+
}
|
|
1204
|
+
function gt(e) {
|
|
1205
|
+
let { apiUrl: t, projectId: n, previewToken: r, signal: i } = e, a = !!r, o = a ? X : e.mode, s = ht(a ? void 0 : e.bundle), c = a ? void 0 : e.projectConfig, l = e.getContent, u = {
|
|
1206
|
+
mode: o ?? X,
|
|
1207
|
+
manifest: null
|
|
1208
|
+
}, d, f, p = /* @__PURE__ */ new Map();
|
|
1209
|
+
function m() {
|
|
1210
|
+
if (o === X) return Promise.resolve(null);
|
|
1211
|
+
if (s) return Promise.resolve(s);
|
|
1212
|
+
let e = oe();
|
|
1213
|
+
return e ? Promise.resolve(e) : (d ??= mt(), d);
|
|
1214
|
+
}
|
|
1215
|
+
function h(e) {
|
|
1216
|
+
u.mode = e ? Y : X, u.manifest = e ? e.manifestMetadata : null;
|
|
1217
|
+
}
|
|
1218
|
+
async function g() {
|
|
1219
|
+
if (c) return h(await m()), c;
|
|
1220
|
+
let e = await m();
|
|
1221
|
+
return h(e), e ? e.projectConfig : o === Y ? null : te(t, n, {
|
|
1222
|
+
...r !== void 0 && { previewToken: r },
|
|
1223
|
+
...i !== void 0 && { signal: i }
|
|
1224
|
+
});
|
|
1225
|
+
}
|
|
1226
|
+
async function _(e, a) {
|
|
1227
|
+
let s = r === void 0 ? void 0 : { previewToken: r };
|
|
1228
|
+
if (l) return l(e, s);
|
|
1229
|
+
let c = await m();
|
|
1230
|
+
if (h(c), c) try {
|
|
1231
|
+
return await c.experienceContent(e, s);
|
|
1232
|
+
} catch {
|
|
1233
|
+
return `${e.id}`, null;
|
|
1234
|
+
}
|
|
1235
|
+
if (o === Y) return null;
|
|
1236
|
+
let u = a ?? i;
|
|
1237
|
+
return ne(t, n, e.id, {
|
|
1238
|
+
...r !== void 0 && { previewToken: r },
|
|
1239
|
+
...u !== void 0 && { signal: u }
|
|
1240
|
+
});
|
|
1241
|
+
}
|
|
1242
|
+
return {
|
|
1243
|
+
meta: u,
|
|
1244
|
+
getProjectConfig: () => (f ??= g(), f),
|
|
1245
|
+
getContent: (e, t) => {
|
|
1246
|
+
let n = p.get(e.id);
|
|
1247
|
+
if (n) return n;
|
|
1248
|
+
let r = _(e, t?.signal).finally(() => {
|
|
1249
|
+
p.delete(e.id);
|
|
1250
|
+
});
|
|
1251
|
+
return p.set(e.id, r), r;
|
|
1252
|
+
}
|
|
1253
|
+
};
|
|
1254
|
+
}
|
|
1255
|
+
//#endregion
|
|
1191
1256
|
//#region src/entities/action/action.ts
|
|
1192
|
-
var
|
|
1193
|
-
let t =
|
|
1257
|
+
var _t = M("action"), vt = L(({ client: e }) => {
|
|
1258
|
+
let t = _t.store({}), n = j(t, { register(e, t) {
|
|
1194
1259
|
return {
|
|
1195
1260
|
...e,
|
|
1196
1261
|
[t.key]: {
|
|
@@ -1248,10 +1313,10 @@ var ct = M("action"), lt = L(({ client: e }) => {
|
|
|
1248
1313
|
getEvokableAction: s
|
|
1249
1314
|
};
|
|
1250
1315
|
});
|
|
1251
|
-
function
|
|
1252
|
-
return R(
|
|
1316
|
+
function yt(e) {
|
|
1317
|
+
return R(vt, e);
|
|
1253
1318
|
}
|
|
1254
|
-
var
|
|
1319
|
+
var bt = (e, t, n) => {
|
|
1255
1320
|
n.register({
|
|
1256
1321
|
key: e,
|
|
1257
1322
|
action: t
|
|
@@ -1270,35 +1335,35 @@ function Z(e, t, n, r) {
|
|
|
1270
1335
|
function Q(e) {
|
|
1271
1336
|
return e === null || e === "" || Array.isArray(e) && !e.length;
|
|
1272
1337
|
}
|
|
1273
|
-
function
|
|
1338
|
+
function xt(e) {
|
|
1274
1339
|
return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
|
|
1275
1340
|
}
|
|
1276
|
-
function
|
|
1341
|
+
function St(e) {
|
|
1277
1342
|
try {
|
|
1278
1343
|
return JSON.stringify(e), !0;
|
|
1279
1344
|
} catch {
|
|
1280
1345
|
return !1;
|
|
1281
1346
|
}
|
|
1282
1347
|
}
|
|
1283
|
-
function
|
|
1348
|
+
function Ct(e, t) {
|
|
1284
1349
|
return t.find((t) => t.key === e) ?? null;
|
|
1285
1350
|
}
|
|
1286
|
-
function
|
|
1351
|
+
function wt(e, t) {
|
|
1287
1352
|
return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
|
|
1288
1353
|
}
|
|
1289
|
-
function
|
|
1354
|
+
function Tt(e, t) {
|
|
1290
1355
|
if (e.type !== "object" || Q(t)) return null;
|
|
1291
1356
|
if (e.multiple) {
|
|
1292
1357
|
if (!Array.isArray(t)) return Z(e, t, "This field expects multiple values", "Field expects an array of objects.");
|
|
1293
1358
|
for (let n of t) {
|
|
1294
1359
|
if (typeof n != "object" || !n) return Z(e, t, "This field expects object values", "Field expects an array of objects, but received non-object value.");
|
|
1295
|
-
if (!
|
|
1360
|
+
if (!St(n)) return Z(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1296
1361
|
}
|
|
1297
1362
|
return null;
|
|
1298
1363
|
}
|
|
1299
|
-
return Array.isArray(t) ? Z(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? Z(e, t, "This field expects an object value", "Field expects an object value.") :
|
|
1364
|
+
return Array.isArray(t) ? Z(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? Z(e, t, "This field expects an object value", "Field expects an object value.") : St(t) ? null : Z(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
|
|
1300
1365
|
}
|
|
1301
|
-
function
|
|
1366
|
+
function Et(e, t) {
|
|
1302
1367
|
if (Q(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
|
|
1303
1368
|
let n = Array.isArray(t) ? t : [t];
|
|
1304
1369
|
if (e.type === "object") {
|
|
@@ -1306,9 +1371,9 @@ function _t(e, t) {
|
|
|
1306
1371
|
return n.every((e) => r.has(JSON.stringify(e))) ? null : Z(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
|
|
1307
1372
|
}
|
|
1308
1373
|
let r = e.options.map((e) => e.value);
|
|
1309
|
-
return n.every((e) => !
|
|
1374
|
+
return n.every((e) => !xt(e) || e === null ? !1 : r.includes(e)) ? null : Z(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
|
|
1310
1375
|
}
|
|
1311
|
-
async function
|
|
1376
|
+
async function Dt(t, n, r, i) {
|
|
1312
1377
|
if (n.validation && !e(n.validation) && !Q(r)) {
|
|
1313
1378
|
let e = i ? {
|
|
1314
1379
|
$input: r,
|
|
@@ -1321,8 +1386,8 @@ async function vt(t, n, r, i) {
|
|
|
1321
1386
|
}
|
|
1322
1387
|
//#endregion
|
|
1323
1388
|
//#region src/entities/response/response.ts
|
|
1324
|
-
var
|
|
1325
|
-
let t =
|
|
1389
|
+
var Ot = M("response"), kt = L(({ client: e }) => {
|
|
1390
|
+
let t = Ot.store({}), r = P(), i = P(), a = j(t, {
|
|
1326
1391
|
register(e, t) {
|
|
1327
1392
|
return {
|
|
1328
1393
|
...e,
|
|
@@ -1361,7 +1426,7 @@ var yt = M("response"), bt = L(({ client: e }) => {
|
|
|
1361
1426
|
...t,
|
|
1362
1427
|
...n
|
|
1363
1428
|
}, o = Object.entries(n), c = await Promise.allSettled(o.map(async ([t, n]) => {
|
|
1364
|
-
let o =
|
|
1429
|
+
let o = Ct(t, e);
|
|
1365
1430
|
if (!o) {
|
|
1366
1431
|
r.push({
|
|
1367
1432
|
fieldKey: t,
|
|
@@ -1371,17 +1436,17 @@ var yt = M("response"), bt = L(({ client: e }) => {
|
|
|
1371
1436
|
});
|
|
1372
1437
|
return;
|
|
1373
1438
|
}
|
|
1374
|
-
let c =
|
|
1439
|
+
let c = wt(o, n), l = await Dt(s, o, c, a);
|
|
1375
1440
|
if (l) {
|
|
1376
1441
|
r.push(l);
|
|
1377
1442
|
return;
|
|
1378
1443
|
}
|
|
1379
|
-
let u =
|
|
1444
|
+
let u = Tt(o, c);
|
|
1380
1445
|
if (u) {
|
|
1381
1446
|
r.push(u);
|
|
1382
1447
|
return;
|
|
1383
1448
|
}
|
|
1384
|
-
let d =
|
|
1449
|
+
let d = Et(o, c);
|
|
1385
1450
|
if (d) {
|
|
1386
1451
|
r.push(d);
|
|
1387
1452
|
return;
|
|
@@ -1460,13 +1525,13 @@ var yt = M("response"), bt = L(({ client: e }) => {
|
|
|
1460
1525
|
getByFieldName: _
|
|
1461
1526
|
};
|
|
1462
1527
|
});
|
|
1463
|
-
function
|
|
1464
|
-
return R(
|
|
1528
|
+
function At(e) {
|
|
1529
|
+
return R(kt, e);
|
|
1465
1530
|
}
|
|
1466
1531
|
//#endregion
|
|
1467
1532
|
//#region src/entities/condition/condition.ts
|
|
1468
|
-
var
|
|
1469
|
-
let e =
|
|
1533
|
+
var jt = M("condition"), Mt = L(() => {
|
|
1534
|
+
let e = jt.store({}), t = j(e, { register(e, t) {
|
|
1470
1535
|
return {
|
|
1471
1536
|
...e,
|
|
1472
1537
|
[t.condition.id]: t.condition
|
|
@@ -1490,12 +1555,12 @@ var St = M("condition"), Ct = L(() => {
|
|
|
1490
1555
|
indexStore: e
|
|
1491
1556
|
};
|
|
1492
1557
|
});
|
|
1493
|
-
function
|
|
1494
|
-
return R(
|
|
1558
|
+
function Nt() {
|
|
1559
|
+
return R(Mt);
|
|
1495
1560
|
}
|
|
1496
1561
|
//#endregion
|
|
1497
1562
|
//#region src/utils/api-url.ts
|
|
1498
|
-
function
|
|
1563
|
+
function Pt() {
|
|
1499
1564
|
if (c()) {
|
|
1500
1565
|
let e = [
|
|
1501
1566
|
document.currentScript,
|
|
@@ -1510,7 +1575,7 @@ function Tt() {
|
|
|
1510
1575
|
}
|
|
1511
1576
|
//#endregion
|
|
1512
1577
|
//#region src/utils/search-params.ts
|
|
1513
|
-
function
|
|
1578
|
+
function Ft() {
|
|
1514
1579
|
if (!s()) return {};
|
|
1515
1580
|
let e = new URLSearchParams(window.location.search), t = {}, n = /* @__PURE__ */ new Set();
|
|
1516
1581
|
for (let [t] of e.entries()) t.startsWith("picked-") && n.add(t);
|
|
@@ -1528,13 +1593,13 @@ function Et() {
|
|
|
1528
1593
|
}
|
|
1529
1594
|
//#endregion
|
|
1530
1595
|
//#region src/entities/session/session.ts
|
|
1531
|
-
var
|
|
1532
|
-
function
|
|
1596
|
+
var It = O("session", "global");
|
|
1597
|
+
function Lt() {
|
|
1533
1598
|
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)}`;
|
|
1534
1599
|
}
|
|
1535
|
-
function
|
|
1600
|
+
function Rt() {
|
|
1536
1601
|
if (!m()) return null;
|
|
1537
|
-
let e = E.get(
|
|
1602
|
+
let e = E.get(It);
|
|
1538
1603
|
if (!e.isSet()) return null;
|
|
1539
1604
|
try {
|
|
1540
1605
|
return e.json();
|
|
@@ -1542,8 +1607,8 @@ function kt() {
|
|
|
1542
1607
|
return null;
|
|
1543
1608
|
}
|
|
1544
1609
|
}
|
|
1545
|
-
var
|
|
1546
|
-
let e =
|
|
1610
|
+
var zt = L(() => {
|
|
1611
|
+
let e = Rt(), t = { id: e?.id ?? Lt() };
|
|
1547
1612
|
e?.isUser !== void 0 && (t.isUser = e.isUser), e?.identifiers && Object.keys(e.identifiers).length > 0 && (t.identifiers = e.identifiers);
|
|
1548
1613
|
let n = F(t), r = j(n, {
|
|
1549
1614
|
setIsUser: (e, t) => ({
|
|
@@ -1569,7 +1634,7 @@ var At = L(() => {
|
|
|
1569
1634
|
source: n,
|
|
1570
1635
|
effect: (e) => {
|
|
1571
1636
|
if (m()) try {
|
|
1572
|
-
E.get(
|
|
1637
|
+
E.get(It).set(e);
|
|
1573
1638
|
} catch {}
|
|
1574
1639
|
}
|
|
1575
1640
|
});
|
|
@@ -1583,27 +1648,27 @@ var At = L(() => {
|
|
|
1583
1648
|
removeIdentifier: r.removeIdentifier
|
|
1584
1649
|
};
|
|
1585
1650
|
});
|
|
1586
|
-
function
|
|
1587
|
-
return R(
|
|
1651
|
+
function Bt() {
|
|
1652
|
+
return R(zt, void 0);
|
|
1588
1653
|
}
|
|
1589
1654
|
//#endregion
|
|
1590
1655
|
//#region src/utils/picked-config.ts
|
|
1591
|
-
function
|
|
1656
|
+
function Vt() {
|
|
1592
1657
|
if (s()) return globalThis.window.pickedConfig;
|
|
1593
1658
|
}
|
|
1594
|
-
function
|
|
1595
|
-
if (s()) return
|
|
1659
|
+
function Ht() {
|
|
1660
|
+
if (s()) return Vt()?.projectId;
|
|
1596
1661
|
}
|
|
1597
|
-
function
|
|
1662
|
+
function Ut() {
|
|
1598
1663
|
if (!c()) return;
|
|
1599
1664
|
let e = document.getElementById("picked_script") || document.querySelector("script#picked") || document.getElementById("cvly");
|
|
1600
1665
|
if (e) return e.dataset.projectid || e.getAttribute("project-id") || void 0;
|
|
1601
1666
|
}
|
|
1602
|
-
function
|
|
1667
|
+
function Wt(e) {
|
|
1603
1668
|
if (e.projectId) return e.projectId;
|
|
1604
|
-
let t =
|
|
1669
|
+
let t = Ht();
|
|
1605
1670
|
if (t) return t;
|
|
1606
|
-
let n =
|
|
1671
|
+
let n = Ut();
|
|
1607
1672
|
if (n) return n;
|
|
1608
1673
|
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.");
|
|
1609
1674
|
}
|
|
@@ -1612,7 +1677,7 @@ function Ft(e) {
|
|
|
1612
1677
|
function $(e) {
|
|
1613
1678
|
return e == null || e === "" || Number.isNaN(e);
|
|
1614
1679
|
}
|
|
1615
|
-
var
|
|
1680
|
+
var Gt = {
|
|
1616
1681
|
default: (e, t) => $(e) ? String(t ?? "") : String(e),
|
|
1617
1682
|
append: (e, t) => t && !$(e) ? `${e} ${t}` : e,
|
|
1618
1683
|
prepend: (e, t) => t && !$(e) ? `${t} ${e}` : e,
|
|
@@ -1633,24 +1698,24 @@ var It = {
|
|
|
1633
1698
|
return e instanceof Set ? t.format(Array.from(e).map(String)) : e;
|
|
1634
1699
|
}
|
|
1635
1700
|
};
|
|
1636
|
-
function
|
|
1701
|
+
function Kt(e) {
|
|
1637
1702
|
return typeof e == "object" && !!e;
|
|
1638
1703
|
}
|
|
1639
|
-
function
|
|
1704
|
+
function qt(e, t) {
|
|
1640
1705
|
let n = t;
|
|
1641
|
-
for (let t of e.split(".")) if (
|
|
1706
|
+
for (let t of e.split(".")) if (Kt(n) && t in n) n = n[t];
|
|
1642
1707
|
else return;
|
|
1643
1708
|
return typeof n == "function" ? n() : n;
|
|
1644
1709
|
}
|
|
1645
|
-
function
|
|
1646
|
-
let n = e.split("|").map((e) => e.trim()), r =
|
|
1710
|
+
function Jt(e, t) {
|
|
1711
|
+
let n = e.split("|").map((e) => e.trim()), r = qt(n.shift() ?? "", t);
|
|
1647
1712
|
for (let e of n) {
|
|
1648
|
-
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o =
|
|
1713
|
+
let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = Gt[i];
|
|
1649
1714
|
o && (r = o(r, a));
|
|
1650
1715
|
}
|
|
1651
1716
|
return $(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
|
|
1652
1717
|
}
|
|
1653
|
-
function
|
|
1718
|
+
function Yt(e, t) {
|
|
1654
1719
|
let n = "", r = 0;
|
|
1655
1720
|
for (; r < e.length;) if (e[r] === "{" && e[r + 1] === "{") {
|
|
1656
1721
|
r += 2;
|
|
@@ -1662,19 +1727,19 @@ function Bt(e, t) {
|
|
|
1662
1727
|
}
|
|
1663
1728
|
i += e[r++];
|
|
1664
1729
|
}
|
|
1665
|
-
n +=
|
|
1730
|
+
n += Jt(i.trim(), t);
|
|
1666
1731
|
} else n += e[r++];
|
|
1667
1732
|
return n;
|
|
1668
1733
|
}
|
|
1669
1734
|
//#endregion
|
|
1670
1735
|
//#region src/utils/preview-session.ts
|
|
1671
|
-
var
|
|
1672
|
-
function
|
|
1673
|
-
return !s() || !h() ? !1 : !!
|
|
1736
|
+
var Xt = "preview-token";
|
|
1737
|
+
function Zt() {
|
|
1738
|
+
return !s() || !h() ? !1 : !!Ft()[Xt]?.[0];
|
|
1674
1739
|
}
|
|
1675
1740
|
//#endregion
|
|
1676
1741
|
//#region src/picked.ts
|
|
1677
|
-
var
|
|
1742
|
+
var Qt = class {
|
|
1678
1743
|
static logger = r;
|
|
1679
1744
|
options;
|
|
1680
1745
|
dataSource = null;
|
|
@@ -1683,72 +1748,91 @@ var Ut = class {
|
|
|
1683
1748
|
contentLoader;
|
|
1684
1749
|
previewEmbedderOrigins = null;
|
|
1685
1750
|
plugins = {};
|
|
1751
|
+
dataProviders = /* @__PURE__ */ new Map();
|
|
1686
1752
|
eventBus = P();
|
|
1687
1753
|
events;
|
|
1688
1754
|
projectId;
|
|
1689
1755
|
apiUrl;
|
|
1690
1756
|
dashboardUrl;
|
|
1691
1757
|
documentationSiteUrl;
|
|
1692
|
-
session =
|
|
1693
|
-
searchParams =
|
|
1694
|
-
history =
|
|
1695
|
-
components =
|
|
1758
|
+
session = Bt();
|
|
1759
|
+
searchParams = Ft();
|
|
1760
|
+
history = et();
|
|
1761
|
+
components = Se({ client: this });
|
|
1696
1762
|
experienceInstances = S({ client: this });
|
|
1697
|
-
experiences =
|
|
1698
|
-
frameworks =
|
|
1699
|
-
predicates =
|
|
1700
|
-
features =
|
|
1701
|
-
conditions =
|
|
1702
|
-
fields =
|
|
1703
|
-
responses =
|
|
1704
|
-
steps =
|
|
1705
|
-
contents =
|
|
1706
|
-
actions =
|
|
1763
|
+
experiences = me({ client: this });
|
|
1764
|
+
frameworks = Ee({ client: this });
|
|
1765
|
+
predicates = Ge({ client: this });
|
|
1766
|
+
features = Xe({ client: this });
|
|
1767
|
+
conditions = Nt();
|
|
1768
|
+
fields = at();
|
|
1769
|
+
responses = At({ client: this });
|
|
1770
|
+
steps = ct();
|
|
1771
|
+
contents = ft();
|
|
1772
|
+
actions = yt({ client: this });
|
|
1707
1773
|
conditionResults = C();
|
|
1708
|
-
stateSnapshotStore =
|
|
1709
|
-
evaluateRuleLogicFx =
|
|
1774
|
+
stateSnapshotStore = ke({ client: this });
|
|
1775
|
+
evaluateRuleLogicFx = Le({ client: this });
|
|
1710
1776
|
start;
|
|
1711
1777
|
readyStore;
|
|
1712
1778
|
preconditionPassedStore;
|
|
1713
1779
|
conditionPassedStore;
|
|
1714
1780
|
lifecycleStageStore;
|
|
1715
|
-
lifecycle =
|
|
1781
|
+
lifecycle = He({ client: this });
|
|
1716
1782
|
renderStringFx = k({
|
|
1717
1783
|
source: this.responses.listStore,
|
|
1718
1784
|
effect: (e, { template: t, context: n }) => {
|
|
1719
1785
|
let r = {};
|
|
1720
1786
|
for (let t of e) r[t.fieldKey] = t.value;
|
|
1721
|
-
return
|
|
1787
|
+
return Yt(t, {
|
|
1722
1788
|
...n,
|
|
1723
1789
|
responses: r
|
|
1724
1790
|
});
|
|
1725
1791
|
}
|
|
1726
1792
|
});
|
|
1727
1793
|
constructor(e) {
|
|
1728
|
-
this.events =
|
|
1794
|
+
this.events = nt(this.eventBus), this.projectId = Wt(e), this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Pt(), 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({
|
|
1729
1795
|
type: "load",
|
|
1730
|
-
version:
|
|
1796
|
+
version: ae()
|
|
1731
1797
|
}), this.maybeStartPreviewChannel();
|
|
1732
1798
|
}
|
|
1799
|
+
dataProviderFor(e) {
|
|
1800
|
+
let t = e ?? "", n = this.dataProviders.get(t);
|
|
1801
|
+
if (n) return n;
|
|
1802
|
+
let r = gt({
|
|
1803
|
+
apiUrl: this.apiUrl,
|
|
1804
|
+
projectId: this.projectId,
|
|
1805
|
+
...e !== void 0 && { previewToken: e }
|
|
1806
|
+
});
|
|
1807
|
+
return this.dataProviders.set(t, r), r;
|
|
1808
|
+
}
|
|
1809
|
+
async getProjectConfig(e) {
|
|
1810
|
+
let t = this.dataProviderFor(e?.previewToken), n = await t.getProjectConfig();
|
|
1811
|
+
if (this.dataSource = t.meta.manifest, n === null) throw Error(`Picked could not resolve the configuration for project "${this.projectId}" from ${this.apiUrl}.`);
|
|
1812
|
+
return n;
|
|
1813
|
+
}
|
|
1814
|
+
getExperienceContent(e, t) {
|
|
1815
|
+
return this.dataProviderFor(t?.previewToken).getContent(e, t?.signal === void 0 ? void 0 : { signal: t.signal });
|
|
1816
|
+
}
|
|
1733
1817
|
maybeStartPreviewChannel() {
|
|
1734
|
-
|
|
1818
|
+
Zt() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
|
|
1735
1819
|
}
|
|
1736
1820
|
registerFramework = (e) => {
|
|
1737
|
-
|
|
1821
|
+
De(e, this.frameworks);
|
|
1738
1822
|
};
|
|
1739
1823
|
registerComponent = (e, t) => {
|
|
1740
|
-
|
|
1824
|
+
Ce(e, t, this.components);
|
|
1741
1825
|
};
|
|
1742
1826
|
registerPlugin = (e) => {
|
|
1743
|
-
|
|
1827
|
+
_e(this, e, this.plugins);
|
|
1744
1828
|
let t = this.plugins[e.name];
|
|
1745
1829
|
t?.onStart && this.lifecycle.registerPluginStartHook(t.onStart);
|
|
1746
1830
|
};
|
|
1747
1831
|
registerFeature = (e, t) => {
|
|
1748
|
-
|
|
1832
|
+
Ze(e, t, this.features);
|
|
1749
1833
|
};
|
|
1750
1834
|
registerPredicate = (e, t) => {
|
|
1751
|
-
|
|
1835
|
+
Ke(e, t, this.predicates);
|
|
1752
1836
|
};
|
|
1753
1837
|
registerCondition = (e) => {
|
|
1754
1838
|
this.conditions.register(e);
|
|
@@ -1757,19 +1841,19 @@ var Ut = class {
|
|
|
1757
1841
|
this.fields.register(e);
|
|
1758
1842
|
};
|
|
1759
1843
|
registerStep = (e) => {
|
|
1760
|
-
|
|
1844
|
+
lt(e, this.steps);
|
|
1761
1845
|
};
|
|
1762
1846
|
registerContent = (e) => {
|
|
1763
|
-
|
|
1847
|
+
pt(e, this.contents);
|
|
1764
1848
|
};
|
|
1765
1849
|
patchContent = (e, t) => {
|
|
1766
1850
|
this.contents.patch(e, t);
|
|
1767
1851
|
};
|
|
1768
1852
|
registerAction = (e, t) => {
|
|
1769
|
-
|
|
1853
|
+
bt(e, t, this.actions);
|
|
1770
1854
|
};
|
|
1771
1855
|
registerExperience = (e) => {
|
|
1772
|
-
e.component &&
|
|
1856
|
+
e.component && Ce(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
|
|
1773
1857
|
};
|
|
1774
1858
|
launchExperienceById = async (e, t) => {
|
|
1775
1859
|
this.experiences.launch({
|
|
@@ -1814,7 +1898,7 @@ var Ut = class {
|
|
|
1814
1898
|
try {
|
|
1815
1899
|
let [t, n] = e.split(":");
|
|
1816
1900
|
if (!t || !n) return;
|
|
1817
|
-
let r =
|
|
1901
|
+
let r = Je(n);
|
|
1818
1902
|
this.registerFeature(t, {
|
|
1819
1903
|
key: `${r}`,
|
|
1820
1904
|
name: t,
|
|
@@ -1851,8 +1935,8 @@ var Ut = class {
|
|
|
1851
1935
|
});
|
|
1852
1936
|
}
|
|
1853
1937
|
getPluginConfig = (e) => this.plugins[e] ?? {};
|
|
1854
|
-
},
|
|
1855
|
-
async function
|
|
1938
|
+
}, $t = "application/picked-javascript", en = "application/picked-module", tn = "data-picked-hydrated";
|
|
1939
|
+
async function nn(e) {
|
|
1856
1940
|
if (!("document" in globalThis)) return;
|
|
1857
1941
|
let t = "application/picked-module", n = "data-picked-hydrated";
|
|
1858
1942
|
function r(e) {
|
|
@@ -1881,30 +1965,30 @@ async function qt(e) {
|
|
|
1881
1965
|
a && await a;
|
|
1882
1966
|
}
|
|
1883
1967
|
}
|
|
1884
|
-
function
|
|
1885
|
-
return `<script>(${
|
|
1968
|
+
function rn() {
|
|
1969
|
+
return `<script>(${nn.toString()})(document)<\/script>`;
|
|
1886
1970
|
}
|
|
1887
1971
|
//#endregion
|
|
1888
1972
|
//#region src/utils/html-asset-value.ts
|
|
1889
|
-
function
|
|
1973
|
+
function an(e) {
|
|
1890
1974
|
return typeof e == "object" && !!e && "id" in e && typeof e.id == "string" && "content" in e && (typeof e.content == "string" || e.content === null);
|
|
1891
1975
|
}
|
|
1892
1976
|
//#endregion
|
|
1893
1977
|
//#region src/entities/component/lazyComponent.ts
|
|
1894
|
-
function
|
|
1978
|
+
function on(e) {
|
|
1895
1979
|
return {
|
|
1896
1980
|
$$type: "lazy-component",
|
|
1897
1981
|
load: e
|
|
1898
1982
|
};
|
|
1899
1983
|
}
|
|
1900
|
-
function
|
|
1984
|
+
function sn(e) {
|
|
1901
1985
|
return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
|
|
1902
1986
|
}
|
|
1903
1987
|
//#endregion
|
|
1904
1988
|
//#region src/exports.ts
|
|
1905
|
-
var
|
|
1906
|
-
let t = new
|
|
1989
|
+
var cn = (e) => {
|
|
1990
|
+
let t = new Qt(e);
|
|
1907
1991
|
return u(t), t;
|
|
1908
1992
|
};
|
|
1909
1993
|
//#endregion
|
|
1910
|
-
export {
|
|
1994
|
+
export { tn as PICKED_HYDRATED_ATTR, en as PICKED_MODULE_SCRIPT_TYPE, $t as PICKED_SCRIPT_TYPE, Xt as PREVIEW_TOKEN_PARAM, Qt as Picked, rn as buildRehydrateBootstrap, cn as createClient, ge as createPluginEffect, O as createStorageKey, n as evaluateRuleLogic, Vt as getPickedConfig, an as isHtmlAssetValue, h as isInsideIframe, sn as isLazyLoader, _ as isPickedRoot, Zt as isPreviewSession, on as lazyComponent, E as localStore, ue as onInertScriptSubtrees, nn as rehydrateScripts, ce as reportInertScriptSubtrees, le 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 };
|