@frigade/react 1.32.60 → 1.32.61

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/lib/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import gt,{createContext as Da,useEffect as Ro,useState as Ne}from"react";import{ThemeProvider as $a}from"styled-components";import ft,{useContext as La,useEffect as wo,useState as Zo}from"react";import{useCallback as ct,useContext as nl,useEffect as sl}from"react";import Lo,{useMemo as Ks}from"react";var hr="1.32.60 ";var Te="https://api.frigade.com/v1/public/",Ae="NOT_STARTED_STEP",Y="COMPLETED_FLOW",no="ABORTED_FLOW",dt="STARTED_FLOW",Le="NOT_STARTED_FLOW",Oe="COMPLETED_STEP",so="STARTED_STEP";function Me(){let{publicApiKey:e,userId:t}=Lo.useContext(q);return{config:Ks(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":hr,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var Ys="frigade-last-call-at-",Xs="frigade-last-call-data-";function wt(){let{shouldGracefullyDegrade:e}=Lo.useContext(q);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),zt();let i=Ys+t,n=Xs+t;if(window&&window.localStorage&&o&&o.body&&o.method==="POST"){let s=window.localStorage.getItem(i),p=window.localStorage.getItem(n);if(s&&p&&p==o.body){let c=new Date(s);if(new Date().getTime()-c.getTime()<1e3)return zt()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(n,o.body)}let r;try{r=await fetch(t,o)}catch(s){return zt(s)}return r?r.ok?r:zt(r.statusText):zt()}}function zt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Tt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Lo.useContext(q);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}import{useContext as ol,useState as xr}from"react";import{useContext as Qs,useEffect as Zs,useState as Rs}from"react";import el from"swr";import{useContext as Js}from"react";function Pe(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=Js(q);function r(d,u=!1){return e[d]??u}function s(d,u){t(y=>({...y,[d]:u}))}function p(d){t(u=>{let{[d]:y,...E}=u;return{...E}})}function c(d){n.includes(d)||i(u=>[...u,d])}function a(d){return n.includes(d)}function C(){return Object.values(e).some(d=>d)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}var tl="unknown";function Ie(){let{config:e}=Me(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=Qs(q),{resetOpenFlowState:s}=Pe(),[p,c]=Rs(!1),a={data:n.map(S=>({flowId:S.id,flowState:Y,lastStepId:null,userId:o,foreignUserId:o,stepStates:{},shouldTrigger:!1}))},C=S=>fetch(S,e).then(m=>{if(m.ok)return m.json();throw new Error("Failed to fetch user flow states")}).catch(m=>(console.log(`Error fetching ${S}: ${m}. Will gracefully degrade and hide Frigade`),r(!0),a)),{data:d,isLoading:u,mutate:y,error:E}=el(t&&n&&o?`${Te}userFlowStates?foreignUserId=${encodeURIComponent(o)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,C,{revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>a,onLoadingSlow:()=>a}),f=d==null?void 0:d.data;Zs(()=>{!p&&!u&&f&&c(!0)},[f,p,u]);async function x(S){if(f){let m=f.find(h=>h.flowId===S);m&&m.flowState!==Y&&(m.flowState=Y),await y(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function F(S,m,h){if(f){let w=f.find(N=>N.flowId===S);w&&(w.stepStates[m]=h,w.flowState=dt),await y(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function k(S,m,h){if(f){let w=f.find(N=>N.flowId===S);w&&(w.lastStepId=m,w.stepStates[m]=h,w.flowState=dt),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function B(S){if(f){let m=f.find(h=>h.flowId===S);m&&m.flowState!==Le&&(m.flowState=Le,m.lastStepId=tl,Object.keys(m.stepStates).forEach(h=>{m.stepStates[h].actionType=Ae,m.stepStates[h].createdAt=new Date().toISOString()}),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(S))}}async function P(S,m){if(f){let h=f.find(w=>w.flowId===S);h&&h.stepStates[m]!==Ae&&(h.stepStates[m]=Ae),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:f,isLoadingUserFlowStateData:!p,mutateUserFlowState:y,optimisticallyMarkFlowCompleted:x,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:F,optimisticallyMarkStepNotStarted:P,optimisticallyMarkStepStarted:k,error:E}}function Wt(){let{config:e}=Me(),{userFlowStatesData:t,mutateUserFlowState:o}=Ie(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=ol(q),[p,c]=xr(new Set),[a,C]=xr(new Set),d=wt();function u(f){let x=JSON.stringify(f);if(p.has(x))return null;p.add(x),c(p),a.add(f),C(a);let F=r==null?void 0:r.find(k=>k.flowSlug===f.flowSlug&&k.stepId===f.stepId&&k.actionType===f.actionType&&k.createdAt===f.createdAt);return d(`${Te}flowResponses`,{...e,method:"POST",body:x}).then(k=>{k.status!==200&&k.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):F||s(B=>[...B??[],f])})}async function y(f){f.foreignUserId&&(f.actionType===dt||f.actionType===Le?await u(f):f.actionType===Y?await u(f):f.actionType===so?await u(f):f.actionType===Oe?await u(f):f.actionType===no?await u(f):f.actionType===Ae&&await u(f))}function E(){let f=[];return t==null||t.forEach(x=>{if(x&&x.stepStates&&Object.keys(x.stepStates).length!==0)for(let F in x.stepStates){let k=x.stepStates[F];f.push({foreignUserId:x.foreignUserId,flowSlug:x.flowId,stepId:k.stepId,actionType:k.actionType,data:{},createdAt:new Date(k.createdAt),blocked:k.blocked,hidden:k.hidden})}}),[...f,...r]}return{addResponse:y,setFlowResponses:s,getFlowResponses:E}}import ll from"swr";var rl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Cr=e=>{let t=rl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=il(i,"'","");r.startsWith("flow_")&&(o=r)}),o},il=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function X(){let{config:e}=Me(),{flows:t,setFlows:o,userId:i,publicApiKey:n,customVariables:r,setCustomVariables:s,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,setFlowResponses:a,setShouldGracefullyDegrade:C}=nl(q),d={data:[]},{verifySDKInitiated:u}=Tt(),{addResponse:y,getFlowResponses:E}=Wt(),f=g=>fetch(g,e).then(b=>b.ok?b.json():(console.log(`Error fetching ${g} (${b.status}): ${b.statusText}. .Will gracefully degrade and hide Frigade`),C(!0),d)).catch(b=>(console.log(`Error fetching ${g}: ${b}. Will gracefully degrade and hide Frigade`),C(!0),d)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:k,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:P,optimisticallyMarkStepNotStarted:S,optimisticallyMarkStepStarted:m}=Ie(),{data:h,error:w,isLoading:N}=ll(n?`${Te}flows`:null,f,{keepPreviousData:!0});sl(()=>{if(w){console.error(w);return}h&&h.data&&(h.data=o(h.data))},[h,w]);function z(g){if(N)return null;let b=t.find(v=>v.slug===g);return!b&&t.length>0&&!F&&!N?(console.log(`Flow with slug ${g} not found`),null):(b==null?void 0:b.active)===!1?null:b}function W(g){var V;if(!z(g))return[];let b=z(g).data;return b?(b=A(b),(((V=JSON.parse(b))==null?void 0:V.data)??[]).map(de=>{let _=Z(de);return{handleSecondaryButtonClick:()=>{de.skippable===!0&&D(g,de.id,{skipped:!0})},...de,complete:I(g,de.id)===Oe||_>=1,blocked:se(g,de.id),hidden:fe(g,de.id),handlePrimaryButtonClick:()=>{(!de.completionCriteria&&(de.autoMarkCompleted||de.autoMarkCompleted===void 0)||de.completionCriteria&&de.autoMarkCompleted===!0)&&D(g,de.id)},progress:_}}).filter(de=>de.hidden!==!0)):[]}function A(g){return g.replace(/\${(.*?)}/g,(b,v)=>r[v]!==void 0?String(r[v]):"")}function U(g){if(!z(g))return[];let b=z(g).data;return b?(b=A(b),JSON.parse(b)??{}):[]}function $(g,b){s(v=>({...v,[g]:b}))}function O(g){!F&&!N&&g&&JSON.stringify(r)!=JSON.stringify({...r,...g})&&Object.keys(g).forEach(b=>{$(b,g[b])})}let ne=ct(async(g,b,v)=>{u();let V={foreignUserId:i,flowSlug:g,stepId:b,actionType:so,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(V)&&(await m(g,b,V),y(V))},[i,x]),pe=ct(async(g,b,v)=>{u();let V={foreignUserId:i,flowSlug:g,stepId:b,actionType:Ae,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(V)&&(await S(g,b),y(V))},[i,x]),D=ct(async(g,b,v)=>{u();let V={foreignUserId:i,flowSlug:g,stepId:b,actionType:Oe,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(V)&&(await P(g,b,V),y(V))},[i,x]),we=ct(async(g,b)=>{if(u(),K(g)===Le)return;let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:Le,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};await B(g),oe(v)&&y(v)},[i,x]),xe=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:dt,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&y(v)},[i,x]),te=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:Y,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&(await k(g),y(v))},[i,x]),j=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:no,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&(await k(g),y(v))},[i,x]);function oe(g){var b;if(!x&&g.actionType===Ae)return!1;if(x){let v=x.find(V=>V.flowId===g.flowSlug);if(g.actionType===Ae&&(!(v!=null&&v.stepStates[g.stepId])||v.stepStates[g.stepId].actionType===Ae)||v&&((b=v.stepStates[g.stepId])==null?void 0:b.actionType)===g.actionType||v&&v.flowState===Y&&g.actionType===Y)return!1}return!0}function I(g,b){let v=ke(g,b);return F?null:v?v.actionType:Ae}function se(g,b){let v=ke(g,b);return v?v.blocked:!1}function fe(g,b){let v=ke(g,b);return v?v.hidden:!1}function ke(g,b){if(F)return null;let v=x==null?void 0:x.find(V=>V.flowId===g);return!v||!v.stepStates[b]?null:v.stepStates[b]??null}function G(g){var v;if(F||!x)return null;if(K(g)===Le)return W(g)[0]??null;let b=(v=x.find(V=>V.flowId===g))==null?void 0:v.lastStepId;return b?W(g).find(V=>V.id===b):null}function ge(g){let b=G(g);if(!b)return 0;let v=W(g).findIndex(V=>V.id===b.id)??0;return I(g,b.id)===Oe&&v<W(g).length-1?v+1:v}function Z(g){if(!g.completionCriteria)return;let b=Cr(g.completionCriteria);if(b===null)return;let v=je(b),V=Ge(b);return V===0?void 0:v/V}function K(g){let b=x==null?void 0:x.find(v=>v.flowId===g);return b?b.flowState:null}function je(g){let b=W(g);return b.length===0?0:b.filter(V=>I(g,V.id)===Oe).length}function Ge(g){return W(g).length}function bt(g){return JSON.parse(t.find(b=>b.slug===g).data)}function H(g){if(F)return!0;if(g!=null&&g.targetingLogic&&x){let b=x.find(v=>v.flowId===g.slug);if(b)return b.shouldTrigger===!1}return!!(g!=null&&g.targetingLogic&&i&&i.startsWith("guest_"))}function Be(g){return!H(z(g))}return{getFlow:z,getFlowData:bt,isLoading:F||N,getStepStatus:I,getFlowSteps:W,getCurrentStepIndex:ge,markStepStarted:ne,markStepCompleted:D,markFlowNotStarted:we,markFlowStarted:xe,markFlowCompleted:te,markFlowAborted:j,markStepNotStarted:pe,getFlowStatus:K,getNumberOfStepsCompleted:je,getNumberOfSteps:Ge,targetingLogicShouldHideFlow:H,setCustomVariable:$,updateCustomVariables:O,customVariables:r,getStepOptionalProgress:Z,getFlowMetadata:U,isStepBlocked:se,isStepHidden:fe,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:Be}}import{useCallback as Sr,useContext as al,useEffect as pl}from"react";var Ft="guest_";function Ht(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=al(q),{config:r}=Me(),{mutateUserFlowState:s}=Ie(),p=wt(),{verifySDKInitiated:c}=Tt();pl(()=>{if(e&&!t){if(e.startsWith(Ft))return;let d=`frigade-user-registered-${e}`;localStorage.getItem(d)||(p(`${Te}users`,{...r,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(d,"true"))}},[e,n,t]);let a=Sr(async d=>{c();let u={foreignId:e,properties:d};await p(`${Te}users`,{...r,method:"POST",body:JSON.stringify(u)}),i(y=>({...y,...d})),s()},[e,r,n,s]),C=Sr(async(d,u)=>{c();let E={foreignId:e,events:[{event:d,properties:u}]};await p(`${Te}users`,{...r,method:"POST",body:JSON.stringify(E)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:C}}import{v4 as Oa}from"uuid";import _e,{useEffect as Ba,useState as Aa}from"react";import De,{useEffect as hl}from"react";import po from"styled-components";import dl from"react";import cl from"styled-components";var yr="fr-",Vt="cfr-";function l(e,t){let o=`${yr}${e}`;if(!t)return o;if(t.styleOverrides&&t.styleOverrides[e]){if(typeof t.styleOverrides[e]=="string")return o+" "+t.styleOverrides[e];if(typeof t.styleOverrides[e]=="object")return o+" "+Vt+e}return o}function T(e){if(!e.className||e.className.indexOf(Vt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(yr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Oo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ke(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Oo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ce(...e){return e.filter(Boolean).join(" ")}function br(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ml=cl.div`
2
+ import gt,{createContext as Da,useEffect as Ro,useState as Ne}from"react";import{ThemeProvider as $a}from"styled-components";import ft,{useContext as La,useEffect as wo,useState as Zo}from"react";import{useCallback as ct,useContext as nl,useEffect as sl}from"react";import Lo,{useMemo as Ks}from"react";var hr="1.32.61 ";var Te="https://api.frigade.com/v1/public/",Ae="NOT_STARTED_STEP",Y="COMPLETED_FLOW",no="ABORTED_FLOW",dt="STARTED_FLOW",Le="NOT_STARTED_FLOW",Oe="COMPLETED_STEP",so="STARTED_STEP";function Me(){let{publicApiKey:e,userId:t}=Lo.useContext(q);return{config:Ks(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":hr,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var Ys="frigade-last-call-at-",Xs="frigade-last-call-data-";function wt(){let{shouldGracefullyDegrade:e}=Lo.useContext(q);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),zt();let i=Ys+t,n=Xs+t;if(window&&window.localStorage&&o&&o.body&&o.method==="POST"){let s=window.localStorage.getItem(i),p=window.localStorage.getItem(n);if(s&&p&&p==o.body){let c=new Date(s);if(new Date().getTime()-c.getTime()<1e3)return zt()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(n,o.body)}let r;try{r=await fetch(t,o)}catch(s){return zt(s)}return r?r.ok?r:zt(r.statusText):zt()}}function zt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Tt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Lo.useContext(q);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}import{useContext as ol,useState as xr}from"react";import{useContext as Qs,useEffect as Zs,useState as Rs}from"react";import el from"swr";import{useContext as Js}from"react";function Pe(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=Js(q);function r(d,u=!1){return e[d]??u}function s(d,u){t(y=>({...y,[d]:u}))}function p(d){t(u=>{let{[d]:y,...E}=u;return{...E}})}function c(d){n.includes(d)||i(u=>[...u,d])}function a(d){return n.includes(d)}function C(){return Object.values(e).some(d=>d)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}var tl="unknown";function Ie(){let{config:e}=Me(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=Qs(q),{resetOpenFlowState:s}=Pe(),[p,c]=Rs(!1),a={data:n.map(S=>({flowId:S.id,flowState:Y,lastStepId:null,userId:o,foreignUserId:o,stepStates:{},shouldTrigger:!1}))},C=S=>fetch(S,e).then(m=>{if(m.ok)return m.json();throw new Error("Failed to fetch user flow states")}).catch(m=>(console.log(`Error fetching ${S}: ${m}. Will gracefully degrade and hide Frigade`),r(!0),a)),{data:d,isLoading:u,mutate:y,error:E}=el(t&&n&&o?`${Te}userFlowStates?foreignUserId=${encodeURIComponent(o)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,C,{revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>a,onLoadingSlow:()=>a}),f=d==null?void 0:d.data;Zs(()=>{!p&&!u&&f&&c(!0)},[f,p,u]);async function x(S){if(f){let m=f.find(h=>h.flowId===S);m&&m.flowState!==Y&&(m.flowState=Y),await y(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function F(S,m,h){if(f){let w=f.find(N=>N.flowId===S);w&&(w.stepStates[m]=h,w.flowState=dt),await y(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function k(S,m,h){if(f){let w=f.find(N=>N.flowId===S);w&&(w.lastStepId=m,w.stepStates[m]=h,w.flowState=dt),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function B(S){if(f){let m=f.find(h=>h.flowId===S);m&&m.flowState!==Le&&(m.flowState=Le,m.lastStepId=tl,Object.keys(m.stepStates).forEach(h=>{m.stepStates[h].actionType=Ae,m.stepStates[h].createdAt=new Date().toISOString()}),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(S))}}async function P(S,m){if(f){let h=f.find(w=>w.flowId===S);h&&h.stepStates[m]!==Ae&&(h.stepStates[m]=Ae),await y({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:f,isLoadingUserFlowStateData:!p,mutateUserFlowState:y,optimisticallyMarkFlowCompleted:x,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:F,optimisticallyMarkStepNotStarted:P,optimisticallyMarkStepStarted:k,error:E}}function Wt(){let{config:e}=Me(),{userFlowStatesData:t,mutateUserFlowState:o}=Ie(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=ol(q),[p,c]=xr(new Set),[a,C]=xr(new Set),d=wt();function u(f){let x=JSON.stringify(f);if(p.has(x))return null;p.add(x),c(p),a.add(f),C(a);let F=r==null?void 0:r.find(k=>k.flowSlug===f.flowSlug&&k.stepId===f.stepId&&k.actionType===f.actionType&&k.createdAt===f.createdAt);return d(`${Te}flowResponses`,{...e,method:"POST",body:x}).then(k=>{k.status!==200&&k.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):F||s(B=>[...B??[],f])})}async function y(f){f.foreignUserId&&(f.actionType===dt||f.actionType===Le?await u(f):f.actionType===Y?await u(f):f.actionType===so?await u(f):f.actionType===Oe?await u(f):f.actionType===no?await u(f):f.actionType===Ae&&await u(f))}function E(){let f=[];return t==null||t.forEach(x=>{if(x&&x.stepStates&&Object.keys(x.stepStates).length!==0)for(let F in x.stepStates){let k=x.stepStates[F];f.push({foreignUserId:x.foreignUserId,flowSlug:x.flowId,stepId:k.stepId,actionType:k.actionType,data:{},createdAt:new Date(k.createdAt),blocked:k.blocked,hidden:k.hidden})}}),[...f,...r]}return{addResponse:y,setFlowResponses:s,getFlowResponses:E}}import ll from"swr";var rl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Cr=e=>{let t=rl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=il(i,"'","");r.startsWith("flow_")&&(o=r)}),o},il=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function X(){let{config:e}=Me(),{flows:t,setFlows:o,userId:i,publicApiKey:n,customVariables:r,setCustomVariables:s,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,setFlowResponses:a,setShouldGracefullyDegrade:C}=nl(q),d={data:[]},{verifySDKInitiated:u}=Tt(),{addResponse:y,getFlowResponses:E}=Wt(),f=g=>fetch(g,e).then(b=>b.ok?b.json():(console.log(`Error fetching ${g} (${b.status}): ${b.statusText}. .Will gracefully degrade and hide Frigade`),C(!0),d)).catch(b=>(console.log(`Error fetching ${g}: ${b}. Will gracefully degrade and hide Frigade`),C(!0),d)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:k,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:P,optimisticallyMarkStepNotStarted:S,optimisticallyMarkStepStarted:m}=Ie(),{data:h,error:w,isLoading:N}=ll(n?`${Te}flows`:null,f,{keepPreviousData:!0});sl(()=>{if(w){console.error(w);return}h&&h.data&&(h.data=o(h.data))},[h,w]);function W(g){if(N)return null;let b=t.find(v=>v.slug===g);return!b&&t.length>0&&!F&&!N?(console.log(`Flow with slug ${g} not found`),null):(b==null?void 0:b.active)===!1?null:b}function H(g){var _;if(!W(g))return[];let b=W(g).data;return b?(b=A(b),(((_=JSON.parse(b))==null?void 0:_.data)??[]).map(de=>{let z=Z(de);return{handleSecondaryButtonClick:()=>{de.skippable===!0&&D(g,de.id,{skipped:!0})},...de,complete:I(g,de.id)===Oe||z>=1,blocked:se(g,de.id),hidden:fe(g,de.id),handlePrimaryButtonClick:()=>{(!de.completionCriteria&&(de.autoMarkCompleted||de.autoMarkCompleted===void 0)||de.completionCriteria&&de.autoMarkCompleted===!0)&&D(g,de.id)},progress:z}}).filter(de=>de.hidden!==!0)):[]}function A(g){return g.replaceAll(/\${(.*?)}/g,(b,v)=>r[v]===void 0?"":String(r[v]).replace(/[\u00A0-\u9999<>\&]/g,function(_){return"&#"+_.charCodeAt(0)+";"}).replaceAll(/[\\]/g,"\\\\").replaceAll(/[\"]/g,'\\"').replaceAll(/[\/]/g,"\\/").replaceAll(/[\b]/g,"\\b").replaceAll(/[\f]/g,"\\f").replaceAll(/[\n]/g,"\\n").replaceAll(/[\r]/g,"\\r").replaceAll(/[\t]/g,"\\t"))}function U(g){if(!W(g))return[];let b=W(g).data;return b?(b=A(b),JSON.parse(b)??{}):[]}function $(g,b){s(v=>({...v,[g]:b}))}function O(g){!F&&!N&&g&&JSON.stringify(r)!=JSON.stringify({...r,...g})&&Object.keys(g).forEach(b=>{$(b,g[b])})}let ne=ct(async(g,b,v)=>{u();let _={foreignUserId:i,flowSlug:g,stepId:b,actionType:so,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(_)&&(await m(g,b,_),y(_))},[i,x]),pe=ct(async(g,b,v)=>{u();let _={foreignUserId:i,flowSlug:g,stepId:b,actionType:Ae,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(_)&&(await S(g,b),y(_))},[i,x]),D=ct(async(g,b,v)=>{u();let _={foreignUserId:i,flowSlug:g,stepId:b,actionType:Oe,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};oe(_)&&(await P(g,b,_),y(_))},[i,x]),we=ct(async(g,b)=>{if(u(),K(g)===Le)return;let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:Le,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};await B(g),oe(v)&&y(v)},[i,x]),xe=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:dt,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&y(v)},[i,x]),te=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:Y,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&(await k(g),y(v))},[i,x]),j=ct(async(g,b)=>{u();let v={foreignUserId:i,flowSlug:g,stepId:"unknown",actionType:no,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};oe(v)&&(await k(g),y(v))},[i,x]);function oe(g){var b;if(!x&&g.actionType===Ae)return!1;if(x){let v=x.find(_=>_.flowId===g.flowSlug);if(g.actionType===Ae&&(!(v!=null&&v.stepStates[g.stepId])||v.stepStates[g.stepId].actionType===Ae)||v&&((b=v.stepStates[g.stepId])==null?void 0:b.actionType)===g.actionType||v&&v.flowState===Y&&g.actionType===Y)return!1}return!0}function I(g,b){let v=ke(g,b);return F?null:v?v.actionType:Ae}function se(g,b){let v=ke(g,b);return v?v.blocked:!1}function fe(g,b){let v=ke(g,b);return v?v.hidden:!1}function ke(g,b){if(F)return null;let v=x==null?void 0:x.find(_=>_.flowId===g);return!v||!v.stepStates[b]?null:v.stepStates[b]??null}function G(g){var v;if(F||!x)return null;if(K(g)===Le)return H(g)[0]??null;let b=(v=x.find(_=>_.flowId===g))==null?void 0:v.lastStepId;return b?H(g).find(_=>_.id===b):null}function ge(g){let b=G(g);if(!b)return 0;let v=H(g).findIndex(_=>_.id===b.id)??0;return I(g,b.id)===Oe&&v<H(g).length-1?v+1:v}function Z(g){if(!g.completionCriteria)return;let b=Cr(g.completionCriteria);if(b===null)return;let v=je(b),_=Ge(b);return _===0?void 0:v/_}function K(g){let b=x==null?void 0:x.find(v=>v.flowId===g);return b?b.flowState:null}function je(g){let b=H(g);return b.length===0?0:b.filter(_=>I(g,_.id)===Oe).length}function Ge(g){return H(g).length}function bt(g){return JSON.parse(t.find(b=>b.slug===g).data)}function V(g){if(F)return!0;if(g!=null&&g.targetingLogic&&x){let b=x.find(v=>v.flowId===g.slug);if(b)return b.shouldTrigger===!1}return!!(g!=null&&g.targetingLogic&&i&&i.startsWith("guest_"))}function Be(g){return!V(W(g))}return{getFlow:W,getFlowData:bt,isLoading:F||N,getStepStatus:I,getFlowSteps:H,getCurrentStepIndex:ge,markStepStarted:ne,markStepCompleted:D,markFlowNotStarted:we,markFlowStarted:xe,markFlowCompleted:te,markFlowAborted:j,markStepNotStarted:pe,getFlowStatus:K,getNumberOfStepsCompleted:je,getNumberOfSteps:Ge,targetingLogicShouldHideFlow:V,setCustomVariable:$,updateCustomVariables:O,customVariables:r,getStepOptionalProgress:Z,getFlowMetadata:U,isStepBlocked:se,isStepHidden:fe,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:Be}}import{useCallback as Sr,useContext as al,useEffect as pl}from"react";var Ft="guest_";function Ht(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=al(q),{config:r}=Me(),{mutateUserFlowState:s}=Ie(),p=wt(),{verifySDKInitiated:c}=Tt();pl(()=>{if(e&&!t){if(e.startsWith(Ft))return;let d=`frigade-user-registered-${e}`;localStorage.getItem(d)||(p(`${Te}users`,{...r,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(d,"true"))}},[e,n,t]);let a=Sr(async d=>{c();let u={foreignId:e,properties:d};await p(`${Te}users`,{...r,method:"POST",body:JSON.stringify(u)}),i(y=>({...y,...d})),s()},[e,r,n,s]),C=Sr(async(d,u)=>{c();let E={foreignId:e,events:[{event:d,properties:u}]};await p(`${Te}users`,{...r,method:"POST",body:JSON.stringify(E)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:C}}import{v4 as Oa}from"uuid";import _e,{useEffect as Ba,useState as Aa}from"react";import De,{useEffect as hl}from"react";import po from"styled-components";import dl from"react";import cl from"styled-components";var yr="fr-",Vt="cfr-";function l(e,t){let o=`${yr}${e}`;if(!t)return o;if(t.styleOverrides&&t.styleOverrides[e]){if(typeof t.styleOverrides[e]=="string")return o+" "+t.styleOverrides[e];if(typeof t.styleOverrides[e]=="object")return o+" "+Vt+e}return o}function T(e){if(!e.className||e.className.indexOf(Vt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(yr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Oo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ke(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Oo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ce(...e){return e.filter(Boolean).join(" ")}function br(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ml=cl.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  position: fixed;
@@ -628,8 +628,8 @@ import gt,{createContext as Da,useEffect as Ro,useState as Ne}from"react";import
628
628
  color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorText}};
629
629
  display: flex;
630
630
  align-self: center;
631
- `;var Ci=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let n=e.props,[r,s]=Xo([]),[p,c]=Xo(!1),[a,C]=Xo(e.id);return Yo(()=>{r.length==0&&!p&&(c(!0),o({choice:[]}))},[p]),Yo(()=>{a!==e.id&&(C(e.id),s([]))},[e]),Yo(()=>{o({choice:r}),r.length>=n.minChoices?t(!0):t(!1)},[r]),Je.createElement(di,{className:l("selectListContainer",i)},Je.createElement(ci,null,Je.createElement(mi,{className:l("selectListTitle",i)},e.title),Je.createElement(ui,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),n.options.map((d,u)=>{let y=r.includes(d.id);return Je.createElement(fi,{key:`select-item-${u}`,onClick:()=>{if(r.includes(d.id)){s(r.filter(E=>E!==d.id));return}r.length<n.maxChoices?s([...r,d.id]):r.length==1&&n.maxChoices==1&&s([d.id])},hideBottomBorder:u===n.options.length-1,className:l("selectListSelectItem",i)},Je.createElement(gi,{className:l("selectListItemImage",i)},d.imageUri&&Je.createElement(hi,{src:d.imageUri,alt:`select-icon-${u}`}),Je.createElement(xi,{appearance:i,className:l("selectListSelectItemText",i)},d.title)),Je.createElement(Xe,{appearance:i,value:y,primaryColor:i.theme.colorPrimary}))}))};import ye,{useEffect as Jo,useState as Xt}from"react";import{AnimatePresence as ka,motion as Pa}from"framer-motion";var va=({children:e,id:t,shouldWrap:o=!1})=>ye.createElement(ye.Fragment,null,o?ye.createElement(ka,{initial:!1},ye.createElement(Pa.div,{key:t,initial:{opacity:1,y:"100%"},animate:{opacity:1,y:0},exit:{opacity:0,y:"-100%"},transition:{duration:.5,ease:"easeInOut"},style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:1,overflowY:"auto"}},e)):e),bo=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:n,onButtonClick:r,onStepCompletion:s,flowId:p,type:c,hideOnFlowCompletion:a,onComplete:C,setVisible:d,setShowModal:u,onDismiss:y,showPagination:E=!1,customFormElements:f,allowBackNavigation:x,validationHandler:F})=>{var ke;let B={...{linkCollection:ai,multiInput:Qr,callToAction:pi,selectList:Ci},...i},{primaryCTAClickSideEffects:P,secondaryCTAClickSideEffects:S}=re(),[m,h]=Xt(!1),[w,N]=Xt({}),[z,W]=Xt(!1),[A,U]=Xt(!1),[$,O]=Xt(null),ne=t[o]??null,{markStepCompleted:pe,markStepStarted:D,isLoading:we,updateCustomVariables:xe,markFlowCompleted:te}=X();Jo(()=>{xe(n)},[n,we]),Jo(()=>{window&&x&&!A&&(window.location.hash=t[o].id,U(!0))},[x,A,U]),Jo(()=>{var G;if(window&&((G=window==null?void 0:window.location)!=null&&G.hash)&&window.location.hash.replace("#","")!==t[o].id){let ge=window.location.hash.replace("#",""),Z=t.findIndex(K=>K.id===ge);Z!==-1&&D(p,t[Z].id)}},[(ke=window==null?void 0:window.location)==null?void 0:ke.hash,D,o,t]);function j(){return{data:w[t[o].id]??{},stepId:t[o].id,customVariables:n}}function oe(G,ge,Z){let K=o+1<t.length?t[o+1]:null;r&&r(G,o,ge,K),s&&s(G,Z,K,w,j())}function I(G,ge){N(Z=>{let K={};return K[G.id]=ge,{...Z,...K}})}function se(G){return G.selectedStep.imageUri?ye.createElement(ii,{image:G.selectedStep.imageUri,appearance:e,className:l("formContainerSidebarImage",e)}):null}let fe=ye.createElement(si,{step:t[o],canContinue:m&&!z,formType:c,selectedStep:o,appearance:e,onPrimaryClick:async()=>{if(W(!0),F){let ge=await F(t[o],o,t[o+1],w,j());if(ge){O(ge),W(!1);return}else O(null)}let G={...j()};await pe(p,t[o].id,G),o+1<t.length&&await D(p,t[o+1].id),oe(t[o],"primary",o),o+1>=t.length&&(C&&C(),y&&y(),a&&(d&&d(!1),u(!1)),await te(p)),P(t[o]),W(!1),window&&x&&o+1<t.length&&(window.location.hash=t[o+1].id)},onSecondaryClick:()=>{oe(t[o],"secondary",o),S(t[o])},onBack:async()=>{o-1>=0&&(W(!0),await D(p,t[o-1].id),W(!1))},steps:t,allowBackNavigation:x,errorMessage:$});return ye.createElement(ye.Fragment,null,ye.createElement(ti,{className:l("formContainer",e)},ye.createElement(oi,null,ye.createElement(va,{id:o,shouldWrap:c==="large-modal"},ye.createElement(ri,{key:ne.id,type:c,className:l("formContent",e)},t.map(G=>{let ge=B[G.type];return ne.id!==G.id?null:ye.createElement(ge,{key:G.id,stepData:G,canContinue:m,setCanContinue:h,onSaveData:Z=>{I(G,Z)},appearance:e,customFormElements:f,flowId:p})}),E&&ye.createElement(li,{className:l("formPagination",e),appearance:e,stepCount:t.length,currentStep:o}),fe))),c=="large-modal"&&ye.createElement(se,{selectedStep:t[o]})))};import Jt from"react";import{createGlobalStyle as Ea}from"styled-components";function ee({appearance:e}){if(!e||!e.styleOverrides)return Jt.createElement(Jt.Fragment,null);let t=Object.entries(e.styleOverrides).filter(([i,n])=>typeof n=="object");if(t.length===0)return Jt.createElement(Jt.Fragment,null);let o=Ea`
632
- ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map(([s,p])=>`${Oo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Jt.createElement(o,{inlineStyles:t})}var Si=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:n,customVariables:r,customFormElements:s,onComplete:p,appearance:c,hideOnFlowCompletion:a=!0,onStepCompletion:C,onButtonClick:d,dismissible:u=!0,endFlowOnDismiss:y=!1,modalPosition:E="center",repeatable:f=!1,onDismiss:x,showPagination:F=!1,allowBackNavigation:k=!1,validationHandler:B,showFrigadeBranding:P=!1})=>{let{getFlow:S,getFlowSteps:m,isLoading:h,targetingLogicShouldHideFlow:w,getFlowStatus:N,getCurrentStepIndex:z,markFlowCompleted:W,markFlowNotStarted:A}=X(),U=z(e),{mergeAppearanceWithDefault:$}=J(),[O,ne]=Aa(!1),{setOpenFlowState:pe,getOpenFlowState:D}=Pe();c=$(c);let[we,xe]=i!==void 0&&n!==void 0?[i,n]:[D(e,!0),I=>pe(e,I)];if(Ba(()=>{!O&&!h&&(ne(!0),N(e)===Y&&f&&A(e),ne(!0))},[O,ne,h]),h)return null;let te=S(e);if(!te||w(te))return null;let j=m(e);if(!j||i!==void 0&&i===!1||N(e)===Y&&a)return null;let oe=()=>{xe(!1),x&&x(),y===!0&&W(e)};if(E=="center"&&o==="modal"||o==="large-modal"){let I={padding:"24px"};return o==="large-modal"?(I.width="85%",I.height="90%",I.maxHeight="800px",I.minHeight="500px",I.padding="0"):I.width="400px",_e.createElement(rt,{appearance:c,onClose:oe,visible:we,style:I,dismissible:u,showFrigadeBranding:P},_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B}))}return o==="modal"&&E!=="center"?_e.createElement(Dr,{appearance:c,onClose:oe,visible:we},_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B})):_e.createElement(_e.Fragment,null,_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B}))},yi=Si;import{useCallback as bi,useContext as Ia,useEffect as Na}from"react";function Qo(){let{organizationId:e,userId:t,setOrganizationId:o}=Ia(q),{mutateUserFlowState:i}=Ie(),{config:n}=Me(),r=wt(),{verifySDKInitiated:s}=Tt();Na(()=>{if(t&&e){if(t.startsWith(Ft))return;let a=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(a)||(r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(a,"true"))}},[t,e]);let p=bi(async a=>{if(s(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let C={foreignUserId:t,foreignUserGroupId:e,properties:a};await r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify(C)}),i()},[e,t,n,i]),c=bi(async(a,C)=>{if(s(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let u={foreignUserId:t,foreignUserGroupId:e,events:[{event:a,properties:C}]};await r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify(u)}),i()},[e,t,n,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:p,trackEventForOrganization:c}}var wi="xFrigade_guestUserId",Ti="xFrigade_userId",Fi=({})=>{let{setFlowResponses:e}=Wt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ie(),{userId:n,setUserId:r}=Ht(),[s,p]=Zo(null),{getFlowStatus:c}=X(),{flows:a,userProperties:C,setIsNewGuestUser:d,flowResponses:u}=La(q),[y,E]=Zo([]),[f,x]=Zo([]),{organizationId:F}=Qo();wo(()=>{if(!o&&t)for(let S=0;S<t.length;S++){let m=t[S],h=a.find(w=>w.slug===(m==null?void 0:m.flowId));if(h&&m&&m.shouldTrigger===!0&&h.type=="FORM"&&h.triggerType==="AUTOMATIC"&&!f.includes(h.slug)){setTimeout(()=>{k(m.flowId)},500);break}}},[o,t]),wo(()=>{u.length>0&&i()},[u]);function k(S){let m=a.find(h=>h.slug===S);m&&m.triggerType==="AUTOMATIC"&&!f.includes(m.slug)&&(x([...f,m.slug]),E([m]))}function B(){if(!n){let S=localStorage.getItem(Ti);if(S){r(S);return}let m=localStorage.getItem(wi);if(m){r(m);return}d(!0);let h=Ft+Oa();try{localStorage.setItem(wi,h)}catch(w){console.log("Failed to save guest user id locally: Local storage unavailable",w)}r(w=>w||h)}}wo(()=>{try{if(a){let S=[];a.forEach(m=>{if(m.data){let h=m.data.match(/"imageUri":"(.*?)"/g);h&&h.forEach(w=>{let N=w.replace('"imageUri":"',"").replace('"',"");if(S.includes(N))return;let z=new Image;z.src=N,S.push(N)})}})}}catch{}},[a]),wo(()=>{if(n!==s&&e([]),p(n),n&&!n.startsWith(Ft))try{localStorage.setItem(Ti,n)}catch(S){console.log("Failed to save user id locally: Local storage available",S)}n===null&&setTimeout(()=>{n===null&&B()},50)},[n,a,C]);function P(){return ft.createElement(ft.Fragment,null,y.map(S=>c(S.slug)!==Le?null:ft.createElement("span",{key:S.slug},ft.createElement(yi,{flowId:S.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return ft.createElement(ft.Fragment,null,ft.createElement(P,null))};import{ErrorBoundary as Ma}from"react-error-boundary";var q=Da({publicApiKey:"",setUserId:()=>{},flows:[],setFlows:()=>{},failedFlowResponses:[],setFailedFlowResponses:()=>{},flowResponses:[],setFlowResponses:()=>{},userProperties:{},setUserProperties:()=>{},openFlowStates:{},setOpenFlowStates:()=>{},completedFlowsToKeepOpenDuringSession:[],setCompletedFlowsToKeepOpenDuringSession:()=>{},customVariables:{},setCustomVariables:()=>{},isNewGuestUser:!1,setIsNewGuestUser:()=>{},hasActiveFullPageFlow:!1,setHasActiveFullPageFlow:()=>{},organizationId:"",setOrganizationId:()=>{},navigate:()=>{},defaultAppearance:Ye,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{}}),Ua=({publicApiKey:e,userId:t,organizationId:o,config:i,children:n})=>{var ne,pe;let[r,s]=Ne(t||null),[p,c]=Ne(o||null),[a,C]=Ne([]),[d,u]=Ne([]),[y,E]=Ne([]),[f,x]=Ne({}),[F,k]=Ne({}),[B,P]=Ne([]),[S,m]=Ne({}),[h,w]=Ne(!1),[N,z]=Ne(!1),[W,A]=Ne(!O(e)),U=(D,we)=>{if(we==="_blank"){window.open(D,"_blank");return}setTimeout(()=>{window.location.href=D},50)},$={theme:{...Ye.theme,...((ne=i==null?void 0:i.defaultAppearance)==null?void 0:ne.theme)??{}},styleOverrides:{...Ye.styleOverrides,...((pe=i==null?void 0:i.defaultAppearance)==null?void 0:pe.styleOverrides)??{}}};function O(D){return!!(D&&D.length>10&&D.substring(0,10)==="api_public")}return Ro(()=>{t&&s(t)},[t]),Ro(()=>{o&&c(o)},[o]),Ro(()=>{if(O(e))A(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),A(!0);return}},[e,A]),W?gt.createElement(q.Provider,{value:{publicApiKey:e,userId:r,setUserId:s,setFlows:C,flows:a,failedFlowResponses:d,setFailedFlowResponses:u,flowResponses:y,setFlowResponses:E,userProperties:f,setUserProperties:x,openFlowStates:F,setOpenFlowStates:k,completedFlowsToKeepOpenDuringSession:B,setCompletedFlowsToKeepOpenDuringSession:P,customVariables:S,setCustomVariables:m,isNewGuestUser:h,setIsNewGuestUser:w,hasActiveFullPageFlow:N,setHasActiveFullPageFlow:z,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:U,defaultAppearance:$,shouldGracefullyDegrade:W,setShouldGracefullyDegrade:A}},n):gt.createElement(Ma,{fallback:gt.createElement(gt.Fragment,null,n)},gt.createElement(q.Provider,{value:{publicApiKey:e,userId:r,setUserId:s,setFlows:C,flows:a,failedFlowResponses:d,setFailedFlowResponses:u,flowResponses:y,setFlowResponses:E,userProperties:f,setUserProperties:x,openFlowStates:F,setOpenFlowStates:k,completedFlowsToKeepOpenDuringSession:B,setCompletedFlowsToKeepOpenDuringSession:P,customVariables:S,setCustomVariables:m,isNewGuestUser:h,setIsNewGuestUser:w,hasActiveFullPageFlow:N,setHasActiveFullPageFlow:z,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:U,defaultAppearance:$,shouldGracefullyDegrade:W,setShouldGracefullyDegrade:A}},gt.createElement($a,{theme:$.theme},n,gt.createElement(Fi,null))))};import Dp from"react";import ae,{useEffect as ts,useState as os}from"react";import $e,{useState as sp}from"react";import Ct from"styled-components";import ko from"react";import ht from"react";import Pi from"styled-components";var ki=Pi.span`
631
+ `;var Ci=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let n=e.props,[r,s]=Xo([]),[p,c]=Xo(!1),[a,C]=Xo(e.id);return Yo(()=>{r.length==0&&!p&&(c(!0),o({choice:[]}))},[p]),Yo(()=>{a!==e.id&&(C(e.id),s([]))},[e]),Yo(()=>{o({choice:r}),r.length>=n.minChoices?t(!0):t(!1)},[r]),Je.createElement(di,{className:l("selectListContainer",i)},Je.createElement(ci,null,Je.createElement(mi,{className:l("selectListTitle",i)},e.title),Je.createElement(ui,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),n.options.map((d,u)=>{let y=r.includes(d.id);return Je.createElement(fi,{key:`select-item-${u}`,onClick:()=>{if(r.includes(d.id)){s(r.filter(E=>E!==d.id));return}r.length<n.maxChoices?s([...r,d.id]):r.length==1&&n.maxChoices==1&&s([d.id])},hideBottomBorder:u===n.options.length-1,className:l("selectListSelectItem",i)},Je.createElement(gi,{className:l("selectListItemImage",i)},d.imageUri&&Je.createElement(hi,{src:d.imageUri,alt:`select-icon-${u}`}),Je.createElement(xi,{appearance:i,className:l("selectListSelectItemText",i)},d.title)),Je.createElement(Xe,{appearance:i,value:y,primaryColor:i.theme.colorPrimary}))}))};import ye,{useEffect as Jo,useState as Xt}from"react";import{AnimatePresence as ka,motion as Pa}from"framer-motion";var va=({children:e,id:t,shouldWrap:o=!1})=>ye.createElement(ye.Fragment,null,o?ye.createElement(ka,{initial:!1},ye.createElement(Pa.div,{key:t,initial:{opacity:1,y:"100%"},animate:{opacity:1,y:0},exit:{opacity:0,y:"-100%"},transition:{duration:.5,ease:"easeInOut"},style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:1,overflowY:"auto"}},e)):e),bo=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:n,onButtonClick:r,onStepCompletion:s,flowId:p,type:c,hideOnFlowCompletion:a,onComplete:C,setVisible:d,setShowModal:u,onDismiss:y,showPagination:E=!1,customFormElements:f,allowBackNavigation:x,validationHandler:F})=>{var ke;let B={...{linkCollection:ai,multiInput:Qr,callToAction:pi,selectList:Ci},...i},{primaryCTAClickSideEffects:P,secondaryCTAClickSideEffects:S}=re(),[m,h]=Xt(!1),[w,N]=Xt({}),[W,H]=Xt(!1),[A,U]=Xt(!1),[$,O]=Xt(null),ne=t[o]??null,{markStepCompleted:pe,markStepStarted:D,isLoading:we,updateCustomVariables:xe,markFlowCompleted:te}=X();Jo(()=>{xe(n)},[n,we]),Jo(()=>{window&&x&&!A&&(window.location.hash=t[o].id,U(!0))},[x,A,U]),Jo(()=>{var G;if(window&&((G=window==null?void 0:window.location)!=null&&G.hash)&&window.location.hash.replace("#","")!==t[o].id){let ge=window.location.hash.replace("#",""),Z=t.findIndex(K=>K.id===ge);Z!==-1&&D(p,t[Z].id)}},[(ke=window==null?void 0:window.location)==null?void 0:ke.hash,D,o,t]);function j(){return{data:w[t[o].id]??{},stepId:t[o].id,customVariables:n}}function oe(G,ge,Z){let K=o+1<t.length?t[o+1]:null;r&&r(G,o,ge,K),s&&s(G,Z,K,w,j())}function I(G,ge){N(Z=>{let K={};return K[G.id]=ge,{...Z,...K}})}function se(G){return G.selectedStep.imageUri?ye.createElement(ii,{image:G.selectedStep.imageUri,appearance:e,className:l("formContainerSidebarImage",e)}):null}let fe=ye.createElement(si,{step:t[o],canContinue:m&&!W,formType:c,selectedStep:o,appearance:e,onPrimaryClick:async()=>{if(H(!0),F){let ge=await F(t[o],o,t[o+1],w,j());if(ge){O(ge),H(!1);return}else O(null)}let G={...j()};await pe(p,t[o].id,G),o+1<t.length&&await D(p,t[o+1].id),oe(t[o],"primary",o),o+1>=t.length&&(C&&C(),y&&y(),a&&(d&&d(!1),u(!1)),await te(p)),P(t[o]),H(!1),window&&x&&o+1<t.length&&(window.location.hash=t[o+1].id)},onSecondaryClick:()=>{oe(t[o],"secondary",o),S(t[o])},onBack:async()=>{o-1>=0&&(H(!0),await D(p,t[o-1].id),H(!1))},steps:t,allowBackNavigation:x,errorMessage:$});return ye.createElement(ye.Fragment,null,ye.createElement(ti,{className:l("formContainer",e)},ye.createElement(oi,null,ye.createElement(va,{id:o,shouldWrap:c==="large-modal"},ye.createElement(ri,{key:ne.id,type:c,className:l("formContent",e)},t.map(G=>{let ge=B[G.type];return ne.id!==G.id?null:ye.createElement(ge,{key:G.id,stepData:G,canContinue:m,setCanContinue:h,onSaveData:Z=>{I(G,Z)},appearance:e,customFormElements:f,flowId:p})}),E&&ye.createElement(li,{className:l("formPagination",e),appearance:e,stepCount:t.length,currentStep:o}),fe))),c=="large-modal"&&ye.createElement(se,{selectedStep:t[o]})))};import Jt from"react";import{createGlobalStyle as Ea}from"styled-components";function ee({appearance:e}){if(!e||!e.styleOverrides)return Jt.createElement(Jt.Fragment,null);let t=Object.entries(e.styleOverrides).filter(([i,n])=>typeof n=="object");if(t.length===0)return Jt.createElement(Jt.Fragment,null);let o=Ea`
632
+ ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map(([s,p])=>`${Oo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Jt.createElement(o,{inlineStyles:t})}var Si=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:n,customVariables:r,customFormElements:s,onComplete:p,appearance:c,hideOnFlowCompletion:a=!0,onStepCompletion:C,onButtonClick:d,dismissible:u=!0,endFlowOnDismiss:y=!1,modalPosition:E="center",repeatable:f=!1,onDismiss:x,showPagination:F=!1,allowBackNavigation:k=!1,validationHandler:B,showFrigadeBranding:P=!1})=>{let{getFlow:S,getFlowSteps:m,isLoading:h,targetingLogicShouldHideFlow:w,getFlowStatus:N,getCurrentStepIndex:W,markFlowCompleted:H,markFlowNotStarted:A}=X(),U=W(e),{mergeAppearanceWithDefault:$}=J(),[O,ne]=Aa(!1),{setOpenFlowState:pe,getOpenFlowState:D}=Pe();c=$(c);let[we,xe]=i!==void 0&&n!==void 0?[i,n]:[D(e,!0),I=>pe(e,I)];if(Ba(()=>{!O&&!h&&(ne(!0),N(e)===Y&&f&&A(e),ne(!0))},[O,ne,h]),h)return null;let te=S(e);if(!te||w(te))return null;let j=m(e);if(!j||i!==void 0&&i===!1||N(e)===Y&&a)return null;let oe=()=>{xe(!1),x&&x(),y===!0&&H(e)};if(E=="center"&&o==="modal"||o==="large-modal"){let I={padding:"24px"};return o==="large-modal"?(I.width="85%",I.height="90%",I.maxHeight="800px",I.minHeight="500px",I.padding="0"):I.width="400px",_e.createElement(rt,{appearance:c,onClose:oe,visible:we,style:I,dismissible:u,showFrigadeBranding:P},_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B}))}return o==="modal"&&E!=="center"?_e.createElement(Dr,{appearance:c,onClose:oe,visible:we},_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B})):_e.createElement(_e.Fragment,null,_e.createElement(ee,{appearance:c}),_e.createElement(bo,{appearance:c,steps:j,selectedStep:U,customStepTypes:t,customVariables:r,onButtonClick:d,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:n,setShowModal:xe,onDismiss:x,showPagination:F,customFormElements:s,allowBackNavigation:k,validationHandler:B}))},yi=Si;import{useCallback as bi,useContext as Ia,useEffect as Na}from"react";function Qo(){let{organizationId:e,userId:t,setOrganizationId:o}=Ia(q),{mutateUserFlowState:i}=Ie(),{config:n}=Me(),r=wt(),{verifySDKInitiated:s}=Tt();Na(()=>{if(t&&e){if(t.startsWith(Ft))return;let a=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(a)||(r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(a,"true"))}},[t,e]);let p=bi(async a=>{if(s(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let C={foreignUserId:t,foreignUserGroupId:e,properties:a};await r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify(C)}),i()},[e,t,n,i]),c=bi(async(a,C)=>{if(s(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let u={foreignUserId:t,foreignUserGroupId:e,events:[{event:a,properties:C}]};await r(`${Te}userGroups`,{...n,method:"POST",body:JSON.stringify(u)}),i()},[e,t,n,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:p,trackEventForOrganization:c}}var wi="xFrigade_guestUserId",Ti="xFrigade_userId",Fi=({})=>{let{setFlowResponses:e}=Wt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ie(),{userId:n,setUserId:r}=Ht(),[s,p]=Zo(null),{getFlowStatus:c}=X(),{flows:a,userProperties:C,setIsNewGuestUser:d,flowResponses:u}=La(q),[y,E]=Zo([]),[f,x]=Zo([]),{organizationId:F}=Qo();wo(()=>{if(!o&&t)for(let S=0;S<t.length;S++){let m=t[S],h=a.find(w=>w.slug===(m==null?void 0:m.flowId));if(h&&m&&m.shouldTrigger===!0&&h.type=="FORM"&&h.triggerType==="AUTOMATIC"&&!f.includes(h.slug)){setTimeout(()=>{k(m.flowId)},500);break}}},[o,t]),wo(()=>{u.length>0&&i()},[u]);function k(S){let m=a.find(h=>h.slug===S);m&&m.triggerType==="AUTOMATIC"&&!f.includes(m.slug)&&(x([...f,m.slug]),E([m]))}function B(){if(!n){let S=localStorage.getItem(Ti);if(S){r(S);return}let m=localStorage.getItem(wi);if(m){r(m);return}d(!0);let h=Ft+Oa();try{localStorage.setItem(wi,h)}catch(w){console.log("Failed to save guest user id locally: Local storage unavailable",w)}r(w=>w||h)}}wo(()=>{try{if(a){let S=[];a.forEach(m=>{if(m.data){let h=m.data.match(/"imageUri":"(.*?)"/g);h&&h.forEach(w=>{let N=w.replace('"imageUri":"',"").replace('"',"");if(S.includes(N))return;let W=new Image;W.src=N,S.push(N)})}})}}catch{}},[a]),wo(()=>{if(n!==s&&e([]),p(n),n&&!n.startsWith(Ft))try{localStorage.setItem(Ti,n)}catch(S){console.log("Failed to save user id locally: Local storage available",S)}n===null&&setTimeout(()=>{n===null&&B()},50)},[n,a,C]);function P(){return ft.createElement(ft.Fragment,null,y.map(S=>c(S.slug)!==Le?null:ft.createElement("span",{key:S.slug},ft.createElement(yi,{flowId:S.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return ft.createElement(ft.Fragment,null,ft.createElement(P,null))};import{ErrorBoundary as Ma}from"react-error-boundary";var q=Da({publicApiKey:"",setUserId:()=>{},flows:[],setFlows:()=>{},failedFlowResponses:[],setFailedFlowResponses:()=>{},flowResponses:[],setFlowResponses:()=>{},userProperties:{},setUserProperties:()=>{},openFlowStates:{},setOpenFlowStates:()=>{},completedFlowsToKeepOpenDuringSession:[],setCompletedFlowsToKeepOpenDuringSession:()=>{},customVariables:{},setCustomVariables:()=>{},isNewGuestUser:!1,setIsNewGuestUser:()=>{},hasActiveFullPageFlow:!1,setHasActiveFullPageFlow:()=>{},organizationId:"",setOrganizationId:()=>{},navigate:()=>{},defaultAppearance:Ye,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{}}),Ua=({publicApiKey:e,userId:t,organizationId:o,config:i,children:n})=>{var ne,pe;let[r,s]=Ne(t||null),[p,c]=Ne(o||null),[a,C]=Ne([]),[d,u]=Ne([]),[y,E]=Ne([]),[f,x]=Ne({}),[F,k]=Ne({}),[B,P]=Ne([]),[S,m]=Ne({}),[h,w]=Ne(!1),[N,W]=Ne(!1),[H,A]=Ne(!O(e)),U=(D,we)=>{if(we==="_blank"){window.open(D,"_blank");return}setTimeout(()=>{window.location.href=D},50)},$={theme:{...Ye.theme,...((ne=i==null?void 0:i.defaultAppearance)==null?void 0:ne.theme)??{}},styleOverrides:{...Ye.styleOverrides,...((pe=i==null?void 0:i.defaultAppearance)==null?void 0:pe.styleOverrides)??{}}};function O(D){return!!(D&&D.length>10&&D.substring(0,10)==="api_public")}return Ro(()=>{t&&s(t)},[t]),Ro(()=>{o&&c(o)},[o]),Ro(()=>{if(O(e))A(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),A(!0);return}},[e,A]),H?gt.createElement(q.Provider,{value:{publicApiKey:e,userId:r,setUserId:s,setFlows:C,flows:a,failedFlowResponses:d,setFailedFlowResponses:u,flowResponses:y,setFlowResponses:E,userProperties:f,setUserProperties:x,openFlowStates:F,setOpenFlowStates:k,completedFlowsToKeepOpenDuringSession:B,setCompletedFlowsToKeepOpenDuringSession:P,customVariables:S,setCustomVariables:m,isNewGuestUser:h,setIsNewGuestUser:w,hasActiveFullPageFlow:N,setHasActiveFullPageFlow:W,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:U,defaultAppearance:$,shouldGracefullyDegrade:H,setShouldGracefullyDegrade:A}},n):gt.createElement(Ma,{fallback:gt.createElement(gt.Fragment,null,n)},gt.createElement(q.Provider,{value:{publicApiKey:e,userId:r,setUserId:s,setFlows:C,flows:a,failedFlowResponses:d,setFailedFlowResponses:u,flowResponses:y,setFlowResponses:E,userProperties:f,setUserProperties:x,openFlowStates:F,setOpenFlowStates:k,completedFlowsToKeepOpenDuringSession:B,setCompletedFlowsToKeepOpenDuringSession:P,customVariables:S,setCustomVariables:m,isNewGuestUser:h,setIsNewGuestUser:w,hasActiveFullPageFlow:N,setHasActiveFullPageFlow:W,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:U,defaultAppearance:$,shouldGracefullyDegrade:H,setShouldGracefullyDegrade:A}},gt.createElement($a,{theme:$.theme},n,gt.createElement(Fi,null))))};import Dp from"react";import ae,{useEffect as ts,useState as os}from"react";import $e,{useState as sp}from"react";import Ct from"styled-components";import ko from"react";import ht from"react";import Pi from"styled-components";var ki=Pi.span`
633
633
  font-weight: 400;
634
634
  font-size: 15px;
635
635
  line-height: 20px;
@@ -1013,7 +1013,7 @@ ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map
1013
1013
  line-height: 14px;
1014
1014
  font-weight: 400;
1015
1015
  cursor: pointer;
1016
- `;var Cp=({steps:e,style:t,title:o,primaryColor:i,appearance:n,onButtonClick:r})=>{let{primaryCTAClickSideEffects:s}=re();return Re.createElement(pn,{style:t,className:l("guideContainer",n)},Re.createElement(cn,{className:l("guideTitle",n)},o),Re.createElement(dn,{className:l("guideItemContainer",n)},e.map((p,c)=>Re.createElement(mn,{key:`guide-${p.id??c}`,as:xp.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",n)},p.icon&&Re.createElement(un,{className:l("guideIcon",n)},Re.createElement(fn,null,p.icon)),Re.createElement(gn,{className:l("guideItemTitle",n),dangerouslySetInnerHTML:ce(p.title)}),Re.createElement(hn,{className:l("guideItemSubtitle",n),dangerouslySetInnerHTML:ce(p.subtitle)}),Re.createElement(xn,{className:l("guideItemLink",n),color:i,onClick:()=>{p.primaryButtonUri&&s(p),r&&r(p)}},p.primaryButtonTitle)))))},Rt=Cp;var bp=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:n,onClose:r,selectedStep:s,setSelectedStep:p,customStepTypes:c,appearance:a,guideData:C,guideTitle:d,onGuideButtonClick:u})=>{let y=({stepData:m,handleSecondaryCTAClick:h,handleCTAClick:w})=>m?M.createElement(Zi,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},M.createElement(Ri,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:ce(m.title)}),M.createElement(en,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:ce(m.subtitle)}),M.createElement(tn,{className:l("checklistCTAContainer",a)},m.secondaryButtonTitle&&M.createElement(R,{title:m.secondaryButtonTitle,onClick:h,appearance:a,secondary:!0}),M.createElement(R,{title:m.primaryButtonTitle,onClick:w,appearance:a}))):M.createElement(M.Fragment,null),f={...{default:m=>{var z;if((z=e[k])!=null&&z.StepContent){let W=e[k].StepContent;return M.createElement("div",null,W)}let h=e[k];return M.createElement(y,{stepData:m,handleCTAClick:()=>{h.handlePrimaryButtonClick&&h.handlePrimaryButtonClick()},handleSecondaryCTAClick:()=>{h.handleSecondaryButtonClick&&h.handleSecondaryButtonClick()}})}},...c},[x,F]=Sp(0),k=s??x,B=p??F,P=()=>{var m;return e?!((m=e[k])!=null&&m.type)||!f[e[k].type]?f.default(e[k]):f[e[k].type]({stepData:e[k],primaryColor:a.theme.colorPrimary}):M.createElement(M.Fragment,null)},S=e.filter(m=>m.complete).length;return n?(a.theme.modalContainer||(a.theme.borderRadius&&(ir.borderRadius=a.theme.borderRadius+"px"),a.theme.modalContainer=ir),M.createElement(rt,{onClose:r,visible:n,appearance:a},M.createElement(ln,null,M.createElement(ji,null,M.createElement(Gi,{appearance:a,className:l("checklistTitle",a)},t),M.createElement(qi,{appearance:a,className:l("checklistSubtitle",a)},o)),M.createElement(Vi,null,e&&e.length>0&&M.createElement(Ki,{className:l("stepsContainer",a)},M.createElement(Yi,null,M.createElement("div",{style:{flex:3}},M.createElement(Xi,{className:l("stepsTitle",a)},i)),M.createElement(sn,null,M.createElement(ze,{fillColor:a.theme.colorPrimary,style:{width:"100%"},count:S,total:e.length,appearance:a}))),M.createElement(Ji,null,M.createElement(Qi,{className:l("checklistStepListContainer",a),appearance:a},e.map((m,h)=>{let w=k===h;return M.createElement(on,{selected:w,className:l(`checklistStepListItem${w?"Selected":""}`,a),key:`checklist-guide-step-${m.id??h}`,disabled:m.blocked,onClick:()=>{m.blocked||B(h)},title:m.blocked?"Finish remaining steps to continue":void 0},w&&M.createElement(Fo,{className:l("checklistStepItemSelectedIndicator",a),as:yp.div,layoutId:"checklist-step-selected",style:{backgroundColor:a.theme.colorPrimary,borderRadius:0,height:"100%",top:"0%",width:"2px"}}),M.createElement(rn,{selected:w,className:l(`checklistStepListStepName${w?"Selected":""}`,a)},m.stepName),M.createElement(nn,null,M.createElement(Xe,{value:m.complete,type:"round",primaryColor:a.theme.colorPrimary,progress:m.progress,appearance:a}),M.createElement(an,null,M.createElement(Ot,{style:{marginLeft:"10px"},color:a.theme.colorBackgroundSecondary}))))})),M.createElement(P,null))),C&&C.length>0&&M.createElement(Rt,{steps:C,title:d,primaryColor:a.theme.colorPrimary,style:{border:"none",boxShadow:"none"},appearance:a,onButtonClick:m=>(u&&u(m),!0)}))))):M.createElement(M.Fragment,null)},nr=bp;import{useEffect as wp,useState as Tp}from"react";var Cn=()=>{let e={isSmall:"(max-width: 480px)",isMedium:"(min-width: 481px) AND (max-width: 1023px)",isLarge:"(min-width: 1025px)"},t=Object.fromEntries(Object.entries(e).map(([p])=>[p,!1])),[o,i]=Tp(t),n=null,r=()=>{n!==null?clearTimeout(n):s(),n=setTimeout(()=>{s()},16)},s=()=>{let p=Object.fromEntries(Object.entries(e).map(([c,a])=>{if(!window)return[c,!1];let C=window.matchMedia(a);return C.addEventListener("change",r),[c,C.matches]}));i(p)};return wp(()=>{s()},[]),o};import Fe,{useEffect as Ln,useState as Pp}from"react";import ue from"react";import{AnimatePresence as Fp,motion as kp}from"framer-motion";import et from"styled-components";var Sn=et.div`
1016
+ `;var Cp=({steps:e,style:t,title:o,primaryColor:i,appearance:n,onButtonClick:r})=>{let{primaryCTAClickSideEffects:s}=re();return Re.createElement(pn,{style:t,className:l("guideContainer",n)},Re.createElement(cn,{className:l("guideTitle",n)},o),Re.createElement(dn,{className:l("guideItemContainer",n)},e.map((p,c)=>Re.createElement(mn,{key:`guide-${p.id??c}`,as:xp.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",n)},p.icon&&Re.createElement(un,{className:l("guideIcon",n)},Re.createElement(fn,null,p.icon)),Re.createElement(gn,{className:l("guideItemTitle",n),dangerouslySetInnerHTML:ce(p.title)}),Re.createElement(hn,{className:l("guideItemSubtitle",n),dangerouslySetInnerHTML:ce(p.subtitle)}),Re.createElement(xn,{className:l("guideItemLink",n),color:i,onClick:()=>{p.primaryButtonUri&&s(p),r&&r(p)}},p.primaryButtonTitle)))))},Rt=Cp;var bp=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:n,onClose:r,selectedStep:s,setSelectedStep:p,customStepTypes:c,appearance:a,guideData:C,guideTitle:d,onGuideButtonClick:u})=>{let y=({stepData:m,handleSecondaryCTAClick:h,handleCTAClick:w})=>m?M.createElement(Zi,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},M.createElement(Ri,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:ce(m.title)}),M.createElement(en,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:ce(m.subtitle)}),M.createElement(tn,{className:l("checklistCTAContainer",a)},m.secondaryButtonTitle&&M.createElement(R,{title:m.secondaryButtonTitle,onClick:h,appearance:a,secondary:!0}),M.createElement(R,{title:m.primaryButtonTitle,onClick:w,appearance:a}))):M.createElement(M.Fragment,null),f={...{default:m=>{var W;if((W=e[k])!=null&&W.StepContent){let H=e[k].StepContent;return M.createElement("div",null,H)}let h=e[k];return M.createElement(y,{stepData:m,handleCTAClick:()=>{h.handlePrimaryButtonClick&&h.handlePrimaryButtonClick()},handleSecondaryCTAClick:()=>{h.handleSecondaryButtonClick&&h.handleSecondaryButtonClick()}})}},...c},[x,F]=Sp(0),k=s??x,B=p??F,P=()=>{var m;return e?!((m=e[k])!=null&&m.type)||!f[e[k].type]?f.default(e[k]):f[e[k].type]({stepData:e[k],primaryColor:a.theme.colorPrimary}):M.createElement(M.Fragment,null)},S=e.filter(m=>m.complete).length;return n?(a.theme.modalContainer||(a.theme.borderRadius&&(ir.borderRadius=a.theme.borderRadius+"px"),a.theme.modalContainer=ir),M.createElement(rt,{onClose:r,visible:n,appearance:a},M.createElement(ln,null,M.createElement(ji,null,M.createElement(Gi,{appearance:a,className:l("checklistTitle",a)},t),M.createElement(qi,{appearance:a,className:l("checklistSubtitle",a)},o)),M.createElement(Vi,null,e&&e.length>0&&M.createElement(Ki,{className:l("stepsContainer",a)},M.createElement(Yi,null,M.createElement("div",{style:{flex:3}},M.createElement(Xi,{className:l("stepsTitle",a)},i)),M.createElement(sn,null,M.createElement(ze,{fillColor:a.theme.colorPrimary,style:{width:"100%"},count:S,total:e.length,appearance:a}))),M.createElement(Ji,null,M.createElement(Qi,{className:l("checklistStepListContainer",a),appearance:a},e.map((m,h)=>{let w=k===h;return M.createElement(on,{selected:w,className:l(`checklistStepListItem${w?"Selected":""}`,a),key:`checklist-guide-step-${m.id??h}`,disabled:m.blocked,onClick:()=>{m.blocked||B(h)},title:m.blocked?"Finish remaining steps to continue":void 0},w&&M.createElement(Fo,{className:l("checklistStepItemSelectedIndicator",a),as:yp.div,layoutId:"checklist-step-selected",style:{backgroundColor:a.theme.colorPrimary,borderRadius:0,height:"100%",top:"0%",width:"2px"}}),M.createElement(rn,{selected:w,className:l(`checklistStepListStepName${w?"Selected":""}`,a)},m.stepName),M.createElement(nn,null,M.createElement(Xe,{value:m.complete,type:"round",primaryColor:a.theme.colorPrimary,progress:m.progress,appearance:a}),M.createElement(an,null,M.createElement(Ot,{style:{marginLeft:"10px"},color:a.theme.colorBackgroundSecondary}))))})),M.createElement(P,null))),C&&C.length>0&&M.createElement(Rt,{steps:C,title:d,primaryColor:a.theme.colorPrimary,style:{border:"none",boxShadow:"none"},appearance:a,onButtonClick:m=>(u&&u(m),!0)}))))):M.createElement(M.Fragment,null)},nr=bp;import{useEffect as wp,useState as Tp}from"react";var Cn=()=>{let e={isSmall:"(max-width: 480px)",isMedium:"(min-width: 481px) AND (max-width: 1023px)",isLarge:"(min-width: 1025px)"},t=Object.fromEntries(Object.entries(e).map(([p])=>[p,!1])),[o,i]=Tp(t),n=null,r=()=>{n!==null?clearTimeout(n):s(),n=setTimeout(()=>{s()},16)},s=()=>{let p=Object.fromEntries(Object.entries(e).map(([c,a])=>{if(!window)return[c,!1];let C=window.matchMedia(a);return C.addEventListener("change",r),[c,C.matches]}));i(p)};return wp(()=>{s()},[]),o};import Fe,{useEffect as Ln,useState as Pp}from"react";import ue from"react";import{AnimatePresence as Fp,motion as kp}from"framer-motion";import et from"styled-components";var Sn=et.div`
1017
1017
  background-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBackground}};
1018
1018
  border: 1px solid;
1019
1019
  border-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBorder}};
@@ -1238,7 +1238,7 @@ ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map
1238
1238
  color: ${({theme:e})=>e.colorTextSecondary};
1239
1239
  ${e=>e.blocked||e.complete?"opacity: 0.4;":`
1240
1240
  `}
1241
- `;var Qn=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=J(),{primaryCTAClickSideEffects:n}=re();o=i(o);let{imageUri:r=null,subtitle:s=null,title:p=null,complete:c=!1,blocked:a=!1}=e,C=e.primaryButtonTitle||e.secondaryButtonTitle,d=()=>{n(e)};return $t.createElement(Hn,{className:l("carouselCard",o),onClick:a?null:d,style:t,blocked:a,complete:c},r&&$t.createElement(Vn,{className:l("carouselCardImage",o),src:r,alt:p,style:{opacity:c||a?.4:1}}),(c||!0)&&$t.createElement(Kn,{className:l("carouselCompletedPill",o)},$t.createElement(Jn,{style:{color:"#108E0B"}},"Complete")),p&&$t.createElement(Xn,{blocked:a,complete:c,className:l("carouselCardTitle",o)},p),s&&$t.createElement(We.Quiet,{blocked:a,complete:c,className:l("carouselCardSubtitle",o)},s))};import eo from"react";var Zn=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,n=200,r=Math.min(n,Math.max(10,Math.round(n*i)));return eo.createElement(Gn,{className:l("carouselProgressBar",o)},eo.createElement(qn,{as:We.Loud,style:{marginRight:8}},e," of ",t),eo.createElement("svg",{height:10,width:n},eo.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"#E6E6E6"}),eo.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"currentColor"})))};var Op=()=>ie.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ie.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ie.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ie.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),Rn=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,n]=St(!1),[r,s]=St(!1);lr(()=>{t===!0&&i===!1?n(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{n(!1),s(!1)},c=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?ie.createElement(_n,{style:c,reversed:r,onAnimationEnd:r?p:null},ie.createElement(zn,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},ie.createElement(Op,null))):null},es=({flowId:e,appearance:t,customVariables:o,className:i})=>{let n=Lp(null),[r,s]=St(!1),[p,c]=St(!1),[a,C]=St(null),[d,u]=St([]),[y,E]=St(0),{getFlowMetadata:f,getFlowSteps:x,getNumberOfStepsCompleted:F,updateCustomVariables:k,getFlowStatus:B,isLoading:P,targetingLogicShouldHideFlow:S,getFlow:m}=X();lr(()=>{k(o)},[o,P]),lr(()=>{if(P)return;let A=f(e),U=F(e),$=x(e);C(A),A.data!==null&&(u($.sort((O,ne)=>Number(O.complete)-Number(ne.complete))),c($.length>3),E(U))},[P]);let h=[];for(let A=0;A<d.length;A+=3)h.push(d.slice(A,A+3));let w=A=>{let U=A.target,$=U.scrollWidth-U.clientWidth,O=Math.ceil(U.scrollLeft);O>0&&r===!1&&s(!0),O===0&&r===!0&&s(!1),O<$&&p===!1&&c(!0),O===$&&p===!0&&c(!1)},N=(A=!0)=>{let U=A?1:-1;n.current!==null&&n.current.scrollBy({left:n.current.clientWidth*U,behavior:"smooth"})},z=null,W=A=>{z!==null?clearTimeout(z):w(A),z=setTimeout(()=>{w(A)},16)};return P?null:ie.createElement(jn,{className:Ce(l("carouselContainer",t),i)},ie.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:20}},ie.createElement("div",null,ie.createElement(Yn,{className:l("carouselTitle",t)},a==null?void 0:a.title),ie.createElement(We.Quiet,{className:l("carouselSubtitle",t)},a==null?void 0:a.subtitle)),ie.createElement(Zn,{numberOfStepsCompleted:y,numberOfSteps:d.length})),ie.createElement("div",{style:{position:"relative"}},ie.createElement(Rn,{show:r,onClick:()=>N(!1)}),ie.createElement(Rn,{side:"right",show:p,onClick:N}),ie.createElement(Mn,{ref:n,onScroll:W},h.map((A,U)=>ie.createElement(Un,{key:U,style:{flex:`0 0 calc(100% - ${d.length>3?36:0}px)`}},A.map(($,O)=>ie.createElement(Qn,{key:O,stepData:$,style:{flex:d.length>3?"0 1 calc(33% - 16px * 2 / 3)":1},appearance:t})))))),ie.createElement(ee,{appearance:t}))};var ar=({flowId:e,title:t,subtitle:o,style:i,initialSelectedStep:n,className:r,type:s="inline",onDismiss:p,visible:c,customVariables:a,onStepCompletion:C,onButtonClick:d,appearance:u,hideOnFlowCompletion:y,setVisible:E,customStepTypes:f,checklistStyle:x="default",autoExpandFirstIncompleteStep:F,autoExpandNextStep:k,...B})=>{let{getFlow:P,getFlowSteps:S,markStepCompleted:m,getStepStatus:h,getNumberOfStepsCompleted:w,isLoading:N,targetingLogicShouldHideFlow:z,updateCustomVariables:W,getFlowMetadata:A,isStepBlocked:U,getFlowStatus:$,hasActiveFullPageFlow:O,setHasActiveFullPageFlow:ne}=X(),{primaryCTAClickSideEffects:pe,secondaryCTAClickSideEffects:D}=re(),{getOpenFlowState:we,setOpenFlowState:xe}=Pe(),[te,j]=os(n||0),[oe,I]=os(!1),se=c===void 0?we(e):c,fe=s==="modal",{mergeAppearanceWithDefault:ke}=J(),{isLarge:G}=Cn();if(u=ke(u),ts(()=>{W(a)},[a,N]),ts(()=>{c!==void 0&&(fe&&c===!0?ne(!0):fe&&c===!1&&ne(!1))},[c,E,O]),N)return null;let ge=P(e);if(!ge||z(ge))return null;let Z=S(e);if(!Z||y===!0&&$(e)===Y)return null;let K=A(e);if(K!=null&&K.title&&(t=K.title),K!=null&&K.subtitle&&(o=K.subtitle),!oe&&n===void 0&&w(e)>0){let _=Z.findIndex(qe=>qe.complete===!1);j(_>-1?_:Z.length-1),I(!0)}function je(){if(te+1>=Z.length){fe&&xe(e,!1);return}U(e,Z[te+1].id)||j(te+1)}function Ge(_,qe,io){let gr=te+1<Z.length?Z[te+1]:null;d&&d(_,te,qe,gr)===!0&&fe&&g(),C&&C(_,io,gr),!C&&!d&&(_.primaryButtonUri||_.secondaryButtonUri)&&fe&&g()}function bt(){return Z.map((_,qe)=>({..._,handleSecondaryButtonClick:()=>{je(),D(_),_.skippable===!0&&m(e,_.id,{skipped:!0}),Ge(_,"secondary",qe)},handlePrimaryButtonClick:()=>{(!_.completionCriteria&&(_.autoMarkCompleted||_.autoMarkCompleted===void 0)||_.completionCriteria&&_.autoMarkCompleted===!0)&&(m(e,_.id),je()),Ge(_,"primary",qe),pe(_),h(e,_.id)===Oe&&je()}}))}function H(){return ae.createElement(ee,{appearance:u})}let Be={steps:bt(),title:t,subtitle:o,primaryColor:u.theme.colorPrimary,appearance:u,customStepTypes:f,type:s,className:r,autoExpandFirstIncompleteStep:F,autoExpandNextStep:k};function g(){xe(e,!1),p&&p(),E&&E(!1)}function b(){return ae.createElement(ae.Fragment,null,ae.createElement(H,null),ae.createElement(es,{flowId:e,appearance:u,customVariables:a,className:r}))}function v(){return ae.createElement(ae.Fragment,null,ae.createElement(H,null),ae.createElement(sr,{visible:se,onClose:()=>{g()},selectedStep:te,setSelectedStep:j,autoExpandNextStep:!0,appearance:u,...Be}))}function V(){if(!G)return v();let _=B.guideFlowId,qe;return _&&P(_)&&(qe=S(_)),ae.createElement(ae.Fragment,null,ae.createElement(H,null),ae.createElement(nr,{visible:se,stepsTitle:K.stepsTitle?K.stepsTitle:"Your quick start guide",onClose:()=>{g()},selectedStep:te,setSelectedStep:j,guideData:qe,guideTitle:B.guideTitle??"Guide",appearance:u,title:t,subtitle:o,onGuideButtonClick:io=>{Ge(io,"link",0)},customStepTypes:f,...Be}))}function de(){if(!G)return v();let _=ae.createElement(rr,{flowId:e,style:i,selectedStep:te,setSelectedStep:j,appearance:u,type:s,...Be});return fe?ae.createElement(rt,{onClose:()=>{g()},visible:se,appearance:u,style:{paddingTop:"0px",padding:"12px",paddingLeft:0}},ae.createElement(H,null),_):ae.createElement(ae.Fragment,null,ae.createElement(H,null),_)}switch(x){case"condensed":return v();case"with-guide":return V();case"default":return de();case"carousel":return b();default:return de()}};var $p=e=>Dp.createElement(ar,{type:"inline",...e});import pt,{useEffect as Up}from"react";import He from"react";import Bo from"styled-components";var rs=Bo.div`
1241
+ `;var Qn=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=J(),{primaryCTAClickSideEffects:n}=re();o=i(o);let{imageUri:r=null,subtitle:s=null,title:p=null,complete:c=!1,blocked:a=!1}=e,C=e.primaryButtonTitle||e.secondaryButtonTitle,d=()=>{n(e)};return $t.createElement(Hn,{className:l("carouselCard",o),onClick:a?null:d,style:t,blocked:a,complete:c},r&&$t.createElement(Vn,{className:l("carouselCardImage",o),src:r,alt:p,style:{opacity:c||a?.4:1}}),(c||!0)&&$t.createElement(Kn,{className:l("carouselCompletedPill",o)},$t.createElement(Jn,{style:{color:"#108E0B"}},"Complete")),p&&$t.createElement(Xn,{blocked:a,complete:c,className:l("carouselCardTitle",o)},p),s&&$t.createElement(We.Quiet,{blocked:a,complete:c,className:l("carouselCardSubtitle",o)},s))};import eo from"react";var Zn=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,n=200,r=Math.min(n,Math.max(10,Math.round(n*i)));return eo.createElement(Gn,{className:l("carouselProgressBar",o)},eo.createElement(qn,{as:We.Loud,style:{marginRight:8}},e," of ",t),eo.createElement("svg",{height:10,width:n},eo.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"#E6E6E6"}),eo.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"currentColor"})))};var Op=()=>ie.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ie.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ie.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ie.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),Rn=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,n]=St(!1),[r,s]=St(!1);lr(()=>{t===!0&&i===!1?n(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{n(!1),s(!1)},c=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?ie.createElement(_n,{style:c,reversed:r,onAnimationEnd:r?p:null},ie.createElement(zn,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},ie.createElement(Op,null))):null},es=({flowId:e,appearance:t,customVariables:o,className:i})=>{let n=Lp(null),[r,s]=St(!1),[p,c]=St(!1),[a,C]=St(null),[d,u]=St([]),[y,E]=St(0),{getFlowMetadata:f,getFlowSteps:x,getNumberOfStepsCompleted:F,updateCustomVariables:k,getFlowStatus:B,isLoading:P,targetingLogicShouldHideFlow:S,getFlow:m}=X();lr(()=>{k(o)},[o,P]),lr(()=>{if(P)return;let A=f(e),U=F(e),$=x(e);C(A),A.data!==null&&(u($.sort((O,ne)=>Number(O.complete)-Number(ne.complete))),c($.length>3),E(U))},[P]);let h=[];for(let A=0;A<d.length;A+=3)h.push(d.slice(A,A+3));let w=A=>{let U=A.target,$=U.scrollWidth-U.clientWidth,O=Math.ceil(U.scrollLeft);O>0&&r===!1&&s(!0),O===0&&r===!0&&s(!1),O<$&&p===!1&&c(!0),O===$&&p===!0&&c(!1)},N=(A=!0)=>{let U=A?1:-1;n.current!==null&&n.current.scrollBy({left:n.current.clientWidth*U,behavior:"smooth"})},W=null,H=A=>{W!==null?clearTimeout(W):w(A),W=setTimeout(()=>{w(A)},16)};return P?null:ie.createElement(jn,{className:Ce(l("carouselContainer",t),i)},ie.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:20}},ie.createElement("div",null,ie.createElement(Yn,{className:l("carouselTitle",t)},a==null?void 0:a.title),ie.createElement(We.Quiet,{className:l("carouselSubtitle",t)},a==null?void 0:a.subtitle)),ie.createElement(Zn,{numberOfStepsCompleted:y,numberOfSteps:d.length})),ie.createElement("div",{style:{position:"relative"}},ie.createElement(Rn,{show:r,onClick:()=>N(!1)}),ie.createElement(Rn,{side:"right",show:p,onClick:N}),ie.createElement(Mn,{ref:n,onScroll:H},h.map((A,U)=>ie.createElement(Un,{key:U,style:{flex:`0 0 calc(100% - ${d.length>3?36:0}px)`}},A.map(($,O)=>ie.createElement(Qn,{key:O,stepData:$,style:{flex:d.length>3?"0 1 calc(33% - 16px * 2 / 3)":1},appearance:t})))))),ie.createElement(ee,{appearance:t}))};var ar=({flowId:e,title:t,subtitle:o,style:i,initialSelectedStep:n,className:r,type:s="inline",onDismiss:p,visible:c,customVariables:a,onStepCompletion:C,onButtonClick:d,appearance:u,hideOnFlowCompletion:y,setVisible:E,customStepTypes:f,checklistStyle:x="default",autoExpandFirstIncompleteStep:F,autoExpandNextStep:k,...B})=>{let{getFlow:P,getFlowSteps:S,markStepCompleted:m,getStepStatus:h,getNumberOfStepsCompleted:w,isLoading:N,targetingLogicShouldHideFlow:W,updateCustomVariables:H,getFlowMetadata:A,isStepBlocked:U,getFlowStatus:$,hasActiveFullPageFlow:O,setHasActiveFullPageFlow:ne}=X(),{primaryCTAClickSideEffects:pe,secondaryCTAClickSideEffects:D}=re(),{getOpenFlowState:we,setOpenFlowState:xe}=Pe(),[te,j]=os(n||0),[oe,I]=os(!1),se=c===void 0?we(e):c,fe=s==="modal",{mergeAppearanceWithDefault:ke}=J(),{isLarge:G}=Cn();if(u=ke(u),ts(()=>{H(a)},[a,N]),ts(()=>{c!==void 0&&(fe&&c===!0?ne(!0):fe&&c===!1&&ne(!1))},[c,E,O]),N)return null;let ge=P(e);if(!ge||W(ge))return null;let Z=S(e);if(!Z||y===!0&&$(e)===Y)return null;let K=A(e);if(K!=null&&K.title&&(t=K.title),K!=null&&K.subtitle&&(o=K.subtitle),!oe&&n===void 0&&w(e)>0){let z=Z.findIndex(qe=>qe.complete===!1);j(z>-1?z:Z.length-1),I(!0)}function je(){if(te+1>=Z.length){fe&&xe(e,!1);return}U(e,Z[te+1].id)||j(te+1)}function Ge(z,qe,io){let gr=te+1<Z.length?Z[te+1]:null;d&&d(z,te,qe,gr)===!0&&fe&&g(),C&&C(z,io,gr),!C&&!d&&(z.primaryButtonUri||z.secondaryButtonUri)&&fe&&g()}function bt(){return Z.map((z,qe)=>({...z,handleSecondaryButtonClick:()=>{je(),D(z),z.skippable===!0&&m(e,z.id,{skipped:!0}),Ge(z,"secondary",qe)},handlePrimaryButtonClick:()=>{(!z.completionCriteria&&(z.autoMarkCompleted||z.autoMarkCompleted===void 0)||z.completionCriteria&&z.autoMarkCompleted===!0)&&(m(e,z.id),je()),Ge(z,"primary",qe),pe(z),h(e,z.id)===Oe&&je()}}))}function V(){return ae.createElement(ee,{appearance:u})}let Be={steps:bt(),title:t,subtitle:o,primaryColor:u.theme.colorPrimary,appearance:u,customStepTypes:f,type:s,className:r,autoExpandFirstIncompleteStep:F,autoExpandNextStep:k};function g(){xe(e,!1),p&&p(),E&&E(!1)}function b(){return ae.createElement(ae.Fragment,null,ae.createElement(V,null),ae.createElement(es,{flowId:e,appearance:u,customVariables:a,className:r}))}function v(){return ae.createElement(ae.Fragment,null,ae.createElement(V,null),ae.createElement(sr,{visible:se,onClose:()=>{g()},selectedStep:te,setSelectedStep:j,autoExpandNextStep:!0,appearance:u,...Be}))}function _(){if(!G)return v();let z=B.guideFlowId,qe;return z&&P(z)&&(qe=S(z)),ae.createElement(ae.Fragment,null,ae.createElement(V,null),ae.createElement(nr,{visible:se,stepsTitle:K.stepsTitle?K.stepsTitle:"Your quick start guide",onClose:()=>{g()},selectedStep:te,setSelectedStep:j,guideData:qe,guideTitle:B.guideTitle??"Guide",appearance:u,title:t,subtitle:o,onGuideButtonClick:io=>{Ge(io,"link",0)},customStepTypes:f,...Be}))}function de(){if(!G)return v();let z=ae.createElement(rr,{flowId:e,style:i,selectedStep:te,setSelectedStep:j,appearance:u,type:s,...Be});return fe?ae.createElement(rt,{onClose:()=>{g()},visible:se,appearance:u,style:{paddingTop:"0px",padding:"12px",paddingLeft:0}},ae.createElement(V,null),z):ae.createElement(ae.Fragment,null,ae.createElement(V,null),z)}switch(x){case"condensed":return v();case"with-guide":return _();case"default":return de();case"carousel":return b();default:return de()}};var $p=e=>Dp.createElement(ar,{type:"inline",...e});import pt,{useEffect as Up}from"react";import He from"react";import Bo from"styled-components";var rs=Bo.div`
1242
1242
  border: 1px solid ${e=>e.appearance.theme.colorBorder};
1243
1243
  border-radius: 8px;
1244
1244
  padding: 6px 10px 6px 10px;
@@ -1344,7 +1344,7 @@ ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map
1344
1344
  `,Qp=ro(Cs)`
1345
1345
  width: ${Mt+12}px;
1346
1346
  height: ${Mt+12}px;
1347
- `,Zp=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:n=!0,primaryColor:r="#000000",offset:s={x:0,y:0},visible:p=!0,containerStyle:c={},selectedStep:a=0,customStepTypes:C,appearance:d,dismissible:u=!1,showHighlightOnly:y,showStepCount:E=!0,completedStepsCount:f=0,showFrigadeBranding:x=!1})=>{var K,je,Ge,bt;let[F,k]=oo(),[B,P]=oo(new Date),S=qp(null),[m,h]=oo(document.querySelector(e[a].selector)),w=fs(m,B),[N,z]=oo(),[W,A]=oo(!y),U=(je=(K=e[a])==null?void 0:K.props)!=null&&je.position?e[a].props.position:"absolute",$=((bt=(Ge=e[a])==null?void 0:Ge.props)==null?void 0:bt.zIndex)??90,O=(F==null?void 0:F.width)??hs,ne=(F==null?void 0:F.height)??xs;gs(()=>{S.current&&k({width:S.current.clientWidth,height:S.current.clientHeight})},[a,B,U]),Ao(()=>{y||A(!0)},[a]);let pe=i==="auto"?"right":i,D=pr(w,pe,O,s,U),we=w.right+O>(window.innerWidth||document.documentElement.clientWidth),xe=w.bottom+xs>(window.innerHeight||document.documentElement.clientHeight);we&&i==="auto"&&(D=pr(w,"left",O,s,U),pe="left");let te=window.location.pathname.split("/").pop(),j=()=>{let H=document.querySelector(e[a].selector);N&&N===JSON.stringify(H==null?void 0:H.getBoundingClientRect())||(h(H),P(new Date),H&&z(JSON.stringify(H.getBoundingClientRect())))};if(Ao(()=>{let H=new MutationObserver(j);return H.observe(document.body,{subtree:!0,childList:!0}),()=>H.disconnect()},[j]),Ao(()=>{let H=new MutationObserver(j);return H.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>H.disconnect()},[j]),Ao(()=>{let H=setInterval(()=>{j()},10);return()=>clearInterval(H)},[j]),gs(()=>{setTimeout(()=>{j()},Kp),j()},[a,te]),m===null)return L.createElement(L.Fragment,null);if(D.x==0&&D.y==0)return L.createElement(L.Fragment,null);if(!p)return L.createElement(L.Fragment,null);let oe=()=>{let H=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),A(!1),setTimeout(()=>{j()},30)),f===e.length-1)return o()},Be=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),y&&A(!1))};return L.createElement(L.Fragment,null,E&&L.createElement(Er,null,L.createElement(Ar,{className:l("tooltipStepCounter",d)},a+1," of ",e.length)),L.createElement(Br,{showStepCount:E,className:l("tooltipCTAContainer",d)},e[a].secondaryButtonTitle&&L.createElement(R,{title:e[a].secondaryButtonTitle,appearance:d,onClick:Be,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&L.createElement(R,{title:e[a].primaryButtonTitle,appearance:d,onClick:H,withMargin:!1,size:"small"})))},I=()=>L.createElement(L.Fragment,null,u&&L.createElement(Fr,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",d)},L.createElement(ve,null)),e[a].imageUri&&L.createElement(kr,{dismissible:u,appearance:d,src:e[a].imageUri,className:l("tooltipImageContainer",d)}),e[a].videoUri&&!e[a].imageUri&&L.createElement(Pr,{dismissible:u,appearance:d,className:l("tooltipVideoContainer",d)},L.createElement(Et,{appearance:d,videoUri:e[a].videoUri})),L.createElement(Se,{appearance:d,title:e[a].title,subtitle:e[a].subtitle,size:"small"}),L.createElement(vr,{className:l("tooltipFooter",d)},L.createElement(oe,null))),fe={...{default:H=>{var Be;if((Be=e[a])!=null&&Be.StepContent){let g=e[a].StepContent;return L.createElement("div",null,g)}return L.createElement(I,null)}},...C},ke=()=>{var H;return e?!((H=e[a])!=null&&H.type)||!fe[e[a].type]?fe.default(e[a]):fe[e[a].type]({stepData:e[a],primaryColor:r}):L.createElement(L.Fragment,null)};if(y&&e[a].complete===!0)return null;let G={top:(D==null?void 0:D.y)-Mt,left:(pe=="left"?w.x+s.x:(D==null?void 0:D.x)-Mt)??0,cursor:y?"pointer":"default",position:U},ge=()=>{let Be=G.left+(pe=="left"?-O:24);return Math.min(Math.max(Be,20),window.innerWidth-O-20)},Z=()=>{y&&(P(new Date),A(!W))};return L.createElement(Jp,null,L.createElement(Qp,{style:G,zIndex:$,className:l("tourHighlightContainer",d)},n&&e[a].showHighlight!==!1&&L.createElement(L.Fragment,null,L.createElement(Xp,{style:{position:U},onClick:Z,primaryColor:d.theme.colorPrimary}),L.createElement(Yp,{style:{position:"absolute"},onClick:Z,primaryColor:d.theme.colorPrimary}))),L.createElement(Cs,{style:{...G,left:ge()},zIndex:$+1,className:l("tooltipContainerWrapper",d)},W&&L.createElement(L.Fragment,null,L.createElement(lo,{ref:S,layoutId:"tooltip-container",style:{position:"relative",width:"max-content",right:0,top:12,...c},appearance:d,className:l("tooltipContainer",d),maxWidth:hs,zIndex:$+10},L.createElement(ke,null)),x&&L.createElement(Nr,{className:l("poweredByFrigadeTooltipRibbon",d),appearance:d,zIndex:$+10},L.createElement(ao,{appearance:d})))))},Io=Zp;import{Portal as td}from"react-portal";var od=({flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:n,showTooltipsSimultaneously:r=!1,onDismiss:s,dismissible:p,tooltipPosition:c="auto",showHighlightOnly:a=!1,dismissBehavior:C="complete-flow",onComplete:d,...u})=>{let{getFlow:y,getFlowSteps:E,isLoading:f,targetingLogicShouldHideFlow:x,markStepCompleted:F,markStepStarted:k,markFlowCompleted:B,updateCustomVariables:P,getCurrentStepIndex:S,getStepStatus:m,isStepBlocked:h,getFlowStatus:w,getNumberOfStepsCompleted:N}=X(),{isLoadingUserFlowStateData:z}=Ie(),{primaryCTAClickSideEffects:W,secondaryCTAClickSideEffects:A}=re(),{hasOpenModals:U}=Pe(),$=S(e),{openFlowStates:O}=Rp(q),{mergeAppearanceWithDefault:ne}=J();if(o=ne(o),ed(()=>{P(t)},[t,f]),z)return null;let pe=y(e);if(!pe||x(pe)||w(e)==Y||U())return null;let D=E(e);if(Object.keys(O).length>0){let I=Object.keys(O).find(se=>O[se]===!0);if(I!==void 0&&I!==e)return Ut.createElement(Ut.Fragment,null)}async function we(I){if(await F(e,I.id),D.map(se=>m(e,se.id)).every(se=>se===Oe)){await B(e);return}if(!a&&$+1<D.length){if(h(e,D[$+1].id))return;await k(e,D[$+1].id)}}function xe(I,se,fe){let ke=$+1<D.length?D[$+1]:null;n&&n(I,$,se,ke),i&&i(I,fe,ke)}function te(){return D.map(I=>({...I,handleSecondaryButtonClick:async()=>{A(I),I.skippable===!0&&await F(e,I.id,{skipped:!0}),xe(I,"secondary",$)},handlePrimaryButtonClick:async()=>{(!I.completionCriteria&&(I.autoMarkCompleted||I.autoMarkCompleted===void 0)||I.completionCriteria&&I.autoMarkCompleted===!0)&&await we(I),xe(I,"primary",$),W(I)}}))}async function j(I){s&&s(),C==="complete-flow"?await B(e):await F(e,I.id)}function oe(){d&&d()}return Ut.createElement(td,null,Ut.createElement(ee,{appearance:o}),r?D.map((I,se)=>Ut.createElement(Io,{key:I.id,appearance:o,steps:te(),selectedStep:se,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>j(I),tooltipPosition:c,showHighlightOnly:a,completedStepsCount:N(e),onComplete:oe,...u})):Ut.createElement(Io,{appearance:o,steps:te(),selectedStep:$,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>j(D[$]),tooltipPosition:c,completedStepsCount:N(e),showHighlightOnly:a,onComplete:oe,...u}))};import be,{useEffect as rd,useRef as id,useState as nd}from"react";import{Portal as sd}from"react-portal";import yt from"styled-components";var Ss=yt.button`
1347
+ `,Zp=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:n=!0,primaryColor:r="#000000",offset:s={x:0,y:0},visible:p=!0,containerStyle:c={},selectedStep:a=0,customStepTypes:C,appearance:d,dismissible:u=!1,showHighlightOnly:y,showStepCount:E=!0,completedStepsCount:f=0,showFrigadeBranding:x=!1})=>{var K,je,Ge,bt;let[F,k]=oo(),[B,P]=oo(new Date),S=qp(null),[m,h]=oo(document.querySelector(e[a].selector)),w=fs(m,B),[N,W]=oo(),[H,A]=oo(!y),U=(je=(K=e[a])==null?void 0:K.props)!=null&&je.position?e[a].props.position:"absolute",$=((bt=(Ge=e[a])==null?void 0:Ge.props)==null?void 0:bt.zIndex)??90,O=(F==null?void 0:F.width)??hs,ne=(F==null?void 0:F.height)??xs;gs(()=>{S.current&&k({width:S.current.clientWidth,height:S.current.clientHeight})},[a,B,U]),Ao(()=>{y||A(!0)},[a]);let pe=i==="auto"?"right":i,D=pr(w,pe,O,s,U),we=w.right+O>(window.innerWidth||document.documentElement.clientWidth),xe=w.bottom+xs>(window.innerHeight||document.documentElement.clientHeight);we&&i==="auto"&&(D=pr(w,"left",O,s,U),pe="left");let te=window.location.pathname.split("/").pop(),j=()=>{let V=document.querySelector(e[a].selector);N&&N===JSON.stringify(V==null?void 0:V.getBoundingClientRect())||(h(V),P(new Date),V&&W(JSON.stringify(V.getBoundingClientRect())))};if(Ao(()=>{let V=new MutationObserver(j);return V.observe(document.body,{subtree:!0,childList:!0}),()=>V.disconnect()},[j]),Ao(()=>{let V=new MutationObserver(j);return V.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>V.disconnect()},[j]),Ao(()=>{let V=setInterval(()=>{j()},10);return()=>clearInterval(V)},[j]),gs(()=>{setTimeout(()=>{j()},Kp),j()},[a,te]),m===null)return L.createElement(L.Fragment,null);if(D.x==0&&D.y==0)return L.createElement(L.Fragment,null);if(!p)return L.createElement(L.Fragment,null);let oe=()=>{let V=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),A(!1),setTimeout(()=>{j()},30)),f===e.length-1)return o()},Be=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),y&&A(!1))};return L.createElement(L.Fragment,null,E&&L.createElement(Er,null,L.createElement(Ar,{className:l("tooltipStepCounter",d)},a+1," of ",e.length)),L.createElement(Br,{showStepCount:E,className:l("tooltipCTAContainer",d)},e[a].secondaryButtonTitle&&L.createElement(R,{title:e[a].secondaryButtonTitle,appearance:d,onClick:Be,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&L.createElement(R,{title:e[a].primaryButtonTitle,appearance:d,onClick:V,withMargin:!1,size:"small"})))},I=()=>L.createElement(L.Fragment,null,u&&L.createElement(Fr,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",d)},L.createElement(ve,null)),e[a].imageUri&&L.createElement(kr,{dismissible:u,appearance:d,src:e[a].imageUri,className:l("tooltipImageContainer",d)}),e[a].videoUri&&!e[a].imageUri&&L.createElement(Pr,{dismissible:u,appearance:d,className:l("tooltipVideoContainer",d)},L.createElement(Et,{appearance:d,videoUri:e[a].videoUri})),L.createElement(Se,{appearance:d,title:e[a].title,subtitle:e[a].subtitle,size:"small"}),L.createElement(vr,{className:l("tooltipFooter",d)},L.createElement(oe,null))),fe={...{default:V=>{var Be;if((Be=e[a])!=null&&Be.StepContent){let g=e[a].StepContent;return L.createElement("div",null,g)}return L.createElement(I,null)}},...C},ke=()=>{var V;return e?!((V=e[a])!=null&&V.type)||!fe[e[a].type]?fe.default(e[a]):fe[e[a].type]({stepData:e[a],primaryColor:r}):L.createElement(L.Fragment,null)};if(y&&e[a].complete===!0)return null;let G={top:(D==null?void 0:D.y)-Mt,left:(pe=="left"?w.x+s.x:(D==null?void 0:D.x)-Mt)??0,cursor:y?"pointer":"default",position:U},ge=()=>{let Be=G.left+(pe=="left"?-O:24);return Math.min(Math.max(Be,20),window.innerWidth-O-20)},Z=()=>{y&&(P(new Date),A(!H))};return L.createElement(Jp,null,L.createElement(Qp,{style:G,zIndex:$,className:l("tourHighlightContainer",d)},n&&e[a].showHighlight!==!1&&L.createElement(L.Fragment,null,L.createElement(Xp,{style:{position:U},onClick:Z,primaryColor:d.theme.colorPrimary}),L.createElement(Yp,{style:{position:"absolute"},onClick:Z,primaryColor:d.theme.colorPrimary}))),L.createElement(Cs,{style:{...G,left:ge()},zIndex:$+1,className:l("tooltipContainerWrapper",d)},H&&L.createElement(L.Fragment,null,L.createElement(lo,{ref:S,layoutId:"tooltip-container",style:{position:"relative",width:"max-content",right:0,top:12,...c},appearance:d,className:l("tooltipContainer",d),maxWidth:hs,zIndex:$+10},L.createElement(ke,null)),x&&L.createElement(Nr,{className:l("poweredByFrigadeTooltipRibbon",d),appearance:d,zIndex:$+10},L.createElement(ao,{appearance:d})))))},Io=Zp;import{Portal as td}from"react-portal";var od=({flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:n,showTooltipsSimultaneously:r=!1,onDismiss:s,dismissible:p,tooltipPosition:c="auto",showHighlightOnly:a=!1,dismissBehavior:C="complete-flow",onComplete:d,...u})=>{let{getFlow:y,getFlowSteps:E,isLoading:f,targetingLogicShouldHideFlow:x,markStepCompleted:F,markStepStarted:k,markFlowCompleted:B,updateCustomVariables:P,getCurrentStepIndex:S,getStepStatus:m,isStepBlocked:h,getFlowStatus:w,getNumberOfStepsCompleted:N}=X(),{isLoadingUserFlowStateData:W}=Ie(),{primaryCTAClickSideEffects:H,secondaryCTAClickSideEffects:A}=re(),{hasOpenModals:U}=Pe(),$=S(e),{openFlowStates:O}=Rp(q),{mergeAppearanceWithDefault:ne}=J();if(o=ne(o),ed(()=>{P(t)},[t,f]),W)return null;let pe=y(e);if(!pe||x(pe)||w(e)==Y||U())return null;let D=E(e);if(Object.keys(O).length>0){let I=Object.keys(O).find(se=>O[se]===!0);if(I!==void 0&&I!==e)return Ut.createElement(Ut.Fragment,null)}async function we(I){if(await F(e,I.id),D.map(se=>m(e,se.id)).every(se=>se===Oe)){await B(e);return}if(!a&&$+1<D.length){if(h(e,D[$+1].id))return;await k(e,D[$+1].id)}}function xe(I,se,fe){let ke=$+1<D.length?D[$+1]:null;n&&n(I,$,se,ke),i&&i(I,fe,ke)}function te(){return D.map(I=>({...I,handleSecondaryButtonClick:async()=>{A(I),I.skippable===!0&&await F(e,I.id,{skipped:!0}),xe(I,"secondary",$)},handlePrimaryButtonClick:async()=>{(!I.completionCriteria&&(I.autoMarkCompleted||I.autoMarkCompleted===void 0)||I.completionCriteria&&I.autoMarkCompleted===!0)&&await we(I),xe(I,"primary",$),H(I)}}))}async function j(I){s&&s(),C==="complete-flow"?await B(e):await F(e,I.id)}function oe(){d&&d()}return Ut.createElement(td,null,Ut.createElement(ee,{appearance:o}),r?D.map((I,se)=>Ut.createElement(Io,{key:I.id,appearance:o,steps:te(),selectedStep:se,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>j(I),tooltipPosition:c,showHighlightOnly:a,completedStepsCount:N(e),onComplete:oe,...u})):Ut.createElement(Io,{appearance:o,steps:te(),selectedStep:$,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>j(D[$]),tooltipPosition:c,completedStepsCount:N(e),showHighlightOnly:a,onComplete:oe,...u}))};import be,{useEffect as rd,useRef as id,useState as nd}from"react";import{Portal as sd}from"react-portal";import yt from"styled-components";var Ss=yt.button`
1348
1348
  ${e=>T(e)} {
1349
1349
  // Anything inside this block will be ignored if the user provides a custom class
1350
1350
 
@@ -1600,5 +1600,5 @@ ${i=>i.inlineStyles.map(([n,r])=>`.${Vt}${n}.${Vt}${n} { ${Object.entries(r).map
1600
1600
  opacity: 0.8;
1601
1601
  }
1602
1602
  }
1603
- `;var fd=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:n,className:r,style:s})=>{let{getFlow:p,markFlowCompleted:c,markStepCompleted:a,getNumberOfStepsCompleted:C,isLoading:d,targetingLogicShouldHideFlow:u,updateCustomVariables:y,getFlowSteps:E,getFlowStatus:f,getCurrentStepIndex:x}=X(),{primaryCTAClickSideEffects:F}=re(),{mergeAppearanceWithDefault:k}=J(),[B,P]=Q.useState(null),[S,m]=Q.useState(""),{hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:w,shouldKeepCompletedFlowOpenDuringSession:N}=Pe();if(n=k(n),md(()=>{y(o)},[o,d]),d)return null;let z=p(e);if(!z||u(z)||f(e)===Y||C(e)===1&&!N(e)||h())return null;let A=E(e)[x(e)];function U(){return Q.createElement(Q.Fragment,null,Q.createElement(fr,null,Q.createElement(Se,{size:"large",appearance:n,title:A.title,subtitle:A.subtitle})),Q.createElement(mr,{className:l("npsNumberButtonContainer",n),appearance:n},Array.from(Array(10).keys()).map(O=>Q.createElement(Vs,{className:l("npsNumberButton",n),selected:B===O+1,key:O,onClick:async()=>{w(e),P(O+1),await a(e,A.id,{score:O+1})},appearance:n},O+1))),Q.createElement(js,{appearance:n},Q.createElement(ur,{appearance:n},"Not likely at all"),Q.createElement(ur,{appearance:n},"Extremely likely")))}function $(){return Q.createElement(Q.Fragment,null,Q.createElement(fr,null,Q.createElement(Se,{appearance:n,title:"Why did you choose this score?",size:"large"})),Q.createElement(Gs,{appearance:n,value:S,onChange:O=>{m(O.target.value)},placeHolder:"Add your optional fedback here..."}),Q.createElement(mr,{appearance:n,className:l("npsNumberButtonContainer",n)},Q.createElement(R,{size:"large",withMargin:!1,onClick:async()=>{await c(e),i&&i(A,1,"primary")},appearance:n,title:A.secondaryButtonTitle||"Skip",secondary:!0}),Q.createElement(R,{size:"large",withMargin:!1,onClick:async()=>{await a(e,A.id,{feedbackText:S}),await c(e),i&&i(A,1,"primary")},appearance:n,title:A.primaryButtonTitle||"Submit"})))}return Q.createElement(ud,null,Q.createElement(ee,{appearance:n}),Q.createElement(Hs,{appearance:n,className:Ce(l("npsSurveyContainer",n),r),style:s},Q.createElement(qs,{onClick:async()=>{await c(e),t&&t()},className:l("npsSurveyDismissButton",n)},Q.createElement(ve,null)),C(e)==0&&U(),C(e)==1&&$()))};export{Xe as CheckBox,nt as FormLabel,Ho as FormTextField,cd as FrigadeBanner,ar as FrigadeChecklist,Ye as FrigadeDefaultAppearance,pd as FrigadeEmbeddedTip,Si as FrigadeForm,Wp as FrigadeGuide,$p as FrigadeHeroChecklist,fd as FrigadeNPSSurvey,_p as FrigadeProgressBadge,Ua as FrigadeProvider,ld as FrigadeSupportWidget,od as FrigadeTour,Pt as ProgressRing,Pe as useFlowOpens,Wt as useFlowResponses,X as useFlows,Qo as useOrganization,Ht as useUser};
1603
+ `;var fd=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:n,className:r,style:s})=>{let{getFlow:p,markFlowCompleted:c,markStepCompleted:a,getNumberOfStepsCompleted:C,isLoading:d,targetingLogicShouldHideFlow:u,updateCustomVariables:y,getFlowSteps:E,getFlowStatus:f,getCurrentStepIndex:x}=X(),{primaryCTAClickSideEffects:F}=re(),{mergeAppearanceWithDefault:k}=J(),[B,P]=Q.useState(null),[S,m]=Q.useState(""),{hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:w,shouldKeepCompletedFlowOpenDuringSession:N}=Pe();if(n=k(n),md(()=>{y(o)},[o,d]),d)return null;let W=p(e);if(!W||u(W)||f(e)===Y||C(e)===1&&!N(e)||h())return null;let A=E(e)[x(e)];function U(){return Q.createElement(Q.Fragment,null,Q.createElement(fr,null,Q.createElement(Se,{size:"large",appearance:n,title:A.title,subtitle:A.subtitle})),Q.createElement(mr,{className:l("npsNumberButtonContainer",n),appearance:n},Array.from(Array(10).keys()).map(O=>Q.createElement(Vs,{className:l("npsNumberButton",n),selected:B===O+1,key:O,onClick:async()=>{w(e),P(O+1),await a(e,A.id,{score:O+1})},appearance:n},O+1))),Q.createElement(js,{appearance:n},Q.createElement(ur,{appearance:n},"Not likely at all"),Q.createElement(ur,{appearance:n},"Extremely likely")))}function $(){return Q.createElement(Q.Fragment,null,Q.createElement(fr,null,Q.createElement(Se,{appearance:n,title:"Why did you choose this score?",size:"large"})),Q.createElement(Gs,{appearance:n,value:S,onChange:O=>{m(O.target.value)},placeHolder:"Add your optional fedback here..."}),Q.createElement(mr,{appearance:n,className:l("npsNumberButtonContainer",n)},Q.createElement(R,{size:"large",withMargin:!1,onClick:async()=>{await c(e),i&&i(A,1,"primary")},appearance:n,title:A.secondaryButtonTitle||"Skip",secondary:!0}),Q.createElement(R,{size:"large",withMargin:!1,onClick:async()=>{await a(e,A.id,{feedbackText:S}),await c(e),i&&i(A,1,"primary")},appearance:n,title:A.primaryButtonTitle||"Submit"})))}return Q.createElement(ud,null,Q.createElement(ee,{appearance:n}),Q.createElement(Hs,{appearance:n,className:Ce(l("npsSurveyContainer",n),r),style:s},Q.createElement(qs,{onClick:async()=>{await c(e),t&&t()},className:l("npsSurveyDismissButton",n)},Q.createElement(ve,null)),C(e)==0&&U(),C(e)==1&&$()))};export{Xe as CheckBox,nt as FormLabel,Ho as FormTextField,cd as FrigadeBanner,ar as FrigadeChecklist,Ye as FrigadeDefaultAppearance,pd as FrigadeEmbeddedTip,Si as FrigadeForm,Wp as FrigadeGuide,$p as FrigadeHeroChecklist,fd as FrigadeNPSSurvey,_p as FrigadeProgressBadge,Ua as FrigadeProvider,ld as FrigadeSupportWidget,od as FrigadeTour,Pt as ProgressRing,Pe as useFlowOpens,Wt as useFlowResponses,X as useFlows,Qo as useOrganization,Ht as useUser};
1604
1604
  //# sourceMappingURL=index.mjs.map