@picked/client 0.0.82 → 0.0.83-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{api-D8G-8HVZ.cjs → api-Btd9AyKE.cjs} +1 -1
  3. package/dist/{api-B_ewYO43.js → api-cZtXPCQX.js} +1 -1
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/server/index.js +1 -1
  7. package/dist/esm/index.js +417 -416
  8. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  9. package/dist/esm/server/index.js +13 -13
  10. package/dist/{experience-instance-DGk11d8a.js → experience-instance-BibCf-8y.js} +299 -154
  11. package/dist/experience-instance-CMfjyLaI.cjs +1 -0
  12. package/dist/{plugin-WesBxGtC.js → plugin-BmkOR6kx.js} +2 -2
  13. package/dist/{plugin-DPZ8aMJt.cjs → plugin-MA904fJh.cjs} +1 -1
  14. package/dist/{provider-DFoze53Z.cjs → provider-CJlNhZwH.cjs} +1 -1
  15. package/dist/{provider-BR2HOdya.js → provider-CMo2-Z-x.js} +1 -1
  16. package/dist/types/entities/experience/experience.d.ts +8 -0
  17. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  18. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  19. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts +16 -6
  20. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
  21. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts +18 -7
  22. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
  23. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +30 -6
  24. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
  25. package/dist/types/utils/node-tree/node-adjacency.d.ts +50 -0
  26. package/dist/types/utils/node-tree/node-adjacency.d.ts.map +1 -0
  27. package/dist/types/utils/node-tree/node-tree-index.d.ts +57 -0
  28. package/dist/types/utils/node-tree/node-tree-index.d.ts.map +1 -0
  29. package/dist/{version-F-XKx24-.cjs → version-C886stqn.cjs} +1 -1
  30. package/dist/{version-BZ7EkVfb.js → version-CvSwJwMW.js} +1 -1
  31. package/package.json +3 -3
  32. package/dist/experience-instance-Dej3P1sE.cjs +0 -1
package/dist/esm/index.js CHANGED
@@ -3,16 +3,16 @@ 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, p, r as m, s as h, t as g, u as _ } from "../supports-CO9bJGNl.js";
5
5
  import { a as v, i as y, r as ee, s as b, t as x } from "../dom-BqcToNL0.js";
