@picked/client 0.0.1-dev.1777597464369 → 0.0.1-dev.1777601813342

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/{api-DHbW5EXc.cjs → api-BAOO2VZv.cjs} +1 -1
  2. package/dist/{api-BvbkpgoT.js → api-CiR56vZg.js} +1 -1
  3. package/dist/cjs/form/index.js +1 -1
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/create-experience/index.js +1 -1
  6. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  7. package/dist/cjs/plugins/experience-browser-storage/index.js +1 -1
  8. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  9. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  10. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  11. package/dist/cjs/plugins/single-page-app/index.js +1 -1
  12. package/dist/cjs/plugins/web-components/index.js +1 -1
  13. package/dist/cjs/plugins/window-object/index.js +1 -1
  14. package/dist/cjs/server/index.js +1 -1
  15. package/dist/esm/form/index.js +8 -16
  16. package/dist/esm/index.js +181 -307
  17. package/dist/esm/plugins/create-experience/index.js +1 -1
  18. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  19. package/dist/esm/plugins/experience-browser-storage/index.js +2 -2
  20. package/dist/esm/plugins/history-browser-storage/index.js +1 -1
  21. package/dist/esm/plugins/responses-browser-storage/index.js +1 -1
  22. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  23. package/dist/esm/plugins/single-page-app/index.js +93 -25
  24. package/dist/esm/plugins/web-components/index.js +2 -2
  25. package/dist/esm/plugins/window-object/index.js +1 -1
  26. package/dist/esm/server/index.js +1 -1
  27. package/dist/experience-CR19HpPg.js +136 -0
  28. package/dist/experience-DOWnsvA1.cjs +1 -0
  29. package/dist/experience-instance-C2jZU8ho.cjs +1 -0
  30. package/dist/experience-instance-CGLdwg--.js +400 -0
  31. package/dist/nodes-Bmzx3TP_.js +101 -0
  32. package/dist/nodes-Dx9bxj35.cjs +1 -0
  33. package/dist/rules-logic-CvILqbhz.js +266 -0
  34. package/dist/rules-logic-DV5SUr5M.cjs +1 -0
  35. package/dist/supports-DFDQ6eJO.cjs +1 -0
  36. package/dist/{supports-0XIfd4-R.js → supports-DUJbucFW.js} +18 -9
  37. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  38. package/dist/types/entities/framework/framework.d.ts +12 -0
  39. package/dist/types/entities/framework/framework.d.ts.map +1 -1
  40. package/dist/types/form/create-form.d.ts +0 -22
  41. package/dist/types/form/create-form.d.ts.map +1 -1
  42. package/dist/types/plugins/single-page-app/index.d.ts +2 -1
  43. package/dist/types/plugins/single-page-app/index.d.ts.map +1 -1
  44. package/dist/types/plugins/single-page-app/plugin.d.ts +92 -9
  45. package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
  46. package/dist/types/utils/global-obj.d.ts +5 -0
  47. package/dist/types/utils/global-obj.d.ts.map +1 -1
  48. package/dist/types/utils/supports.d.ts +113 -0
  49. package/dist/types/utils/supports.d.ts.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/experience-instance-DC2gKwA6.cjs +0 -1
  52. package/dist/experience-instance-DJaNc5Ob.js +0 -486
  53. package/dist/object-C82v79xc.js +0 -25
  54. package/dist/object-CUJOjanb.cjs +0 -1
  55. package/dist/rules-logic-BTIxfrJJ.js +0 -240
  56. package/dist/rules-logic-DNLOv90w.cjs +0 -1
  57. package/dist/supports-Dsjg-82e.cjs +0 -1
  58. /package/dist/{id-Bv44ilEo.cjs → id-Cg7fVl1O.cjs} +0 -0
  59. /package/dist/{id-CRqy981z.js → id-n2yrHvNo.js} +0 -0
  60. /package/dist/{logger-6z_gb4rA.js → logger-C44jSdYl.js} +0 -0
  61. /package/dist/{logger-fbvQC40v.cjs → logger-CJUj90QX.cjs} +0 -0
