@picked/client 0.0.1-dev.1777867216429 → 0.0.1-dev.1777869768355
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-qBG8rsTJ.cjs → api-DT7ImnBi.cjs} +1 -1
- package/dist/{api-Xp22knXn.js → api-Dx9PpWfN.js} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/docs/pickedql/data-sources.md +2 -2
- package/dist/docs/pickedql/schema.md +2 -2
- package/dist/esm/index.js +196 -167
- package/dist/esm/plugins/dynamic-experiences/index.js +1 -1
- package/dist/esm/plugins/history-browser-storage/index.js +3 -3
- package/dist/esm/server/index.js +1 -1
- package/dist/experience-instance-BDTNGT8a.cjs +1 -0
- package/dist/{experience-instance-C4UJM092.js → experience-instance-CWYRLfFM.js} +70 -83
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +14 -8
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/picked.d.ts +8 -4
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +14 -0
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/experience-instance-BWniatU5.cjs +0 -1
|
@@ -2,13 +2,13 @@ import { d as e } from "../../../supports-0XIfd4-R.js";
|
|
|
2
2
|
import { n as t, r as n, t as r } from "../../../storage-6Xk0uAxB.js";
|
|
3
3
|
import { createEffect as i, sample as a } from "effector";
|
|
4
4
|
//#region src/plugins/history-browser-storage/plugin.ts
|
|
5
|
-
var o = r("history", "global"), s = ({ storage: r = "local" } = {}) => ({
|
|
5
|
+
var o = r("history-v2", "global"), s = ({ storage: r = "local" } = {}) => ({
|
|
6
6
|
name: "history-browser-storage-plugin",
|
|
7
7
|
setup: (s) => {
|
|
8
8
|
if (!e()) return;
|
|
9
9
|
let c = r === "local" ? t : n, l = i(async () => {
|
|
10
10
|
let e = c.get(o).json();
|
|
11
|
-
e && s.history.
|
|
11
|
+
e && s.history.restoreSnapshots({ snapshots: e });
|
|
12
12
|
}), u = i(async (e) => {
|
|
13
13
|
c.set(o, e);
|
|
14
14
|
});
|
|
@@ -17,7 +17,7 @@ var o = r("history", "global"), s = ({ storage: r = "local" } = {}) => ({
|
|
|
17
17
|
filter: (e) => e.type === "load",
|
|
18
18
|
target: l
|
|
19
19
|
}), a({
|
|
20
|
-
source: s.history.
|
|
20
|
+
source: s.history.snapshotStore,
|
|
21
21
|
target: u
|
|
22
22
|
});
|
|
23
23
|
}
|
package/dist/esm/server/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "../../experience-instance-
|
|
1
|
+
import { t as e } from "../../experience-instance-CWYRLfFM.js";
|
|
2
2
|
import { attach as t, createEffect as n, createEvent as r, createStore as i, sample as a } from "effector";
|
|
3
3
|
//#region src/server/index.ts
|
|
4
4
|
function o() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./rules-logic-DNLOv90w.cjs`);require(`./logger-fbvQC40v.cjs`);const t=require(`./supports-Dsjg-82e.cjs`);let n=require(`effector`),r=require(`@withease/factories`);function i(e){return!t.d()||!t.r()?[]:Array.from(window.document.querySelectorAll(e)).filter(e=>e instanceof HTMLElement)}var a=`open`;function o(e){if(!t.l())throw Error(`Shadow DOM is not supported in this environment`);return e.attachShadow({mode:a})}function s(){return new Promise((e,n)=>{if(!t.r()){n();return}document.readyState===`loading`?document.addEventListener(`readystatechange`,()=>e(),{once:!0}):e()})}function c(e,t){let n=new MutationObserver(r=>{document.contains(e)||(n.disconnect(),t())});n.observe(document.body,{childList:!0,subtree:!0})}var l=`picked-root`,u=`picked-target`,d=`picked-root`;function f(e,t){return[...e,{selector:`${d}[experience-id="${t}"]`,placement:`replace`}].flatMap(e=>{let n=i(e.selector).filter(e=>!h(e,t)&&!g(e,t));return{...e,elements:n}})}function p(e,t,n){return e.flatMap(e=>e.elements.map(r=>v(r,e.placement,t,n)))}function m(e,t){e.classList.add(u),e.classList.add(`${u}-${t}`)}function h(e,t){return t?e.classList.contains(`${u}-${t}`):e.classList.contains(`${u}`)}function g(e,t){return t?e.classList.contains(`${l}-${t}`):e.classList.contains(l)}function _(e,t){let n=document.createElement(`div`);return n.style.display=`block`,n.classList.add(l),n.classList.add(`${l}-${e}`),n.classList.add(`${l}-${t}`),n}function v(e,t,n,r){let i,a=_(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 y(e){return e.type===`condition`}function b(e){return e.type===`step`}function x(e){return e.type===`experience`}function S(e){return e.type===`origin`}function C(e){return e.type===`action`}var w=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),b(n)&&!r?[n]:t.filter(e=>e.sourceNodeId===n.id).flatMap(n=>{let r=e.find(e=>e.id===n.destinationNodeId);return r?w(e,t,r,!1,i):[]})),T=(e,t,n)=>w(e,t,n,!0,new Set),E=(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 o=1/0,s=-1/0;for(let n of a){let r=e.find(e=>e.id===n.destinationNodeId);if(!r)continue;let[a,c]=E(e,t,r,!1,new Set(i));a!==-1&&(o=Math.min(o,a+1),s=Math.max(s,c+1))}return o===1/0?[-1,-1]:[o,s]},D=(e,t,n)=>E(e,t,n,!0,new Set),O=(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,c]=O(e,t,i,new Set(r));s!==-1&&(a=Math.min(a,s+1),o=Math.max(o,c+1))}return a===1/0?[-1,-1]:[a,o]},k=(e,t,n)=>O(e,t,n,new Set),A=e=>e.find(e=>e.type===`origin`)||null,j=(e,t,n)=>{if(!e)return A(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function M(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 N=(0,n.createDomain)(`experience-instance`),P=(0,r.createFactory)(({client:t,experience:r,target:i,options:a})=>{let o=Math.random().toString(36).substring(7);t.history.seedInstanceFromSnapshot({instanceId:o,experienceId:r.id});let s=(0,n.createEvent)(),c=(0,n.createEvent)(),l=(0,n.createEvent)(),u=(0,n.createEvent)(),d=(0,n.createEvent)(),f=(0,n.createEvent)(),p=r.componentStore,m=N.store(`transitioning`),h=t.history.entriesStore.map(e=>e.filter(e=>e.instanceId===o)),g=h.map(e=>e.filter(e=>b(e.node))),_=h.map(e=>e.at(-1)?.node||null),v=(0,n.combine)(t.steps.listStore,_,(e,t)=>e.find(e=>t&&b(t)&&e.id===t.stepId)||null),w=(0,n.combine)(t.steps.listStore,g,(e,t)=>{let n=t.at(-2);if(!n||!b(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),E=(0,n.combine)(r.treeStore,_,({nodes:e,edges:t},n)=>n?T(e,t,n):[]),O=(0,n.combine)(r.treeStore,_,({nodes:e,edges:t},n)=>n?k(e,t,n):[-1,-1]),P=(0,n.combine)(r.treeStore,_,({nodes:e,edges:t},n)=>n?D(e,t,n):[-1,-1]),F=N.store(!1),I=(0,n.createApi)(F,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),L=(0,n.createEffect)(async()=>{t.history.back({instanceId:o})}),R=(0,n.attach)({source:r.treeStore,effect:async(e,n)=>{let i=e.nodes.find(e=>b(e)&&e.stepId===n);i&&t.history.push({instanceId:o,experienceId:r.id,node:i})}}),z=(0,n.attach)({source:_,effect:e=>{}}),B=(0,n.attach)({source:r.treeStore,effect:async({nodes:e})=>A(e)}),V=(0,n.attach)({source:r.treeStore,effect:async({nodes:e,edges:t},n)=>{if(S(n))return j(n,e,t)}}),H=(0,n.attach)({source:r.treeStore,effect:async({nodes:n,edges:r,conditions:i},a)=>{if(!y(a))return;let o=i.find(e=>e.id===a.conditionId)?.logic;return o?M(!!await e.t(t,o),a.id,n,r):void 0}}),U=(0,n.attach)({source:r.treeStore,effect:async({nodes:e,edges:n},r)=>{if(!C(r))return;let i=r.actionKey;if(!i){`${r.id}`;return}let a=t.actions.getByKey(i).getState();if(!a){`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}if(typeof a!=`function`){`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}try{`${i}`,await a({...t.getStateSnapshot(),args:[]},{experience:Y});let o=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`true`);if(!o)return`${r.id}`,null;let s=e.find(e=>e.id===o.destinationNodeId);return`${i}${s?.id}`,s||null}catch{`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);if(!t)return`${r.id}`,null;let a=e.find(e=>e.id===t.destinationNodeId);return`${i}${a?.id}`,a||null}}}),W=(0,n.createEffect)(e=>{x(e)&&t.experiences.launch({key:e.experienceKey})}),G=(0,n.attach)({source:[_,r.treeStore],effect:async([e,{nodes:t,edges:n}])=>j(e,t,n)}),K=(0,n.attach)({source:[_,r.treeStore],effect:async([e,{nodes:t,edges:n}])=>j(e,t,n)}),q=(0,n.createEffect)(e=>{t.history.push({instanceId:o,experienceId:r.id,node:e})}),J=(0,n.attach)({source:r.configStore,effect:async({initializeOpenLogic:n})=>a?.initialiseOpen===void 0?e.n(n)?!!await e.t(t,n):n??!1:a.initialiseOpen}),Y=Object.freeze({id:o,experienceKey:r.key,experienceId:r.id,configStore:r.configStore,target:i,componentStore:p,stateStore:m,isOpenStore:F,open:I.open,close:I.close,toggleOpen:I.toggle,setOpen:I.set,treeStore:r.treeStore,currentNodeStore:_,currentStepStore:v,previousStepStore:w,nextReachableStepNodesStore:E,stepsToOriginStore:O,stepsToLeafStore:P,goToNextStep:c,goToPreviousStep:l,goToStepById:u,stepsHistoryStore:g}),X=(0,n.createEvent)(),Z=(0,n.createEvent)();return(0,n.sample)({clock:_,target:X}),(0,n.sample)({clock:X,filter:e=>e===null,target:B}),(0,n.sample)({clock:X,filter:e=>e!==null,target:Z}),(0,n.split)({source:Z,match:e=>y(e)?`condition`:b(e)?`step`:x(e)?`launchExperience`:S(e)?`origin`:C(e)?`action`:`other`,cases:{origin:V,condition:H,step:z,launchExperience:W,action:U,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[H.doneData,V.doneData,B.doneData,K.doneData,G.doneData,U.doneData],filter:Boolean,target:q}),(0,n.sample)({clock:c,target:K}),(0,n.sample)({clock:c,source:v,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Y}))}),(0,n.sample)({clock:K.done,source:v,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Y}))}),(0,n.sample)({clock:K.fail,source:v,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Y}))}),(0,n.sample)({clock:l,target:L}),(0,n.sample)({clock:u,target:R}),(0,n.sample)({source:(0,n.combine)([H.pending,V.pending,B.pending,K.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:m}),(0,n.sample)({clock:z.doneData,source:v,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Y}))}),(0,n.sample)({clock:f,target:J}),(0,n.sample)({source:J.doneData,fn:Boolean,target:F}),(0,n.sample)({source:_,clock:s,filter:e=>e?S(e):!0,target:G}),(0,n.sample)({source:F,filter:Boolean,target:s}),(0,n.sample)({source:F,filter:Boolean,target:t.eventBus.prepend(()=>({type:`experience_open`,experience:Y}))}),(0,n.sample)({source:F,filter:e=>!e,target:t.eventBus.prepend(()=>({type:`experience_close`,experience:Y}))}),(0,n.sample)({clock:d,target:[f]}),d(),Y});function F(e){return(0,r.invoke)(P,e)}var I=(0,r.createFactory)(({client:e})=>{let t=N.store({}),r=(0,n.createEvent)(),i=(0,n.createEvent)(),a=(0,n.createEvent)(),s=(0,n.createApi)(t,{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??[]}}}),l=(0,n.createEffect)(({experience:t,target:n,options:r})=>F({client:e,experience:t,target:n,options:r})),u=(0,n.createEffect)(e=>{s.register(e)}),d=(0,n.createEffect)(e=>{e.target&&c(e.target,()=>{a(e)})}),f=(0,n.createEffect)(e=>{s.unregister(e)}),p=(0,n.createEffect)(t=>{let n=t.componentStore.getState();if(!n)return;let r=n.frameworkStore.getState();if(!r){`${n.name}`;return}let i=t.target;if(!i){`${t.experienceId}`;return}let a=o(i);try{r.render(a,n.component,e,t)}catch{}});(0,n.sample)({clock:r,target:l}),(0,n.sample)({clock:a,target:f}),(0,n.sample)({clock:l.doneData,target:[u,d,i]}),(0,n.sample)({clock:l.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,n.sample)({clock:i,target:p});function m(e,t,n){r({experience:e,target:t,options:n})}let h=t.map(e=>Object.values(e).flat());function g(e){return h.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function _(e){return t.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:m,getByExperienceKey:g,getByExperienceId:_,listStore:h}});function L(e){return(0,r.invoke)(I,e)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return F}});
|
|
@@ -139,36 +139,42 @@ var F = (e, t, n, r, i = /* @__PURE__ */ new Set()) => i.has(n.id) ? [] : (i.add
|
|
|
139
139
|
};
|
|
140
140
|
//#endregion
|
|
141
141
|
//#region src/utils/node-tree/get-next-node-from-condition.ts
|
|
142
|
-
async function
|
|
142
|
+
async function ne(e, t, n, r) {
|
|
143
143
|
let i = e ? "true" : "false", a = r.find((e) => e.sourceHandle === i && e.sourceNodeId === t);
|
|
144
144
|
return n.find((e) => e.id === a?.destinationNodeId);
|
|
145
145
|
}
|
|
146
146
|
//#endregion
|
|
147
147
|
//#region src/entities/experience-instance/experience-instance.ts
|
|
148
|
-
var
|
|
149
|
-
let p =
|
|
148
|
+
var V = c("experience-instance"), H = p(({ client: n, experience: r, target: i, options: c }) => {
|
|
149
|
+
let p = Math.random().toString(36).substring(7);
|
|
150
|
+
n.history.seedInstanceFromSnapshot({
|
|
151
|
+
instanceId: p,
|
|
152
|
+
experienceId: r.id
|
|
153
|
+
});
|
|
154
|
+
let m = u(), h = u(), g = u(), _ = u(), v = u(), y = u(), b = r.componentStore, x = V.store("transitioning"), S = n.history.entriesStore.map((e) => e.filter((e) => e.instanceId === p)), C = S.map((e) => e.filter((e) => j(e.node))), w = S.map((e) => e.at(-1)?.node || null), T = o(n.steps.listStore, w, (e, t) => e.find((e) => t && j(t) && e.id === t.stepId) || null), E = o(n.steps.listStore, C, (e, t) => {
|
|
150
155
|
let n = t.at(-2);
|
|
151
156
|
if (!n || !j(n.node)) return null;
|
|
152
157
|
let r = n.node;
|
|
153
158
|
return e.find((e) => e.id === r.stepId) || null;
|
|
154
|
-
}),
|
|
159
|
+
}), D = o(r.treeStore, w, ({ nodes: e, edges: t }, n) => n ? I(e, t, n) : []), O = o(r.treeStore, w, ({ nodes: e, edges: t }, n) => n ? te(e, t, n) : [-1, -1]), k = o(r.treeStore, w, ({ nodes: e, edges: t }, n) => n ? ee(e, t, n) : [-1, -1]), F = V.store(!1), L = s(F, {
|
|
155
160
|
open: () => !0,
|
|
156
161
|
close: () => !1,
|
|
157
162
|
toggle: (e) => !e,
|
|
158
163
|
set: (e, t) => t
|
|
159
|
-
}),
|
|
160
|
-
n.history.back({
|
|
161
|
-
}),
|
|
164
|
+
}), R = l(async () => {
|
|
165
|
+
n.history.back({ instanceId: p });
|
|
166
|
+
}), H = a({
|
|
162
167
|
source: r.treeStore,
|
|
163
168
|
effect: async (e, t) => {
|
|
164
169
|
let i = e.nodes.find((e) => j(e) && e.stepId === t);
|
|
165
170
|
i && n.history.push({
|
|
171
|
+
instanceId: p,
|
|
166
172
|
experienceId: r.id,
|
|
167
173
|
node: i
|
|
168
174
|
});
|
|
169
175
|
}
|
|
170
176
|
}), U = a({
|
|
171
|
-
source:
|
|
177
|
+
source: w,
|
|
172
178
|
effect: (e) => {}
|
|
173
179
|
}), W = a({
|
|
174
180
|
source: r.treeStore,
|
|
@@ -183,7 +189,7 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
183
189
|
effect: async ({ nodes: e, edges: r, conditions: i }, a) => {
|
|
184
190
|
if (!A(a)) return;
|
|
185
191
|
let o = i.find((e) => e.id === a.conditionId)?.logic;
|
|
186
|
-
return o ?
|
|
192
|
+
return o ? ne(!!await t(n, o), a.id, e, r) : void 0;
|
|
187
193
|
}
|
|
188
194
|
}), q = a({
|
|
189
195
|
source: r.treeStore,
|
|
@@ -222,16 +228,17 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
222
228
|
return `${i}${a?.id}`, a || null;
|
|
223
229
|
}
|
|
224
230
|
}
|
|
225
|
-
}),
|
|
231
|
+
}), re = l((e) => {
|
|
226
232
|
M(e) && n.experiences.launch({ key: e.experienceKey });
|
|
227
233
|
}), J = a({
|
|
228
|
-
source: [
|
|
234
|
+
source: [w, r.treeStore],
|
|
229
235
|
effect: async ([e, { nodes: t, edges: n }]) => B(e, t, n)
|
|
230
236
|
}), Y = a({
|
|
231
|
-
source: [
|
|
237
|
+
source: [w, r.treeStore],
|
|
232
238
|
effect: async ([e, { nodes: t, edges: n }]) => B(e, t, n)
|
|
233
|
-
}),
|
|
239
|
+
}), ie = l((e) => {
|
|
234
240
|
n.history.push({
|
|
241
|
+
instanceId: p,
|
|
235
242
|
experienceId: r.id,
|
|
236
243
|
node: e
|
|
237
244
|
});
|
|
@@ -239,32 +246,32 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
239
246
|
source: r.configStore,
|
|
240
247
|
effect: async ({ initializeOpenLogic: r }) => c?.initialiseOpen === void 0 ? e(r) ? !!await t(n, r) : r ?? !1 : c.initialiseOpen
|
|
241
248
|
}), Z = Object.freeze({
|
|
242
|
-
id:
|
|
249
|
+
id: p,
|
|
243
250
|
experienceKey: r.key,
|
|
244
251
|
experienceId: r.id,
|
|
245
252
|
configStore: r.configStore,
|
|
246
253
|
target: i,
|
|
247
|
-
componentStore:
|
|
248
|
-
stateStore:
|
|
249
|
-
isOpenStore:
|
|
250
|
-
open:
|
|
251
|
-
close:
|
|
252
|
-
toggleOpen:
|
|
253
|
-
setOpen:
|
|
254
|
+
componentStore: b,
|
|
255
|
+
stateStore: x,
|
|
256
|
+
isOpenStore: F,
|
|
257
|
+
open: L.open,
|
|
258
|
+
close: L.close,
|
|
259
|
+
toggleOpen: L.toggle,
|
|
260
|
+
setOpen: L.set,
|
|
254
261
|
treeStore: r.treeStore,
|
|
255
|
-
currentNodeStore:
|
|
256
|
-
currentStepStore:
|
|
257
|
-
previousStepStore:
|
|
258
|
-
nextReachableStepNodesStore:
|
|
259
|
-
stepsToOriginStore:
|
|
260
|
-
stepsToLeafStore:
|
|
261
|
-
goToNextStep:
|
|
262
|
-
goToPreviousStep:
|
|
263
|
-
goToStepById:
|
|
264
|
-
stepsHistoryStore:
|
|
262
|
+
currentNodeStore: w,
|
|
263
|
+
currentStepStore: T,
|
|
264
|
+
previousStepStore: E,
|
|
265
|
+
nextReachableStepNodesStore: D,
|
|
266
|
+
stepsToOriginStore: O,
|
|
267
|
+
stepsToLeafStore: k,
|
|
268
|
+
goToNextStep: h,
|
|
269
|
+
goToPreviousStep: g,
|
|
270
|
+
goToStepById: _,
|
|
271
|
+
stepsHistoryStore: C
|
|
265
272
|
}), Q = u(), $ = u();
|
|
266
273
|
return d({
|
|
267
|
-
clock:
|
|
274
|
+
clock: w,
|
|
268
275
|
target: Q
|
|
269
276
|
}), d({
|
|
270
277
|
clock: Q,
|
|
@@ -281,7 +288,7 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
281
288
|
origin: G,
|
|
282
289
|
condition: K,
|
|
283
290
|
step: U,
|
|
284
|
-
launchExperience:
|
|
291
|
+
launchExperience: re,
|
|
285
292
|
action: q,
|
|
286
293
|
__: u()
|
|
287
294
|
}
|
|
@@ -295,13 +302,13 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
295
302
|
q.doneData
|
|
296
303
|
],
|
|
297
304
|
filter: Boolean,
|
|
298
|
-
target:
|
|
305
|
+
target: ie
|
|
299
306
|
}), d({
|
|
300
|
-
clock:
|
|
307
|
+
clock: h,
|
|
301
308
|
target: Y
|
|
302
309
|
}), d({
|
|
303
|
-
clock:
|
|
304
|
-
source:
|
|
310
|
+
clock: h,
|
|
311
|
+
source: T,
|
|
305
312
|
filter: Boolean,
|
|
306
313
|
target: n.eventBus.prepend((e) => ({
|
|
307
314
|
type: "step_submit",
|
|
@@ -310,7 +317,7 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
310
317
|
}))
|
|
311
318
|
}), d({
|
|
312
319
|
clock: Y.done,
|
|
313
|
-
source:
|
|
320
|
+
source: T,
|
|
314
321
|
filter: Boolean,
|
|
315
322
|
target: n.eventBus.prepend((e) => ({
|
|
316
323
|
type: "step_submit_success",
|
|
@@ -319,19 +326,19 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
319
326
|
}))
|
|
320
327
|
}), d({
|
|
321
328
|
clock: Y.fail,
|
|
322
|
-
source:
|
|
329
|
+
source: T,
|
|
323
330
|
filter: Boolean,
|
|
324
331
|
target: n.eventBus.prepend((e) => ({
|
|
325
332
|
type: "step_submit_error",
|
|
326
333
|
step: e,
|
|
327
334
|
experience: Z
|
|
328
335
|
}))
|
|
329
|
-
}), d({
|
|
330
|
-
clock: h,
|
|
331
|
-
target: L
|
|
332
336
|
}), d({
|
|
333
337
|
clock: g,
|
|
334
338
|
target: R
|
|
339
|
+
}), d({
|
|
340
|
+
clock: _,
|
|
341
|
+
target: H
|
|
335
342
|
}), d({
|
|
336
343
|
source: o([
|
|
337
344
|
K.pending,
|
|
@@ -340,10 +347,10 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
340
347
|
Y.pending
|
|
341
348
|
]),
|
|
342
349
|
fn: (e) => e.some(Boolean) ? "transitioning" : "ready",
|
|
343
|
-
target:
|
|
350
|
+
target: x
|
|
344
351
|
}), d({
|
|
345
352
|
clock: U.doneData,
|
|
346
|
-
source:
|
|
353
|
+
source: T,
|
|
347
354
|
filter: Boolean,
|
|
348
355
|
target: n.eventBus.prepend((e) => ({
|
|
349
356
|
type: "step_enter",
|
|
@@ -351,45 +358,45 @@ var H = c("experience-instance"), U = p(({ client: n, experience: r, target: i,
|
|
|
351
358
|
experience: Z
|
|
352
359
|
}))
|
|
353
360
|
}), d({
|
|
354
|
-
clock:
|
|
361
|
+
clock: y,
|
|
355
362
|
target: X
|
|
356
363
|
}), d({
|
|
357
364
|
source: X.doneData,
|
|
358
365
|
fn: Boolean,
|
|
359
|
-
target:
|
|
366
|
+
target: F
|
|
360
367
|
}), d({
|
|
361
|
-
source:
|
|
362
|
-
clock:
|
|
368
|
+
source: w,
|
|
369
|
+
clock: m,
|
|
363
370
|
filter: (e) => e ? N(e) : !0,
|
|
364
371
|
target: J
|
|
365
372
|
}), d({
|
|
366
|
-
source:
|
|
373
|
+
source: F,
|
|
367
374
|
filter: Boolean,
|
|
368
|
-
target:
|
|
375
|
+
target: m
|
|
369
376
|
}), d({
|
|
370
|
-
source:
|
|
377
|
+
source: F,
|
|
371
378
|
filter: Boolean,
|
|
372
379
|
target: n.eventBus.prepend(() => ({
|
|
373
380
|
type: "experience_open",
|
|
374
381
|
experience: Z
|
|
375
382
|
}))
|
|
376
383
|
}), d({
|
|
377
|
-
source:
|
|
384
|
+
source: F,
|
|
378
385
|
filter: (e) => !e,
|
|
379
386
|
target: n.eventBus.prepend(() => ({
|
|
380
387
|
type: "experience_close",
|
|
381
388
|
experience: Z
|
|
382
389
|
}))
|
|
383
390
|
}), d({
|
|
384
|
-
clock:
|
|
385
|
-
target: [
|
|
386
|
-
}),
|
|
391
|
+
clock: v,
|
|
392
|
+
target: [y]
|
|
393
|
+
}), v(), Z;
|
|
387
394
|
});
|
|
388
|
-
function
|
|
389
|
-
return m(
|
|
395
|
+
function U(e) {
|
|
396
|
+
return m(H, e);
|
|
390
397
|
}
|
|
391
|
-
var
|
|
392
|
-
let t =
|
|
398
|
+
var W = p(({ client: e }) => {
|
|
399
|
+
let t = V.store({}), n = u(), r = u(), i = u(), a = s(t, {
|
|
393
400
|
register(e, t) {
|
|
394
401
|
let n = [...e[t.experienceId] ?? []];
|
|
395
402
|
return n.push(t), {
|
|
@@ -404,7 +411,7 @@ var G = p(({ client: e }) => {
|
|
|
404
411
|
[n]: r ?? []
|
|
405
412
|
};
|
|
406
413
|
}
|
|
407
|
-
}), o = l(({ experience: t, target: n, options: r }) =>
|
|
414
|
+
}), o = l(({ experience: t, target: n, options: r }) => U({
|
|
408
415
|
client: e,
|
|
409
416
|
experience: t,
|
|
410
417
|
target: n,
|
|
@@ -441,26 +448,6 @@ var G = p(({ client: e }) => {
|
|
|
441
448
|
}), d({
|
|
442
449
|
clock: i,
|
|
443
450
|
target: p
|
|
444
|
-
}), d({
|
|
445
|
-
clock: i,
|
|
446
|
-
source: {
|
|
447
|
-
instances: t,
|
|
448
|
-
history: e.history.entriesStore
|
|
449
|
-
},
|
|
450
|
-
filter: ({ instances: e, history: t }, n) => {
|
|
451
|
-
if (!((e[n.experienceId]?.length ?? 0) <= 1)) return !1;
|
|
452
|
-
let r;
|
|
453
|
-
for (let e = t.length - 1; e >= 0; e--) {
|
|
454
|
-
let i = t[e];
|
|
455
|
-
if (i?.experienceId === n.experienceId) {
|
|
456
|
-
r = i;
|
|
457
|
-
break;
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
return r ? !j(r.node) : !1;
|
|
461
|
-
},
|
|
462
|
-
fn: (e, t) => ({ experienceId: t.experienceId }),
|
|
463
|
-
target: e.history.clearForExperience
|
|
464
451
|
}), d({
|
|
465
452
|
clock: o.doneData,
|
|
466
453
|
target: [
|
|
@@ -499,8 +486,8 @@ var G = p(({ client: e }) => {
|
|
|
499
486
|
listStore: g
|
|
500
487
|
};
|
|
501
488
|
});
|
|
502
|
-
function
|
|
503
|
-
return m(
|
|
489
|
+
function G(e) {
|
|
490
|
+
return m(W, e);
|
|
504
491
|
}
|
|
505
492
|
//#endregion
|
|
506
|
-
export { w as a, D as c, j as i, T as l,
|
|
493
|
+
export { w as a, D as c, j as i, T as l, G as n, v as o, A as r, C as s, U as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAOL,KAAK,aAAa,EAGlB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAiB1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9B,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,EAAE,WAAW,GAAG,SAAS,CAAA;IAC/B,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,CAAA;IAC5C,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,gBAAgB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,iBAAiB,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC/C,2BAA2B,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;IACpD,kBAAkB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACjC,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;CACzC;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAA;AACtF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,QAAA,MAAM,+BAA+B,6CAMhC;IACD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,eAAe,CAAA;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,uBAAuB,CAAA;CAClC,
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,35 +3,41 @@ export interface HistoryEntry {
|
|
|
3
3
|
id: string;
|
|
4
4
|
node: ExperienceNode;
|
|
5
5
|
at: number;
|
|
6
|
+
instanceId: string;
|
|
6
7
|
experienceId: string;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
|
-
* Creates a fresh history instance: an Effector-backed
|
|
10
|
-
*
|
|
11
|
-
* `
|
|
10
|
+
* Creates a fresh history instance: an Effector-backed list of navigation
|
|
11
|
+
* entries plus the events that drive it. Live entries are filtered per
|
|
12
|
+
* instance via `instanceId`; the derived `snapshotStore` groups by
|
|
13
|
+
* `experienceId` and is used by the storage plugin to resume across respawn.
|
|
12
14
|
*
|
|
13
|
-
* @returns {ReturnType<typeof invoke<typeof createHistoryFactory>>} The
|
|
15
|
+
* @returns {ReturnType<typeof invoke<typeof createHistoryFactory>>} The events and stores.
|
|
14
16
|
* @example
|
|
15
17
|
* const history = createHistory()
|
|
16
18
|
*/
|
|
17
19
|
export declare function createHistory(): {
|
|
18
20
|
push: import('effector').EventCallable<{
|
|
21
|
+
instanceId: string;
|
|
19
22
|
experienceId: string;
|
|
20
23
|
node: ExperienceNode;
|
|
21
24
|
}>;
|
|
22
25
|
replace: import('effector').EventCallable<{
|
|
26
|
+
instanceId: string;
|
|
23
27
|
experienceId: string;
|
|
24
28
|
node: ExperienceNode;
|
|
25
29
|
}>;
|
|
26
30
|
back: import('effector').EventCallable<{
|
|
27
|
-
|
|
31
|
+
instanceId: string;
|
|
28
32
|
}>;
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
restoreSnapshots: import('effector').EventCallable<{
|
|
34
|
+
snapshots: Record<string, HistoryEntry[]>;
|
|
31
35
|
}>;
|
|
32
|
-
|
|
36
|
+
seedInstanceFromSnapshot: import('effector').EventCallable<{
|
|
37
|
+
instanceId: string;
|
|
33
38
|
experienceId: string;
|
|
34
39
|
}>;
|
|
35
40
|
entriesStore: import('effector').Store<HistoryEntry[]>;
|
|
41
|
+
snapshotStore: import('effector').Store<Record<string, HistoryEntry[]>>;
|
|
36
42
|
};
|
|
37
43
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAM9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAsKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa;;oBA5Hb,MAAM;sBACJ,MAAM;cACd,cAAc;;;oBAGR,MAAM;sBACJ,MAAM;cACd,cAAc;;;oBAEyB,MAAM;;;mBAExC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;;;oBAG7B,MAAM;sBACJ,MAAM;;;;EA+GvB"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -33,23 +33,27 @@ export declare class Picked {
|
|
|
33
33
|
readonly searchParams: import('.').PickedSearchParams;
|
|
34
34
|
readonly history: {
|
|
35
35
|
push: import('effector').EventCallable<{
|
|
36
|
+
instanceId: string;
|
|
36
37
|
experienceId: string;
|
|
37
38
|
node: import('.').ExperienceNode;
|
|
38
39
|
}>;
|
|
39
40
|
replace: import('effector').EventCallable<{
|
|
41
|
+
instanceId: string;
|
|
40
42
|
experienceId: string;
|
|
41
43
|
node: import('.').ExperienceNode;
|
|
42
44
|
}>;
|
|
43
45
|
back: import('effector').EventCallable<{
|
|
44
|
-
|
|
46
|
+
instanceId: string;
|
|
45
47
|
}>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
restoreSnapshots: import('effector').EventCallable<{
|
|
49
|
+
snapshots: Record<string, import('.').HistoryEntry[]>;
|
|
48
50
|
}>;
|
|
49
|
-
|
|
51
|
+
seedInstanceFromSnapshot: import('effector').EventCallable<{
|
|
52
|
+
instanceId: string;
|
|
50
53
|
experienceId: string;
|
|
51
54
|
}>;
|
|
52
55
|
entriesStore: import('effector').Store<import('.').HistoryEntry[]>;
|
|
56
|
+
snapshotStore: import('effector').Store<Record<string, import('.').HistoryEntry[]>>;
|
|
53
57
|
};
|
|
54
58
|
readonly components: {
|
|
55
59
|
register: (name: string, component: AdaptedComponent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAe,MAAM,0BAA0B,CAAA;AAC3F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKzD,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAGtD,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,gCAAgC,CAAA;AAKrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,CAAC,MAAM,0FAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,UAAQ;IAEf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;IAEzE,SAAgB,QAAQ,oDAAiC;IACzD,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAE5B,QAAQ,CAAC,YAAY,iCAAoB;IAEzC,QAAQ,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,19 @@ import { Plugin } from '../../entities/plugin/plugin';
|
|
|
3
3
|
export interface HistoryBrowserStoragePlugin {
|
|
4
4
|
storage?: 'local' | 'session';
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Picked plugin that persists per-experience history snapshots into
|
|
8
|
+
* `localStorage` (default) or `sessionStorage` and restores them on the
|
|
9
|
+
* client `load` event. Snapshots are keyed by `experienceId`; when a fresh
|
|
10
|
+
* `ExperienceInstance` spawns it reads its experience's snapshot via the
|
|
11
|
+
* history entity's `seedInstanceFromSnapshot` event and resumes from the
|
|
12
|
+
* last step (trailing action/condition terminals are dropped at seed time).
|
|
13
|
+
*
|
|
14
|
+
* @param {HistoryBrowserStoragePlugin} [options] - Plugin options.
|
|
15
|
+
* @param {'local' | 'session'} [options.storage] - Backing store.
|
|
16
|
+
* @returns {Plugin} A Picked client plugin.
|
|
17
|
+
* @example
|
|
18
|
+
* client.use(historyBrowserStoragePlugin({ storage: 'session' }))
|
|
19
|
+
*/
|
|
6
20
|
export declare const historyBrowserStoragePlugin: ({ storage, }?: HistoryBrowserStoragePlugin) => Plugin;
|
|
7
21
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAM1D,cAAc;AACd,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,2BAA2B,GAAI,eAEzC,2BAAgC,KAAG,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAM1D,cAAc;AACd,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,GAAI,eAEzC,2BAAgC,KAAG,MA+BrC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./rules-logic-DNLOv90w.cjs`);require(`./logger-fbvQC40v.cjs`);const t=require(`./supports-Dsjg-82e.cjs`);let n=require(`effector`),r=require(`@withease/factories`);function i(e){return!t.d()||!t.r()?[]:Array.from(window.document.querySelectorAll(e)).filter(e=>e instanceof HTMLElement)}var a=`open`;function o(e){if(!t.l())throw Error(`Shadow DOM is not supported in this environment`);return e.attachShadow({mode:a})}function s(){return new Promise((e,n)=>{if(!t.r()){n();return}document.readyState===`loading`?document.addEventListener(`readystatechange`,()=>e(),{once:!0}):e()})}function c(e,t){let n=new MutationObserver(r=>{document.contains(e)||(n.disconnect(),t())});n.observe(document.body,{childList:!0,subtree:!0})}var l=`picked-root`,u=`picked-target`,d=`picked-root`;function f(e,t){return[...e,{selector:`${d}[experience-id="${t}"]`,placement:`replace`}].flatMap(e=>{let n=i(e.selector).filter(e=>!h(e,t)&&!g(e,t));return{...e,elements:n}})}function p(e,t,n){return e.flatMap(e=>e.elements.map(r=>v(r,e.placement,t,n)))}function m(e,t){e.classList.add(u),e.classList.add(`${u}-${t}`)}function h(e,t){return t?e.classList.contains(`${u}-${t}`):e.classList.contains(`${u}`)}function g(e,t){return t?e.classList.contains(`${l}-${t}`):e.classList.contains(l)}function _(e,t){let n=document.createElement(`div`);return n.style.display=`block`,n.classList.add(l),n.classList.add(`${l}-${e}`),n.classList.add(`${l}-${t}`),n}function v(e,t,n,r){let i,a=_(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 y(e){return e.type===`condition`}function b(e){return e.type===`step`}function x(e){return e.type===`experience`}function S(e){return e.type===`origin`}function C(e){return e.type===`action`}var w=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),b(n)&&!r?[n]:t.filter(e=>e.sourceNodeId===n.id).flatMap(n=>{let r=e.find(e=>e.id===n.destinationNodeId);return r?w(e,t,r,!1,i):[]})),T=(e,t,n)=>w(e,t,n,!0,new Set),E=(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 o=1/0,s=-1/0;for(let n of a){let r=e.find(e=>e.id===n.destinationNodeId);if(!r)continue;let[a,c]=E(e,t,r,!1,new Set(i));a!==-1&&(o=Math.min(o,a+1),s=Math.max(s,c+1))}return o===1/0?[-1,-1]:[o,s]},D=(e,t,n)=>E(e,t,n,!0,new Set),O=(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,c]=O(e,t,i,new Set(r));s!==-1&&(a=Math.min(a,s+1),o=Math.max(o,c+1))}return a===1/0?[-1,-1]:[a,o]},k=(e,t,n)=>O(e,t,n,new Set),A=e=>e.find(e=>e.type===`origin`)||null,j=(e,t,n)=>{if(!e)return A(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function M(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 N=(0,n.createDomain)(`experience-instance`),P=(0,r.createFactory)(({client:t,experience:r,target:i,options:a})=>{let o=(0,n.createEvent)(),s=(0,n.createEvent)(),c=(0,n.createEvent)(),l=(0,n.createEvent)(),u=(0,n.createEvent)(),d=(0,n.createEvent)(),f=r.componentStore,p=N.store(`transitioning`),m=t.history.entriesStore.map(e=>e.filter(e=>e.experienceId===r.id)),h=m.map(e=>e.filter(e=>b(e.node))),g=m.map(e=>e.at(-1)?.node||null),_=(0,n.combine)(t.steps.listStore,g,(e,t)=>e.find(e=>t&&b(t)&&e.id===t.stepId)||null),v=(0,n.combine)(t.steps.listStore,h,(e,t)=>{let n=t.at(-2);if(!n||!b(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),w=(0,n.combine)(r.treeStore,g,({nodes:e,edges:t},n)=>n?T(e,t,n):[]),E=(0,n.combine)(r.treeStore,g,({nodes:e,edges:t},n)=>n?k(e,t,n):[-1,-1]),O=(0,n.combine)(r.treeStore,g,({nodes:e,edges:t},n)=>n?D(e,t,n):[-1,-1]),P=N.store(!1),F=(0,n.createApi)(P,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),I=(0,n.createEffect)(async()=>{t.history.back({experienceId:r.id})}),L=(0,n.attach)({source:r.treeStore,effect:async(e,n)=>{let i=e.nodes.find(e=>b(e)&&e.stepId===n);i&&t.history.push({experienceId:r.id,node:i})}}),R=(0,n.attach)({source:g,effect:e=>{}}),z=(0,n.attach)({source:r.treeStore,effect:async({nodes:e})=>A(e)}),B=(0,n.attach)({source:r.treeStore,effect:async({nodes:e,edges:t},n)=>{if(S(n))return j(n,e,t)}}),V=(0,n.attach)({source:r.treeStore,effect:async({nodes:n,edges:r,conditions:i},a)=>{if(!y(a))return;let o=i.find(e=>e.id===a.conditionId)?.logic;return o?M(!!await e.t(t,o),a.id,n,r):void 0}}),H=(0,n.attach)({source:r.treeStore,effect:async({nodes:e,edges:n},r)=>{if(!C(r))return;let i=r.actionKey;if(!i){`${r.id}`;return}let a=t.actions.getByKey(i).getState();if(!a){`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}if(typeof a!=`function`){`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);return t?e.find(e=>e.id===t.destinationNodeId):null}try{`${i}`,await a({...t.getStateSnapshot(),args:[]},{experience:J});let o=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`true`);if(!o)return`${r.id}`,null;let s=e.find(e=>e.id===o.destinationNodeId);return`${i}${s?.id}`,s||null}catch{`${i}`;let t=n.find(e=>e.sourceNodeId===r.id&&e.sourceHandle===`false`);if(!t)return`${r.id}`,null;let a=e.find(e=>e.id===t.destinationNodeId);return`${i}${a?.id}`,a||null}}}),U=(0,n.createEffect)(e=>{x(e)&&t.experiences.launch({key:e.experienceKey})}),W=(0,n.attach)({source:[g,r.treeStore],effect:async([e,{nodes:t,edges:n}])=>j(e,t,n)}),G=(0,n.attach)({source:[g,r.treeStore],effect:async([e,{nodes:t,edges:n}])=>j(e,t,n)}),K=(0,n.createEffect)(e=>{t.history.push({experienceId:r.id,node:e})}),q=(0,n.attach)({source:r.configStore,effect:async({initializeOpenLogic:n})=>a?.initialiseOpen===void 0?e.n(n)?!!await e.t(t,n):n??!1:a.initialiseOpen}),J=Object.freeze({id:Math.random().toString(36).substring(7),experienceKey:r.key,experienceId:r.id,configStore:r.configStore,target:i,componentStore:f,stateStore:p,isOpenStore:P,open:F.open,close:F.close,toggleOpen:F.toggle,setOpen:F.set,treeStore:r.treeStore,currentNodeStore:g,currentStepStore:_,previousStepStore:v,nextReachableStepNodesStore:w,stepsToOriginStore:E,stepsToLeafStore:O,goToNextStep:s,goToPreviousStep:c,goToStepById:l,stepsHistoryStore:h}),Y=(0,n.createEvent)(),X=(0,n.createEvent)();return(0,n.sample)({clock:g,target:Y}),(0,n.sample)({clock:Y,filter:e=>e===null,target:z}),(0,n.sample)({clock:Y,filter:e=>e!==null,target:X}),(0,n.split)({source:X,match:e=>y(e)?`condition`:b(e)?`step`:x(e)?`launchExperience`:S(e)?`origin`:C(e)?`action`:`other`,cases:{origin:B,condition:V,step:R,launchExperience:U,action:H,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[V.doneData,B.doneData,z.doneData,G.doneData,W.doneData,H.doneData],filter:Boolean,target:K}),(0,n.sample)({clock:s,target:G}),(0,n.sample)({clock:s,source:_,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:J}))}),(0,n.sample)({clock:G.done,source:_,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:J}))}),(0,n.sample)({clock:G.fail,source:_,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:J}))}),(0,n.sample)({clock:c,target:I}),(0,n.sample)({clock:l,target:L}),(0,n.sample)({source:(0,n.combine)([V.pending,B.pending,z.pending,G.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:p}),(0,n.sample)({clock:R.doneData,source:_,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:J}))}),(0,n.sample)({clock:d,target:q}),(0,n.sample)({source:q.doneData,fn:Boolean,target:P}),(0,n.sample)({source:g,clock:o,filter:e=>e?S(e):!0,target:W}),(0,n.sample)({source:P,filter:Boolean,target:o}),(0,n.sample)({source:P,filter:Boolean,target:t.eventBus.prepend(()=>({type:`experience_open`,experience:J}))}),(0,n.sample)({source:P,filter:e=>!e,target:t.eventBus.prepend(()=>({type:`experience_close`,experience:J}))}),(0,n.sample)({clock:u,target:[d]}),u(),J});function F(e){return(0,r.invoke)(P,e)}var I=(0,r.createFactory)(({client:e})=>{let t=N.store({}),r=(0,n.createEvent)(),i=(0,n.createEvent)(),a=(0,n.createEvent)(),s=(0,n.createApi)(t,{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??[]}}}),l=(0,n.createEffect)(({experience:t,target:n,options:r})=>F({client:e,experience:t,target:n,options:r})),u=(0,n.createEffect)(e=>{s.register(e)}),d=(0,n.createEffect)(e=>{e.target&&c(e.target,()=>{a(e)})}),f=(0,n.createEffect)(e=>{s.unregister(e)}),p=(0,n.createEffect)(t=>{let n=t.componentStore.getState();if(!n)return;let r=n.frameworkStore.getState();if(!r){`${n.name}`;return}let i=t.target;if(!i){`${t.experienceId}`;return}let a=o(i);try{r.render(a,n.component,e,t)}catch{}});(0,n.sample)({clock:r,target:l}),(0,n.sample)({clock:a,target:f}),(0,n.sample)({clock:a,source:{instances:t,history:e.history.entriesStore},filter:({instances:e,history:t},n)=>{if(!((e[n.experienceId]?.length??0)<=1))return!1;let r;for(let e=t.length-1;e>=0;e--){let i=t[e];if(i?.experienceId===n.experienceId){r=i;break}}return r?!b(r.node):!1},fn:(e,t)=>({experienceId:t.experienceId}),target:e.history.clearForExperience}),(0,n.sample)({clock:l.doneData,target:[u,d,i]}),(0,n.sample)({clock:l.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,n.sample)({clock:i,target:p});function m(e,t,n){r({experience:e,target:t,options:n})}let h=t.map(e=>Object.values(e).flat());function g(e){return h.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function _(e){return t.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:m,getByExperienceKey:g,getByExperienceId:_,listStore:h}});function L(e){return(0,r.invoke)(I,e)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return F}});
|