6
- import { l as S, n as C, r as w, u as T } from "../experience-instance-DGk11d8a.js";
7
- import { i as E, n as D, r as O, t as k } from "../storage-1MW3-_As.js";
8
- import { i as te, n as ne, r as re, t as ie } from "../version-BZ7EkVfb.js";
9
- import { t as ae } from "../id-Bo4RBeOs.js";
10
- import { n as oe, r as se, t as ce } from "../inert-script-report-B_bMPRzp.js";
11
- import { attach as A, combine as j, createApi as M, createDomain as N, createEffect as P, createEvent as F, createStore as I, is as le, sample as L } from "effector";
12
- import { createFactory as R, invoke as z } from "@withease/factories";
6
+ import { d as S, l as C, n as w, r as te, u as T } from "../experience-instance-BibCf-8y.js";
7
+ import { i as ne, n as E, r as D, t as O } from "../storage-1MW3-_As.js";
8
+ import { i as re, n as ie, r as ae, t as oe } from "../version-CvSwJwMW.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
+ import { attach as k, combine as A, createApi as j, createDomain as M, createEffect as N, createEvent as P, createStore as F, is as de, 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 B = N("experience"), ue = R(({ client: e, experience: r }) => {
15
- let i = B.store(r), a = M(i, { merge(e, t) {
14
+ var z = M("experience"), fe = 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"), ue = R(({ client: e, experience: r }) => {
22
22
  decisionLogic: e.condition,
23
23
  targetSelectors: e.targets,
24
24
  initializeOpenLogic: e.initializeOpen
25
- })), s = j(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 = j(i, e.steps.indexStore, e.conditions.indexStore, (e, t, n) => {
26
- let r = e.nodes.filter(T).map((e) => t[e.stepId]).filter((e) => e !== void 0), i = e.nodes.filter(S).map((e) => n[e.conditionId]).filter((e) => e !== void 0);
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(S).map((e) => t[e.stepId]).filter((e) => e !== void 0), i = e.nodes.filter(T).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 = A({
33
+ }), l = i.map((e) => C(e.nodes, e.edges)), u = r.actions ?? [], d, f = k({
34
34
  source: o,
35
35
  effect: (t, n) => {
36
36
  let i = y(t.targetSelectors, r.id);
37
37
  i.forEach(({ elements: e }) => e.forEach((e) => b(e, r.id))), x(i, r.id, r.key).forEach((t) => {
38
- n ? e.experienceInstances.spawn(u, t, n) : e.experienceInstances.spawn(u, t);
38
+ n ? e.experienceInstances.spawn(d, t, n) : e.experienceInstances.spawn(d, t);
39
39
  });
40
40
  }
41
- }), f = j({
41
+ }), p = A({
42
42
  preconditionPassed: e.preconditionPassedStore,
43
43
  isUser: e.session.store.map((e) => e.isUser, { skipVoid: !1 }),
44
44
  config: o
45
- }), p = A({
46
- source: f,
45
+ }), m = k({
46
+ source: p,
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 || y(c, r.id).length < 1 ? !1 : s === void 0 || !t(s) || await n(e, s) === !0;
51
51
  }
52
- }), m = P(async () => {
52
+ }), h = N(async () => {
53
53
  if (!e.contentLoader) return !0;
54
54
  try {
55
55
  await e.contentLoader({
@@ -60,60 +60,61 @@ var B = N("experience"), ue = R(({ client: e, experience: r }) => {
60
60
  `${r.id}`;
61
61
  }
62
62
  return !0;
63
- }), h = F(), g = F(), _ = B.createStore(void 0, { skipVoid: !1 }).on(h, (e, t) => t).on(g, (e, t) => t);
64
- return L({
65
- clock: h,
66
- target: p
67
- }), L({
68
- clock: p.doneData,
69
- source: _,
63
+ }), g = P(), _ = P(), v = z.createStore(void 0, { skipVoid: !1 }).on(g, (e, t) => t).on(_, (e, t) => t);
64
+ return I({
65
+ clock: g,
66
+ target: m
67
+ }), I({
68
+ clock: m.doneData,
69
+ source: v,
70
70
  filter: (e, t) => t,
71
71
  fn: (e) => e,
72
- target: d
73
- }), L({
74
- clock: p.doneData,
72
+ target: f
73
+ }), I({
74
+ clock: m.doneData,
75
75
  filter: Boolean,
76
- target: m
77
- }), L({
78
- clock: g,
79
- source: _,
76
+ target: h
77
+ }), I({
78
+ clock: _,
79
+ source: v,
80
80
  fn: (e) => e,
81
- target: d
82
- }), L({
83
- clock: g,
84
- target: m
85
- }), u = {
81
+ target: f
82
+ }), I({
83
+ clock: _,
84
+ target: h
85
+ }), d = {
86
86
  id: r.id,
87
87
  key: r.key,
88
88
  name: r.name,
89
89
  configStore: o,
90
90
  treeStore: c,
91
+ nodeTreeStore: l,
91
92
  componentStore: s,
92
- actions: l,
93
+ actions: u,
93
94
  merge: a.merge,
94
- initialiseFx: d,
95
- shouldInitialiseFx: p,
96
- initialiseRequested: h,
97
- initialiseDirectly: g,
98
- prepareExperienceContentFx: m
99
- }, u;
95
+ initialiseFx: f,
96
+ shouldInitialiseFx: m,
97
+ initialiseRequested: g,
98
+ initialiseDirectly: _,
99
+ prepareExperienceContentFx: h
100
+ }, d;
100
101
  });
101
- function de(e) {
102
- return z(ue, e);
102
+ function pe(e) {
103
+ return R(fe, e);
103
104
  }
104
- var fe = R(({ client: e }) => {
105
- let t = B.store({}), n = M(t, { register(e, t) {
105
+ var me = L(({ client: e }) => {
106
+ let t = z.store({}), n = j(t, { register(e, t) {
106
107
  return {
107
108
  ...e,
108
109
  [t.id]: t
109
110
  };
110
- } }), r = F(), i = P((t) => {
111
- n.register(de({
111
+ } }), r = P(), i = N((t) => {
112
+ n.register(pe({
112
113
  client: e,
113
114
  experience: t
114
115
  }));
115
116
  });
116
- L({
117
+ I({
117
118
  clock: r,
118
119
  source: t,
119
120
  filter: (e, t) => e[t.id] !== void 0,
@@ -126,7 +127,7 @@ var fe = R(({ client: e }) => {
126
127
  experience: t,
127
128
  strategy: "override"
128
129
  });
129
- }), L({
130
+ }), I({
130
131
  clock: r,
131
132
  source: t,
132
133
  filter: (e, t) => e[t.id] === void 0,
@@ -140,7 +141,7 @@ var fe = R(({ client: e }) => {
140
141
  function s(e) {
141
142
  return t.map((t) => Object.values(t).find((t) => t.key === e) ?? t[e], { skipVoid: !1 });
142
143
  }
143
- let c = A({
144
+ let c = k({
144
145
  source: t,
145
146
  effect: (e, t) => {
146
147
  let n = "key" in t ? Object.values(e).find((e) => e.key === t.key) : e[t.id];
@@ -158,7 +159,7 @@ var fe = R(({ client: e }) => {
158
159
  getById: o,
159
160
  getByKey: s,
160
161
  launch: c,
161
- open: A({
162
+ open: k({
162
163
  source: {
163
164
  experiences: t,
164
165
  instances: e.experienceInstances.listStore
@@ -186,7 +187,7 @@ var fe = R(({ client: e }) => {
186
187
  }
187
188
  }),
188
189
  listStore: a,
189
- initialiseExperiencesFx: A({
190
+ initialiseExperiencesFx: k({
190
191
  source: a,
191
192
  effect: (e) => {
192
193
  for (let t of e) t.initialiseRequested(void 0);
@@ -194,48 +195,48 @@ var fe = R(({ client: e }) => {
194
195
  })
195
196
  };
196
197
  });
197
- function pe(e) {
198
- return z(fe, e);
198
+ function he(e) {
199
+ return R(me, e);
199
200
  }
200
- var me = async (e) => {
201
+ var ge = async (e) => {
201
202
  await e.experiences.initialiseExperiencesFx();
202
203
  };
203
204
  //#endregion
204
205
  //#region src/entities/plugin/plugin.ts
205
- function he(e) {
206
- return P(async () => {
206
+ function _e(e) {
207
+ return N(async () => {
207
208
  await e();
208
209
  });
209
210
  }
210
- var ge = (e, t, n) => {
211
+ var ve = (e, t, n) => {
211
212
  let r = t.name, i = t.setup(e), a = n[r] ?? {};
212
213
  n[r] = Object.freeze({
213
214
  ...a,
214
215
  ...i
215
216
  });
216
- }, _e = N("component"), ve = R(({ client: e, component: t, name: n }) => ({
217
+ }, ye = M("component"), be = L(({ client: e, component: t, name: n }) => ({
217
218
  name: n,
218
219
  component: t,
219
220
  frameworkStore: e.frameworks.getByName(t.frameworkName)
220
221
  }));
221
- function ye(e) {
222
- return z(ve, e);
222
+ function xe(e) {
223
+ return R(be, e);
223
224
  }
224
- var be = R(({ client: e }) => {
225
- let t = _e.store({}), n = M(t, { register(e, t) {
225
+ var Se = L(({ client: e }) => {
226
+ let t = ye.store({}), n = j(t, { register(e, t) {
226
227
  return {
227
228
  ...e,
228
229
  [t.name]: t
229
230
  };
230
- } }), i = F();
231
- L({
231
+ } }), i = P();
232
+ I({
232
233
  clock: i,
233
234
  source: t,
234
235
  filter: (e, { name: t }) => e[t] !== void 0,
235
236
  fn: (e, { name: t }) => `Component '${t}' already registered. Registering again will override the previous registration.`
236
- }).watch((e) => /* @__PURE__ */ r("warn", e)), L({
237
+ }).watch((e) => /* @__PURE__ */ r("warn", e)), I({
237
238
  clock: i,
238
- fn: ({ name: t, component: n }) => ye({
239
+ fn: ({ name: t, component: n }) => xe({
239
240
  client: e,
240
241
  name: t,
241
242
  component: n
@@ -252,27 +253,27 @@ var be = R(({ client: e }) => {
252
253
  listStore: a
253
254
  };
254
255
  });
255
- function xe(e) {
256
- return z(be, e);
256
+ function Ce(e) {
257
+ return R(Se, e);
257
258
  }
258
- var Se = (e, t, n) => {
259
+ var we = (e, t, n) => {
259
260
  n.register({
260
261
  name: e,
261
262
  component: t
262
263
  });
263
- }, Ce = N("framework"), we = R((e) => {
264
- let t = Ce.store({}), n = M(t, { register(e, t) {
264
+ }, Te = M("framework"), Ee = L((e) => {
265
+ let t = Te.store({}), n = j(t, { register(e, t) {
265
266
  return {
266
267
  ...e,
267
268
  [t.name]: t.framework
268
269
  };
269
- } }), i = F();
270
- L({
270
+ } }), i = P();
271
+ I({
271
272
  clock: i,
272
273
  source: t,
273
274
  filter: (e, { name: t }) => e[t] !== void 0,
274
275
  fn: (e, { name: t }) => `Framework '${t}' already registered. Registering again will override the previous registration.`
275
- }).watch((e) => /* @__PURE__ */ r("warn", e)), L({
276
+ }).watch((e) => /* @__PURE__ */ r("warn", e)), I({
276
277
  clock: i,
277
278
  target: n.register
278
279
  });
@@ -286,106 +287,106 @@ var Se = (e, t, n) => {
286
287
  listStore: a
287
288
  };
288
289
  });
289
- function Te(e) {
290
- return z(we, e);
290
+ function De(e) {
291
+ return R(Ee, e);
291
292
  }
292
- var Ee = (e, t) => {
293
+ var Oe = (e, t) => {
293
294
  t.register({
294
295
  name: e.name,
295
296
  framework: e
296
297
  });
297
- }, De = R(({ client: e }) => {
298
+ }, ke = L(({ client: e }) => {
298
299
  let t = "window" in globalThis, n = {
299
300
  location: t ? globalThis.location : void 0,
300
301
  document: t ? globalThis.document : void 0,
301
302
  sessionStorage: t ? globalThis.sessionStorage : void 0,
302
303
  localStorage: t ? globalThis.localStorage : void 0
303
304
  };
304
- return j(e.responses.listStore, e.fields.listStore, (t, r) => Object.freeze({
305
+ return A(e.responses.listStore, e.fields.listStore, (t, r) => Object.freeze({
305
306
  client: e,
306
307
  responses: t,
307
308
  fields: r,
308
309
  ...n
309
310
  }));
310
311
  });
311
- function Oe(e) {
312
- return z(De, e);
312
+ function Ae(e) {
313
+ return R(ke, e);
313
314
  }
314
315
  //#endregion
315
316
  //#region src/logic-engine.ts
316
- function ke(e) {
317
+ function je(e) {
317
318
  return typeof e == "number" && !isNaN(e);
318
319
  }
319
- function V(e) {
320
+ function B(e) {
320
321
  return typeof e == "string";
321
322
  }
322
- function H(e) {
323
+ function V(e) {
323
324
  return Array.isArray(e);
324
325
  }
325
- function Ae(e) {
326
+ function Me(e) {
326
327
  return e instanceof Promise;
327
328
  }
328
- function je(e) {
329
+ function Ne(e) {
329
330
  return typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1;
330
331
  }
331
- function U(e) {
332
- if (ke(e)) return e;
332
+ function H(e) {
333
+ if (je(e)) return e;
333
334
  let t = parseFloat(`${e}`);
334
335
  return isNaN(t) ? 0 : t;
335
336
  }
336
- function W(e) {
337
+ function U(e) {
337
338
  return `${e}`;
338
339
  }
339
- var Me = {
340
+ var Pe = {
340
341
  "==": (e, t) => e == t,
341
342
  "===": (e, t) => e === t,
342
343
  "!=": (e, t) => e != t,
343
344
  "!==": (e, t) => e !== t,
344
- ">": (e, t) => U(e) > U(t),
345
- ">=": (e, t) => U(e) >= U(t),
345
+ ">": (e, t) => H(e) > H(t),
346
+ ">=": (e, t) => H(e) >= H(t),
346
347
  "<": (e, t, n) => {
347
- let r = U(e), i = U(t);
348
+ let r = H(e), i = H(t);
348
349
  if (n === void 0) return r < i;
349
- let a = U(n);
350
+ let a = H(n);
350
351
  return r < i && i < a;
351
352
  },
352
353
  "<=": (e, t, n) => {
353
- let r = U(e), i = U(t);
354
+ let r = H(e), i = H(t);
354
355
  if (n === void 0) return r <= i;
355
- let a = U(n);
356
+ let a = H(n);
356
357
  return r <= i && i <= a;
357
358
  },
358
- "!!": async (e) => await K(e),
359
- "!": async (e) => !await K(e),
360
- "%": (e, t) => U(e) % U(t),
359
+ "!!": async (e) => await G(e),
360
+ "!": async (e) => !await G(e),
361
+ "%": (e, t) => H(e) % H(t),
361
362
  log: (e) => (console.log(e), e),
362
- in: (e, t) => t ? V(t) ? t.indexOf(W(e)) !== -1 : H(t) ? t.includes(e) : !1 : !1,
363
- cat: (...e) => e.map(W).join(""),
363
+ in: (e, t) => t ? B(t) ? t.indexOf(U(e)) !== -1 : V(t) ? t.includes(e) : !1 : !1,
364
+ cat: (...e) => e.map(U).join(""),
364
365
  substr: (e, t, n) => {
365
- let r = W(e), i = U(t);
366
+ let r = U(e), i = H(t);
366
367
  if (n === void 0) return r.substr(i);
367
- let a = U(n);
368
+ let a = H(n);
368
369
  if (a < 0) {
369
370
  let e = r.substr(i);
370
371
  return e.substr(0, e.length + a);
371
372
  }
372
373
  return r.substr(i, a);
373
374
  },
374
- "+": (...e) => e.reduce((e, t) => U(e) + U(t), 0),
375
- "*": (...e) => e.reduce((e, t) => U(e) * U(t), 1),
375
+ "+": (...e) => e.reduce((e, t) => H(e) + H(t), 0),
376
+ "*": (...e) => e.reduce((e, t) => H(e) * H(t), 1),
376
377
  "-": (e, t) => {
377
- let n = U(e);
378
- return t === void 0 ? -n : n - U(t);
378
+ let n = H(e);
379
+ return t === void 0 ? -n : n - H(t);
379
380
  },
380
- "/": (e, t) => U(e) / U(t),
381
- min: (...e) => Math.min(...e.map(U)),
382
- max: (...e) => Math.max(...e.map(U)),
383
- merge: (...e) => e.reduce((e, t) => H(t) ? e.concat(t) : e.concat([t]), []),
381
+ "/": (e, t) => H(e) / H(t),
382
+ min: (...e) => Math.min(...e.map(H)),
383
+ max: (...e) => Math.max(...e.map(H)),
384
+ merge: (...e) => e.reduce((e, t) => V(t) ? e.concat(t) : e.concat([t]), []),
384
385
  var(e, t) {
385
386
  let n = arguments.length > 1 ? t : null;
386
387
  if (e === "" || e === "." || e == null) return this;
387
388
  if (typeof e == "number" && Array.isArray(this)) return e >= 0 && e < this.length ? this[e] : n;
388
- let r = W(e);
389
+ let r = U(e);
389
390
  if (r === "" || r === ".") return this;
390
391
  let i = r.split("."), a = this;
391
392
  for (let e of i) {
@@ -398,126 +399,126 @@ var Me = {
398
399
  return a === void 0 ? n : a;
399
400
  },
400
401
  async missing(...e) {
401
- let t = H(e[0]) ? e[0] : e, n = [];
402
+ let t = V(e[0]) ? e[0] : e, n = [];
402
403
  for (let e of t) {
403
- let t = await G({ var: e }, this);
404
+ let t = await W({ var: e }, this);
404
405
  (t === null || t === "") && n.push(`${e}`);
405
406
  }
406
407
  return n;
407
408
  },
408
409
  async missing_some(e, t) {
409
- let n = await G({ missing: t }, this);
410
- if (!H(n) || !H(t)) return [];
411
- let r = n.filter(V);
412
- return t.filter(V).length - r.length >= U(e) ? [] : r;
410
+ let n = await W({ missing: t }, this);
411
+ if (!V(n) || !V(t)) return [];
412
+ let r = n.filter(B);
413
+ return t.filter(B).length - r.length >= H(e) ? [] : r;
413
414
  },
414
415
  invoke(...e) {
415
416
  let [t, ...n] = e;
416
417
  return typeof t == "function" ? Reflect.apply(t, null, n) : null;
417
418
  },
418
- startsWith: (e, t) => V(e) && V(t) && e.startsWith(t),
419
- endsWith: (e, t) => V(e) && V(t) && e.endsWith(t),
419
+ startsWith: (e, t) => B(e) && B(t) && e.startsWith(t),
420
+ endsWith: (e, t) => B(e) && B(t) && e.endsWith(t),
420
421
  regexp_matches(e, t) {
421
422
  let n = e, r = "";
422
- if (H(e)) {
423
+ if (V(e)) {
423
424
  let [t, i] = e;
424
425
  n = t, r = i;
425
426
  }
426
- return !V(n) || !V(r) ? !1 : new RegExp(n, r).test(W(t));
427
+ return !B(n) || !B(r) ? !1 : new RegExp(n, r).test(U(t));
427
428
  },
428
429
  throw(e) {
429
- throw Error(W(e));
430
+ throw Error(U(e));
430
431
  }
431
432
  };
432
- async function G(e, t) {
433
+ async function W(e, t) {
433
434
  if (!e) return e;
434
- if (Ae(e)) return G(await e, t);
435
- if (H(e)) return Promise.all(e.map((e) => G(e, t)));
436
- if (!je(e)) return e;
437
- let n = Ne(e), r = n ? e[n] ?? [] : [];
438
- switch (H(r) || (r = [r]), n) {
435
+ if (Me(e)) return W(await e, t);
436
+ if (V(e)) return Promise.all(e.map((e) => W(e, t)));
437
+ if (!Ne(e)) return e;
438
+ let n = Fe(e), r = n ? e[n] ?? [] : [];
439
+ switch (V(r) || (r = [r]), n) {
439
440
  case "if":
440
441
  case "?:":
441
- for (let e = 0; e < r.length - 1; e += 2) if (await K(await G(r[e], t))) return G(r[e + 1], t);
442
- return r.length % 2 == 1 ? G(r[r.length - 1], t) : null;
442
+ for (let e = 0; e < r.length - 1; e += 2) if (await G(await W(r[e], t))) return W(r[e + 1], t);
443
+ return r.length % 2 == 1 ? W(r[r.length - 1], t) : null;
443
444
  case "and": {
444
445
  let e = null;
445
- for (let n of r) if (e = await G(n, t), !await K(e)) return e;
446
+ for (let n of r) if (e = await W(n, t), !await G(e)) return e;
446
447
  return e;
447
448
  }
448
449
  case "or": {
449
450
  let e = null;
450
- for (let n of r) if (e = await G(n, t), await K(e)) return e;
451
+ for (let n of r) if (e = await W(n, t), await G(e)) return e;
451
452
  return e;
452
453
  }
453
454
  case "map": {
454
- let e = await G(r[0], t);
455
- return H(e) ? await Promise.all(e.map((e) => G(r[1], e))) : [];
455
+ let e = await W(r[0], t);
456
+ return V(e) ? await Promise.all(e.map((e) => W(r[1], e))) : [];
456
457
  }
457
458
  case "filter": {
458
- let e = await G(r[0], t);
459
- return H(e) ? (await Promise.all(e.map(async (e) => ({
459
+ let e = await W(r[0], t);
460
+ return V(e) ? (await Promise.all(e.map(async (e) => ({
460
461
  item: e,
461
- shouldInclude: await K(await G(r[1], e))
462
+ shouldInclude: await G(await W(r[1], e))
462
463
  })))).filter(({ shouldInclude: e }) => e).map(({ item: e }) => e) : [];
463
464
  }
464
465
  case "reduce": {
465
- let e = await G(r[0], t);
466
- if (!H(e)) return r.length > 2 ? await G(r[2], t) : null;
467
- let n = r[1], i = r.length > 2 ? await G(r[2], t) : null;
468
- for (let t of e) i = await G(n, {
466
+ let e = await W(r[0], t);
467
+ if (!V(e)) return r.length > 2 ? await W(r[2], t) : null;
468
+ let n = r[1], i = r.length > 2 ? await W(r[2], t) : null;
469
+ for (let t of e) i = await W(n, {
469
470
  current: t,
470
471
  accumulator: i
471
472
  });
472
473
  return i;
473
474
  }
474
475
  case "all": {
475
- let e = await G(r[0], t);
476
- if (!H(e) || e.length === 0) return !1;
477
- for (let t of e) if (!await K(await G(r[1], t))) return !1;
476
+ let e = await W(r[0], t);
477
+ if (!V(e) || e.length === 0) return !1;
478
+ for (let t of e) if (!await G(await W(r[1], t))) return !1;
478
479
  return !0;
479
480
  }
480
481
  case "some": {
481
- let e = await G(r[0], t);
482
- if (!H(e)) return !1;
483
- for (let t of e) if (await K(await G(r[1], t))) return !0;
482
+ let e = await W(r[0], t);
483
+ if (!V(e)) return !1;
484
+ for (let t of e) if (await G(await W(r[1], t))) return !0;
484
485
  return !1;
485
486
  }
486
487
  case "none": {
487
- let e = await G(r[0], t);
488
- if (!H(e)) return !0;
489
- for (let t of e) if (await K(await G(r[1], t))) return !1;
488
+ let e = await W(r[0], t);
489
+ if (!V(e)) return !0;
490
+ for (let t of e) if (await G(await W(r[1], t))) return !1;
490
491
  return !0;
491
492
  }
492
493
  case "catch": try {
493
- return await G(r[0], t);
494
+ return await W(r[0], t);
494
495
  } catch (e) {
495
- return je(e) ? await G(e, t) : r[1] ? await G(r[1], e) : e instanceof Error ? e.message : e;
496
+ return Ne(e) ? await W(e, t) : r[1] ? await W(r[1], e) : e instanceof Error ? e.message : e;
496
497
  }
497
498
  }
498
- let i = await Promise.all(r.map((e) => G(e, t))), a = n ? Me[n] : void 0;
499
+ let i = await Promise.all(r.map((e) => W(e, t))), a = n ? Pe[n] : void 0;
499
500
  if (!a) throw Error(`Unrecognized operation ${n}`);
500
501
  return a.apply(t, i);
501
502
  }
502
- async function K(e) {
503
- return Ae(e) ? K(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
503
+ async function G(e) {
504
+ return Me(e) ? G(await e) : !(Array.isArray(e) && e.length === 0) && !!e;
504
505
  }
505
- function Ne(e) {
506
+ function Fe(e) {
506
507
  return Object.keys(e)[0];
507
508
  }
508
509
  //#endregion
509
510
  //#region src/lifecycle/rules-logic.ts
510
- function Pe(e, t, n) {
511
+ function Ie(e, t, n) {
511
512
  return new Proxy(Object.create(null), { get(r, i) {
512
513
  if (typeof i != "string") return;
513
514
  let a = e.find((e) => e.key === i);
514
- if (a !== void 0) return async () => !n.has(i) && await G(a.logic, {
515
+ if (a !== void 0) return async () => !n.has(i) && await W(a.logic, {
515
516
  ...t,
516
- conditions: Pe(e, t, new Set(n).add(i))
517
+ conditions: Ie(e, t, new Set(n).add(i))
517
518
  }) === !0;
518
519
  } });
519
520
  }
520
- var Fe = R(({ client: e }) => A({
521
+ var Le = L(({ client: e }) => k({
521
522
  source: {
522
523
  stateSnapshot: e.stateSnapshotStore,
523
524
  predicates: e.predicates.listStore,
@@ -554,130 +555,130 @@ var Fe = R(({ client: e }) => A({
554
555
  features: u,
555
556
  ...s
556
557
  };
557
- return await G(o, {
558
+ return await W(o, {
558
559
  ...d,
559
- conditions: Pe(a, d, /* @__PURE__ */ new Set())
560
+ conditions: Ie(a, d, /* @__PURE__ */ new Set())
560
561
  });
561
562
  }
562
563
  }));
563
- function Ie(e) {
564
- return z(Fe, e);
564
+ function Re(e) {
565
+ return R(Le, e);
565
566
  }
566
567
  //#endregion
567
568
  //#region src/lifecycle/lifecycle.ts
568
- var q = N("lifecycle"), Le = R(({ client: e }) => {
569
- let t = q.store(!1), r = I(void 0, {
569
+ var K = M("lifecycle"), ze = L(({ client: e }) => {
570
+ let t = K.store(!1), r = F(void 0, {
570
571
  skipVoid: !1,
571
- domain: q
572
- }), i = I(void 0, {
572
+ domain: K
573
+ }), i = F(void 0, {
573
574
  skipVoid: !1,
574
- domain: q
575
- }), a = q.store("idle"), o = q.store([]), s = I(void 0, {
575
+ domain: K
576
+ }), a = K.store("idle"), o = K.store([]), s = F(void 0, {
576
577
  skipVoid: !1,
577
- domain: q
578
- }), l = I(void 0, {
578
+ domain: K
579
+ }), l = F(void 0, {
579
580
  skipVoid: !1,
580
- domain: q
581
- }), u = F(), d = F(), f = F(), p = F(), m = F(), h = F();
581
+ domain: K
582
+ }), u = P(), d = P(), f = P(), p = P(), m = P(), h = P();
582
583
  o.on(p, (e, t) => [...e, t]), s.on(m, (e, t) => t), l.on(h, (e, t) => t), t.on(d, () => !0);
583
- let g = P(async () => {
584
+ let g = N(async () => {
584
585
  await ee();
585
- }), _ = P(async () => {
586
- await me(e);
587
- }), v = A({ effect: _ }), y = A({
586
+ }), _ = N(async () => {
587
+ await ge(e);
588
+ }), v = k({ effect: _ }), y = k({
588
589
  source: o,
589
590
  effect: async (e) => {
590
591
  for (let t of e) await t();
591
592
  }
592
- }), b = A({
593
+ }), b = k({
593
594
  source: s,
594
595
  effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
595
- }), x = A({
596
+ }), x = k({
596
597
  source: l,
597
598
  effect: async (t) => t === void 0 ? !0 : typeof t == "boolean" ? t : await n(e, t) === !0
598
- }), S = L({
599
+ }), S = I({
599
600
  clock: u,
600
601
  source: a,
601
602
  filter: (e) => e === "idle" && c(),
602
603
  fn: () => void 0
603
604
  });
604
- L({
605
+ I({
605
606
  clock: S,
606
607
  fn: () => "starting",
607
608
  target: a
608
- }), S.watch(e.performance.markBegin), d.watch(e.performance.measure), L({
609
+ }), S.watch(e.performance.markBegin), d.watch(e.performance.measure), I({
609
610
  clock: S,
610
611
  target: y
611
- }), L({
612
+ }), I({
612
613
  clock: S,
613
614
  target: g
614
- }), L({
615
+ }), I({
615
616
  clock: y.done,
616
617
  target: b
617
- }), L({
618
+ }), I({
618
619
  clock: b.doneData,
619
620
  target: r
620
- }), L({
621
+ }), I({
621
622
  clock: x.doneData,
622
623
  target: i
623
- }), L({
624
+ }), I({
624
625
  clock: b.doneData,
625
626
  filter: (e) => e,
626
627
  target: x
627
- }), L({
628
+ }), I({
628
629
  clock: x.doneData,
629
630
  target: e.session.setIsUser
630
- }), L({
631
+ }), I({
631
632
  clock: x.doneData,
632
633
  fn: (e) => ({
633
634
  type: "user_decide",
634
635
  value: e
635
636
  }),
636
637
  target: e.eventBus
637
- }), L({
638
+ }), I({
638
639
  clock: b.doneData,
639
640
  filter: (e) => !e,
640
641
  fn: () => void 0,
641
642
  target: f
642
- }), L({
643
+ }), I({
643
644
  clock: x.doneData,
644
645
  fn: () => void 0,
645
646
  target: f
646
- }), L({
647
+ }), I({
647
648
  clock: f,
648
649
  fn: () => ({ type: "initialize" }),
649
650
  target: e.eventBus
650
651
  });
651
- let C = I(!1).on(g.done, () => !0), w = I(!1).on(f, () => !0), T = I(!1).on(v.done, () => !0), E = j(r, i, (e, t) => e === !0 && t === !0);
652
- L({
652
+ let C = F(!1).on(g.done, () => !0), w = F(!1).on(f, () => !0), te = F(!1).on(v.done, () => !0), T = A(r, i, (e, t) => e === !0 && t === !0);
653
+ I({
653
654
  clock: f,
654
- source: E,
655
+ source: T,
655
656
  filter: (e) => e,
656
657
  fn: () => void 0,
657
658
  target: _
658
659
  });
659
- let D = j(C, w, E, (e, t, n) => e && t && n);
660
- L({
661
- clock: D,
660
+ let ne = A(C, w, T, (e, t, n) => e && t && n);
661
+ I({
662
+ clock: ne,
662
663
  filter: (e) => e,
663
664
  fn: () => void 0,
664
665
  target: v
665
666
  });
666
- let O = j(C, w, E, T, (e, t, n, r) => e && t && (!n || r));
667
- return L({
668
- clock: O,
667
+ let E = A(C, w, T, te, (e, t, n, r) => e && t && (!n || r));
668
+ return I({
669
+ clock: E,
669
670
  filter: (e) => e,
670
671
  fn: () => void 0,
671
672
  target: d
672
- }), L({
673
+ }), I({
673
674
  clock: d,
674
675
  fn: () => "ready",
675
676
  target: a
676
- }), L({
677
+ }), I({
677
678
  clock: d,
678
679
  fn: () => ({ type: "ready" }),
679
680
  target: e.eventBus
680
- }), L({
681
+ }), I({
681
682
  clock: d,
682
683
  source: e.session.store,
683
684
  fn: ({ id: e, isUser: t, identifiers: n }) => ({
@@ -687,7 +688,7 @@ var q = N("lifecycle"), Le = R(({ client: e }) => {
687
688
  identifiers: n
688
689
  }),
689
690
  target: e.eventBus
690
- }), L({
691
+ }), I({
691
692
  clock: [
692
693
  y.fail,
693
694
  b.fail,
@@ -709,13 +710,13 @@ var q = N("lifecycle"), Le = R(({ client: e }) => {
709
710
  setCondition: h
710
711
  };
711
712
  });
712
- function Re(e) {
713
- return z(Le, e);
713
+ function Be(e) {
714
+ return R(ze, e);
714
715
  }
715
716
  //#endregion
716
717
  //#region src/entities/predicate/predicate.ts
717
- var ze = N("predicate"), Be = R(({ client: e }) => {
718
- let t = ze.store({}), n = M(t, { register(e, t) {
718
+ var Ve = M("predicate"), He = L(({ client: e }) => {
719
+ let t = Ve.store({}), n = j(t, { register(e, t) {
719
720
  return {
720
721
  ...e,
721
722
  [t.name]: {
@@ -723,13 +724,13 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
723
724
  predicate: t.predicate
724
725
  }
725
726
  };
726
- } }), i = F();
727
- L({
727
+ } }), i = P();
728
+ I({
728
729
  clock: i,
729
730
  source: t,
730
731
  filter: (e, { name: t }) => e[t] !== void 0,
731
732
  fn: (e, { name: t }) => `Predicate '${t}' already registered. Registering again will override the previous registration.`
732
- }).watch((e) => /* @__PURE__ */ r("warn", e)), L({
733
+ }).watch((e) => /* @__PURE__ */ r("warn", e)), I({
733
734
  clock: i,
734
735
  fn: ({ name: e, predicate: t }) => Object.freeze({
735
736
  name: e,
@@ -742,7 +743,7 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
742
743
  return t.map((t) => t[e]?.predicate, { skipVoid: !1 });
743
744
  }
744
745
  function s(t) {
745
- let n = I(() => void 0, { skipVoid: !1 }), r = A({
746
+ let n = F(() => void 0, { skipVoid: !1 }), r = k({
746
747
  source: {
747
748
  predicate: o(t),
748
749
  snapshot: e.stateSnapshotStore
@@ -754,13 +755,13 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
754
755
  });
755
756
  }
756
757
  });
757
- return L({
758
+ return I({
758
759
  source: {
759
760
  responses: e.responses.listStore,
760
761
  fields: e.fields.listStore
761
762
  },
762
763
  target: r
763
- }), L({
764
+ }), I({
764
765
  clock: r.doneData,
765
766
  filter: (e) => e !== void 0,
766
767
  target: n
@@ -773,26 +774,26 @@ var ze = N("predicate"), Be = R(({ client: e }) => {
773
774
  getEvokablePredicate: s
774
775
  };
775
776
  });
776
- function Ve(e) {
777
- return z(Be, e);
777
+ function Ue(e) {
778
+ return R(He, e);
778
779
  }
779
- var He = (e, t, n) => {
780
+ var We = (e, t, n) => {
780
781
  n.register({
781
782
  name: e,
782
783
  predicate: t
783
784
  });
784
- }, J = N("history");
785
- function Ue(e, t) {
785
+ }, q = M("history");
786
+ function Ge(e, t) {
786
787
  return {
787
- id: ae(`history-entry-${Date.now()}-${Math.random()}}`),
788
+ id: se(`history-entry-${Date.now()}-${Math.random()}}`),
788
789
  node: t,
789
790
  at: Date.now(),
790
791
  experienceId: e
791
792
  };
792
793
  }
793
- var We = R(() => {
794
- let e = J.store({ entries: [] }), t = J.event(), n = J.event(), r = J.event(), i = J.event();
795
- e.on(t, (e, t) => ({ entries: [...e.entries, Ue(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Ue(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
794
+ var Ke = L(() => {
795
+ let e = q.store({ entries: [] }), t = q.event(), n = q.event(), r = q.event(), i = q.event();
796
+ e.on(t, (e, t) => ({ entries: [...e.entries, Ge(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), Ge(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
796
797
  function a(e, t) {
797
798
  let n = {
798
799
  lastStepIndex: -1,
@@ -800,7 +801,7 @@ var We = R(() => {
800
801
  };
801
802
  for (let r = e.length - 1; r >= 0; r--) {
802
803
  let i = e[r], a = i?.node;
803
- if (!(!a || !T(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
804
+ if (!(!a || !S(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
804
805
  else {
805
806
  n.secondLastStepIndex = r;
806
807
  break;
@@ -822,22 +823,22 @@ var We = R(() => {
822
823
  entriesStore: e.map((e) => e.entries)
823
824
  };
824
825
  });
825
- function Ge() {
826
- return z(We);
826
+ function qe() {
827
+ return R(Ke);
827
828
  }
828
829
  //#endregion
829
830
  //#region src/utils/events.ts
830
- var Ke = 0, qe = (e) => {
831
- let t = I([]);
831
+ var Je = 0, Ye = (e) => {
832
+ let t = F([]);
832
833
  return t.on(e, (e, t) => [...e, {
833
- id: Ke++,
834
+ id: Je++,
834
835
  at: /* @__PURE__ */ new Date(),
835
836
  payload: t
836
837
  }]), t;
837
838
  };
838
839
  //#endregion
839
840
  //#region src/entities/field/policies.ts
840
- function Je(e) {
841
+ function Xe(e) {
841
842
  let { doNotTrackValue: t, doNotStoreValue: n } = e ?? {}, r = e?.trackValue ?? t === !1, i = e?.storeValue ?? n === !1;
842
843
  return {
843
844
  trackValue: r,
@@ -848,10 +849,10 @@ function Je(e) {
848
849
  }
849
850
  //#endregion
850
851
  //#region src/entities/field/field.ts
851
- var Ye = N("field"), Xe = R(() => {
852
- let e = Ye.store({}), t = M(e, {
852
+ var Ze = M("field"), Qe = L(() => {
853
+ let e = Ze.store({}), t = j(e, {
853
854
  register(e, t) {
854
- let n = Object.assign({}, t.field, { policies: Je(t.field.policies) });
855
+ let n = Object.assign({}, t.field, { policies: Xe(t.field.policies) });
855
856
  return {
856
857
  ...e,
857
858
  [n.id]: n
@@ -863,7 +864,7 @@ var Ye = N("field"), Xe = R(() => {
863
864
  let r = Object.assign({}, n, t.updates);
864
865
  return {
865
866
  ...e,
866
- [n.id]: Object.assign({}, r, { policies: Je(r.policies) })
867
+ [n.id]: Object.assign({}, r, { policies: Xe(r.policies) })
867
868
  };
868
869
  }
869
870
  });
@@ -900,13 +901,13 @@ var Ye = N("field"), Xe = R(() => {
900
901
  getByName: c
901
902
  };
902
903
  });
903
- function Ze() {
904
- return z(Xe);
904
+ function $e() {
905
+ return R(Qe);
905
906
  }
906
907
  //#endregion
907
908
  //#region src/entities/step/step.ts
908
- var Qe = N("step"), $e = R(() => {
909
- let e = Qe.store({}), t = M(e, { register(e, t) {
909
+ var et = M("step"), tt = L(() => {
910
+ let e = et.store({}), t = j(e, { register(e, t) {
910
911
  return {
911
912
  ...e,
912
913
  [t.step.id]: t.step
@@ -930,16 +931,16 @@ var Qe = N("step"), $e = R(() => {
930
931
  indexStore: e
931
932
  };
932
933
  });
933
- function et() {
934
- return z($e);
934
+ function nt() {
935
+ return R(tt);
935
936
  }
936
- function tt(e, t) {
937
+ function rt(e, t) {
937
938
  t.register(e);
938
939
  }
939
940
  //#endregion
940
941
  //#region src/entities/content/content.ts
941
- var nt = N("content"), rt = R(() => {
942
- let e = nt.store({}), t = M(e, {
942
+ var it = M("content"), at = L(() => {
943
+ let e = it.store({}), t = j(e, {
943
944
  register(e, t) {
944
945
  return {
945
946
  ...e,
@@ -980,16 +981,16 @@ var nt = N("content"), rt = R(() => {
980
981
  indexStore: e
981
982
  };
982
983
  });
983
- function it() {
984
- return z(rt);
984
+ function ot() {
985
+ return R(at);
985
986
  }
986
- function at(e, t) {
987
+ function st(e, t) {
987
988
  t.register(e);
988
989
  }
989
990
  //#endregion
990
991
  //#region src/entities/action/action.ts
991
- var ot = N("action"), st = R(({ client: e }) => {
992
- let t = ot.store({}), n = M(t, { register(e, t) {
992
+ var ct = M("action"), lt = L(({ client: e }) => {
993
+ let t = ct.store({}), n = j(t, { register(e, t) {
993
994
  return {
994
995
  ...e,
995
996
  [t.key]: {
@@ -997,13 +998,13 @@ var ot = N("action"), st = R(({ client: e }) => {
997
998
  action: t.action
998
999
  }
999
1000
  };
1000
- } }), i = F();
1001
- L({
1001
+ } }), i = P();
1002
+ I({
1002
1003
  clock: i,
1003
1004
  source: t,
1004
1005
  filter: (e, { key: t }) => e[t] !== void 0,
1005
1006
  fn: (e, { key: t }) => `Action '${t}' already registered. Registering again will override the previous registration.`
1006
- }).watch((e) => /* @__PURE__ */ r("warn", e)), L({
1007
+ }).watch((e) => /* @__PURE__ */ r("warn", e)), I({
1007
1008
  clock: i,
1008
1009
  fn: ({ key: e, action: t }) => Object.freeze({
1009
1010
  key: e,
@@ -1016,7 +1017,7 @@ var ot = N("action"), st = R(({ client: e }) => {
1016
1017
  return t.map((t) => t[e]?.action, { skipVoid: !1 });
1017
1018
  }
1018
1019
  function s(t, n) {
1019
- let r = I(() => void 0, { skipVoid: !1 }), i = n ? { experience: n.experience } : null, a = A({
1020
+ let r = F(() => void 0, { skipVoid: !1 }), i = n ? { experience: n.experience } : null, a = k({
1020
1021
  source: {
1021
1022
  action: o(t),
1022
1023
  snapshot: e.stateSnapshotStore
@@ -1028,13 +1029,13 @@ var ot = N("action"), st = R(({ client: e }) => {
1028
1029
  }, i);
1029
1030
  }
1030
1031
  });
1031
- return L({
1032
+ return I({
1032
1033
  source: {
1033
1034
  responses: e.responses.listStore,
1034
1035
  fields: e.fields.listStore
1035
1036
  },
1036
1037
  target: a
1037
- }), L({
1038
+ }), I({
1038
1039
  clock: a.doneData,
1039
1040
  filter: (e) => e !== void 0,
1040
1041
  target: r
@@ -1047,10 +1048,10 @@ var ot = N("action"), st = R(({ client: e }) => {
1047
1048
  getEvokableAction: s
1048
1049
  };
1049
1050
  });
1050
- function ct(e) {
1051
- return z(st, e);
1051
+ function ut(e) {
1052
+ return R(lt, e);
1052
1053
  }
1053
- var lt = (e, t, n) => {
1054
+ var dt = (e, t, n) => {
1054
1055
  n.register({
1055
1056
  key: e,
1056
1057
  action: t
@@ -1058,7 +1059,7 @@ var lt = (e, t, n) => {
1058
1059
  };
1059
1060
  //#endregion
1060
1061
  //#region src/entities/response/response-validation.ts
1061
- function Y(e, t, n, r) {
1062
+ function J(e, t, n, r) {
1062
1063
  return {
1063
1064
  fieldKey: e.key,
1064
1065
  userMessage: n,
@@ -1066,62 +1067,62 @@ function Y(e, t, n, r) {
1066
1067
  value: t
1067
1068
  };
1068
1069
  }
1069
- function X(e) {
1070
+ function Y(e) {
1070
1071
  return e === null || e === "" || Array.isArray(e) && !e.length;
1071
1072
  }
1072
- function ut(e) {
1073
+ function ft(e) {
1073
1074
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
1074
1075
  }
1075
- function dt(e) {
1076
+ function pt(e) {
1076
1077
  try {
1077
1078
  return JSON.stringify(e), !0;
1078
1079
  } catch {
1079
1080
  return !1;
1080
1081
  }
1081
1082
  }
1082
- function ft(e, t) {
1083
+ function mt(e, t) {
1083
1084
  return t.find((t) => t.key === e) ?? null;
1084
1085
  }
1085
- function pt(e, t) {
1086
+ function ht(e, t) {
1086
1087
  return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
1087
1088
  }
1088
- function mt(e, t) {
1089
- if (e.type !== "object" || X(t)) return null;
1089
+ function gt(e, t) {
1090
+ if (e.type !== "object" || Y(t)) return null;
1090
1091
  if (e.multiple) {
1091
- if (!Array.isArray(t)) return Y(e, t, "This field expects multiple values", "Field expects an array of objects.");
1092
+ if (!Array.isArray(t)) return J(e, t, "This field expects multiple values", "Field expects an array of objects.");
1092
1093
  for (let n of t) {
1093
- 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.");
1094
- if (!dt(n)) return Y(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
1094
+ if (typeof n != "object" || !n) return J(e, t, "This field expects object values", "Field expects an array of objects, but received non-object value.");
1095
+ if (!pt(n)) return J(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
1095
1096
  }
1096
1097
  return null;
1097
1098
  }
1098
- 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.") : dt(t) ? null : Y(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
1099
+ return Array.isArray(t) ? J(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? J(e, t, "This field expects an object value", "Field expects an object value.") : pt(t) ? null : J(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
1099
1100
  }
1100
- function ht(e, t) {
1101
- if (X(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
1101
+ function _t(e, t) {
1102
+ if (Y(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
1102
1103
  let n = Array.isArray(t) ? t : [t];
1103
1104
  if (e.type === "object") {
1104
1105
  let r = new Set(e.options.map((e) => JSON.stringify(e.value)));
1105
- 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.");
1106
+ return n.every((e) => r.has(JSON.stringify(e))) ? null : J(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
1106
1107
  }
1107
1108
  let r = e.options.map((e) => e.value);
1108
- return n.every((e) => !ut(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(", ")}`);
1109
+ return n.every((e) => !ft(e) || e === null ? !1 : r.includes(e)) ? null : J(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
1109
1110
  }
1110
- async function gt(t, n, r, i) {
1111
- if (n.validation && !e(n.validation) && !X(r)) {
1111
+ async function vt(t, n, r, i) {
1112
+ if (n.validation && !e(n.validation) && !Y(r)) {
1112
1113
  let e = i ? {
1113
1114
  $input: r,
1114
1115
  responses: i
1115
1116
  } : { $input: r }, a = await t(n.validation, e);
1116
- if (typeof a == "string") return Y(n, r, a, `Field validation resulted in an error: ${a}.`);
1117
- if (a === !1) return Y(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
1117
+ if (typeof a == "string") return J(n, r, a, `Field validation resulted in an error: ${a}.`);
1118
+ if (a === !1) return J(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
1118
1119
  }
1119
- 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;
1120
+ return n.required && Y(r) ? J(n, r, "This field is required", "Field is required.") : !n.multiple && Array.isArray(r) && r.length > 1 ? J(n, r, "This field expects a single response", "Field expects a single response.") : null;
1120
1121
  }
1121
1122
  //#endregion
1122
1123
  //#region src/entities/response/response.ts
1123
- var _t = N("response"), vt = R(({ client: e }) => {
1124
- let t = _t.store({}), r = F(), i = F(), a = M(t, {
1124
+ var yt = M("response"), bt = L(({ client: e }) => {
1125
+ let t = yt.store({}), r = P(), i = P(), a = j(t, {
1125
1126
  register(e, t) {
1126
1127
  return {
1127
1128
  ...e,
@@ -1150,7 +1151,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
1150
1151
  });
1151
1152
  } else a.registerBatch(e);
1152
1153
  }
1153
- let s = (t, r) => n(e, t, r), c = A({
1154
+ let s = (t, r) => n(e, t, r), c = k({
1154
1155
  source: {
1155
1156
  allFields: e.fields.listStore,
1156
1157
  existingResponses: t
@@ -1160,7 +1161,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
1160
1161
  ...t,
1161
1162
  ...n
1162
1163
  }, o = Object.entries(n), c = await Promise.allSettled(o.map(async ([t, n]) => {
1163
- let o = ft(t, e);
1164
+ let o = mt(t, e);
1164
1165
  if (!o) {
1165
1166
  r.push({
1166
1167
  fieldKey: t,
@@ -1170,17 +1171,17 @@ var _t = N("response"), vt = R(({ client: e }) => {
1170
1171
  });
1171
1172
  return;
1172
1173
  }
1173
- let c = pt(o, n), l = await gt(s, o, c, a);
1174
+ let c = ht(o, n), l = await vt(s, o, c, a);
1174
1175
  if (l) {
1175
1176
  r.push(l);
1176
1177
  return;
1177
1178
  }
1178
- let u = mt(o, c);
1179
+ let u = gt(o, c);
1179
1180
  if (u) {
1180
1181
  r.push(u);
1181
1182
  return;
1182
1183
  }
1183
- let d = ht(o, c);
1184
+ let d = _t(o, c);
1184
1185
  if (d) {
1185
1186
  r.push(d);
1186
1187
  return;
@@ -1208,7 +1209,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
1208
1209
  async function l(e) {
1209
1210
  return c(e);
1210
1211
  }
1211
- let u = A({
1212
+ let u = k({
1212
1213
  source: t,
1213
1214
  effect: async (e, t) => {
1214
1215
  let { responsesToCommit: n, validationErrors: r } = await c(t);
@@ -1223,7 +1224,7 @@ var _t = N("response"), vt = R(({ client: e }) => {
1223
1224
  value: t
1224
1225
  })));
1225
1226
  function m(e) {
1226
- return j({
1227
+ return A({
1227
1228
  f: e,
1228
1229
  s: t
1229
1230
  }, ({ f: e, s: t }) => {
@@ -1240,10 +1241,10 @@ var _t = N("response"), vt = R(({ client: e }) => {
1240
1241
  function _(t) {
1241
1242
  return m(e.fields.getByName(t));
1242
1243
  }
1243
- return L({
1244
+ return I({
1244
1245
  clock: r,
1245
1246
  target: a.clearAll
1246
- }), L({
1247
+ }), I({
1247
1248
  clock: i,
1248
1249
  target: a.clear
1249
1250
  }), {
@@ -1259,13 +1260,13 @@ var _t = N("response"), vt = R(({ client: e }) => {
1259
1260
  getByFieldName: _
1260
1261
  };
1261
1262
  });
1262
- function yt(e) {
1263
- return z(vt, e);
1263
+ function xt(e) {
1264
+ return R(bt, e);
1264
1265
  }
1265
1266
  //#endregion
1266
1267
  //#region src/entities/condition/condition.ts
1267
- var bt = N("condition"), xt = R(() => {
1268
- let e = bt.store({}), t = M(e, { register(e, t) {
1268
+ var St = M("condition"), Ct = L(() => {
1269
+ let e = St.store({}), t = j(e, { register(e, t) {
1269
1270
  return {
1270
1271
  ...e,
1271
1272
  [t.condition.id]: t.condition
@@ -1289,12 +1290,12 @@ var bt = N("condition"), xt = R(() => {
1289
1290
  indexStore: e
1290
1291
  };
1291
1292
  });
1292
- function St() {
1293
- return z(xt);
1293
+ function wt() {
1294
+ return R(Ct);
1294
1295
  }
1295
1296
  //#endregion
1296
1297
  //#region src/utils/api-url.ts
1297
- function Ct() {
1298
+ function Tt() {
1298
1299
  if (c()) {
1299
1300
  let e = [
1300
1301
  document.currentScript,
@@ -1309,7 +1310,7 @@ function Ct() {
1309
1310
  }
1310
1311
  //#endregion
1311
1312
  //#region src/utils/search-params.ts
1312
- function wt() {
1313
+ function Et() {
1313
1314
  if (!s()) return {};
1314
1315
  let e = new URLSearchParams(window.location.search), t = {}, n = /* @__PURE__ */ new Set();
1315
1316
  for (let [t] of e.entries()) t.startsWith("picked-") && n.add(t);
@@ -1317,35 +1318,35 @@ function wt() {
1317
1318
  let n = r.replace("picked-", "");
1318
1319
  t[n] = e.getAll(r);
1319
1320
  }
1320
- let r = k("s");
1321
- if (n.size > 0) O.set(r, t);
1321
+ let r = O("s");
1322
+ if (n.size > 0) D.set(r, t);
1322
1323
  else {
1323
- let e = O.get(r);
1324
+ let e = D.get(r);
1324
1325
  if (e) return e.json() || {};
1325
1326
  }
1326
1327
  return t;
1327
1328
  }
1328
1329
  //#endregion
1329
1330
  //#region src/utils/user-timing.ts
1330
- var Tt = "picked:start:begin", Et = "picked:start";
1331
- function Dt() {
1331
+ var Dt = "picked:start:begin", Ot = "picked:start";
1332
+ function kt() {
1332
1333
  try {
1333
1334
  return s() && !!p.window && "performance" in p;
1334
1335
  } catch {
1335
1336
  return !1;
1336
1337
  }
1337
1338
  }
1338
- function Ot() {
1339
+ function At() {
1339
1340
  let e = null, t = null;
1340
1341
  return {
1341
1342
  markBegin: () => {
1342
- if (Dt()) try {
1343
- e = performance.mark(Tt).startTime;
1343
+ if (kt()) try {
1344
+ e = performance.mark(Dt).startTime;
1344
1345
  } catch {}
1345
1346
  },
1346
1347
  measure: () => {
1347
- if (!(!Dt() || e === null)) try {
1348
- t = performance.measure(Et, { start: e });
1348
+ if (!(!kt() || e === null)) try {
1349
+ t = performance.measure(Ot, { start: e });
1349
1350
  } catch {}
1350
1351
  },
1351
1352
  get startMeasure() {
@@ -1355,7 +1356,7 @@ function Ot() {
1355
1356
  }
1356
1357
  //#endregion
1357
1358
  //#region src/utils/client-telemetry.ts
1358
- function kt() {
1359
+ function jt() {
1359
1360
  let e = null;
1360
1361
  return {
1361
1362
  observeDeliveryAPIRequests: (t) => {
@@ -1368,13 +1369,13 @@ function kt() {
1368
1369
  }
1369
1370
  //#endregion
1370
1371
  //#region src/entities/session/session.ts
1371
- var At = k("session", "global");
1372
- function jt() {
1372
+ var Mt = O("session", "global");
1373
+ function Nt() {
1373
1374
  return m() ? 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)}`;
1374
1375
  }
1375
- function Mt() {
1376
+ function Pt() {
1376
1377
  if (!h()) return null;
1377
- let e = D.get(At);
1378
+ let e = E.get(Mt);
1378
1379
  if (!e.isSet()) return null;
1379
1380
  try {
1380
1381
  return e.json();
@@ -1382,10 +1383,10 @@ function Mt() {
1382
1383
  return null;
1383
1384
  }
1384
1385
  }
1385
- var Nt = R(() => {
1386
- let e = Mt(), t = { id: e?.id ?? jt() };
1386
+ var Ft = L(() => {
1387
+ let e = Pt(), t = { id: e?.id ?? Nt() };
1387
1388
  e?.isUser !== void 0 && (t.isUser = e.isUser), e?.identifiers && Object.keys(e.identifiers).length > 0 && (t.identifiers = e.identifiers);
1388
- let n = I(t), r = M(n, {
1389
+ let n = F(t), r = j(n, {
1389
1390
  setIsUser: (e, t) => ({
1390
1391
  ...e,
1391
1392
  isUser: t
@@ -1405,15 +1406,15 @@ var Nt = R(() => {
1405
1406
  let i = { id: e.id };
1406
1407
  return e.isUser !== void 0 && (i.isUser = e.isUser), Object.keys(r).length > 0 && (i.identifiers = r), i;
1407
1408
  }
1408
- }), i = A({
1409
+ }), i = k({
1409
1410
  source: n,
1410
1411
  effect: (e) => {
1411
1412
  if (h()) try {
1412
- D.get(At).set(e);
1413
+ E.get(Mt).set(e);
1413
1414
  } catch {}
1414
1415
  }
1415
1416
  });
1416
- return L({
1417
+ return I({
1417
1418
  source: n,
1418
1419
  target: i
1419
1420
  }), {
@@ -1423,39 +1424,39 @@ var Nt = R(() => {
1423
1424
  removeIdentifier: r.removeIdentifier
1424
1425
  };
1425
1426
  });
1426
- function Pt() {
1427
- return z(Nt, void 0);
1427
+ function It() {
1428
+ return R(Ft, void 0);
1428
1429
  }
1429
1430
  //#endregion
1430
1431
  //#region src/utils/picked-config.ts
1431
- function Ft() {
1432
+ function Lt() {
1432
1433
  if (s()) return globalThis.window.pickedConfig;
1433
1434
  }
1434
- function It() {
1435
- if (s()) return Ft()?.projectId;
1435
+ function Rt() {
1436
+ if (s()) return Lt()?.projectId;
1436
1437
  }
1437
- function Lt() {
1438
+ function zt() {
1438
1439
  if (!c()) return;
1439
1440
  let e = document.getElementById("picked_script") || document.querySelector("script#picked") || document.getElementById("cvly");
1440
1441
  if (e) return e.dataset.projectid || e.getAttribute("project-id") || void 0;
1441
1442
  }
1442
- function Rt(e) {
1443
+ function Bt(e) {
1443
1444
  if (e.projectId) return e.projectId;
1444
- let t = It();
1445
+ let t = Rt();
1445
1446
  if (t) return t;
1446
- let n = Lt();
1447
+ let n = zt();
1447
1448
  if (n) return n;
1448
1449
  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.");
1449
1450
  }
1450
1451
  //#endregion
1451
1452
  //#region src/utils/render-string.ts
1452
- function Z(e) {
1453
+ function X(e) {
1453
1454
  return e == null || e === "" || Number.isNaN(e);
1454
1455
  }
1455
- var zt = {
1456
- default: (e, t) => Z(e) ? String(t ?? "") : String(e),
1457
- append: (e, t) => t && !Z(e) ? `${e} ${t}` : e,
1458
- prepend: (e, t) => t && !Z(e) ? `${t} ${e}` : e,
1456
+ var Vt = {
1457
+ default: (e, t) => X(e) ? String(t ?? "") : String(e),
1458
+ append: (e, t) => t && !X(e) ? `${e} ${t}` : e,
1459
+ prepend: (e, t) => t && !X(e) ? `${t} ${e}` : e,
1459
1460
  upper: (e) => typeof e == "string" ? e.toUpperCase() : e,
1460
1461
  lower: (e) => typeof e == "string" ? e.toLowerCase() : e,
1461
1462
  capitalize: (e) => typeof e == "string" ? e.charAt(0).toUpperCase() + e.slice(1) : e,
@@ -1473,24 +1474,24 @@ var zt = {
1473
1474
  return e instanceof Set ? t.format(Array.from(e).map(String)) : e;
1474
1475
  }
1475
1476
  };
1476
- function Bt(e) {
1477
+ function Ht(e) {
1477
1478
  return typeof e == "object" && !!e;
1478
1479
  }
1479
- function Vt(e, t) {
1480
+ function Ut(e, t) {
1480
1481
  let n = t;
1481
- for (let t of e.split(".")) if (Bt(n) && t in n) n = n[t];
1482
+ for (let t of e.split(".")) if (Ht(n) && t in n) n = n[t];
1482
1483
  else return;
1483
1484
  return typeof n == "function" ? n() : n;
1484
1485
  }
1485
- function Ht(e, t) {
1486
- let n = e.split("|").map((e) => e.trim()), r = Vt(n.shift() ?? "", t);
1486
+ function Wt(e, t) {
1487
+ let n = e.split("|").map((e) => e.trim()), r = Ut(n.shift() ?? "", t);
1487
1488
  for (let e of n) {
1488
- let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = zt[i];
1489
+ let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = Vt[i];
1489
1490
  o && (r = o(r, a));
1490
1491
  }
1491
- return Z(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
1492
+ return X(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
1492
1493
  }
1493
- function Ut(e, t) {
1494
+ function Gt(e, t) {
1494
1495
  let n = "", r = 0;
1495
1496
  for (; r < e.length;) if (e[r] === "{" && e[r + 1] === "{") {
1496
1497
  r += 2;
@@ -1502,19 +1503,19 @@ function Ut(e, t) {
1502
1503
  }
1503
1504
  i += e[r++];
1504
1505
  }
1505
- n += Ht(i.trim(), t);
1506
+ n += Wt(i.trim(), t);
1506
1507
  } else n += e[r++];
1507
1508
  return n;
1508
1509
  }
1509
1510
  //#endregion
1510
1511
  //#region src/utils/preview-session.ts
1511
- var Wt = "preview-token";
1512
- function Gt() {
1513
- return !s() || !g() ? !1 : !!wt()[Wt]?.[0];
1512
+ var Kt = "preview-token";
1513
+ function qt() {
1514
+ return !s() || !g() ? !1 : !!Et()[Kt]?.[0];
1514
1515
  }
1515
1516
  //#endregion
1516
1517
  //#region src/picked.ts
1517
- var Kt = class {
1518
+ var Jt = class {
1518
1519
  static logger = r;
1519
1520
  options;
1520
1521
  dataSource = null;
@@ -1523,60 +1524,60 @@ var Kt = class {
1523
1524
  contentLoader;
1524
1525
  previewEmbedderOrigins = null;
1525
1526
  plugins = {};
1526
- telemetry = kt();
1527
+ telemetry = jt();
1527
1528
  dataProviders = /* @__PURE__ */ new Map();
1528
- eventBus = F();
1529
+ eventBus = P();
1529
1530
  events;
1530
1531
  projectId;
1531
1532
  apiUrl;
1532
1533
  dashboardUrl;
1533
1534
  documentationSiteUrl;
1534
- session = Pt();
1535
- performance = Ot();
1536
- searchParams = wt();
1537
- history = Ge();
1538
- components = xe({ client: this });
1539
- experienceInstances = C({ client: this });
1540
- experiences = pe({ client: this });
1541
- frameworks = Te({ client: this });
1542
- predicates = Ve({ client: this });
1543
- features = ne({ client: this });
1544
- conditions = St();
1545
- fields = Ze();
1546
- responses = yt({ client: this });
1547
- steps = et();
1548
- contents = it();
1549
- actions = ct({ client: this });
1550
- conditionResults = w();
1551
- stateSnapshotStore = Oe({ client: this });
1552
- evaluateRuleLogicFx = Ie({ client: this });
1535
+ session = It();
1536
+ performance = At();
1537
+ searchParams = Et();
1538
+ history = qe();
1539
+ components = Ce({ client: this });
1540
+ experienceInstances = w({ client: this });
1541
+ experiences = he({ client: this });
1542
+ frameworks = De({ client: this });
1543
+ predicates = Ue({ client: this });
1544
+ features = ie({ client: this });
1545
+ conditions = wt();
1546
+ fields = $e();
1547
+ responses = xt({ client: this });
1548
+ steps = nt();
1549
+ contents = ot();
1550
+ actions = ut({ client: this });
1551
+ conditionResults = te();
1552
+ stateSnapshotStore = Ae({ client: this });
1553
+ evaluateRuleLogicFx = Re({ client: this });
1553
1554
  start;
1554
1555
  readyStore;
1555
1556
  preconditionPassedStore;
1556
1557
  conditionPassedStore;
1557
1558
  lifecycleStageStore;
1558
- lifecycle = Re({ client: this });
1559
- renderStringFx = A({
1559
+ lifecycle = Be({ client: this });
1560
+ renderStringFx = k({
1560
1561
  source: this.responses.listStore,
1561
1562
  effect: (e, { template: t, context: n }) => {
1562
1563
  let r = {};
1563
1564
  for (let t of e) r[t.fieldKey] = t.value;
1564
- return Ut(t, {
1565
+ return Gt(t, {
1565
1566
  ...n,
1566
1567
  responses: r
1567
1568
  });
1568
1569
  }
1569
1570
  });
1570
1571
  constructor(e) {
1571
- this.events = qe(this.eventBus), this.projectId = Rt(e), this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Ct(), 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.setupFields(), this.setupComponents(), this.lifecycle.setPrecondition(e.precondition), this.lifecycle.setCondition(e.condition), this.eventBus({
1572
+ this.events = Ye(this.eventBus), this.projectId = Bt(e), this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Tt(), 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.setupFields(), this.setupComponents(), this.lifecycle.setPrecondition(e.precondition), this.lifecycle.setCondition(e.condition), this.eventBus({
1572
1573
  type: "load",
1573
- version: ie()
1574
+ version: oe()
1574
1575
  }), this.maybeStartPreviewChannel();
1575
1576
  }
1576
1577
  dataProviderFor(e) {
1577
1578
  let t = e ?? "", n = this.dataProviders.get(t);
1578
1579
  if (n) return n;
1579
- let r = import("../provider-BR2HOdya.js").then((t) => t.createPickedDataProvider({
1580
+ let r = import("../provider-CMo2-Z-x.js").then((t) => t.createPickedDataProvider({
1580
1581
  apiUrl: this.apiUrl,
1581
1582
  projectId: this.projectId,
1582
1583
  getRequestObserver: () => this.telemetry.deliveryAPIRequestObserver,
@@ -1593,24 +1594,24 @@ var Kt = class {
1593
1594
  return (await this.dataProviderFor(t?.previewToken)).getContent(e, t?.signal === void 0 ? void 0 : { signal: t.signal });
1594
1595
  }
1595
1596
  maybeStartPreviewChannel() {
1596
- Gt() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
1597
+ qt() && import("../preview-channel-CSr96XAo.js").then((e) => e.initPreviewChannel(this)).catch(() => void 0);
1597
1598
  }
1598
1599
  registerFramework = (e) => {
1599
- Ee(e, this.frameworks);
1600
+ Oe(e, this.frameworks);
1600
1601
  };
1601
1602
  registerComponent = (e, t) => {
1602
- Se(e, t, this.components);
1603
+ we(e, t, this.components);
1603
1604
  };
1604
1605
  registerPlugin = (e) => {
1605
- ge(this, e, this.plugins);
1606
+ ve(this, e, this.plugins);
1606
1607
  let t = this.plugins[e.name];
1607
1608
  t?.onStart && this.lifecycle.registerPluginStartHook(t.onStart);
1608
1609
  };
1609
1610
  registerFeature = (e, t) => {
1610
- te(e, t, this.features);
1611
+ re(e, t, this.features);
1611
1612
  };
1612
1613
  registerPredicate = (e, t) => {
1613
- He(e, t, this.predicates);
1614
+ We(e, t, this.predicates);
1614
1615
  };
1615
1616
  registerCondition = (e) => {
1616
1617
  this.conditions.register(e);
@@ -1619,19 +1620,19 @@ var Kt = class {
1619
1620
  this.fields.register(e);
1620
1621
  };
1621
1622
  registerStep = (e) => {
1622
- tt(e, this.steps);
1623
+ rt(e, this.steps);
1623
1624
  };
1624
1625
  registerContent = (e) => {
1625
- at(e, this.contents);
1626
+ st(e, this.contents);
1626
1627
  };
1627
1628
  patchContent = (e, t) => {
1628
1629
  this.contents.patch(e, t);
1629
1630
  };
1630
1631
  registerAction = (e, t) => {
1631
- lt(e, t, this.actions);
1632
+ dt(e, t, this.actions);
1632
1633
  };
1633
1634
  registerExperience = (e) => {
1634
- e.component && Se(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
1635
+ e.component && we(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
1635
1636
  };
1636
1637
  launchExperienceById = async (e, t) => {
1637
1638
  this.experiences.launch({
@@ -1674,7 +1675,7 @@ var Kt = class {
1674
1675
  this.registerFeature(e, n);
1675
1676
  }), this.searchParams.feature && this.searchParams.feature.forEach((e) => {
1676
1677
  try {
1677
- let t = re(e);
1678
+ let t = ae(e);
1678
1679
  if (!t) return;
1679
1680
  let { id: n, bucket: r } = t;
1680
1681
  this.registerFeature(n, {
@@ -1724,8 +1725,8 @@ var Kt = class {
1724
1725
  });
1725
1726
  }
1726
1727
  getPluginConfig = (e) => this.plugins[e] ?? {};
1727
- }, qt = "application/picked-javascript", Jt = "application/picked-module", Yt = "data-picked-hydrated";
1728
- async function Xt(e) {
1728
+ }, Yt = "application/picked-javascript", Xt = "application/picked-module", Zt = "data-picked-hydrated";
1729
+ async function Qt(e) {
1729
1730
  if (!("document" in globalThis)) return;
1730
1731
  let t = "application/picked-module", n = "data-picked-hydrated";
1731
1732
  function r(e) {
@@ -1754,42 +1755,42 @@ async function Xt(e) {
1754
1755
  a && await a;
1755
1756
  }
1756
1757
  }
1757
- function Zt() {
1758
- return `<script>(${Xt.toString()})(document)<\/script>`;
1758
+ function $t() {
1759
+ return `<script>(${Qt.toString()})(document)<\/script>`;
1759
1760
  }
1760
1761
  //#endregion
1761
1762
  //#region src/utils/html-asset-value.ts
1762
- function Qt(e) {
1763
+ function en(e) {
1763
1764
  return typeof e == "object" && !!e && "id" in e && typeof e.id == "string" && "content" in e && (typeof e.content == "string" || e.content === null);
1764
1765
  }
1765
1766
  //#endregion
1766
1767
  //#region src/entities/component/lazyComponent.ts
1767
- function $t(e) {
1768
+ function tn(e) {
1768
1769
  return {
1769
1770
  $$type: "lazy-component",
1770
1771
  load: e
1771
1772
  };
1772
1773
  }
1773
- function en(e) {
1774
+ function nn(e) {
1774
1775
  return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
1775
1776
  }
1776
1777
  //#endregion
1777
1778
  //#region src/entities/content/reference.ts
1778
- function Q(e) {
1779
+ function Z(e) {
1779
1780
  return typeof e == "object" && !!e && !Array.isArray(e) && "contentEntryId" in e && typeof e.contentEntryId == "string";
1780
1781
  }
1781
- function $(e) {
1782
- return Q(e) ? e.contentEntryId : null;
1782
+ function Q(e) {
1783
+ return Z(e) ? e.contentEntryId : null;
1783
1784
  }
1784
- function tn(e) {
1785
+ function $(e) {
1785
1786
  let t = Array.isArray(e) ? e : [e], n = [];
1786
- for (let e of t) Q(e) && n.push(e.contentEntryId);
1787
+ for (let e of t) Z(e) && n.push(e.contentEntryId);
1787
1788
  return n;
1788
1789
  }
1789
- function nn(e, t) {
1790
+ function rn(e, t) {
1790
1791
  return t === null ? null : e[t] ?? null;
1791
1792
  }
1792
- function rn(e, t) {
1793
+ function an(e, t) {
1793
1794
  let n = [];
1794
1795
  for (let r of t) {
1795
1796
  let t = e[r];
@@ -1797,29 +1798,29 @@ function rn(e, t) {
1797
1798
  }
1798
1799
  return n;
1799
1800
  }
1800
- function an(e, t) {
1801
- if (le.store(t)) return j(t, e.indexStore, (e, t) => nn(t, $(e)));
1802
- let n = $(t);
1803
- return e.indexStore.map((e) => nn(e, n), { skipVoid: !1 });
1804
- }
1805
1801
  function on(e, t) {
1806
- if (le.store(t)) return j(t, e.indexStore, (e, t) => rn(t, tn(e)));
1807
- let n = tn(t);
1802
+ if (de.store(t)) return A(t, e.indexStore, (e, t) => rn(t, Q(e)));
1803
+ let n = Q(t);
1808
1804
  return e.indexStore.map((e) => rn(e, n), { skipVoid: !1 });
1809
1805
  }
1806
+ function sn(e, t) {
1807
+ if (de.store(t)) return A(t, e.indexStore, (e, t) => an(t, $(e)));
1808
+ let n = $(t);
1809
+ return e.indexStore.map((e) => an(e, n), { skipVoid: !1 });
1810
+ }
1810
1811
  //#endregion
1811
1812
  //#region src/exports.ts
1812
- var sn = (e) => {
1813
- let t = new Kt(e);
1813
+ var cn = (e) => {
1814
+ let t = new Jt(e);
1814
1815
  return u(t), t;
1815
1816
  };
1816
1817
  //#endregion
1817
1818
  //#region src/typed-content.ts
1818
- function cn(e) {
1819
+ function ln(e) {
1819
1820
  return typeof e.data == "object";
1820
1821
  }
1821
- function ln(e) {
1822
- return e.map((e) => !e || !cn(e) ? null : e, { skipVoid: !1 });
1822
+ function un(e) {
1823
+ return e.map((e) => !e || !ln(e) ? null : e, { skipVoid: !1 });
1823
1824
  }
1824
1825
  //#endregion
1825
- 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, he as createPluginEffect, k as createStorageKey, an as deriveReference, on as deriveReferences, n as evaluateRuleLogic, Ft as getPickedConfig, Q as isContentReference, Qt as isHtmlAssetValue, g as isInsideIframe, en as isLazyLoader, v as isPickedRoot, Gt as isPreviewSession, $t as lazyComponent, D as localStore, ce as onInertScriptSubtrees, $ as readReferenceId, tn as readReferenceIds, Xt as rehydrateScripts, oe as reportInertScriptSubtrees, se as resetInertScriptReport, O as sessionStore, E as subscribe, d as supportsCookies, m as supportsCryptoRandomUUID, c as supportsDocument, i as supportsHistory, f as supportsIntersectionObserver, h as supportsLocalStorage, a as supportsLocation, l as supportsSessionStorage, _ as supportsShadowRoot, o as supportsWebComponents, s as supportsWindow, ln as toTypedContentStore };
1826
+ export { Zt as PICKED_HYDRATED_ATTR, Xt as PICKED_MODULE_SCRIPT_TYPE, Yt as PICKED_SCRIPT_TYPE, Kt as PREVIEW_TOKEN_PARAM, Jt as Picked, $t as buildRehydrateBootstrap, cn as createClient, _e as createPluginEffect, O as createStorageKey, on as deriveReference, sn as deriveReferences, n as evaluateRuleLogic, Lt as getPickedConfig, Z as isContentReference, en as isHtmlAssetValue, g as isInsideIframe, nn as isLazyLoader, v as isPickedRoot, qt as isPreviewSession, tn as lazyComponent, E as localStore, ue as onInertScriptSubtrees, Q as readReferenceId, $ as readReferenceIds, Qt as rehydrateScripts, ce as reportInertScriptSubtrees, le as resetInertScriptReport, D as sessionStore, ne as subscribe, d as supportsCookies, m as supportsCryptoRandomUUID, c as supportsDocument, i as supportsHistory, f as supportsIntersectionObserver, h as supportsLocalStorage, a as supportsLocation, l as supportsSessionStorage, _ as supportsShadowRoot, o as supportsWebComponents, s as supportsWindow, un as toTypedContentStore };