@picked/client 0.0.1-dev.1786065500148 → 0.0.1-dev.1786072899095

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