@picked/client 0.0.20 → 0.0.21

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