@picked/client 0.0.64-next.1 → 0.0.64-next.3

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.
@@ -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,37 @@ 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
161
181
  //#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) => {
182
+ var R = s("experience-instance"), z = f(({ client: r, experience: s, target: f, options: p }) => {
183
+ let y = l(), b = l(), x = l(), S = l(), C = l(), w = l(), T = l(), E = s.componentStore, D = R.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 = a(r.steps.listStore, A, (e, t) => e.find((e) => t && h(t) && e.id === t.stepId) || null), M = a(r.steps.listStore, k, (e, t) => {
164
184
  let n = t.at(-2);
165
185
  if (!n || !h(n.node)) return null;
166
186
  let r = n.node;
167
187
  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, {
188
+ }), 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]), z = R.store(!1), B = o(z, {
169
189
  open: () => !0,
170
190
  close: () => !1,
171
191
  toggle: (e) => !e,
172
192
  set: (e, t) => t
173
- }), ne = c(async () => {
193
+ }), V = c(async () => {
174
194
  r.history.back({ experienceId: s.id });
175
- }), re = i({
195
+ }), H = i({
176
196
  source: s.treeStore,
177
197
  effect: async (e, t) => {
178
198
  let n = e.nodes.find((e) => h(e) && e.stepId === t);
@@ -181,25 +201,36 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
181
201
  node: n
182
202
  });
183
203
  }
184
- }), H = i({
185
- source: k,
186
- effect: (e) => {}
187
- }), U = i({
204
+ }), ie = i({
188
205
  source: s.treeStore,
189
- effect: async ({ nodes: e }) => F(e)
206
+ effect: async (e, t) => {
207
+ let n = e.steps.find((e) => e.key === t);
208
+ if (!n) return;
209
+ let i = e.nodes.find((e) => h(e) && e.stepId === n.id);
210
+ i && r.history.push({
211
+ experienceId: s.id,
212
+ node: i
213
+ });
214
+ }
215
+ }), U = i({
216
+ source: A,
217
+ effect: (e) => {}
190
218
  }), W = i({
219
+ source: s.treeStore,
220
+ effect: async ({ nodes: e }) => I(e)
221
+ }), G = i({
191
222
  source: s.treeStore,
192
223
  effect: async ({ nodes: e, edges: t }, n) => {
193
- if (_(n)) return I(n, e, t);
224
+ if (_(n)) return L(n, e, t);
194
225
  }
195
- }), G = i({
226
+ }), K = i({
196
227
  source: s.treeStore,
197
228
  effect: async ({ nodes: e, edges: n, conditions: i }, a) => {
198
229
  if (!m(a)) return;
199
230
  let o = i.find((e) => e.id === a.conditionId)?.logic;
200
- return o ? te(!!await t(r, o), a.id, e, n) : void 0;
231
+ return o ? re(!!await t(r, o), a.id, e, n) : void 0;
201
232
  }
202
- }), K = i({
233
+ }), q = i({
203
234
  source: {
204
235
  tree: s.treeStore,
205
236
  actions: r.actions.listStore,
@@ -228,7 +259,7 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
228
259
  `${o}`, await s({
229
260
  ...n,
230
261
  args: []
231
- }, { experience: Z });
262
+ }, { experience: Q });
232
263
  let e = a.find((e) => e.sourceNodeId === r.id && e.sourceHandle === "true");
233
264
  if (!e) return `${r.id}`, null;
234
265
  let t = i.find((t) => t.id === e.destinationNodeId);
@@ -241,31 +272,31 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
241
272
  return `${o}${t?.id}`, t || null;
242
273
  }
243
274
  }
