@picked/client 0.0.1-dev.1778212587319 → 0.0.1-dev.1778467244607
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-Cz_3UuGL.cjs → api-CF5VqlzY.cjs} +1 -1
- package/dist/{api-Cwiixs03.js → api-DWGhvwuG.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/esm/index.js +346 -366
- package/dist/esm/plugins/dynamic-experiences/index.js +1 -1
- package/dist/esm/plugins/history-browser-storage/index.js +10 -26
- package/dist/esm/server/index.js +1 -1
- package/dist/{experience-instance-dwfbKgOd.js → experience-instance-BrLWgVAN.js} +179 -178
- package/dist/experience-instance-Ct3ogC7n.cjs +1 -0
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +16 -28
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/picked.d.ts +14 -8
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +0 -19
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/experience-instance-DDZR8zjM.cjs +0 -1
|
@@ -1,37 +1,25 @@
|
|
|
1
1
|
import { ExperienceNode } from '../experience/experience';
|
|
2
|
-
|
|
3
|
-
export interface InstanceScope {
|
|
4
|
-
instanceId: string;
|
|
5
|
-
experienceId: string;
|
|
6
|
-
}
|
|
7
|
-
/** Payload carried by `push`/`replace` — an `InstanceScope` plus the node to record. */
|
|
8
|
-
export interface InstanceNodeIntent extends InstanceScope {
|
|
9
|
-
node: ExperienceNode;
|
|
10
|
-
}
|
|
11
|
-
export interface HistoryEntry extends InstanceScope {
|
|
2
|
+
export interface HistoryEntry {
|
|
12
3
|
id: string;
|
|
13
4
|
node: ExperienceNode;
|
|
14
5
|
at: number;
|
|
6
|
+
experienceId: string;
|
|
15
7
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Creates a fresh history instance: an Effector-backed list of navigation
|
|
18
|
-
* entries plus the events that drive it. Live entries are filtered per
|
|
19
|
-
* instance via `instanceId`; the derived `snapshotStore` groups by
|
|
20
|
-
* `experienceId` and is used by the storage plugin to resume across respawn.
|
|
21
|
-
*
|
|
22
|
-
* @returns {ReturnType<typeof invoke<typeof createHistoryFactory>>} The events and stores.
|
|
23
|
-
* @example
|
|
24
|
-
* const history = createHistory()
|
|
25
|
-
*/
|
|
26
8
|
export declare function createHistory(): {
|
|
27
|
-
push: import('effector').EventCallable<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
9
|
+
push: import('effector').EventCallable<{
|
|
10
|
+
experienceId: string;
|
|
11
|
+
node: ExperienceNode;
|
|
12
|
+
}>;
|
|
13
|
+
replace: import('effector').EventCallable<{
|
|
14
|
+
experienceId: string;
|
|
15
|
+
node: ExperienceNode;
|
|
16
|
+
}>;
|
|
17
|
+
back: import('effector').EventCallable<{
|
|
18
|
+
experienceId?: string;
|
|
19
|
+
}>;
|
|
20
|
+
restore: import('effector').EventCallable<{
|
|
21
|
+
entries: HistoryEntry[];
|
|
32
22
|
}>;
|
|
33
|
-
|
|
34
|
-
entriesStore: import('effector').StoreWritable<HistoryEntry[]>;
|
|
35
|
-
snapshotStore: import('effector').Store<Record<string, HistoryEntry[]>>;
|
|
23
|
+
entriesStore: import('effector').Store<HistoryEntry[]>;
|
|
36
24
|
};
|
|
37
25
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/entities/history/history.ts"],"names":[],"mappings":"AAEA,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;AA4FD,wBAAgB,aAAa;;sBA3EsB,MAAM;cAAQ,cAAc;;;sBACzB,MAAM;cAAQ,cAAc;;;uBAC9B,MAAM;;;iBACT,YAAY,EAAE;;;EA0E9D"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -28,15 +28,21 @@ export declare class Picked {
|
|
|
28
28
|
readonly session: SessionEntity;
|
|
29
29
|
readonly searchParams: import('.').PickedSearchParams;
|
|
30
30
|
readonly history: {
|
|
31
|
-
push: EventCallable<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
restoreSnapshots: EventCallable<{
|
|
35
|
-
snapshots: Record<string, import('.').HistoryEntry[]>;
|
|
31
|
+
push: EventCallable<{
|
|
32
|
+
experienceId: string;
|
|
33
|
+
node: import('.').ExperienceNode;
|
|
36
34
|
}>;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
replace: EventCallable<{
|
|
36
|
+
experienceId: string;
|
|
37
|
+
node: import('.').ExperienceNode;
|
|
38
|
+
}>;
|
|
39
|
+
back: EventCallable<{
|
|
40
|
+
experienceId?: string;
|
|
41
|
+
}>;
|
|
42
|
+
restore: EventCallable<{
|
|
43
|
+
entries: import('.').HistoryEntry[];
|
|
44
|
+
}>;
|
|
45
|
+
entriesStore: Store<import('.').HistoryEntry[]>;
|
|
40
46
|
};
|
|
41
47
|
readonly components: {
|
|
42
48
|
register: EventCallable<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picked.d.ts","sourceRoot":"","sources":["../../src/picked.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,aAAa,EACnB,MAAM,UAAU,CAAA;AACjB,OAAO,EAEL,KAAK,UAAU,EACf,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;AAEvC,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjG,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIzD,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;AAIrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAK/D,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,CAAC,MAAM,0FAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,SAAgB,QAAQ,iCAAiC;IACzD,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,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;IAIrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAsB;IAErD,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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"}
|
|
@@ -1,26 +1,7 @@
|
|
|
1
1
|
import { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
export declare const STORAGE_KEY: import('../..').StorageKey;
|
|
3
2
|
/** @public */
|
|
4
3
|
export interface HistoryBrowserStoragePlugin {
|
|
5
4
|
storage?: 'local' | 'session';
|
|
6
5
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Picked plugin that persists per-experience history snapshots into
|
|
9
|
-
* `localStorage` (default) or `sessionStorage` and restores them on the
|
|
10
|
-
* client `load` event. Snapshots are keyed by `experienceId`; when a fresh
|
|
11
|
-
* `ExperienceInstance` spawns it reads its experience's snapshot via the
|
|
12
|
-
* history entity's `seedInstanceFromSnapshot` event and resumes from the
|
|
13
|
-
* last step (trailing action/condition terminals are dropped at seed time).
|
|
14
|
-
*
|
|
15
|
-
* Reads the v1 flat-array shape transparently and migrates it in place — the
|
|
16
|
-
* next save will overwrite the v1 bytes with the v2 record shape, so users
|
|
17
|
-
* mid-flow at deploy time keep their resume position.
|
|
18
|
-
*
|
|
19
|
-
* @param {HistoryBrowserStoragePlugin} [options] - Plugin options.
|
|
20
|
-
* @param {'local' | 'session'} [options.storage] - Backing store.
|
|
21
|
-
* @returns {Plugin} A Picked client plugin.
|
|
22
|
-
* @example
|
|
23
|
-
* client.use(historyBrowserStoragePlugin({ storage: 'session' }))
|
|
24
|
-
*/
|
|
25
6
|
export declare const historyBrowserStoragePlugin: ({ storage, }?: HistoryBrowserStoragePlugin) => Plugin;
|
|
26
7
|
//# 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;
|
|
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,MA8BrC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require(`./rules-logic-H6P8xwHF.cjs`);require(`./logger-fbvQC40v.cjs`);const t=require(`./supports-Dsjg-82e.cjs`),n=require(`./id-Bv44ilEo.cjs`);let r=require(`effector`),i=require(`@withease/factories`);function a(e){return!t.d()||!t.r()?[]:Array.from(window.document.querySelectorAll(e)).filter(e=>e instanceof HTMLElement)}var o=`open`;function s(e){if(!t.l())throw Error(`Shadow DOM is not supported in this environment`);return e.attachShadow({mode:o})}function c(){return new Promise((e,n)=>{if(!t.r()){n();return}document.readyState===`loading`?document.addEventListener(`readystatechange`,()=>e(),{once:!0}):e()})}function l(e,t){let n=new MutationObserver(r=>{document.contains(e)||(n.disconnect(),t())});n.observe(document.body,{childList:!0,subtree:!0})}var u=`picked-root`,d=`picked-target`,f=`picked-root`;function p(e,t){return[...e,{selector:`${f}[experience-id="${t}"]`,placement:`replace`}].flatMap(e=>{let n=a(e.selector).filter(e=>!g(e,t)&&!_(e,t));return{...e,elements:n}})}function m(e,t,n){return e.flatMap(e=>e.elements.map(r=>y(r,e.placement,t,n)))}function h(e,t){e.classList.add(d),e.classList.add(`${d}-${t}`)}function g(e,t){return t?e.classList.contains(`${d}-${t}`):e.classList.contains(`${d}`)}function _(e,t){return t?e.classList.contains(`${u}-${t}`):e.classList.contains(u)}function v(e,t){let n=document.createElement(`div`);return n.style.display=`block`,n.classList.add(u),n.classList.add(`${u}-${e}`),n.classList.add(`${u}-${t}`),n}function y(e,t,n,r){let i,a=v(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 b(e){return e.type===`condition`}function x(e){return e.type===`step`}function S(e){return e.type===`experience`}function C(e){return e.type===`origin`}function w(e){return e.type===`action`}var T=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),x(n)&&!r?[n]:t.filter(e=>e.sourceNodeId===n.id).flatMap(n=>{let r=e.find(e=>e.id===n.destinationNodeId);return r?T(e,t,r,!1,i):[]})),E=(e,t,n)=>T(e,t,n,!0,new Set),D=(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]=D(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]},O=(e,t,n)=>D(e,t,n,!0,new Set),k=(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]=k(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]},A=(e,t,n)=>k(e,t,n,new Set),j=e=>e.find(e=>e.type===`origin`)||null,M=(e,t,n)=>{if(!e)return j(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function N(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)}function P(e,t,n,r){let i=t.find(t=>t.sourceNodeId===e.id&&t.sourceHandle===r);return i?n.find(e=>e.id===i.destinationNodeId)??null:null}var F=(0,r.createDomain)(`experience-instance`),I=(0,i.createFactory)(({client:t,experience:i,target:a,options:o})=>{let c=n.t(`exp-instance`);t.history.seedInstanceFromSnapshot({instanceId:c,experienceId:i.id});let l=(0,r.createEvent)(),u=(0,r.createEvent)(),d=(0,r.createEvent)(),f=(0,r.createEvent)(),p=(0,r.createEvent)(),m=(0,r.createEvent)(),h=i.componentStore,g=F.store(`transitioning`),_=t.history.entriesStore.map(e=>e.filter(e=>e.instanceId===c)),v=_.map(e=>e.filter(e=>x(e.node))),y=_.map(e=>e.at(-1)?.node||null),T=(0,r.combine)(t.steps.listStore,y,(e,t)=>e.find(e=>t&&x(t)&&e.id===t.stepId)||null),D=(0,r.combine)(t.steps.listStore,v,(e,t)=>{let n=t.at(-2);if(!n||!x(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),k=(0,r.combine)(i.treeStore,y,({nodes:e,edges:t},n)=>n?E(e,t,n):[]),I=(0,r.combine)(i.treeStore,y,({nodes:e,edges:t},n)=>n?A(e,t,n):[-1,-1]),L=(0,r.combine)(i.treeStore,y,({nodes:e,edges:t},n)=>n?O(e,t,n):[-1,-1]),R=F.store(!1),z=(0,r.createApi)(R,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),B=(0,r.createEffect)(()=>{t.history.back({instanceId:c})}),V=(0,r.attach)({source:i.treeStore,effect:(e,n)=>{let r=e.nodes.find(e=>x(e)&&e.stepId===n);r&&t.history.push({instanceId:c,experienceId:i.id,node:r})}}),H=(0,r.attach)({source:y,effect:e=>{}}),U=(0,r.attach)({source:i.treeStore,effect:async({nodes:e})=>j(e)}),W=(0,r.attach)({source:i.treeStore,effect:async({nodes:e,edges:t},n)=>{if(C(n))return M(n,e,t)}}),G=(0,r.attach)({source:i.treeStore,effect:async({nodes:n,edges:r,conditions:i},a)=>{if(!b(a))return;let o=i.find(e=>e.id===a.conditionId)?.logic;return o?N(!!await e.t(t,o),a.id,n,r):void 0}}),K=(0,r.attach)({source:{tree:i.treeStore,actions:t.actions.listStore,snapshot:t.stateSnapshotStore},effect:async({tree:e,actions:t,snapshot:n},r)=>{let{nodes:i,edges:a}=e;if(!w(r))return;let o=r.actionKey;if(!o){`${r.id}`;return}let s=t.find(e=>e.key===o)?.action;if(!s||typeof s!=`function`)return`${o}`,P(r,a,i,`false`);try{`${o}`,await s({...n,args:[]},{experience:Z});let e=P(r,a,i,`true`);return e?(`${o}${e.id}`,e):(`${r.id}`,null)}catch{`${o}`;let e=P(r,a,i,`false`);return e?(`${o}${e.id}`,e):(`${r.id}`,null)}}}),ee=(0,r.createEffect)(e=>{S(e)&&t.experiences.launch({key:e.experienceKey})}),q=(0,r.attach)({source:[y,i.treeStore],effect:async([e,{nodes:t,edges:n}])=>M(e,t,n)}),J=(0,r.attach)({source:[y,i.treeStore],effect:async([e,{nodes:t,edges:n}])=>M(e,t,n)}),te=(0,r.createEffect)(e=>{t.history.push({instanceId:c,experienceId:i.id,node:e})}),Y=(0,r.attach)({source:i.configStore,effect:async({initializeOpenLogic:n})=>o?.initialiseOpen===void 0?e.n(n)?!!await e.t(t,n):n??!1:o.initialiseOpen}),X=(0,r.combine)(h,t.frameworks.listStore,(e,t)=>{if(!e)return null;let n=t.find(t=>t.name===e.component.frameworkName);return n?{component:e,framework:n}:null},{skipVoid:!1}),Z,ne=(0,r.attach)({source:X,effect:e=>{if(!e)return;if(!a){`${i.id}`;return}let n=s(a);try{e.framework.render(n,e.component.component,t,Z)}catch{}}});Z=Object.freeze({id:c,experienceKey:i.key,experienceId:i.id,experienceName:i.name,configStore:i.configStore,target:a,componentStore:h,componentAndFrameworkStore:X,stateStore:g,isOpenStore:R,open:z.open,close:z.close,toggleOpen:z.toggle,setOpen:z.set,treeStore:i.treeStore,currentNodeStore:y,currentStepStore:T,previousStepStore:D,nextReachableStepNodesStore:k,stepsToOriginStore:I,stepsToLeafStore:L,goToNextStep:u,goToPreviousStep:d,goToStepById:f,stepsHistoryStore:v,mountFx:ne});let Q=(0,r.createEvent)(),$=(0,r.createEvent)();return(0,r.sample)({clock:y,target:Q}),(0,r.sample)({clock:Q,filter:e=>e===null,target:U}),(0,r.sample)({clock:Q,filter:e=>e!==null,target:$}),(0,r.split)({source:$,match:e=>b(e)?`condition`:x(e)?`step`:S(e)?`launchExperience`:C(e)?`origin`:w(e)?`action`:`other`,cases:{origin:W,condition:G,step:H,launchExperience:ee,action:K,__:(0,r.createEvent)()}}),(0,r.sample)({clock:[G.doneData,W.doneData,U.doneData,J.doneData,q.doneData,K.doneData],filter:Boolean,target:te}),(0,r.sample)({clock:u,target:J}),(0,r.sample)({clock:u,source:T,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Z}))}),(0,r.sample)({clock:J.done,source:T,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Z}))}),(0,r.sample)({clock:J.fail,source:T,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Z}))}),(0,r.sample)({clock:d,target:B}),(0,r.sample)({clock:f,target:V}),(0,r.sample)({source:(0,r.combine)([G.pending,W.pending,U.pending,J.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:g}),(0,r.sample)({clock:H.doneData,source:T,filter:Boolean,target:t.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Z}))}),(0,r.sample)({clock:m,target:Y}),(0,r.sample)({source:Y.doneData,fn:Boolean,target:R}),(0,r.sample)({source:y,clock:l,filter:e=>e?C(e):!0,target:q}),(0,r.sample)({source:R,filter:Boolean,target:l}),(0,r.sample)({source:R,filter:Boolean,target:t.eventBus.prepend(()=>({type:`experience_open`,experience:Z}))}),(0,r.sample)({source:R,filter:e=>!e,target:t.eventBus.prepend(()=>({type:`experience_close`,experience:Z}))}),(0,r.sample)({clock:p,target:[m]}),p(),Z});function L(e){return(0,i.invoke)(I,e)}var R=(0,i.createFactory)(({client:e})=>{let t=F.store({}),n=(0,r.createEvent)(),i=(0,r.createEvent)(),a=(0,r.createEvent)(),o=(0,r.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??[]}}}),s=(0,r.createEffect)(({experience:t,target:n,options:r})=>L({client:e,experience:t,target:n,options:r})),c=(0,r.createEffect)(e=>{o.register(e)}),u=(0,r.createEffect)(e=>{e.target&&l(e.target,()=>{a(e)})}),d=(0,r.createEffect)(e=>{o.unregister(e)}),f=(0,r.createEffect)(async e=>{await e.mountFx()});(0,r.sample)({clock:n,target:s}),(0,r.sample)({clock:a,target:d}),(0,r.sample)({clock:s.doneData,target:[c,u,i]}),(0,r.sample)({clock:s.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,r.sample)({clock:i,target:f});function p(e,t,r){n({experience:e,target:t,options:r})}let m=t.map(e=>Object.values(e).flat());function h(e){return m.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function g(e){return t.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:p,getByExperienceKey:h,getByExperienceId:g,listStore:m}});function z(e){return(0,i.invoke)(R,e)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}});
|