@picked/client 0.0.1-dev.1764634757151 → 0.0.1-dev.1764694362099

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 (29) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/plugins/create-experience/index.js +1 -1
  3. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  4. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  5. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  6. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  7. package/dist/cjs/server/index.js +1 -1
  8. package/dist/esm/index.js +441 -460
  9. package/dist/esm/plugins/create-experience/index.js +121 -123
  10. package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
  11. package/dist/esm/plugins/history-browser-storage/index.js +8 -8
  12. package/dist/esm/plugins/responses-browser-storage/index.js +6 -6
  13. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  14. package/dist/esm/server/index.js +1 -1
  15. package/dist/{experience-instance-DjjpHk0t.cjs → experience-instance-BpQMqclI.cjs} +1 -1
  16. package/dist/{experience-instance-C4INDX6a.js → experience-instance-CMrX6QA2.js} +1 -1
  17. package/dist/types/client.d.ts +0 -31
  18. package/dist/types/client.d.ts.map +1 -1
  19. package/dist/types/entities/experience/experience.d.ts +1 -3
  20. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  21. package/dist/types/picked.d.ts +9 -12
  22. package/dist/types/picked.d.ts.map +1 -1
  23. package/dist/types/plugins/create-experience/create-experience.d.ts +1 -5
  24. package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
  25. package/dist/types/utils/events.d.ts +7 -10
  26. package/dist/types/utils/events.d.ts.map +1 -1
  27. package/dist/types/utils/user-session.d.ts +0 -2
  28. package/dist/types/utils/user-session.d.ts.map +1 -1
  29. package/package.json +1 -1
