@picked/client 0.0.1-dev.1784001148032 → 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.
Files changed (49) hide show
  1. package/dist/{api-BJ8EHkg5.js → api-Dh6rss_Z.js} +1 -1
  2. package/dist/{api-B1wdTDNv.cjs → api-DoUBwN6K.cjs} +1 -1
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/plugins/dom-observer/index.js +1 -1
  5. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/plugins/history-browser-storage/index.js +1 -1
  7. package/dist/cjs/server/index.js +1 -1
  8. package/dist/docs/actions.mdx +16 -2
  9. package/dist/docs/content/asset-library.mdx +43 -0
  10. package/dist/docs/sdk/actions.md +33 -3
  11. package/dist/{dom-CZyRgp2P.js → dom-BwmTHeT7.js} +12 -17
  12. package/dist/dom-CDrHc_j9.cjs +1 -0
  13. package/dist/esm/index.js +341 -418
  14. package/dist/esm/plugins/dom-observer/index.js +1 -1
  15. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  16. package/dist/esm/plugins/history-browser-storage/index.js +11 -33
  17. package/dist/esm/server/index.js +2 -2
  18. package/dist/{experience-instance-M2kR3nTp.js → experience-instance-DCcKZrdI.js} +207 -200
  19. package/dist/experience-instance-Nl39IDKx.cjs +1 -0
  20. package/dist/{plugin-D3z3IXOb.cjs → plugin-D2xYyTWf.cjs} +1 -1
  21. package/dist/{plugin-B04iPuj_.js → plugin-DTYpuy6Q.js} +1 -1
  22. package/dist/types/entities/action/action.d.ts +8 -2
  23. package/dist/types/entities/action/action.d.ts.map +1 -1
  24. package/dist/types/entities/experience/experience.d.ts +2 -2
  25. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  26. package/dist/types/entities/experience-instance/experience-instance.d.ts +10 -23
  27. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  28. package/dist/types/entities/history/history.d.ts +16 -30
  29. package/dist/types/entities/history/history.d.ts.map +1 -1
  30. package/dist/types/entities/response/response.d.ts +0 -1
  31. package/dist/types/entities/response/response.d.ts.map +1 -1
  32. package/dist/types/exports.d.ts +3 -0
  33. package/dist/types/exports.d.ts.map +1 -1
  34. package/dist/types/lifecycle/condition-selection.d.ts.map +1 -1
  35. package/dist/types/picked.d.ts +14 -10
  36. package/dist/types/picked.d.ts.map +1 -1
  37. package/dist/types/plugins/history-browser-storage/plugin.d.ts +0 -17
  38. package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +1 -1
  39. package/dist/types/utils/dom.d.ts +0 -94
  40. package/dist/types/utils/dom.d.ts.map +1 -1
  41. package/dist/types/utils/html-asset-value.d.ts +20 -0
  42. package/dist/types/utils/html-asset-value.d.ts.map +1 -0
  43. package/dist/types/utils/node-tree/get-next-node-from-action.d.ts +24 -0
  44. package/dist/types/utils/node-tree/get-next-node-from-action.d.ts.map +1 -0
  45. package/dist/types/utils/rehydrate-scripts.d.ts +35 -0
  46. package/dist/types/utils/rehydrate-scripts.d.ts.map +1 -0
  47. package/package.json +2 -2
  48. package/dist/dom-CdxDV3e-.cjs +0 -1
  49. package/dist/experience-instance-BbSXoRrr.cjs +0 -1
