@picked/client 0.0.1-dev.1777611471601 → 0.0.1-dev.1777612433193

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 (39) hide show
  1. package/dist/{api-UYfzBUGT.js → api-BITDxiKp.js} +1 -1
  2. package/dist/{api-CP_eIRW2.cjs → api-DzvLjSVi.cjs} +1 -1
  3. package/dist/cjs/form/index.js +1 -1
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/create-experience/index.js +1 -1
  6. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  7. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  8. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  9. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  10. package/dist/cjs/server/index.js +1 -1
  11. package/dist/esm/form/index.js +38 -32
  12. package/dist/esm/index.js +294 -169
  13. package/dist/esm/plugins/create-experience/index.js +1 -1
  14. package/dist/esm/plugins/dynamic-experiences/index.js +1 -1
  15. package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
  16. package/dist/esm/plugins/history-browser-storage/index.js +1 -1
  17. package/dist/esm/plugins/responses-browser-storage/index.js +1 -1
  18. package/dist/esm/server/index.js +1 -1
  19. package/dist/experience-instance-DC2gKwA6.cjs +1 -0
  20. package/dist/experience-instance-DJaNc5Ob.js +486 -0
  21. package/dist/types/form/create-form.d.ts +55 -0
  22. package/dist/types/form/create-form.d.ts.map +1 -1
  23. package/package.json +1 -11
  24. package/dist/cjs/plugins/dom-observer/index.js +0 -1
  25. package/dist/esm/plugins/dom-observer/index.js +0 -58
  26. package/dist/experience-BhteyYBl.cjs +0 -1
  27. package/dist/experience-CoMdlvyn.js +0 -136
  28. package/dist/experience-instance-CZDcicPj.cjs +0 -1
  29. package/dist/experience-instance-IkIw31Cg.js +0 -387
  30. package/dist/nodes-ChVU1VZO.js +0 -101
  31. package/dist/nodes-DDDs-rC2.cjs +0 -1
  32. package/dist/types/plugins/dom-observer/index.d.ts +0 -3
  33. package/dist/types/plugins/dom-observer/index.d.ts.map +0 -1
  34. package/dist/types/plugins/dom-observer/plugin.d.ts +0 -37
  35. package/dist/types/plugins/dom-observer/plugin.d.ts.map +0 -1
  36. /package/dist/{id-Bbodazn8.cjs → id-Bv44ilEo.cjs} +0 -0
  37. /package/dist/{id-B-N2zNbS.js → id-CRqy981z.js} +0 -0
  38. /package/dist/{storage-hOHCCXvP.js → storage-6Xk0uAxB.js} +0 -0
  39. /package/dist/{storage-BXSlLTRa.cjs → storage-B6lQtc4-.cjs} +0 -0