package/dist/esm/index.js CHANGED
@@ -1,207 +1,207 @@
1
- var X = Object.defineProperty;
2
- var Z = (t, e, s) => e in t ? X(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
- var m = (t, e, s) => Z(t, typeof e != "symbol" ? e + "" : e, s);
4
- import { createDomain as F, createApi as b, createEffect as U, attach as ee, sample as x, combine as O, createEvent as C } from "effector";
5
- import { createFactory as k, invoke as w } from "@withease/factories";
6
- import { g as L, t as te, c as se, i as re, e as E, a as ne, b as ie, d as oe } from "../experience-instance-C4INDX6a.js";
7
- import { f as kt } from "../experience-instance-C4INDX6a.js";
8
- import { l as v } from "../logger-C9a75KZn.js";
9
- import { c as B, s as j, l as D } from "../storage-Cb_71y48.js";
10
- import { a as It } from "../storage-Cb_71y48.js";
11
- import { g as ae } from "../id-BW-g3y32.js";
12
- import { i as ce } from "../object-JwZ58NOH.js";
13
- import { s as H, a as ue, b as K, c as le, d as de } from "../supports-BjhuLJ8z.js";
14
- import { h as bt, f as xt, j as Et, e as Pt, g as Rt, i as Bt, k as At } from "../supports-BjhuLJ8z.js";
15
- const q = F("experience"), pe = k(
1
+ var Y = Object.defineProperty;
2
+ var J = (t, e, r) => e in t ? Y(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var m = (t, e, r) => J(t, typeof e != "symbol" ? e + "" : e, r);
4
+ import { createDomain as b, createApi as I, createEffect as M, attach as Q, sample as x, combine as O, createEvent as C } from "effector";
5
+ import { createFactory as v, invoke as w } from "@withease/factories";
6
+ import { g as _, t as X, c as Z, i as ee, e as $, a as te, b as re, d as se } from "../experience-instance-CMrX6QA2.js";
7
+ import { f as kt } from "../experience-instance-CMrX6QA2.js";
8
+ import { l as k } from "../logger-C9a75KZn.js";
9
+ import { c as R, s as j, l as D } from "../storage-Cb_71y48.js";
10
+ import { a as wt } from "../storage-Cb_71y48.js";
11
+ import { g as ne } from "../id-BW-g3y32.js";
12
+ import { i as oe } from "../object-JwZ58NOH.js";
13
+ import { s as H, a as ie, b as ae, c as ce, d as ue } from "../supports-BjhuLJ8z.js";
14
+ import { h as bt, f as It, j as xt, e as Et, g as Pt, i as Rt, k as Bt } from "../supports-BjhuLJ8z.js";
15
+ const K = b("experience"), le = v(
16
16
  ({ client: t, experience: e }) => {
17
- const s = q.store(e), n = b(s, {
18
- merge(u, h) {
17
+ const r = K.store(e), n = I(r, {
18
+ merge(l, h) {
19
19
  return {
20
- ...u,
20
+ ...l,
21
21
  ...h.experience
22
22
  };
23
23
  }
24
- }), a = s.map((u) => ({
25
- name: u.name,
26
- decisionLogic: u.condition ?? u.decide,
27
- targetSelectors: u.targets,
24
+ }), c = r.map((l) => ({
25
+ name: l.name,
26
+ decisionLogic: l.decide,
27
+ targetSelectors: l.targets,
28
28
  initializeOpenLogic: e.initializeOpen
29
- })), l = t.components.listStore.map(
30
- (u) => u.find((h) => h.name === `experience:${e.id}`) || u.find((h) => h.name === "experience"),
29
+ })), u = t.components.listStore.map(
30
+ (l) => l.find((h) => h.name === `experience:${e.id}`) || l.find((h) => h.name === "experience"),
31
31
  { skipVoid: !1 }
32
- ), r = s.map((u) => ({
33
- steps: u.steps,
34
- nodes: u.nodes,
35
- edges: u.edges,
36
- conditionals: u.conditionals
37
- })), i = e.actions ?? [];
32
+ ), s = r.map((l) => ({
33
+ steps: l.steps,
34
+ nodes: l.nodes,
35
+ edges: l.edges,
36
+ conditionals: l.conditionals
37
+ })), o = e.actions ?? [];
38
38
  return {
39
39
  id: e.id,
40
- configStore: a,
41
- treeStore: r,
42
- componentStore: l,
43
- actions: i,
40
+ configStore: c,
41
+ treeStore: s,
42
+ componentStore: u,
43
+ actions: o,
44
44
  merge: n.merge
45
45
  };
46
46
  }
47
47
  );
48
- function ge(t) {
49
- return w(pe, t);
48
+ function de(t) {
49
+ return w(le, t);
50
50
  }
51
- const fe = k(({ client: t }) => {
52
- const e = q.store({}), s = b(e, {
53
- register(r, i) {
51
+ const pe = v(({ client: t }) => {
52
+ const e = K.store({}), r = I(e, {
53
+ register(s, o) {
54
54
  return {
55
- ...r,
56
- [i.id]: i
55
+ ...s,
56
+ [o.id]: o
57
57
  };
58
58
  }
59
59
  });
60
- function n(r) {
61
- const i = e.getState()[r.id];
62
- if (i) {
63
- i.merge({ experience: r, strategy: "override" });
60
+ function n(s) {
61
+ const o = e.getState()[s.id];
62
+ if (o) {
63
+ o.merge({ experience: s, strategy: "override" });
64
64
  return;
65
65
  }
66
- const u = ge({ client: t, experience: r });
67
- s.register(u);
66
+ const l = de({ client: t, experience: s });
67
+ r.register(l);
68
68
  }
69
- const a = e.map((r) => Object.values(r));
70
- function l(r) {
71
- return e.map((i) => i[r], { skipVoid: !1 });
69
+ const c = e.map((s) => Object.values(s));
70
+ function u(s) {
71
+ return e.map((o) => o[s], { skipVoid: !1 });
72
72
  }
73
73
  return {
74
74
  register: n,
75
- getById: l,
76
- listStore: a
75
+ getById: u,
76
+ listStore: c
77
77
  };
78
78
  });
79
- function me(t) {
80
- return w(fe, t);
79
+ function ge(t) {
80
+ return w(pe, t);
81
81
  }
82
- const he = (t, e) => {
82
+ const fe = (t, e) => {
83
83
  e.register(t);
84
- }, G = (t, e) => {
85
- const { targetSelectors: s } = e.configStore.getState(), n = L(s, e.id);
84
+ }, q = (t, e) => {
85
+ const { targetSelectors: r } = e.configStore.getState(), n = _(r, e.id);
86
86
  n.forEach(
87
- ({ elements: l }) => l.forEach((r) => te(r, e.id))
88
- ), se(n, e.id).forEach((l) => {
89
- t.experienceInstances.spawn(e, l);
87
+ ({ elements: u }) => u.forEach((s) => X(s, e.id))
88
+ ), Z(n, e.id).forEach((u) => {
89
+ t.experienceInstances.spawn(e, u);
90
90
  });
91
- }, M = async (t) => {
91
+ }, V = async (t) => {
92
92
  await Promise.all(
93
93
  t.experiences.listStore.getState().map(async (e) => {
94
- await ye(t, e) && G(t, e);
94
+ await me(t, e) && q(t, e);
95
95
  })
96
96
  );
97
- }, ye = async (t, e) => {
98
- const { decisionLogic: s, targetSelectors: n } = e.configStore.getState();
99
- return L(n, e.id).length < 1 || n.length === 0 ? !1 : s && re(s) ? await E(t, s) === !0 : !0;
100
- }, Se = (t, e, s) => {
101
- const n = e.name, a = e.setup(t);
102
- if (a) {
103
- const l = s[n] ?? {};
104
- s[n] = Object.freeze({ ...l, ...a });
105
- }
106
- }, ve = F("component"), ke = k(
107
- ({ client: t, component: e, name: s }) => {
97
+ }, me = async (t, e) => {
98
+ const { decisionLogic: r, targetSelectors: n } = e.configStore.getState();
99
+ return _(n, e.id).length < 1 || n.length === 0 ? !1 : r && ee(r) ? await $(t, r) === !0 : !0;
100
+ }, he = (t, e, r) => {
101
+ const n = e.name, c = e.setup(t);
102
+ if (c) {
103
+ const u = r[n] ?? {};
104
+ r[n] = Object.freeze({ ...u, ...c });
105
+ }
106
+ }, ye = b("component"), Se = v(
107
+ ({ client: t, component: e, name: r }) => {
108
108
  const n = t.frameworks.getByName(e.frameworkName);
109
109
  return {
110
- name: s,
110
+ name: r,
111
111
  component: e,
112
112
  frameworkStore: n
113
113
  };
114
114
  }
115
115
  );
116
- function we(t) {
117
- return w(ke, t);
116
+ function ke(t) {
117
+ return w(Se, t);
118
118
  }
119
- const Ie = k(({ client: t }) => {
120
- const e = ve.store({}), s = b(e, {
121
- register(r, i) {
119
+ const ve = v(({ client: t }) => {
120
+ const e = ye.store({}), r = I(e, {
121
+ register(s, o) {
122
122
  return {
123
- ...r,
124
- [i.name]: i
123
+ ...s,
124
+ [o.name]: o
125
125
  };
126
126
  }
127
127
  });
128
- function n(r, i) {
129
- e.getState()[r] && v(
128
+ function n(s, o) {
129
+ e.getState()[s] && k(
130
130
  "warn",
131
- `Component '${r}' already registered. Registering again will override the previous registration.`
131
+ `Component '${s}' already registered. Registering again will override the previous registration.`
132
132
  );
133
- const h = we({ client: t, name: r, component: i });
134
- s.register(h);
133
+ const h = ke({ client: t, name: s, component: o });
134
+ r.register(h);
135
135
  }
136
- const a = e.map((r) => Object.values(r));
137
- function l(r) {
138
- return e.map((i) => i[r], { skipVoid: !1 });
136
+ const c = e.map((s) => Object.values(s));
137
+ function u(s) {
138
+ return e.map((o) => o[s], { skipVoid: !1 });
139
139
  }
140
140
  return {
141
141
  register: n,
142
- getByName: l,
143
- listStore: a
142
+ getByName: u,
143
+ listStore: c
144
144
  };
145
145
  });
146
- function Fe(t) {
147
- return w(Ie, t);
146
+ function we(t) {
147
+ return w(ve, t);
148
148
  }
149
- const V = (t, e, s) => {
150
- s.register(t, e);
151
- }, be = F("framework"), xe = k(({ client: t }) => {
152
- const e = be.store({}), s = b(e, {
153
- register(r, i) {
149
+ const T = (t, e, r) => {
150
+ r.register(t, e);
151
+ }, Fe = b("framework"), be = v(({ client: t }) => {
152
+ const e = Fe.store({}), r = I(e, {
153
+ register(s, o) {
154
154
  return {
155
- ...r,
156
- [i.name]: i.framework
155
+ ...s,
156
+ [o.name]: o.framework
157
157
  };
158
158
  }
159
159
  });
160
- function n(r, i) {
161
- e.getState()[r] && v(
160
+ function n(s, o) {
161
+ e.getState()[s] && k(
162
162
  "warn",
163
- `Framework '${r}' already registered. Registering again will override the previous registration.`
164
- ), s.register({ name: r, framework: i });
163
+ `Framework '${s}' already registered. Registering again will override the previous registration.`
164
+ ), r.register({ name: s, framework: o });
165
165
  }
166
- const a = e.map((r) => Object.values(r));
167
- function l(r) {
168
- return e.map((i) => i[r], { skipVoid: !1 });
166
+ const c = e.map((s) => Object.values(s));
167
+ function u(s) {
168
+ return e.map((o) => o[s], { skipVoid: !1 });
169
169
  }
170
170
  return {
171
171
  register: n,
172
- getByName: l,
173
- listStore: a
172
+ getByName: u,
173
+ listStore: c
174
174
  };
175
175
  });
176
- function Ee(t) {
177
- return w(xe, t);
176
+ function Ie(t) {
177
+ return w(be, t);
178
178
  }
179
- const Pe = (t, e) => {
179
+ const xe = (t, e) => {
180
180
  e.register(t.name, t);
181
- }, Re = 6e3, T = B("last_ping", "global"), Be = (t) => `${t}/api/v1/ping`, Ae = async (t) => {
181
+ }, Ee = 6e3, N = R("last_ping", "global"), Pe = (t) => `${t}/api/v1/ping`, Re = async (t) => {
182
182
  try {
183
- const e = Date.now(), s = localStorage.getItem(T);
184
- if (s && e - parseInt(s) < Re)
183
+ const e = Date.now(), r = localStorage.getItem(N);
184
+ if (r && e - parseInt(r) < Ee)
185
185
  return !0;
186
- const n = Be(t.apiUrl), a = {
186
+ const n = Pe(t.apiUrl), c = {
187
187
  projectId: t.projectId,
188
188
  path: window.location.pathname
189
- }, l = JSON.stringify(a), r = {
189
+ }, u = JSON.stringify(c), s = {
190
190
  "Content-Type": "application/json"
191
- }, i = document.getElementById("picked_script"), u = i == null ? void 0 : i.dataset.verceltoken;
192
- u && (r["x-vercel-protection-bypass"] = u);
191
+ }, o = document.getElementById("picked_script"), l = o == null ? void 0 : o.dataset.verceltoken;
192
+ l && (s["x-vercel-protection-bypass"] = l);
193
193
  const S = (await fetch(n, {
194
194
  method: "POST",
195
- headers: r,
196
- body: l
195
+ headers: s,
196
+ body: u
197
197
  })).ok;
198
- return S && localStorage.setItem(T, e.toString()), S;
198
+ return S && localStorage.setItem(N, e.toString()), S;
199
199
  } catch (e) {
200
- return v("error", e), !1;
200
+ return k("error", e), !1;
201
201
  }
202
202
  };
203
- function $e(t) {
204
- const e = typeof window < "u", s = {
203
+ function Be(t) {
204
+ const e = typeof window < "u", r = {
205
205
  client: t,
206
206
  responses: t.responses.listStore.getState(),
207
207
  fields: t.fields.listStore.getState(),
@@ -210,59 +210,59 @@ function $e(t) {
210
210
  sessionStorage: e ? window.sessionStorage : void 0,
211
211
  localStorage: e ? window.localStorage : void 0
212
212
  };
213
- return Object.freeze(s);
213
+ return Object.freeze(r);
214
214
  }
215
- const je = F("predicate"), De = k(({ client: t }) => {
216
- const e = je.store({}), s = b(e, {
217
- register(r, i) {
215
+ const Ae = b("predicate"), $e = v(({ client: t }) => {
216
+ const e = Ae.store({}), r = I(e, {
217
+ register(s, o) {
218
218
  return {
219
- ...r,
220
- [i.name]: {
221
- name: i.name,
222
- predicate: i.predicate
219
+ ...s,
220
+ [o.name]: {
221
+ name: o.name,
222
+ predicate: o.predicate
223
223
  }
224
224
  };
225
225
  }
226
226
  });
227
- function n(r, i) {
228
- e.getState()[r] && v(
227
+ function n(s, o) {
228
+ e.getState()[s] && k(
229
229
  "warn",
230
- `Predicate '${r}' already registered. Registering again will override the previous registration.`
231
- ), s.register(Object.freeze({ name: r, predicate: i }));
230
+ `Predicate '${s}' already registered. Registering again will override the previous registration.`
231
+ ), r.register(Object.freeze({ name: s, predicate: o }));
232
232
  }
233
- const a = e.map((r) => Object.values(r));
234
- function l(r) {
235
- return e.map((i) => i[r], { skipVoid: !1 });
233
+ const c = e.map((s) => Object.values(s));
234
+ function u(s) {
235
+ return e.map((o) => o[s], { skipVoid: !1 });
236
236
  }
237
237
  return {
238
238
  register: n,
239
- getByName: l,
240
- listStore: a
239
+ getByName: u,
240
+ listStore: c
241
241
  };
242
242
  });
243
- function Oe(t) {
244
- return w(De, t);
243
+ function je(t) {
244
+ return w($e, t);
245
245
  }
246
- const Ce = (t, e, s) => {
247
- s.register(t, e);
248
- }, N = F("feature"), Ue = k(({ client: t }) => {
249
- const e = N.store({}), s = N.store([]), n = b(e, {
250
- register(d, c) {
246
+ const Oe = (t, e, r) => {
247
+ r.register(t, e);
248
+ }, z = b("feature"), Ce = v(({ client: t }) => {
249
+ const e = z.store({}), r = z.store([]), n = I(e, {
250
+ register(d, a) {
251
251
  return {
252
252
  ...d,
253
- [c.id]: c.feature
253
+ [a.id]: a.feature
254
254
  };
255
255
  }
256
256
  });
257
- function a(d, c) {
258
- e.getState()[d] && v(
257
+ function c(d, a) {
258
+ e.getState()[d] && k(
259
259
  "warn",
260
260
  `Feature '${d}' already registered. Registering again will override the previous registration.`
261
261
  );
262
262
  const p = {
263
263
  id: d,
264
264
  feature: {
265
- ...c,
265
+ ...a,
266
266
  id: d
267
267
  }
268
268
  };
@@ -273,264 +273,264 @@ const Ce = (t, e, s) => {
273
273
  })
274
274
  );
275
275
  }
276
- const l = U(
276
+ const u = M(
277
277
  async ({
278
278
  id: d,
279
- key: c,
280
- storage: o = "local"
279
+ key: a,
280
+ storage: i = "local"
281
281
  }) => {
282
- const p = B(`feature:${d}:${c}`, "global"), g = (o === "session" ? j : D).get(p).boolean();
283
- return g === null ? null : { id: d, key: c, bucket: g, storage: o };
282
+ const p = R(`feature:${d}:${a}`, "global"), g = (i === "session" ? j : D).get(p).boolean();
283
+ return g === null ? null : { id: d, key: a, bucket: g, storage: i };
284
284
  }
285
- ), r = U((d) => {
285
+ ), s = M((d) => {
286
286
  if (!d)
287
287
  return null;
288
- const c = B(`feature:${d.id}:${d.key}`, "global");
289
- (d.storage === "session" ? j : D).set(c, d.bucket);
290
- }), i = /* @__PURE__ */ new Map(), u = ee({
291
- source: { allFeaturesStore: e, resolvedFeaturesStore: s },
292
- effect: async ({ allFeaturesStore: d, resolvedFeaturesStore: c }, { id: o, decide: p, key: f }) => {
293
- const g = c.find(
294
- ($) => $.id === o && $.key === f
288
+ const a = R(`feature:${d.id}:${d.key}`, "global");
289
+ (d.storage === "session" ? j : D).set(a, d.bucket);
290
+ }), o = /* @__PURE__ */ new Map(), l = Q({
291
+ source: { allFeaturesStore: e, resolvedFeaturesStore: r },
292
+ effect: async ({ allFeaturesStore: d, resolvedFeaturesStore: a }, { id: i, decide: p, key: f }) => {
293
+ const g = a.find(
294
+ (A) => A.id === i && A.key === f
295
295
  );
296
296
  if (g)
297
297
  return g;
298
- const y = d[o];
298
+ const y = d[i];
299
299
  if (!y)
300
- throw new Error(`Feature with id '${o}' not found`);
301
- const I = i.get(`${o}:${f}`);
302
- if (I !== void 0) {
303
- const $ = await I;
304
- return { id: y.id, bucket: $, key: f, storage: y.feature.storage };
300
+ throw new Error(`Feature with id '${i}' not found`);
301
+ const F = o.get(`${i}:${f}`);
302
+ if (F !== void 0) {
303
+ const A = await F;
304
+ return { id: y.id, bucket: A, key: f, storage: y.feature.storage };
305
305
  }
306
- const A = p();
307
- i.set(`${o}:${f}`, A);
308
- const P = await A;
309
- return { id: y.id, bucket: P, key: f, storage: y.feature.storage };
306
+ const B = p();
307
+ o.set(`${i}:${f}`, B);
308
+ const E = await B;
309
+ return { id: y.id, bucket: E, key: f, storage: y.feature.storage };
310
310
  }
311
311
  });
312
312
  x({
313
313
  clock: n.register,
314
314
  fn: (d) => {
315
- const { id: c, feature: o } = d;
316
- return { id: c, key: o.feature.key, storage: o.feature.storage };
315
+ const { id: a, feature: i } = d;
316
+ return { id: a, key: i.feature.key, storage: i.feature.storage };
317
317
  },
318
- target: l
318
+ target: u
319
319
  }), x({
320
320
  source: e,
321
- clock: u.doneData,
322
- fn: (d, c) => {
321
+ clock: l.doneData,
322
+ fn: (d, a) => {
323
323
  var y;
324
- const { id: o, bucket: p, storage: f } = c, g = (y = d[o]) == null ? void 0 : y.feature.key;
325
- return g ? { key: g, id: o, bucket: p, storage: f } : null;
324
+ const { id: i, bucket: p, storage: f } = a, g = (y = d[i]) == null ? void 0 : y.feature.key;
325
+ return g ? { key: g, id: i, bucket: p, storage: f } : null;
326
326
  },
327
- target: r
327
+ target: s
328
328
  });
329
- const h = O({ allFeaturesStore: e, resolvedFeaturesStore: s }).map(
329
+ const h = O({ allFeaturesStore: e, resolvedFeaturesStore: r }).map(
330
330
  ({
331
331
  allFeaturesStore: d,
332
- resolvedFeaturesStore: c
333
- }) => Object.values(d).map((o) => {
334
- const p = c.find(
335
- (f) => f.id === o.id && f.key === o.feature.key
332
+ resolvedFeaturesStore: a
333
+ }) => Object.values(d).map((i) => {
334
+ const p = a.find(
335
+ (f) => f.id === i.id && f.key === i.feature.key
336
336
  );
337
337
  return p ? {
338
- id: o.id,
339
- name: o.feature.name,
340
- key: o.feature.key,
341
- getBucket: () => ({ id: o.id, bucket: p.bucket }),
338
+ id: i.id,
339
+ name: i.feature.name,
340
+ key: i.feature.key,
341
+ getBucket: () => ({ id: i.id, bucket: p.bucket }),
342
342
  isResolved: !0
343
343
  } : {
344
- id: o.id,
345
- name: o.feature.name,
346
- key: o.feature.key,
347
- getBucket: async () => await u(o.feature),
344
+ id: i.id,
345
+ name: i.feature.name,
346
+ key: i.feature.key,
347
+ getBucket: async () => await l(i.feature),
348
348
  isResolved: !1
349
349
  };
350
350
  })
351
351
  );
352
352
  x({
353
- clock: u.doneData,
354
- source: { resolvedFeatures: s },
355
- filter: ({ resolvedFeatures: d }, { id: c, key: o }) => !d.some(
356
- (f) => f.id === c && f.key === o
353
+ clock: l.doneData,
354
+ source: { resolvedFeatures: r },
355
+ filter: ({ resolvedFeatures: d }, { id: a, key: i }) => !d.some(
356
+ (f) => f.id === a && f.key === i
357
357
  ),
358
- fn: (d, c) => c,
358
+ fn: (d, a) => a,
359
359
  target: t.eventBus.prepend((d) => ({
360
360
  type: "feature_decide",
361
361
  feature: d
362
362
  }))
363
363
  }), x({
364
- clock: [l.doneData, u.doneData],
365
- source: s,
366
- fn: (d, c) => !c || d.some(
367
- (p) => p.id === c.id && p.key === c.key
368
- ) ? d : [...d, c],
369
- target: s
364
+ clock: [u.doneData, l.doneData],
365
+ source: r,
366
+ fn: (d, a) => !a || d.some(
367
+ (p) => p.id === a.id && p.key === a.key
368
+ ) ? d : [...d, a],
369
+ target: r
370
370
  });
371
371
  function S(d) {
372
- return e.map((c) => c[d], { skipVoid: !1 });
372
+ return e.map((a) => a[d], { skipVoid: !1 });
373
373
  }
374
374
  return {
375
- register: a,
375
+ register: c,
376
376
  getByName: S,
377
377
  listStore: h
378
378
  };
379
379
  });
380
- function Me(t) {
381
- return w(Ue, t);
380
+ function De(t) {
381
+ return w(Ce, t);
382
382
  }
383
- const Ve = (t, e, s) => {
384
- s.register(t, e);
385
- }, R = F("history");
386
- function _(t, e) {
383
+ const Me = (t, e, r) => {
384
+ r.register(t, e);
385
+ }, P = b("history");
386
+ function L(t, e) {
387
387
  return {
388
388
  // eslint-disable-next-line sonarjs/pseudo-random
389
- id: ae(`history-entry-${Date.now()}-${Math.random()}}`),
389
+ id: ne(`history-entry-${Date.now()}-${Math.random()}}`),
390
390
  node: e,
391
391
  at: Date.now(),
392
392
  experienceId: t
393
393
  };
394
394
  }
395
- const Te = k(() => {
396
- const t = R.store({ entries: [] }), e = R.event(), s = R.event(), n = R.event(), a = R.event();
397
- t.on(e, (r, i) => ({
398
- entries: [...r.entries, _(i.experienceId, i.node)]
399
- })), t.on(s, (r, i) => ({
395
+ const Ve = v(() => {
396
+ const t = P.store({ entries: [] }), e = P.event(), r = P.event(), n = P.event(), c = P.event();
397
+ t.on(e, (s, o) => ({
398
+ entries: [...s.entries, L(o.experienceId, o.node)]
399
+ })), t.on(r, (s, o) => ({
400
400
  entries: [
401
- ...r.entries.slice(0, -1),
402
- _(i.experienceId, i.node)
401
+ ...s.entries.slice(0, -1),
402
+ L(o.experienceId, o.node)
403
403
  ]
404
- })), t.on(a, (r, i) => i);
405
- function l(r, i) {
406
- const u = { lastStepIndex: -1, secondLastStepIndex: -1 };
407
- for (let h = r.length - 1; h >= 0; h--) {
408
- const S = r[h], d = S == null ? void 0 : S.node;
409
- if (!(!d || !ne(d)) && !(i && (S == null ? void 0 : S.experienceId) !== i))
410
- if (u.lastStepIndex === -1)
411
- u.lastStepIndex = h;
404
+ })), t.on(c, (s, o) => o);
405
+ function u(s, o) {
406
+ const l = { lastStepIndex: -1, secondLastStepIndex: -1 };
407
+ for (let h = s.length - 1; h >= 0; h--) {
408
+ const S = s[h], d = S == null ? void 0 : S.node;
409
+ if (!(!d || !te(d)) && !(o && (S == null ? void 0 : S.experienceId) !== o))
410
+ if (l.lastStepIndex === -1)
411
+ l.lastStepIndex = h;
412
412
  else {
413
- u.secondLastStepIndex = h;
413
+ l.secondLastStepIndex = h;
414
414
  break;
415
415
  }
416
416
  }
417
- return u;
417
+ return l;
418
418
  }
419
- return t.on(n, (r, i) => {
420
- const { secondLastStepIndex: u } = l(r.entries, i.experienceId), h = u !== -1 ? r.entries.slice(0, u + 1) : r.entries;
419
+ return t.on(n, (s, o) => {
420
+ const { secondLastStepIndex: l } = u(s.entries, o.experienceId), h = l !== -1 ? s.entries.slice(0, l + 1) : s.entries;
421
421
  return {
422
- ...r,
422
+ ...s,
423
423
  entries: h
424
424
  };
425
425
  }), {
426
426
  push: e,
427
- replace: s,
427
+ replace: r,
428
428
  back: n,
429
- restore: a,
430
- entriesStore: t.map((r) => r.entries)
429
+ restore: c,
430
+ entriesStore: t.map((s) => s.entries)
431
431
  };
432
432
  });
433
- function Ne() {
434
- return w(Te);
433
+ function Te() {
434
+ return w(Ve);
435
435
  }
436
- const _e = () => C(), ze = F("field"), Le = k(() => {
437
- const t = ze.store({}), e = b(t, {
438
- register(r, i) {
436
+ const Ne = () => C(), ze = b("field"), Le = v(() => {
437
+ const t = ze.store({}), e = I(t, {
438
+ register(s, o) {
439
439
  return {
440
- ...r,
441
- [i.field.id]: i.field
440
+ ...s,
441
+ [o.field.id]: o.field
442
442
  };
443
443
  }
444
444
  });
445
- function s(r) {
446
- e.register({ field: r });
445
+ function r(s) {
446
+ e.register({ field: s });
447
447
  }
448
- const n = t.map((r) => Object.values(r));
449
- function a(r) {
450
- return t.map((i) => i[r] || null);
448
+ const n = t.map((s) => Object.values(s));
449
+ function c(s) {
450
+ return t.map((o) => o[s] || null);
451
451
  }
452
- function l(r) {
453
- return t.map((i) => Object.values(i).find((u) => u.name === r) || null);
452
+ function u(s) {
453
+ return t.map((o) => Object.values(o).find((l) => l.name === s) || null);
454
454
  }
455
455
  return {
456
- register: s,
457
- getById: a,
456
+ register: r,
457
+ getById: c,
458
458
  listStore: n,
459
- getByName: l
459
+ getByName: u
460
460
  };
461
461
  });
462
- function He() {
462
+ function Ue() {
463
463
  return w(Le);
464
464
  }
465
- const Ke = (t, e) => {
465
+ const _e = (t, e) => {
466
466
  e.register(t);
467
- }, qe = F("action"), Ge = k(() => {
468
- const t = qe.store({}), e = b(t, {
469
- register(l, r) {
467
+ }, He = b("action"), Ke = v(() => {
468
+ const t = He.store({}), e = I(t, {
469
+ register(u, s) {
470
470
  return {
471
- ...l,
472
- [r.name]: {
473
- name: r.name,
474
- action: r.action
471
+ ...u,
472
+ [s.name]: {
473
+ name: s.name,
474
+ action: s.action
475
475
  }
476
476
  };
477
477
  }
478
478
  });
479
- function s(l, r) {
480
- e.register({ name: l, action: r });
479
+ function r(u, s) {
480
+ e.register({ name: u, action: s });
481
481
  }
482
- const n = t.map((l) => Object.values(l));
483
- function a(l) {
484
- return t.map((r) => r[l], { skipVoid: !1 });
482
+ const n = t.map((u) => Object.values(u));
483
+ function c(u) {
484
+ return t.map((s) => s[u], { skipVoid: !1 });
485
485
  }
486
486
  return {
487
- register: s,
488
- getByName: a,
487
+ register: r,
488
+ getByName: c,
489
489
  listStore: n
490
490
  };
491
491
  });
492
- function We() {
493
- return w(Ge);
492
+ function qe() {
493
+ return w(Ke);
494
494
  }
495
- const Ye = (t, e, s) => {
496
- s.register(t, e);
495
+ const Ge = (t, e, r) => {
496
+ r.register(t, e);
497
497
  };
498
- function z(t) {
498
+ function U(t) {
499
499
  return typeof t > "u" || t === null || t === "" || Array.isArray(t) && !t.length;
500
500
  }
501
- const Je = F("response"), Qe = k(({ client: t }) => {
502
- const e = Je.store({}), s = C(), n = C(), a = b(e, {
503
- register(c, o) {
501
+ const We = b("response"), Ye = v(({ client: t }) => {
502
+ const e = We.store({}), r = C(), n = C(), c = I(e, {
503
+ register(a, i) {
504
504
  return {
505
- ...c,
506
- [o.fieldId]: o.response
505
+ ...a,
506
+ [i.fieldId]: i.response
507
507
  };
508
508
  },
509
- registerBatch(c, o) {
509
+ registerBatch(a, i) {
510
510
  return {
511
- ...c,
512
- ...o
511
+ ...a,
512
+ ...i
513
513
  };
514
514
  },
515
- clear(c, o) {
516
- const { [o]: p, ...f } = c;
515
+ clear(a, i) {
516
+ const { [i]: p, ...f } = a;
517
517
  return f;
518
518
  },
519
519
  clearAll() {
520
520
  return {};
521
521
  }
522
522
  });
523
- function l(c, o) {
524
- a.register({ fieldId: c, response: o });
523
+ function u(a, i) {
524
+ c.register({ fieldId: a, response: i });
525
525
  }
526
- async function r(c) {
527
- const o = [];
526
+ async function s(a) {
527
+ const i = [];
528
528
  return await Promise.allSettled(
529
- Object.entries(c).map(async ([p, f]) => {
529
+ Object.entries(a).map(async ([p, f]) => {
530
530
  let g = f;
531
531
  const y = t.fields.getById(p).getState();
532
532
  if (!y) {
533
- o.push({
533
+ i.push({
534
534
  fieldId: p,
535
535
  userMessage: `Field '${p}' not found`,
536
536
  systemMessage: `No field with ID '${p}' exists. Available field IDs are: ${Object.keys(t.fields.listStore.getState()).join(",")}.`,
@@ -538,21 +538,21 @@ const Je = F("response"), Qe = k(({ client: t }) => {
538
538
  });
539
539
  return;
540
540
  }
541
- if (y.multiple && (typeof g == "string" || typeof g == "number" || typeof g == "boolean") && (g = [g]), y.validation && !ce(y.validation) && !z(g)) {
542
- const I = await E(t, y.validation, {
541
+ if (y.multiple && (typeof g == "string" || typeof g == "number" || typeof g == "boolean") && (g = [g]), y.validation && !oe(y.validation) && !U(g)) {
542
+ const F = await $(t, y.validation, {
543
543
  $input: g
544
544
  });
545
- if (typeof I == "string") {
546
- o.push({
545
+ if (typeof F == "string") {
546
+ i.push({
547
547
  fieldId: p,
548
- userMessage: I,
549
- systemMessage: `Field validation resulted in an error: ${I}.`,
548
+ userMessage: F,
549
+ systemMessage: `Field validation resulted in an error: ${F}.`,
550
550
  value: g
551
551
  });
552
552
  return;
553
553
  }
554
- if (I === !1) {
555
- o.push({
554
+ if (F === !1) {
555
+ i.push({
556
556
  fieldId: p,
557
557
  userMessage: "This field is invalid",
558
558
  systemMessage: "Field validation resulted in an unspecified error.",
@@ -561,8 +561,8 @@ const Je = F("response"), Qe = k(({ client: t }) => {
561
561
  return;
562
562
  }
563
563
  }
564
- if (y.required && z(g)) {
565
- o.push({
564
+ if (y.required && U(g)) {
565
+ i.push({
566
566
  fieldId: p,
567
567
  userMessage: "This field is required",
568
568
  systemMessage: "Field is required.",
@@ -571,7 +571,7 @@ const Je = F("response"), Qe = k(({ client: t }) => {
571
571
  return;
572
572
  }
573
573
  if (!y.multiple && Array.isArray(g) && g.length > 1) {
574
- o.push({
574
+ i.push({
575
575
  fieldId: p,
576
576
  userMessage: "This field expects a single response",
577
577
  systemMessage: "Field expects a single response.",
@@ -580,59 +580,59 @@ const Je = F("response"), Qe = k(({ client: t }) => {
580
580
  return;
581
581
  }
582
582
  if (y.options) {
583
- const I = y.options.map((P) => P.value), A = Array.isArray(g) ? g : [g];
584
- Array.isArray(g) && (A.every((P) => I.includes(P)) || o.push({
583
+ const F = y.options.map((E) => E.value), B = Array.isArray(g) ? g : [g];
584
+ Array.isArray(g) && (B.every((E) => F.includes(E)) || i.push({
585
585
  fieldId: p,
586
586
  userMessage: "This field expects a valid option",
587
- systemMessage: `Field expects a valid option. Valid options are: ${I.join(", ")}`,
587
+ systemMessage: `Field expects a valid option. Valid options are: ${F.join(", ")}`,
588
588
  value: g
589
589
  }));
590
590
  }
591
591
  })
592
- ), { responsesToCommit: c, validationErrors: o };
592
+ ), { responsesToCommit: a, validationErrors: i };
593
593
  }
594
- async function i(c) {
595
- const { responsesToCommit: o, validationErrors: p } = await r(c);
596
- return p.length ? { errors: p } : (a.registerBatch(o), { errors: [] });
594
+ async function o(a) {
595
+ const { responsesToCommit: i, validationErrors: p } = await s(a);
596
+ return p.length ? { errors: p } : (c.registerBatch(i), { errors: [] });
597
597
  }
598
- const u = e.map((c) => c), h = e.map((c) => Object.keys(c).map((p) => ({
598
+ const l = e.map((a) => a), h = e.map((a) => Object.keys(a).map((p) => ({
599
599
  fieldId: p,
600
- value: c[p]
600
+ value: a[p]
601
601
  })));
602
- function S(c) {
603
- const o = t.fields.getById(c), p = e.map((f) => f[c] || null);
604
- return O({ f: o, r: p }, ({ f, r: g }) => g || (f != null && f.defaultValue ? f.defaultValue : null));
602
+ function S(a) {
603
+ const i = t.fields.getById(a), p = e.map((f) => f[a] || null);
604
+ return O({ f: i, r: p }, ({ f, r: g }) => g || (f != null && f.defaultValue ? f.defaultValue : null));
605
605
  }
606
- function d(c) {
607
- const o = t.fields.getByName(c);
608
- return O({ f: o, s: e }, ({ f: p, s: f }) => {
606
+ function d(a) {
607
+ const i = t.fields.getByName(a);
608
+ return O({ f: i, s: e }, ({ f: p, s: f }) => {
609
609
  const g = p && f[p.id] || null;
610
610
  return g || (p != null && p.defaultValue ? p.defaultValue : null);
611
611
  });
612
612
  }
613
613
  return x({
614
- clock: s,
615
- target: a.clearAll
614
+ clock: r,
615
+ target: c.clearAll
616
616
  }), x({
617
617
  clock: n,
618
- target: a.clear
618
+ target: c.clear
619
619
  }), {
620
- register: l,
621
- clearAll: s,
620
+ register: u,
621
+ clearAll: r,
622
622
  clear: n,
623
- commit: i,
624
- getResponsesToCommit: r,
623
+ commit: o,
624
+ getResponsesToCommit: s,
625
625
  listStore: h,
626
- getAllStore: u,
626
+ getAllStore: l,
627
627
  getByFieldId: S,
628
628
  getByFieldName: d
629
629
  };
630
630
  });
631
- function Xe(t) {
632
- return w(Qe, t);
631
+ function Je(t) {
632
+ return w(Ye, t);
633
633
  }
634
- const Ze = () => "0.0.1-dev.1764634757151";
635
- function et() {
634
+ const Qe = () => "0.0.1-dev.1764694362099";
635
+ function Xe() {
636
636
  if (H()) {
637
637
  const t = [
638
638
  document.currentScript,
@@ -647,122 +647,103 @@ function et() {
647
647
  }
648
648
  return "https://api.picked.app";
649
649
  }
650
- function tt() {
651
- if (!ue())
650
+ function Ze() {
651
+ if (!ie())
652
652
  return {};
653
- const t = new URLSearchParams(window.location.search), e = {}, s = /* @__PURE__ */ new Set();
654
- for (const [a] of t.entries())
655
- a.startsWith("picked-") && s.add(a);
656
- for (const a of s) {
657
- const l = a.replace("picked-", "");
658
- e[l] = t.getAll(a);
659
- }
660
- const n = B("s");
661
- if (s.size > 0)
653
+ const t = new URLSearchParams(window.location.search), e = {}, r = /* @__PURE__ */ new Set();
654
+ for (const [c] of t.entries())
655
+ c.startsWith("picked-") && r.add(c);
656
+ for (const c of r) {
657
+ const u = c.replace("picked-", "");
658
+ e[u] = t.getAll(c);
659
+ }
660
+ const n = R("s");
661
+ if (r.size > 0)
662
662
  j.set(n, e);
663
663
  else {
664
- const a = j.get(n);
665
- if (a)
666
- return a.json() || {};
664
+ const c = j.get(n);
665
+ if (c)
666
+ return c.json() || {};
667
667
  }
668
668
  return e;
669
669
  }
670
- function st() {
671
- if (le())
670
+ function et() {
671
+ if (ce())
672
672
  return crypto.randomUUID();
673
- const t = Date.now().toString(36), e = Math.random().toString(36).substring(2, 15), s = Math.random().toString(36).substring(2, 15), n = Math.random().toString(36).substring(2, 15);
674
- return `${t}-${e}-${s}-${n}`;
673
+ const t = Date.now().toString(36), e = Math.random().toString(36).substring(2, 15), r = Math.random().toString(36).substring(2, 15), n = Math.random().toString(36).substring(2, 15);
674
+ return `${t}-${e}-${r}-${n}`;
675
675
  }
676
- const W = B("session", "global"), Y = () => {
677
- const t = K() ? D.get(W) : null;
678
- return function(s) {
679
- this.isUser = s, t && t.set(this);
680
- };
681
- }, rt = () => ({
682
- id: st(),
683
- isUser: void 0,
684
- setIsUser: Y()
685
- }), nt = () => {
686
- if (!K()) return null;
687
- const t = D.get(W);
676
+ const tt = () => ({
677
+ id: et()
678
+ }), rt = R("session", "global"), st = () => {
679
+ if (!ae()) return null;
680
+ const t = D.get(rt);
688
681
  let e = t.isSet() ? t.json() : null;
689
- if (!e) {
690
- const s = rt();
691
- return t.set(s), s;
692
- }
693
- return {
694
- ...e,
695
- setIsUser: Y()
696
- };
697
- }, it = () => nt();
698
- class J {
682
+ return e || (e = tt(), t.set(e)), e;
683
+ }, nt = () => st();
684
+ class G {
699
685
  constructor(e) {
700
686
  m(this, "options");
701
687
  m(this, "isReady", !1);
702
688
  m(this, "project");
703
689
  m(this, "plugins", {});
704
- m(this, "eventBus", _e());
690
+ m(this, "eventBus", Ne());
705
691
  m(this, "organizationId");
706
692
  m(this, "projectId");
707
693
  m(this, "apiUrl");
708
694
  m(this, "session");
709
- m(this, "precondition");
710
- m(this, "condition");
711
- m(this, "searchParams", tt());
712
- m(this, "history", Ne());
713
- m(this, "components", Fe({ client: this }));
714
- m(this, "experienceInstances", ie({ client: this }));
715
- m(this, "experiences", me({ client: this }));
716
- m(this, "frameworks", Ee({ client: this }));
717
- m(this, "predicates", Oe({ client: this }));
718
- m(this, "features", Me({ client: this }));
719
- m(this, "responses", Xe({ client: this }));
720
- m(this, "fields", He());
721
- m(this, "actions", We());
722
- v("info", "Picked client initializing."), this.organizationId = e.organizationId, this.projectId = e.projectId, this.options = Object.freeze(e), this.apiUrl = e.apiUrl || et(), this.session = it(), this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.precondition = e.precondition, this.condition = e.condition, this.eventBus({ type: "load", version: Ze() }), v("info", "Picked client initialized.");
695
+ m(this, "searchParams", Ze());
696
+ m(this, "history", Te());
697
+ m(this, "components", we({ client: this }));
698
+ m(this, "experienceInstances", re({ client: this }));
699
+ m(this, "experiences", ge({ client: this }));
700
+ m(this, "frameworks", Ie({ client: this }));
701
+ m(this, "predicates", je({ client: this }));
702
+ m(this, "features", De({ client: this }));
703
+ m(this, "responses", Je({ client: this }));
704
+ m(this, "fields", Ue());
705
+ m(this, "actions", qe());
706
+ k("info", "Picked client initializing."), this.organizationId = e.organizationId, this.projectId = e.projectId, this.options = Object.freeze(e), this.apiUrl = e.apiUrl || Xe(), this.session = nt(), this.setupPlugins(), this.setupFeatures(), this.setupPredicates(), this.setupActions(), this.eventBus({ type: "initialized", version: Qe() }), k("info", "Picked client initialized.");
723
707
  }
724
708
  start() {
725
- Ae(this), (async () => {
726
- if (!H())
727
- return;
728
- let s = !0, n;
729
- this.precondition !== void 0 && await E(this, this.precondition) === !1 && (n = !1, s = !1), this.condition !== void 0 && n !== !1 && await E(this, this.condition) === !1 && (s = !1), this.session && this.session.setIsUser(s), this.eventBus({ type: "initialize", is_user: s }), this.eventBus({ type: "user_decide", value: s }), document.body && s && M(this), await oe(), s && M(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session && this.eventBus({ type: "session", ...this.session });
709
+ Re(this), (async () => {
710
+ H() && (document.body && V(this), await se(), V(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session && this.eventBus({ type: "session", ...this.session }));
730
711
  })();
731
712
  }
732
713
  registerFramework(e) {
733
- Pe(e, this.frameworks);
714
+ xe(e, this.frameworks);
734
715
  }
735
- registerComponent(e, s) {
736
- V(e, s, this.components);
716
+ registerComponent(e, r) {
717
+ T(e, r, this.components);
737
718
  }
738
719
  registerPlugin(e) {
739
- Se(this, e, this.plugins);
720
+ he(this, e, this.plugins);
740
721
  }
741
- registerFeature(e, s) {
742
- Ve(e, s, this.features);
722
+ registerFeature(e, r) {
723
+ Me(e, r, this.features);
743
724
  }
744
- registerPredicate(e, s) {
745
- Ce(e, s, this.predicates);
725
+ registerPredicate(e, r) {
726
+ Oe(e, r, this.predicates);
746
727
  }
747
728
  registerField(e) {
748
- Ke(e, this.fields);
729
+ _e(e, this.fields);
749
730
  }
750
- registerAction(e, s) {
751
- Ye(e, s, this.actions);
731
+ registerAction(e, r) {
732
+ Ge(e, r, this.actions);
752
733
  }
753
734
  registerExperience(e) {
754
- e.component && V(`experience:${e.id}`, e.component, this.components), he(e, this.experiences);
735
+ e.component && T(`experience:${e.id}`, e.component, this.components), fe(e, this.experiences);
755
736
  }
756
737
  getStateSnapshot() {
757
- return $e(this);
738
+ return Be(this);
758
739
  }
759
740
  async launchExperienceById(e) {
760
- const s = this.experiences.getById(e).getState();
761
- if (!s) {
762
- v("warn", `Experience with id '${e}' not found.`);
741
+ const r = this.experiences.getById(e).getState();
742
+ if (!r) {
743
+ k("warn", `Experience with id '${e}' not found.`);
763
744
  return;
764
745
  }
765
- G(this, s);
746
+ q(this, r);
766
747
  }
767
748
  // private async fetchProject() {
768
749
  // if (this.project) {
@@ -775,16 +756,16 @@ class J {
775
756
  // }
776
757
  setupPlugins() {
777
758
  var e;
778
- (e = this.options.plugins) == null || e.forEach((s) => {
779
- if (Array.isArray(s)) {
780
- s.forEach((a) => {
781
- this.registerPlugin(a);
759
+ (e = this.options.plugins) == null || e.forEach((r) => {
760
+ if (Array.isArray(r)) {
761
+ r.forEach((c) => {
762
+ this.registerPlugin(c);
782
763
  });
783
764
  return;
784
765
  }
785
- const n = typeof s == "function" ? s() : s;
766
+ const n = typeof r == "function" ? r() : r;
786
767
  if (Array.isArray(n)) {
787
- n.forEach((a) => this.registerPlugin(a));
768
+ n.forEach((c) => this.registerPlugin(c));
788
769
  return;
789
770
  }
790
771
  this.registerPlugin(n);
@@ -792,21 +773,21 @@ class J {
792
773
  }
793
774
  setupFeatures() {
794
775
  const e = this.options.features;
795
- e && (Object.entries(e).forEach(([s, n]) => {
796
- const a = typeof n == "function" ? n() : n;
797
- this.registerFeature(s, a);
798
- }), this.searchParams.feature && this.searchParams.feature.forEach((s) => {
776
+ e && (Object.entries(e).forEach(([r, n]) => {
777
+ const c = typeof n == "function" ? n() : n;
778
+ this.registerFeature(r, c);
779
+ }), this.searchParams.feature && this.searchParams.feature.forEach((r) => {
799
780
  try {
800
- const [n, a] = s.split(":");
801
- if (!n || !a)
781
+ const [n, c] = r.split(":");
782
+ if (!n || !c)
802
783
  return;
803
- let l = a;
804
- l === "true" && (l = !0), l === "false" && (l = !1), this.registerFeature(n, {
805
- key: `${l}`,
784
+ let u = c;
785
+ u === "true" && (u = !0), u === "false" && (u = !1), this.registerFeature(n, {
786
+ key: `${u}`,
806
787
  // use the assigned bucket value as the key
807
788
  name: n,
808
789
  // eslint-disable-next-line sonarjs/function-return-type
809
- decide: () => l,
790
+ decide: () => u,
810
791
  storage: "session"
811
792
  });
812
793
  } catch {
@@ -815,73 +796,73 @@ class J {
815
796
  }
816
797
  setupPredicates() {
817
798
  const e = this.options.predicates;
818
- e && Object.entries(e).forEach(([s, n]) => {
799
+ e && Object.entries(e).forEach(([r, n]) => {
819
800
  if (typeof n != "function") {
820
- v("warn", `Predicate "${s}" is not a function.`);
801
+ k("warn", `Predicate "${r}" is not a function.`);
821
802
  return;
822
803
  }
823
- this.registerPredicate(s, n);
804
+ this.registerPredicate(r, n);
824
805
  });
825
806
  }
826
807
  setupActions() {
827
808
  const e = this.options.actions;
828
- e && Object.entries(e).forEach(([s, n]) => {
809
+ e && Object.entries(e).forEach(([r, n]) => {
829
810
  if (typeof n != "function") {
830
- v("warn", `Action "${s}" is not a function.`);
811
+ k("warn", `Action "${r}" is not a function.`);
831
812
  return;
832
813
  }
833
- this.registerAction(s, n);
814
+ this.registerAction(r, n);
834
815
  });
835
816
  }
836
817
  getPluginConfig(e) {
837
818
  return this.plugins[e] ?? {};
838
819
  }
839
820
  }
840
- m(J, "logger", v);
841
- function Q(t) {
821
+ m(G, "logger", k);
822
+ function W(t) {
842
823
  var e;
843
- return ((e = t.options) == null ? void 0 : e.some((s) => "condition" in s)) ?? !1;
824
+ return ((e = t.options) == null ? void 0 : e.some((r) => "condition" in r)) ?? !1;
844
825
  }
845
826
  function ot(t) {
846
- return t.some((e) => e.condition || Q(e));
827
+ return t.some((e) => e.condition || W(e));
847
828
  }
848
- async function ht(t, e) {
829
+ async function mt(t, e) {
849
830
  return e.length === 0 || !ot(e) ? e : (await Promise.all(
850
831
  e.map(async (n) => {
851
- if (!(n.condition ? await E(t, n.condition) : !0))
832
+ if (!(n.condition ? await $(t, n.condition) : !0))
852
833
  return null;
853
- if (!n.options || !Q(n))
834
+ if (!n.options || !W(n))
854
835
  return n;
855
- const r = (await Promise.all(
856
- n.options.map(async (u) => u.condition ? await E(t, u.condition) ? u : null : u)
857
- )).filter((u) => u !== null);
858
- return r.length === n.options.length ? n : r.length === 0 ? null : { ...n, options: r };
836
+ const s = (await Promise.all(
837
+ n.options.map(async (l) => l.condition ? await $(t, l.condition) ? l : null : l)
838
+ )).filter((l) => l !== null);
839
+ return s.length === n.options.length ? n : s.length === 0 ? null : { ...n, options: s };
859
840
  })
860
841
  )).filter((n) => n !== null);
861
842
  }
862
- const yt = (t) => {
863
- const e = new J(t);
864
- return de(e), e;
843
+ const ht = (t) => {
844
+ const e = new G(t);
845
+ return ue(e), e;
865
846
  };
866
847
  export {
867
- J as Picked,
868
- yt as createClient,
869
- B as createStorageKey,
870
- E as evaluateRuleLogic,
871
- ht as getStepFields,
848
+ G as Picked,
849
+ ht as createClient,
850
+ R as createStorageKey,
851
+ $ as evaluateRuleLogic,
852
+ mt as getStepFields,
872
853
  kt as isPickedRoot,
873
854
  D as localStore,
874
855
  j as sessionStore,
875
- It as subscribe,
856
+ wt as subscribe,
876
857
  bt as supportsCookies,
877
- le as supportsCryptoRandomUUID,
858
+ ce as supportsCryptoRandomUUID,
878
859
  H as supportsDocument,
879
- xt as supportsHistory,
880
- Et as supportsIntersectionObserver,
881
- K as supportsLocalStorage,
882
- Pt as supportsLocation,
883
- Rt as supportsSessionStorage,
884
- Bt as supportsShadowRoot,
885
- At as supportsWebComponents,
886
- ue as supportsWindow
860
+ It as supportsHistory,
861
+ xt as supportsIntersectionObserver,
862
+ ae as supportsLocalStorage,
863
+ Et as supportsLocation,
864
+ Pt as supportsSessionStorage,
865
+ Rt as supportsShadowRoot,
866
+ Bt as supportsWebComponents,
867
+ ie as supportsWindow
887
868
  };