@@ -0,0 +1,400 @@
1
+ import { n as e, t } from "./rules-logic-CvILqbhz.js";
2
+ import "./logger-C44jSdYl.js";
3
+ import { a as n, d as r, i, n as a, r as o, s, t as c } from "./nodes-Bmzx3TP_.js";
4
+ import { attach as l, combine as u, createApi as d, createDomain as f, createEffect as p, createEvent as m, sample as h, split as g } from "effector";
5
+ import { createFactory as _, invoke as v } from "@withease/factories";
6
+ //#region src/utils/node-tree/next-reachable-step-nodes.ts
7
+ var y = (e, t, r, i, a = /* @__PURE__ */ new Set()) => a.has(r.id) ? [] : (a.add(r.id), n(r) && !i ? [r] : t.filter((e) => e.sourceNodeId === r.id).flatMap((n) => {
8
+ let r = e.find((e) => e.id === n.destinationNodeId);
9
+ return r ? y(e, t, r, !1, a) : [];
10
+ })), b = (e, t, n) => y(e, t, n, !0, /* @__PURE__ */ new Set()), x = (e, t, n, r, i = /* @__PURE__ */ new Set()) => {
11
+ if (i.has(n.id)) return [-1, -1];
12
+ i.add(n.id);
13
+ let a = t.filter((e) => e.sourceNodeId === n.id);
14
+ if (a.length === 0) return [0, 0];
15
+ let o = Infinity, s = -Infinity;
16
+ for (let n of a) {
17
+ let r = e.find((e) => e.id === n.destinationNodeId);
18
+ if (!r) continue;
19
+ let [a, c] = x(e, t, r, !1, new Set(i));
20
+ a !== -1 && (o = Math.min(o, a + 1), s = Math.max(s, c + 1));
21
+ }
22
+ return o === Infinity ? [-1, -1] : [o, s];
23
+ }, S = (e, t, n) => x(e, t, n, !0, /* @__PURE__ */ new Set()), C = (e, t, n, r = /* @__PURE__ */ new Set()) => {
24
+ if (r.has(n.id)) return [-1, -1];
25
+ if (r.add(n.id), n.type === "origin") return [0, 0];
26
+ let i = t.filter((e) => e.destinationNodeId === n.id);
27
+ if (i.length === 0) return [-1, -1];
28
+ let a = Infinity, o = -Infinity;
29
+ for (let n of i) {
30
+ let i = e.find((e) => e.id === n.sourceNodeId);
31
+ if (!i) continue;
32
+ let [s, c] = C(e, t, i, new Set(r));
33
+ s !== -1 && (a = Math.min(a, s + 1), o = Math.max(o, c + 1));
34
+ }
35
+ return a === Infinity ? [-1, -1] : [a, o];
36
+ }, w = (e, t, n) => C(e, t, n, /* @__PURE__ */ new Set()), T = (e) => e.find((e) => e.type === "origin") || null, E = (e, t, n) => {
37
+ if (!e) return T(t);
38
+ let r = n.find((t) => t.sourceNodeId === e.id);
39
+ return r && t.find((e) => e.id === r.destinationNodeId) || null;
40
+ };
41
+ //#endregion
42
+ //#region src/utils/node-tree/get-next-node-from-condition.ts
43
+ async function D(e, t, n, r) {
44
+ let i = e ? "true" : "false", a = r.find((e) => e.sourceHandle === i && e.sourceNodeId === t);
45
+ return n.find((e) => e.id === a?.destinationNodeId);
46
+ }
47
+ //#endregion
48
+ //#region src/entities/experience-instance/experience-instance.ts
49
+ var O = f("experience-instance"), k = _(({ client: r, experience: s, target: f, options: _ }) => {
50
+ let v = m(), y = m(), x = m(), C = m(), k = m(), A = m(), j = s.componentStore, M = O.store("transitioning"), N = r.history.entriesStore.map((e) => e.filter((e) => e.experienceId === s.id)), P = N.map((e) => e.filter((e) => n(e.node))), F = N.map((e) => e.at(-1)?.node || null), I = u(r.steps.listStore, F, (e, t) => e.find((e) => t && n(t) && e.id === t.stepId) || null), L = u(r.steps.listStore, P, (e, t) => {
51
+ let r = t.at(-2);
52
+ if (!r || !n(r.node)) return null;
53
+ let i = r.node;
54
+ return e.find((e) => e.id === i.stepId) || null;
55
+ }), R = u(s.treeStore, F, ({ nodes: e, edges: t }, n) => n ? b(e, t, n) : []), z = u(s.treeStore, F, ({ nodes: e, edges: t }, n) => n ? w(e, t, n) : [-1, -1]), B = u(s.treeStore, F, ({ nodes: e, edges: t }, n) => n ? S(e, t, n) : [-1, -1]), V = O.store(!1), H = d(V, {
56
+ open: () => !0,
57
+ close: () => !1,
58
+ toggle: (e) => !e,
59
+ set: (e, t) => t
60
+ }), ee = p(async () => {
61
+ r.history.back({ experienceId: s.id });
62
+ }), te = l({
63
+ source: s.treeStore,
64
+ effect: async (e, t) => {
65
+ let i = e.nodes.find((e) => n(e) && e.stepId === t);
66
+ i && r.history.push({
67
+ experienceId: s.id,
68
+ node: i
69
+ });
70
+ }
71
+ }), U = l({
72
+ source: F,
73
+ effect: (e) => {}
74
+ }), W = l({
75
+ source: s.treeStore,
76
+ effect: async ({ nodes: e }) => T(e)
77
+ }), G = l({
78
+ source: s.treeStore,
79
+ effect: async ({ nodes: e, edges: t }, n) => {
80
+ if (i(n)) return E(n, e, t);
81
+ }
82
+ }), K = l({
83
+ source: s.treeStore,
84
+ effect: async ({ nodes: e, edges: n, conditions: i }, o) => {
85
+ if (!a(o)) return;
86
+ let s = i.find((e) => e.id === o.conditionId)?.logic;
87
+ return s ? D(!!await t(r, s), o.id, e, n) : void 0;
88
+ }
89
+ }), q = l({
90
+ source: s.treeStore,
91
+ effect: async ({ nodes: e, edges: t }, n) => {
92
+ if (!c(n)) return;
93
+ let i = n.actionKey;
94
+ if (!i) {
95
+ `${n.id}`;
96
+ return;
97
+ }
98
+ let a = r.actions.getByKey(i).getState();
99
+ if (!a) {
100
+ `${i}`;
101
+ let r = t.find((e) => e.sourceNodeId === n.id && e.sourceHandle === "false");
102
+ return r ? e.find((e) => e.id === r.destinationNodeId) : null;
103
+ }
104
+ if (typeof a != "function") {
105
+ `${i}`;
106
+ let r = t.find((e) => e.sourceNodeId === n.id && e.sourceHandle === "false");
107
+ return r ? e.find((e) => e.id === r.destinationNodeId) : null;
108
+ }
109
+ try {
110
+ `${i}`, await a({
111
+ ...r.getStateSnapshot(),
112
+ args: []
113
+ }, { experience: Z });
114
+ let o = t.find((e) => e.sourceNodeId === n.id && e.sourceHandle === "true");
115
+ if (!o) return `${n.id}`, null;
116
+ let s = e.find((e) => e.id === o.destinationNodeId);
117
+ return `${i}${s?.id}`, s || null;
118
+ } catch {
119
+ `${i}`;
120
+ let r = t.find((e) => e.sourceNodeId === n.id && e.sourceHandle === "false");
121
+ if (!r) return `${n.id}`, null;
122
+ let a = e.find((e) => e.id === r.destinationNodeId);
123
+ return `${i}${a?.id}`, a || null;
124
+ }
125
+ }
126
+ }), ne = p((e) => {
127
+ o(e) && r.experiences.launch({ key: e.experienceKey });
128
+ }), J = l({
129
+ source: [F, s.treeStore],
130
+ effect: async ([e, { nodes: t, edges: n }]) => E(e, t, n)
131
+ }), Y = l({
132
+ source: [F, s.treeStore],
133
+ effect: async ([e, { nodes: t, edges: n }]) => E(e, t, n)
134
+ }), re = p((e) => {
135
+ r.history.push({
136
+ experienceId: s.id,
137
+ node: e
138
+ });
139
+ }), X = l({
140
+ source: s.configStore,
141
+ effect: async ({ initializeOpenLogic: n }) => _?.initialiseOpen === void 0 ? e(n) ? !!await t(r, n) : n ?? !1 : _.initialiseOpen
142
+ }), Z = Object.freeze({
143
+ id: Math.random().toString(36).substring(7),
144
+ experienceKey: s.key,
145
+ experienceId: s.id,
146
+ configStore: s.configStore,
147
+ target: f,
148
+ componentStore: j,
149
+ stateStore: M,
150
+ isOpenStore: V,
151
+ open: H.open,
152
+ close: H.close,
153
+ toggleOpen: H.toggle,
154
+ setOpen: H.set,
155
+ treeStore: s.treeStore,
156
+ currentNodeStore: F,
157
+ currentStepStore: I,
158
+ previousStepStore: L,
159
+ nextReachableStepNodesStore: R,
160
+ stepsToOriginStore: z,
161
+ stepsToLeafStore: B,
162
+ goToNextStep: y,
163
+ goToPreviousStep: x,
164
+ goToStepById: C,
165
+ stepsHistoryStore: P
166
+ }), Q = m(), $ = m();
167
+ return h({
168
+ clock: F,
169
+ target: Q
170
+ }), h({
171
+ clock: Q,
172
+ filter: (e) => e === null,
173
+ target: W
174
+ }), h({
175
+ clock: Q,
176
+ filter: (e) => e !== null,
177
+ target: $
178
+ }), g({
179
+ source: $,
180
+ match: (e) => a(e) ? "condition" : n(e) ? "step" : o(e) ? "launchExperience" : i(e) ? "origin" : c(e) ? "action" : "other",
181
+ cases: {
182
+ origin: G,
183
+ condition: K,
184
+ step: U,
185
+ launchExperience: ne,
186
+ action: q,
187
+ __: m()
188
+ }
189
+ }), h({
190
+ clock: [
191
+ K.doneData,
192
+ G.doneData,
193
+ W.doneData,
194
+ Y.doneData,
195
+ J.doneData,
196
+ q.doneData
197
+ ],
198
+ filter: Boolean,
199
+ target: re
200
+ }), h({
201
+ clock: y,
202
+ target: Y
203
+ }), h({
204
+ clock: y,
205
+ source: I,
206
+ filter: Boolean,
207
+ target: r.eventBus.prepend((e) => ({
208
+ type: "step_submit",
209
+ step: e,
210
+ experience: Z
211
+ }))
212
+ }), h({
213
+ clock: Y.done,
214
+ source: I,
215
+ filter: Boolean,
216
+ target: r.eventBus.prepend((e) => ({
217
+ type: "step_submit_success",
218
+ step: e,
219
+ experience: Z
220
+ }))
221
+ }), h({
222
+ clock: Y.fail,
223
+ source: I,
224
+ filter: Boolean,
225
+ target: r.eventBus.prepend((e) => ({
226
+ type: "step_submit_error",
227
+ step: e,
228
+ experience: Z
229
+ }))
230
+ }), h({
231
+ clock: x,
232
+ target: ee
233
+ }), h({
234
+ clock: C,
235
+ target: te
236
+ }), h({
237
+ source: u([
238
+ K.pending,
239
+ G.pending,
240
+ W.pending,
241
+ Y.pending
242
+ ]),
243
+ fn: (e) => e.some(Boolean) ? "transitioning" : "ready",
244
+ target: M
245
+ }), h({
246
+ clock: U.doneData,
247
+ source: I,
248
+ filter: Boolean,
249
+ target: r.eventBus.prepend((e) => ({
250
+ type: "step_enter",
251
+ step: e,
252
+ experience: Z
253
+ }))
254
+ }), h({
255
+ clock: A,
256
+ target: X
257
+ }), h({
258
+ source: X.doneData,
259
+ fn: Boolean,
260
+ target: V
261
+ }), h({
262
+ source: F,
263
+ clock: v,
264
+ filter: (e) => e ? i(e) : !0,
265
+ target: J
266
+ }), h({
267
+ source: V,
268
+ filter: Boolean,
269
+ target: v
270
+ }), h({
271
+ source: V,
272
+ filter: Boolean,
273
+ target: r.eventBus.prepend(() => ({
274
+ type: "experience_open",
275
+ experience: Z
276
+ }))
277
+ }), h({
278
+ source: V,
279
+ filter: (e) => !e,
280
+ target: r.eventBus.prepend(() => ({
281
+ type: "experience_close",
282
+ experience: Z
283
+ }))
284
+ }), h({
285
+ clock: k,
286
+ target: [A]
287
+ }), k(), Z;
288
+ });
289
+ function A(e) {
290
+ return v(k, e);
291
+ }
292
+ var j = _(({ client: e }) => {
293
+ let t = O.store({}), n = m(), i = m(), a = m(), o = d(t, {
294
+ register(e, t) {
295
+ let n = [...e[t.experienceId] ?? []];
296
+ return n.push(t), {
297
+ ...e,
298
+ [t.experienceId]: n
299
+ };
300
+ },
301
+ unregister(e, t) {
302
+ let n = t.experienceId, r = e[n]?.filter((e) => e !== t);
303
+ return {
304
+ ...e,
305
+ [n]: r ?? []
306
+ };
307
+ }
308
+ }), c = p(({ experience: t, target: n, options: r }) => A({
309
+ client: e,
310
+ experience: t,
311
+ target: n,
312
+ options: r
313
+ })), l = p((e) => {
314
+ o.register(e);
315
+ }), u = p((e) => {
316
+ e.target && r(e.target, () => {
317
+ a(e);
318
+ });
319
+ }), f = p((e) => {
320
+ o.unregister(e);
321
+ }), g = p(async (e) => {
322
+ let t = e.componentStore.getState();
323
+ if (!t) return;
324
+ let n = t.frameworkStore.getState();
325
+ if (!n) return;
326
+ let r = e.target?.shadowRoot;
327
+ if (r) try {
328
+ await n.unRender(r);
329
+ } catch {}
330
+ }), _ = p((t) => {
331
+ let n = t.componentStore.getState();
332
+ if (!n) return;
333
+ let r = n.frameworkStore.getState();
334
+ if (!r) {
335
+ `${n.name}`;
336
+ return;
337
+ }
338
+ let i = t.target;
339
+ if (!i) {
340
+ `${t.experienceId}`;
341
+ return;
342
+ }
343
+ try {
344
+ let a = i.shadowRoot ?? s(i);
345
+ r.render(a, n.component, e, t);
346
+ } catch {}
347
+ });
348
+ h({
349
+ clock: n,
350
+ target: c
351
+ }), h({
352
+ clock: a,
353
+ target: g
354
+ }), h({
355
+ clock: g.finally,
356
+ fn: ({ params: e }) => e,
357
+ target: f
358
+ }), h({
359
+ clock: c.doneData,
360
+ target: [
361
+ l,
362
+ u,
363
+ i
364
+ ]
365
+ }), h({
366
+ clock: c.doneData,
367
+ target: e.eventBus.prepend((e) => ({
368
+ type: "experience_initialize",
369
+ experience: e
370
+ }))
371
+ }), h({
372
+ clock: i,
373
+ target: _
374
+ });
375
+ function v(e, t, r) {
376
+ n({
377
+ experience: e,
378
+ target: t,
379
+ options: r
380
+ });
381
+ }
382
+ let y = t.map((e) => Object.values(e).flat());
383
+ function b(e) {
384
+ return y.map((t) => t.filter((t) => t.experienceKey === e), { skipVoid: !1 });
385
+ }
386
+ function x(e) {
387
+ return t.map((t) => t[e] || [], { skipVoid: !1 });
388
+ }
389
+ return {
390
+ spawn: v,
391
+ getByExperienceKey: b,
392
+ getByExperienceId: x,
393
+ listStore: y
394
+ };
395
+ });
396
+ function M(e) {
397
+ return v(j, e);
398
+ }
399
+ //#endregion
400
+ export { M as n, A as t };
@@ -0,0 +1,101 @@
1
+ import { f as e, r as t, u as n } from "./supports-DUJbucFW.js";
2
+ //#region src/utils/dom.ts
3
+ function r(n) {
4
+ return !e() || !t() ? [] : Array.from(window.document.querySelectorAll(n)).filter((e) => e instanceof HTMLElement);
5
+ }
6
+ var i = "open";
7
+ function a(e) {
8
+ if (!n()) throw Error("Shadow DOM is not supported in this environment");
9
+ return e.attachShadow({ mode: i });
10
+ }
11
+ function o() {
12
+ return new Promise((e, n) => {
13
+ if (!t()) {
14
+ n();
15
+ return;
16
+ }
17
+ document.readyState === "loading" ? document.addEventListener("readystatechange", () => e(), { once: !0 }) : e();
18
+ });
19
+ }
20
+ function s(e, t) {
21
+ let n = new MutationObserver((r) => {
22
+ document.contains(e) || (n.disconnect(), t());
23
+ });
24
+ n.observe(document.body, {
25
+ childList: !0,
26
+ subtree: !0
27
+ });
28
+ }
29
+ var c = "picked-root", l = "picked-target", u = "picked-root";
30
+ function d(e, t) {
31
+ return [...e, {
32
+ selector: `${u}[experience-id="${t}"]`,
33
+ placement: "replace"
34
+ }].flatMap((e) => {
35
+ let n = r(e.selector).filter((e) => !m(e, t) && !h(e, t));
36
+ return {
37
+ ...e,
38
+ elements: n
39
+ };
40
+ });
41
+ }
42
+ function f(e, t, n) {
43
+ return e.flatMap((e) => e.elements.map((r) => _(r, e.placement, t, n)));
44
+ }
45
+ function p(e, t) {
46
+ e.classList.add(l), e.classList.add(`${l}-${t}`);
47
+ }
48
+ function m(e, t) {
49
+ return t ? e.classList.contains(`${l}-${t}`) : e.classList.contains(`${l}`);
50
+ }
51
+ function h(e, t) {
52
+ return t ? e.classList.contains(`${c}-${t}`) : e.classList.contains(c);
53
+ }
54
+ function g(e, t) {
55
+ let n = document.createElement("div");
56
+ return n.style.display = "block", n.classList.add(c), n.classList.add(`${c}-${e}`), n.classList.add(`${c}-${t}`), n;
57
+ }
58
+ function _(e, t, n, r) {
59
+ let i, a = g(n, r);
60
+ if (e instanceof Document) i = e.body.appendChild(a);
61
+ else {
62
+ switch (t) {
63
+ case "replace":
64
+ e.replaceWith(a);
65
+ break;
66
+ case "before":
67
+ e.before(a);
68
+ break;
69
+ case "after":
70
+ e.after(a);
71
+ break;
72
+ case "prepend":
73
+ e.prepend(a);
74
+ break;
75
+ case "append":
76
+ e.append(a);
77
+ break;
78
+ }
79
+ i = a;
80
+ }
81
+ return i;
82
+ }
83
+ //#endregion
84
+ //#region src/utils/nodes.ts
85
+ function v(e) {
86
+ return e.type === "condition";
87
+ }
88
+ function y(e) {
89
+ return e.type === "step";
90
+ }
91
+ function b(e) {
92
+ return e.type === "experience";
93
+ }
94
+ function x(e) {
95
+ return e.type === "origin";
96
+ }
97
+ function S(e) {
98
+ return e.type === "action";
99
+ }
100
+ //#endregion
101
+ export { y as a, o as c, s as d, p as f, x as i, d as l, v as n, f as o, b as r, a as s, S as t, h as u };
@@ -0,0 +1 @@
1
+ const e=require(`./supports-DFDQ6eJO.cjs`);function t(t){return!e.f()||!e.r()?[]:Array.from(window.document.querySelectorAll(t)).filter(e=>e instanceof HTMLElement)}var n=`open`;function r(t){if(!e.u())throw Error(`Shadow DOM is not supported in this environment`);return t.attachShadow({mode:n})}function i(){return new Promise((t,n)=>{if(!e.r()){n();return}document.readyState===`loading`?document.addEventListener(`readystatechange`,()=>t(),{once:!0}):t()})}function a(e,t){let n=new MutationObserver(r=>{document.contains(e)||(n.disconnect(),t())});n.observe(document.body,{childList:!0,subtree:!0})}var o=`picked-root`,s=`picked-target`,c=`picked-root`;function l(e,n){return[...e,{selector:`${c}[experience-id="${n}"]`,placement:`replace`}].flatMap(e=>{let r=t(e.selector).filter(e=>!f(e,n)&&!p(e,n));return{...e,elements:r}})}function u(e,t,n){return e.flatMap(e=>e.elements.map(r=>h(r,e.placement,t,n)))}function d(e,t){e.classList.add(s),e.classList.add(`${s}-${t}`)}function f(e,t){return t?e.classList.contains(`${s}-${t}`):e.classList.contains(`${s}`)}function p(e,t){return t?e.classList.contains(`${o}-${t}`):e.classList.contains(o)}function m(e,t){let n=document.createElement(`div`);return n.style.display=`block`,n.classList.add(o),n.classList.add(`${o}-${e}`),n.classList.add(`${o}-${t}`),n}function h(e,t,n,r){let i,a=m(n,r);if(e instanceof Document)i=e.body.appendChild(a);else{switch(t){case`replace`:e.replaceWith(a);break;case`before`:e.before(a);break;case`after`:e.after(a);break;case`prepend`:e.prepend(a);break;case`append`:e.append(a);break}i=a}return i}function g(e){return e.type===`condition`}function _(e){return e.type===`step`}function v(e){return e.type===`experience`}function y(e){return e.type===`origin`}function b(e){return e.type===`action`}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}});