@picked/client 0.0.1-dev.1780617185476 → 0.0.1-dev.1783478000089

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 (91) hide show
  1. package/dist/{api-DDuD7JeP.cjs → api-CphTE_dH.cjs} +1 -1
  2. package/dist/{api-DyalyzzP.js → api-vnk5tnrI.js} +1 -1
  3. package/dist/cjs/form/index.js +1 -1
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/create-experience/index.js +1 -1
  6. package/dist/cjs/plugins/dom-observer/index.js +1 -1
  7. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  8. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  9. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  10. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  11. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  12. package/dist/cjs/plugins/single-page-app/index.js +1 -1
  13. package/dist/cjs/plugins/web-components/index.js +1 -1
  14. package/dist/cjs/plugins/window-object/index.js +1 -1
  15. package/dist/cjs/server/index.js +1 -1
  16. package/dist/docs/actions.mdx +16 -2
  17. package/dist/docs/api/index.md +4 -0
  18. package/dist/docs/content/asset-library.mdx +50 -0
  19. package/dist/docs/content/content-entries.mdx +30 -0
  20. package/dist/docs/content/layouts.mdx +70 -0
  21. package/dist/docs/content/pages.mdx +67 -0
  22. package/dist/docs/content/sections.mdx +33 -0
  23. package/dist/docs/delivery-api/experience-content.md +85 -0
  24. package/dist/docs/delivery-api/index.md +46 -0
  25. package/dist/docs/delivery-api/preview-caching-crawling.md +59 -0
  26. package/dist/docs/delivery-api/project-config.md +56 -0
  27. package/dist/docs/experiences.mdx +3 -1
  28. package/dist/docs/fields.mdx +2 -0
  29. package/dist/docs/guides/build-a-personalized-page.mdx +143 -0
  30. package/dist/docs/sdk/actions.md +21 -3
  31. package/dist/docs/sdk/experiences.md +2 -0
  32. package/dist/docs/sdk/index.md +11 -1
  33. package/dist/docs/sdk/ssr/index.md +62 -0
  34. package/dist/docs/sdk/ssr/rendering-and-hydration.md +141 -0
  35. package/dist/docs/sdk/ssr/serialize.md +86 -0
  36. package/dist/docs/sdk/ssr/slots-and-placements.md +35 -0
  37. package/dist/docs/sdk/steps.md +2 -0
  38. package/dist/docs/steps.mdx +2 -0
  39. package/dist/docs/workspace-versioning.mdx +28 -0
  40. package/dist/{dom-DjfSrkpp.js → dom-BwmTHeT7.js} +1 -1
  41. package/dist/{dom-sqnnO-CT.cjs → dom-CDrHc_j9.cjs} +1 -1
  42. package/dist/esm/form/index.js +1 -1
  43. package/dist/esm/index.js +206 -192
  44. package/dist/esm/plugins/create-experience/index.js +1 -1
  45. package/dist/esm/plugins/dom-observer/index.js +3 -3
  46. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  47. package/dist/esm/plugins/experience-browser-storage/index.js +3 -3
  48. package/dist/esm/plugins/history-browser-storage/index.js +2 -2
  49. package/dist/esm/plugins/responses-browser-storage/index.js +2 -2
  50. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  51. package/dist/esm/plugins/single-page-app/index.js +2 -2
  52. package/dist/esm/plugins/web-components/index.js +1 -1
  53. package/dist/esm/plugins/window-object/index.js +1 -1
  54. package/dist/esm/server/index.js +33 -33
  55. package/dist/experience-instance-DunhI3b8.cjs +1 -0
  56. package/dist/{experience-instance-DBzfLqnk.js → experience-instance-pTMwxW1R.js} +196 -152
  57. package/dist/id-Js-62re-.cjs +1 -0
  58. package/dist/logger-CSTvAyyB.cjs +1 -0
  59. package/dist/{object-ThO1DEyl.cjs → object-CIkt7Fkr.cjs} +1 -1
  60. package/dist/{plugin-BtpXkpqU.js → plugin-CZ3sF5el.js} +11 -7
  61. package/dist/{plugin-Bxbu49WU.cjs → plugin-NihglGoi.cjs} +1 -1
  62. package/dist/{preview-bridge-DIdDvNXQ.cjs → preview-bridge-CpX1BkSA.cjs} +1 -1
  63. package/dist/{preview-bridge-CGyx7dEx.js → preview-bridge-D76l-dPy.js} +2 -2
  64. package/dist/rules-logic-CGZIYgAI.cjs +1 -0
  65. package/dist/{rules-logic-D_CVBuv7.js → rules-logic-HesIUCu6.js} +1 -1
  66. package/dist/{storage-BXSlLTRa.cjs → storage-DUw9UJ2h.cjs} +1 -1
  67. package/dist/{supports-34OzZK5j.cjs → supports-DBzjGaWD.cjs} +1 -1
  68. package/dist/types/entities/action/action.d.ts +7 -2
  69. package/dist/types/entities/action/action.d.ts.map +1 -1
  70. package/dist/types/entities/condition/condition.d.ts +9 -0
  71. package/dist/types/entities/condition/condition.d.ts.map +1 -1
  72. package/dist/types/entities/experience-instance/experience-instance.d.ts +10 -0
  73. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  74. package/dist/types/lifecycle/condition-selection.d.ts +24 -0
  75. package/dist/types/lifecycle/condition-selection.d.ts.map +1 -1
  76. package/dist/types/lifecycle/rules-logic.d.ts.map +1 -1
  77. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  78. package/dist/types/server/index.d.ts +1 -1
  79. package/dist/types/server/index.d.ts.map +1 -1
  80. package/dist/types/utils/node-tree/get-next-node-from-action.d.ts +24 -0
  81. package/dist/types/utils/node-tree/get-next-node-from-action.d.ts.map +1 -0
  82. package/package.json +2 -2
  83. package/dist/experience-instance-CVKoGtYE.cjs +0 -1
  84. package/dist/id-Cg7fVl1O.cjs +0 -1
  85. package/dist/logger-fbvQC40v.cjs +0 -1
  86. package/dist/rules-logic-H6P8xwHF.cjs +0 -1
  87. /package/dist/{id-n2yrHvNo.js → id-Bo4RBeOs.js} +0 -0
  88. /package/dist/{logger-6z_gb4rA.js → logger-DMN6TxJJ.js} +0 -0
  89. /package/dist/{object-DvUDOytC.js → object-BUDGxEqy.js} +0 -0
  90. /package/dist/{storage-hOHCCXvP.js → storage-1MW3-_As.js} +0 -0
  91. /package/dist/{supports-BgjwyijI.js → supports-CO9bJGNl.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { n as e, t } from "./rules-logic-D_CVBuv7.js";
2
- import "./logger-6z_gb4rA.js";
3
- import { n, o as r } from "./dom-DjfSrkpp.js";
1
+ import { n as e, t } from "./rules-logic-HesIUCu6.js";
2
+ import "./logger-DMN6TxJJ.js";
3
+ import { n, o as r } from "./dom-BwmTHeT7.js";
4
4
  import { attach as i, combine as a, createApi as o, createDomain as s, createEffect as c, createEvent as l, sample as u, split as d } from "effector";
5
5
  import { createFactory as f, invoke as p } from "@withease/factories";
6
6
  //#region src/utils/nodes.ts
@@ -21,25 +21,25 @@ function v(e) {
21
21
  }
22
22
  //#endregion
23
23
  //#region src/lifecycle/condition-selection.ts
24
- var y = s("condition-results");
25
- function b(e) {
24
+ var y = "conditions.", b = s("condition-results");
25
+ function x(e) {
26
26
  return typeof e == "object" && !!e && !Array.isArray(e);
27
27
  }
28
- function x(e) {
28
+ function S(e) {
29
29
  if (e === void 0) return null;
30
- if (Array.isArray(e)) return e.map((e) => x(e));
31
- if (b(e)) {
30
+ if (Array.isArray(e)) return e.map((e) => S(e));
31
+ if (x(e)) {
32
32
  let t = Object.keys(e).sort((e, t) => e.localeCompare(t)), n = {};
33
- for (let r of t) n[r] = x(e[r]);
33
+ for (let r of t) n[r] = S(e[r]);
34
34
  return n;
35
35
  }
36
36
  return e;
37
37
  }
38
- function S(e) {
39
- return JSON.stringify(x(e));
38
+ function C(e) {
39
+ return JSON.stringify(S(e));
40
40
  }
41
- var C = f(() => {
42
- let e = y.store({}), t = o(e, {
41
+ var w = f(() => {
42
+ let e = b.store({}), t = o(e, {
43
43
  set(e, t) {
44
44
  return {
45
45
  ...e,
@@ -76,51 +76,71 @@ var C = f(() => {
76
76
  reset: i
77
77
  };
78
78
  });
79
- function w() {
80
- return p(C);
79
+ function T() {
80
+ return p(w);
81
81
  }
82
- async function T(n, r, i) {
82
+ async function E(n, r, i) {
83
83
  return r == null ? !0 : typeof r == "boolean" ? r : e(r) ? await t(n, r, i) === !0 : !0;
84
84
  }
85
- function E(e) {
85
+ function D(e) {
86
86
  if (typeof e == "string") return e;
87
87
  if (Array.isArray(e) && typeof e[0] == "string") return e[0];
88
88
  }
89
- function D(e) {
90
- if (Array.isArray(e)) return e.some(D);
91
- if (b(e)) {
92
- let t = E(e.var);
93
- return t !== void 0 && (t === "actions" || t.startsWith("actions.")) ? !0 : Object.values(e).some(D);
89
+ function O(e) {
90
+ if (Array.isArray(e)) return e.some(O);
91
+ if (x(e)) {
92
+ let t = D(e.var);
93
+ return t !== void 0 && (t === "actions" || t.startsWith("actions.")) ? !0 : Object.values(e).some(O);
94
94
  }
95
95
  return !1;
96
96
  }
97
- async function O(e, t, n) {
98
- let r = D(t), i = S(t);
99
- if (!r) {
100
- let t = e.conditionResults.peek(i);
97
+ function k(e) {
98
+ if (Array.isArray(e)) return e.flatMap(k);
99
+ if (x(e)) {
100
+ let t = D(e.var);
101
+ return [...t !== void 0 && t.startsWith(y) ? [t.slice(11)] : [], ...Object.values(e).flatMap(k)];
102
+ }
103
+ return [];
104
+ }
105
+ function A(e, t, n = /* @__PURE__ */ new Set()) {
106
+ if (O(e)) return !0;
107
+ for (let r of k(e)) {
108
+ if (n.has(r)) continue;
109
+ n.add(r);
110
+ let e = t[r];
111
+ if (e !== void 0 && A(e.logic, t, n)) return !0;
112
+ }
113
+ return !1;
114
+ }
115
+ async function j(e, t, n) {
116
+ let r = {};
117
+ for (let t of e.conditions.listStore.getState()) r[t.key] = t;
118
+ let i = A(t, r), a = C(t);
119
+ if (!i) {
120
+ let t = e.conditionResults.peek(a);
101
121
  if (t !== void 0) return t;
102
122
  }
103
- let a = await T(e, t, n?.context);
104
- return r || e.conditionResults.set({
105
- hash: i,
106
- result: a
107
- }), a;
123
+ let o = await E(e, t, n?.context);
124
+ return i || e.conditionResults.set({
125
+ hash: a,
126
+ result: o
127
+ }), o;
108
128
  }
109
- async function k(e, t, n) {
129
+ async function M(e, t, n) {
110
130
  let r = n?.context, i = [
111
131
  n?.precondition,
112
132
  n?.condition,
113
133
  t.condition
114
134
  ];
115
- for (let t of i) if (!await O(e, t, { context: r })) return !1;
135
+ for (let t of i) if (!await j(e, t, { context: r })) return !1;
116
136
  return !0;
117
137
  }
118
138
  //#endregion
119
139
  //#region src/utils/node-tree/next-reachable-step-nodes.ts
120
- var A = (e, t, n, r, i = /* @__PURE__ */ new Set()) => i.has(n.id) ? [] : (i.add(n.id), h(n) && !r ? [n] : t.filter((e) => e.sourceNodeId === n.id).flatMap((n) => {
140
+ var N = (e, t, n, r, i = /* @__PURE__ */ new Set()) => i.has(n.id) ? [] : (i.add(n.id), h(n) && !r ? [n] : t.filter((e) => e.sourceNodeId === n.id).flatMap((n) => {
121
141
  let r = e.find((e) => e.id === n.destinationNodeId);
122
- return r ? A(e, t, r, !1, i) : [];
123
- })), j = (e, t, n) => A(e, t, n, !0, /* @__PURE__ */ new Set()), M = (e, t, n, r, i = /* @__PURE__ */ new Set()) => {
142
+ return r ? N(e, t, r, !1, i) : [];
143
+ })), ee = (e, t, n) => N(e, t, n, !0, /* @__PURE__ */ new Set()), P = (e, t, n, r, i = /* @__PURE__ */ new Set()) => {
124
144
  if (i.has(n.id)) return [-1, -1];
125
145
  i.add(n.id);
126
146
  let a = t.filter((e) => e.sourceNodeId === n.id);
@@ -129,11 +149,11 @@ var A = (e, t, n, r, i = /* @__PURE__ */ new Set()) => i.has(n.id) ? [] : (i.add
129
149
  for (let n of a) {
130
150
  let r = e.find((e) => e.id === n.destinationNodeId);
131
151
  if (!r) continue;
132
- let [a, c] = M(e, t, r, !1, new Set(i));
152
+ let [a, c] = P(e, t, r, !1, new Set(i));
133
153
  a !== -1 && (o = Math.min(o, a + 1), s = Math.max(s, c + 1));
134
154
  }
135
155
  return o === Infinity ? [-1, -1] : [o, s];
136
- }, N = (e, t, n) => M(e, t, n, !0, /* @__PURE__ */ new Set()), P = (e, t, n, r = /* @__PURE__ */ new Set()) => {
156
+ }, te = (e, t, n) => P(e, t, n, !0, /* @__PURE__ */ new Set()), F = (e, t, n, r = /* @__PURE__ */ new Set()) => {
137
157
  if (r.has(n.id)) return [-1, -1];
138
158
  if (r.add(n.id), n.type === "origin") return [0, 0];
139
159
  let i = t.filter((e) => e.destinationNodeId === n.id);
@@ -142,37 +162,54 @@ var A = (e, t, n, r, i = /* @__PURE__ */ new Set()) => i.has(n.id) ? [] : (i.add
142
162
  for (let n of i) {
143
163
  let i = e.find((e) => e.id === n.sourceNodeId);
144
164
  if (!i) continue;
145
- let [s, c] = P(e, t, i, new Set(r));
165
+ let [s, c] = F(e, t, i, new Set(r));
146
166
  s !== -1 && (a = Math.min(a, s + 1), o = Math.max(o, c + 1));
147
167
  }
148
168
  return a === Infinity ? [-1, -1] : [a, o];
149
- }, ee = (e, t, n) => P(e, t, n, /* @__PURE__ */ new Set()), F = (e) => e.find((e) => e.type === "origin") || null, I = (e, t, n) => {
150
- if (!e) return F(t);
169
+ }, ne = (e, t, n) => F(e, t, n, /* @__PURE__ */ new Set()), I = (e) => e.find((e) => e.type === "origin") || null, L = (e, t, n) => {
170
+ if (!e) return I(t);
151
171
  let r = n.find((t) => t.sourceNodeId === e.id);
152
172
  return r && t.find((e) => e.id === r.destinationNodeId) || null;
153
173
  };
154
174
  //#endregion
155
175
  //#region src/utils/node-tree/get-next-node-from-condition.ts
156
- async function te(e, t, n, r) {
176
+ async function re(e, t, n, r) {
157
177
  let i = e ? "true" : "false", a = r.find((e) => e.sourceHandle === i && e.sourceNodeId === t);
158
178
  return n.find((e) => e.id === a?.destinationNodeId);
159
179
  }
160
180
  //#endregion
181
+ //#region src/utils/node-tree/get-next-node-from-action.ts
182
+ function R(e, t, n, r) {
183
+ let i = r.filter((e) => e.sourceNodeId === t), a = e ? "true" : "false", o = i.find((e) => e.sourceHandle === a) ?? i.find((e) => e.sourceHandle == null);
184
+ return n.find((e) => e.id === o?.destinationNodeId);
185
+ }
186
+ //#endregion
161
187
  //#region src/entities/experience-instance/experience-instance.ts
162
- var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f, options: p }) => {
163
- let y = l(), b = l(), x = l(), S = l(), C = l(), w = l(), T = s.componentStore, E = L.store("transitioning"), D = r.history.entriesStore.map((e) => e.filter((e) => e.experienceId === s.id)), O = D.map((e) => e.filter((e) => h(e.node))), k = D.map((e) => e.at(-1)?.node || null), A = a(r.steps.listStore, k, (e, t) => e.find((e) => t && h(t) && e.id === t.stepId) || null), M = a(r.steps.listStore, O, (e, t) => {
188
+ var z = s("experience-instance"), B = f(({ client: r, experience: s, target: f, options: p }) => {
189
+ let y = l(), b = l(), x = l(), S = l(), C = l(), w = l(), T = l(), E = s.componentStore, D = z.store("transitioning"), O = r.history.entriesStore.map((e) => e.filter((e) => e.experienceId === s.id)), k = O.map((e) => e.filter((e) => h(e.node))), A = O.map((e) => e.at(-1)?.node || null), j = z.store(null);
190
+ u({
191
+ clock: [A, r.steps.listStore],
192
+ source: {
193
+ steps: r.steps.listStore,
194
+ node: A
195
+ },
196
+ filter: ({ node: e }) => e !== null && h(e),
197
+ fn: ({ steps: e, node: t }) => t && h(t) ? e.find((e) => e.id === t.stepId) ?? null : null,
198
+ target: j
199
+ });
200
+ let M = a(r.steps.listStore, k, (e, t) => {
164
201
  let n = t.at(-2);
165
202
  if (!n || !h(n.node)) return null;
166
203
  let r = n.node;
167
204
  return e.find((e) => e.id === r.stepId) || null;
168
- }), P = a(s.treeStore, k, ({ nodes: e, edges: t }, n) => n ? j(e, t, n) : []), R = a(s.treeStore, k, ({ nodes: e, edges: t }, n) => n ? ee(e, t, n) : [-1, -1]), z = a(s.treeStore, k, ({ nodes: e, edges: t }, n) => n ? N(e, t, n) : [-1, -1]), B = L.store(!1), V = o(B, {
205
+ }), N = a(s.treeStore, A, ({ nodes: e, edges: t }, n) => n ? ee(e, t, n) : []), P = a(s.treeStore, A, ({ nodes: e, edges: t }, n) => n ? ne(e, t, n) : [-1, -1]), F = a(s.treeStore, A, ({ nodes: e, edges: t }, n) => n ? te(e, t, n) : [-1, -1]), B = z.store(!1), V = o(B, {
169
206
  open: () => !0,
170
207
  close: () => !1,
171
208
  toggle: (e) => !e,
172
209
  set: (e, t) => t
173
- }), ne = c(async () => {
210
+ }), H = c(async () => {
174
211
  r.history.back({ experienceId: s.id });
175
- }), re = i({
212
+ }), ie = i({
176
213
  source: s.treeStore,
177
214
  effect: async (e, t) => {
178
215
  let n = e.nodes.find((e) => h(e) && e.stepId === t);
@@ -181,25 +218,36 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
181
218
  node: n
182
219
  });
183
220
  }
184
- }), H = i({
185
- source: k,
186
- effect: (e) => {}
187
- }), U = i({
221
+ }), ae = i({
188
222
  source: s.treeStore,
189
- effect: async ({ nodes: e }) => F(e)
223
+ effect: async (e, t) => {
224
+ let n = e.steps.find((e) => e.key === t);
225
+ if (!n) return;
226
+ let i = e.nodes.find((e) => h(e) && e.stepId === n.id);
227
+ i && r.history.push({
228
+ experienceId: s.id,
229
+ node: i
230
+ });
231
+ }
232
+ }), U = i({
233
+ source: A,
234
+ effect: (e) => {}
190
235
  }), W = i({
236
+ source: s.treeStore,
237
+ effect: async ({ nodes: e }) => I(e)
238
+ }), G = i({
191
239
  source: s.treeStore,
192
240
  effect: async ({ nodes: e, edges: t }, n) => {
193
- if (_(n)) return I(n, e, t);
241
+ if (_(n)) return L(n, e, t);
194
242
  }
195
- }), G = i({
243
+ }), K = i({
196
244
  source: s.treeStore,
197
245
  effect: async ({ nodes: e, edges: n, conditions: i }, a) => {
198
246
  if (!m(a)) return;
199
247
  let o = i.find((e) => e.id === a.conditionId)?.logic;
200
- return o ? te(!!await t(r, o), a.id, e, n) : void 0;
248
+ return o ? re(!!await t(r, o), a.id, e, n) : void 0;
201
249
  }
202
- }), K = i({
250
+ }), q = i({
203
251
  source: {
204
252
  tree: s.treeStore,
205
253
  actions: r.actions.listStore,
@@ -214,58 +262,48 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
214
262
  return;
215
263
  }
216
264
  let s = t.find((e) => e.key === o)?.action;
217
- if (!s) {
218
- `${o}`;
219
- let e = a.find((e) => e.sourceNodeId === r.id && e.sourceHandle === "false");
220
- return e ? i.find((t) => t.id === e.destinationNodeId) : null;
221
- }
222
- if (typeof s != "function") {
223
- `${o}`;
224
- let e = a.find((e) => e.sourceNodeId === r.id && e.sourceHandle === "false");
225
- return e ? i.find((t) => t.id === e.destinationNodeId) : null;
226
- }
265
+ if (typeof s != "function") return `${o}`, R(!1, r.id, i, a) ?? null;
266
+ let c = !0;
227
267
  try {
228
- `${o}`, await s({
268
+ `${o}`, c = await s({
229
269
  ...n,
230
270
  args: []
231
- }, { experience: Z });
232
- let e = a.find((e) => e.sourceNodeId === r.id && e.sourceHandle === "true");
233
- if (!e) return `${r.id}`, null;
234
- let t = i.find((t) => t.id === e.destinationNodeId);
235
- return `${o}${t?.id}`, t || null;
271
+ }, { experience: Q }) !== !1;
236
272
  } catch {
237
- `${o}`;
238
- let e = a.find((e) => e.sourceNodeId === r.id && e.sourceHandle === "false");
239
- if (!e) return `${r.id}`, null;
240
- let t = i.find((t) => t.id === e.destinationNodeId);
241
- return `${o}${t?.id}`, t || null;
273
+ `${o}`, c = !1;
242
274
  }
275
+ let l = R(c, r.id, i, a);
276
+ if (!l) {
277
+ let e = a.some((e) => e.sourceNodeId === r.id) ? "no edge for its outcome" : "no outgoing edge";
278
+ return `${r.id}${e}`, null;
279
+ }
280
+ return `${o}${l.id}`, l;
243
281
  }
244
- }), ie = c((e) => {
282
+ }), oe = c((e) => {
245
283
  g(e) && r.experiences.launch({ key: e.experienceKey });
246
- }), q = i({
247
- source: [k, s.treeStore],
248
- effect: async ([e, { nodes: t, edges: n }]) => I(e, t, n)
249
284
  }), J = i({
250
- source: [k, s.treeStore],
251
- effect: async ([e, { nodes: t, edges: n }]) => I(e, t, n)
252
- }), ae = c((e) => {
285
+ source: [A, s.treeStore],
286
+ effect: async ([e, { nodes: t, edges: n }]) => L(e, t, n)
287
+ }), Y = i({
288
+ source: [A, s.treeStore],
289
+ effect: async ([e, { nodes: t, edges: n }]) => L(e, t, n)
290
+ }), se = c((e) => {
253
291
  r.history.push({
254
292
  experienceId: s.id,
255
293
  node: e
256
294
  });
257
- }), Y = i({
295
+ }), X = i({
258
296
  source: s.configStore,
259
297
  effect: async ({ initializeOpenLogic: n }) => p?.initialiseOpen === void 0 ? e(n) ? !!await t(r, n) : n ?? !1 : p.initialiseOpen
260
- }), X = a(T, r.frameworks.listStore, (e, t) => {
298
+ }), Z = a(E, r.frameworks.listStore, (e, t) => {
261
299
  if (!e) return null;
262
300
  let n = t.find((t) => t.name === e.component.frameworkName);
263
301
  return n ? {
264
302
  component: e,
265
303
  framework: n
266
304
  } : null;
267
- }, { skipVoid: !1 }), Z, oe = i({
268
- source: X,
305
+ }, { skipVoid: !1 }), Q, ce = i({
306
+ source: Z,
269
307
  effect: (e) => {
270
308
  if (!e) return;
271
309
  if (!f) {
@@ -274,138 +312,144 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
274
312
  }
275
313
  let t = n(f);
276
314
  try {
277
- e.framework.render(t, e.component.component, r, Z);
315
+ e.framework.render(t, e.component.component, r, Q);
278
316
  } catch {}
279
317
  }
280
318
  });
281
- Z = Object.freeze({
319
+ Q = Object.freeze({
282
320
  id: Math.random().toString(36).substring(7),
283
321
  experienceKey: s.key,
284
322
  experienceId: s.id,
285
323
  experienceName: s.name,
286
324
  configStore: s.configStore,
287
325
  target: f,
288
- componentStore: T,
289
- componentAndFrameworkStore: X,
290
- stateStore: E,
326
+ componentStore: E,
327
+ componentAndFrameworkStore: Z,
328
+ stateStore: D,
291
329
  isOpenStore: B,
292
330
  open: V.open,
293
331
  close: V.close,
294
332
  toggleOpen: V.toggle,
295
333
  setOpen: V.set,
296
334
  treeStore: s.treeStore,
297
- currentNodeStore: k,
298
- currentStepStore: A,
335
+ currentNodeStore: A,
336
+ currentStepStore: j,
299
337
  previousStepStore: M,
300
- nextReachableStepNodesStore: P,
301
- stepsToOriginStore: R,
302
- stepsToLeafStore: z,
338
+ nextReachableStepNodesStore: N,
339
+ stepsToOriginStore: P,
340
+ stepsToLeafStore: F,
303
341
  goToNextStep: b,
304
342
  goToPreviousStep: x,
305
343
  goToStepById: S,
306
- stepsHistoryStore: O,
307
- mountFx: oe
344
+ goToStepByKey: C,
345
+ stepsHistoryStore: k,
346
+ mountFx: ce
308
347
  });
309
- let Q = l(), $ = l();
348
+ let $ = l(), le = l();
310
349
  return u({
311
- clock: k,
312
- target: Q
350
+ clock: A,
351
+ target: $
313
352
  }), u({
314
- clock: Q,
353
+ clock: $,
315
354
  filter: (e) => e === null,
316
- target: U
355
+ target: W
317
356
  }), u({
318
- clock: Q,
357
+ clock: $,
319
358
  filter: (e) => e !== null,
320
- target: $
359
+ target: le
321
360
  }), d({
322
- source: $,
361
+ source: le,
323
362
  match: (e) => m(e) ? "condition" : h(e) ? "step" : g(e) ? "launchExperience" : _(e) ? "origin" : v(e) ? "action" : "other",
324
363
  cases: {
325
- origin: W,
326
- condition: G,
327
- step: H,
328
- launchExperience: ie,
329
- action: K,
364
+ origin: G,
365
+ condition: K,
366
+ step: U,
367
+ launchExperience: oe,
368
+ action: q,
330
369
  __: l()
331
370
  }
332
371
  }), u({
333
372
  clock: [
373
+ K.doneData,
334
374
  G.doneData,
335
375
  W.doneData,
336
- U.doneData,
376
+ Y.doneData,
337
377
  J.doneData,
338
- q.doneData,
339
- K.doneData
378
+ q.doneData
340
379
  ],
341
380
  filter: Boolean,
342
- target: ae
381
+ target: se
343
382
  }), u({
344
383
  clock: b,
345
- target: J
384
+ target: Y
346
385
  }), u({
347
386
  clock: b,
348
- source: A,
387
+ source: j,
349
388
  filter: Boolean,
350
389
  target: r.eventBus.prepend((e) => ({
351
390
  type: "step_submit",
352
391
  step: e,
353
- experience: Z
392
+ experience: Q
354
393
  }))
355
394
  }), u({
356
- clock: J.done,
357
- source: A,
395
+ clock: Y.done,
396
+ source: j,
358
397
  filter: Boolean,
359
398
  target: r.eventBus.prepend((e) => ({
360
399
  type: "step_submit_success",
361
400
  step: e,
362
- experience: Z
401
+ experience: Q
363
402
  }))
364
403
  }), u({
365
- clock: J.fail,
366
- source: A,
404
+ clock: Y.fail,
405
+ source: j,
367
406
  filter: Boolean,
368
407
  target: r.eventBus.prepend((e) => ({
369
408
  type: "step_submit_error",
370
409
  step: e,
371
- experience: Z
410
+ experience: Q
372
411
  }))
373
412
  }), u({
374
413
  clock: x,
375
- target: ne
414
+ target: H
376
415
  }), u({
377
416
  clock: S,
378
- target: re
417
+ target: ie
418
+ }), u({
419
+ clock: C,
420
+ target: ae
379
421
  }), u({
380
422
  source: a([
423
+ K.pending,
381
424
  G.pending,
382
425
  W.pending,
383
- U.pending,
384
- J.pending
426
+ Y.pending,
427
+ J.pending,
428
+ q.pending
385
429
  ]),
386
430
  fn: (e) => e.some(Boolean) ? "transitioning" : "ready",
387
- target: E
431
+ target: D
388
432
  }), u({
389
- clock: H.doneData,
390
- source: A,
433
+ clock: U.doneData,
434
+ source: j,
391
435
  filter: Boolean,
392
436
  target: r.eventBus.prepend((e) => ({
393
437
  type: "step_enter",
394
438
  step: e,
395
- experience: Z
439
+ experience: Q
396
440
  }))
397
441
  }), u({
398
- clock: w,
399
- target: Y
442
+ clock: T,
443
+ target: X
400
444
  }), u({
401
- source: Y.doneData,
445
+ source: X.doneData,
402
446
  fn: Boolean,
403
447
  target: B
404
448
  }), u({
405
- source: k,
449
+ source: A,
406
450
  clock: y,
407
451
  filter: (e) => e ? _(e) : !0,
408
- target: q
452
+ target: J
409
453
  }), u({
410
454
  source: B,
411
455
  filter: Boolean,
@@ -415,25 +459,25 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
415
459
  filter: Boolean,
416
460
  target: r.eventBus.prepend(() => ({
417
461
  type: "experience_open",
418
- experience: Z
462
+ experience: Q
419
463
  }))
420
464
  }), u({
421
465
  source: B,
422
466
  filter: (e) => !e,
423
467
  target: r.eventBus.prepend(() => ({
424
468
  type: "experience_close",
425
- experience: Z
469
+ experience: Q
426
470
  }))
427
471
  }), u({
428
- clock: C,
429
- target: [w]
430
- }), C(), Z;
472
+ clock: w,
473
+ target: [T]
474
+ }), w(), Q;
431
475
  });
432
- function z(e) {
433
- return p(R, e);
476
+ function V(e) {
477
+ return p(B, e);
434
478
  }
435
- var B = f(({ client: e }) => {
436
- let t = L.store({}), n = l(), i = l(), a = l(), s = o(t, {
479
+ var H = f(({ client: e }) => {
480
+ let t = z.store({}), n = l(), i = l(), a = l(), s = o(t, {
437
481
  register(e, t) {
438
482
  let n = [...e[t.experienceId] ?? []];
439
483
  return n.push(t), {
@@ -448,7 +492,7 @@ var B = f(({ client: e }) => {
448
492
  [n]: r ?? []
449
493
  };
450
494
  }
451
- }), d = c(({ experience: t, target: n, options: r }) => z({
495
+ }), d = c(({ experience: t, target: n, options: r }) => V({
452
496
  client: e,
453
497
  experience: t,
454
498
  target: n,
@@ -508,8 +552,8 @@ var B = f(({ client: e }) => {
508
552
  listStore: _
509
553
  };
510
554
  });
511
- function V(e) {
512
- return p(B, e);
555
+ function ie(e) {
556
+ return p(H, e);
513
557
  }
514
558
  //#endregion
515
- export { S as a, m as c, O as i, h as l, V as n, k as o, w as r, D as s, z as t };
559
+ export { C as a, A as c, j as i, m as l, ie as n, M as o, T as r, O as s, V as t, h as u };
@@ -0,0 +1 @@
1
+ var e={},t=0,n=n=>(e[n]||(e[n]=`${(t++).toString(36)}`),`${e[n]}:${(t++).toString(36)}`);Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
@@ -0,0 +1 @@
1
+ var e=(e,...t)=>{};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
@@ -1 +1 @@
1
- function e(e,t,r){if(!(t in e))return;let i=e[t];if(typeof i!=`function`)throw Error(`Expected '${String(t)}' to be a function`);let a=r(i);n(a,i),e[t]=a}function t(e,t,n){Object.defineProperty(e,t,{enumerable:!1,value:n,writable:!0,configurable:!0})}function n(e,n){let r=n.prototype||{};n.prototype=r,e.prototype=r,t(e,`__picked_original`,n)}function r(e){return e===void 0||typeof e==`object`&&!!e&&e.constructor===Object&&Object.keys(e).length===0}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
1
+ function e(e,t,r){if(!(t in e))return;let i=e[t];if(typeof i!=`function`)throw Error(`Expected '${String(t)}' to be a function`);let a=r(i);n(a,i),e[t]=a}function t(e,t,n){Object.defineProperty(e,t,{enumerable:!1,value:n,writable:!0,configurable:!0})}function n(e,n){let r=n.prototype||{};n.prototype=r,e.prototype=r,t(e,`__picked_original`,n)}function r(e){return e===void 0||typeof e==`object`&&!!e&&e.constructor===Object&&Object.keys(e).length===0}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
@@ -1,5 +1,5 @@
1
- import "./logger-6z_gb4rA.js";
2
- import { t as e } from "./api-DyalyzzP.js";
1
+ import "./logger-DMN6TxJJ.js";
2
+ import { t as e } from "./api-vnk5tnrI.js";
3
3
  import { attach as t } from "effector";
4
4
  //#region src/plugins/dynamic-experiences/hash.ts
5
5
  function n(e) {
@@ -188,7 +188,11 @@ function D(e, t) {
188
188
  return n.set(r.id, o), o;
189
189
  };
190
190
  }
191
- async function O(e) {
191
+ function O(e, t) {
192
+ let n = new Set(t && Array.isArray(t.experiences) ? t.experiences.map((e) => e.id) : []);
193
+ return (t, r) => n.has(t.id) ? e(t, r) : Promise.resolve(null);
194
+ }
195
+ async function k(e) {
192
196
  let { client: t, apiUrl: n, options: r } = e, i = f(t), a = !!i, o = r?.projectConfig ?? null, s = r?.getContent ? T(r.getContent, i) : null, c = null;
193
197
  if (i) return o ??= await v(n, t.projectId, { previewToken: i }), s ??= w(n, t.projectId, i), {
194
198
  config: o,
@@ -215,7 +219,7 @@ async function O(e) {
215
219
  isPreview: a
216
220
  });
217
221
  }
218
- function k(e) {
222
+ function A(e) {
219
223
  return {
220
224
  name: "dynamic-experiences",
221
225
  setup: (n) => {
@@ -223,12 +227,12 @@ function k(e) {
223
227
  return { onStart: t({
224
228
  source: n.session.store.map((e) => e.id),
225
229
  effect: async (t) => {
226
- let { config: i, contentLoader: a, dataSource: o, isPreview: s } = await O({
230
+ let { config: i, contentLoader: a, dataSource: o, isPreview: s } = await k({
227
231
  client: n,
228
232
  apiUrl: r,
229
233
  options: e
230
234
  });
231
- a && (n.contentLoader = D(n, a)), n.dataSource = o, i && d(n, i, {
235
+ a && (n.contentLoader = D(n, O(a, i))), n.dataSource = o, i && d(n, i, {
232
236
  isPreview: s,
233
237
  sessionId: t
234
238
  });
@@ -238,4 +242,4 @@ function k(e) {
238
242
  };
239
243
  }
240
244
  //#endregion
241
- export { d as i, b as n, v as r, k as t };
245
+ export { d as i, b as n, v as r, A as t };