@picked/svelte 0.0.50-next.3 → 0.0.50-next.4

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.
@@ -0,0 +1 @@
1
+ var e=`modulepreload`,t=function(e){return`/`+e},n={},r=function(r,i,a){let o=Promise.resolve();if(i&&i.length>0){let r=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}o=l(i.map(i=>{if(i=t(i,a),i in n)return;n[i]=!0;let o=i.endsWith(`.css`),s=o?`[rel="stylesheet"]`:``;if(a)for(let e=r.length-1;e>=0;e--){let t=r[e];if(t.href===i&&(!o||t.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${i}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=o?`stylesheet`:e,o||(l.as=`script`),l.crossOrigin=``,l.href=i,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),o)return new Promise((e,t)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${i}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(e=>{for(let t of e||[])t.status===`rejected`&&s(t.reason);return r().catch(s)})};export{r as __vitePreload};
package/dist/component.js CHANGED
@@ -1 +1 @@
1
- const o=(e,t)=>({frameworkName:"svelte",component:e,style:t}),r=e=>e.frameworkName==="svelte";export{o as adaptSvelteComponent,r as isValidAdaptedComponent};
1
+ var e=(e,t)=>({frameworkName:`svelte`,component:e,style:t}),t=e=>e.frameworkName===`svelte`;export{e as adaptSvelteComponent,t as isValidAdaptedComponent};
@@ -1 +1 @@
1
- import{default as f}from"./LazyImage.svelte";export{f as LazyImage};
1
+ import e from"./LazyImage.svelte";export{e as LazyImage};
package/dist/context.js CHANGED
@@ -1 +1 @@
1
- const E=Symbol("picked-client"),e=Symbol("picked-experience-instance"),c=Symbol("picked-scope"),o=Symbol("picked-step");export{E as CLIENT_CONTEXT_KEY,e as EXPERIENCE_CONTEXT_KEY,c as SCOPE_CONTEXT_KEY,o as STEP_CONTEXT_KEY};
1
+ var e=Symbol(`picked-client`),t=Symbol(`picked-experience-instance`),n=Symbol(`picked-scope`),r=Symbol(`picked-step`);export{e as CLIENT_CONTEXT_KEY,t as EXPERIENCE_CONTEXT_KEY,n as SCOPE_CONTEXT_KEY,r as STEP_CONTEXT_KEY};
@@ -1 +1 @@
1
- import{createEvent as _,createEffect as m,attach as v,sample as y,split as k}from"effector";import{getPicked as D,getExperience as F}from"../hooks/client.js";import"@picked/client";import{getStep as B}from"../hooks/step.js";import"svelte";import"svelte/store";import"@picked/analytics";function z({id:f,title:l,onError:b,onSuccess:g}){const a=D(),x=B(),i=F(),{currentStepStore:u}=i,d=_(),h=m(r=>a.responses.commit(r)),E=v({source:{step:u},effect:m(({step:r})=>{a.eventBus({type:"form_submit_success",form:{id:f,title:l},experience:i,step:r??void 0}),g?.()})}),S=v({source:{step:u},mapParams:(r,o)=>({step:o.step,errors:r.errors}),effect:m(({step:r,errors:o})=>{a.eventBus({type:"form_submit_error",form:{id:f,title:l},exception:{reason:o},experience:i,step:r??void 0}),o.forEach(c=>{a.eventBus({type:"field_validation_error",exception:{reason:[c]},experience:i,step:r??void 0})}),b?.(o)})});return y({clock:d,source:{step:u},fn:({step:r})=>({formId:f,title:l,step:r}),target:m(({formId:r,title:o,step:c})=>{a.eventBus({type:"form_submit",form:{id:r,title:o},experience:i,step:c??void 0})})}),y({clock:d,source:{fields:a.fields.listStore,stepFields:x.fields,step:u},fn:({stepFields:r},o)=>{o.preventDefault();const c=new FormData(o.currentTarget),A=Array.from(c.entries()),p={data:{},push(t){const s=t.questionId,e=this.data[s];e?Array.isArray(e)&&Array.isArray(t.value)?Array.isArray(e)&&Array.isArray(t.value)&&(typeof e[0]=="string"?this.data[s]=[...e,...t.value].map(String):typeof e[0]=="number"?this.data[s]=[...e,...t.value].map(Number):typeof e[0]=="boolean"?this.data[s]=[...e,...t.value].map(n=>!!n):this.data[s]=t.value):this.data[s]=t.value:this.data[s]=t.value}};return r.forEach(t=>{let s=A.filter(([e])=>e===t.id);s.length===0&&(s=[[t.id,""]]),s.forEach(([,e])=>{const n=t.id;if(e===""){p.push({questionId:n,value:null});return}switch(t.type){case"text":p.push({questionId:n,value:t.multiple?[String(e)]:String(e)});break;case"number":p.push({questionId:n,value:t.multiple?[Number(e)]:Number(e)});break;case"boolean":p.push({questionId:n,value:t.multiple?[e==="true"]:e==="true"});break}})}),p.data},target:h}),k({source:h.doneData,match:{hasErrors:({errors:r})=>r.length>0},cases:{hasErrors:S,__:E}}),{form:{onsubmit:d}}}export{z as getForm};
1
+ import{getExperience as e,getPicked as t}from"../hooks/client.js";import{getStep as n}from"../hooks/step.js";import"../hooks/index.js";import{attach as r,createEffect as i,createEvent as a,sample as o,split as s}from"effector";function c({id:c,title:l,onError:u,onSuccess:d}){let f=t(),p=n(),m=e(),{currentStepStore:h}=m,g=a(),_=i(e=>f.responses.commit(e)),v=r({source:{step:h},effect:i(({step:e})=>{f.eventBus({type:`form_submit_success`,form:{id:c,title:l},experience:m,step:e??void 0}),d?.()})}),y=r({source:{step:h},mapParams:(e,t)=>({step:t.step,errors:e.errors}),effect:i(({step:e,errors:t})=>{f.eventBus({type:`form_submit_error`,form:{id:c,title:l},exception:{reason:t},experience:m,step:e??void 0}),t.forEach(t=>{f.eventBus({type:`field_validation_error`,exception:{reason:[t]},experience:m,step:e??void 0})}),u?.(t)})});return o({clock:g,source:{step:h},fn:({step:e})=>({formId:c,title:l,step:e}),target:i(({formId:e,title:t,step:n})=>{f.eventBus({type:`form_submit`,form:{id:e,title:t},experience:m,step:n??void 0})})}),o({clock:g,source:{fields:f.fields.listStore,stepFields:p.fields,step:h},fn:({stepFields:e},t)=>{t.preventDefault();let n=new FormData(t.currentTarget),r=Array.from(n.entries()),i={data:{},push(e){let t=e.questionId,n=this.data[t];n&&Array.isArray(n)&&Array.isArray(e.value)?Array.isArray(n)&&Array.isArray(e.value)&&(typeof n[0]==`string`?this.data[t]=[...n,...e.value].map(String):typeof n[0]==`number`?this.data[t]=[...n,...e.value].map(Number):typeof n[0]==`boolean`?this.data[t]=[...n,...e.value].map(e=>!!e):this.data[t]=e.value):this.data[t]=e.value}};return e.forEach(e=>{let t=r.filter(([t])=>t===e.id);t.length===0&&(t=[[e.id,``]]),t.forEach(([,t])=>{let n=e.id;if(t===``){i.push({questionId:n,value:null});return}switch(e.type){case`text`:i.push({questionId:n,value:e.multiple?[String(t)]:String(t)});break;case`number`:i.push({questionId:n,value:e.multiple?[Number(t)]:Number(t)});break;case`boolean`:i.push({questionId:n,value:e.multiple?[t===`true`]:t===`true`});break}})}),i.data},target:_}),s({source:_.doneData,match:{hasErrors:({errors:e})=>e.length>0},cases:{hasErrors:y,__:v}}),{form:{onsubmit:g}}}export{c as getForm};
@@ -1 +1 @@
1
- import{createStore as s,createEvent as f,attach as l,createEffect as u,sample as a}from"effector";import{getPicked as m}from"./client.js";function g(t){return m().actions.getEvokableAction(t)}function v(t){const c=g(t),o=s(void 0,{skipVoid:!1}),n=f(),r=l({source:c,mapParams:(e,i)=>i,effect:u(async e=>{if(e)return e()})});return a({clock:n,target:r}),a({clock:r.doneData,target:o}),n(),o}export{g as getAction,v as getActionResult};
1
+ import{getPicked as e}from"./client.js";import{attach as t,createEffect as n,createEvent as r,createStore as i,sample as a}from"effector";function o(t){return e().actions.getEvokableAction(t)}function s(e){let s=o(e),c=i(void 0,{skipVoid:!1}),l=r(),u=t({source:s,mapParams:(e,t)=>t,effect:n(async e=>{if(e)return e()})});return a({clock:l,target:u}),a({clock:u.doneData,target:c}),l(),c}export{o as getAction,s as getActionResult};
@@ -1 +1 @@
1
- import{getContext as t}from"svelte";import{EXPERIENCE_CONTEXT_KEY as e,CLIENT_CONTEXT_KEY as r}from"../context.js";function o(){return t(r)}function i(){return t(e)}export{i as getExperience,o as getPicked};
1
+ import{CLIENT_CONTEXT_KEY as e,EXPERIENCE_CONTEXT_KEY as t}from"../context.js";import{getContext as n}from"svelte";function r(){return n(e)}function i(){return n(t)}export{i as getExperience,r as getPicked};
@@ -1 +1 @@
1
- import{createEffect as D,createStore as w,sample as R}from"effector";const y=new Map;function T(a){return y.has(a)||y.set(a,new Map),y.get(a)}function E(a,i){const o=T(a).get(i);o&&(o.promise=null,o.timestamp=0)}function S(a){T(a).forEach(c=>{c.promise=null,c.timestamp=0})}function v(){y.clear()}function C(a,i,c={}){const{namespace:o="default",defaultStaleTime:f=300*1e3,defaultRetry:m=3,defaultRetryDelay:g=1e3}=c,u=T(o),d=D(async p=>{const{key:s,params:l,options:e}=p;let r=u.get(s)?.promise;const t=u.get(s),n=e.refetch||!r||t&&Date.now()-t.timestamp>(e.staleTime??t.staleTime);if(!r||n){r=L(()=>a(l),e.retry??m,e.retryDelay??g);const h=u.get(s);h&&(h.promise=r,h.timestamp=Date.now(),h.staleTime=e.staleTime??f)}return{key:s,promise:r,result:await r}});return(p,s={})=>{const l=i(p);let e=u.get(l);e||(e={promise:null,data:w(null),error:w(null),isLoading:w(!1),timestamp:0,staleTime:s.staleTime??f},u.set(l,e));const r=D(t=>t);return R({source:d.doneData,filter:t=>t.key===l,fn:t=>t.promise,target:r}),e.isLoading.on(d.pending,(t,n)=>n),e.isLoading.on(r.pending,(t,n)=>n),e.data.on(r.doneData,(t,n)=>n),e.error.on(r.doneData,()=>null),e.error.on(r.failData,(t,n)=>n),e.error.on(d.failData,(t,n)=>n),(!e.promise||Date.now()-e.timestamp>e.staleTime)&&d({key:l,params:p,options:s}),{data:e.data,error:e.error,isLoading:e.isLoading,refetch:()=>d({key:l,params:p,options:{...s,refetch:!0}}).then(({result:t})=>t),invalidate:()=>E(o,l)}}}async function L(a,i,c){let o;for(let f=0;f<=i;f++)try{return await a()}catch(m){o=m instanceof Error?m:new Error(String(m)),f<i&&await new Promise(g=>{setTimeout(g,c*Math.pow(2,f))})}throw o}const P={invalidate:(a,i)=>{i?E(a,i):S(a)},clear:()=>v()},M={realtime:{defaultStaleTime:5*1e3,defaultRetry:1},standard:{defaultStaleTime:300*1e3,defaultRetry:3},static:{defaultStaleTime:3600*1e3,defaultRetry:2}};export{C as createQuery,P as queryCache,M as queryPresets};
1
+ import{createEffect as e,createStore as t,sample as n}from"effector";var r=new Map;function i(e){return r.has(e)||r.set(e,new Map),r.get(e)}function a(e,t){let n=i(e).get(t);n&&(n.promise=null,n.timestamp=0)}function o(e){i(e).forEach(e=>{e.promise=null,e.timestamp=0})}function s(){r.clear()}function c(r,o,s={}){let{namespace:c=`default`,defaultStaleTime:u=300*1e3,defaultRetry:d=3,defaultRetryDelay:f=1e3}=s,p=i(c),m=e(async e=>{let{key:t,params:n,options:i}=e,a=p.get(t)?.promise,o=p.get(t),s=i.refetch||!a||o&&Date.now()-o.timestamp>(i.staleTime??o.staleTime);if(!a||s){a=l(()=>r(n),i.retry??d,i.retryDelay??f);let e=p.get(t);e&&(e.promise=a,e.timestamp=Date.now(),e.staleTime=i.staleTime??u)}return{key:t,promise:a,result:await a}});return(r,i={})=>{let s=o(r),l=p.get(s);l||(l={promise:null,data:t(null),error:t(null),isLoading:t(!1),timestamp:0,staleTime:i.staleTime??u},p.set(s,l));let d=e(e=>e);return n({source:m.doneData,filter:e=>e.key===s,fn:e=>e.promise,target:d}),l.isLoading.on(m.pending,(e,t)=>t),l.isLoading.on(d.pending,(e,t)=>t),l.data.on(d.doneData,(e,t)=>t),l.error.on(d.doneData,()=>null),l.error.on(d.failData,(e,t)=>t),l.error.on(m.failData,(e,t)=>t),(!l.promise||Date.now()-l.timestamp>l.staleTime)&&m({key:s,params:r,options:i}),{data:l.data,error:l.error,isLoading:l.isLoading,refetch:()=>m({key:s,params:r,options:{...i,refetch:!0}}).then(({result:e})=>e),invalidate:()=>a(c,s)}}}async function l(e,t,n){let r;for(let i=0;i<=t;i++)try{return await e()}catch(e){r=e instanceof Error?e:Error(String(e)),i<t&&await new Promise(e=>{setTimeout(e,n*2**i)})}throw r}var u={invalidate:(e,t)=>{t?a(e,t):o(e)},clear:()=>s()},d={realtime:{defaultStaleTime:5*1e3,defaultRetry:1},standard:{defaultStaleTime:300*1e3,defaultRetry:3},static:{defaultStaleTime:3600*1e3,defaultRetry:2}};export{c as createQuery,u as queryCache,d as queryPresets};
@@ -1 +1 @@
1
- import{attach as c}from"effector";import{trackRecommendationPresentEvent as a}from"@picked/analytics";import{getPicked as m,getExperience as d}from"./client.js";const x=()=>{const{session:e,projectId:r,organizationId:i}=m(),n=d();return c({source:{config:n.configStore,step:n.currentStepStore},async effect({config:o,step:t},s){if(!e||!t)throw new Error("Cannot track recommendation present event: missing session or experience data.");return a({organizationId:i,projectId:r,experience:{id:n.experienceId,title:o.name},sessionId:e.id,identifiers:e.identifiers,isUser:e.isUser,step:t,productList:s})}})};export{x as getTrackRecommendationPresentEvent};
1
+ import{getExperience as e,getPicked as t}from"./client.js";import{attach as n}from"effector";import{trackRecommendationPresentEvent as r}from"@picked/analytics";var i=()=>{let{session:i,projectId:a,organizationId:o}=t(),s=e();return n({source:{config:s.configStore,step:s.currentStepStore},async effect({config:e,step:t},n){if(!i||!t)throw Error(`Cannot track recommendation present event: missing session or experience data.`);return r({organizationId:o,projectId:a,experience:{id:s.experienceId,title:e.name},sessionId:i.id,identifiers:i.identifiers,isUser:i.isUser,step:t,productList:n})}})};export{i as getTrackRecommendationPresentEvent};
@@ -1 +1 @@
1
- import{createStore as i,createEvent as s,attach as f,createEffect as l,sample as o}from"effector";import{getPicked as v}from"./client.js";function d(t){return v().features.getEvokableFeature(t)}function m(t){const r=d(t),c=i(void 0,{skipVoid:!1}),a=s(),n=f({source:r,mapParams:(e,u)=>u,effect:l(async e=>await e())});return o({clock:a,target:n}),o({clock:n.doneData,fn:e=>{if(e!==void 0)return{id:t,bucket:e}},target:c}),a(),o({clock:r,target:a}),c}export{d as getFeature,m as getFeatureResult};
1
+ import{getPicked as e}from"./client.js";import{attach as t,createEffect as n,createEvent as r,createStore as i,sample as a}from"effector";function o(t){return e().features.getEvokableFeature(t)}function s(e){let s=o(e),c=i(void 0,{skipVoid:!1}),l=r(),u=t({source:s,mapParams:(e,t)=>t,effect:n(async e=>await e())});return a({clock:l,target:u}),a({clock:u.doneData,fn:t=>{if(t!==void 0)return{id:e,bucket:t}},target:c}),l(),a({clock:s,target:l}),c}export{o as getFeature,s as getFeatureResult};
@@ -1 +1 @@
1
- import{getPicked as s}from"./client.js";function r(e){const t=s(),n=t.fields.getById(e),o=t.responses.getByFieldId(e);return{field:n,value:o}}export{r as getField};
1
+ import{getPicked as e}from"./client.js";function t(t){let n=e();return{field:n.fields.getById(t),value:n.responses.getByFieldId(t)}}export{t as getField};
@@ -1 +1 @@
1
- import{getExperience as r,getPicked as o}from"./client.js";import{getPredicate as p,getPredicateResult as a}from"./predicate.js";import{getFeature as x,getFeatureResult as n}from"./feature.js";import{getAction as s,getActionResult as f}from"./action.js";import{getStep as u,setStepContext as S}from"./step.js";import{getContextScope as d,setContextScope as l,useUnit as C}from"./stores.js";import{createLocalStorageStore as y,createSessionStorageStore as k}from"./storage.js";import{getTrackRecommendationPresentEvent as A}from"./events.js";import{createQuery as F,queryCache as h,queryPresets as v}from"./create-query/index.js";export{y as createLocalStorageStore,F as createQuery,k as createSessionStorageStore,s as getAction,f as getActionResult,d as getContextScope,r as getExperience,x as getFeature,n as getFeatureResult,o as getPicked,p as getPredicate,a as getPredicateResult,u as getStep,A as getTrackRecommendationPresentEvent,h as queryCache,v as queryPresets,l as setContextScope,S as setStepContext,C as useUnit};
1
+ import{getExperience as e,getPicked as t}from"./client.js";import{getPredicate as n,getPredicateResult as r}from"./predicate.js";import{getFeature as i,getFeatureResult as a}from"./feature.js";import{getAction as o,getActionResult as s}from"./action.js";import{getStep as c,setStepContext as l}from"./step.js";import{getContextScope as u,setContextScope as d,useUnit as f}from"./stores.js";import{createLocalStorageStore as p,createSessionStorageStore as m}from"./storage.js";import{getTrackRecommendationPresentEvent as h}from"./events.js";import{createQuery as g,queryCache as _,queryPresets as v}from"./create-query/index.js";export{p as createLocalStorageStore,g as createQuery,m as createSessionStorageStore,o as getAction,s as getActionResult,u as getContextScope,e as getExperience,i as getFeature,a as getFeatureResult,t as getPicked,n as getPredicate,r as getPredicateResult,c as getStep,h as getTrackRecommendationPresentEvent,_ as queryCache,v as queryPresets,d as setContextScope,l as setStepContext,f as useUnit};
@@ -1 +1 @@
1
- import"@picked/client";import{createStore as s,createEvent as d,attach as l,createEffect as f,sample as a}from"effector";import{getPicked as u}from"./client.js";function m(e){return u().predicates.getEvokablePredicate(e)}function v(e){const t=m(e),o=s(void 0,{skipVoid:!1}),r=d(),i=l({source:t,mapParams:(c,n)=>n,effect:f(async c=>{if(c)return await c()})});return a({clock:r,target:i}),a({clock:i.doneData,target:o}),r(),a({clock:t,target:r}),o}export{m as getPredicate,v as getPredicateResult};
1
+ import{getPicked as e}from"./client.js";import{attach as t,createEffect as n,createEvent as r,createStore as i,sample as a}from"effector";import"@picked/client";function o(t){return e().predicates.getEvokablePredicate(t)}function s(e){let s=o(e),c=i(void 0,{skipVoid:!1}),l=r(),u=t({source:s,mapParams:(e,t)=>t,effect:n(async e=>{if(e)return await e()})});return a({clock:l,target:u}),a({clock:u.doneData,target:c}),l(),a({clock:s,target:l}),c}export{o as getPredicate,s as getPredicateResult};
@@ -1 +1 @@
1
- import{getContext as v,setContext as x}from"svelte";import{createStore as E,combine as a,attach as h,createEffect as w,sample as c}from"effector";import{getStepFields as A}from"@picked/client";import{STEP_CONTEXT_KEY as l}from"../context.js";import{getStepRouter as C}from"../router/context.js";import{getExperience as F,getPicked as T}from"./client.js";function K(){return v(l)}function N(i){const u=F(),o=T(),{activeStep:S}=C(),s=S.map(e=>e?.id===i),p=u.treeStore.map(e=>{const t=e.steps.find(r=>r.id===i);if(!t)throw new Error(`Step with id "${i}" not found in the experience tree.`);return t}),f=E([]),d=a({fields:f,responses:o.responses.listStore},({fields:e,responses:t})=>e.map(r=>{const m=t.find(g=>g.fieldId===r.id)?.value;return{...r,value:m}})),n=h({source:a({step:p,fields:o.fields.listStore}),effect:w(async({step:{fieldIds:e},fields:t})=>await A(o,t.filter(r=>e.includes(r.id))))});return c({source:{isActiveStep:s},filter:({isActiveStep:e})=>e,target:n}),c({clock:o.responses.listStore,source:{isActiveStep:s},filter:({isActiveStep:e})=>e,target:n}),c({source:n.doneData,target:f}),x(l,{step:p,fields:d,isActiveStep:s})}export{K as getStep,N as setStepContext};
1
+ import{STEP_CONTEXT_KEY as e}from"../context.js";import{getExperience as t,getPicked as n}from"./client.js";import{getStepRouter as r}from"../router/context.js";import{attach as i,combine as a,createEffect as o,createStore as s,sample as c}from"effector";import{getContext as l,setContext as u}from"svelte";import{getStepFields as d}from"@picked/client";function f(){return l(e)}function p(l){let f=t(),p=n(),{activeStep:m}=r(),h=m.map(e=>e?.id===l),g=f.treeStore.map(e=>{let t=e.steps.find(e=>e.id===l);if(!t)throw Error(`Step with id "${l}" not found in the experience tree.`);return t}),_=s([]),v=a({fields:_,responses:p.responses.listStore},({fields:e,responses:t})=>e.map(e=>{let n=t.find(t=>t.fieldId===e.id)?.value;return{...e,value:n}})),y=i({source:a({step:g,fields:p.fields.listStore}),effect:o(async({step:{fieldIds:e},fields:t})=>await d(p,t.filter(t=>e.includes(t.id))))});return c({source:{isActiveStep:h},filter:({isActiveStep:e})=>e,target:y}),c({clock:p.responses.listStore,source:{isActiveStep:h},filter:({isActiveStep:e})=>e,target:y}),c({source:y.doneData,target:_}),u(e,{step:g,fields:v,isActiveStep:h})}export{f as getStep,p as setStepContext};
@@ -1 +1 @@
1
- import{writable as b}from"svelte/store";import{createStorageKey as m,sessionStore as d,localStore as x,supportsSessionStorage as y,supportsLocalStorage as k}from"@picked/client";import{getExperience as K}from"./client.js";const L={fallback:null,scope:"global"};function a(e,t,i){const{fallback:l,scope:u}={...L,...i},s=e==="session"?d:x,p=e==="session"?y:k,o=b(l);if(p()){const S=K(),r=m(t,u,S),c=s.get(r).text();c!==null&&o.set(c),o.subscribe(n=>{n?s.set(r,n):s.remove(r)});const f=n=>{o.set(n.text())},g=s.subscribe(r,f);return{...o,destroy:()=>{g()}}}return{...o,destroy:()=>{}}}function I(e,t){return a("session",e,t)}function O(e,t){return a("local",e,t)}export{O as createLocalStorageStore,I as createSessionStorageStore};
1
+ import{getExperience as e}from"./client.js";import{createStorageKey as t,localStore as n,sessionStore as r,supportsLocalStorage as i,supportsSessionStorage as a}from"@picked/client";import{writable as o}from"svelte/store";var s={fallback:null,scope:`global`};function c(c,l,u){let{fallback:d,scope:f}={...s,...u},p=c===`session`?r:n,m=c===`session`?a:i,h=o(d);if(m()){let n=t(l,f,e()),r=p.get(n).text();r!==null&&h.set(r),h.subscribe(e=>{e?p.set(n,e):p.remove(n)});let i=p.subscribe(n,e=>{h.set(e.text())});return{...h,destroy:()=>{i()}}}return{...h,destroy:()=>{}}}function l(e,t){return c(`session`,e,t)}function u(e,t){return c(`local`,e,t)}export{u as createLocalStorageStore,l as createSessionStorageStore};
@@ -1 +1 @@
1
- import{getContext as f,setContext as s}from"svelte";import{fork as p,is as r,scopeBind as n,createWatch as m}from"effector";import{SCOPE_CONTEXT_KEY as c}from"../context.js";const g=e=>{const t=p(e);return s(c,t)},C=()=>f(c);function u(e){const t=C();return t?r.effect(e)?n(e,{scope:t}):r.event(e)&&typeof e=="function"?n(e,{scope:t}):{subscribe:o=>(o(t.getState(e)),m({unit:e,fn:o,scope:t}))}:e}export{C as getContextScope,g as setContextScope,u as useUnit};
1
+ import{SCOPE_CONTEXT_KEY as e}from"../context.js";import{createWatch as t,fork as n,is as r,scopeBind as i}from"effector";import{getContext as a,setContext as o}from"svelte";var s=t=>o(e,n(t)),c=()=>a(e);function l(e){let n=c();return n?r.effect(e)||r.event(e)&&typeof e==`function`?i(e,{scope:n}):{subscribe:r=>(r(n.getState(e)),t({unit:e,fn:r,scope:n}))}:e}export{c as getContextScope,s as setContextScope,l as useUnit};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{adaptSvelteComponent as o,isValidAdaptedComponent as t}from"./component.js";import{default as d}from"./components/LazyImage.svelte";export{d as LazyImage,o as adaptSvelteComponent,t as isValidAdaptedComponent};
1
+ import{adaptSvelteComponent as e,isValidAdaptedComponent as t}from"./component.js";import{LazyImage as n}from"./components/index.js";export{n as LazyImage,e as adaptSvelteComponent,t as isValidAdaptedComponent};
@@ -1 +1 @@
1
- import{svelteDevtoolsPlugin as l}from"./plugin.js";export{l as svelteDevtoolsPlugin};
1
+ import{svelteDevtoolsPlugin as e}from"./plugin.js";export{e as svelteDevtoolsPlugin};
@@ -1 +1 @@
1
- import{__vitePreload as i}from"../../_virtual/preload-helper.js";import{lazyComponent as r}from"@picked/client";import{createExperience as p,createExperiencePlugin as a}from"@picked/client/plugins/create-experience";import{adaptSvelteComponent as l}from"../../component.js";const v=t=>{const e=p({id:"devtools",name:"Picked Devtools",condition:!1,initializeOpen:!1,targets:[{selector:"body",placement:"append"}],component:l(r(()=>i(()=>import("./DevToolsExperience.svelte"),[])))});return e.addStep({label:"Tools"}),[{name:"svelte-devtools",setup:o=>{t?.enabled&&o.eventBus.watch(n=>{n.type==="ready"&&o.experiences.launch({id:e.id,options:{bypassCondition:!0}})})}},a({experiences:[e]})]};export{v as svelteDevtoolsPlugin};
1
+ import{adaptSvelteComponent as e}from"../../component.js";import{__vitePreload as t}from"../../_virtual/_vite/preload-helper.js";import{lazyComponent as n}from"@picked/client";import{createExperience as r,createExperiencePlugin as i}from"@picked/client/plugins/create-experience";var a=a=>{let o=r({id:`devtools`,name:`Picked Devtools`,condition:!1,initializeOpen:!1,targets:[{selector:`body`,placement:`append`}],component:e(n(()=>t(()=>import(`./DevToolsExperience.svelte`),[])))});return o.addStep({label:`Tools`}),[{name:`svelte-devtools`,setup:e=>{a?.enabled&&e.eventBus.watch(t=>{t.type===`ready`&&e.experiences.launch({id:o.id,options:{bypassCondition:!0}})})}},i({experiences:[o]})]};export{a as svelteDevtoolsPlugin};
@@ -1 +1 @@
1
- import{default as t}from"./actions/Button.svelte";import{default as r}from"./actions/CopyButton.svelte";import{default as d}from"./typography/Heading.svelte";import{default as p}from"./typography/Text.svelte";import{default as x}from"./layout/Card.svelte";import{default as s}from"./layout/Divider.svelte";import{default as n}from"./layout/Spacer.svelte";import{default as S}from"./layout/Stack.svelte";import{default as C}from"./forms/Checkbox.svelte";import{default as b}from"./forms/RadioGroup.svelte";import{default as g}from"./forms/Select.svelte";import{default as w}from"./forms/Switch.svelte";import{default as D}from"./forms/TextField.svelte";import{default as R}from"./feedback/Banner.svelte";import{default as z}from"./feedback/Spinner.svelte";import{default as G}from"./overlays/Tooltip.svelte";import{default as V}from"./data/Badge.svelte";import{default as q}from"./data/CodeBlock.svelte";import{default as I}from"./data/DataTable.svelte";import{default as K}from"./data/EmptyState.svelte";import{default as M}from"./data/ExpandableRow.svelte";import{default as O}from"./data/VisualizationContainer.svelte";export{V as Badge,R as Banner,t as Button,x as Card,C as Checkbox,q as CodeBlock,r as CopyButton,I as DataTable,s as Divider,K as EmptyState,M as ExpandableRow,d as Heading,b as RadioGroup,g as Select,n as Spacer,z as Spinner,S as Stack,w as Switch,p as Text,D as TextField,G as Tooltip,O as VisualizationContainer};
1
+ import e from"./actions/Button.svelte";import t from"./actions/CopyButton.svelte";import n from"./typography/Heading.svelte";import r from"./typography/Text.svelte";import i from"./layout/Card.svelte";import a from"./layout/Divider.svelte";import o from"./layout/Spacer.svelte";import s from"./layout/Stack.svelte";import c from"./forms/Checkbox.svelte";import l from"./forms/RadioGroup.svelte";import u from"./forms/Select.svelte";import d from"./forms/Switch.svelte";import f from"./forms/TextField.svelte";import p from"./feedback/Banner.svelte";import m from"./feedback/Spinner.svelte";import h from"./overlays/Tooltip.svelte";import g from"./data/Badge.svelte";import _ from"./data/CodeBlock.svelte";import v from"./data/DataTable.svelte";import y from"./data/EmptyState.svelte";import b from"./data/ExpandableRow.svelte";import x from"./data/VisualizationContainer.svelte";export{g as Badge,p as Banner,e as Button,i as Card,c as Checkbox,_ as CodeBlock,t as CopyButton,v as DataTable,a as Divider,y as EmptyState,b as ExpandableRow,n as Heading,l as RadioGroup,u as Select,o as Spacer,m as Spinner,s as Stack,d as Switch,r as Text,f as TextField,h as Tooltip,x as VisualizationContainer};
@@ -1 +1 @@
1
- import{svelteFrameworkPlugin as o}from"./plugin.js";export{o as svelteFrameworkPlugin};
1
+ import{svelteFrameworkPlugin as e}from"./plugin.js";export{e as svelteFrameworkPlugin};
@@ -1 +1 @@
1
- import{adaptSvelteComponent as o}from"../../component.js";import{renderSvelteComponent as s}from"../../render/browser.js";const c=e=>({name:"svelte-framework",setup:t=>{t.registerFramework({name:"svelte",render(...n){return s(...n,{stylesheets:e.stylesheets,css:e.css})}});const r=e.components.experience;r&&t.registerComponent("experience",o(r.component,r.style))}});export{c as svelteFrameworkPlugin};
1
+ import{adaptSvelteComponent as e}from"../../component.js";import{renderSvelteComponent as t}from"../../render/browser.js";var n=n=>({name:`svelte-framework`,setup:r=>{r.registerFramework({name:`svelte`,render(...e){return t(...e,{stylesheets:n.stylesheets,css:n.css})}});let i=n.components.experience;i&&r.registerComponent(`experience`,e(i.component,i.style))}});export{n as svelteFrameworkPlugin};
@@ -1 +1 @@
1
- import{isLazyLoader as p}from"@picked/client";import{mount as u}from"svelte";import{isValidAdaptedComponent as d}from"../component.js";import{CLIENT_CONTEXT_KEY as f,EXPERIENCE_CONTEXT_KEY as E}from"../context.js";import{mergeArrays as l}from"../utils/array.js";import y from"../utils/ErrorBoundary.svelte";function C(n,t){return new Map([[f,n],[E,t]])}const k=async(n,t,s,i,c)=>{if(!d(t))throw new Error("The component is invalid.");const m=l(t.style?.sheets,c.stylesheets),a=l(t.style?.css,c.css);m.length&&m.forEach(r=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e.setAttribute("type","text/css"),e.setAttribute("picked-injected","true"),n.appendChild(e)}),a.length&&a.forEach(r=>{const e=document.createElement("style");e.textContent=r,e.setAttribute("type","text/css"),e.setAttribute("picked-injected","true"),n.appendChild(e)});const o=r=>{u(y,{target:n,props:{component:r,componentProps:{client:s,experience:i}},context:C(s,i)})};if(p(t.component)){const{default:r}=await t.component.load();o(r);return}if(t.component instanceof Promise){const{default:r}=await t.component;o(r);return}o(t.component)},N=n=>{};export{C as createContext,k as renderSvelteComponent,N as unRenderSvelteComponent};
1
+ import{isValidAdaptedComponent as e}from"../component.js";import{CLIENT_CONTEXT_KEY as t,EXPERIENCE_CONTEXT_KEY as n}from"../context.js";import{mergeArrays as r}from"../utils/array.js";import{mount as i}from"svelte";import{isLazyLoader as a}from"@picked/client";import o from"../utils/ErrorBoundary.svelte";function s(e,r){return new Map([[t,e],[n,r]])}var c=async(t,n,c,l,u)=>{if(!e(n))throw Error(`The component is invalid.`);let d=r(n.style?.sheets,u.stylesheets),f=r(n.style?.css,u.css);d.length&&d.forEach(e=>{let n=document.createElement(`link`);n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n.setAttribute(`type`,`text/css`),n.setAttribute(`picked-injected`,`true`),t.appendChild(n)}),f.length&&f.forEach(e=>{let n=document.createElement(`style`);n.textContent=e,n.setAttribute(`type`,`text/css`),n.setAttribute(`picked-injected`,`true`),t.appendChild(n)});let p=e=>{i(o,{target:t,props:{component:e,componentProps:{client:c,experience:l}},context:s(c,l)})};if(a(n.component)){let{default:e}=await n.component.load();p(e);return}if(n.component instanceof Promise){let{default:e}=await n.component;p(e);return}p(n.component)},l=e=>{};export{s as createContext,c as renderSvelteComponent,l as unRenderSvelteComponent};
@@ -1 +1 @@
1
- import{isLazyLoader as m}from"@picked/client";import{render as l}from"svelte/server";import{isValidAdaptedComponent as h}from"../component.js";import{CLIENT_CONTEXT_KEY as f,EXPERIENCE_CONTEXT_KEY as p}from"../context.js";import{mergeArrays as n}from"../utils/array.js";function c(e,t){return new Map([[f,e],[p,t]])}const w=async(e,t,o,a)=>{if(!h(e))throw new Error("The component is invalid.");const d=n(e.style?.sheets,a.stylesheets),i=n(e.style?.css,a.css);let s;m(e.component)?s=(await e.component.load()).default:e.component instanceof Promise?s=(await e.component).default:s=e.component;const r=l(s,{props:{client:t,experience:o},context:c(t,o)});return{stylesheets:d,css:i,head:r.head,html:r.html,body:r.body,hashes:r.hashes}};export{c as createContext,w as staticRenderSvelteComponent};
1
+ import{isValidAdaptedComponent as e}from"../component.js";import{CLIENT_CONTEXT_KEY as t,EXPERIENCE_CONTEXT_KEY as n}from"../context.js";import{mergeArrays as r}from"../utils/array.js";import{isLazyLoader as i}from"@picked/client";import{render as a}from"svelte/server";function o(e,r){return new Map([[t,e],[n,r]])}var s=async(t,n,s,c)=>{if(!e(t))throw Error(`The component is invalid.`);let l=r(t.style?.sheets,c.stylesheets),u=r(t.style?.css,c.css),d;d=i(t.component)?(await t.component.load()).default:t.component instanceof Promise?(await t.component).default:t.component;let f=a(d,{props:{client:n,experience:s},context:o(n,s)});return{stylesheets:l,css:u,head:f.head,html:f.html,body:f.body,hashes:f.hashes}};export{o as createContext,s as staticRenderSvelteComponent};
@@ -1 +1 @@
1
- import{getContext as o,setContext as r}from"svelte";const t=Symbol("router"),s=e=>r(t,e),p=()=>o(t);export{p as getStepRouter,s as setStepRouter};
1
+ import{getContext as e,setContext as t}from"svelte";var n=Symbol(`router`),r=e=>t(n,e),i=()=>e(n);export{i as getStepRouter,r as setStepRouter};
@@ -1 +1 @@
1
- import{default as o}from"./StepRouter.svelte";import{default as a}from"./Step.svelte";export{a as Step,o as StepRouter};
1
+ import e from"./StepRouter.svelte";import t from"./Step.svelte";export{t as Step,e as StepRouter};
@@ -1 +1 @@
1
- import{isValidAdaptedComponent as n}from"../component.js";import{staticRenderSvelteComponent as d}from"../render/server.js";const m={isValidComponent:n,render:async(o,t,r)=>{const e=await d(o,t,r,{});return{head:e.head,body:e.body}}};export{m as renderer};
1
+ import{isValidAdaptedComponent as e}from"../component.js";import{staticRenderSvelteComponent as t}from"../render/server.js";var n={isValidComponent:e,render:async(e,n,r)=>{let i=await t(e,n,r,{});return{head:i.head,body:i.body}}};export{n as renderer};
@@ -1 +1 @@
1
- const t=(r,e)=>[...r||[],...e||[]];export{t as mergeArrays};
1
+ var e=(e,t)=>[...e||[],...t||[]];export{e as mergeArrays};
@@ -1 +0,0 @@
1
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picked/svelte",
3
- "version": "0.0.50-next.3",
3
+ "version": "0.0.50-next.4",
4
4
  "dependencies": {
5
5
  "d3": "^7.9.0"
6
6
  },
@@ -11,22 +11,22 @@
11
11
  "@repo/typescript-config": "workspace:*",
12
12
  "@size-limit/file": "^12.0.0",
13
13
  "@sveltejs/package": "^2.3.11",
14
- "@sveltejs/vite-plugin-svelte": "^6.2.4",
14
+ "@sveltejs/vite-plugin-svelte": "^7.0.0",
15
15
  "@tsconfig/svelte": "^5.0.4",
16
16
  "@types/d3": "^7.4.3",
17
17
  "@types/node": "^22",
18
- "@vitest/coverage-v8": "^4.0.17",
18
+ "@vitest/coverage-v8": "^4.1.0",
19
19
  "effector": "^23.3.0",
20
20
  "fast-glob": "^3.3.3",
21
21
  "happy-dom": "^20.0.2",
22
22
  "size-limit": "^12.0.0",
23
- "svelte": "^5.34.3",
23
+ "svelte": "^5.46.4",
24
24
  "svelte-check": "^4.2.2",
25
25
  "typedoc": "^0.28.5",
26
26
  "typedoc-plugin-markdown": "^4.6.3",
27
- "vite": "^7.3.1",
27
+ "vite": "^8.0.1",
28
28
  "vite-plugin-dts": "^4.5.4",
29
- "vitest": "^4.0.17"
29
+ "vitest": "^4.1.0"
30
30
  },
31
31
  "exports": {
32
32
  ".": {
@@ -88,9 +88,9 @@
88
88
  },
89
89
  "module": "./dist/index.js",
90
90
  "peerDependencies": {
91
- "@picked/client": "0.0.50-next.3",
91
+ "@picked/client": "0.0.50-next.4",
92
92
  "effector": "^23.3.0",
93
- "svelte": "^5.34.3"
93
+ "svelte": "^5.46.4"
94
94
  },
95
95
  "private": false,
96
96
  "scripts": {
@@ -1 +0,0 @@
1
- const p="modulepreload",v=function(l){return"/"+l},u={},y=function(d,c,E){let i=Promise.resolve();if(c&&c.length>0){let f=function(e){return Promise.all(e.map(o=>Promise.resolve(o).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),t=r?.nonce||r?.getAttribute("nonce");i=f(c.map(e=>{if(e=v(e),e in u)return;u[e]=!0;const o=e.endsWith(".css"),s=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${s}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":p,o||(n.as="script"),n.crossOrigin="",n.href=e,t&&n.setAttribute("nonce",t),document.head.appendChild(n),o)return new Promise((m,h)=>{n.addEventListener("load",m),n.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${e}`)))})}))}function a(r){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=r,window.dispatchEvent(t),!t.defaultPrevented)throw r}return i.then(r=>{for(const t of r||[])t.status==="rejected"&&a(t.reason);return d().catch(a)})};export{y as __vitePreload};