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