@picked/client 0.0.1-dev.1774995194828 → 0.0.1-dev.1775004084041

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 (42) hide show
  1. package/dist/{api-DKdPkjZ7.js → api-CWdYRdXN.js} +1 -1
  2. package/dist/{api-DzKTxrba.cjs → api-CaQ00bOF.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/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  7. package/dist/cjs/plugins/web-components/index.js +1 -1
  8. package/dist/cjs/server/index.js +1 -1
  9. package/dist/esm/form/index.js +1 -1
  10. package/dist/esm/index.js +147 -132
  11. package/dist/esm/plugins/dynamic-experiences/index.js +1 -1
  12. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  13. package/dist/esm/plugins/web-components/index.js +1 -1
  14. package/dist/esm/server/index.js +1 -1
  15. package/dist/{experience-instance-WjxPNSjH.cjs → experience-instance-BSYR-Hla.cjs} +1 -1
  16. package/dist/{experience-instance-C35Ocv25.js → experience-instance-CvpIiEca.js} +2 -2
  17. package/dist/types/entities/condition/condition.d.ts +5 -1
  18. package/dist/types/entities/condition/condition.d.ts.map +1 -1
  19. package/dist/types/entities/experience/experience.d.ts +31 -5
  20. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  21. package/dist/types/entities/experience-instance/experience-instance.d.ts +1 -2
  22. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  23. package/dist/types/entities/field/field.d.ts +3 -3
  24. package/dist/types/entities/field/field.d.ts.map +1 -1
  25. package/dist/types/entities/response/response.d.ts.map +1 -1
  26. package/dist/types/entities/step/step.d.ts +5 -2
  27. package/dist/types/entities/step/step.d.ts.map +1 -1
  28. package/dist/types/form/create-field-evaluator.d.ts +1 -1
  29. package/dist/types/form/create-field-evaluator.d.ts.map +1 -1
  30. package/dist/types/picked.d.ts +63 -11
  31. package/dist/types/picked.d.ts.map +1 -1
  32. package/dist/types/plugins/create-experience/serialization.d.ts +0 -1
  33. package/dist/types/plugins/create-experience/serialization.d.ts.map +1 -1
  34. package/dist/types/utils/indexed-db.d.ts +0 -52
  35. package/dist/types/utils/indexed-db.d.ts.map +1 -1
  36. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +6 -10
  37. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
  38. package/dist/types/utils/nodes.d.ts +0 -50
  39. package/dist/types/utils/nodes.d.ts.map +1 -1
  40. package/dist/types/utils/state-snaphot.d.ts +1 -1
  41. package/dist/types/utils/state-snaphot.d.ts.map +1 -1
  42. package/package.json +1 -1
package/dist/esm/index.js CHANGED
@@ -2,15 +2,15 @@ import { n as e, t } from "../rules-logic-BIkBWZmf.js";
2
2
  import { t as n } from "../object-C82v79xc.js";
3
3
  import { t as r } from "../logger-6z_gb4rA.js";
4
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 ee, i as _, l as te, n as ne, o as re, r as ie, s as v } from "../experience-instance-C35Ocv25.js";
6
- import { i as ae, n as y, r as b, t as x } from "../storage-6Xk0uAxB.js";
7
- import { n as oe, r as se } from "../api-DKdPkjZ7.js";
8
- import { t as ce } from "../id-CRqy981z.js";
9
- import { attach as S, combine as C, createApi as w, createDomain as T, createEffect as E, createEvent as D, createStore as O, sample as k } from "effector";
10
- import { createFactory as A, invoke as j } from "@withease/factories";
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-CvpIiEca.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-CWdYRdXN.js";
8
+ import { t as se } from "../id-CRqy981z.js";
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";
10
+ import { createFactory as j, invoke as M } from "@withease/factories";
11
11
  //#region src/entities/experience/experience.ts
