@picked/client 0.0.1-dev.1773729274420 → 0.0.1-dev.1773804563218
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.
- package/dist/{api-47L967ES.cjs → api-C90ugp6M.cjs} +1 -1
- package/dist/{api-DuHeVrL4.js → api-CQ1Lb-dB.js} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
- package/dist/cjs/plugins/single-page-app/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/index.js +738 -742
- package/dist/esm/plugins/create-experience/index.js +359 -286
- package/dist/esm/plugins/dynamic-experiences/index.js +146 -80
- package/dist/esm/plugins/experience-browser-storage/index.js +1 -1
- package/dist/esm/plugins/history-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-browser-storage/index.js +1 -1
- package/dist/esm/plugins/responses-indexeddb/index.js +46 -51
- package/dist/esm/plugins/single-page-app/index.js +24 -24
- package/dist/esm/server/index.js +1 -1
- package/dist/{experience-instance-DTyL1fNb.js → experience-instance-8P1fJuPC.js} +306 -312
- package/dist/experience-instance-Bi3-1tP5.cjs +1 -0
- package/dist/object-BbFTsGh3.cjs +1 -0
- package/dist/{object-CJssU1Pm.js → object-JwZ58NOH.js} +1 -1
- package/dist/storage-Be5xWNPC.cjs +1 -0
- package/dist/{storage-B2d81EOI.js → storage-Co_LbKr_.js} +30 -35
- package/dist/types/entities/action/action.d.ts +2 -5
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/condition/condition.d.ts +17 -0
- package/dist/types/entities/condition/condition.d.ts.map +1 -0
- package/dist/types/entities/experience/experience.d.ts +46 -31
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +2 -2
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +23 -52
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/project/project.d.ts.map +1 -1
- package/dist/types/entities/response/response.d.ts +9 -7
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/entities/step/step.d.ts +20 -0
- package/dist/types/entities/step/step.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +8 -2
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +41 -32
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/create-experience.d.ts +70 -43
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +1 -1
- package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +20 -5
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +46 -0
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +1 -2
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +1 -2
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +1 -2
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts +1 -1
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +3 -0
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +2 -2
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +1 -0
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/indexed-db.d.ts +1 -2
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/key.d.ts +12 -0
- package/dist/types/utils/key.d.ts.map +1 -0
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +3 -3
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +2 -2
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +8 -0
- package/dist/types/utils/object.d.ts.map +1 -1
- package/dist/types/utils/picked-config.d.ts +1 -1
- package/dist/types/utils/picked-config.d.ts.map +1 -1
- package/dist/types/utils/rules-logic.d.ts.map +1 -1
- package/dist/types/utils/search-params.d.ts.map +1 -1
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/package.json +2 -16
- package/dist/experience-instance-BX0aqKsC.cjs +0 -1
- package/dist/object-mwaxtjLG.cjs +0 -1
- package/dist/storage-58NoTSsc.cjs +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { createDomain as kt, createEvent as
|
|
1
|
+
import { createDomain as kt, createEvent as I, combine as R, createApi as lt, createEffect as $, attach as O, sample as m, split as bt } from "effector";
|
|
2
2
|
import { createFactory as dt, invoke as pt } from "@withease/factories";
|
|
3
3
|
import { a as vt, s as gt, j as At } from "./supports-8YT4QKI7.js";
|
|
4
|
-
import { l as
|
|
5
|
-
import { i as Ot } from "./object-
|
|
4
|
+
import { l as E } from "./logger-C9a75KZn.js";
|
|
5
|
+
import { i as Ot } from "./object-JwZ58NOH.js";
|
|
6
6
|
function Ft(t) {
|
|
7
7
|
return typeof t == "number" && !isNaN(t);
|
|
8
8
|
}
|
|
9
|
-
function
|
|
9
|
+
function K(t) {
|
|
10
10
|
return typeof t == "string";
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
function N(t) {
|
|
13
13
|
return Array.isArray(t);
|
|
14
14
|
}
|
|
15
15
|
function mt(t) {
|
|
@@ -18,89 +18,88 @@ function mt(t) {
|
|
|
18
18
|
function st(t) {
|
|
19
19
|
return typeof t == "object" && t !== null && !Array.isArray(t) && Object.keys(t).length === 1;
|
|
20
20
|
}
|
|
21
|
-
function
|
|
21
|
+
function g(t) {
|
|
22
22
|
if (Ft(t)) return t;
|
|
23
23
|
const e = parseFloat(`${t}`);
|
|
24
24
|
return isNaN(e) ? 0 : e;
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function P(t) {
|
|
27
27
|
return `${t}`;
|
|
28
28
|
}
|
|
29
|
-
const
|
|
29
|
+
const Bt = {
|
|
30
30
|
// eslint-disable-next-line eqeqeq
|
|
31
31
|
"==": (t, e) => t == e,
|
|
32
32
|
"===": (t, e) => t === e,
|
|
33
33
|
// eslint-disable-next-line eqeqeq
|
|
34
34
|
"!=": (t, e) => t != e,
|
|
35
35
|
"!==": (t, e) => t !== e,
|
|
36
|
-
">": (t, e) =>
|
|
37
|
-
">=": (t, e) =>
|
|
36
|
+
">": (t, e) => g(t) > g(e),
|
|
37
|
+
">=": (t, e) => g(t) >= g(e),
|
|
38
38
|
"<": (t, e, r) => {
|
|
39
|
-
const n =
|
|
39
|
+
const n = g(t), s = g(e);
|
|
40
40
|
if (r === void 0) return n < s;
|
|
41
|
-
const
|
|
42
|
-
return n < s && s <
|
|
41
|
+
const c = g(r);
|
|
42
|
+
return n < s && s < c;
|
|
43
43
|
},
|
|
44
44
|
"<=": (t, e, r) => {
|
|
45
|
-
const n =
|
|
45
|
+
const n = g(t), s = g(e);
|
|
46
46
|
if (r === void 0) return n <= s;
|
|
47
|
-
const
|
|
48
|
-
return n <= s && s <=
|
|
47
|
+
const c = g(r);
|
|
48
|
+
return n <= s && s <= c;
|
|
49
49
|
},
|
|
50
50
|
"!!": async (t) => await v(t),
|
|
51
51
|
"!": async (t) => !await v(t),
|
|
52
|
-
"%": (t, e) =>
|
|
52
|
+
"%": (t, e) => g(t) % g(e),
|
|
53
53
|
// eslint-disable-next-line sonarjs/function-return-type
|
|
54
54
|
log: (t) => (console.log(t), t),
|
|
55
|
-
in: (t, e) => e ?
|
|
56
|
-
cat: (...t) => t.map(
|
|
55
|
+
in: (t, e) => e ? K(e) ? e.indexOf(P(t)) !== -1 : N(e) ? e.includes(t) : !1 : !1,
|
|
56
|
+
cat: (...t) => t.map(P).join(""),
|
|
57
57
|
/* eslint-disable sonarjs/deprecation */
|
|
58
58
|
substr: (t, e, r) => {
|
|
59
|
-
const n =
|
|
59
|
+
const n = P(t), s = g(e);
|
|
60
60
|
if (r === void 0) return n.substr(s);
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
61
|
+
const c = g(r);
|
|
62
|
+
if (c < 0) {
|
|
63
63
|
const o = n.substr(s);
|
|
64
|
-
return o.substr(0, o.length +
|
|
64
|
+
return o.substr(0, o.length + c);
|
|
65
65
|
}
|
|
66
|
-
return n.substr(s,
|
|
66
|
+
return n.substr(s, c);
|
|
67
67
|
},
|
|
68
68
|
/* eslint-enable sonarjs/deprecation */
|
|
69
|
-
"+": (...t) => t.reduce((e, r) =>
|
|
70
|
-
"*": (...t) => t.reduce((e, r) =>
|
|
69
|
+
"+": (...t) => t.reduce((e, r) => g(e) + g(r), 0),
|
|
70
|
+
"*": (...t) => t.reduce((e, r) => g(e) * g(r), 1),
|
|
71
71
|
"-": (t, e) => {
|
|
72
|
-
const r =
|
|
73
|
-
return e === void 0 ? -r : r -
|
|
72
|
+
const r = g(t);
|
|
73
|
+
return e === void 0 ? -r : r - g(e);
|
|
74
74
|
},
|
|
75
|
-
"/": (t, e) =>
|
|
76
|
-
min: (...t) => Math.min(...t.map(
|
|
77
|
-
max: (...t) => Math.max(...t.map(
|
|
78
|
-
merge: (...t) => t.reduce((e, r) =>
|
|
79
|
-
// eslint-disable-next-line sonarjs/cognitive-complexity -- JSONLogic var operator requires complex path traversal logic
|
|
75
|
+
"/": (t, e) => g(t) / g(e),
|
|
76
|
+
min: (...t) => Math.min(...t.map(g)),
|
|
77
|
+
max: (...t) => Math.max(...t.map(g)),
|
|
78
|
+
merge: (...t) => t.reduce((e, r) => N(r) ? e.concat(r) : e.concat([r]), []),
|
|
80
79
|
var(t, e) {
|
|
81
80
|
const r = arguments.length > 1 ? e : null;
|
|
82
81
|
if (t === "" || t === "." || t === null || t === void 0)
|
|
83
82
|
return this;
|
|
84
83
|
if (typeof t == "number" && Array.isArray(this))
|
|
85
84
|
return t >= 0 && t < this.length ? this[t] : r;
|
|
86
|
-
const n =
|
|
85
|
+
const n = P(t);
|
|
87
86
|
if (n === "" || n === ".")
|
|
88
87
|
return this;
|
|
89
88
|
const s = n.split(".");
|
|
90
|
-
let
|
|
89
|
+
let c = this;
|
|
91
90
|
for (const o of s) {
|
|
92
|
-
if (
|
|
91
|
+
if (c == null)
|
|
93
92
|
return r;
|
|
94
|
-
if (Array.isArray(
|
|
95
|
-
const
|
|
96
|
-
isNaN(
|
|
93
|
+
if (Array.isArray(c)) {
|
|
94
|
+
const u = parseInt(o, 10);
|
|
95
|
+
isNaN(u) ? c = c[o] : c = c[u];
|
|
97
96
|
} else
|
|
98
|
-
|
|
97
|
+
c = c[o];
|
|
99
98
|
}
|
|
100
|
-
return
|
|
99
|
+
return c !== void 0 ? c : r;
|
|
101
100
|
},
|
|
102
101
|
async missing(...t) {
|
|
103
|
-
const e =
|
|
102
|
+
const e = N(t[0]) ? t[0] : t, r = [];
|
|
104
103
|
for (const n of e) {
|
|
105
104
|
const s = await p({ var: n }, this);
|
|
106
105
|
(s === null || s === "") && r.push(`${n}`);
|
|
@@ -109,9 +108,9 @@ const _t = {
|
|
|
109
108
|
},
|
|
110
109
|
async missing_some(t, e) {
|
|
111
110
|
const r = await p({ missing: e }, this);
|
|
112
|
-
if (!
|
|
113
|
-
const n = r.filter(
|
|
114
|
-
return e.filter(
|
|
111
|
+
if (!N(r) || !N(e)) return [];
|
|
112
|
+
const n = r.filter(K);
|
|
113
|
+
return e.filter(K).length - n.length >= g(t) ? [] : n;
|
|
115
114
|
},
|
|
116
115
|
/**
|
|
117
116
|
* Invoke operator - executes a function with optional arguments
|
|
@@ -131,26 +130,26 @@ const _t = {
|
|
|
131
130
|
},
|
|
132
131
|
regexp_matches(t, e) {
|
|
133
132
|
let r = t, n = "";
|
|
134
|
-
if (
|
|
135
|
-
const [
|
|
136
|
-
r =
|
|
133
|
+
if (N(t)) {
|
|
134
|
+
const [c, o] = t;
|
|
135
|
+
r = c, n = o;
|
|
137
136
|
}
|
|
138
|
-
return !
|
|
137
|
+
return !K(r) || !K(n) ? !1 : new RegExp(r, n).test(P(e));
|
|
139
138
|
},
|
|
140
139
|
throw(t) {
|
|
141
|
-
throw new Error(
|
|
140
|
+
throw new Error(P(t));
|
|
142
141
|
}
|
|
143
142
|
};
|
|
144
143
|
async function p(t, e) {
|
|
145
144
|
if (!t) return t;
|
|
146
145
|
if (mt(t))
|
|
147
146
|
return p(await t, e);
|
|
148
|
-
if (
|
|
147
|
+
if (N(t))
|
|
149
148
|
return Promise.all(t.map((o) => p(o, e)));
|
|
150
149
|
if (!st(t)) return t;
|
|
151
|
-
const r =
|
|
150
|
+
const r = _t(t);
|
|
152
151
|
let n = r ? t[r] ?? [] : [];
|
|
153
|
-
switch (
|
|
152
|
+
switch (N(n) || (n = [n]), r) {
|
|
154
153
|
case "if":
|
|
155
154
|
case "?:":
|
|
156
155
|
for (let o = 0; o < n.length - 1; o += 2)
|
|
@@ -159,59 +158,59 @@ async function p(t, e) {
|
|
|
159
158
|
return n.length % 2 === 1 ? p(n[n.length - 1], e) : null;
|
|
160
159
|
case "and": {
|
|
161
160
|
let o = null;
|
|
162
|
-
for (const
|
|
163
|
-
if (o = await p(
|
|
161
|
+
for (const u of n)
|
|
162
|
+
if (o = await p(u, e), !await v(o))
|
|
164
163
|
return o;
|
|
165
164
|
return o;
|
|
166
165
|
}
|
|
167
166
|
case "or": {
|
|
168
167
|
let o = null;
|
|
169
|
-
for (const
|
|
170
|
-
if (o = await p(
|
|
168
|
+
for (const u of n)
|
|
169
|
+
if (o = await p(u, e), await v(o)) return o;
|
|
171
170
|
return o;
|
|
172
171
|
}
|
|
173
172
|
case "map": {
|
|
174
173
|
const o = await p(n[0], e);
|
|
175
|
-
return
|
|
174
|
+
return N(o) ? await Promise.all(o.map((u) => p(n[1], u))) : [];
|
|
176
175
|
}
|
|
177
176
|
case "filter": {
|
|
178
177
|
const o = await p(n[0], e);
|
|
179
|
-
return
|
|
178
|
+
return N(o) ? (await Promise.all(
|
|
180
179
|
o.map(async (d) => {
|
|
181
|
-
const
|
|
182
|
-
return { item: d, shouldInclude:
|
|
180
|
+
const y = await v(await p(n[1], d));
|
|
181
|
+
return { item: d, shouldInclude: y };
|
|
183
182
|
})
|
|
184
183
|
)).filter(({ shouldInclude: d }) => d).map(({ item: d }) => d) : [];
|
|
185
184
|
}
|
|
186
185
|
case "reduce": {
|
|
187
186
|
const o = await p(n[0], e);
|
|
188
|
-
if (!
|
|
187
|
+
if (!N(o))
|
|
189
188
|
return n.length > 2 ? await p(n[2], e) : null;
|
|
190
|
-
const
|
|
191
|
-
let
|
|
192
|
-
for (const
|
|
193
|
-
|
|
194
|
-
return
|
|
189
|
+
const u = n[1];
|
|
190
|
+
let y = n.length > 2 ? await p(n[2], e) : null;
|
|
191
|
+
for (const b of o)
|
|
192
|
+
y = await p(u, { current: b, accumulator: y });
|
|
193
|
+
return y;
|
|
195
194
|
}
|
|
196
195
|
case "all": {
|
|
197
196
|
const o = await p(n[0], e);
|
|
198
|
-
if (!
|
|
199
|
-
for (const
|
|
200
|
-
if (!await v(await p(n[1],
|
|
197
|
+
if (!N(o) || o.length === 0) return !1;
|
|
198
|
+
for (const u of o)
|
|
199
|
+
if (!await v(await p(n[1], u))) return !1;
|
|
201
200
|
return !0;
|
|
202
201
|
}
|
|
203
202
|
case "some": {
|
|
204
203
|
const o = await p(n[0], e);
|
|
205
|
-
if (!
|
|
206
|
-
for (const
|
|
207
|
-
if (await v(await p(n[1],
|
|
204
|
+
if (!N(o)) return !1;
|
|
205
|
+
for (const u of o)
|
|
206
|
+
if (await v(await p(n[1], u))) return !0;
|
|
208
207
|
return !1;
|
|
209
208
|
}
|
|
210
209
|
case "none": {
|
|
211
210
|
const o = await p(n[0], e);
|
|
212
|
-
if (!
|
|
213
|
-
for (const
|
|
214
|
-
if (await v(await p(n[1],
|
|
211
|
+
if (!N(o)) return !0;
|
|
212
|
+
for (const u of o)
|
|
213
|
+
if (await v(await p(n[1], u))) return !1;
|
|
215
214
|
return !0;
|
|
216
215
|
}
|
|
217
216
|
case "catch":
|
|
@@ -221,33 +220,31 @@ async function p(t, e) {
|
|
|
221
220
|
return st(o) ? await p(o, e) : n[1] ? await p(n[1], o) : o instanceof Error ? o.message : o;
|
|
222
221
|
}
|
|
223
222
|
}
|
|
224
|
-
const s = await Promise.all(n.map((o) => p(o, e))),
|
|
225
|
-
if (!
|
|
226
|
-
return
|
|
223
|
+
const s = await Promise.all(n.map((o) => p(o, e))), c = r ? Bt[r] : void 0;
|
|
224
|
+
if (!c) throw new Error(`Unrecognized operation ${r}`);
|
|
225
|
+
return c.apply(e, s);
|
|
227
226
|
}
|
|
228
227
|
async function v(t) {
|
|
229
228
|
return mt(t) ? v(await t) : !(Array.isArray(t) && t.length === 0) && !!t;
|
|
230
229
|
}
|
|
231
|
-
function
|
|
230
|
+
function _t(t) {
|
|
232
231
|
return Object.keys(t)[0];
|
|
233
232
|
}
|
|
234
233
|
function $t(t) {
|
|
235
234
|
return !Ot(t);
|
|
236
235
|
}
|
|
237
|
-
async function
|
|
238
|
-
const n = t.getStateSnapshot(), s = t.predicates.listStore.getState().reduce((
|
|
239
|
-
...
|
|
240
|
-
[
|
|
241
|
-
}), {}),
|
|
242
|
-
...
|
|
243
|
-
[
|
|
244
|
-
const { bucket:
|
|
245
|
-
return
|
|
236
|
+
async function ct(t, e, r) {
|
|
237
|
+
const n = t.getStateSnapshot(), s = t.predicates.listStore.getState().reduce((u, d) => ({
|
|
238
|
+
...u,
|
|
239
|
+
[d.name]: (...y) => d.predicate({ ...n, args: y })
|
|
240
|
+
}), {}), c = t.features.listStore.getState().reduce((u, d) => ({
|
|
241
|
+
...u,
|
|
242
|
+
[d.id]: async () => {
|
|
243
|
+
const { bucket: y } = await d.getBucket();
|
|
244
|
+
return y;
|
|
246
245
|
}
|
|
247
|
-
}), {}), o =
|
|
248
|
-
...
|
|
249
|
-
[g.name]: (x) => g.action(x)
|
|
250
|
-
}), {}), f = {
|
|
246
|
+
}), {}), o = {
|
|
247
|
+
...r,
|
|
251
248
|
responses: t.responses.getAllStore.getState(),
|
|
252
249
|
location: typeof n.location == "object" ? {
|
|
253
250
|
hash: n.location.hash,
|
|
@@ -261,11 +258,9 @@ async function at(t, e, r) {
|
|
|
261
258
|
search: n.location.search
|
|
262
259
|
} : void 0,
|
|
263
260
|
predicates: s,
|
|
264
|
-
features:
|
|
265
|
-
actions: o,
|
|
266
|
-
...r
|
|
261
|
+
features: c
|
|
267
262
|
};
|
|
268
|
-
return await p(e,
|
|
263
|
+
return await p(e, o);
|
|
269
264
|
}
|
|
270
265
|
function Mt(t) {
|
|
271
266
|
return !vt() || !gt() ? [] : Array.from(window.document.querySelectorAll(t)).filter(
|
|
@@ -293,7 +288,7 @@ function Dt(t, e) {
|
|
|
293
288
|
});
|
|
294
289
|
r.observe(document.body, { childList: !0, subtree: !0 });
|
|
295
290
|
}
|
|
296
|
-
const
|
|
291
|
+
const G = "picked-root", V = "picked-target", Rt = "picked-root";
|
|
297
292
|
function ee(t, e) {
|
|
298
293
|
return [
|
|
299
294
|
...t,
|
|
@@ -304,7 +299,7 @@ function ee(t, e) {
|
|
|
304
299
|
}
|
|
305
300
|
].flatMap((n) => {
|
|
306
301
|
const s = Mt(n.selector).filter(
|
|
307
|
-
(
|
|
302
|
+
(c) => !Pt(c, e) && !Ct(c, e)
|
|
308
303
|
);
|
|
309
304
|
return {
|
|
310
305
|
...n,
|
|
@@ -322,11 +317,11 @@ function Pt(t, e) {
|
|
|
322
317
|
return e ? t.classList.contains(`${V}-${e}`) : t.classList.contains(`${V}`);
|
|
323
318
|
}
|
|
324
319
|
function Ct(t, e) {
|
|
325
|
-
return e ? t.classList.contains(`${
|
|
320
|
+
return e ? t.classList.contains(`${G}-${e}`) : t.classList.contains(G);
|
|
326
321
|
}
|
|
327
322
|
function Ht(t) {
|
|
328
323
|
const e = document.createElement("div");
|
|
329
|
-
return e.style.display = "block", e.classList.add(
|
|
324
|
+
return e.style.display = "block", e.classList.add(G), e.classList.add(`${G}-${t}`), e;
|
|
330
325
|
}
|
|
331
326
|
function jt(t, e, r) {
|
|
332
327
|
let n;
|
|
@@ -347,7 +342,7 @@ function jt(t, e, r) {
|
|
|
347
342
|
case "prepend":
|
|
348
343
|
t.prepend(s);
|
|
349
344
|
break;
|
|
350
|
-
|
|
345
|
+
default:
|
|
351
346
|
t.append(s);
|
|
352
347
|
break;
|
|
353
348
|
}
|
|
@@ -355,10 +350,10 @@ function jt(t, e, r) {
|
|
|
355
350
|
}
|
|
356
351
|
return n;
|
|
357
352
|
}
|
|
358
|
-
function
|
|
353
|
+
function at(t) {
|
|
359
354
|
return t.type === "conditional";
|
|
360
355
|
}
|
|
361
|
-
function
|
|
356
|
+
function C(t) {
|
|
362
357
|
return t.type === "step";
|
|
363
358
|
}
|
|
364
359
|
function ut(t) {
|
|
@@ -370,60 +365,60 @@ function Y(t) {
|
|
|
370
365
|
function ft(t) {
|
|
371
366
|
return t.type === "action";
|
|
372
367
|
}
|
|
373
|
-
const St = (t, e, r, n, s = /* @__PURE__ */ new Set()) => s.has(r.id) ? [] : (s.add(r.id),
|
|
374
|
-
const
|
|
375
|
-
return
|
|
376
|
-
})),
|
|
368
|
+
const St = (t, e, r, n, s = /* @__PURE__ */ new Set()) => s.has(r.id) ? [] : (s.add(r.id), C(r) && !n ? [r] : e.filter((o) => o.sourceNodeId === r.id).flatMap((o) => {
|
|
369
|
+
const u = t.find((d) => d.id === o.destinationNodeId);
|
|
370
|
+
return u ? St(t, e, u, !1, s) : [];
|
|
371
|
+
})), Kt = (t, e, r) => St(t, e, r, !0, /* @__PURE__ */ new Set()), yt = (t, e, r, n, s = /* @__PURE__ */ new Set()) => {
|
|
377
372
|
if (s.has(r.id)) return [-1, -1];
|
|
378
373
|
s.add(r.id);
|
|
379
|
-
const
|
|
380
|
-
if (
|
|
381
|
-
let o = 1 / 0,
|
|
382
|
-
for (const d of
|
|
383
|
-
const
|
|
384
|
-
if (!
|
|
385
|
-
const [
|
|
374
|
+
const c = e.filter((d) => d.sourceNodeId === r.id);
|
|
375
|
+
if (c.length === 0) return [0, 0];
|
|
376
|
+
let o = 1 / 0, u = -1 / 0;
|
|
377
|
+
for (const d of c) {
|
|
378
|
+
const y = t.find((T) => T.id === d.destinationNodeId);
|
|
379
|
+
if (!y) continue;
|
|
380
|
+
const [b, F] = yt(
|
|
386
381
|
t,
|
|
387
382
|
e,
|
|
388
|
-
|
|
383
|
+
y,
|
|
389
384
|
!1,
|
|
390
385
|
new Set(s)
|
|
391
386
|
);
|
|
392
|
-
|
|
387
|
+
b !== -1 && (o = Math.min(o, b + 1), u = Math.max(u, F + 1));
|
|
393
388
|
}
|
|
394
|
-
return o === 1 / 0 ? [-1, -1] : [o,
|
|
395
|
-
},
|
|
389
|
+
return o === 1 / 0 ? [-1, -1] : [o, u];
|
|
390
|
+
}, Ut = (t, e, r) => yt(t, e, r, !0, /* @__PURE__ */ new Set()), ht = (t, e, r, n = /* @__PURE__ */ new Set()) => {
|
|
396
391
|
if (n.has(r.id)) return [-1, -1];
|
|
397
392
|
if (n.add(r.id), r.type === "origin") return [0, 0];
|
|
398
|
-
const s = e.filter((
|
|
393
|
+
const s = e.filter((u) => u.destinationNodeId === r.id);
|
|
399
394
|
if (s.length === 0) return [-1, -1];
|
|
400
|
-
let
|
|
401
|
-
for (const
|
|
402
|
-
const d = t.find((F) => F.id ===
|
|
395
|
+
let c = 1 / 0, o = -1 / 0;
|
|
396
|
+
for (const u of s) {
|
|
397
|
+
const d = t.find((F) => F.id === u.sourceNodeId);
|
|
403
398
|
if (!d) continue;
|
|
404
|
-
const [
|
|
399
|
+
const [y, b] = ht(
|
|
405
400
|
t,
|
|
406
401
|
e,
|
|
407
402
|
d,
|
|
408
403
|
new Set(n)
|
|
409
404
|
);
|
|
410
|
-
|
|
405
|
+
y !== -1 && (c = Math.min(c, y + 1), o = Math.max(o, b + 1));
|
|
411
406
|
}
|
|
412
|
-
return
|
|
413
|
-
},
|
|
407
|
+
return c === 1 / 0 ? [-1, -1] : [c, o];
|
|
408
|
+
}, Wt = (t, e, r) => ht(t, e, r, /* @__PURE__ */ new Set()), wt = (t) => t.find((r) => r.type === "origin") || null, Z = (t, e, r) => {
|
|
414
409
|
if (!t)
|
|
415
410
|
return wt(e);
|
|
416
|
-
const n = r.find((
|
|
411
|
+
const n = r.find((c) => c.sourceNodeId === t.id);
|
|
417
412
|
if (!n)
|
|
418
413
|
return null;
|
|
419
|
-
const s = e.find((
|
|
414
|
+
const s = e.find((c) => c.id === n.destinationNodeId);
|
|
420
415
|
return s || null;
|
|
421
416
|
};
|
|
422
|
-
async function
|
|
423
|
-
const s = t ? "true" : "false",
|
|
417
|
+
async function Gt(t, e, r, n) {
|
|
418
|
+
const s = t ? "true" : "false", c = n.find(
|
|
424
419
|
(o) => o.sourceNodeHandle === s && o.sourceNodeId === e
|
|
425
420
|
);
|
|
426
|
-
return r.find((o) => o.id ===
|
|
421
|
+
return r.find((o) => o.id === c?.destinationNodeId);
|
|
427
422
|
}
|
|
428
423
|
const tt = kt("experience-instance"), Vt = dt(
|
|
429
424
|
({
|
|
@@ -432,47 +427,47 @@ const tt = kt("experience-instance"), Vt = dt(
|
|
|
432
427
|
target: r,
|
|
433
428
|
options: n
|
|
434
429
|
}) => {
|
|
435
|
-
const s =
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
(
|
|
439
|
-
),
|
|
440
|
-
|
|
430
|
+
const s = I(), c = I(), o = I(), u = I(), d = I(), y = I(), b = e.componentStore, F = tt.store("transitioning"), T = t.history.entriesStore.map((i) => i.filter((l) => l.experienceId === e.id)), U = T.map((i) => i.filter((l) => C(l.node))), a = T.map((i) => i.at(-1)?.node || null), S = R(
|
|
431
|
+
t.steps.listStore,
|
|
432
|
+
a,
|
|
433
|
+
(i, l) => i.find((f) => l && C(l) && f.key === l.stepKey) || null
|
|
434
|
+
), x = R(
|
|
435
|
+
t.steps.listStore,
|
|
441
436
|
U,
|
|
442
|
-
(
|
|
443
|
-
const
|
|
444
|
-
if (!
|
|
437
|
+
(i, l) => {
|
|
438
|
+
const f = l.at(-2);
|
|
439
|
+
if (!f || !C(f.node))
|
|
445
440
|
return null;
|
|
446
|
-
const h =
|
|
447
|
-
return i.find((
|
|
441
|
+
const h = f.node;
|
|
442
|
+
return i.find((B) => B.key === h.stepKey) || null;
|
|
448
443
|
}
|
|
449
|
-
),
|
|
444
|
+
), L = R(
|
|
450
445
|
e.treeStore,
|
|
451
|
-
|
|
452
|
-
({ nodes: i, edges: l },
|
|
453
|
-
),
|
|
446
|
+
a,
|
|
447
|
+
({ nodes: i, edges: l }, f) => f ? Kt(i, l, f) : []
|
|
448
|
+
), H = R(
|
|
454
449
|
e.treeStore,
|
|
455
|
-
|
|
456
|
-
({ nodes: i, edges: l },
|
|
457
|
-
), q =
|
|
450
|
+
a,
|
|
451
|
+
({ nodes: i, edges: l }, f) => f ? Wt(i, l, f) : [-1, -1]
|
|
452
|
+
), q = R(
|
|
458
453
|
e.treeStore,
|
|
459
|
-
|
|
460
|
-
({ nodes: i, edges: l },
|
|
461
|
-
),
|
|
454
|
+
a,
|
|
455
|
+
({ nodes: i, edges: l }, f) => f ? Ut(i, l, f) : [-1, -1]
|
|
456
|
+
), D = tt.store(!1), W = lt(D, {
|
|
462
457
|
open: () => !0,
|
|
463
458
|
close: () => !1,
|
|
464
459
|
toggle: (i) => !i,
|
|
465
460
|
set: (i, l) => l
|
|
466
|
-
}), xt =
|
|
461
|
+
}), xt = $(async () => {
|
|
467
462
|
t.history.back({ experienceId: e.id });
|
|
468
463
|
}), Nt = O({
|
|
469
464
|
source: e.treeStore,
|
|
470
465
|
effect: async (i, l) => {
|
|
471
|
-
const
|
|
472
|
-
|
|
466
|
+
const f = i.nodes.find((h) => C(h) && h.stepKey === l);
|
|
467
|
+
f && t.history.push({ experienceId: e.id, node: f });
|
|
473
468
|
}
|
|
474
469
|
}), et = O({
|
|
475
|
-
source:
|
|
470
|
+
source: a,
|
|
476
471
|
effect: (i) => {
|
|
477
472
|
}
|
|
478
473
|
}), z = O({
|
|
@@ -480,343 +475,342 @@ const tt = kt("experience-instance"), Vt = dt(
|
|
|
480
475
|
effect: async ({ nodes: i }) => wt(i)
|
|
481
476
|
}), X = O({
|
|
482
477
|
source: e.treeStore,
|
|
483
|
-
effect: async ({ nodes: i, edges: l },
|
|
484
|
-
if (Y(
|
|
485
|
-
return Z(
|
|
478
|
+
effect: async ({ nodes: i, edges: l }, f) => {
|
|
479
|
+
if (Y(f))
|
|
480
|
+
return Z(f, i, l);
|
|
486
481
|
}
|
|
487
482
|
}), J = O({
|
|
488
483
|
source: e.treeStore,
|
|
489
|
-
effect: async ({ nodes: i, edges: l,
|
|
490
|
-
if (!
|
|
484
|
+
effect: async ({ nodes: i, edges: l, conditions: f }, h) => {
|
|
485
|
+
if (!at(h))
|
|
491
486
|
return;
|
|
492
|
-
const
|
|
493
|
-
if (!
|
|
487
|
+
const B = h.conditionId ?? h.conditionalId, w = t.conditions.listStore.getState().find((_) => _.id === B)?.condition ?? f.find((_) => _.id === B)?.condition;
|
|
488
|
+
if (!w)
|
|
494
489
|
return;
|
|
495
|
-
const
|
|
496
|
-
return
|
|
490
|
+
const A = await ct(t, w);
|
|
491
|
+
return Gt(!!A, h.id, i, l);
|
|
497
492
|
}
|
|
498
493
|
}), nt = O({
|
|
499
494
|
source: e.treeStore,
|
|
500
|
-
effect: async ({ nodes: i, edges: l },
|
|
501
|
-
if (!ft(
|
|
495
|
+
effect: async ({ nodes: i, edges: l }, f) => {
|
|
496
|
+
if (!ft(f))
|
|
502
497
|
return;
|
|
503
|
-
const h =
|
|
498
|
+
const h = f.action;
|
|
504
499
|
if (!h) {
|
|
505
|
-
|
|
500
|
+
E("warn", `Action node ${f.id} has no action name`);
|
|
506
501
|
return;
|
|
507
502
|
}
|
|
508
|
-
const
|
|
509
|
-
if (!
|
|
510
|
-
|
|
503
|
+
const B = t.actions.getByName(h).getState();
|
|
504
|
+
if (!B) {
|
|
505
|
+
E("warn", `Action '${h}' not registered on client`);
|
|
511
506
|
const k = l.find(
|
|
512
|
-
(w) => w.sourceNodeId ===
|
|
507
|
+
(w) => w.sourceNodeId === f.id && w.sourceNodeHandle === "false"
|
|
513
508
|
);
|
|
514
509
|
return k ? i.find((w) => w.id === k.destinationNodeId) : null;
|
|
515
510
|
}
|
|
516
|
-
if (typeof
|
|
517
|
-
|
|
511
|
+
if (typeof B.action != "function") {
|
|
512
|
+
E("warn", `Action '${h}' is not a function`);
|
|
518
513
|
const k = l.find(
|
|
519
|
-
(w) => w.sourceNodeId ===
|
|
514
|
+
(w) => w.sourceNodeId === f.id && w.sourceNodeHandle === "false"
|
|
520
515
|
);
|
|
521
516
|
return k ? i.find((w) => w.id === k.destinationNodeId) : null;
|
|
522
517
|
}
|
|
523
518
|
try {
|
|
524
|
-
|
|
519
|
+
E("info", `Executing action: ${h}`), await B.action(h);
|
|
525
520
|
const k = l.find(
|
|
526
|
-
(A) => A.sourceNodeId ===
|
|
521
|
+
(A) => A.sourceNodeId === f.id && A.sourceNodeHandle === "true"
|
|
527
522
|
);
|
|
528
523
|
if (!k)
|
|
529
|
-
return
|
|
524
|
+
return E("warn", `No 'true' edge found for action node ${f.id}`), null;
|
|
530
525
|
const w = i.find((A) => A.id === k.destinationNodeId);
|
|
531
|
-
return
|
|
526
|
+
return E("info", `Action '${h}' succeeded, moving to node ${w?.id}`), w || null;
|
|
532
527
|
} catch (k) {
|
|
533
|
-
|
|
528
|
+
E("warn", `Action '${h}' failed:`, k);
|
|
534
529
|
const w = l.find(
|
|
535
|
-
(
|
|
530
|
+
(_) => _.sourceNodeId === f.id && _.sourceNodeHandle === "false"
|
|
536
531
|
);
|
|
537
532
|
if (!w)
|
|
538
|
-
return
|
|
539
|
-
const A = i.find((
|
|
540
|
-
return
|
|
533
|
+
return E("warn", `No 'false' edge found for action node ${f.id}`), null;
|
|
534
|
+
const A = i.find((_) => _.id === w.destinationNodeId);
|
|
535
|
+
return E("info", `Action '${h}' failed, moving to node ${A?.id}`), A || null;
|
|
541
536
|
}
|
|
542
537
|
}
|
|
543
|
-
}), Et =
|
|
538
|
+
}), Et = $((i) => {
|
|
544
539
|
ut(i) && t.experiences.launch({ id: i.experienceId });
|
|
545
540
|
}), rt = O({
|
|
546
|
-
source: [
|
|
547
|
-
effect: async ([i, { nodes: l, edges:
|
|
548
|
-
}),
|
|
549
|
-
source: [
|
|
550
|
-
effect: async ([i, { nodes: l, edges:
|
|
551
|
-
}), It =
|
|
541
|
+
source: [a, e.treeStore],
|
|
542
|
+
effect: async ([i, { nodes: l, edges: f }]) => Z(i, l, f)
|
|
543
|
+
}), j = O({
|
|
544
|
+
source: [a, e.treeStore],
|
|
545
|
+
effect: async ([i, { nodes: l, edges: f }]) => Z(i, l, f)
|
|
546
|
+
}), It = $((i) => {
|
|
552
547
|
t.history.push({ experienceId: e.id, node: i });
|
|
553
548
|
}), ot = O({
|
|
554
549
|
source: e.configStore,
|
|
555
|
-
effect: async ({ initializeOpenLogic: i }) => n?.initialiseOpen !== void 0 ? n.initialiseOpen : $t(i) ? !!await
|
|
556
|
-
}),
|
|
557
|
-
// eslint-disable-next-line sonarjs/pseudo-random --
|
|
550
|
+
effect: async ({ initializeOpenLogic: i }) => n?.initialiseOpen !== void 0 ? n.initialiseOpen : $t(i) ? !!await ct(t, i) : i ?? !1
|
|
551
|
+
}), M = Object.freeze({
|
|
552
|
+
// eslint-disable-next-line sonarjs/pseudo-random -- instance ID is non-security-sensitive
|
|
558
553
|
id: Math.random().toString(36).substring(7),
|
|
559
554
|
// config
|
|
560
555
|
experienceId: e.id,
|
|
561
556
|
configStore: e.configStore,
|
|
562
557
|
target: r,
|
|
563
|
-
componentStore:
|
|
558
|
+
componentStore: b,
|
|
564
559
|
// state
|
|
565
560
|
stateStore: F,
|
|
566
561
|
// open close
|
|
567
|
-
isOpenStore:
|
|
562
|
+
isOpenStore: D,
|
|
568
563
|
open: W.open,
|
|
569
564
|
close: W.close,
|
|
570
565
|
toggleOpen: W.toggle,
|
|
571
566
|
setOpen: W.set,
|
|
572
567
|
// nodes
|
|
573
568
|
treeStore: e.treeStore,
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
stepsToOriginStore: C,
|
|
569
|
+
currentNodeStore: a,
|
|
570
|
+
currentStepStore: S,
|
|
571
|
+
previousStepStore: x,
|
|
572
|
+
nextReachableStepNodesStore: L,
|
|
573
|
+
stepsToOriginStore: H,
|
|
580
574
|
stepsToLeafStore: q,
|
|
581
575
|
// history
|
|
582
|
-
goToNextStep:
|
|
576
|
+
goToNextStep: c,
|
|
583
577
|
goToPreviousStep: o,
|
|
584
|
-
goToStepById:
|
|
578
|
+
goToStepById: u,
|
|
585
579
|
stepsHistoryStore: U
|
|
586
|
-
}), Q =
|
|
587
|
-
return
|
|
588
|
-
source:
|
|
580
|
+
}), Q = I(), it = I();
|
|
581
|
+
return m({
|
|
582
|
+
source: a,
|
|
589
583
|
target: Q
|
|
590
|
-
}),
|
|
584
|
+
}), m({
|
|
591
585
|
clock: Q,
|
|
592
586
|
filter: (i) => i === null,
|
|
593
587
|
target: z
|
|
594
|
-
}),
|
|
588
|
+
}), m({
|
|
595
589
|
clock: Q,
|
|
596
590
|
filter: (i) => i !== null,
|
|
597
591
|
target: it
|
|
598
592
|
}), bt({
|
|
599
593
|
source: it,
|
|
600
|
-
match: (i) =>
|
|
594
|
+
match: (i) => at(i) ? "condition" : C(i) ? "step" : ut(i) ? "launchExperience" : Y(i) ? "origin" : ft(i) ? "action" : "other",
|
|
601
595
|
cases: {
|
|
602
596
|
origin: X,
|
|
603
597
|
condition: J,
|
|
604
598
|
step: et,
|
|
605
599
|
launchExperience: Et,
|
|
606
600
|
action: nt,
|
|
607
|
-
__:
|
|
601
|
+
__: I()
|
|
608
602
|
}
|
|
609
|
-
}),
|
|
603
|
+
}), m({
|
|
610
604
|
clock: [
|
|
611
605
|
J.doneData,
|
|
612
606
|
X.doneData,
|
|
613
607
|
z.doneData,
|
|
614
|
-
|
|
608
|
+
j.doneData,
|
|
615
609
|
rt.doneData,
|
|
616
610
|
nt.doneData
|
|
617
611
|
],
|
|
618
612
|
filter: Boolean,
|
|
619
613
|
target: It
|
|
620
|
-
}),
|
|
621
|
-
clock:
|
|
622
|
-
target:
|
|
623
|
-
}),
|
|
624
|
-
clock:
|
|
625
|
-
source:
|
|
614
|
+
}), m({
|
|
615
|
+
clock: c,
|
|
616
|
+
target: j
|
|
617
|
+
}), m({
|
|
618
|
+
clock: c,
|
|
619
|
+
source: S,
|
|
626
620
|
filter: Boolean,
|
|
627
621
|
target: t.eventBus.prepend((i) => ({
|
|
628
622
|
type: "step_submit",
|
|
629
623
|
step: i,
|
|
630
|
-
experience:
|
|
624
|
+
experience: M
|
|
631
625
|
}))
|
|
632
|
-
}),
|
|
633
|
-
clock:
|
|
634
|
-
source:
|
|
626
|
+
}), m({
|
|
627
|
+
clock: j.done,
|
|
628
|
+
source: S,
|
|
635
629
|
filter: Boolean,
|
|
636
630
|
target: t.eventBus.prepend((i) => ({
|
|
637
631
|
type: "step_submit_success",
|
|
638
632
|
step: i,
|
|
639
|
-
experience:
|
|
633
|
+
experience: M
|
|
640
634
|
}))
|
|
641
|
-
}),
|
|
642
|
-
clock:
|
|
643
|
-
source:
|
|
635
|
+
}), m({
|
|
636
|
+
clock: j.fail,
|
|
637
|
+
source: S,
|
|
644
638
|
filter: Boolean,
|
|
645
639
|
target: t.eventBus.prepend((i) => ({
|
|
646
640
|
type: "step_submit_error",
|
|
647
641
|
step: i,
|
|
648
|
-
experience:
|
|
642
|
+
experience: M
|
|
649
643
|
}))
|
|
650
|
-
}),
|
|
644
|
+
}), m({
|
|
651
645
|
clock: o,
|
|
652
646
|
target: xt
|
|
653
|
-
}),
|
|
654
|
-
source:
|
|
647
|
+
}), m({ clock: u, target: Nt }), m({
|
|
648
|
+
source: R([
|
|
655
649
|
J.pending,
|
|
656
650
|
X.pending,
|
|
657
651
|
z.pending,
|
|
658
|
-
|
|
652
|
+
j.pending
|
|
659
653
|
]),
|
|
660
654
|
fn: (i) => i.some(Boolean) ? "transitioning" : "ready",
|
|
661
655
|
target: F
|
|
662
|
-
}),
|
|
656
|
+
}), m({
|
|
663
657
|
clock: et.doneData,
|
|
664
|
-
source:
|
|
658
|
+
source: S,
|
|
665
659
|
filter: Boolean,
|
|
666
660
|
target: t.eventBus.prepend((i) => ({
|
|
667
661
|
type: "step_enter",
|
|
668
662
|
step: i,
|
|
669
|
-
experience:
|
|
663
|
+
experience: M
|
|
670
664
|
}))
|
|
671
|
-
}),
|
|
672
|
-
clock:
|
|
665
|
+
}), m({
|
|
666
|
+
clock: y,
|
|
673
667
|
target: ot
|
|
674
|
-
}),
|
|
668
|
+
}), m({
|
|
675
669
|
source: ot.doneData,
|
|
676
670
|
fn: Boolean,
|
|
677
|
-
target:
|
|
678
|
-
}),
|
|
679
|
-
source:
|
|
671
|
+
target: D
|
|
672
|
+
}), m({
|
|
673
|
+
source: a,
|
|
680
674
|
clock: s,
|
|
681
675
|
filter: (i) => i ? Y(i) : !0,
|
|
682
676
|
target: rt
|
|
683
|
-
}),
|
|
684
|
-
source:
|
|
677
|
+
}), m({
|
|
678
|
+
source: D,
|
|
685
679
|
filter: Boolean,
|
|
686
680
|
target: s
|
|
687
|
-
}),
|
|
688
|
-
source:
|
|
681
|
+
}), m({
|
|
682
|
+
source: D,
|
|
689
683
|
filter: Boolean,
|
|
690
684
|
target: t.eventBus.prepend(() => ({
|
|
691
685
|
type: "experience_open",
|
|
692
|
-
experience:
|
|
686
|
+
experience: M
|
|
693
687
|
}))
|
|
694
|
-
}),
|
|
695
|
-
source:
|
|
688
|
+
}), m({
|
|
689
|
+
source: D,
|
|
696
690
|
filter: (i) => !i,
|
|
697
691
|
target: t.eventBus.prepend(() => ({
|
|
698
692
|
type: "experience_close",
|
|
699
|
-
experience:
|
|
693
|
+
experience: M
|
|
700
694
|
}))
|
|
701
|
-
}),
|
|
695
|
+
}), m({
|
|
702
696
|
clock: d,
|
|
703
|
-
target: [
|
|
704
|
-
}), d(),
|
|
697
|
+
target: [y]
|
|
698
|
+
}), d(), M;
|
|
705
699
|
}
|
|
706
700
|
);
|
|
707
701
|
function qt(t) {
|
|
708
702
|
return pt(Vt, t);
|
|
709
703
|
}
|
|
710
704
|
const zt = dt(({ client: t }) => {
|
|
711
|
-
const e = tt.store({}), r =
|
|
712
|
-
register(
|
|
713
|
-
const
|
|
714
|
-
...
|
|
705
|
+
const e = tt.store({}), r = I(), n = I(), s = I(), c = lt(e, {
|
|
706
|
+
register(a, S) {
|
|
707
|
+
const x = [
|
|
708
|
+
...a[S.experienceId] ?? []
|
|
715
709
|
];
|
|
716
|
-
return
|
|
717
|
-
...
|
|
718
|
-
[
|
|
710
|
+
return x.push(S), {
|
|
711
|
+
...a,
|
|
712
|
+
[S.experienceId]: x
|
|
719
713
|
};
|
|
720
714
|
},
|
|
721
|
-
unregister(
|
|
722
|
-
const
|
|
723
|
-
(
|
|
715
|
+
unregister(a, S) {
|
|
716
|
+
const x = S.experienceId, L = a[x]?.filter(
|
|
717
|
+
(H) => H !== S
|
|
724
718
|
);
|
|
725
719
|
return {
|
|
726
|
-
...
|
|
727
|
-
[
|
|
720
|
+
...a,
|
|
721
|
+
[x]: L ?? []
|
|
728
722
|
};
|
|
729
723
|
}
|
|
730
|
-
}), o =
|
|
724
|
+
}), o = $(
|
|
731
725
|
({
|
|
732
|
-
experience:
|
|
733
|
-
target:
|
|
734
|
-
options:
|
|
735
|
-
}) => qt({ client: t, experience:
|
|
736
|
-
),
|
|
737
|
-
|
|
738
|
-
}), d =
|
|
739
|
-
(
|
|
740
|
-
|
|
741
|
-
s(
|
|
726
|
+
experience: a,
|
|
727
|
+
target: S,
|
|
728
|
+
options: x
|
|
729
|
+
}) => qt({ client: t, experience: a, target: S, options: x })
|
|
730
|
+
), u = $((a) => {
|
|
731
|
+
c.register(a);
|
|
732
|
+
}), d = $(
|
|
733
|
+
(a) => {
|
|
734
|
+
a.target && Dt(a.target, () => {
|
|
735
|
+
s(a);
|
|
742
736
|
});
|
|
743
737
|
}
|
|
744
|
-
),
|
|
745
|
-
|
|
746
|
-
}),
|
|
747
|
-
const
|
|
748
|
-
if (!
|
|
749
|
-
|
|
738
|
+
), y = $((a) => {
|
|
739
|
+
c.unregister(a);
|
|
740
|
+
}), b = $((a) => {
|
|
741
|
+
const S = a.componentStore.getState();
|
|
742
|
+
if (!S) {
|
|
743
|
+
E("warn", "No app component registered. Skipping init.");
|
|
750
744
|
return;
|
|
751
745
|
}
|
|
752
|
-
const
|
|
753
|
-
if (!
|
|
754
|
-
|
|
746
|
+
const x = S.frameworkStore.getState();
|
|
747
|
+
if (!x) {
|
|
748
|
+
E(
|
|
755
749
|
"error",
|
|
756
|
-
`No framework registered for component '${
|
|
750
|
+
`No framework registered for component '${S.name}'. Skipping rendering.`
|
|
757
751
|
);
|
|
758
752
|
return;
|
|
759
753
|
}
|
|
760
|
-
const
|
|
761
|
-
if (!
|
|
762
|
-
|
|
754
|
+
const L = a.target;
|
|
755
|
+
if (!L) {
|
|
756
|
+
E(
|
|
763
757
|
"error",
|
|
764
|
-
`No target element registered for experience '${
|
|
758
|
+
`No target element registered for experience '${a.experienceId}'. Skipping rendering.`
|
|
765
759
|
);
|
|
766
760
|
return;
|
|
767
761
|
}
|
|
768
|
-
const
|
|
762
|
+
const H = Lt(L);
|
|
769
763
|
try {
|
|
770
|
-
|
|
764
|
+
x.render(H, S.component, t, a);
|
|
771
765
|
} catch (q) {
|
|
772
|
-
|
|
766
|
+
E("error", q);
|
|
773
767
|
}
|
|
774
768
|
});
|
|
775
|
-
|
|
769
|
+
m({
|
|
776
770
|
clock: r,
|
|
777
771
|
target: o
|
|
778
|
-
}),
|
|
772
|
+
}), m({
|
|
779
773
|
clock: s,
|
|
780
|
-
target:
|
|
781
|
-
}),
|
|
774
|
+
target: y
|
|
775
|
+
}), m({
|
|
782
776
|
clock: o.doneData,
|
|
783
777
|
target: [
|
|
784
|
-
|
|
778
|
+
u,
|
|
785
779
|
d,
|
|
786
780
|
n
|
|
787
781
|
]
|
|
788
|
-
}),
|
|
782
|
+
}), m({
|
|
789
783
|
clock: o.doneData,
|
|
790
|
-
target: t.eventBus.prepend((
|
|
784
|
+
target: t.eventBus.prepend((a) => ({
|
|
791
785
|
type: "experience_initialize",
|
|
792
|
-
experience:
|
|
786
|
+
experience: a
|
|
793
787
|
}))
|
|
794
|
-
}),
|
|
788
|
+
}), m({
|
|
795
789
|
clock: n,
|
|
796
|
-
target:
|
|
790
|
+
target: b
|
|
797
791
|
});
|
|
798
|
-
function F(
|
|
799
|
-
r({ experience:
|
|
792
|
+
function F(a, S, x) {
|
|
793
|
+
r({ experience: a, target: S, options: x });
|
|
800
794
|
}
|
|
801
|
-
const
|
|
802
|
-
function U(
|
|
803
|
-
return e.map((
|
|
795
|
+
const T = e.map((a) => Object.values(a).flat());
|
|
796
|
+
function U(a) {
|
|
797
|
+
return e.map((S) => S[a] || [], { skipVoid: !1 });
|
|
804
798
|
}
|
|
805
799
|
return {
|
|
806
800
|
spawn: F,
|
|
807
801
|
getByExperienceId: U,
|
|
808
|
-
listStore:
|
|
802
|
+
listStore: T
|
|
809
803
|
};
|
|
810
804
|
});
|
|
811
805
|
function oe(t) {
|
|
812
806
|
return pt(zt, t);
|
|
813
807
|
}
|
|
814
808
|
export {
|
|
815
|
-
|
|
809
|
+
C as a,
|
|
816
810
|
oe as b,
|
|
817
811
|
ne as c,
|
|
818
812
|
te as d,
|
|
819
|
-
|
|
813
|
+
ct as e,
|
|
820
814
|
Ct as f,
|
|
821
815
|
ee as g,
|
|
822
816
|
qt as h,
|