@@ -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}},seed(e,t){return{...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]},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]},ee=(e,t,n)=>O(e,t,n,new Set),k=e=>e.find(e=>e.type===`origin`)||null,A=(e,t,n)=>{if(!e)return k(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function j(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 M(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 N=(0,r.createDomain)(`experience-instance`),P=(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=u.componentStore,C=N.store(`transitioning`),w=i.history.entriesStore.map(e=>e.filter(e=>e.instanceId===p)),E=w.map(e=>e.filter(e=>o(e.node))),O=E.map(e=>e.length>=2),P=w.map(e=>e.at(-1)?.node||null),F=(0,r.combine)(i.steps.listStore,P,(e,t)=>e.find(e=>t&&o(t)&&e.id===t.stepId)||null),I=(0,r.combine)(i.steps.listStore,E,(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}),L=(0,r.combine)(u.treeStore,P,({nodes:e,edges:t},n)=>n?T(e,t,n):[]),R=(0,r.combine)(u.treeStore,P,({nodes:e,edges:t},n)=>n?ee(e,t,n):[-1,-1]),z=(0,r.combine)(u.treeStore,P,({nodes:e,edges:t},n)=>n?D(e,t,n):[-1,-1]),B=N.store(!1),V=(0,r.createApi)(B,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),te=(0,r.createEffect)(()=>{i.history.back({instanceId:p})}),ne=(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})}}),H=(0,r.attach)({source:P,effect:e=>{}}),U=(0,r.attach)({source:u.treeStore,effect:async({nodes:e})=>k(e)}),W=(0,r.attach)({source:u.treeStore,effect:async({nodes:e,edges:t},n)=>{if(c(n))return A(n,e,t)}}),G=(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?j(!!await e.t(i,s),o.id,t,n):void 0}}),K=(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(!s||typeof s!=`function`)return`${o}`,M(r,a,i,`false`);try{`${o}`,await s({...n,args:[]},{experience:Z});let e=M(r,a,i,`true`);return e?(`${o}${e.id}`,e):(`${r.id}`,null)}catch{`${o}`;let e=M(r,a,i,`false`);return e?(`${o}${e.id}`,e):(`${r.id}`,null)}}}),re=(0,r.createEffect)(e=>{s(e)&&i.experiences.launch({key:e.experienceKey})}),q=(0,r.attach)({source:[P,u.treeStore],effect:async([e,{nodes:t,edges:n}])=>A(e,t,n)}),J=(0,r.attach)({source:[P,u.treeStore],effect:async([e,{nodes:t,edges:n}])=>A(e,t,n)}),ie=(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)(S,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,ae=(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:S,componentAndFrameworkStore:X,stateStore:C,isOpenStore:B,open:V.open,close:V.close,toggleOpen:V.toggle,setOpen:V.set,treeStore:u.treeStore,currentNodeStore:P,currentStepStore:F,previousStepStore:I,nextReachableStepNodesStore:L,stepsToOriginStore:R,stepsToLeafStore:z,goToNextStep:h,goToPreviousStep:g,goToStepById:_,reset:v,stepsHistoryStore:E,isResumableStore:O,restart:y,mountFx:ae});let Q=(0,r.createEvent)(),$=(0,r.createEvent)();(0,r.sample)({clock:P,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=>a(e)?`condition`:o(e)?`step`:s(e)?`launchExperience`:c(e)?`origin`:l(e)?`action`:`other`,cases:{origin:W,condition:G,step:H,launchExperience:re,action:K,__:(0,r.createEvent)()}}),(0,r.sample)({clock:[G.doneData,W.doneData,U.doneData,J.doneData,q.doneData,K.doneData],filter:Boolean,target:ie}),(0,r.sample)({clock:h,target:J}),(0,r.sample)({clock:h,source:F,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Z}))}),(0,r.sample)({clock:J.done,source:F,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Z}))}),(0,r.sample)({clock:J.fail,source:F,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Z}))}),(0,r.sample)({clock:g,target:te}),(0,r.sample)({clock:_,target:ne}),(0,r.sample)({clock:v,fn:()=>({instanceId:p}),target:i.history.clearForInstance});let oe=(0,r.createEffect)(()=>{i.responses.clearByExperience(u.id)});return(0,r.sample)({clock:y,fn:()=>({instanceId:p}),target:i.history.clearForInstance}),(0,r.sample)({clock:y,target:oe}),(0,r.sample)({source:(0,r.combine)([G.pending,W.pending,U.pending,J.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:C}),(0,r.sample)({clock:H.doneData,source:F,filter:Boolean,target:i.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Z}))}),(0,r.sample)({clock:x,target:Y}),(0,r.sample)({source:Y.doneData,fn:Boolean,target:B}),(0,r.sample)({source:P,clock:m,filter:e=>e?c(e):!0,target:q}),(0,r.sample)({source:B,filter:Boolean,target:m}),(0,r.sample)({source:B,filter:Boolean,target:i.eventBus.prepend(()=>({type:`experience_open`,experience:Z}))}),(0,r.sample)({source:B,filter:e=>!e,target:i.eventBus.prepend(()=>({type:`experience_close`,experience:Z}))}),(0,r.sample)({clock:b,target:[x]}),b(),Z});function F(e){return(0,i.invoke)(P,e)}var I=(0,i.createFactory)(({client:e})=>{let n=N.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})=>F({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 L(e){return(0,i.invoke)(I,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 L}}),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 F}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return o}});