@picked/client 0.0.1-dev.1784003142683 → 0.0.1-dev.1784265353357
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-CsddE4DI.js → api-Dh6rss_Z.js} +1 -1
- package/dist/{api-U2LgcKqF.cjs → api-DoUBwN6K.cjs} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/plugins/dom-observer/index.js +1 -1
- 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/content/asset-library.mdx +43 -0
- package/dist/{dom-CZyRgp2P.js → dom-BwmTHeT7.js} +12 -17
- package/dist/dom-CDrHc_j9.cjs +1 -0
- package/dist/esm/index.js +340 -421
- package/dist/esm/plugins/dom-observer/index.js +1 -1
- package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
- package/dist/esm/plugins/history-browser-storage/index.js +11 -33
- package/dist/esm/server/index.js +2 -2
- package/dist/{experience-instance-QSrdjfn6.js → experience-instance-DCcKZrdI.js} +229 -250
- package/dist/experience-instance-Nl39IDKx.cjs +1 -0
- package/dist/{plugin-CWvFEvt5.cjs → plugin-D2xYyTWf.cjs} +1 -1
- package/dist/{plugin-CnCP2N-8.js → plugin-DTYpuy6Q.js} +1 -1
- package/dist/types/entities/action/action.d.ts +1 -1
- package/dist/types/entities/experience/experience.d.ts +2 -2
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +0 -23
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +12 -43
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/response/response.d.ts +0 -1
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/exports.d.ts +3 -0
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/picked.d.ts +10 -14
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts +0 -17
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +0 -94
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/html-asset-value.d.ts +20 -0
- package/dist/types/utils/html-asset-value.d.ts.map +1 -0
- package/dist/types/utils/rehydrate-scripts.d.ts +35 -0
- package/dist/types/utils/rehydrate-scripts.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/dom-CdxDV3e-.cjs +0 -1
- package/dist/experience-instance-BWL-yghq.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rules-logic-CGZIYgAI.cjs");require("./logger-CSTvAyyB.cjs");const t=require("./dom-CDrHc_j9.cjs");let n=require("effector"),r=require("@withease/factories");function i(e){return e.type===`condition`}function a(e){return e.type===`step`}function o(e){return e.type===`experience`}function s(e){return e.type===`origin`}function c(e){return e.type===`action`}var l=`conditions.`,u=(0,n.createDomain)(`condition-results`);function d(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function f(e){if(e===void 0)return null;if(Array.isArray(e))return e.map(e=>f(e));if(d(e)){let t=Object.keys(e).sort((e,t)=>e.localeCompare(t)),n={};for(let r of t)n[r]=f(e[r]);return n}return e}function p(e){return JSON.stringify(f(e))}var m=(0,r.createFactory)(()=>{let e=u.store({}),t=(0,n.createApi)(e,{set(e,t){return e[t.hash]===t.result?e:{...e,[t.hash]:t.result}},seed(e,t){return Object.keys(t).every(n=>e[n]===t[n])?e:{...e,...t}},clear(){return{}}});function r(e){t.set(e)}function i(e){t.seed(e)}function a(){t.clear()}function o(t){return e.getState()[t]}return{store:e,set:r,seed:i,peek:o,reset:a}});function h(){return(0,r.invoke)(m)}async function g(t,n,r){return n==null?!0:typeof n==`boolean`?n:e.n(n)?await e.t(t,n,r)===!0:!0}function _(e){if(typeof e==`string`)return e;if(Array.isArray(e)&&typeof e[0]==`string`)return e[0]}function v(e){if(Array.isArray(e))return e.some(v);if(d(e)){let t=_(e.var);return t!==void 0&&(t===`actions`||t.startsWith(`actions.`))?!0:Object.values(e).some(v)}return!1}function y(e){if(Array.isArray(e))return e.flatMap(y);if(d(e)){let t=_(e.var);return[...t!==void 0&&t.startsWith(l)?[t.slice(11)]:[],...Object.values(e).flatMap(y)]}return[]}function b(e,t,n=new Set){if(v(e))return!0;for(let r of y(e)){if(n.has(r))continue;n.add(r);let e=t[r];if(e!==void 0&&b(e.logic,t,n))return!0}return!1}async function x(e,t,n){let r={};for(let t of e.conditions.listStore.getState())r[t.key]=t;let i=b(t,r),a=p(t);if(!i){let t=e.conditionResults.peek(a);if(t!==void 0)return t}let o=await g(e,t,n?.context);return i||e.conditionResults.set({hash:a,result:o}),o}async function S(e,t,n){let r=n?.context,i=[n?.precondition,n?.condition,t.condition];for(let t of i)if(!await x(e,t,{context:r}))return!1;return!0}var C=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),a(n)&&!r?[n]:t.filter(e=>e.sourceNodeId===n.id).flatMap(n=>{let r=e.find(e=>e.id===n.destinationNodeId);return r?C(e,t,r,!1,i):[]})),w=(e,t,n)=>C(e,t,n,!0,new Set),T=(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]=T(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]},E=(e,t,n)=>T(e,t,n,!0,new Set),D=(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]=D(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]},ee=(e,t,n)=>D(e,t,n,new Set),O=e=>e.find(e=>e.type===`origin`)||null,k=(e,t,n)=>{if(!e)return O(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function A(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 j(e,t,n,r){let i=r.filter(e=>e.sourceNodeId===t),a=e?`true`:`false`,o=i.find(e=>e.sourceHandle===a)??i.find(e=>e.sourceHandle==null);return n.find(e=>e.id===o?.destinationNodeId)}var M=(0,n.createDomain)(`experience-instance`),N=(0,r.createFactory)(({client:r,experience:l,target:u,options:d})=>{let f=(0,n.createEvent)(),p=(0,n.createEvent)(),m=(0,n.createEvent)(),h=(0,n.createEvent)(),g=(0,n.createEvent)(),_=(0,n.createEvent)(),v=(0,n.createEvent)(),y=l.componentStore,b=M.store(`transitioning`),x=r.history.entriesStore.map(e=>e.filter(e=>e.experienceId===l.id)),S=x.map(e=>e.filter(e=>a(e.node))),C=x.map(e=>e.at(-1)?.node||null),T=M.store(null);(0,n.sample)({clock:[C,r.steps.listStore],source:{steps:r.steps.listStore,node:C},filter:({node:e})=>e!==null&&a(e),fn:({steps:e,node:t})=>t&&a(t)?e.find(e=>e.id===t.stepId)??null:null,target:T});let D=(0,n.combine)(r.steps.listStore,S,(e,t)=>{let n=t.at(-2);if(!n||!a(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),N=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?w(e,t,n):[]),P=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?ee(e,t,n):[-1,-1]),F=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?E(e,t,n):[-1,-1]),I=M.store(!1),L=(0,n.createApi)(I,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),R=(0,n.createEffect)(async()=>{r.history.back({experienceId:l.id})}),z=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.nodes.find(e=>a(e)&&e.stepId===t);n&&r.history.push({experienceId:l.id,node:n})}}),B=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.steps.find(e=>e.key===t);if(!n)return;let i=e.nodes.find(e=>a(e)&&e.stepId===n.id);i&&r.history.push({experienceId:l.id,node:i})}}),V=(0,n.attach)({source:C,effect:e=>{}}),H=(0,n.attach)({source:l.treeStore,effect:async({nodes:e})=>O(e)}),U=(0,n.attach)({source:l.treeStore,effect:async({nodes:e,edges:t},n)=>{if(s(n))return k(n,e,t)}}),W=(0,n.attach)({source:l.treeStore,effect:async({nodes:t,edges:n,conditions:a},o)=>{if(!i(o))return;let s=a.find(e=>e.id===o.conditionId)?.logic;return s?A(!!await e.t(r,s),o.id,t,n):void 0}}),G=(0,n.attach)({source:{tree:l.treeStore,actions:r.actions.listStore,snapshot:r.stateSnapshotStore},effect:async({tree:e,actions:t,snapshot:n},r)=>{let{nodes:i,edges:a}=e;if(!c(r))return;let o=r.actionKey;if(!o){`${r.id}`;return}let s=t.find(e=>e.key===o)?.action;if(typeof s!=`function`)return`${o}`,j(!1,r.id,i,a)??null;let l=!0;try{`${o}`,await s({...n,args:[]},{experience:Z})}catch{`${o}`,l=!1}let u=j(l,r.id,i,a);if(!u){let e=a.some(e=>e.sourceNodeId===r.id)?`no edge for its outcome`:`no outgoing edge`;return`${r.id}${e}`,null}return`${o}${u.id}`,u}}),K=(0,n.createEffect)(e=>{o(e)&&r.experiences.launch({key:e.experienceKey})}),q=(0,n.attach)({source:[C,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),J=(0,n.attach)({source:[C,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),te=(0,n.createEffect)(e=>{r.history.push({experienceId:l.id,node:e})}),Y=(0,n.attach)({source:l.configStore,effect:async({initializeOpenLogic:t})=>d?.initialiseOpen===void 0?e.n(t)?!!await e.t(r,t):t??!1:d.initialiseOpen}),X=(0,n.combine)(y,r.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,n.attach)({source:X,effect:e=>{if(!e)return;if(!u){`${l.id}`;return}let n=t.n(u);try{e.framework.render(n,e.component.component,r,Z)}catch{}}});Z=Object.freeze({id:Math.random().toString(36).substring(7),experienceKey:l.key,experienceId:l.id,experienceName:l.name,configStore:l.configStore,target:u,componentStore:y,componentAndFrameworkStore:X,stateStore:b,isOpenStore:I,open:L.open,close:L.close,toggleOpen:L.toggle,setOpen:L.set,treeStore:l.treeStore,currentNodeStore:C,currentStepStore:T,previousStepStore:D,nextReachableStepNodesStore:N,stepsToOriginStore:P,stepsToLeafStore:F,goToNextStep:p,goToPreviousStep:m,goToStepById:h,goToStepByKey:g,stepsHistoryStore:S,mountFx:ne});let Q=(0,n.createEvent)(),$=(0,n.createEvent)();return(0,n.sample)({clock:C,target:Q}),(0,n.sample)({clock:Q,filter:e=>e===null,target:H}),(0,n.sample)({clock:Q,filter:e=>e!==null,target:$}),(0,n.split)({source:$,match:e=>i(e)?`condition`:a(e)?`step`:o(e)?`launchExperience`:s(e)?`origin`:c(e)?`action`:`other`,cases:{origin:U,condition:W,step:V,launchExperience:K,action:G,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[W.doneData,U.doneData,H.doneData,J.doneData,q.doneData,G.doneData],filter:Boolean,target:te}),(0,n.sample)({clock:p,target:J}),(0,n.sample)({clock:p,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Z}))}),(0,n.sample)({clock:J.done,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Z}))}),(0,n.sample)({clock:J.fail,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Z}))}),(0,n.sample)({clock:m,target:R}),(0,n.sample)({clock:h,target:z}),(0,n.sample)({clock:g,target:B}),(0,n.sample)({source:(0,n.combine)([W.pending,U.pending,H.pending,J.pending,q.pending,G.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:b}),(0,n.sample)({clock:V.doneData,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Z}))}),(0,n.sample)({clock:v,target:Y}),(0,n.sample)({source:Y.doneData,fn:Boolean,target:I}),(0,n.sample)({source:C,clock:f,filter:e=>e?s(e):!0,target:q}),(0,n.sample)({source:I,filter:Boolean,target:f}),(0,n.sample)({source:I,filter:Boolean,target:r.eventBus.prepend(()=>({type:`experience_open`,experience:Z}))}),(0,n.sample)({source:I,filter:e=>!e,target:r.eventBus.prepend(()=>({type:`experience_close`,experience:Z}))}),(0,n.sample)({clock:_,target:[v]}),_(),Z});function P(e){return(0,r.invoke)(N,e)}var F=(0,r.createFactory)(({client:e})=>{let r=M.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})=>P({client:e,experience:t,target:n,options:r})),l=(0,n.createEffect)(e=>{s.register(e)}),u=(0,n.createEffect)(e=>{e.target&&t.o(e.target,()=>{o(e)})}),d=(0,n.createEffect)(e=>{s.unregister(e)}),f=(0,n.createEffect)(async e=>{await e.mountFx()});(0,n.sample)({clock:i,target:c}),(0,n.sample)({clock:o,target: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:f});function p(e,t,n){i({experience:e,target:t,options:n})}let m=r.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 r.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:p,getByExperienceKey:h,getByExperienceId:g,listStore:m}});function I(e){return(0,r.invoke)(F,e)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return a}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("./logger-CSTvAyyB.cjs");const e=require("./api-
|
|
1
|
+
require("./logger-CSTvAyyB.cjs");const e=require("./api-DoUBwN6K.cjs");let t=require("effector");function n(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function r(e){return n(e)%100}function i(e,t){return t<=0?!1:t>=100?!0:e<t}function a(e){return typeof e==`object`&&!!e&&`features`in e&&Array.isArray(e.features)}function o(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function s(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function c(e,t){if(Array.isArray(t.fields))for(let n of t.fields)e.registerField(n)}function l(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function u(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)s(e,n)}function d(e,t,n){m(e,t,n.isPreview,n.sessionId),o(e,t),c(e,t),l(e,t),u(e,t)}function f(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function p(e){let t=new Set,n=e.searchParams.feature;if(!n)return t;for(let e of n){let n=e.indexOf(`:`);n>0&&t.add(e.substring(0,n))}return t}function m(e,t,n,i){let a=p(e),o=r(i);for(let r of t.features)a.has(r.id)||h(e,r,n,o)}function h(e,t,n,r){e.registerFeature(t.id,{key:`v${t.version}`,name:t.name,storage:n?`session`:`local`,decide:()=>t.enabled?i(r,t.weight):!1})}function g(e){try{let t=new URL(e).hostname;return t===`localhost`||t===`127.0.0.1`||t===`::1`}catch{return!1}}function _(e){if(typeof e!=`object`||!e||!(`cause`in e))return!1;let{cause:t}=e;return typeof t!=`object`||!t||!(`code`in t)?!1:t.code===`ECONNREFUSED`}async function v(t,n,r){let i=r?.previewToken?`projects/${n}?preview_token=${encodeURIComponent(r.previewToken)}`:`projects/${n}`,o;try{o=await e.t(t,i,r?.headers)}catch(e){return g(t)&&_(e),null}if(!o.ok)return`${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return null}return a(s)?s:null}function y(e){return typeof e!=`object`||!e||!(`experienceId`in e)||!(`content`in e)?!1:Array.isArray(e.content)}async function b(t,n,r,i){let a=i?.previewToken?`projects/${n}/experiences/${r}/content?preview_token=${encodeURIComponent(i.previewToken)}`:`projects/${n}/experiences/${r}/content`,o;try{o=await e.t(t,a,i?.headers,i?.signal)}catch(e){return g(t)&&_(e)||`${r}`,null}if(!o.ok)return`${r}${o.status.toString()}`,null;let s;try{s=await o.json()}catch{return`${r}`,null}return y(s)?s:(`${r}`,null)}function x(e,t){for(let n of t.content)e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function S(e){if(typeof e!=`object`||!e||!(`projectConfig`in e)||!(`experienceContent`in e)||!(`manifestMetadata`in e))return!1;let{experienceContent:t}=e;return typeof t==`function`}async function C(){try{let e=await import(`virtual:picked/data`);return S(e)?e:null}catch{return null}}function w(e,t,n){return r=>b(e,t,r.id,n?{previewToken:n}:void 0)}function T(e,t){return n=>e(n,t?{previewToken:t}:void 0)}function E(e){return(t,n)=>e.experienceContent(t,n)}function D(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&x(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}function O(e,t){let n=new Set(t&&Array.isArray(t.experiences)?t.experiences.map(e=>e.id):[]);return(t,r)=>n.has(t.id)?e(t,r):Promise.resolve(null)}async function k(e){let{client:t,apiUrl:n,options:r}=e,i=f(t),a=!!i,o=r?.projectConfig??null,s=r?.getContent?T(r.getContent,i):null,c=null;if(i)return o??=await v(n,t.projectId,{previewToken:i}),s??=w(n,t.projectId,i),{config:o,contentLoader:s,dataSource:c,isPreview:a};if(o&&s)return{config:o,contentLoader:s,dataSource:c,isPreview:a};let l=await C();return l?(o??=l.projectConfig,s??=E(l),c=l.manifestMetadata,{config:o,contentLoader:s,dataSource:c,isPreview:a}):(o??=await v(n,t.projectId),s??=w(n,t.projectId),{config:o,contentLoader:s,dataSource:c,isPreview:a})}function A(e){return{name:`dynamic-experiences`,setup:n=>{let r=e?.apiUrl??n.apiUrl;return{onStart:(0,t.attach)({source:n.session.store.map(e=>e.id),effect:async t=>{let{config:i,contentLoader:a,dataSource:o,isPreview:s}=await k({client:n,apiUrl:r,options:e});a&&(n.contentLoader=D(n,O(a,i))),n.dataSource=o,i&&d(n,i,{isPreview:s,sessionId:t})}})}}}}Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return A}});
|
|
@@ -21,7 +21,7 @@ export interface ActionContext {
|
|
|
21
21
|
* only and have no triggering instance.
|
|
22
22
|
*
|
|
23
23
|
* Re-entrancy: do not synchronously call navigation events (`goToNextStep`,
|
|
24
|
-
* `goToPreviousStep`, `goToStepById`) or open-state events (`open`, `close`,
|
|
24
|
+
* `goToPreviousStep`, `goToStepById`, `goToStepByKey`) or open-state events (`open`, `close`,
|
|
25
25
|
* `toggleOpen`, `setOpen`) on `context.experience` before the handler's returned
|
|
26
26
|
* promise resolves. Those writes race the flow runtime's post-action history
|
|
27
27
|
* push and produce non-deterministic ordering. Perform control flow after your
|
|
@@ -71,8 +71,8 @@ export interface ExperienceStore {
|
|
|
71
71
|
*
|
|
72
72
|
* @template T - Factory parameter type.
|
|
73
73
|
* @param {T} params - The client instance and experience data.
|
|
74
|
-
* @param {Picked} params.client - The Picked client
|
|
75
|
-
* @param {Experience} params.experience - The experience definition to wrap in stores.
|
|
74
|
+
* @param {Picked} params.client - The Picked client instance the experience is bound to.
|
|
75
|
+
* @param {Experience} params.experience - The experience definition to wrap in stores and effects.
|
|
76
76
|
* @returns {ReturnType<typeof createExperienceFactory>} An experience store with config, tree, fields, and component sub-stores.
|
|
77
77
|
* @example
|
|
78
78
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAOL,KAAK,MAAM,EACX,KAAK,aAAa,EAElB,KAAK,KAAK,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience/experience.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,30 +47,7 @@ export interface ExperienceInstance {
|
|
|
47
47
|
goToPreviousStep: EventCallable<void>;
|
|
48
48
|
goToStepById: EventCallable<string>;
|
|
49
49
|
goToStepByKey: EventCallable<string>;
|
|
50
|
-
/**
|
|
51
|
-
* Drops this instance's history entries so it re-walks from origin via the existing
|
|
52
|
-
* null→origin pipeline. Sibling instances of the same experience keep their own
|
|
53
|
-
* navigation; the derived snapshot map is re-persisted by the storage plugin.
|
|
54
|
-
*/
|
|
55
|
-
reset: EventCallable<void>;
|
|
56
50
|
stepsHistoryStore: Store<HistoryEntry[]>;
|
|
57
|
-
/**
|
|
58
|
-
* Reactive flag: `true` once the user has progressed *past* the first step of this
|
|
59
|
-
* instance. Derived from `stepsHistoryStore` — `true` at ≥ 2 step entries (entry step +
|
|
60
|
-
* one progression); `false` at origin, on the first step, or for a single-step funnel
|
|
61
|
-
* (even when that step has a saved answer). Gate a "continue" affordance on it, not
|
|
62
|
-
* "has any saved state".
|
|
63
|
-
*/
|
|
64
|
-
isResumableStore: Store<boolean>;
|
|
65
|
-
/**
|
|
66
|
-
* Atomically clears this instance's history entries (as `reset` does) plus the responses
|
|
67
|
-
* owned by the experience's step nodes, so the walk re-fires from origin with blank
|
|
68
|
-
* answers. Use `reset` to clear navigation only and keep responses. History is
|
|
69
|
-
* per-instance, but responses are shared by field key: sibling instances keep their
|
|
70
|
-
* position, and a field shared with another experience via a reused step is cleared for
|
|
71
|
-
* both.
|
|
72
|
-
*/
|
|
73
|
-
restart: EventCallable<void>;
|
|
74
51
|
/**
|
|
75
52
|
* Per-instance mount effect. Attached over `componentAndFrameworkStore` so the render call always receives the current resolved component+framework pair.
|
|
76
53
|
*/
|
|
@@ -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,MAAM,EACX,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,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"experience-instance.d.ts","sourceRoot":"","sources":["../../../../src/entities/experience-instance/experience-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +1,25 @@
|
|
|
1
1
|
import { ExperienceNode } from '../experience/experience';
|
|
2
|
-
|
|
3
|
-
export interface InstanceScope {
|
|
4
|
-
instanceId: string;
|
|
5
|
-
experienceId: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Payload carried by `push`/`replace` — a node plus its experience. `instanceId` is optional:
|
|
9
|
-
* pre-instance callers omit it and it defaults to `experienceId`, preserving the old
|
|
10
|
-
* per-experience behaviour.
|
|
11
|
-
*/
|
|
12
|
-
export interface InstanceNodeIntent {
|
|
13
|
-
instanceId?: string;
|
|
14
|
-
experienceId: string;
|
|
15
|
-
node: ExperienceNode;
|
|
16
|
-
}
|
|
17
|
-
/** One recorded navigation step: the node an instance visited, with a unique id and `Date.now()` timestamp. */
|
|
18
|
-
export interface HistoryEntry extends InstanceScope {
|
|
2
|
+
export interface HistoryEntry {
|
|
19
3
|
id: string;
|
|
20
4
|
node: ExperienceNode;
|
|
21
5
|
at: number;
|
|
6
|
+
experienceId: string;
|
|
22
7
|
}
|
|
23
|
-
/** A `HistoryEntry` whose `instanceId` may be omitted — accepted by the backward-compatible `restore` event, which defaults it to the `experienceId`. */
|
|
24
|
-
type RestorableEntry = Omit<HistoryEntry, 'instanceId'> & {
|
|
25
|
-
instanceId?: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Creates a fresh history instance: an Effector-backed list of navigation
|
|
29
|
-
* entries plus the events that drive it. Live entries are filtered per
|
|
30
|
-
* instance via `instanceId`; the derived `snapshotStore` groups by
|
|
31
|
-
* `experienceId` and is used by the storage plugin to resume across respawn.
|
|
32
|
-
*
|
|
33
|
-
* @returns {ReturnType<typeof invoke<typeof createHistoryFactory>>} The events and stores.
|
|
34
|
-
* @example
|
|
35
|
-
* const history = createHistory()
|
|
36
|
-
*/
|
|
37
8
|
export declare function createHistory(): {
|
|
38
|
-
push: import('effector').EventCallable<
|
|
39
|
-
|
|
9
|
+
push: import('effector').EventCallable<{
|
|
10
|
+
experienceId: string;
|
|
11
|
+
node: ExperienceNode;
|
|
12
|
+
}>;
|
|
13
|
+
replace: import('effector').EventCallable<{
|
|
14
|
+
experienceId: string;
|
|
15
|
+
node: ExperienceNode;
|
|
16
|
+
}>;
|
|
40
17
|
back: import('effector').EventCallable<{
|
|
41
|
-
instanceId?: string;
|
|
42
18
|
experienceId?: string;
|
|
43
19
|
}>;
|
|
44
20
|
restore: import('effector').EventCallable<{
|
|
45
|
-
entries:
|
|
46
|
-
}>;
|
|
47
|
-
restoreSnapshots: import('effector').EventCallable<{
|
|
48
|
-
snapshots: Record<string, HistoryEntry[]>;
|
|
21
|
+
entries: HistoryEntry[];
|
|
49
22
|
}>;
|
|
50
|
-
|
|
51
|
-
clearForInstance: import('effector').EventCallable<Pick<InstanceScope, "instanceId">>;
|
|
52
|
-
entriesStore: import('effector').StoreWritable<HistoryEntry[]>;
|
|
53
|
-
snapshotStore: import('effector').Store<Record<string, HistoryEntry[]>>;
|
|
23
|
+
entriesStore: import('effector').Store<HistoryEntry[]>;
|
|
54
24
|
};
|
|
55
|
-
export {};
|
|
56
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"}
|
|
@@ -18,7 +18,6 @@ declare const createResponseIndexFactory: ({ client }: {
|
|
|
18
18
|
};
|
|
19
19
|
clearAll: import('effector').EventCallable<void>;
|
|
20
20
|
clear: import('effector').EventCallable<string>;
|
|
21
|
-
clearByExperience: (experienceId: string) => void;
|
|
22
21
|
commit: (responsesToCommit: CommitResponses) => Promise<{
|
|
23
22
|
errors: ValidationError[];
|
|
24
23
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAiE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGvD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;mBA6BlD,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ,GAAG,IAAI;kBACxC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/entities/response/response.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAiE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGvD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAInE,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAGjC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED,QAAA,MAAM,0BAA0B,eAA8B;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;mBA6BlD,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ,GAAG,IAAI;kBACxC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,aAAa,KAAK,GAAG,IAAI;;;;gCAwK7D,eAAe,KACjC,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;8CAtCpB,eAAe,KACjC,OAAO,CAAC;QAAE,iBAAiB,EAAE,eAAe,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;;;;;;;;uBA8E7D,KAAK,CAAC,IAAI,CAAC,KAAG,KAAK,CAAC,UAAU,CAAC;yBAc7B,KAAK,CAAC,KAAK,CAAC,KAAG,KAAK,CAAC,UAAU,CAAC;gCAezB,KAAK,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,UAAU,CAAC;CA0BpE,CAAA;AAEF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAC5F,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAE/C;AAED,mCAAmC;AACnC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA"}
|
package/dist/types/exports.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CreateClientOptions } from './client';
|
|
2
2
|
import { Picked } from './picked';
|
|
3
3
|
export { isPickedRoot } from './utils/dom';
|
|
4
|
+
export { rehydrateScripts, buildRehydrateBootstrap, PICKED_SCRIPT_TYPE, PICKED_MODULE_SCRIPT_TYPE, PICKED_HYDRATED_ATTR, } from './utils/rehydrate-scripts';
|
|
5
|
+
export { isHtmlAssetValue } from './utils/html-asset-value';
|
|
6
|
+
export type { HtmlAssetValue } from './utils/html-asset-value';
|
|
4
7
|
export * from './utils/supports';
|
|
5
8
|
export * from './utils/storage';
|
|
6
9
|
export type * from './utils/storage';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAAA,8IAA8I;AAC9I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAAA,8IAA8I;AAC9I,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,mBAAmB,iBAAiB,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,MAI3D,CAAA;AAED,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,kCAAkC,CAAA"}
|
package/dist/types/picked.d.ts
CHANGED
|
@@ -59,24 +59,21 @@ export declare class Picked {
|
|
|
59
59
|
readonly session: SessionEntity;
|
|
60
60
|
readonly searchParams: import('.').PickedSearchParams;
|
|
61
61
|
readonly history: {
|
|
62
|
-
push: EventCallable<
|
|
63
|
-
|
|
62
|
+
push: EventCallable<{
|
|
63
|
+
experienceId: string;
|
|
64
|
+
node: import('.').ExperienceNode;
|
|
65
|
+
}>;
|
|
66
|
+
replace: EventCallable<{
|
|
67
|
+
experienceId: string;
|
|
68
|
+
node: import('.').ExperienceNode;
|
|
69
|
+
}>;
|
|
64
70
|
back: EventCallable<{
|
|
65
|
-
instanceId?: string;
|
|
66
71
|
experienceId?: string;
|
|
67
72
|
}>;
|
|
68
73
|
restore: EventCallable<{
|
|
69
|
-
entries:
|
|
70
|
-
instanceId?: string;
|
|
71
|
-
})[];
|
|
72
|
-
}>;
|
|
73
|
-
restoreSnapshots: EventCallable<{
|
|
74
|
-
snapshots: Record<string, import('.').HistoryEntry[]>;
|
|
74
|
+
entries: import('.').HistoryEntry[];
|
|
75
75
|
}>;
|
|
76
|
-
|
|
77
|
-
clearForInstance: EventCallable<Pick<import('.').InstanceScope, "instanceId">>;
|
|
78
|
-
entriesStore: StoreWritable<import('.').HistoryEntry[]>;
|
|
79
|
-
snapshotStore: Store<Record<string, import('.').HistoryEntry[]>>;
|
|
76
|
+
entriesStore: Store<import('.').HistoryEntry[]>;
|
|
80
77
|
};
|
|
81
78
|
readonly components: {
|
|
82
79
|
register: EventCallable<{
|
|
@@ -175,7 +172,6 @@ export declare class Picked {
|
|
|
175
172
|
};
|
|
176
173
|
clearAll: EventCallable<void>;
|
|
177
174
|
clear: EventCallable<string>;
|
|
178
|
-
clearByExperience: (experienceId: string) => void;
|
|
179
175
|
commit: (responsesToCommit: import('.').CommitResponses) => Promise<{
|
|
180
176
|
errors: import('.').ValidationError[];
|
|
181
177
|
}>;
|
|
@@ -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,EAAE,KAAK,gBAAgB,EAA0B,MAAM,iCAAiC,CAAA;AAC/F,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,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,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;AAM/D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0GAA0G;IAC1G,IAAI,EAAE,KAAK,GAAG,OAAO,CAAA;IACrB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,4DAA4D;IAC5D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,CAAC,MAAM,0FAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;;OAIG;IACH,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAE1C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B,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,24 +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 plugin
|
|
10
|
-
* setup and again on the client `load` event (restore is idempotent — the
|
|
11
|
-
* history entity only fills experiences that have no live entries yet).
|
|
12
|
-
*
|
|
13
|
-
* A stored payload that isn't a recognised snapshot map (a legacy flat-array
|
|
14
|
-
* format, or corruption) is ignored rather than restored, so the visitor
|
|
15
|
-
* simply starts fresh and the next save overwrites it.
|
|
16
|
-
*
|
|
17
|
-
* @param {HistoryBrowserStoragePlugin} [options] - Plugin options.
|
|
18
|
-
* @param {'local' | 'session'} [options.storage] - Backing store.
|
|
19
|
-
* @returns {Plugin} A Picked client plugin.
|
|
20
|
-
* @example
|
|
21
|
-
* client.use(historyBrowserStoragePlugin({ storage: 'session' }))
|
|
22
|
-
*/
|
|
23
6
|
export declare const historyBrowserStoragePlugin: ({ storage, }?: HistoryBrowserStoragePlugin) => Plugin;
|
|
24
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"}
|
|
@@ -1,113 +1,19 @@
|
|
|
1
1
|
import { ExperienceTarget } from '../entities/experience/experience';
|
|
2
|
-
/**
|
|
3
|
-
* Queries the document for elements matching `selector`, filtered to `HTMLElement` only.
|
|
4
|
-
* Returns an empty array in non-browser environments.
|
|
5
|
-
*
|
|
6
|
-
* @param {string} selector - CSS selector to query.
|
|
7
|
-
* @returns {HTMLElement[]} Matching elements; empty array if `window`/`document` is unavailable.
|
|
8
|
-
* @example
|
|
9
|
-
* querySelector('.cta-button')
|
|
10
|
-
*/
|
|
11
2
|
export declare function querySelector(selector: string): HTMLElement[];
|
|
12
|
-
/**
|
|
13
|
-
* Attaches an open shadow root to `target` and returns it.
|
|
14
|
-
*
|
|
15
|
-
* @param {HTMLElement} target - Element to attach the shadow root to.
|
|
16
|
-
* @returns {ShadowRoot} The attached shadow root.
|
|
17
|
-
* @throws {Error} When shadow DOM is unsupported in the current environment.
|
|
18
|
-
* @example
|
|
19
|
-
* const root = createShadowRoot(hostElement)
|
|
20
|
-
*/
|
|
21
3
|
export declare function createShadowRoot(target: HTMLElement): ShadowRoot;
|
|
22
|
-
/**
|
|
23
|
-
* Resolves once the document is past `loading` (interactive or complete). Rejects if no
|
|
24
|
-
* document is available (e.g. SSR).
|
|
25
|
-
*
|
|
26
|
-
* @returns {Promise<void>} Resolves on `readystatechange` or immediately if already past loading.
|
|
27
|
-
* @example
|
|
28
|
-
* await domInteractive()
|
|
29
|
-
*/
|
|
30
4
|
export declare function domInteractive(): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Invokes `callback` once `element` is removed from the document. Uses a `MutationObserver`
|
|
33
|
-
* scoped to `document.body` with `subtree: true`.
|
|
34
|
-
*
|
|
35
|
-
* @param {HTMLElement} element - The element to watch.
|
|
36
|
-
* @param {() => void} callback - Fires once when `element` leaves the document.
|
|
37
|
-
* @returns {void}
|
|
38
|
-
* @example
|
|
39
|
-
* onElementRemoved(host, () => instance.destroy())
|
|
40
|
-
*/
|
|
41
5
|
export declare function onElementRemoved(element: HTMLElement, callback: () => void): void;
|
|
42
6
|
type Placement = 'replace' | 'before' | 'after' | 'prepend' | 'append';
|
|
43
|
-
/**
|
|
44
|
-
* Resolves each declared `target` to the live DOM elements it matches, filtered to skip
|
|
45
|
-
* elements already tagged for `experienceId` or already wrapped in a picked-root for it.
|
|
46
|
-
* Always appends a synthetic `picked-root[experience-id="…"]` target so web-component
|
|
47
|
-
* placeholders resolve too.
|
|
48
|
-
*
|
|
49
|
-
* @param {{ selector: string; placement: Placement }[]} targets - Declared selectors and placements from experience config.
|
|
50
|
-
* @param {string} experienceId - The current experience id used to skip self-claimed elements.
|
|
51
|
-
* @returns {(ExperienceTarget & { elements: HTMLElement[] })[]} Targets enriched with their resolved elements.
|
|
52
|
-
* @example
|
|
53
|
-
* getTargetElements(config.targetSelectors, experience.id)
|
|
54
|
-
*/
|
|
55
7
|
export declare function getTargetElements(targets: {
|
|
56
8
|
selector: string;
|
|
57
9
|
placement: Placement;
|
|
58
10
|
}[], experienceId: string): (ExperienceTarget & {
|
|
59
11
|
elements: HTMLElement[];
|
|
60
12
|
})[];
|
|
61
|
-
/**
|
|
62
|
-
* Creates a picked-root host per resolved element and inserts it into the DOM according to
|
|
63
|
-
* the target's placement.
|
|
64
|
-
*
|
|
65
|
-
* @param {(ExperienceTarget & { elements: HTMLElement[] })[]} targets - Resolved targets with their matched elements.
|
|
66
|
-
* @param {string} experienceId - The current experience id; stamped onto each host.
|
|
67
|
-
* @param {string} experienceKey - The current experience key; added as a class for styling.
|
|
68
|
-
* @returns {HTMLElement[]} The hosts created and inserted into the DOM, in iteration order.
|
|
69
|
-
* @example
|
|
70
|
-
* const hosts = createAppHosts(targets, experience.id, experience.key)
|
|
71
|
-
*/
|
|
72
13
|
export declare function createAppHosts(targets: (ExperienceTarget & {
|
|
73
14
|
elements: HTMLElement[];
|
|
74
15
|
})[], experienceId: string, experienceKey: string): HTMLElement[];
|
|
75
|
-
/**
|
|
76
|
-
* Finds an existing picked-root host that has already claimed the given selector. Returns
|
|
77
|
-
* the claiming experience id, or `undefined` if no host is found.
|
|
78
|
-
*
|
|
79
|
-
* Used by the per-experience initialise effect to detect target conflicts. The lookup
|
|
80
|
-
* intentionally does not filter by placement: only `placement: 'replace'` removes the
|
|
81
|
-
* original target elements, so any prior claim that caused a later experience to find
|
|
82
|
-
* zero matches must itself have been `replace`. Selector alone is sufficient.
|
|
83
|
-
*
|
|
84
|
-
* @param {string} selector - The original target selector to look up.
|
|
85
|
-
* @returns {string | undefined} The claiming experience id, or `undefined`.
|
|
86
|
-
* @example
|
|
87
|
-
* const claimer = findClaimingExperienceId('.host-slot')
|
|
88
|
-
*/
|
|
89
|
-
export declare function findClaimingExperienceId(selector: string): string | undefined;
|
|
90
|
-
/**
|
|
91
|
-
* Tags `element` with both the generic and experience-specific picked-target classes so
|
|
92
|
-
* subsequent target resolution can skip it (avoids re-binding the same experience).
|
|
93
|
-
*
|
|
94
|
-
* @param {HTMLElement} element - The element to tag.
|
|
95
|
-
* @param {string} experienceId - The owning experience id.
|
|
96
|
-
* @returns {void}
|
|
97
|
-
* @example
|
|
98
|
-
* tagTargetElement(el, experience.id)
|
|
99
|
-
*/
|
|
100
16
|
export declare function tagTargetElement(element: HTMLElement, experienceId: string): void;
|
|
101
|
-
/**
|
|
102
|
-
* Tests whether `element` is a picked-root host, optionally narrowed to a specific
|
|
103
|
-
* experience id.
|
|
104
|
-
*
|
|
105
|
-
* @param {HTMLElement} element - The element to test.
|
|
106
|
-
* @param {string} [experienceId] - When provided, requires the host to belong to this experience.
|
|
107
|
-
* @returns {boolean} True if `element` is a picked-root host matching the constraint.
|
|
108
|
-
* @example
|
|
109
|
-
* isPickedRoot(el, experience.id)
|
|
110
|
-
*/
|
|
111
17
|
export declare function isPickedRoot(element: HTMLElement, experienceId?: string): boolean;
|
|
112
18
|
export {};
|
|
113
19
|
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/utils/dom.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAGzE
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/utils/dom.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAGzE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAQ7D;AAID,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAMhE;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,QAS1E;AAED,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAOtE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,EAAE,EACrD,YAAY,EAAE,MAAM,GACnB,CAAC,gBAAgB,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,EAAE,CAqBpD;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,gBAAgB,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,EAAE,EAC3D,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,iBAOtB;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAG1E;AAUD,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,WAMvE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @file Resolved CMS `html-asset` field value delivered inline to consumers. */
|
|
2
|
+
/**
|
|
3
|
+
* A resolved `html-asset` content field. The API inlines the file's text at `content` server-side
|
|
4
|
+
* (`content: null` when the underlying file could not be resolved); there is no separate URL to fetch.
|
|
5
|
+
*/
|
|
6
|
+
export interface HtmlAssetValue {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly content: string | null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Narrows an untyped resolved content-field value (for example `content.body` from `getStepContent()` /
|
|
12
|
+
* `useStepContent()`) to {@link HtmlAssetValue}.
|
|
13
|
+
*
|
|
14
|
+
* @param {unknown} value - A field value from the resolved content blob.
|
|
15
|
+
* @returns {value is HtmlAssetValue} True when `value` is `{ id: string; content: string | null }`.
|
|
16
|
+
* @example
|
|
17
|
+
* if (isHtmlAssetValue(content.body)) render(content.body.content)
|
|
18
|
+
*/
|
|
19
|
+
export declare function isHtmlAssetValue(value: unknown): value is HtmlAssetValue;
|
|
20
|
+
//# sourceMappingURL=html-asset-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-asset-value.d.ts","sourceRoot":"","sources":["../../../src/utils/html-asset-value.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CASxE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** @file Re-executes Picked-tagged <script> elements that innerHTML left inert. */
|
|
2
|
+
/** Inert script type the Picked transform stamps on classic scripts it blesses for rehydration. */
|
|
3
|
+
export declare const PICKED_SCRIPT_TYPE = "application/picked-javascript";
|
|
4
|
+
/** Inert script type the Picked transform stamps on `type="module"` scripts it blesses for rehydration. */
|
|
5
|
+
export declare const PICKED_MODULE_SCRIPT_TYPE = "application/picked-module";
|
|
6
|
+
/** Marker set on resurrected scripts so rehydration is idempotent. */
|
|
7
|
+
export declare const PICKED_HYDRATED_ATTR = "data-picked-hydrated";
|
|
8
|
+
/**
|
|
9
|
+
* Re-creates every Picked-tagged (`type="application/picked-javascript"` or
|
|
10
|
+
* `type="application/picked-module"`) script under `root` as a fresh, executable element, so
|
|
11
|
+
* scripts inserted via `innerHTML` (which never run) execute — restored as `type="module"` for the
|
|
12
|
+
* latter. Untagged scripts, including data blocks such as `application/json` or `importmap`, are left
|
|
13
|
+
* untouched. In-place replacement preserves document order and
|
|
14
|
+
* `document.currentScript.getRootNode()`, so shadow-scoped page scripts find their own root.
|
|
15
|
+
*
|
|
16
|
+
* This function intentionally references only globals and its own parameter, never the exported
|
|
17
|
+
* `PICKED_*` constants above, so {@link buildRehydrateBootstrap} can serialise it with `.toString()` for
|
|
18
|
+
* injection into a sandboxed iframe, where module imports are unavailable.
|
|
19
|
+
*
|
|
20
|
+
* @param {ParentNode} root - Element, ShadowRoot, or Document whose tagged scripts to rehydrate.
|
|
21
|
+
* @returns {Promise<void>} Resolves after external (`src`) scripts have settled (load or error).
|
|
22
|
+
* @example
|
|
23
|
+
* await rehydrateScripts(shadowRoot)
|
|
24
|
+
*/
|
|
25
|
+
export declare function rehydrateScripts(root: ParentNode): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Builds an inline `<script>` string that runs {@link rehydrateScripts} against the injected document.
|
|
28
|
+
* For splicing into an iframe `srcDoc` (or any HTML string) where module imports are unavailable.
|
|
29
|
+
*
|
|
30
|
+
* @returns {string} A self-contained `<script>…</script>` string.
|
|
31
|
+
* @example
|
|
32
|
+
* html.replace('</body>', buildRehydrateBootstrap() + '</body>')
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildRehydrateBootstrap(): string;
|
|
35
|
+
//# sourceMappingURL=rehydrate-scripts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehydrate-scripts.d.ts","sourceRoot":"","sources":["../../../src/utils/rehydrate-scripts.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,kCAAkC,CAAA;AACjE,2GAA2G;AAC3G,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@picked/client",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.1784265353357",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@withease/factories": "^1.0.5"
|
|
6
6
|
},
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"size-limit": [
|
|
167
167
|
{
|
|
168
168
|
"path": "dist/esm/index.js",
|
|
169
|
-
"limit": "
|
|
169
|
+
"limit": "14.5 kB"
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
172
|
"path": "dist/esm/server/index.js",
|
package/dist/dom-CdxDV3e-.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./supports-DBzjGaWD.cjs");function t(t){return!e.f()||!e.i()?[]:Array.from(window.document.querySelectorAll(t)).filter(e=>e instanceof HTMLElement)}var n=`open`;function r(t){if(!e.u())throw Error(`Shadow DOM is not supported in this environment`);return t.attachShadow({mode:n})}function i(){return new Promise((t,n)=>{if(!e.i()){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=>!p(e,n)&&!m(e,n));return{...e,elements:r}})}function u(e,t,n){return e.flatMap(e=>e.elements.map(r=>g(r,e,t,n)))}function d(t){if(!e.i()||typeof CSS.escape!=`function`)return;let n=document.querySelector(`[data-picked-claimed-selector="${CSS.escape(t)}"]`);return n instanceof HTMLElement?n.dataset.pickedExperienceId:void 0}function f(e,t){e.classList.add(s,`${s}-${t}`)}function p(e,t){return t?e.classList.contains(`${s}-${t}`):e.classList.contains(`${s}`)}function m(e,t){return t?e.classList.contains(`${o}-${t}`):e.classList.contains(o)}function h(e,t){let n=document.createElement(`div`);return n.style.display=`block`,n.classList.add(o,`${o}-${e}`,`${o}-${t}`),n}function g(e,t,n,r){let i,a=h(n,r);if(a.dataset.pickedExperienceId=n,a.dataset.pickedClaimedSelector=t.selector,e instanceof Document)i=e.body.appendChild(a);else{switch(t.placement){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}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./rules-logic-CGZIYgAI.cjs");require("./logger-CSTvAyyB.cjs");const t=require("./dom-CdxDV3e-.cjs"),n=require("./id-Js-62re-.cjs");let r=require("effector"),i=require("@withease/factories");function a(e){return e.type===`condition`}function o(e){return e.type===`step`}function s(e){return e.type===`experience`}function c(e){return e.type===`origin`}function l(e){return e.type===`action`}var u=`conditions.`,d=(0,r.createDomain)(`condition-results`);function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){if(e===void 0)return null;if(Array.isArray(e))return e.map(e=>p(e));if(f(e)){let t=Object.keys(e).sort((e,t)=>e.localeCompare(t)),n={};for(let r of t)n[r]=p(e[r]);return n}return e}function m(e){return JSON.stringify(p(e))}var h=(0,i.createFactory)(()=>{let e=d.store({}),t=(0,r.createApi)(e,{set(e,t){return e[t.hash]===t.result?e:{...e,[t.hash]:t.result}},seed(e,t){return Object.keys(t).every(n=>e[n]===t[n])?e:{...e,...t}},clear(){return{}}});function n(e){t.set(e)}function i(e){t.seed(e)}function a(){t.clear()}function o(t){return e.getState()[t]}return{store:e,set:n,seed:i,peek:o,reset:a}});function g(){return(0,i.invoke)(h)}async function _(t,n,r){return n==null?!0:typeof n==`boolean`?n:e.n(n)?await e.t(t,n,r)===!0:!0}function v(e){if(typeof e==`string`)return e;if(Array.isArray(e)&&typeof e[0]==`string`)return e[0]}function y(e){if(Array.isArray(e))return e.some(y);if(f(e)){let t=v(e.var);return t!==void 0&&(t===`actions`||t.startsWith(`actions.`))?!0:Object.values(e).some(y)}return!1}function b(e){if(Array.isArray(e))return e.flatMap(b);if(f(e)){let t=v(e.var);return[...t!==void 0&&t.startsWith(u)?[t.slice(11)]:[],...Object.values(e).flatMap(b)]}return[]}function x(e,t,n=new Set){if(y(e))return!0;for(let r of b(e)){if(n.has(r))continue;n.add(r);let e=t[r];if(e!==void 0&&x(e.logic,t,n))return!0}return!1}async function S(e,t,n){let r={};for(let t of e.conditions.listStore.getState())r[t.key]=t;let i=x(t,r),a=m(t);if(!i){let t=e.conditionResults.peek(a);if(t!==void 0)return t}let o=await _(e,t,n?.context);return i||e.conditionResults.set({hash:a,result:o}),o}async function C(e,t,n){let r=n?.context,i=[n?.precondition,n?.condition,t.condition];for(let t of i)if(!await S(e,t,{context:r}))return!1;return!0}var w=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),o(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]},ee=(e,t,n)=>E(e,t,n,!0,new Set),D=(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]=D(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]},te=(e,t,n)=>D(e,t,n,new Set),O=e=>e.find(e=>e.type===`origin`)||null,k=(e,t,n)=>{if(!e)return O(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function ne(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 A(e,t,n,r){let i=r.filter(e=>e.sourceNodeId===t),a=e?`true`:`false`,o=i.find(e=>e.sourceHandle===a)??i.find(e=>e.sourceHandle==null);return n.find(e=>e.id===o?.destinationNodeId)}var j=(0,r.createDomain)(`experience-instance`),M=(0,i.createFactory)(({client:i,experience:u,target:d,options:f})=>{let p=n.t(`exp-instance`);i.history.seedInstanceFromSnapshot({instanceId:p,experienceId:u.id});let m=(0,r.createEvent)(),h=(0,r.createEvent)(),g=(0,r.createEvent)(),_=(0,r.createEvent)(),v=(0,r.createEvent)(),y=(0,r.createEvent)(),b=(0,r.createEvent)(),x=(0,r.createEvent)(),S=(0,r.createEvent)(),C=u.componentStore,w=j.store(`transitioning`),E=i.history.entriesStore.map(e=>e.filter(e=>e.instanceId===p)),D=E.map(e=>e.filter(e=>o(e.node))),M=D.map(e=>e.length>=2),N=E.map(e=>e.at(-1)?.node||null),P=j.store(null);(0,r.sample)({clock:[N,i.steps.listStore],source:{steps:i.steps.listStore,node:N},filter:({node:e})=>e!==null&&o(e),fn:({steps:e,node:t})=>t&&o(t)?e.find(e=>e.id===t.stepId)??null:null,target:P});let F=(0,r.combine)(i.steps.listStore,D,(e,t)=>{let n=t.at(-2);if(!n||!o(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),re=(0,r.combine)(u.treeStore,N,({nodes:e,edges:t},n)=>n?T(e,t,n):[]),I=(0,r.combine)(u.treeStore,N,({nodes:e,edges:t},n)=>n?te(e,t,n):[-1,-1]),L=(0,r.combine)(u.treeStore,N,({nodes:e,edges:t},n)=>n?ee(e,t,n):[-1,-1]),R=j.store(!1),z=(0,r.createApi)(R,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),ie=(0,r.createEffect)(()=>{i.history.back({instanceId:p})}),ae=(0,r.attach)({source:u.treeStore,effect:(e,t)=>{let n=e.nodes.find(e=>o(e)&&e.stepId===t);n&&i.history.push({instanceId:p,experienceId:u.id,node:n})}}),oe=(0,r.attach)({source:u.treeStore,effect:(e,t)=>{let n=e.steps.find(e=>e.key===t);if(!n)return;let r=e.nodes.find(e=>o(e)&&e.stepId===n.id);r&&i.history.push({instanceId:p,experienceId:u.id,node:r})}}),B=(0,r.attach)({source:N,effect:e=>{}}),V=(0,r.attach)({source:u.treeStore,effect:async({nodes:e})=>O(e)}),H=(0,r.attach)({source:u.treeStore,effect:async({nodes:e,edges:t},n)=>{if(c(n))return k(n,e,t)}}),U=(0,r.attach)({source:u.treeStore,effect:async({nodes:t,edges:n,conditions:r},o)=>{if(!a(o))return;let s=r.find(e=>e.id===o.conditionId)?.logic;return s?ne(!!await e.t(i,s),o.id,t,n):void 0}}),W=(0,r.attach)({source:{tree:u.treeStore,actions:i.actions.listStore,snapshot:i.stateSnapshotStore},effect:async({tree:e,actions:t,snapshot:n},r)=>{let{nodes:i,edges:a}=e;if(!l(r))return;let o=r.actionKey;if(!o){`${r.id}`;return}let s=t.find(e=>e.key===o)?.action;if(typeof s!=`function`)return`${o}`,A(!1,r.id,i,a)??null;let c=!0;try{`${o}`,await s({...n,args:[]},{experience:Z})}catch{`${o}`,c=!1}let u=A(c,r.id,i,a);if(!u){let e=a.some(e=>e.sourceNodeId===r.id)?`no edge for its outcome`:`no outgoing edge`;return`${r.id}${e}`,null}return`${o}${u.id}`,u}}),G=(0,r.createEffect)(e=>{s(e)&&i.experiences.launch({key:e.experienceKey})}),K=(0,r.attach)({source:[N,u.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),q=(0,r.attach)({source:[N,u.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),J=(0,r.createEffect)(e=>{i.history.push({instanceId:p,experienceId:u.id,node:e})}),Y=(0,r.attach)({source:u.configStore,effect:async({initializeOpenLogic:t})=>f?.initialiseOpen===void 0?e.n(t)?!!await e.t(i,t):t??!1:f.initialiseOpen}),X=(0,r.combine)(C,i.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,se=(0,r.attach)({source:X,effect:e=>{if(!e)return;if(!d){`${u.id}`;return}let n=t.n(d);try{e.framework.render(n,e.component.component,i,Z)}catch{}}});Z=Object.freeze({id:p,experienceKey:u.key,experienceId:u.id,experienceName:u.name,configStore:u.configStore,target:d,componentStore:C,componentAndFrameworkStore:X,stateStore:w,isOpenStore:R,open:z.open,close:z.close,toggleOpen:z.toggle,setOpen:z.set,treeStore:u.treeStore,currentNodeStore:N,currentStepStore:P,previousStepStore:F,nextReachableStepNodesStore:re,stepsToOriginStore:I,stepsToLeafStore:L,goToNextStep:h,goToPreviousStep:g,goToStepById:_,goToStepByKey:v,reset:y,stepsHistoryStore:D,isResumableStore:M,restart:b,mountFx:se});let Q=(0,r.createEvent)(),$=(0,r.createEvent)();return(0,r.sample)({clock:N,target:Q}),(0,r.sample)({clock:Q,filter:e=>e===null,target:V}),(0,r.sample)({clock:Q,filter:e=>e!==null,target:$}),(0,r.split)({source:$,match:e=>a(e)?`condition`:o(e)?`step`:s(e)?`launchExperience`:c(e)?`origin`:l(e)?`action`:`other`,cases:{origin:H,condition:U,step:B,launchExperience:G,action:W,__:(0,r.createEvent)()}}),(0,r.sample)({clock:[U.doneData,H.doneData,V.doneData,q.doneData,K.doneData,W.doneData],filter:Boolean,target:J}),(0,r.sample)({clock:h,target:q}),(0,r.sample)({clock:h,source:P,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Z}))}),(0,r.sample)({clock:q.done,source:P,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Z}))}),(0,r.sample)({clock:q.fail,source:P,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Z}))}),(0,r.sample)({clock:g,target:ie}),(0,r.sample)({clock:_,target:ae}),(0,r.sample)({clock:v,target:oe}),(0,r.sample)({clock:[y,b],fn:()=>({instanceId:p}),target:i.history.clearForInstance}),(0,r.sample)({clock:b,target:(0,r.createEffect)(()=>{i.responses.clearByExperience(u.id)})}),(0,r.sample)({source:(0,r.combine)([U.pending,H.pending,V.pending,q.pending,K.pending,W.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:w}),(0,r.sample)({clock:B.doneData,source:P,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Z}))}),(0,r.sample)({clock:S,target:Y}),(0,r.sample)({source:Y.doneData,fn:Boolean,target:R}),(0,r.sample)({source:N,clock:m,filter:e=>e?c(e):!0,target:K}),(0,r.sample)({source:R,filter:Boolean,target:m}),(0,r.sample)({source:R,filter:Boolean,target:i.eventBus.prepend(()=>({type:`experience_open`,experience:Z}))}),(0,r.sample)({source:R,filter:e=>!e,target:i.eventBus.prepend(()=>({type:`experience_close`,experience:Z}))}),(0,r.sample)({clock:x,target:[S]}),x(),Z});function N(e){return(0,i.invoke)(M,e)}var P=(0,i.createFactory)(({client:e})=>{let n=j.store({}),i=(0,r.createEvent)(),a=(0,r.createEvent)(),o=(0,r.createEvent)(),s=(0,r.createApi)(n,{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,r.createEffect)(({experience:t,target:n,options:r})=>N({client:e,experience:t,target:n,options:r})),l=(0,r.createEffect)(e=>{s.register(e)}),u=(0,r.createEffect)(e=>{e.target&&t.s(e.target,()=>{o(e)})}),d=(0,r.createEffect)(e=>{s.unregister(e)}),f=(0,r.createEffect)(async e=>{await e.mountFx()});(0,r.sample)({clock:i,target:c}),(0,r.sample)({clock:o,target:d}),(0,r.sample)({clock:c.doneData,target:[l,u,a]}),(0,r.sample)({clock:c.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,r.sample)({clock:a,target:f});function p(e,t,n){i({experience:e,target:t,options:n})}let m=n.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 n.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:p,getByExperienceKey:h,getByExperienceId:g,listStore:m}});function F(e){return(0,i.invoke)(P,e)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return o}});
|