package/dist/esm/index.js CHANGED
@@ -1,17 +1,142 @@
1
- import { t as e } from "../rules-logic-BTIxfrJJ.js";
2
- import { t } from "../object-C82v79xc.js";
3
- import { t as n } from "../logger-6z_gb4rA.js";
4
- import { a as r, c as i, d as a, i as o, l as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "../supports-0XIfd4-R.js";
5
- import { a as h, c as g, u as _ } from "../nodes-ChVU1VZO.js";
6
- import { n as v, t as ee } from "../experience-CoMdlvyn.js";
7
- import { i as te, n as y, r as b, t as x } from "../storage-hOHCCXvP.js";
8
- import { n as ne, r as re } from "../api-UYfzBUGT.js";
9
- import { n as ie } from "../experience-instance-IkIw31Cg.js";
10
- import { t as S } from "../id-B-N2zNbS.js";
1
+ import { n as e, t } from "../rules-logic-BTIxfrJJ.js";
2
+ import { t as n } from "../object-C82v79xc.js";
3
+ import { t as r } from "../logger-6z_gb4rA.js";
4
+ import { a as i, c as a, d as o, i as s, l as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../supports-0XIfd4-R.js";
5
+ import { a as g, c as _, i as v, l as ee, n as te, o as ne, r as re, s as y } from "../experience-instance-DJaNc5Ob.js";
6
+ import { i as ie, n as b, r as x, t as S } from "../storage-6Xk0uAxB.js";
7
+ import { n as ae, r as oe } from "../api-BITDxiKp.js";
8
+ import { t as se } from "../id-CRqy981z.js";
11
9
  import { attach as C, combine as w, createApi as T, createDomain as E, createEffect as D, createEvent as O, createStore as k, sample as A } from "effector";
12
10
  import { createFactory as j, invoke as M } from "@withease/factories";
13
- //#region src/entities/plugin/plugin.ts
14
- var ae = (e, t, n) => {
11
+ //#region src/entities/experience/experience.ts
12
+ var N = E("experience"), ce = j(({ client: e, experience: t }) => {
13
+ let n = N.store(t), r = T(n, { merge(e, t) {
14
+ return {
15
+ ...e,
16
+ ...t.experience
17
+ };
18
+ } }), i = n.map((e) => ({
19
+ name: e.name,
20
+ decisionLogic: e.condition,
21
+ targetSelectors: e.targets,
22
+ initializeOpenLogic: e.initializeOpen
23
+ })), a = w(n, 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 }), o = w(n, e.steps.indexStore, e.conditions.indexStore, (e, t, n) => {
24
+ let r = e.nodes.filter(v).map((e) => t[e.stepId]).filter((e) => e !== void 0), i = e.nodes.filter(re).map((e) => n[e.conditionId]).filter((e) => e !== void 0);
25
+ return {
26
+ steps: r,
27
+ nodes: e.nodes,
28
+ edges: e.edges,
29
+ conditions: i
30
+ };
31
+ }), s = t.actions ?? [];
32
+ return {
33
+ id: t.id,
34
+ key: t.key,
35
+ name: t.name,
36
+ configStore: i,
37
+ treeStore: o,
38
+ componentStore: a,
39
+ actions: s,
40
+ merge: r.merge
41
+ };
42
+ });
43
+ function le(e) {
44
+ return M(ce, e);
45
+ }
46
+ var ue = j(({ client: e }) => {
47
+ let t = N.store({}), n = T(t, { register(e, t) {
48
+ return {
49
+ ...e,
50
+ [t.id]: t
51
+ };
52
+ } });
53
+ function r(r) {
54
+ let i = t.getState()[r.id];
55
+ if (i) {
56
+ i.merge({
57
+ experience: r,
58
+ strategy: "override"
59
+ });
60
+ return;
61
+ }
62
+ let a = le({
63
+ client: e,
64
+ experience: r
65
+ });
66
+ n.register(a);
67
+ }
68
+ let i = t.map((e) => Object.values(e));
69
+ function a(e) {
70
+ return t.map((t) => t[e], { skipVoid: !1 });
71
+ }
72
+ function o(e) {
73
+ return t.map((t) => Object.values(t).find((t) => t.key === e) ?? t[e], { skipVoid: !1 });
74
+ }
75
+ let s = C({
76
+ source: t,
77
+ effect: async (t, n) => {
78
+ let r = "key" in n ? Object.values(t).find((e) => e.key === n.key) : t[n.id];
79
+ if (!r) {
80
+ "key" in n ? `${n.key}` : `${n.id}`;
81
+ return;
82
+ }
83
+ let { options: i } = n;
84
+ if (i?.bypassCondition) {
85
+ P(e, r, i);
86
+ return;
87
+ }
88
+ await I(e, r) && P(e, r, i);
89
+ }
90
+ });
91
+ return {
92
+ register: r,
93
+ get: a,
94
+ getById: a,
95
+ getByKey: o,
96
+ launch: s,
97
+ open: C({
98
+ source: {
99
+ experiences: t,
100
+ instances: e.experienceInstances.listStore
101
+ },
102
+ effect: ({ experiences: e, instances: t }, n) => {
103
+ let r = "key" in n ? Object.values(e).find((e) => e.key === n.key) : e[n.id], i = t.filter((e) => r && e.experienceId === r.id);
104
+ if (i.length > 0) for (let e of i) e.open();
105
+ else s("key" in n ? {
106
+ key: n.key,
107
+ options: {
108
+ ...n.options,
109
+ initialiseOpen: !0
110
+ }
111
+ } : {
112
+ id: n.id,
113
+ options: {
114
+ ...n.options,
115
+ initialiseOpen: !0
116
+ }
117
+ });
118
+ }
119
+ }),
120
+ listStore: i
121
+ };
122
+ });
123
+ function de(e) {
124
+ return M(ue, e);
125
+ }
126
+ var P = (e, t, n) => {
127
+ let { targetSelectors: r } = t.configStore.getState(), i = y(r, t.id);
128
+ i.forEach(({ elements: e }) => e.forEach((e) => ee(e, t.id))), g(i, t.id, t.key).forEach((r) => {
129
+ n ? e.experienceInstances.spawn(t, r, n) : e.experienceInstances.spawn(t, r);
130
+ });
131
+ }, F = async (e) => {
132
+ await Promise.all(e.experiences.listStore.getState().map(async (t) => {
133
+ await I(e, t) && P(e, t);
134
+ }));
135
+ }, I = async (n, r) => {
136
+ if (!n.preconditionPassed || !n.session?.isUser) return !1;
137
+ let { decisionLogic: i, targetSelectors: a } = r.configStore.getState();
138
+ return y(a, r.id).length < 1 || a.length === 0 ? !1 : i === void 0 ? !0 : e(i) ? await t(n, i) === !0 : !0;
139
+ }, fe = (e, t, n) => {
15
140
  let r = t.name, i = t.setup(e);
16
141
  if (i) {
17
142
  let e = n[r] ?? {};
@@ -20,16 +145,16 @@ var ae = (e, t, n) => {
20
145
  ...i
21
146
  });
22
147
  }
23
- }, oe = E("component"), se = j(({ client: e, component: t, name: n }) => ({
148
+ }, L = E("component"), R = j(({ client: e, component: t, name: n }) => ({
24
149
  name: n,
25
150
  component: t,
26
151
  frameworkStore: e.frameworks.getByName(t.frameworkName)
27
152
  }));
28
- function ce(e) {
29
- return M(se, e);
153
+ function z(e) {
154
+ return M(R, e);
30
155
  }
31
- var le = j(({ client: e }) => {
32
- let t = oe.store({}), n = T(t, { register(e, t) {
156
+ var B = j(({ client: e }) => {
157
+ let t = L.store({}), n = T(t, { register(e, t) {
33
158
  return {
34
159
  ...e,
35
160
  [t.name]: t
@@ -37,7 +162,7 @@ var le = j(({ client: e }) => {
37
162
  } });
38
163
  function r(r, i) {
39
164
  t.getState()[r] && `${r}`;
40
- let a = ce({
165
+ let a = z({
41
166
  client: e,
42
167
  name: r,
43
168
  component: i
@@ -54,13 +179,13 @@ var le = j(({ client: e }) => {
54
179
  listStore: i
55
180
  };
56
181
  });
57
- function ue(e) {
58
- return M(le, e);
182
+ function V(e) {
183
+ return M(B, e);
59
184
  }
60
- var N = (e, t, n) => {
185
+ var H = (e, t, n) => {
61
186
  n.register(e, t);
62
- }, P = E("framework"), F = j(({ client: e }) => {
63
- let t = P.store({}), n = T(t, { register(e, t) {
187
+ }, pe = E("framework"), me = j(({ client: e }) => {
188
+ let t = pe.store({}), n = T(t, { register(e, t) {
64
189
  return {
65
190
  ...e,
66
191
  [t.name]: t.framework
@@ -82,21 +207,21 @@ var N = (e, t, n) => {
82
207
  listStore: i
83
208
  };
84
209
  });
85
- function I(e) {
86
- return M(F, e);
210
+ function he(e) {
211
+ return M(me, e);
87
212
  }
88
- var L = (e, t) => {
213
+ var ge = (e, t) => {
89
214
  t.register(e.name, e);
90
- }, R = 6e3, z = x("last_ping", "global"), B = async (e) => {
215
+ }, _e = 6e3, ve = S("last_ping", "global"), ye = async (e) => {
91
216
  try {
92
- let t = Date.now(), n = y.get(z), r = 0;
93
- if (n.isSet() && (r = n.json() ?? 0), r && t - r < R) return !0;
217
+ let t = Date.now(), n = b.get(ve), r = 0;
218
+ if (n.isSet() && (r = n.json() ?? 0), r && t - r < _e) return !0;
94
219
  let i = {
95
220
  projectId: e.projectId,
96
221
  path: window.location.pathname
97
222
  }, a = {}, o = document.getElementById("picked_script")?.dataset.verceltoken;
98
223
  o && (a["x-vercel-protection-bypass"] = o);
99
- let s = (await ne(e.apiUrl, "ping", i, a)).ok;
224
+ let s = (await ae(e.apiUrl, "ping", i, a)).ok;
100
225
  return s && n.set(t), s;
101
226
  } catch {
102
227
  return !1;
@@ -104,7 +229,7 @@ var L = (e, t) => {
104
229
  };
105
230
  //#endregion
106
231
  //#region src/utils/state-snaphot.ts
107
- function V(e) {
232
+ function U(e) {
108
233
  let t = typeof window < "u", n = {
109
234
  client: e,
110
235
  responses: e.responses.listStore.getState(),
@@ -118,8 +243,8 @@ function V(e) {
118
243
  }
119
244
  //#endregion
120
245
  //#region src/entities/predicate/predicate.ts
121
- var H = E("predicate"), U = j(({ client: e }) => {
122
- let t = H.store({}), n = T(t, { register(e, t) {
246
+ var be = E("predicate"), xe = j(({ client: e }) => {
247
+ let t = be.store({}), n = T(t, { register(e, t) {
123
248
  return {
124
249
  ...e,
125
250
  [t.name]: {
@@ -142,7 +267,7 @@ var H = E("predicate"), U = j(({ client: e }) => {
142
267
  let n = k(() => void 0, { skipVoid: !1 }), r = D(async () => {
143
268
  let n = a(t).getState();
144
269
  if (!n) return;
145
- let r = V(e);
270
+ let r = U(e);
146
271
  return (...e) => n({
147
272
  ...r,
148
273
  args: e
@@ -167,12 +292,12 @@ var H = E("predicate"), U = j(({ client: e }) => {
167
292
  getEvokablePredicate: o
168
293
  };
169
294
  });
170
- function de(e) {
171
- return M(U, e);
295
+ function Se(e) {
296
+ return M(xe, e);
172
297
  }
173
- var fe = (e, t, n) => {
298
+ var Ce = (e, t, n) => {
174
299
  n.register(e, t);
175
- }, W = E("feature"), pe = j(({ client: e }) => {
300
+ }, W = E("feature"), we = j(({ client: e }) => {
176
301
  let t = W.store({}), n = W.store([]), r = T(t, { register(e, t) {
177
302
  return {
178
303
  ...e,
@@ -194,7 +319,7 @@ var fe = (e, t, n) => {
194
319
  }));
195
320
  }
196
321
  let a = D(async ({ id: e, key: t, storage: n = "local" }) => {
197
- let r = x(`feature:${e}:${t}`, "global"), i = (n === "session" ? b : y).get(r).boolean();
322
+ let r = S(`feature:${e}:${t}`, "global"), i = (n === "session" ? x : b).get(r).boolean();
198
323
  return i === null ? null : {
199
324
  id: e,
200
325
  key: t,
@@ -203,8 +328,8 @@ var fe = (e, t, n) => {
203
328
  };
204
329
  }), o = D((e) => {
205
330
  if (!e) return null;
206
- let t = x(`feature:${e.id}:${e.key}`, "global");
207
- (e.storage === "session" ? b : y).set(t, e.bucket);
331
+ let t = S(`feature:${e.id}:${e.key}`, "global");
332
+ (e.storage === "session" ? x : b).set(t, e.bucket);
208
333
  }), s = /* @__PURE__ */ new Map(), c = C({
209
334
  source: {
210
335
  allFeaturesStore: t,
@@ -327,21 +452,21 @@ var fe = (e, t, n) => {
327
452
  getEvokableFeature: f
328
453
  };
329
454
  });
330
- function me(e) {
331
- return M(pe, e);
455
+ function Te(e) {
456
+ return M(we, e);
332
457
  }
333
- var he = (e, t, n) => {
458
+ var Ee = (e, t, n) => {
334
459
  n.register(e, t);
335
460
  }, G = E("history");
336
461
  function K(e, t) {
337
462
  return {
338
- id: S(`history-entry-${Date.now()}-${Math.random()}}`),
463
+ id: se(`history-entry-${Date.now()}-${Math.random()}}`),
339
464
  node: t,
340
465
  at: Date.now(),
341
466
  experienceId: e
342
467
  };
343
468
  }
344
- var ge = j(() => {
469
+ var De = j(() => {
345
470
  let e = G.store({ entries: [] }), t = G.event(), n = G.event(), r = G.event(), i = G.event();
346
471
  e.on(t, (e, t) => ({ entries: [...e.entries, K(t.experienceId, t.node)] })), e.on(n, (e, t) => ({ entries: [...e.entries.slice(0, -1), K(t.experienceId, t.node)] })), e.on(i, (e, t) => t);
347
472
  function a(e, t) {
@@ -351,7 +476,7 @@ var ge = j(() => {
351
476
  };
352
477
  for (let r = e.length - 1; r >= 0; r--) {
353
478
  let i = e[r], a = i?.node;
354
- if (!(!a || !h(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
479
+ if (!(!a || !v(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
355
480
  else {
356
481
  n.secondLastStepIndex = r;
357
482
  break;
@@ -373,25 +498,25 @@ var ge = j(() => {
373
498
  entriesStore: e.map((e) => e.entries)
374
499
  };
375
500
  });
376
- function _e() {
377
- return M(ge);
501
+ function Oe() {
502
+ return M(De);
378
503
  }
379
504
  //#endregion
380
505
  //#region src/utils/events.ts
381
- var ve = 0, ye = (e) => {
506
+ var ke = 0, Ae = (e) => {
382
507
  let t = k([]);
383
508
  return A({
384
509
  clock: e,
385
510
  source: t,
386
511
  fn: (e, t) => [...e, {
387
- id: ve++,
512
+ id: ke++,
388
513
  at: /* @__PURE__ */ new Date(),
389
514
  payload: t
390
515
  }],
391
516
  target: t
392
517
  }), t;
393
- }, be = E("field"), xe = j(() => {
394
- let e = be.store({}), t = T(e, {
518
+ }, je = E("field"), Me = j(() => {
519
+ let e = je.store({}), t = T(e, {
395
520
  register(e, t) {
396
521
  return {
397
522
  ...e,
@@ -435,13 +560,13 @@ var ve = 0, ye = (e) => {
435
560
  getByName: s
436
561
  };
437
562
  });
438
- function Se() {
439
- return M(xe);
563
+ function Ne() {
564
+ return M(Me);
440
565
  }
441
566
  //#endregion
442
567
  //#region src/entities/step/step.ts
443
- var Ce = E("step"), we = j(() => {
444
- let e = Ce.store({}), t = T(e, { register(e, t) {
568
+ var Pe = E("step"), Fe = j(() => {
569
+ let e = Pe.store({}), t = T(e, { register(e, t) {
445
570
  return {
446
571
  ...e,
447
572
  [t.step.id]: t.step
@@ -465,16 +590,16 @@ var Ce = E("step"), we = j(() => {
465
590
  indexStore: e
466
591
  };
467
592
  });
468
- function Te() {
469
- return M(we);
593
+ function Ie() {
594
+ return M(Fe);
470
595
  }
471
- function Ee(e, t) {
596
+ function Le(e, t) {
472
597
  t.register(e);
473
598
  }
474
599
  //#endregion
475
600
  //#region src/entities/action/action.ts
476
- var De = E("action"), Oe = j(({ client: e }) => {
477
- let t = De.store({}), n = T(t, { register(e, t) {
601
+ var Re = E("action"), ze = j(({ client: e }) => {
602
+ let t = Re.store({}), n = T(t, { register(e, t) {
478
603
  return {
479
604
  ...e,
480
605
  [t.key]: {
@@ -497,7 +622,7 @@ var De = E("action"), Oe = j(({ client: e }) => {
497
622
  let r = k(() => void 0, { skipVoid: !1 }), i = n ? { experience: n.experience } : null, o = D(async () => {
498
623
  let n = a(t).getState();
499
624
  if (!n) return;
500
- let r = V(e);
625
+ let r = U(e);
501
626
  return (...e) => n({
502
627
  ...r,
503
628
  args: e
@@ -522,10 +647,10 @@ var De = E("action"), Oe = j(({ client: e }) => {
522
647
  getEvokableAction: o
523
648
  };
524
649
  });
525
- function ke(e) {
526
- return M(Oe, e);
650
+ function Be(e) {
651
+ return M(ze, e);
527
652
  }
528
- var Ae = (e, t, n) => {
653
+ var Ve = (e, t, n) => {
529
654
  n.register(e, t);
530
655
  };
531
656
  //#endregion
@@ -541,7 +666,7 @@ function q(e, t, n, r) {
541
666
  function J(e) {
542
667
  return e === null || e === "" || Array.isArray(e) && !e.length;
543
668
  }
544
- function je(e) {
669
+ function He(e) {
545
670
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
546
671
  }
547
672
  function Y(e) {
@@ -551,13 +676,13 @@ function Y(e) {
551
676
  return !1;
552
677
  }
553
678
  }
554
- function Me(e, t) {
679
+ function Ue(e, t) {
555
680
  return t.find((t) => t.key === e) ?? null;
556
681
  }
557
- function Ne(e, t) {
682
+ function We(e, t) {
558
683
  return e.multiple && (typeof t == "string" || typeof t == "number" || typeof t == "boolean") ? [t] : t;
559
684
  }
560
- function Pe(e, t) {
685
+ function Ge(e, t) {
561
686
  if (e.type !== "object" || J(t)) return null;
562
687
  if (e.multiple) {
563
688
  if (!Array.isArray(t)) return q(e, t, "This field expects multiple values", "Field expects an array of objects.");
@@ -569,7 +694,7 @@ function Pe(e, t) {
569
694
  }
570
695
  return Array.isArray(t) ? q(e, t, "This field expects a single value", "Field expects a single object, not an array.") : typeof t != "object" || !t ? q(e, t, "This field expects an object value", "Field expects an object value.") : Y(t) ? null : q(e, t, "This field contains non-serializable data", "Field value contains non-JSON-serializable data (functions, circular references, etc.).");
571
696
  }
572
- function Fe(e, t) {
697
+ function Ke(e, t) {
573
698
  if (J(t) || !Array.isArray(e.options) || e.options.length === 0) return null;
574
699
  let n = Array.isArray(t) ? t : [t];
575
700
  if (e.type === "object") {
@@ -577,23 +702,23 @@ function Fe(e, t) {
577
702
  return n.every((e) => r.has(JSON.stringify(e))) ? null : q(e, t, "This field expects a valid option", "Field expects a valid option from the defined choices.");
578
703
  }
579
704
  let r = e.options.map((e) => e.value);
580
- return n.every((e) => !je(e) || e === null ? !1 : r.includes(e)) ? null : q(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
705
+ return n.every((e) => !He(e) || e === null ? !1 : r.includes(e)) ? null : q(e, t, "This field expects a valid option", `Field expects a valid option. Valid options are: ${r.join(", ")}`);
581
706
  }
582
- async function Ie(e, n, r, i) {
583
- if (n.validation && !t(n.validation) && !J(r)) {
584
- let t = i ? {
707
+ async function qe(e, t, r, i) {
708
+ if (t.validation && !n(t.validation) && !J(r)) {
709
+ let n = i ? {
585
710
  $input: r,
586
711
  responses: i
587
- } : { $input: r }, a = await e(n.validation, t);
588
- if (typeof a == "string") return q(n, r, a, `Field validation resulted in an error: ${a}.`);
589
- if (a === !1) return q(n, r, "This field is invalid", "Field validation resulted in an unspecified error.");
712
+ } : { $input: r }, a = await e(t.validation, n);
713
+ if (typeof a == "string") return q(t, r, a, `Field validation resulted in an error: ${a}.`);
714
+ if (a === !1) return q(t, r, "This field is invalid", "Field validation resulted in an unspecified error.");
590
715
  }
591
- return n.required && J(r) ? q(n, r, "This field is required", "Field is required.") : !n.multiple && Array.isArray(r) && r.length > 1 ? q(n, r, "This field expects a single response", "Field expects a single response.") : null;
716
+ return t.required && J(r) ? q(t, r, "This field is required", "Field is required.") : !t.multiple && Array.isArray(r) && r.length > 1 ? q(t, r, "This field expects a single response", "Field expects a single response.") : null;
592
717
  }
593
718
  //#endregion
594
719
  //#region src/entities/response/response.ts
595
- var Le = E("response"), Re = j(({ client: t }) => {
596
- let n = Le.store({}), r = O(), i = O(), a = T(n, {
720
+ var Je = E("response"), Ye = j(({ client: e }) => {
721
+ let n = Je.store({}), r = O(), i = O(), a = T(n, {
597
722
  register(e, t) {
598
723
  return {
599
724
  ...e,
@@ -622,9 +747,9 @@ var Le = E("response"), Re = j(({ client: t }) => {
622
747
  });
623
748
  } else a.registerBatch(e);
624
749
  }
625
- let s = (n, r) => e(t, n, r), c = C({
750
+ let s = (n, r) => t(e, n, r), c = C({
626
751
  source: {
627
- allFields: t.fields.listStore,
752
+ allFields: e.fields.listStore,
628
753
  existingResponses: n
629
754
  },
630
755
  effect: async ({ allFields: e, existingResponses: t }, n) => {
@@ -632,7 +757,7 @@ var Le = E("response"), Re = j(({ client: t }) => {
632
757
  ...t,
633
758
  ...n
634
759
  }, o = Object.entries(n), c = await Promise.allSettled(o.map(async ([t, n]) => {
635
- let o = Me(t, e);
760
+ let o = Ue(t, e);
636
761
  if (!o) {
637
762
  r.push({
638
763
  fieldKey: t,
@@ -642,17 +767,17 @@ var Le = E("response"), Re = j(({ client: t }) => {
642
767
  });
643
768
  return;
644
769
  }
645
- let c = Ne(o, n), l = await Ie(s, o, c, a);
770
+ let c = We(o, n), l = await qe(s, o, c, a);
646
771
  if (l) {
647
772
  r.push(l);
648
773
  return;
649
774
  }
650
- let u = Pe(o, c);
775
+ let u = Ge(o, c);
651
776
  if (u) {
652
777
  r.push(u);
653
778
  return;
654
779
  }
655
- let d = Fe(o, c);
780
+ let d = Ke(o, c);
656
781
  if (d) {
657
782
  r.push(d);
658
783
  return;
@@ -703,14 +828,14 @@ var Le = E("response"), Re = j(({ client: t }) => {
703
828
  return n === null ? e?.defaultValue !== void 0 && e.defaultValue !== null ? e.defaultValue : null : n;
704
829
  });
705
830
  }
706
- function h(e) {
707
- return m(t.fields.getById(e));
831
+ function h(t) {
832
+ return m(e.fields.getById(t));
708
833
  }
709
- function g(e) {
710
- return m(t.fields.getByKey(e));
834
+ function g(t) {
835
+ return m(e.fields.getByKey(t));
711
836
  }
712
- function _(e) {
713
- return m(t.fields.getByName(e));
837
+ function _(t) {
838
+ return m(e.fields.getByName(t));
714
839
  }
715
840
  return A({
716
841
  clock: r,
@@ -731,13 +856,13 @@ var Le = E("response"), Re = j(({ client: t }) => {
731
856
  getByFieldName: _
732
857
  };
733
858
  });
734
- function ze(e) {
735
- return M(Re, e);
859
+ function Xe(e) {
860
+ return M(Ye, e);
736
861
  }
737
862
  //#endregion
738
863
  //#region src/entities/condition/condition.ts
739
- var Be = E("condition"), Ve = j(() => {
740
- let e = Be.store({}), t = T(e, { register(e, t) {
864
+ var Ze = E("condition"), Qe = j(() => {
865
+ let e = Ze.store({}), t = T(e, { register(e, t) {
741
866
  return {
742
867
  ...e,
743
868
  [t.condition.id]: t.condition
@@ -761,13 +886,13 @@ var Be = E("condition"), Ve = j(() => {
761
886
  indexStore: e
762
887
  };
763
888
  });
764
- function He() {
765
- return M(Ve);
889
+ function $e() {
890
+ return M(Qe);
766
891
  }
767
892
  //#endregion
768
893
  //#region src/utils/api-url.ts
769
- function Ue() {
770
- if (d()) {
894
+ function et() {
895
+ if (f()) {
771
896
  let e = [
772
897
  document.currentScript,
773
898
  document.getElementById("picked_script"),
@@ -781,36 +906,36 @@ function Ue() {
781
906
  }
782
907
  //#endregion
783
908
  //#region src/utils/search-params.ts
784
- function We() {
785
- if (!a()) return {};
909
+ function tt() {
910
+ if (!o()) return {};
786
911
  let e = new URLSearchParams(window.location.search), t = {}, n = /* @__PURE__ */ new Set();
787
912
  for (let [t] of e.entries()) t.startsWith("picked-") && n.add(t);
788
913
  for (let r of n) {
789
914
  let n = r.replace("picked-", "");
790
915
  t[n] = e.getAll(r);
791
916
  }
792
- let r = x("s");
793
- if (n.size > 0) b.set(r, t);
917
+ let r = S("s");
918
+ if (n.size > 0) x.set(r, t);
794
919
  else {
795
- let e = b.get(r);
920
+ let e = x.get(r);
796
921
  if (e) return e.json() || {};
797
922
  }
798
923
  return t;
799
924
  }
800
925
  //#endregion
801
926
  //#region src/utils/user-session.ts
802
- function Ge() {
803
- return c() ? 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)}`;
927
+ function nt() {
928
+ return l() ? 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)}`;
804
929
  }
805
- var Ke = x("session", "global"), qe = () => {
806
- let e = y.get(Ke), t;
930
+ var rt = S("session", "global"), it = () => {
931
+ let e = b.get(rt), t;
807
932
  e.isSet() && (t = e.json());
808
933
  let n = (t) => e.set({
809
934
  id: t.id,
810
935
  isUser: t.isUser,
811
936
  identifiers: t.identifiers
812
937
  }), r = {
813
- id: t?.id ?? Ge(),
938
+ id: t?.id ?? nt(),
814
939
  isUser: t?.isUser ?? void 0,
815
940
  identifiers: t?.identifiers ?? void 0,
816
941
  setIsUser(e) {
@@ -827,22 +952,22 @@ var Ke = x("session", "global"), qe = () => {
827
952
  }
828
953
  };
829
954
  return n(r), r;
830
- }, Je = () => l() ? qe() : null;
955
+ }, X = () => u() ? it() : null;
831
956
  //#endregion
832
957
  //#region src/utils/picked-config.ts
833
- function X() {
834
- if (a()) return globalThis.window.pickedConfig;
958
+ function Z() {
959
+ if (o()) return globalThis.window.pickedConfig;
835
960
  }
836
- function Ye() {
837
- if (!a()) return;
838
- let e = X(), t = e?.organizationId, n = e?.projectId;
961
+ function at() {
962
+ if (!o()) return;
963
+ let e = Z(), t = e?.organizationId, n = e?.projectId;
839
964
  return t && n ? {
840
965
  organizationId: t,
841
966
  projectId: n
842
967
  } : void 0;
843
968
  }
844
- function Xe() {
845
- if (!d()) return;
969
+ function ot() {
970
+ if (!f()) return;
846
971
  let e = document.getElementById("picked_script") || document.querySelector("script#picked") || document.getElementById("cvly");
847
972
  if (!e) return;
848
973
  let t = e.dataset.organizationid || e.getAttribute("organization-id"), n = e.dataset.projectid || e.getAttribute("project-id");
@@ -851,15 +976,15 @@ function Xe() {
851
976
  projectId: n
852
977
  } : void 0;
853
978
  }
854
- function Z(e) {
979
+ function st(e) {
855
980
  let { organizationId: t, projectId: n } = e;
856
981
  if (t && n) return {
857
982
  organizationId: t,
858
983
  projectId: n
859
984
  };
860
- let r = Ye();
985
+ let r = at();
861
986
  if (r) return r;
862
- let i = Xe();
987
+ let i = ot();
863
988
  if (i) return i;
864
989
  throw Error("organizationId and projectId are required. You can provide them via one of:\n (1) createClient({ organizationId, projectId }) options;\n (2) window.pickedConfig = { organizationId, projectId };\n (3) a <script> tag with id 'picked_script', 'picked', or 'cvly' that includes data-organizationid/data-projectid (or organization-id/project-id) attributes.");
865
990
  }
@@ -868,7 +993,7 @@ function Z(e) {
868
993
  function Q(e) {
869
994
  return e == null || e === "" || Number.isNaN(e);
870
995
  }
871
- var Ze = {
996
+ var ct = {
872
997
  default: (e, t) => Q(e) ? String(t ?? "") : String(e),
873
998
  append: (e, t) => t && !Q(e) ? `${e} ${t}` : e,
874
999
  prepend: (e, t) => t && !Q(e) ? `${t} ${e}` : e,
@@ -889,24 +1014,24 @@ var Ze = {
889
1014
  return e instanceof Set ? t.format(Array.from(e).map(String)) : e;
890
1015
  }
891
1016
  };
892
- function Qe(e) {
1017
+ function lt(e) {
893
1018
  return typeof e == "object" && !!e;
894
1019
  }
895
- function $e(e, t) {
1020
+ function ut(e, t) {
896
1021
  let n = t;
897
- for (let t of e.split(".")) if (Qe(n) && t in n) n = n[t];
1022
+ for (let t of e.split(".")) if (lt(n) && t in n) n = n[t];
898
1023
  else return;
899
1024
  return typeof n == "function" ? n() : n;
900
1025
  }
901
- function et(e, t) {
902
- let n = e.split("|").map((e) => e.trim()), r = $e(n.shift() ?? "", t);
1026
+ function dt(e, t) {
1027
+ let n = e.split("|").map((e) => e.trim()), r = ut(n.shift() ?? "", t);
903
1028
  for (let e of n) {
904
- let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = Ze[i];
1029
+ let [t, ...n] = e.split(":"), i = t?.trim() ?? "", a = n.join(":").trim().replaceAll(/(?:^['"]|['"]$)/g, ""), o = ct[i];
905
1030
  o && (r = o(r, a));
906
1031
  }
907
1032
  return Q(r) ? "" : typeof r == "object" ? JSON.stringify(r) : String(r);
908
1033
  }
909
- function tt(e, t) {
1034
+ function ft(e, t) {
910
1035
  let n = "", r = 0;
911
1036
  for (; r < e.length;) if (e[r] === "{" && e[r + 1] === "{") {
912
1037
  r += 2;
@@ -918,14 +1043,14 @@ function tt(e, t) {
918
1043
  }
919
1044
  i += e[r++];
920
1045
  }
921
- n += et(i.trim(), t);
1046
+ n += dt(i.trim(), t);
922
1047
  } else n += e[r++];
923
1048
  return n;
924
1049
  }
925
1050
  //#endregion
926
1051
  //#region src/picked.ts
927
1052
  var $ = class {
928
- static logger = n;
1053
+ static logger = r;
929
1054
  options;
930
1055
  isReady = !1;
931
1056
  plugins = {};
@@ -941,30 +1066,30 @@ var $ = class {
941
1066
  precondition;
942
1067
  condition;
943
1068
  preconditionPassed;
944
- searchParams = We();
945
- history = _e();
946
- components = ue({ client: this });
947
- experienceInstances = ie({ client: this });
948
- experiences = ee({ client: this });
949
- frameworks = I({ client: this });
950
- predicates = de({ client: this });
951
- features = me({ client: this });
952
- conditions = He();
953
- fields = Se();
954
- responses = ze({ client: this });
955
- steps = Te();
956
- actions = ke({ client: this });
1069
+ searchParams = tt();
1070
+ history = Oe();
1071
+ components = V({ client: this });
1072
+ experienceInstances = te({ client: this });
1073
+ experiences = de({ client: this });
1074
+ frameworks = he({ client: this });
1075
+ predicates = Se({ client: this });
1076
+ features = Te({ client: this });
1077
+ conditions = $e();
1078
+ fields = Ne();
1079
+ responses = Xe({ client: this });
1080
+ steps = Ie();
1081
+ actions = Be({ client: this });
957
1082
  constructor(e) {
958
- this.events = ye(this.eventBus);
959
- let { organizationId: t, projectId: n } = Z(e);
960
- this.organizationId = t, this.projectId = n, this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Ue(), this.dashboardUrl = e.dashboardUrl ?? "https://dashboard.picked.app", this.documentationSiteUrl = e.documentationSiteUrl ?? "https://docs.picked.app", this.session = Je(), this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.setupComponents(), this.precondition = e.precondition, this.condition = e.condition, this.eventBus({
1083
+ this.events = Ae(this.eventBus);
1084
+ let { organizationId: t, projectId: n } = st(e);
1085
+ this.organizationId = t, this.projectId = n, this.options = Object.freeze(e), this.apiUrl = e.apiUrl || et(), this.dashboardUrl = e.dashboardUrl ?? "https://dashboard.picked.app", this.documentationSiteUrl = e.documentationSiteUrl ?? "https://docs.picked.app", this.session = X(), this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.setupComponents(), this.precondition = e.precondition, this.condition = e.condition, this.eventBus({
961
1086
  type: "load",
962
- version: re()
1087
+ version: oe()
963
1088
  });
964
1089
  }
965
1090
  start = () => {
966
- B(this), (async () => {
967
- if (!d()) return;
1091
+ ye(this), (async () => {
1092
+ if (!f()) return;
968
1093
  await this.runPluginStartHooks();
969
1094
  let e = await this.evaluateGate(this.precondition);
970
1095
  this.preconditionPassed = e;
@@ -978,7 +1103,7 @@ var $ = class {
978
1103
  value: e
979
1104
  });
980
1105
  }
981
- if (this.eventBus({ type: "initialize" }), n && v(this), await g(), n && v(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session) {
1106
+ if (this.eventBus({ type: "initialize" }), n && F(this), await ne(), n && F(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session) {
982
1107
  let { id: e, isUser: t, identifiers: n } = this.session;
983
1108
  this.eventBus({
984
1109
  type: "session",
@@ -990,21 +1115,21 @@ var $ = class {
990
1115
  })();
991
1116
  };
992
1117
  registerFramework = (e) => {
993
- L(e, this.frameworks);
1118
+ ge(e, this.frameworks);
994
1119
  };
995
1120
  registerComponent = (e, t) => {
996
- N(e, t, this.components);
1121
+ H(e, t, this.components);
997
1122
  };
998
1123
  registerPlugin = (e) => {
999
- ae(this, e, this.plugins);
1124
+ fe(this, e, this.plugins);
1000
1125
  let t = this.plugins[e.name];
1001
1126
  t?.onStart && this.pluginStartHooks.push(t.onStart);
1002
1127
  };
1003
1128
  registerFeature = (e, t) => {
1004
- he(e, t, this.features);
1129
+ Ee(e, t, this.features);
1005
1130
  };
1006
1131
  registerPredicate = (e, t) => {
1007
- fe(e, t, this.predicates);
1132
+ Ce(e, t, this.predicates);
1008
1133
  };
1009
1134
  registerCondition = (e) => {
1010
1135
  this.conditions.register(e);
@@ -1013,15 +1138,15 @@ var $ = class {
1013
1138
  this.fields.register(e);
1014
1139
  };
1015
1140
  registerStep = (e) => {
1016
- Ee(e, this.steps);
1141
+ Le(e, this.steps);
1017
1142
  };
1018
1143
  registerAction = (e, t) => {
1019
- Ae(e, t, this.actions);
1144
+ Ve(e, t, this.actions);
1020
1145
  };
1021
1146
  registerExperience = (e) => {
1022
- e.component && N(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
1147
+ e.component && H(`experience:${e.id}`, e.component, this.components), this.experiences.register(e);
1023
1148
  };
1024
- getStateSnapshot = () => V(this);
1149
+ getStateSnapshot = () => U(this);
1025
1150
  launchExperienceById = async (e, t) => {
1026
1151
  this.experiences.launch({
1027
1152
  id: e,
@@ -1043,8 +1168,8 @@ var $ = class {
1043
1168
  async runPluginStartHooks() {
1044
1169
  for (let e of this.pluginStartHooks) await e();
1045
1170
  }
1046
- async evaluateGate(t) {
1047
- return t === void 0 ? !0 : typeof t == "boolean" ? t : await e(this, t) === !0;
1171
+ async evaluateGate(e) {
1172
+ return e === void 0 ? !0 : typeof e == "boolean" ? e : await t(this, e) === !0;
1048
1173
  }
1049
1174
  setupPlugins() {
1050
1175
  this.options.plugins?.forEach((e) => {
@@ -1110,7 +1235,7 @@ var $ = class {
1110
1235
  getPluginConfig = (e) => this.plugins[e] ?? {};
1111
1236
  renderString = (e, t) => {
1112
1237
  let n = this.responses.listStore.getState().reduce((e, t) => (e[t.fieldKey] = t.value, e), {});
1113
- return tt(e, {
1238
+ return ft(e, {
1114
1239
  ...t,
1115
1240
  responses: n
1116
1241
  });
@@ -1118,20 +1243,20 @@ var $ = class {
1118
1243
  };
1119
1244
  //#endregion
1120
1245
  //#region src/entities/component/lazyComponent.ts
1121
- function nt(e) {
1246
+ function pt(e) {
1122
1247
  return {
1123
1248
  $$type: "lazy-component",
1124
1249
  load: e
1125
1250
  };
1126
1251
  }
1127
- function rt(e) {
1252
+ function mt(e) {
1128
1253
  return typeof e == "object" && !!e && "$$type" in e && e.$$type === "lazy-component";
1129
1254
  }
1130
1255
  //#endregion
1131
1256
  //#region src/exports.ts
1132
- var it = (e) => {
1257
+ var ht = (e) => {
1133
1258
  let t = new $(e);
1134
- return u(t), t;
1259
+ return d(t), t;
1135
1260
  };
1136
1261
  //#endregion
1137
- export { $ as Picked, it as createClient, x as createStorageKey, e as evaluateRuleLogic, X as getPickedConfig, rt as isLazyLoader, _ as isPickedRoot, nt as lazyComponent, y as localStore, b as sessionStore, te as subscribe, p as supportsCookies, c as supportsCryptoRandomUUID, d as supportsDocument, o as supportsHistory, r as supportsIntersectionObserver, l as supportsLocalStorage, f as supportsLocation, i as supportsSessionStorage, s as supportsShadowRoot, m as supportsWebComponents, a as supportsWindow };
1262
+ export { $ as Picked, ht as createClient, S as createStorageKey, t as evaluateRuleLogic, Z as getPickedConfig, mt as isLazyLoader, _ as isPickedRoot, pt as lazyComponent, b as localStore, x as sessionStore, ie as subscribe, m as supportsCookies, l as supportsCryptoRandomUUID, f as supportsDocument, s as supportsHistory, i as supportsIntersectionObserver, u as supportsLocalStorage, p as supportsLocation, a as supportsSessionStorage, c as supportsShadowRoot, h as supportsWebComponents, o as supportsWindow };