@heycater/qualification-funnel 1.19.0 → 1.19.1

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.
@@ -403,7 +403,7 @@
403
403
  }
404
404
  }
405
405
  }
406
- `;function WO(){const[{data:e,fetching:t},n]=Dm({query:UO,requestPolicy:"cache-and-network"});return{currentUserAccount:(null==e?void 0:e.currentUserAccount)||null,loading:t,refetch:n}}const HO=(e,t,n)=>{const[r,o]=g.useReducer(e,t,n.storage&&"undefined"!=typeof window?(i=n.key,a=n.storage,s=n.isInvalid,e=>{const t=("localStorage"===a?localStorage:sessionStorage).getItem(i);if(!t)return e;const n={...JSON.parse(t)};return s&&s(n)?e:n}):()=>t);var i,a,s;const l=g.useCallback(()=>{if(n.storage&&"undefined"!=typeof window){("localStorage"===n.storage?localStorage:sessionStorage).removeItem(n.key)}},[n]);return g.useEffect(()=>{if(n.storage&&"undefined"!=typeof window){("localStorage"===n.storage?localStorage:sessionStorage).setItem(n.key,JSON.stringify(r))}},[r]),[r,o,l]};function ZO(e){const t=g.useRef();return g.useEffect(()=>{t.current=e}),t.current}function KO({onQuestionChange:e,onAllQuestionAnswered:t}={}){var n;const r=g.useContext(YO);if(!r)throw new Error("useQualification hook is used outside of it's context provider");const o=r.state.status,i=ZO(o),a=o===cg?r.state.qualification.step:void 0,s=ZO(o===cg?null==(n=r.state.qualification.step)?void 0:n.id:void 0);return g.useEffect(()=>{o===dg&&i!==dg&&t&&t(r.state)},[o,i]),g.useEffect(()=>{if(e&&o===cg&&s!==(null==a?void 0:a.id)){const t=r.state.qualification.stepIndex,n=r.state.qualification.steps.filter(e=>!e.disabled);e(a,t,n.length)}},[e,s,a,o,r.state]),r}const YO=g.createContext(null),GO=({children:e,initialized:t,...n})=>{const[r,o,i]=HO(qO,t?BO(mg,"boolean"==typeof t?void 0:t):mg,"storageKey"in n?{key:n.storageKey,isInvalid:QO,storage:n.storage}:{storage:null,isInvalid:QO}),a=g.useMemo(()=>function(e){return{answerQuestion:(t,n,r)=>e({type:"answerQuestion",payload:{id:t,value:n,options:r||{}}}),initialize:t=>e({type:"initialize",payload:t||{}}),nextStep:()=>e({type:"nextStep"}),prevStep:()=>e({type:"prevStep"}),setQuestion:t=>e({type:"setQuestion",payload:t}),setRequest:t=>e({type:"setRequest",payload:t}),qualify:t=>e({type:"qualify",payload:t})}}(o),[o]);g.useEffect(()=>{if(t){const e="object"==typeof t?t:{};a.initialize({...e})}},[t,a]),WO();const s="qualification"in r?r.qualification.answers:null,l="qualification"in r&&"errors"in r.qualification?r.qualification.errors:null,u=g.useCallback(e=>{if(s)return s[e]},[s]),c=g.useCallback(e=>l&&l[e]||[],[l]),d=g.useCallback(e=>{if(!l)return[];if(!jO[e].questions.map(e=>(null==s?void 0:s[e.id])||[]).flat(1/0).length)return[];return jO[e].questions.map(e=>l[e.id]||[]).filter(e=>e.length>0).flat()||[]},[l,s]);g.useEffect(()=>{if(r.status!==cg)return;const e=r.qualification.step.id;jO[e].questions.forEach(e=>function(e,t,n){var r;if(void 0!==t.qualification.answers[e.id])return;if("getDefaultValue"in e){const o=null==(r=e.getDefaultValue)?void 0:r.call(e,{answers:t.qualification.answers,selectedCaterer:t.qualification.selectedCaterer});void 0!==o&&n.answerQuestion(e.id,o)}}(e,r,a))},[r,u,a]);const f=g.useMemo(()=>function(e){if(e.status!==cg)return!1;const t=e.qualification.step;if(!t)return!1;if(!PO(e,e.qualification.step.id))return!1;const n=e.qualification.steps.findIndex(e=>e.id===t.id),r=e.qualification.steps.slice(0,n);if(r.length&&!r.every(t=>PO(e,t.id)))return!1;return!0}(r),[r]);return C.jsx(YO.Provider,{value:{state:r,actions:a,clearSaved:i,answerOf:u,errorsOfStep:d,errorsOf:c,canContinue:f},children:e})};function QO(e){try{return US.object({qualification:US.object({steps:US.array().of(US.object({id:US.mixed().oneOf(Object.values(sO)).required()})),questions:US.mixed().oneOf([void 0])})}).validateSync(e),!1}catch{return!0}}const JO=({onBackground:e,mode:t="embedded"})=>{const{state:n,actions:r,canContinue:o}=KO(),i="fullscreen"===t,a=g.useCallback(()=>{r.prevStep()},[]),{t:s}=qd();if(n.status!==dg&&n.status!==cg&&n.status!==fg)return null;const l=n.status===cg?n.qualification.step:null,u=n.qualification.steps,c=l?u.findIndex(({id:e})=>e===l.id):-1,d=u[c-1],f=Boolean(l&&c===u.length-1),p=n.qualification.steps.filter(e=>!e.disabled),h=i?eM:XO;return C.jsx(C.Fragment,{children:C.jsxs(lg,{size:"sm",display:"flex",flexDirection:"column",children:[!i&&C.jsx(Fm,{display:{xs:"none",sm:"block"},visibility:n.status===dg?"hidden":"visible",mb:{xs:2},children:C.jsx(og,{currentStep:n.status===cg?n.qualification.stepIndex+1:p.length,stepCount:p.length})}),C.jsxs(tM,{visibility:n.status===dg?"hidden":"visible",children:[d&&!d.disabled&&C.jsx(h,{id:"embedded-funnel__prev-btn",variant:"dark"===e?"tertiary":"secondary",rounded:!0,onClick:a,children:s("common:labels.back")}),C.jsx(Fm,{children:C.jsx(h,{variant:"primary",type:"submit",id:"embedded-funnel__next-btn",disabled:!o,rounded:!0,children:s(f?"qualification:lastQuestionCTAShort":"common:labels.next")})})]})]})})},XO=_p(Vm)`
406
+ `;function WO(){const[{data:e,fetching:t},n]=Dm({query:UO,requestPolicy:"cache-and-network"});return{currentUserAccount:(null==e?void 0:e.currentUserAccount)||null,loading:t,refetch:n}}const HO=(e,t,n)=>{const[r,o]=g.useReducer(e,t,n.storage&&"undefined"!=typeof window?(i=n.key,a=n.storage,s=n.isInvalid,e=>{const t=("localStorage"===a?localStorage:sessionStorage).getItem(i);if(!t)return e;const n={...JSON.parse(t)};return s&&s(n)?e:n}):()=>t);var i,a,s;const l=g.useCallback(()=>{if(n.storage&&"undefined"!=typeof window){("localStorage"===n.storage?localStorage:sessionStorage).removeItem(n.key)}},[n]);return g.useEffect(()=>{if(n.storage&&"undefined"!=typeof window){("localStorage"===n.storage?localStorage:sessionStorage).setItem(n.key,JSON.stringify(r))}},[r]),[r,o,l]};function ZO(e){const t=g.useRef();return g.useEffect(()=>{t.current=e}),t.current}function KO({onQuestionChange:e,onAllQuestionAnswered:t}={}){var n;const r=g.useContext(YO);if(!r)throw new Error("useQualification hook is used outside of it's context provider");const o=r.state.status,i=ZO(o),a=o===cg?r.state.qualification.step:void 0,s=ZO(o===cg?null==(n=r.state.qualification.step)?void 0:n.id:void 0);return g.useEffect(()=>{o===dg&&i!==dg&&t&&t(r.state)},[o,i]),g.useEffect(()=>{if(e&&o===cg&&s!==(null==a?void 0:a.id)){const t=r.state.qualification.stepIndex,n=r.state.qualification.steps.filter(e=>!e.disabled);e(a,t,n.length)}},[e,s,a,o,r.state]),r}const YO=g.createContext(null),GO=({children:e,initialized:t,...n})=>{const[r,o,i]=HO(qO,t?BO(mg,"boolean"==typeof t?void 0:t):mg,"storageKey"in n?{key:n.storageKey,isInvalid:QO,storage:n.storage}:{storage:null,isInvalid:QO}),a=g.useMemo(()=>function(e){return{answerQuestion:(t,n,r)=>e({type:"answerQuestion",payload:{id:t,value:n,options:r||{}}}),initialize:t=>e({type:"initialize",payload:t||{}}),nextStep:()=>e({type:"nextStep"}),prevStep:()=>e({type:"prevStep"}),setQuestion:t=>e({type:"setQuestion",payload:t}),setRequest:t=>e({type:"setRequest",payload:t}),qualify:t=>e({type:"qualify",payload:t})}}(o),[o]);g.useEffect(()=>{if(t){const e="object"==typeof t?t:{};a.initialize({...e})}},[t,a]),WO();const s="qualification"in r?r.qualification.answers:null,l="qualification"in r&&"errors"in r.qualification?r.qualification.errors:null,u=g.useCallback(e=>{if(s)return s[e]},[s]),c=g.useCallback(e=>l&&l[e]||[],[l]),d=g.useCallback(e=>{if(!l)return[];if(!jO[e].questions.map(e=>(null==s?void 0:s[e.id])||[]).flat(1/0).length)return[];return jO[e].questions.map(e=>l[e.id]||[]).filter(e=>e.length>0).flat()||[]},[l,s]);g.useEffect(()=>{if(r.status!==cg)return;const e=r.qualification.step.id;jO[e].questions.forEach(e=>function(e,t,n){var r;if(void 0!==t.qualification.answers[e.id])return;if("getDefaultValue"in e){const o=null==(r=e.getDefaultValue)?void 0:r.call(e,{answers:t.qualification.answers,selectedCaterer:t.qualification.selectedCaterer});void 0!==o&&n.answerQuestion(e.id,o)}}(e,r,a))},[r,u,a]);const f=g.useMemo(()=>function(e){if(e.status!==cg)return!1;const t=e.qualification.step;if(!t)return!1;if(!PO(e,e.qualification.step.id))return!1;const n=e.qualification.steps.findIndex(e=>e.id===t.id),r=e.qualification.steps.slice(0,n);if(r.length&&!r.every(t=>PO(e,t.id)))return!1;return!0}(r),[r]);return C.jsx(YO.Provider,{value:{state:r,actions:a,clearSaved:i,answerOf:u,errorsOfStep:d,errorsOf:c,canContinue:f},children:e})};function QO(e){var t,n;try{US.object({qualification:US.object({steps:US.array().of(US.object({id:US.mixed().oneOf(Object.values(sO)).required()})),questions:US.mixed().oneOf([void 0])})}).validateSync(e);if(1===t_.getItems({}).length){const r=null==(n=null==(t=e.qualification)?void 0:t.steps)?void 0:n.find(e=>"city"===e.id);if(r&&!r.disabled)return!0}return!1}catch{return!0}}const JO=({onBackground:e,mode:t="embedded"})=>{const{state:n,actions:r,canContinue:o}=KO(),i="fullscreen"===t,a=g.useCallback(()=>{r.prevStep()},[]),{t:s}=qd();if(n.status!==dg&&n.status!==cg&&n.status!==fg)return null;const l=n.status===cg?n.qualification.step:null,u=n.qualification.steps,c=l?u.findIndex(({id:e})=>e===l.id):-1,d=u[c-1],f=Boolean(l&&c===u.length-1),p=n.qualification.steps.filter(e=>!e.disabled),h=i?eM:XO;return C.jsx(C.Fragment,{children:C.jsxs(lg,{size:"sm",display:"flex",flexDirection:"column",children:[!i&&C.jsx(Fm,{display:{xs:"none",sm:"block"},visibility:n.status===dg?"hidden":"visible",mb:{xs:2},children:C.jsx(og,{currentStep:n.status===cg?n.qualification.stepIndex+1:p.length,stepCount:p.length})}),C.jsxs(tM,{visibility:n.status===dg?"hidden":"visible",children:[d&&!d.disabled&&C.jsx(h,{id:"embedded-funnel__prev-btn",variant:"dark"===e?"tertiary":"secondary",rounded:!0,onClick:a,children:s("common:labels.back")}),C.jsx(Fm,{children:C.jsx(h,{variant:"primary",type:"submit",id:"embedded-funnel__next-btn",disabled:!o,rounded:!0,children:s(f?"qualification:lastQuestionCTAShort":"common:labels.next")})})]})]})})},XO=_p(Vm)`
407
407
  height: 24px;
408
408
  `,eM=_p(Vm)`
409
409
  height: 48px;