244
- }), ie = c((e) => {
275
+ }), ae = c((e) => {
245
276
  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
277
  }), J = i({
250
- source: [k, s.treeStore],
251
- effect: async ([e, { nodes: t, edges: n }]) => I(e, t, n)
252
- }), ae = c((e) => {
278
+ source: [A, s.treeStore],
279
+ effect: async ([e, { nodes: t, edges: n }]) => L(e, t, n)
280
+ }), Y = i({
281
+ source: [A, s.treeStore],
282
+ effect: async ([e, { nodes: t, edges: n }]) => L(e, t, n)
283
+ }), oe = c((e) => {
253
284
  r.history.push({
254
285
  experienceId: s.id,
255
286
  node: e
256
287
  });
257
- }), Y = i({
288
+ }), X = i({
258
289
  source: s.configStore,
259
290
  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) => {
291
+ }), Z = a(E, r.frameworks.listStore, (e, t) => {
261
292
  if (!e) return null;
262
293
  let n = t.find((t) => t.name === e.component.frameworkName);
263
294
  return n ? {
264
295
  component: e,
265
296
  framework: n
266
297
  } : null;
267
- }, { skipVoid: !1 }), Z, oe = i({
268
- source: X,
298
+ }, { skipVoid: !1 }), Q, se = i({
299
+ source: Z,
269
300
  effect: (e) => {
270
301
  if (!e) return;
271
302
  if (!f) {
@@ -274,166 +305,170 @@ var L = s("experience-instance"), R = f(({ client: r, experience: s, target: f,
274
305
  }
275
306
  let t = n(f);
276
307
  try {
277
- e.framework.render(t, e.component.component, r, Z);
308
+ e.framework.render(t, e.component.component, r, Q);
278
309
  } catch {}
279
310
  }
280
311
  });
281
- Z = Object.freeze({
312
+ Q = Object.freeze({
282
313
  id: Math.random().toString(36).substring(7),
283
314
  experienceKey: s.key,
284
315
  experienceId: s.id,
285
316
  experienceName: s.name,
286
317
  configStore: s.configStore,
287
318
  target: f,
288
- componentStore: T,
289
- componentAndFrameworkStore: X,
290
- stateStore: E,
291
- isOpenStore: B,
292
- open: V.open,
293
- close: V.close,
294
- toggleOpen: V.toggle,
295
- setOpen: V.set,
319
+ componentStore: E,
320
+ componentAndFrameworkStore: Z,
321
+ stateStore: D,
322
+ isOpenStore: z,
323
+ open: B.open,
324
+ close: B.close,
325
+ toggleOpen: B.toggle,
326
+ setOpen: B.set,
296
327
  treeStore: s.treeStore,
297
- currentNodeStore: k,
298
- currentStepStore: A,
328
+ currentNodeStore: A,
329
+ currentStepStore: j,
299
330
  previousStepStore: M,
300
- nextReachableStepNodesStore: P,
301
- stepsToOriginStore: R,
302
- stepsToLeafStore: z,
331
+ nextReachableStepNodesStore: N,
332
+ stepsToOriginStore: P,
333
+ stepsToLeafStore: F,
303
334
  goToNextStep: b,
304
335
  goToPreviousStep: x,
305
336
  goToStepById: S,
306
- stepsHistoryStore: O,
307
- mountFx: oe
337
+ goToStepByKey: C,
338
+ stepsHistoryStore: k,
339
+ mountFx: se
308
340
  });
309
- let Q = l(), $ = l();
341
+ let $ = l(), ce = l();
310
342
  return u({
311
- clock: k,
312
- target: Q
343
+ clock: A,
344
+ target: $
313
345
  }), u({
314
- clock: Q,
346
+ clock: $,
315
347
  filter: (e) => e === null,
316
- target: U
348
+ target: W
317
349
  }), u({
318
- clock: Q,
350
+ clock: $,
319
351
  filter: (e) => e !== null,
320
- target: $
352
+ target: ce
321
353
  }), d({
322
- source: $,
354
+ source: ce,
323
355
  match: (e) => m(e) ? "condition" : h(e) ? "step" : g(e) ? "launchExperience" : _(e) ? "origin" : v(e) ? "action" : "other",
324
356
  cases: {
325
- origin: W,
326
- condition: G,
327
- step: H,
328
- launchExperience: ie,
329
- action: K,
357
+ origin: G,
358
+ condition: K,
359
+ step: U,
360
+ launchExperience: ae,
361
+ action: q,
330
362
  __: l()
331
363
  }
332
364
  }), u({
333
365
  clock: [
366
+ K.doneData,
334
367
  G.doneData,
335
368
  W.doneData,
336
- U.doneData,
369
+ Y.doneData,
337
370
  J.doneData,
338
- q.doneData,
339
- K.doneData
371
+ q.doneData
340
372
  ],
341
373
  filter: Boolean,
342
- target: ae
374
+ target: oe
343
375
  }), u({
344
376
  clock: b,
345
- target: J
377
+ target: Y
346
378
  }), u({
347
379
  clock: b,
348
- source: A,
380
+ source: j,
349
381
  filter: Boolean,
350
382
  target: r.eventBus.prepend((e) => ({
351
383
  type: "step_submit",
352
384
  step: e,
353
- experience: Z
385
+ experience: Q
354
386
  }))
355
387
  }), u({
356
- clock: J.done,
357
- source: A,
388
+ clock: Y.done,
389
+ source: j,
358
390
  filter: Boolean,
359
391
  target: r.eventBus.prepend((e) => ({
360
392
  type: "step_submit_success",
361
393
  step: e,
362
- experience: Z
394
+ experience: Q
363
395
  }))
364
396
  }), u({
365
- clock: J.fail,
366
- source: A,
397
+ clock: Y.fail,
398
+ source: j,
367
399
  filter: Boolean,
368
400
  target: r.eventBus.prepend((e) => ({
369
401
  type: "step_submit_error",
370
402
  step: e,
371
- experience: Z
403
+ experience: Q
372
404
  }))
373
405
  }), u({
374
406
  clock: x,
375
- target: ne
407
+ target: V
376
408
  }), u({
377
409
  clock: S,
378
- target: re
410
+ target: H
411
+ }), u({
412
+ clock: C,
413
+ target: ie
379
414
  }), u({
380
415
  source: a([
416
+ K.pending,
381
417
  G.pending,
382
418
  W.pending,
383
- U.pending,
384
- J.pending
419
+ Y.pending
385
420
  ]),
386
421
  fn: (e) => e.some(Boolean) ? "transitioning" : "ready",
387
- target: E
422
+ target: D
388
423
  }), u({
389
- clock: H.doneData,
390
- source: A,
424
+ clock: U.doneData,
425
+ source: j,
391
426
  filter: Boolean,
392
427
  target: r.eventBus.prepend((e) => ({
393
428
  type: "step_enter",
394
429
  step: e,
395
- experience: Z
430
+ experience: Q
396
431
  }))
397
432
  }), u({
398
- clock: w,
399
- target: Y
433
+ clock: T,
434
+ target: X
400
435
  }), u({
401
- source: Y.doneData,
436
+ source: X.doneData,
402
437
  fn: Boolean,
403
- target: B
438
+ target: z
404
439
  }), u({
405
- source: k,
440
+ source: A,
406
441
  clock: y,
407
442
  filter: (e) => e ? _(e) : !0,
408
- target: q
443
+ target: J
409
444
  }), u({
410
- source: B,
445
+ source: z,
411
446
  filter: Boolean,
412
447
  target: y
413
448
  }), u({
414
- source: B,
449
+ source: z,
415
450
  filter: Boolean,
416
451
  target: r.eventBus.prepend(() => ({
417
452
  type: "experience_open",
418
- experience: Z
453
+ experience: Q
419
454
  }))
420
455
  }), u({
421
- source: B,
456
+ source: z,
422
457
  filter: (e) => !e,
423
458
  target: r.eventBus.prepend(() => ({
424
459
  type: "experience_close",
425
- experience: Z
460
+ experience: Q
426
461
  }))
427
462
  }), u({
428
- clock: C,
429
- target: [w]
430
- }), C(), Z;
463
+ clock: w,
464
+ target: [T]
465
+ }), w(), Q;
431
466
  });
432
- function z(e) {
433
- return p(R, e);
467
+ function B(e) {
468
+ return p(z, e);
434
469
  }
435
- var B = f(({ client: e }) => {
436
- let t = L.store({}), n = l(), i = l(), a = l(), s = o(t, {
470
+ var V = f(({ client: e }) => {
471
+ let t = R.store({}), n = l(), i = l(), a = l(), s = o(t, {
437
472
  register(e, t) {
438
473
  let n = [...e[t.experienceId] ?? []];
439
474
  return n.push(t), {
@@ -448,7 +483,7 @@ var B = f(({ client: e }) => {
448
483
  [n]: r ?? []
449
484
  };
450
485
  }
451
- }), d = c(({ experience: t, target: n, options: r }) => z({
486
+ }), d = c(({ experience: t, target: n, options: r }) => B({
452
487
  client: e,
453
488
  experience: t,
454
489
  target: n,
@@ -508,8 +543,8 @@ var B = f(({ client: e }) => {
508
543
  listStore: _
509
544
  };
510
545
  });
511
- function V(e) {
512
- return p(B, e);
546
+ function H(e) {
547
+ return p(V, e);
513
548
  }
514
549
  //#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 };
550
+ export { C as a, A as c, j as i, m as l, H as n, M as o, T as r, O as s, B as t, h as u };
@@ -1,5 +1,5 @@
1
1
  import "./logger-6z_gb4rA.js";
2
- import { t as e } from "./api-B1vetp_a.js";
2
+ import { t as e } from "./api-DF8BSFOG.js";
3
3
  import { attach as t } from "effector";
4
4
  //#region src/plugins/dynamic-experiences/hash.ts
5
5
  function n(e) {
@@ -1 +1 @@
1
- require(`./logger-fbvQC40v.cjs`);const e=require(`./api-DwPejvRX.cjs`);let t=require(`effector`);function n(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function r(e){return n(e)%100}function i(e,t){return t<=0?!1:t>=100?!0:e<t}function a(e){return typeof e==`object`&&!!e&&`features`in e&&Array.isArray(e.features)}function o(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function s(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function c(e,t){if(Array.isArray(t.fields))for(let n of t.fields)e.registerField(n)}function l(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function u(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)s(e,n)}function d(e,t,n){m(e,t,n.isPreview,n.sessionId),o(e,t),c(e,t),l(e,t),u(e,t)}function f(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function p(e){let t=new Set,n=e.searchParams.feature;if(!n)return t;for(let e of n){let n=e.indexOf(`:`);n>0&&t.add(e.substring(0,n))}return t}function m(e,t,n,i){let a=p(e),o=r(i);for(let r of t.features)a.has(r.id)||h(e,r,n,o)}function h(e,t,n,r){e.registerFeature(t.id,{key:`v${t.version}`,name:t.name,storage:n?`session`:`local`,decide:()=>t.enabled?i(r,t.weight):!1})}function g(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`}catch{return!1}}function _(e){if(typeof e!=`object`||!e||!(`cause`in e))return!1;let{cause:t}=e;return typeof t!=`object`||!t||!(`code`in t)?!1:t.code===`ECONNREFUSED`}async function v(t,n,r){let i=r?.previewToken?`projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}`:`projects/${n}`,o;try{o=await e.t(t,i,r?.headers)}catch(e){return g(t)&&_(e),null}if(!o.ok)return`${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return null}return a(s)?s:null}function y(e){return typeof e!=`object`||!e||!(`experienceId`in e)||!(`content`in e)?!1:Array.isArray(e.content)}async function b(t,n,r,i){let a=i?.previewToken?`projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}`:`projects/${n}/experiences/${r}/content`,o;try{o=await e.t(t,a,i?.headers,i?.signal)}catch(e){return g(t)&&_(e)||`${r}`,null}if(!o.ok)return`${r}${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return`${r}`,null}return y(s)?s:(`${r}`,null)}function x(e,t){for(let n of t.content)e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function S(e){if(typeof e!=`object`||!e||!(`projectConfig`in e)||!(`experienceContent`in e)||!(`manifestMetadata`in e))return!1;let{experienceContent:t}=e;return typeof t==`function`}async function C(){try{let e=await import(`virtual:picked/data`);return S(e)?e:null}catch{return null}}function w(e,t,n){return r=>b(e,t,r.id,n?{previewToken:n}:void 0)}function T(e,t){return n=>e(n,t?{previewToken:t}:void 0)}function E(e){return(t,n)=>e.experienceContent(t,n)}function D(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&x(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}async function O(e){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;if(i)return o??=await v(n,t.projectId,{previewToken:i}),s??=w(n,t.projectId,i),{config:o,contentLoader:s,dataSource:c,isPreview:a};if(o&&s)return{config:o,contentLoader:s,dataSource:c,isPreview:a};let l=await C();return l?(o??=l.projectConfig,s??=E(l),c=l.manifestMetadata,{config:o,contentLoader:s,dataSource:c,isPreview:a}):(o??=await v(n,t.projectId),s??=w(n,t.projectId),{config:o,contentLoader:s,dataSource:c,isPreview:a})}function k(e){return{name:`dynamic-experiences`,setup:n=>{let r=e?.apiUrl??n.apiUrl;return{onStart:(0,t.attach)({source:n.session.store.map(e=>e.id),effect:async t=>{let{config:i,contentLoader:a,dataSource:o,isPreview:s}=await O({client:n,apiUrl:r,options:e});a&&(n.contentLoader=D(n,a)),n.dataSource=o,i&&d(n,i,{isPreview:s,sessionId:t})}})}}}}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});
1
+ require(`./logger-fbvQC40v.cjs`);const e=require(`./api-Dktr48v4.cjs`);let t=require(`effector`);function n(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function r(e){return n(e)%100}function i(e,t){return t<=0?!1:t>=100?!0:e<t}function a(e){return typeof e==`object`&&!!e&&`features`in e&&Array.isArray(e.features)}function o(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function s(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function c(e,t){if(Array.isArray(t.fields))for(let n of t.fields)e.registerField(n)}function l(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function u(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)s(e,n)}function d(e,t,n){m(e,t,n.isPreview,n.sessionId),o(e,t),c(e,t),l(e,t),u(e,t)}function f(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function p(e){let t=new Set,n=e.searchParams.feature;if(!n)return t;for(let e of n){let n=e.indexOf(`:`);n>0&&t.add(e.substring(0,n))}return t}function m(e,t,n,i){let a=p(e),o=r(i);for(let r of t.features)a.has(r.id)||h(e,r,n,o)}function h(e,t,n,r){e.registerFeature(t.id,{key:`v${t.version}`,name:t.name,storage:n?`session`:`local`,decide:()=>t.enabled?i(r,t.weight):!1})}function g(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`}catch{return!1}}function _(e){if(typeof e!=`object`||!e||!(`cause`in e))return!1;let{cause:t}=e;return typeof t!=`object`||!t||!(`code`in t)?!1:t.code===`ECONNREFUSED`}async function v(t,n,r){let i=r?.previewToken?`projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}`:`projects/${n}`,o;try{o=await e.t(t,i,r?.headers)}catch(e){return g(t)&&_(e),null}if(!o.ok)return`${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return null}return a(s)?s:null}function y(e){return typeof e!=`object`||!e||!(`experienceId`in e)||!(`content`in e)?!1:Array.isArray(e.content)}async function b(t,n,r,i){let a=i?.previewToken?`projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}`:`projects/${n}/experiences/${r}/content`,o;try{o=await e.t(t,a,i?.headers,i?.signal)}catch(e){return g(t)&&_(e)||`${r}`,null}if(!o.ok)return`${r}${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return`${r}`,null}return y(s)?s:(`${r}`,null)}function x(e,t){for(let n of t.content)e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function S(e){if(typeof e!=`object`||!e||!(`projectConfig`in e)||!(`experienceContent`in e)||!(`manifestMetadata`in e))return!1;let{experienceContent:t}=e;return typeof t==`function`}async function C(){try{let e=await import(`virtual:picked/data`);return S(e)?e:null}catch{return null}}function w(e,t,n){return r=>b(e,t,r.id,n?{previewToken:n}:void 0)}function T(e,t){return n=>e(n,t?{previewToken:t}:void 0)}function E(e){return(t,n)=>e.experienceContent(t,n)}function D(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&x(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}async function O(e){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;if(i)return o??=await v(n,t.projectId,{previewToken:i}),s??=w(n,t.projectId,i),{config:o,contentLoader:s,dataSource:c,isPreview:a};if(o&&s)return{config:o,contentLoader:s,dataSource:c,isPreview:a};let l=await C();return l?(o??=l.projectConfig,s??=E(l),c=l.manifestMetadata,{config:o,contentLoader:s,dataSource:c,isPreview:a}):(o??=await v(n,t.projectId),s??=w(n,t.projectId),{config:o,contentLoader:s,dataSource:c,isPreview:a})}function k(e){return{name:`dynamic-experiences`,setup:n=>{let r=e?.apiUrl??n.apiUrl;return{onStart:(0,t.attach)({source:n.session.store.map(e=>e.id),effect:async t=>{let{config:i,contentLoader:a,dataSource:o,isPreview:s}=await O({client:n,apiUrl:r,options:e});a&&(n.contentLoader=D(n,a)),n.dataSource=o,i&&d(n,i,{isPreview:s,sessionId:t})}})}}}}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});
@@ -21,7 +21,7 @@ export interface ActionContext {
21
21
  * only and have no triggering instance.
22
22
  *
23
23
  * Re-entrancy: do not synchronously call navigation events (`goToNextStep`,
24
- * `goToPreviousStep`, `goToStepById`) or open-state events (`open`, `close`,
24
+ * `goToPreviousStep`, `goToStepById`, `goToStepByKey`) or open-state events (`open`, `close`,
25
25
  * `toggleOpen`, `setOpen`) on `context.experience` before the handler's returned
26
26
  * promise resolves. Those writes race the flow runtime's post-action history
27
27
  * push and produce non-deterministic ordering. Perform control flow after your
@@ -15,6 +15,15 @@ declare const createConditionIndexFactory: () => {
15
15
  [id: string]: Condition;
16
16
  }>;
17
17
  };
18
+ /**
19
+ * Creates a reactive condition index with registration and derived lookup helpers
20
+ * (by id, by key, and full list).
21
+ *
22
+ * @returns {ConditionsStore} The condition index and its helpers.
23
+ * @example
24
+ * const conditions = createConditionIndex()
25
+ * conditions.register({ id: 'c1', key: 'is-home', name: 'Home', logic: { '==': [1, 1] } })
26
+ */
18
27
  export declare function createConditionIndex(): ReturnType<typeof createConditionIndexFactory>;
19
28
  export {};
20
29
  //# sourceMappingURL=condition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../../src/entities/condition/condition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAIrE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;CACjB;AAGD,QAAA,MAAM,2BAA2B;0BAcF,SAAS,KAAG,IAAI;kBAcxB,SAAS,CAAC,IAAI,CAAC;oBAUb,SAAS,CAAC,KAAK,CAAC;;;;;CAgBvC,CAAA;AAEF,wBAAgB,oBAAoB,IAAI,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAErF"}
1
+ {"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../../src/entities/condition/condition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAIrE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,QAAA,MAAM,2BAA2B;0BAqBF,SAAS,KAAG,IAAI;kBAgBxB,SAAS,CAAC,IAAI,CAAC;oBAYb,SAAS,CAAC,KAAK,CAAC;;;;;CAgBvC,CAAA;AAEF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAErF"}
@@ -37,6 +37,7 @@ export interface ExperienceInstance {
37
37
  goToNextStep: EventCallable<void>;
38
38
  goToPreviousStep: EventCallable<void>;
39
39
  goToStepById: EventCallable<string>;
40
+ goToStepByKey: EventCallable<string>;
40
41
  stepsHistoryStore: Store<HistoryEntry[]>;
41
42
  /**
42
43
  * Per-instance mount effect. Attached over `componentAndFrameworkStore` so the render call always receives the current resolved component+framework pair.
@@ -1 +1 @@
1
- {"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAiB1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9B,sGAAsG;IACtG,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD;;OAEG;IACH,0BAA0B,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IACxF,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,CAAA;IAC5C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,iBAAiB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC/C,2BAA2B,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACpD,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACjC,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACtF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,QAAA,MAAM,+BAA+B,6CAMhC;IACD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,eAAe,CAAA;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,uBAAuB,CAAA;CAClC,uBA0gBF,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAC/D,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAE/D;AAED,QAAA,MAAM,oCAAoC,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;wBA4H1E,eAAe,UACnB,WAAW,YACT,uBAAuB;8BAmBF,UAAU,CAAC,KAAK,CAAC;4BAiBnB,UAAU,CAAC,IAAI,CAAC;;CAU/C,CAAA;AAEF;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAAC,CAAC,CAAC,EACpE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAEpE"}
1
+ {"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}