12
- var M = T("experience"), le = A(({ client: e, experience: t }) => {
13
- let n = M.store(t), r = w(n, { merge(e, t) {
12
+ var N = E("experience"), ce = j(({ client: e, experience: t }) => {
13
+ let n = N.store(t), r = T(n, { merge(e, t) {
14
14
  return {
15
15
  ...e,
16
16
  ...t.experience
@@ -20,8 +20,8 @@ var M = T("experience"), le = A(({ client: e, experience: t }) => {
20
20
  decisionLogic: e.condition,
21
21
  targetSelectors: e.targets,
22
22
  initializeOpenLogic: e.initializeOpen
23
- })), a = C(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 = C(n, e.steps.listStore, e.conditions.listStore, (e, t, n) => {
24
- let r = e.nodes.filter(_).map((e) => t.find((t) => t.id === e.stepId)).filter((e) => e !== void 0), i = e.nodes.filter(ie).map((e) => n.find((t) => t.id === e.conditionId)).filter((e) => e !== void 0);
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
25
  return {
26
26
  steps: r,
27
27
  nodes: e.nodes,
@@ -40,11 +40,11 @@ var M = T("experience"), le = A(({ client: e, experience: t }) => {
40
40
  merge: r.merge
41
41
  };
42
42
  });
43
- function ue(e) {
44
- return j(le, e);
43
+ function le(e) {
44
+ return M(ce, e);
45
45
  }
46
- var de = A(({ client: e }) => {
47
- let t = M.store({}), n = w(t, { register(e, t) {
46
+ var ue = j(({ client: e }) => {
47
+ let t = N.store({}), n = T(t, { register(e, t) {
48
48
  return {
49
49
  ...e,
50
50
  [t.id]: t
@@ -59,7 +59,7 @@ var de = A(({ client: e }) => {
59
59
  });
60
60
  return;
61
61
  }
62
- let a = ue({
62
+ let a = le({
63
63
  client: e,
64
64
  experience: r
65
65
  });
@@ -67,9 +67,12 @@ var de = A(({ client: e }) => {
67
67
  }
68
68
  let i = t.map((e) => Object.values(e));
69
69
  function a(e) {
70
+ return t.map((t) => t[e], { skipVoid: !1 });
71
+ }
72
+ function o(e) {
70
73
  return t.map((t) => Object.values(t).find((t) => t.key === e) ?? t[e], { skipVoid: !1 });
71
74
  }
72
- let o = S({
75
+ let s = C({
73
76
  source: t,
74
77
  effect: async (t, n) => {
75
78
  let r = "key" in n ? Object.values(t).find((e) => e.key === n.key) : t[n.id];
@@ -79,18 +82,18 @@ var de = A(({ client: e }) => {
79
82
  }
80
83
  let { options: i } = n;
81
84
  if (i?.bypassCondition) {
82
- N(e, r, i);
85
+ P(e, r, i);
83
86
  return;
84
87
  }
85
- await F(e, r) && N(e, r, i);
88
+ await I(e, r) && P(e, r, i);
86
89
  }
87
90
  });
88
91
  return {
89
92
  register: r,
90
- get: a,
93
+ getByKey: o,
91
94
  getById: a,
92
- launch: o,
93
- open: S({
95
+ launch: s,
96
+ open: C({
94
97
  source: {
95
98
  experiences: t,
96
99
  instances: e.experienceInstances.listStore
@@ -98,7 +101,7 @@ var de = A(({ client: e }) => {
98
101
  effect: ({ experiences: e, instances: t }, n) => {
99
102
  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);
100
103
  if (i.length > 0) for (let e of i) e.open();
101
- else o("key" in n ? {
104
+ else s("key" in n ? {
102
105
  key: n.key,
103
106
  options: {
104
107
  ...n.options,
@@ -116,23 +119,23 @@ var de = A(({ client: e }) => {
116
119
  listStore: i
117
120
  };
118
121
  });
119
- function fe(e) {
120
- return j(de, e);
122
+ function de(e) {
123
+ return M(ue, e);
121
124
  }
122
- var N = (e, t, n) => {
123
- let { targetSelectors: r } = t.configStore.getState(), i = v(r, t.id);
124
- i.forEach(({ elements: e }) => e.forEach((e) => te(e, t.id))), g(i, t.id).forEach((r) => {
125
+ var P = (e, t, n) => {
126
+ let { targetSelectors: r } = t.configStore.getState(), i = y(r, t.id);
127
+ i.forEach(({ elements: e }) => e.forEach((e) => ee(e, t.id))), g(i, t.id).forEach((r) => {
125
128
  n ? e.experienceInstances.spawn(t, r, n) : e.experienceInstances.spawn(t, r);
126
129
  });
127
- }, P = async (e) => {
130
+ }, F = async (e) => {
128
131
  await Promise.all(e.experiences.listStore.getState().map(async (t) => {
129
- await F(e, t) && N(e, t);
132
+ await I(e, t) && P(e, t);
130
133
  }));
131
- }, F = async (n, r) => {
134
+ }, I = async (n, r) => {
132
135
  if (!n.preconditionPassed || !n.session?.isUser) return !1;
133
136
  let { decisionLogic: i, targetSelectors: a } = r.configStore.getState();
134
- return v(a, r.id).length < 1 || a.length === 0 ? !1 : i === void 0 ? !0 : e(i) ? await t(n, i) === !0 : !0;
135
- }, I = (e, t, n) => {
137
+ return y(a, r.id).length < 1 || a.length === 0 ? !1 : i === void 0 ? !0 : e(i) ? await t(n, i) === !0 : !0;
138
+ }, fe = (e, t, n) => {
136
139
  let r = t.name, i = t.setup(e);
137
140
  if (i) {
138
141
  let e = n[r] ?? {};
@@ -141,16 +144,16 @@ var N = (e, t, n) => {
141
144
  ...i
142
145
  });
143
146
  }
144
- }, L = T("component"), R = A(({ client: e, component: t, name: n }) => ({
147
+ }, L = E("component"), R = j(({ client: e, component: t, name: n }) => ({
145
148
  name: n,
146
149
  component: t,
147
150
  frameworkStore: e.frameworks.getByName(t.frameworkName)
148
151
  }));
149
152
  function z(e) {
150
- return j(R, e);
153
+ return M(R, e);
151
154
  }
152
- var B = A(({ client: e }) => {
153
- let t = L.store({}), n = w(t, { register(e, t) {
155
+ var B = j(({ client: e }) => {
156
+ let t = L.store({}), n = T(t, { register(e, t) {
154
157
  return {
155
158
  ...e,
156
159
  [t.name]: t
@@ -176,12 +179,12 @@ var B = A(({ client: e }) => {
176
179
  };
177
180
  });
178
181
  function V(e) {
179
- return j(B, e);
182
+ return M(B, e);
180
183
  }
181
184
  var H = (e, t, n) => {
182
185
  n.register(e, t);
183
- }, pe = T("framework"), me = A(({ client: e }) => {
184
- let t = pe.store({}), n = w(t, { register(e, t) {
186
+ }, pe = E("framework"), me = j(({ client: e }) => {
187
+ let t = pe.store({}), n = T(t, { register(e, t) {
185
188
  return {
186
189
  ...e,
187
190
  [t.name]: t.framework
@@ -204,20 +207,20 @@ var H = (e, t, n) => {
204
207
  };
205
208
  });
206
209
  function he(e) {
207
- return j(me, e);
210
+ return M(me, e);
208
211
  }
209
212
  var ge = (e, t) => {
210
213
  t.register(e.name, e);
211
- }, _e = 6e3, ve = x("last_ping", "global"), ye = async (e) => {
214
+ }, _e = 6e3, ve = S("last_ping", "global"), ye = async (e) => {
212
215
  try {
213
- let t = Date.now(), n = y.get(ve), r = 0;
216
+ let t = Date.now(), n = b.get(ve), r = 0;
214
217
  if (n.isSet() && (r = n.json() ?? 0), r && t - r < _e) return !0;
215
218
  let i = {
216
219
  projectId: e.projectId,
217
220
  path: window.location.pathname
218
221
  }, a = {}, o = document.getElementById("picked_script")?.dataset.verceltoken;
219
222
  o && (a["x-vercel-protection-bypass"] = o);
220
- let s = (await oe(e.apiUrl, "ping", i, a)).ok;
223
+ let s = (await ae(e.apiUrl, "ping", i, a)).ok;
221
224
  return s && n.set(t), s;
222
225
  } catch {
223
226
  return !1;
@@ -239,8 +242,8 @@ function U(e) {
239
242
  }
240
243
  //#endregion
241
244
  //#region src/entities/predicate/predicate.ts
242
- var be = T("predicate"), xe = A(({ client: e }) => {
243
- let t = be.store({}), n = w(t, { register(e, t) {
245
+ var be = E("predicate"), xe = j(({ client: e }) => {
246
+ let t = be.store({}), n = T(t, { register(e, t) {
244
247
  return {
245
248
  ...e,
246
249
  [t.name]: {
@@ -260,7 +263,7 @@ var be = T("predicate"), xe = A(({ client: e }) => {
260
263
  return t.map((t) => t[e]?.predicate, { skipVoid: !1 });
261
264
  }
262
265
  function o(t) {
263
- let n = O(() => void 0, { skipVoid: !1 }), r = E(async () => {
266
+ let n = k(() => void 0, { skipVoid: !1 }), r = D(async () => {
264
267
  let n = a(t).getState();
265
268
  if (!n) return;
266
269
  let r = U(e);
@@ -269,13 +272,13 @@ var be = T("predicate"), xe = A(({ client: e }) => {
269
272
  args: e
270
273
  });
271
274
  });
272
- return k({
275
+ return A({
273
276
  source: {
274
277
  responses: e.responses.listStore,
275
278
  fields: e.fields.listStore
276
279
  },
277
280
  target: r
278
- }), k({
281
+ }), A({
279
282
  clock: r.doneData,
280
283
  filter: (e) => e !== void 0,
281
284
  target: n
@@ -289,12 +292,12 @@ var be = T("predicate"), xe = A(({ client: e }) => {
289
292
  };
290
293
  });
291
294
  function Se(e) {
292
- return j(xe, e);
295
+ return M(xe, e);
293
296
  }
294
297
  var Ce = (e, t, n) => {
295
298
  n.register(e, t);
296
- }, W = T("feature"), we = A(({ client: e }) => {
297
- let t = W.store({}), n = W.store([]), r = w(t, { register(e, t) {
299
+ }, W = E("feature"), we = j(({ client: e }) => {
300
+ let t = W.store({}), n = W.store([]), r = T(t, { register(e, t) {
298
301
  return {
299
302
  ...e,
300
303
  [t.id]: t.feature
@@ -314,19 +317,19 @@ var Ce = (e, t, n) => {
314
317
  feature: i
315
318
  }));
316
319
  }
317
- let a = E(async ({ id: e, key: t, storage: n = "local" }) => {
318
- let r = x(`feature:${e}:${t}`, "global"), i = (n === "session" ? b : y).get(r).boolean();
320
+ let a = D(async ({ id: e, key: t, storage: n = "local" }) => {
321
+ let r = S(`feature:${e}:${t}`, "global"), i = (n === "session" ? x : b).get(r).boolean();
319
322
  return i === null ? null : {
320
323
  id: e,
321
324
  key: t,
322
325
  bucket: i,
323
326
  storage: n
324
327
  };
325
- }), o = E((e) => {
328
+ }), o = D((e) => {
326
329
  if (!e) return null;
327
- let t = x(`feature:${e.id}:${e.key}`, "global");
328
- (e.storage === "session" ? b : y).set(t, e.bucket);
329
- }), s = /* @__PURE__ */ new Map(), c = S({
330
+ let t = S(`feature:${e.id}:${e.key}`, "global");
331
+ (e.storage === "session" ? x : b).set(t, e.bucket);
332
+ }), s = /* @__PURE__ */ new Map(), c = C({
330
333
  source: {
331
334
  allFeaturesStore: t,
332
335
  resolvedFeaturesStore: n
@@ -357,7 +360,7 @@ var Ce = (e, t, n) => {
357
360
  };
358
361
  }
359
362
  });
360
- k({
363
+ A({
361
364
  clock: r.register,
362
365
  fn: (e) => {
363
366
  let { id: t, feature: n } = e;
@@ -368,7 +371,7 @@ var Ce = (e, t, n) => {
368
371
  };
369
372
  },
370
373
  target: a
371
- }), k({
374
+ }), A({
372
375
  source: t,
373
376
  clock: c.doneData,
374
377
  fn: (e, t) => {
@@ -382,7 +385,7 @@ var Ce = (e, t, n) => {
382
385
  },
383
386
  target: o
384
387
  });
385
- let l = C({
388
+ let l = w({
386
389
  allFeaturesStore: t,
387
390
  resolvedFeaturesStore: n
388
391
  }).map(({ allFeaturesStore: e, resolvedFeaturesStore: t }) => Object.values(e).map((e) => {
@@ -404,7 +407,7 @@ var Ce = (e, t, n) => {
404
407
  isResolved: !1
405
408
  };
406
409
  }));
407
- k({
410
+ A({
408
411
  clock: c.doneData,
409
412
  source: { resolvedFeatures: n },
410
413
  filter: ({ resolvedFeatures: e }, { id: t, key: n }) => !e.some((e) => e.id === t && e.key === n),
@@ -413,7 +416,7 @@ var Ce = (e, t, n) => {
413
416
  type: "feature_decide",
414
417
  feature: e
415
418
  }))
416
- }), k({
419
+ }), A({
417
420
  clock: [a.doneData, c.doneData],
418
421
  source: n,
419
422
  fn: (e, t) => !t || e.some((e) => e.id === t.id && e.key === t.key) ? e : [...e, t],
@@ -426,15 +429,15 @@ var Ce = (e, t, n) => {
426
429
  return t.map((t) => t[e], { skipVoid: !1 });
427
430
  }
428
431
  function f(e) {
429
- let t = O(async () => void 0, { skipVoid: !1 }), r = E(async () => {
432
+ let t = k(async () => void 0, { skipVoid: !1 }), r = D(async () => {
430
433
  let t = u(e).getState();
431
434
  if (t) return async () => (await t.getBucket()).bucket;
432
435
  });
433
- return k({
436
+ return A({
434
437
  source: n,
435
438
  filter: (t) => t.some((t) => t.id === e),
436
439
  target: r
437
- }), k({
440
+ }), A({
438
441
  clock: r.doneData,
439
442
  filter: (e) => e !== void 0,
440
443
  target: t
@@ -449,20 +452,20 @@ var Ce = (e, t, n) => {
449
452
  };
450
453
  });
451
454
  function Te(e) {
452
- return j(we, e);
455
+ return M(we, e);
453
456
  }
454
457
  var Ee = (e, t, n) => {
455
458
  n.register(e, t);
456
- }, G = T("history");
459
+ }, G = E("history");
457
460
  function K(e, t) {
458
461
  return {
459
- id: ce(`history-entry-${Date.now()}-${Math.random()}}`),
462
+ id: se(`history-entry-${Date.now()}-${Math.random()}}`),
460
463
  node: t,
461
464
  at: Date.now(),
462
465
  experienceId: e
463
466
  };
464
467
  }
465
- var De = A(() => {
468
+ var De = j(() => {
466
469
  let e = G.store({ entries: [] }), t = G.event(), n = G.event(), r = G.event(), i = G.event();
467
470
  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);
468
471
  function a(e, t) {
@@ -472,7 +475,7 @@ var De = A(() => {
472
475
  };
473
476
  for (let r = e.length - 1; r >= 0; r--) {
474
477
  let i = e[r], a = i?.node;
475
- if (!(!a || !_(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
478
+ if (!(!a || !v(a)) && !(t && i.experienceId !== t)) if (n.lastStepIndex === -1) n.lastStepIndex = r;
476
479
  else {
477
480
  n.secondLastStepIndex = r;
478
481
  break;
@@ -495,13 +498,13 @@ var De = A(() => {
495
498
  };
496
499
  });
497
500
  function Oe() {
498
- return j(De);
501
+ return M(De);
499
502
  }
500
503
  //#endregion
501
504
  //#region src/utils/events.ts
502
505
  var ke = 0, Ae = (e) => {
503
- let t = O([]);
504
- return k({
506
+ let t = k([]);
507
+ return A({
505
508
  clock: e,
506
509
  source: t,
507
510
  fn: (e, t) => [...e, {
@@ -511,8 +514,8 @@ var ke = 0, Ae = (e) => {
511
514
  }],
512
515
  target: t
513
516
  }), t;
514
- }, je = T("field"), Me = A(() => {
515
- let e = je.store({}), t = w(e, {
517
+ }, je = E("field"), Me = j(() => {
518
+ let e = je.store({}), t = T(e, {
516
519
  register(e, t) {
517
520
  return {
518
521
  ...e,
@@ -539,27 +542,30 @@ var ke = 0, Ae = (e) => {
539
542
  }
540
543
  let i = e.map((e) => Object.values(e));
541
544
  function a(t) {
542
- return e.map((e) => Object.values(e).find((e) => e.key === t) ?? null, { skipVoid: !1 });
545
+ return e.map((e) => e[t] ?? null, { skipVoid: !1 });
543
546
  }
544
547
  function o(t) {
548
+ return e.map((e) => Object.values(e).find((e) => e.key === t) ?? null, { skipVoid: !1 });
549
+ }
550
+ function s(t) {
545
551
  return e.map((e) => Object.values(e).find((e) => e.name === t) ?? null, { skipVoid: !1 });
546
552
  }
547
553
  return {
548
554
  register: n,
549
555
  update: r,
550
556
  getById: a,
551
- get: a,
557
+ getByKey: o,
552
558
  listStore: i,
553
- getByName: o
559
+ getByName: s
554
560
  };
555
561
  });
556
562
  function Ne() {
557
- return j(Me);
563
+ return M(Me);
558
564
  }
559
565
  //#endregion
560
566
  //#region src/entities/step/step.ts
561
- var Pe = T("step"), Fe = A(() => {
562
- let e = Pe.store({}), t = w(e, { register(e, t) {
567
+ var Pe = E("step"), Fe = j(() => {
568
+ let e = Pe.store({}), t = T(e, { register(e, t) {
563
569
  return {
564
570
  ...e,
565
571
  [t.step.id]: t.step
@@ -570,25 +576,29 @@ var Pe = T("step"), Fe = A(() => {
570
576
  }
571
577
  let r = e.map((e) => Object.values(e));
572
578
  function i(t) {
579
+ return e.map((e) => e[t] ?? null, { skipVoid: !1 });
580
+ }
581
+ function a(t) {
573
582
  return e.map((e) => Object.values(e).find((e) => e.key === t) ?? null, { skipVoid: !1 });
574
583
  }
575
584
  return {
576
585
  register: n,
577
- get: i,
578
586
  getById: i,
579
- listStore: r
587
+ getByKey: a,
588
+ listStore: r,
589
+ indexStore: e
580
590
  };
581
591
  });
582
592
  function Ie() {
583
- return j(Fe);
593
+ return M(Fe);
584
594
  }
585
595
  function Le(e, t) {
586
596
  t.register(e);
587
597
  }
588
598
  //#endregion
589
599
  //#region src/entities/action/action.ts
590
- var Re = T("action"), ze = A(() => {
591
- let e = Re.store({}), t = w(e, { register(e, t) {
600
+ var Re = E("action"), ze = j(() => {
601
+ let e = Re.store({}), t = T(e, { register(e, t) {
592
602
  return {
593
603
  ...e,
594
604
  [t.name]: {
@@ -621,7 +631,7 @@ var Re = T("action"), ze = A(() => {
621
631
  };
622
632
  });
623
633
  function Be() {
624
- return j(ze);
634
+ return M(ze);
625
635
  }
626
636
  var Ve = (e, t, n) => {
627
637
  n.register(e, t);
@@ -690,8 +700,8 @@ async function qe(e, t, r, i) {
690
700
  }
691
701
  //#endregion
692
702
  //#region src/entities/response/response.ts
693
- var Je = T("response"), Ye = A(({ client: e }) => {
694
- let n = Je.store({}), r = D(), i = D(), a = w(n, {
703
+ var Je = E("response"), Ye = j(({ client: e }) => {
704
+ let n = Je.store({}), r = O(), i = O(), a = T(n, {
695
705
  register(e, t) {
696
706
  return {
697
707
  ...e,
@@ -720,7 +730,7 @@ var Je = T("response"), Ye = A(({ client: e }) => {
720
730
  });
721
731
  } else a.registerBatch(e);
722
732
  }
723
- let s = (n, r) => t(e, n, r), c = S({
733
+ let s = (n, r) => t(e, n, r), c = C({
724
734
  source: {
725
735
  allFields: e.fields.listStore,
726
736
  existingResponses: n
@@ -778,7 +788,7 @@ var Je = T("response"), Ye = A(({ client: e }) => {
778
788
  async function l(e) {
779
789
  return c(e);
780
790
  }
781
- let u = S({
791
+ let u = C({
782
792
  source: n,
783
793
  effect: async (e, t) => {
784
794
  let { responsesToCommit: n, validationErrors: r } = await c(t);
@@ -792,9 +802,9 @@ var Je = T("response"), Ye = A(({ client: e }) => {
792
802
  fieldKey: e,
793
803
  value: t
794
804
  })));
795
- function m(t) {
796
- return C({
797
- f: e.fields.getById(t),
805
+ function m(e) {
806
+ return w({
807
+ f: e,
798
808
  s: n
799
809
  }, ({ f: e, s: t }) => {
800
810
  let n = e ? t[e.key] ?? null : null;
@@ -802,27 +812,18 @@ var Je = T("response"), Ye = A(({ client: e }) => {
802
812
  });
803
813
  }
804
814
  function h(t) {
805
- return C({
806
- f: e.fields.get(t),
807
- s: n
808
- }, ({ f: e, s: t }) => {
809
- let n = e ? t[e.key] ?? null : null;
810
- return n === null ? e?.defaultValue !== void 0 && e.defaultValue !== null ? e.defaultValue : null : n;
811
- });
815
+ return m(e.fields.getById(t));
812
816
  }
813
817
  function g(t) {
814
- return C({
815
- f: e.fields.getByName(t),
816
- s: n
817
- }, ({ f: e, s: t }) => {
818
- let n = e ? t[e.key] ?? null : null;
819
- return n === null ? e?.defaultValue !== void 0 && e.defaultValue !== null ? e.defaultValue : null : n;
820
- });
818
+ return m(e.fields.getByKey(t));
819
+ }
820
+ function _(t) {
821
+ return m(e.fields.getByName(t));
821
822
  }
822
- return k({
823
+ return A({
823
824
  clock: r,
824
825
  target: a.clearAll
825
- }), k({
826
+ }), A({
826
827
  clock: i,
827
828
  target: a.clear
828
829
  }), {
@@ -833,18 +834,18 @@ var Je = T("response"), Ye = A(({ client: e }) => {
833
834
  getResponsesToCommit: l,
834
835
  listStore: p,
835
836
  getAllStore: f,
836
- getByFieldId: m,
837
- getByFieldKey: h,
838
- getByFieldName: g
837
+ getByFieldId: h,
838
+ getByFieldKey: g,
839
+ getByFieldName: _
839
840
  };
840
841
  });
841
842
  function Xe(e) {
842
- return j(Ye, e);
843
+ return M(Ye, e);
843
844
  }
844
845
  //#endregion
845
846
  //#region src/entities/condition/condition.ts
846
- var Ze = T("condition"), Qe = A(() => {
847
- let e = Ze.store({}), t = w(e, { register(e, t) {
847
+ var Ze = E("condition"), Qe = j(() => {
848
+ let e = Ze.store({}), t = T(e, { register(e, t) {
848
849
  return {
849
850
  ...e,
850
851
  [t.condition.id]: t.condition
@@ -855,16 +856,21 @@ var Ze = T("condition"), Qe = A(() => {
855
856
  }
856
857
  let r = e.map((e) => Object.values(e));
857
858
  function i(t) {
858
- return e.map((e) => Object.values(e).find((e) => e.key === t) ?? null);
859
+ return e.map((e) => e[t] ?? null, { skipVoid: !1 });
860
+ }
861
+ function a(t) {
862
+ return e.map((e) => Object.values(e).find((e) => e.key === t) ?? null, { skipVoid: !1 });
859
863
  }
860
864
  return {
861
865
  register: n,
862
- get: i,
863
- listStore: r
866
+ getById: i,
867
+ getByKey: a,
868
+ listStore: r,
869
+ indexStore: e
864
870
  };
865
871
  });
866
872
  function $e() {
867
- return j(Qe);
873
+ return M(Qe);
868
874
  }
869
875
  //#endregion
870
876
  //#region src/utils/api-url.ts
@@ -891,10 +897,10 @@ function tt() {
891
897
  let n = r.replace("picked-", "");
892
898
  t[n] = e.getAll(r);
893
899
  }
894
- let r = x("s");
895
- if (n.size > 0) b.set(r, t);
900
+ let r = S("s");
901
+ if (n.size > 0) x.set(r, t);
896
902
  else {
897
- let e = b.get(r);
903
+ let e = x.get(r);
898
904
  if (e) return e.json() || {};
899
905
  }
900
906
  return t;
@@ -904,8 +910,8 @@ function tt() {
904
910
  function nt() {
905
911
  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)}`;
906
912
  }
907
- var rt = x("session", "global"), it = () => {
908
- let e = y.get(rt), t;
913
+ var rt = S("session", "global"), it = () => {
914
+ let e = b.get(rt), t;
909
915
  e.isSet() && (t = e.json());
910
916
  let n = (t) => e.set({
911
917
  id: t.id,
@@ -1032,7 +1038,7 @@ var $ = class {
1032
1038
  isReady = !1;
1033
1039
  plugins = {};
1034
1040
  pluginStartHooks = [];
1035
- eventBus = D();
1041
+ eventBus = O();
1036
1042
  events;
1037
1043
  organizationId;
1038
1044
  projectId;
@@ -1046,8 +1052,8 @@ var $ = class {
1046
1052
  searchParams = tt();
1047
1053
  history = Oe();
1048
1054
  components = V({ client: this });
1049
- experienceInstances = ne({ client: this });
1050
- experiences = fe({ client: this });
1055
+ experienceInstances = te({ client: this });
1056
+ experiences = de({ client: this });
1051
1057
  frameworks = he({ client: this });
1052
1058
  predicates = Se({ client: this });
1053
1059
  features = Te({ client: this });
@@ -1061,7 +1067,7 @@ var $ = class {
1061
1067
  let { organizationId: t, projectId: n } = st(e);
1062
1068
  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({
1063
1069
  type: "load",
1064
- version: se()
1070
+ version: oe()
1065
1071
  });
1066
1072
  }
1067
1073
  start = () => {
@@ -1080,7 +1086,7 @@ var $ = class {
1080
1086
  value: e
1081
1087
  });
1082
1088
  }
1083
- if (this.eventBus({ type: "initialize" }), n && P(this), await re(), n && P(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session) {
1089
+ if (this.eventBus({ type: "initialize" }), n && F(this), await ne(), n && F(this), this.eventBus({ type: "ready" }), this.isReady = !0, this.session) {
1084
1090
  let { id: e, isUser: t, identifiers: n } = this.session;
1085
1091
  this.eventBus({
1086
1092
  type: "session",
@@ -1098,7 +1104,7 @@ var $ = class {
1098
1104
  H(e, t, this.components);
1099
1105
  };
1100
1106
  registerPlugin = (e) => {
1101
- I(this, e, this.plugins);
1107
+ fe(this, e, this.plugins);
1102
1108
  let t = this.plugins[e.name];
1103
1109
  t?.onStart && this.pluginStartHooks.push(t.onStart);
1104
1110
  };
@@ -1125,12 +1131,21 @@ var $ = class {
1125
1131
  };
1126
1132
  getStateSnapshot = () => U(this);
1127
1133
  launchExperienceById = async (e, t) => {
1134
+ this.experiences.launch({
1135
+ id: e,
1136
+ options: t
1137
+ });
1138
+ };
1139
+ launchExperienceByKey = async (e, t) => {
1128
1140
  this.experiences.launch({
1129
1141
  key: e,
1130
1142
  options: t
1131
1143
  });
1132
1144
  };
1133
1145
  openExperienceById = async (e) => {
1146
+ this.experiences.open({ id: e });
1147
+ };
1148
+ openExperienceByKey = async (e) => {
1134
1149
  this.experiences.open({ key: e });
1135
1150
  };
1136
1151
  async runPluginStartHooks() {
@@ -1227,4 +1242,4 @@ var ht = (e) => {
1227
1242
  return d(t), t;
1228
1243
  };
1229
1244
  //#endregion
1230
- export { $ as Picked, ht as createClient, x as createStorageKey, t as evaluateRuleLogic, Z as getPickedConfig, mt as isLazyLoader, ee as isPickedRoot, pt as lazyComponent, y as localStore, b as sessionStore, ae 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 };
1245
+ 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 };