@heycater/qualification-funnel 1.14.0 → 1.15.0

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.
@@ -670,7 +670,7 @@
670
670
  right: ${e=>e.theme.spacing(2)}px;
671
671
  top: 50%;
672
672
  transform: translateY(-50%);
673
- `;function rj(e,t){if("undefined"!=typeof window){if(window.posthog)try{window.posthog.capture(e,t)}catch(n){console.error("[PostHog] Failed to send event:",n)}window.dataLayer&&window.dataLayer.push({event:e,...t})}}function oj(e,t){const n={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps,step_id:t.step_id,step_index:t.step_index,question_id:t.question_id,answer_value:t.answer_value,is_last_question:t.is_last_question};e.service_type&&(n.service_type=e.service_type),e.city&&(n.city=e.city),rj("qf_v13_answer_selected",n)}function ij(e,t){e.session_id||console.warn("[Tracking] trackFormSubmitted called with empty session_id",e);const n={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps,...t};e.service_type&&(n.service_type=e.service_type),e.city&&(n.city=e.city),rj("qf_v13_form_submitted",n)}function aj(e){e.session_id||console.warn("[Tracking] trackCompleted called with empty session_id",e);const t={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps};e.service_type&&(t.service_type=e.service_type),e.city&&(t.city=e.city),rj("qf_v13_completed",t)}function sj(e){return null==e?null:e instanceof Date?TL(e,"yyyy-MM-dd"):"object"!=typeof e||Array.isArray(e)||0!==Object.keys(e).length?(Array.isArray(e),e):null}const lj=g.createContext(null);function uj({funnelContextRef:e,updateContext:t,currentStepId:n,children:r}){const{state:o,answerOf:i}=KO(),a=g.useCallback(()=>{var r;if(!("qualification"in o))return;const a=o.qualification;if(!("step"in a))return;const s=a.step,l=a.stepIndex;null==(r=a.steps)||r.filter(e=>!e.disabled);const u=e.current.service_type||i("service_type")||"",c=`qf_v13_started_${e.current.session_id}_${u}`,d=`qf_v13_tracked_steps_${e.current.session_id}_${u}`;let f=!1;if("undefined"!=typeof sessionStorage){sessionStorage.getItem(c)||(f=!0,sessionStorage.setItem(c,"true"),sessionStorage.setItem(d,"[]"),p=e.current,h=n,rj("qf_v13_started",{funnel_mode:p.funnel_mode,session_id:p.session_id,initial_step:h}))}var p,h;let m=[];if("undefined"!=typeof sessionStorage)try{m=JSON.parse(sessionStorage.getItem(d)||"[]")}catch{m=[]}if(f&&l>0&&rO(u)){const t=AO(u);for(let n=0;n<l&&n<t.length;n++){const r=t[n];if(m.includes(r))continue;const o=jO[r],a=(null==o?void 0:o.questions)||[];a.forEach((t,o)=>{const s=i(t.id);oj(e.current,{step_id:r,step_index:n,question_id:t.id,answer_value:sj(s),is_last_question:o===a.length-1})}),m.push(r)}}if(m.includes(s.id))return;const g=jO[s.id],v=(null==g?void 0:g.questions)||[];v.forEach((n,r)=>{const o=i(n.id),a=r===v.length-1;if("service_type"===n.id&&rO(o)){const e=AO(o);t({service_type:o,total_steps:e.length})}else"city"===n.id&&o&&t({city:o});oj(e.current,{step_id:s.id,step_index:l,question_id:n.id,answer_value:sj(o),is_last_question:a})}),m.push(s.id),"undefined"!=typeof sessionStorage&&sessionStorage.setItem(d,JSON.stringify(m))},[e,n,o,t,i]),s=g.useCallback((n,r)=>{if("service_type"===n&&rO(r)){const n=AO(r);delete e.current.city,t({service_type:r,total_steps:n.length})}else"city"===n&&t({city:r})},[e,t]);return C.jsx(lj.Provider,{value:{funnelContextRef:e,currentStepId:n,trackAnswer:s,trackStepCompletion:a},children:r})}function cj(){const e=g.useContext(lj);if(!e){return{funnelContextRef:{current:{session_id:"",funnel_mode:"embedded",service_type:"",total_steps:0}},currentStepId:"",trackAnswer:()=>{},trackStepCompletion:()=>{}}}return e}function dj(){var e,t;const{answerOf:n,errorsOf:r,actions:o}=KO(),{t:i}=qd(),{currentUserAccount:a}=WO(),{trackAnswer:s}=cj(),l=null==(t=null==(e=null==a?void 0:a.owner)?void 0:e.salesforceCustomer)?void 0:t.isManagedAccount,u=n(iO.peopleCount.id),c=r(iO.peopleCount.id),d=n(qE.id),f=r(qE.id),p=n(UE.id),h=r(UE.id);return C.jsxs(mj,{children:[C.jsx(Fm,{mb:3,children:C.jsx(Qm,{as:"label",htmlFor:iO.peopleCount.id,children:i("common:questions.min_order_number")})}),C.jsx(Fm,{mb:3,children:C.jsx(zM,{name:iO.peopleCount.id,id:iO.peopleCount.id,value:u||0,error:!!(null==c?void 0:c.length),onChange:e=>{o.answerQuestion(iO.peopleCount.id,e),s(iO.peopleCount.id,e)},autoFocus:!1})}),C.jsx(fj,{children:C.jsx(ZM,{questionId:iO.peopleCount.id,suggestions:JL.suggestions||[],onSelect:e=>{o.answerQuestion(iO.peopleCount.id,e),s(iO.peopleCount.id,e)}})}),C.jsx(hj,{my:4}),C.jsx(Fm,{mb:2,children:C.jsx(Qm,{as:"label",htmlFor:qE.id,children:i("common:questions.budgetProPerson")})}),C.jsx(Fm,{mb:2,children:C.jsx(GM,{name:qE.id,id:qE.id,min:0,autoFocus:!1,error:!!(null==f?void 0:f.length),value:d?Math.round(d):0,onChange:e=>{o.answerQuestion(qE.id,e,{isManagedAccount:l}),s(qE.id,e)}})}),C.jsx(Fm,{mb:2,children:C.jsx(Qm,{as:"label",htmlFor:UE.id,children:i("common:questions.totalBudget")})}),C.jsx(GM,{name:UE.id,id:UE.id,min:0,autoFocus:!1,error:!!(null==h?void 0:h.length),value:p?Math.floor(p):0,onChange:e=>{o.answerQuestion(UE.id,Math.floor(e),{isManagedAccount:l}),s(UE.id,Math.floor(e))}}),C.jsx(fj,{mt:2,children:C.jsx(pj,{children:f[0]||h[0]})})]})}const fj=_p(Fm)`
673
+ `;function rj(e,t){if("undefined"!=typeof window){if(window.posthog)try{window.posthog.capture(e,t)}catch(n){console.error("[PostHog] Failed to send event:",n)}window.dataLayer&&window.dataLayer.push({event:e,...t})}}function oj(e,t){const n={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps,step_id:t.step_id,step_index:t.step_index,question_id:t.question_id,answer_value:t.answer_value,is_last_question:t.is_last_question};e.service_type&&(n.service_type=e.service_type),e.city&&(n.city=e.city),rj("qf_v13_answer_selected",n)}function ij(e,t){e.session_id||console.warn("[Tracking] trackFormSubmitted called with empty session_id",e);const n={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps,...t};e.service_type&&(n.service_type=e.service_type),e.city&&(n.city=e.city),rj("qf_v13_form_submitted",n)}function aj(e){e.session_id||console.warn("[Tracking] trackCompleted called with empty session_id",e);const t={funnel_mode:e.funnel_mode,session_id:e.session_id,total_steps:e.total_steps};e.service_type&&(t.service_type=e.service_type),e.city&&(t.city=e.city),rj("qf_v13_completed",t)}function sj(e){return null==e?null:e instanceof Date?TL(e,"yyyy-MM-dd"):"object"!=typeof e||Array.isArray(e)||0!==Object.keys(e).length?(Array.isArray(e),e):null}const lj=g.createContext(null);function uj({funnelContextRef:e,updateContext:t,currentStepId:n,children:r}){const{state:o,answerOf:i}=KO(),a=g.useCallback(r=>{var a;if(!("qualification"in o))return;const s=o.qualification;if(!("step"in s))return;const l=s.step,u=s.stepIndex;null==(a=s.steps)||a.filter(e=>!e.disabled);const c=e.current.service_type||i("service_type")||"",d=`qf_v13_started_${e.current.session_id}_${c}`,f=`qf_v13_tracked_steps_${e.current.session_id}_${c}`;let p=!1;if("undefined"!=typeof sessionStorage){sessionStorage.getItem(d)||(p=!0,sessionStorage.setItem(d,"true"),sessionStorage.setItem(f,"[]"),h=e.current,m=n,rj("qf_v13_started",{funnel_mode:h.funnel_mode,session_id:h.session_id,initial_step:m}))}var h,m;let g=[];if("undefined"!=typeof sessionStorage)try{g=JSON.parse(sessionStorage.getItem(f)||"[]")}catch{g=[]}if(p&&u>0&&rO(c)){const t=AO(c);for(let n=0;n<u&&n<t.length;n++){const r=t[n];if(g.includes(r))continue;const o=jO[r],a=(null==o?void 0:o.questions)||[];a.forEach((t,o)=>{const s=i(t.id);oj(e.current,{step_id:r,step_index:n,question_id:t.id,answer_value:sj(s),is_last_question:o===a.length-1})}),g.push(r)}}if(g.includes(l.id))return;const v=jO[l.id],y=(null==v?void 0:v.questions)||[];y.forEach((n,o)=>{const a=(s=n.id,r&&s in r?r[s]:i(s));var s;const c=o===y.length-1;if("service_type"===n.id&&rO(a)){const e=AO(a);t({service_type:a,total_steps:e.length})}else"city"===n.id&&a&&t({city:a});oj(e.current,{step_id:l.id,step_index:u,question_id:n.id,answer_value:sj(a),is_last_question:c})}),g.push(l.id),"undefined"!=typeof sessionStorage&&sessionStorage.setItem(f,JSON.stringify(g))},[e,n,o,t,i]),s=g.useCallback((n,r)=>{if("service_type"===n&&rO(r)){const n=AO(r);delete e.current.city,t({service_type:r,total_steps:n.length})}else"city"===n&&t({city:r})},[e,t]);return C.jsx(lj.Provider,{value:{funnelContextRef:e,currentStepId:n,trackAnswer:s,trackStepCompletion:a},children:r})}function cj(){const e=g.useContext(lj);if(!e){return{funnelContextRef:{current:{session_id:"",funnel_mode:"embedded",service_type:"",total_steps:0}},currentStepId:"",trackAnswer:()=>{},trackStepCompletion:()=>{}}}return e}function dj(){var e,t;const{answerOf:n,errorsOf:r,actions:o}=KO(),{t:i}=qd(),{currentUserAccount:a}=WO(),{trackAnswer:s}=cj(),l=null==(t=null==(e=null==a?void 0:a.owner)?void 0:e.salesforceCustomer)?void 0:t.isManagedAccount,u=n(iO.peopleCount.id),c=r(iO.peopleCount.id),d=n(qE.id),f=r(qE.id),p=n(UE.id),h=r(UE.id);return C.jsxs(mj,{children:[C.jsx(Fm,{mb:3,children:C.jsx(Qm,{as:"label",htmlFor:iO.peopleCount.id,children:i("common:questions.min_order_number")})}),C.jsx(Fm,{mb:3,children:C.jsx(zM,{name:iO.peopleCount.id,id:iO.peopleCount.id,value:u||0,error:!!(null==c?void 0:c.length),onChange:e=>{o.answerQuestion(iO.peopleCount.id,e),s(iO.peopleCount.id,e)},autoFocus:!1})}),C.jsx(fj,{children:C.jsx(ZM,{questionId:iO.peopleCount.id,suggestions:JL.suggestions||[],onSelect:e=>{o.answerQuestion(iO.peopleCount.id,e),s(iO.peopleCount.id,e)}})}),C.jsx(hj,{my:4}),C.jsx(Fm,{mb:2,children:C.jsx(Qm,{as:"label",htmlFor:qE.id,children:i("common:questions.budgetProPerson")})}),C.jsx(Fm,{mb:2,children:C.jsx(GM,{name:qE.id,id:qE.id,min:0,autoFocus:!1,error:!!(null==f?void 0:f.length),value:d?Math.round(d):0,onChange:e=>{o.answerQuestion(qE.id,e,{isManagedAccount:l}),s(qE.id,e)}})}),C.jsx(Fm,{mb:2,children:C.jsx(Qm,{as:"label",htmlFor:UE.id,children:i("common:questions.totalBudget")})}),C.jsx(GM,{name:UE.id,id:UE.id,min:0,autoFocus:!1,error:!!(null==h?void 0:h.length),value:p?Math.floor(p):0,onChange:e=>{o.answerQuestion(UE.id,Math.floor(e),{isManagedAccount:l}),s(UE.id,Math.floor(e))}}),C.jsx(fj,{mt:2,children:C.jsx(pj,{children:f[0]||h[0]})})]})}const fj=_p(Fm)`
674
674
  grid-column: 1 / 3;
