@picked/client 0.0.1-dev.1777506629683 → 0.0.1-dev.1777530309364
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-DstdB1oU.js → api-Axu2IRHZ.js} +1 -1
- package/dist/{api-CPZcLXHT.cjs → api-D0-Cl9bN.cjs} +1 -1
- package/dist/cjs/form/index.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/plugins/web-components/index.js +1 -1
- package/dist/cjs/plugins/window-object/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/{actions.mdx → actions.md} +0 -7
- package/dist/docs/{api-keys.mdx → api-keys.md} +0 -7
- package/dist/docs/{conditions.mdx → conditions.md} +0 -7
- package/dist/docs/{experiences.mdx → experiences.md} +0 -7
- package/dist/docs/{features.mdx → features.md} +0 -7
- package/dist/docs/{fields.mdx → fields.md} +0 -7
- package/dist/docs/flow-builder/{overview.mdx → overview.md} +0 -7
- package/dist/docs/pickedql/data-sources.md +2 -49
- package/dist/docs/pickedql/dimensions.md +0 -20
- package/dist/docs/pickedql/examples.md +1 -1
- package/dist/docs/pickedql/filtering.md +0 -22
- package/dist/docs/pickedql/index.md +1 -2
- package/dist/docs/pickedql/schema.md +1 -34
- package/dist/docs/pickedql/virtual-functions.md +4 -4
- package/dist/docs/{projects.mdx → projects.md} +0 -7
- package/dist/docs/{reports.mdx → reports.md} +0 -7
- package/dist/docs/{steps.mdx → steps.md} +0 -7
- package/dist/docs/{workspaces.mdx → workspaces.md} +0 -8
- package/dist/esm/form/index.js +5 -11
- package/dist/esm/index.js +166 -292
- package/dist/esm/plugins/create-experience/index.js +1 -1
- package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
- package/dist/esm/plugins/experience-browser-storage/index.js +19 -21
- package/dist/esm/plugins/history-browser-storage/index.js +15 -17
- package/dist/esm/plugins/responses-browser-storage/index.js +19 -21
- package/dist/esm/plugins/responses-indexeddb/index.js +35 -37
- package/dist/esm/plugins/single-page-app/index.js +28 -14
- package/dist/esm/plugins/web-components/index.js +1 -1
- package/dist/esm/plugins/window-object/index.js +1 -1
- package/dist/esm/server/index.js +1 -1
- package/dist/experience-CNIhapU2.js +136 -0
- package/dist/experience-CTEBY-it.cjs +1 -0
- package/dist/experience-instance-B0tFPMAU.js +396 -0
- package/dist/experience-instance-BN0RZG1b.cjs +1 -0
- package/dist/nodes-2fst8XKi.js +101 -0
- package/dist/nodes-DBK4N9YY.cjs +1 -0
- package/dist/rules-logic-D7dL30U1.js +263 -0
- package/dist/rules-logic-DJhGFqhC.cjs +1 -0
- package/dist/types/entities/action/action.d.ts +4 -30
- package/dist/types/entities/action/action.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +2 -4
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/framework/framework.d.ts +2 -0
- package/dist/types/entities/framework/framework.d.ts.map +1 -1
- package/dist/types/entities/response/response-validation.d.ts.map +1 -1
- package/dist/types/form/create-field-evaluator.d.ts.map +1 -1
- package/dist/types/picked.d.ts +1 -3
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- 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 +15 -4
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/experience-instance-DC2gKwA6.cjs +0 -1
- package/dist/experience-instance-DJaNc5Ob.js +0 -486
- package/dist/object-C82v79xc.js +0 -25
- package/dist/object-CUJOjanb.cjs +0 -1
- package/dist/rules-logic-BTIxfrJJ.js +0 -240
- package/dist/rules-logic-DNLOv90w.cjs +0 -1
- /package/dist/{id-Bv44ilEo.cjs → id-Cg7fVl1O.cjs} +0 -0
- /package/dist/{id-CRqy981z.js → id-n2yrHvNo.js} +0 -0
- /package/dist/{logger-6z_gb4rA.js → logger-C44jSdYl.js} +0 -0
- /package/dist/{logger-fbvQC40v.cjs → logger-CJUj90QX.cjs} +0 -0
- /package/dist/{supports-0XIfd4-R.js → supports-B_trw6lj.js} +0 -0
- /package/dist/{supports-Dsjg-82e.cjs → supports-CKSVYpQx.cjs} +0 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { n as e, t } from "./rules-logic-D7dL30U1.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-2fst8XKi.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
|
+
});
|
|
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((e) => {
|
|
322
|
+
let t = e.componentStore.getState();
|
|
323
|
+
if (!t) return;
|
|
324
|
+
let n = t.frameworkStore.getState();
|
|
325
|
+
if (!n?.unRender) return;
|
|
326
|
+
let r = e.target?.shadowRoot;
|
|
327
|
+
if (r) try {
|
|
328
|
+
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
|
+
let a = s(i);
|
|
344
|
+
try {
|
|
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, f]
|
|
354
|
+
}), h({
|
|
355
|
+
clock: c.doneData,
|
|
356
|
+
target: [
|
|
357
|
+
l,
|
|
358
|
+
u,
|
|
359
|
+
i
|
|
360
|
+
]
|
|
361
|
+
}), h({
|
|
362
|
+
clock: c.doneData,
|
|
363
|
+
target: e.eventBus.prepend((e) => ({
|
|
364
|
+
type: "experience_initialize",
|
|
365
|
+
experience: e
|
|
366
|
+
}))
|
|
367
|
+
}), h({
|
|
368
|
+
clock: i,
|
|
369
|
+
target: _
|
|
370
|
+
});
|
|
371
|
+
function v(e, t, r) {
|
|
372
|
+
n({
|
|
373
|
+
experience: e,
|
|
374
|
+
target: t,
|
|
375
|
+
options: r
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
let y = t.map((e) => Object.values(e).flat());
|
|
379
|
+
function b(e) {
|
|
380
|
+
return y.map((t) => t.filter((t) => t.experienceKey === e), { skipVoid: !1 });
|
|
381
|
+
}
|
|
382
|
+
function x(e) {
|
|
383
|
+
return t.map((t) => t[e] || [], { skipVoid: !1 });
|
|
384
|
+
}
|
|
385
|
+
return {
|
|
386
|
+
spawn: v,
|
|
387
|
+
getByExperienceKey: b,
|
|
388
|
+
getByExperienceId: x,
|
|
389
|
+
listStore: y
|
|
390
|
+
};
|
|
391
|
+
});
|
|
392
|
+
function M(e) {
|
|
393
|
+
return v(j, e);
|
|
394
|
+
}
|
|
395
|
+
//#endregion
|
|
396
|
+
export { M as n, A as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./rules-logic-DJhGFqhC.cjs`);require(`./logger-CJUj90QX.cjs`);const t=require(`./nodes-DBK4N9YY.cjs`);let n=require(`effector`),r=require(`@withease/factories`);var i=(e,n,r,a,o=new Set)=>o.has(r.id)?[]:(o.add(r.id),t.a(r)&&!a?[r]:n.filter(e=>e.sourceNodeId===r.id).flatMap(t=>{let r=e.find(e=>e.id===t.destinationNodeId);return r?i(e,n,r,!1,o):[]})),a=(e,t,n)=>i(e,t,n,!0,new Set),o=(e,t,n,r,i=new Set)=>{if(i.has(n.id))return[-1,-1];i.add(n.id);let a=t.filter(e=>e.sourceNodeId===n.id);if(a.length===0)return[0,0];let s=1/0,c=-1/0;for(let n of a){let r=e.find(e=>e.id===n.destinationNodeId);if(!r)continue;let[a,l]=o(e,t,r,!1,new Set(i));a!==-1&&(s=Math.min(s,a+1),c=Math.max(c,l+1))}return s===1/0?[-1,-1]:[s,c]},s=(e,t,n)=>o(e,t,n,!0,new Set),c=(e,t,n,r=new Set)=>{if(r.has(n.id))return[-1,-1];if(r.add(n.id),n.type===`origin`)return[0,0];let i=t.filter(e=>e.destinationNodeId===n.id);if(i.length===0)return[-1,-1];let a=1/0,o=-1/0;for(let n of i){let i=e.find(e=>e.id===n.sourceNodeId);if(!i)continue;let[s,l]=c(e,t,i,new Set(r));s!==-1&&(a=Math.min(a,s+1),o=Math.max(o,l+1))}return a===1/0?[-1,-1]:[a,o]},l=(e,t,n)=>c(e,t,n,new Set),u=e=>e.find(e=>e.type===`origin`)||null,d=(e,t,n)=>{if(!e)return u(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function f(e,t,n,r){let i=e?`true`:`false`,a=r.find(e=>e.sourceHandle===i&&e.sourceNodeId===t);return n.find(e=>e.id===a?.destinationNodeId)}var p=(0,n.createDomain)(`experience-instance`),m=(0,r.createFactory)(({client:r,experience:i,target:o,options:c})=>{let m=(0,n.createEvent)(),h=(0,n.createEvent)(),g=(0,n.createEvent)(),_=(0,n.createEvent)(),v=(0,n.createEvent)(),y=(0,n.createEvent)(),b=i.componentStore,x=p.store(`transitioning`),S=r.history.entriesStore.map(e=>e.filter(e=>e.experienceId===i.id)),C=S.map(e=>e.filter(e=>t.a(e.node))),w=S.map(e=>e.at(-1)?.node||null),T=(0,n.combine)(r.steps.listStore,w,(e,n)=>e.find(e=>n&&t.a(n)&&e.id===n.stepId)||null),E=(0,n.combine)(r.steps.listStore,C,(e,n)=>{let r=n.at(-2);if(!r||!t.a(r.node))return null;let i=r.node;return e.find(e=>e.id===i.stepId)||null}),D=(0,n.combine)(i.treeStore,w,({nodes:e,edges:t},n)=>n?a(e,t,n):[]),O=(0,n.combine)(i.treeStore,w,({nodes:e,edges:t},n)=>n?l(e,t,n):[-1,-1]),k=(0,n.combine)(i.treeStore,w,({nodes:e,edges:t},n)=>n?s(e,t,n):[-1,-1]),A=p.store(!1),j=(0,n.createApi)(A,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),M=(0,n.createEffect)(async()=>{r.history.back({experienceId:i.id})}),N=(0,n.attach)({source:i.treeStore,effect:async(e,n)=>{let a=e.nodes.find(e=>t.a(e)&&e.stepId===n);a&&r.history.push({experienceId:i.id,node:a})}}),P=(0,n.attach)({source:w,effect:e=>{}}),F=(0,n.attach)({source:i.treeStore,effect:async({nodes:e})=>u(e)}),I=(0,n.attach)({source:i.treeStore,effect:async({nodes:e,edges:n},r)=>{if(t.i(r))return d(r,e,n)}}),L=(0,n.attach)({source:i.treeStore,effect:async({nodes:n,edges:i,conditions:a},o)=>{if(!t.n(o))return;let s=a.find(e=>e.id===o.conditionId)?.logic;return s?f(!!await e.t(r,s),o.id,n,i):void 0}}),R=(0,n.attach)({source:i.treeStore,effect:async({nodes:e,edges:n},i)=>{if(!t.t(i))return;let a=i.actionKey;if(!a){`${i.id}`;return}let o=r.actions.getByKey(a).getState();if(!o){`${a}`;let t=n.find(e=>e.sourceNodeId===i.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}if(typeof o!=`function`){`${a}`;let t=n.find(e=>e.sourceNodeId===i.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}try{`${a}`,await o({...r.getStateSnapshot(),args:[]});let t=n.find(e=>e.sourceNodeId===i.id&&e.sourceHandle===`true`);if(!t)return`${i.id}`,null;let s=e.find(e=>e.id===t.destinationNodeId);return`${a}${s?.id}`,s||null}catch{`${a}`;let t=n.find(e=>e.sourceNodeId===i.id&&e.sourceHandle===`false`);if(!t)return`${i.id}`,null;let r=e.find(e=>e.id===t.destinationNodeId);return`${a}${r?.id}`,r||null}}}),z=(0,n.createEffect)(e=>{t.r(e)&&r.experiences.launch({key:e.experienceKey})}),B=(0,n.attach)({source:[w,i.treeStore],effect:async([e,{nodes:t,edges:n}])=>d(e,t,n)}),V=(0,n.attach)({source:[w,i.treeStore],effect:async([e,{nodes:t,edges:n}])=>d(e,t,n)}),H=(0,n.createEffect)(e=>{r.history.push({experienceId:i.id,node:e})}),U=(0,n.attach)({source:i.configStore,effect:async({initializeOpenLogic:t})=>c?.initialiseOpen===void 0?e.n(t)?!!await e.t(r,t):t??!1:c.initialiseOpen}),W=Object.freeze({id:Math.random().toString(36).substring(7),experienceKey:i.key,experienceId:i.id,configStore:i.configStore,target:o,componentStore:b,stateStore:x,isOpenStore:A,open:j.open,close:j.close,toggleOpen:j.toggle,setOpen:j.set,treeStore:i.treeStore,currentNodeStore:w,currentStepStore:T,previousStepStore:E,nextReachableStepNodesStore:D,stepsToOriginStore:O,stepsToLeafStore:k,goToNextStep:h,goToPreviousStep:g,goToStepById:_,stepsHistoryStore:C}),G=(0,n.createEvent)(),K=(0,n.createEvent)();return(0,n.sample)({clock:w,target:G}),(0,n.sample)({clock:G,filter:e=>e===null,target:F}),(0,n.sample)({clock:G,filter:e=>e!==null,target:K}),(0,n.split)({source:K,match:e=>t.n(e)?`condition`:t.a(e)?`step`:t.r(e)?`launchExperience`:t.i(e)?`origin`:t.t(e)?`action`:`other`,cases:{origin:I,condition:L,step:P,launchExperience:z,action:R,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[L.doneData,I.doneData,F.doneData,V.doneData,B.doneData,R.doneData],filter:Boolean,target:H}),(0,n.sample)({clock:h,target:V}),(0,n.sample)({clock:h,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:W}))}),(0,n.sample)({clock:V.done,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:W}))}),(0,n.sample)({clock:V.fail,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:W}))}),(0,n.sample)({clock:g,target:M}),(0,n.sample)({clock:_,target:N}),(0,n.sample)({source:(0,n.combine)([L.pending,I.pending,F.pending,V.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:x}),(0,n.sample)({clock:P.doneData,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:W}))}),(0,n.sample)({clock:y,target:U}),(0,n.sample)({source:U.doneData,fn:Boolean,target:A}),(0,n.sample)({source:w,clock:m,filter:e=>e?t.i(e):!0,target:B}),(0,n.sample)({source:A,filter:Boolean,target:m}),(0,n.sample)({source:A,filter:Boolean,target:r.eventBus.prepend(()=>({type:`experience_open`,experience:W}))}),(0,n.sample)({source:A,filter:e=>!e,target:r.eventBus.prepend(()=>({type:`experience_close`,experience:W}))}),(0,n.sample)({clock:v,target:[y]}),v(),W});function h(e){return(0,r.invoke)(m,e)}var g=(0,r.createFactory)(({client:e})=>{let r=p.store({}),i=(0,n.createEvent)(),a=(0,n.createEvent)(),o=(0,n.createEvent)(),s=(0,n.createApi)(r,{register(e,t){let n=[...e[t.experienceId]??[]];return n.push(t),{...e,[t.experienceId]:n}},unregister(e,t){let n=t.experienceId,r=e[n]?.filter(e=>e!==t);return{...e,[n]:r??[]}}}),c=(0,n.createEffect)(({experience:t,target:n,options:r})=>h({client:e,experience:t,target:n,options:r})),l=(0,n.createEffect)(e=>{s.register(e)}),u=(0,n.createEffect)(e=>{e.target&&t.d(e.target,()=>{o(e)})}),d=(0,n.createEffect)(e=>{s.unregister(e)}),f=(0,n.createEffect)(e=>{let t=e.componentStore.getState();if(!t)return;let n=t.frameworkStore.getState();if(!n?.unRender)return;let r=e.target?.shadowRoot;if(r)try{n.unRender(r)}catch{}}),m=(0,n.createEffect)(n=>{let r=n.componentStore.getState();if(!r)return;let i=r.frameworkStore.getState();if(!i){`${r.name}`;return}let a=n.target;if(!a){`${n.experienceId}`;return}let o=t.s(a);try{i.render(o,r.component,e,n)}catch{}});(0,n.sample)({clock:i,target:c}),(0,n.sample)({clock:o,target:[f,d]}),(0,n.sample)({clock:c.doneData,target:[l,u,a]}),(0,n.sample)({clock:c.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,n.sample)({clock:a,target:m});function g(e,t,n){i({experience:e,target:t,options:n})}let _=r.map(e=>Object.values(e).flat());function v(e){return _.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function y(e){return r.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:g,getByExperienceKey:v,getByExperienceId:y,listStore:_}});function _(e){return(0,r.invoke)(g,e)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { d as e, l as t, r as n } from "./supports-B_trw6lj.js";
|
|
2
|
+
//#region src/utils/dom.ts
|
|
3
|
+
function r(t) {
|
|
4
|
+
return !e() || !n() ? [] : Array.from(window.document.querySelectorAll(t)).filter((e) => e instanceof HTMLElement);
|
|
5
|
+
}
|
|
6
|
+
var i = "open";
|
|
7
|
+
function a(e) {
|
|
8
|
+
if (!t()) 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, t) => {
|
|
13
|
+
if (!n()) {
|
|
14
|
+
t();
|
|
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-CKSVYpQx.cjs`);function t(t){return!e.d()||!e.r()?[]:Array.from(window.document.querySelectorAll(t)).filter(e=>e instanceof HTMLElement)}var n=`open`;function r(t){if(!e.l())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}});
|