675
675
  `,pj=_p.div`
676
676
  color: #F95524;
@@ -1123,7 +1123,7 @@
1123
1123
  align-items: center;
1124
1124
  max-width: 441px;
1125
1125
  margin: 0 auto;
1126
- `,XP=826,eN={service_selection:"qualification:embeddedFunnel.serviceSelection.title",catering_categories:"qualification:embeddedFunnel.cateringCategories.title",city:"qualification:embeddedFunnel.city.title",dietary_restrictions:"qualification:embeddedFunnel.dietaryRestrictions.title",event_date:"qualification:embeddedFunnel.eventDate.title",people_count_and_budget:"qualification:embeddedFunnel.budgetAndPeople.title",team_size:"qualification:embeddedFunnel.teamSize.title",delivery_frequency:"qualification:embeddedFunnel.deliveryFrequency.title",people_count:"qualification:embeddedFunnel.peopleCount.title",budget_range:"qualification:embeddedFunnel.budgetRange.title",contact_form:"qualification:embeddedFunnel.contactForm.title"},tN=({step:e,highlightColor:t,slides:n,renderTitle:r,ratings:o,titleTranslationKeys:i=eN,LayoutComponent:a=EM,mode:s="embedded"})=>{var l,u,c,d,f;const{t:p}=qd(),{state:h,actions:m,answerOf:v}=KO(),{trackStepCompletion:y}=cj(),b=g.useCallback(e=>r?r(e):e,[]),w=v("service_type"),x="city"===e.id&&w?p(`qualification:embeddedFunnel.city.title_${w}`,p(i[e.id])):p(i[e.id]);switch(e.id){case wO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:"sm",disableGutters:!0,children:C.jsx(KP,{size:"md",variant:t,selected:v("city"),onSelect:e=>{m.answerQuestion("city",e),y(),m.nextStep()}})})});case xO.id:return C.jsx(a,{mode:s,wrapper:(null==(l=null==n?void 0:n.category)?void 0:l.whiteWrapper)?"white":"transparent",title:b(x),ratings:o,subtitle:p("qualification:embeddedFunnel.cateringCategories.subtitle"),content:C.jsx(UP,{variant:t,selected:v(iO.cateringCategories.id)||[],onSelect:e=>m.answerQuestion(iO.cateringCategories.id,e)})});case kO.id:return C.jsx(a,{mode:s,wrapper:(null==(u=null==n?void 0:n.dietaryRestriction)?void 0:u.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),subtitle:p("qualification:embeddedFunnel.dietaryRestrictions.subtitle"),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:3,px:2,children:C.jsx(LP,{})})})})});case CO.id:return C.jsx(a,{mode:s,wrapper:(null==(c=null==n?void 0:n.dateAndLead)?void 0:c.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(aP,{})})})})});case SO.id:return C.jsx(a,{mode:s,wrapper:(null==(d=null==n?void 0:n.budgetAndPeople)?void 0:d.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(dj,{})})})})});case bO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:"sm",disableGutters:!0,children:C.jsx(RP,{variant:t,selected:v("service_type"),onSelect:e=>{m.answerQuestion("service_type",e),y(),m.nextStep()}})})});case EO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(QP,{label:p("qualification:embeddedFunnel.teamSize.label",null==(f=oO.content)?void 0:f.titleDe),questionId:oO.id,value:v("team_size"),onChange:e=>m.answerQuestion("team_size",e),placeholder:p("qualification:embeddedFunnel.teamSize.placeholder"),suggestions:oO.suggestions})})})})});case _O.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsxs(lg,{size:"sm",disableGutters:!0,children:[C.jsx(mP,{variant:t,selected:v("delivery_frequency"),onSelect:e=>{m.answerQuestion("delivery_frequency",e),y(),m.nextStep()}}),C.jsx(_j,{})]})});case LO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(QP,{label:p("common:questions.min_order_number"),questionId:XL.id,value:v("min_order_number"),onChange:e=>m.answerQuestion("min_order_number",e),placeholder:p("qualification:embeddedFunnel.peopleCount.placeholder"),suggestions:XL.suggestions})})})})});case OO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsxs(lg,{size:"sm",disableGutters:!0,children:[C.jsx(wj,{variant:t,selected:v("budget_range"),onSelect:e=>{m.answerQuestion("budget_range",e),y(),m.nextStep()}}),C.jsx(_j,{})]})});case MO.id:return null;default:return e.id,null}},nN=_p.div`
1126
+ `,XP=826,eN={service_selection:"qualification:embeddedFunnel.serviceSelection.title",catering_categories:"qualification:embeddedFunnel.cateringCategories.title",city:"qualification:embeddedFunnel.city.title",dietary_restrictions:"qualification:embeddedFunnel.dietaryRestrictions.title",event_date:"qualification:embeddedFunnel.eventDate.title",people_count_and_budget:"qualification:embeddedFunnel.budgetAndPeople.title",team_size:"qualification:embeddedFunnel.teamSize.title",delivery_frequency:"qualification:embeddedFunnel.deliveryFrequency.title",people_count:"qualification:embeddedFunnel.peopleCount.title",budget_range:"qualification:embeddedFunnel.budgetRange.title",contact_form:"qualification:embeddedFunnel.contactForm.title"},tN=({step:e,highlightColor:t,slides:n,renderTitle:r,ratings:o,titleTranslationKeys:i=eN,LayoutComponent:a=EM,mode:s="embedded"})=>{var l,u,c,d,f;const{t:p}=qd(),{state:h,actions:m,answerOf:v}=KO(),{trackStepCompletion:y}=cj(),b=g.useCallback(e=>r?r(e):e,[]),w=v("service_type"),x="city"===e.id&&w?p(`qualification:embeddedFunnel.city.title_${w}`,p(i[e.id])):p(i[e.id]);switch(e.id){case wO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:"sm",disableGutters:!0,children:C.jsx(KP,{size:"md",variant:t,selected:v("city"),onSelect:e=>{m.answerQuestion("city",e),y({city:e}),m.nextStep()}})})});case xO.id:return C.jsx(a,{mode:s,wrapper:(null==(l=null==n?void 0:n.category)?void 0:l.whiteWrapper)?"white":"transparent",title:b(x),ratings:o,subtitle:p("qualification:embeddedFunnel.cateringCategories.subtitle"),content:C.jsx(UP,{variant:t,selected:v(iO.cateringCategories.id)||[],onSelect:e=>m.answerQuestion(iO.cateringCategories.id,e)})});case kO.id:return C.jsx(a,{mode:s,wrapper:(null==(u=null==n?void 0:n.dietaryRestriction)?void 0:u.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),subtitle:p("qualification:embeddedFunnel.dietaryRestrictions.subtitle"),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:3,px:2,children:C.jsx(LP,{})})})})});case CO.id:return C.jsx(a,{mode:s,wrapper:(null==(c=null==n?void 0:n.dateAndLead)?void 0:c.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(aP,{})})})})});case SO.id:return C.jsx(a,{mode:s,wrapper:(null==(d=null==n?void 0:n.budgetAndPeople)?void 0:d.whiteWrapper)?"white":"transparent",ratings:o,title:b(x),content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(dj,{})})})})});case bO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:"sm",disableGutters:!0,children:C.jsx(RP,{variant:t,selected:v("service_type"),onSelect:e=>{m.answerQuestion("service_type",e),y({service_type:e}),m.nextStep()}})})});case EO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(QP,{label:p("qualification:embeddedFunnel.teamSize.label",null==(f=oO.content)?void 0:f.titleDe),questionId:oO.id,value:v("team_size"),onChange:e=>m.answerQuestion("team_size",e),placeholder:p("qualification:embeddedFunnel.teamSize.placeholder"),suggestions:oO.suggestions})})})})});case _O.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsxs(lg,{size:"sm",disableGutters:!0,children:[C.jsx(mP,{variant:t,selected:v("delivery_frequency"),onSelect:e=>{m.answerQuestion("delivery_frequency",e),y({delivery_frequency:e}),m.nextStep()}}),C.jsx(_j,{})]})});case LO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsx(lg,{size:XP,children:C.jsx(nN,{children:C.jsx(Fm,{py:4,children:C.jsx(QP,{label:p("common:questions.min_order_number"),questionId:XL.id,value:v("min_order_number"),onChange:e=>m.answerQuestion("min_order_number",e),placeholder:p("qualification:embeddedFunnel.peopleCount.placeholder"),suggestions:XL.suggestions})})})})});case OO.id:return C.jsx(a,{mode:s,title:b(x),ratings:o,content:C.jsxs(lg,{size:"sm",disableGutters:!0,children:[C.jsx(wj,{variant:t,selected:v("budget_range"),onSelect:e=>{m.answerQuestion("budget_range",e),y({budget_range:e}),m.nextStep()}}),C.jsx(_j,{})]})});case MO.id:return null;default:return e.id,null}},nN=_p.div`
1127
1127
  background-color: white;
1128
1128
  border-radius: 8px;
1129
1129
  padding: 1px 8px;