@frigade/react 1.35.39 → 1.35.40

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
- var ia=Object.defineProperty,na=Object.defineProperties;var sa=Object.getOwnPropertyDescriptors;var ko=Object.getOwnPropertySymbols;var ri=Object.prototype.hasOwnProperty,ii=Object.prototype.propertyIsEnumerable;var oi=(e,t,o)=>t in e?ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,T=(e,t)=>{for(var o in t||(t={}))ri.call(t,o)&&oi(e,o,t[o]);if(ko)for(var o of ko(t))ii.call(t,o)&&oi(e,o,t[o]);return e},H=(e,t)=>na(e,sa(t));var ni=e=>typeof e=="symbol"?e:e+"",Ie=(e,t)=>{var o={};for(var n in e)ri.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&ko)for(var n of ko(e))t.indexOf(n)<0&&ii.call(e,n)&&(o[n]=e[n]);return o};var $=(e,t,o)=>new Promise((n,i)=>{var r=d=>{try{p(o.next(d))}catch(l){i(l)}},s=d=>{try{p(o.throw(d))}catch(l){i(l)}},p=d=>d.done?n(d.value):Promise.resolve(d.value).then(r,s);p((o=o.apply(e,t)).next())});import vt,{createContext as hd,useEffect as Ko,useState as je}from"react";import{ThemeProvider as Cd}from"styled-components";import Pt,{useContext as Kp,useEffect as xo,useState as Vo}from"react";import{useCallback as Tt,useContext as ya,useEffect as Sa}from"react";import rr,{useMemo as li}from"react";var si="1.35.39 ";var He="NOT_STARTED_STEP",Q="COMPLETED_FLOW",Po="ABORTED_FLOW",wt="STARTED_FLOW",$e="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",vo="STARTED_STEP";function Xe(){let{publicApiKey:e,userId:t,apiUrl:o}=rr.useContext(X);return{config:li(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":si,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:li(()=>`${o}/v1/public/`,[o])}}var la="frigade-last-call-at-",aa="frigade-last-call-data-";function Ut(){let{shouldGracefullyDegrade:e,readonly:t}=rr.useContext(X);return(o,n)=>$(this,null,function*(){if(t&&(n.method==="POST"||n.method==="PUT"||n.method==="DELETE"))return Mt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Mt();let i=la+o,r=aa+o;if(window&&window.localStorage&&n&&n.body&&n.method==="POST"){let p=window.localStorage.getItem(i),d=window.localStorage.getItem(r);if(p&&d&&d==n.body){let l=new Date(p);if(new Date().getTime()-l.getTime()<1e3)return Mt()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(r,n.body)}let s;try{s=yield fetch(o,n)}catch(p){return Mt(p)}return s?s.ok?s:Mt(s.statusText):Mt()})}function Mt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Wt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=rr.useContext(X);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as xa,useState as ai}from"react";import{useContext as da,useEffect as ca,useState as ma}from"react";import ua from"swr";import{useContext as pa}from"react";function Be(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:n,completedFlowsToKeepOpenDuringSession:i}=pa(X);function r(c,g=!1){var S;return(S=e[c])!=null?S:g}function s(c,g){t(S=>H(T({},S),{[c]:g}))}function p(c){t(g=>{let b=g,{[c]:S}=b,F=Ie(b,[ni(c)]);return T({},F)})}function d(c){i.includes(c)||n(g=>[...g,c])}function l(c){return i.includes(c)}function m(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:l}}import fa from"swr/immutable";import io from"core-js-pure/actual/structured-clone";function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function he(...e){let t=e.shift(),o=e.length===1?e[0]:he(...e);if(!ir(t)||!ir(o))throw new Error("deepmerge can only merge Objects");let n=io(t);return Object.entries(o).forEach(([i,r])=>{ir(r)?n[i]!==void 0?Object.assign(n,{[i]:he(n[i],io(r))}):Object.assign(n,{[i]:io(r)}):Array.isArray(r)?n[i]!==void 0?Object.assign(n,{[i]:[...n[i],...io(r)]}):Object.assign(n,{[i]:io(r)}):Object.assign(n,{[i]:r})}),n}var ga="unknown";function Me(){let{config:e,apiUrl:t}=Xe(),{publicApiKey:o,userId:n,organizationId:i,flows:r,setShouldGracefullyDegrade:s,readonly:p}=da(X),{resetOpenFlowState:d}=Be(),[l,m]=ma(!1),c={data:r.map(f=>({flowId:f.id,flowState:Q,lastStepId:null,userId:n,foreignUserId:n,stepStates:{},shouldTrigger:!1}))},g=f=>fetch(f,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${f}: ${P}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&r&&n?`${t}userFlowStates?foreignUserId=${encodeURIComponent(n)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,{data:F,isLoading:b,mutate:x,error:v}=p?fa(S,g):ua(S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=F==null?void 0:F.data;ca(()=>{!l&&!b&&y&&m(!0)},[y,l,b]);function E(f){return $(this,null,function*(){if(y&&!p){let P=y.find(N=>N.flowId===f);P&&P.flowState!==Q&&(P.flowState=Q),yield x(Promise.resolve(he(F,{data:y})),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function A(f,P,N){return $(this,null,function*(){if(y){let L=y.find(I=>I.flowId===f);L&&(L.stepStates[P]=N,L.flowState=wt),yield x(Promise.resolve(he(F,{data:y})),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function O(f,P,N){return $(this,null,function*(){if(y){let L=y.find(I=>I.flowId===f);L&&(L.lastStepId=P,L.stepStates[P]=N,L.flowState=wt),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function h(f){return $(this,null,function*(){if(y){let P=y.find(N=>N.flowId===f);P&&P.flowState!==$e&&(P.flowState=$e,P.lastStepId=ga,Object.keys(P.stepStates).forEach(N=>{P.stepStates[N].actionType=He,P.stepStates[N].createdAt=new Date().toISOString()}),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1}),d(f))}})}function w(f,P){return $(this,null,function*(){if(y){let N=y.find(L=>L.flowId===f);N&&N.stepStates[P]!==He&&(N.stepStates[P]=He),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:y,isLoadingUserFlowStateData:!l,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:E,optimisticallyMarkFlowNotStarted:h,optimisticallyMarkStepCompleted:A,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:O,error:v}}function no(){let{config:e,apiUrl:t}=Xe(),{userFlowStatesData:o,mutateUserFlowState:n}=Me(),{failedFlowResponses:i,setFailedFlowResponses:r,flowResponses:s,setFlowResponses:p}=xa(X),[d,l]=ai(new Set),[m,c]=ai(new Set),g=Ut();function S(x){let v=JSON.stringify(x);if(d.has(v))return null;d.add(v),l(d),m.add(x),c(m);let y=s==null?void 0:s.find(E=>E.flowSlug===x.flowSlug&&E.stepId===x.stepId&&E.actionType===x.actionType&&E.createdAt===x.createdAt);return g(`${t}flowResponses`,H(T({},e),{method:"POST",body:v})).then(E=>{E.status!==200&&E.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...i,x])):y||p(A=>[...A!=null?A:[],x])})}function F(x){return $(this,null,function*(){x.foreignUserId&&(x.actionType===wt||x.actionType===$e?yield S(x):x.actionType===Q?yield S(x):x.actionType===vo?yield S(x):x.actionType===Ge?yield S(x):x.actionType===Po?yield S(x):x.actionType===He&&(yield S(x)))})}function b(){let x=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let y in v.stepStates){let E=v.stepStates[y];x.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:E.stepId,actionType:E.actionType,data:{},createdAt:new Date(E.createdAt),blocked:E.blocked,hidden:E.hidden})}}),[...x,...s]}return{addResponse:F,setFlowResponses:p,getFlowResponses:b}}import ba from"swr";var ha=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,pi=e=>{let t=ha.exec(e);if(t===null)return null;let o=null;return t.forEach((n,i)=>{let r=Ca(n,"'","");r.startsWith("flow_")&&(o=r)}),o},Ca=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function nr(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var sr=(l=>(l.CHECKLIST="CHECKLIST",l.FORM="FORM",l.TOUR="TOUR",l.SUPPORT="SUPPORT",l.CUSTOM="CUSTOM",l.BANNER="BANNER",l.EMBEDDED_TIP="EMBEDDED_TIP",l.NPS_SURVEY="NPS_SURVEY",l.ANNOUNCEMENT="ANNOUNCEMENT",l))(sr||{});function R(){let{config:e,apiUrl:t}=Xe(),{flows:o,setFlows:n,userId:i,organizationId:r,publicApiKey:s,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:g,readonly:S}=ya(X),F={data:[]},{verifySDKInitiated:b}=Wt(),{addResponse:x,getFlowResponses:v}=no(),y=C=>fetch(C,e).then(u=>u.ok?u.json():(console.log(`Error fetching ${C} (${u.status}): ${u.statusText}. Will gracefully degrade and hide Frigade`),g(!0),F)).catch(u=>(console.log(`Error fetching ${C}: ${u}. Will gracefully degrade and hide Frigade`),g(!0),F)),{mutateUserFlowState:E,userFlowStatesData:A,isLoadingUserFlowStateData:O,optimisticallyMarkFlowCompleted:h,optimisticallyMarkFlowNotStarted:w,optimisticallyMarkStepCompleted:f,optimisticallyMarkStepNotStarted:P,optimisticallyMarkStepStarted:N}=Me(),{data:L,error:I,isLoading:q}=ba(s?`${t}flows${S?"?readonly=true":""}`:null,y,{keepPreviousData:!0});Sa(()=>{if(I){console.error(I);return}L&&L.data&&n(L.data)},[L,I]);function M(C){if(q)return null;let u=o.find(k=>k.slug===C);return!u&&o.length>0&&!O&&!q?(console.log(`Flow with id ${C} not found`),null):(u==null?void 0:u.active)===!1&&!S?null:u}function V(C){var W,ge;if(!M(C))return[];let u=M(C).data;return u?(u=le(u),((ge=(W=nr(u))==null?void 0:W.data)!=null?ge:[]).map(xe=>{let ro=J(xe);return H(T({handleSecondaryButtonClick:()=>{xe.skippable===!0&&G(C,xe.id,{skipped:!0})}},xe),{complete:ue(C,xe.id)===Ge||ro>=1,blocked:Oe(C,xe.id),hidden:we(C,xe.id),handlePrimaryButtonClick:()=>{(!xe.completionCriteria&&(xe.autoMarkCompleted||xe.autoMarkCompleted===void 0)||xe.completionCriteria&&xe.autoMarkCompleted===!0)&&G(C,xe.id)},progress:ro})}).filter(xe=>xe.hidden!==!0)):[]}function le(C){return C.replaceAll(/\${(.*?)}/g,(u,k)=>p[k]===void 0?"":String(p[k]).replace(/[\u00A0-\u9999<>\&]/g,function(W){return"&#"+W.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 pe(C){var k;if(!M(C))return[];let u=M(C).data;return u?(u=le(u),(k=JSON.parse(u))!=null?k:{}):[]}function _(C,u){d(k=>H(T({},k),{[C]:u}))}function se(C){!O&&!q&&C&&JSON.stringify(p)!=JSON.stringify(T(T({},p),C))&&Object.keys(C).forEach(u=>{_(u,C[u])})}let de=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:vo,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield N(C,u,W),x(W))}),[i,r,A]),be=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:He,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield P(C,u),x(W))}),[i,r,A]),G=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:Ge,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield f(C,u,W),x(W))}),[i,r,A]),Y=Tt((C,u)=>$(this,null,function*(){if(!b()||ye(C)===$e)return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:$e,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};yield w(C),Z(k)&&x(k)}),[i,r,A]),ee=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:wt,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&x(k)}),[i,r,A]),Ve=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:Q,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&(yield h(C),x(k))}),[i,r,A]),Le=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:Po,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&(yield h(C),x(k))}),[i,r,A]);function Z(C){var u;if(!A&&C.actionType===He)return!1;if(A){let k=A.find(W=>W.flowId===C.flowSlug);if(C.actionType===He&&(!(k!=null&&k.stepStates[C.stepId])||k.stepStates[C.stepId].actionType===He)||k&&((u=k.stepStates[C.stepId])==null?void 0:u.actionType)===C.actionType||k&&k.flowState===Q&&C.actionType===Q)return!1}return!0}function ue(C,u){let k=U(C,u);return O?null:k?k.actionType:He}function Oe(C,u){let k=U(C,u);return k?k.blocked:!1}function we(C,u){let k=U(C,u);return k?k.hidden:!1}function U(C,u){var W;if(O)return null;let k=A==null?void 0:A.find(ge=>ge.flowId===C);return!k||!k.stepStates[u]?null:(W=k.stepStates[u])!=null?W:null}function D(C){var k,W;if(O||!A)return null;if(ye(C)===$e)return(k=V(C)[0])!=null?k:null;let u=(W=A.find(ge=>ge.flowId===C))==null?void 0:W.lastStepId;return u?V(C).find(ge=>ge.id===u):null}function z(C){var W;let u=D(C);if(!u)return 0;let k=(W=V(C).findIndex(ge=>ge.id===u.id))!=null?W:0;return ue(C,u.id)===Ge&&k<V(C).length-1?k+1:k}function J(C){if(!C.completionCriteria)return;let u=pi(C.completionCriteria);if(u===null)return;let k=De(u),W=ot(u);return W===0?void 0:k/W}function ye(C){let u=A==null?void 0:A.find(k=>k.flowId===C);return u?u.flowState:null}function De(C){let u=V(C);return u.length===0?0:u.filter(W=>ue(C,W.id)===Ge).length}function ot(C){return V(C).length}function Ye(C){let u=o.find(k=>k.slug===C);return u?nr(u.data):null}function bt(C){if(S)return!1;if(O)return!0;if(C!=null&&C.targetingLogic&&A){let u=A.find(k=>k.flowId===C.slug);if(u)return u.shouldTrigger===!1}return!!(C!=null&&C.targetingLogic&&i&&i.startsWith("guest_"))}function Dt(C){return!bt(M(C))}function $t(){i&&E()}return{getFlow:M,getFlowData:Ye,isLoading:O||q,getStepStatus:ue,getFlowSteps:V,getCurrentStepIndex:z,markStepStarted:de,markStepCompleted:G,markFlowNotStarted:Y,markFlowStarted:ee,markFlowCompleted:Ve,markFlowAborted:Le,markStepNotStarted:be,getFlowStatus:ye,getNumberOfStepsCompleted:De,getNumberOfSteps:ot,targetingLogicShouldHideFlow:bt,setCustomVariable:_,updateCustomVariables:se,customVariables:p,getStepOptionalProgress:J,getFlowMetadata:pe,isStepBlocked:Oe,isStepHidden:we,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Dt,refresh:$t}}import{useCallback as lr,useContext as wa,useEffect as Ta}from"react";var zt="guest_";function so(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:n,shouldGracefullyDegrade:i}=wa(X),{config:r,apiUrl:s}=Xe(),{mutateUserFlowState:p}=Me(),d=Ut(),{verifySDKInitiated:l}=Wt();function m(F){return`frigade-user-registered-${F}`}Ta(()=>{if(e&&!t){if(e.startsWith(zt))return;let F=m(e);localStorage.getItem(F)||(d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(F,"true"))}},[e,i,t]);let c=lr(F=>$(this,null,function*(){if(!l())return;let b={foreignId:e,properties:F};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(b)})),n(x=>T(T({},x),F)),p()}),[e,r,i,p]),g=lr((F,b)=>$(this,null,function*(){if(!l())return;let v={foreignId:e,events:[{event:F,properties:b}]};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(v)})),p()}),[e,r,p]),S=lr((F,b)=>$(this,null,function*(){if(l())if(b){let x=m(F);localStorage.setItem(x,"true"),o(F);let v={foreignId:F,properties:b};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(v)})),n(y=>T(T({},y),b)),p()}else o(F)}),[r,i,p]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g}}import{v4 as qp}from"uuid";import Re,{useEffect as Br,useState as un}from"react";import Ke,{useEffect as cr,useState as Ia}from"react";import Oo from"styled-components";import Fa from"react";import ka from"styled-components";var di="fr-",lo="cfr-";function a(e,t){let o=`${di}${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+" "+lo+e}return o}function B(e){if(!e.className||e.className.indexOf(lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(di)?"":`:not(${o.map(n=>`.${n}`).join(", ")})`}function Bo(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=>`${Bo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function ao(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Pa=ka.div`
2
+ var ia=Object.defineProperty,na=Object.defineProperties;var sa=Object.getOwnPropertyDescriptors;var ko=Object.getOwnPropertySymbols;var ri=Object.prototype.hasOwnProperty,ii=Object.prototype.propertyIsEnumerable;var oi=(e,t,o)=>t in e?ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,T=(e,t)=>{for(var o in t||(t={}))ri.call(t,o)&&oi(e,o,t[o]);if(ko)for(var o of ko(t))ii.call(t,o)&&oi(e,o,t[o]);return e},H=(e,t)=>na(e,sa(t));var ni=e=>typeof e=="symbol"?e:e+"",Ie=(e,t)=>{var o={};for(var n in e)ri.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&ko)for(var n of ko(e))t.indexOf(n)<0&&ii.call(e,n)&&(o[n]=e[n]);return o};var $=(e,t,o)=>new Promise((n,i)=>{var r=d=>{try{p(o.next(d))}catch(l){i(l)}},s=d=>{try{p(o.throw(d))}catch(l){i(l)}},p=d=>d.done?n(d.value):Promise.resolve(d.value).then(r,s);p((o=o.apply(e,t)).next())});import vt,{createContext as hd,useEffect as Ko,useState as je}from"react";import{ThemeProvider as Cd}from"styled-components";import Pt,{useContext as Kp,useEffect as xo,useState as Vo}from"react";import{useCallback as Tt,useContext as ya,useEffect as Sa}from"react";import rr,{useMemo as li}from"react";var si="1.35.40 ";var He="NOT_STARTED_STEP",Q="COMPLETED_FLOW",Po="ABORTED_FLOW",wt="STARTED_FLOW",$e="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",vo="STARTED_STEP";function Xe(){let{publicApiKey:e,userId:t,apiUrl:o}=rr.useContext(X);return{config:li(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":si,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:li(()=>`${o}/v1/public/`,[o])}}var la="frigade-last-call-at-",aa="frigade-last-call-data-";function Ut(){let{shouldGracefullyDegrade:e,readonly:t}=rr.useContext(X);return(o,n)=>$(this,null,function*(){if(t&&(n.method==="POST"||n.method==="PUT"||n.method==="DELETE"))return Mt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Mt();let i=la+o,r=aa+o;if(window&&window.localStorage&&n&&n.body&&n.method==="POST"){let p=window.localStorage.getItem(i),d=window.localStorage.getItem(r);if(p&&d&&d==n.body){let l=new Date(p);if(new Date().getTime()-l.getTime()<1e3)return Mt()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(r,n.body)}let s;try{s=yield fetch(o,n)}catch(p){return Mt(p)}return s?s.ok?s:Mt(s.statusText):Mt()})}function Mt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Wt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=rr.useContext(X);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as xa,useState as ai}from"react";import{useContext as da,useEffect as ca,useState as ma}from"react";import ua from"swr";import{useContext as pa}from"react";function Be(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:n,completedFlowsToKeepOpenDuringSession:i}=pa(X);function r(c,g=!1){var S;return(S=e[c])!=null?S:g}function s(c,g){t(S=>H(T({},S),{[c]:g}))}function p(c){t(g=>{let b=g,{[c]:S}=b,F=Ie(b,[ni(c)]);return T({},F)})}function d(c){i.includes(c)||n(g=>[...g,c])}function l(c){return i.includes(c)}function m(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:l}}import fa from"swr/immutable";import io from"core-js-pure/actual/structured-clone";function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function he(...e){let t=e.shift(),o=e.length===1?e[0]:he(...e);if(!ir(t)||!ir(o))throw new Error("deepmerge can only merge Objects");let n=io(t);return Object.entries(o).forEach(([i,r])=>{ir(r)?n[i]!==void 0?Object.assign(n,{[i]:he(n[i],io(r))}):Object.assign(n,{[i]:io(r)}):Array.isArray(r)?n[i]!==void 0?Object.assign(n,{[i]:[...n[i],...io(r)]}):Object.assign(n,{[i]:io(r)}):Object.assign(n,{[i]:r})}),n}var ga="unknown";function Me(){let{config:e,apiUrl:t}=Xe(),{publicApiKey:o,userId:n,organizationId:i,flows:r,setShouldGracefullyDegrade:s,readonly:p}=da(X),{resetOpenFlowState:d}=Be(),[l,m]=ma(!1),c={data:r.map(f=>({flowId:f.id,flowState:Q,lastStepId:null,userId:n,foreignUserId:n,stepStates:{},shouldTrigger:!1}))},g=f=>fetch(f,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${f}: ${P}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&r&&n?`${t}userFlowStates?foreignUserId=${encodeURIComponent(n)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,{data:F,isLoading:b,mutate:x,error:v}=p?fa(S,g):ua(S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=F==null?void 0:F.data;ca(()=>{!l&&!b&&y&&m(!0)},[y,l,b]);function E(f){return $(this,null,function*(){if(y&&!p){let P=y.find(N=>N.flowId===f);P&&P.flowState!==Q&&(P.flowState=Q),yield x(Promise.resolve(he(F,{data:y})),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function A(f,P,N){return $(this,null,function*(){if(y){let L=y.find(I=>I.flowId===f);L&&(L.stepStates[P]=N,L.flowState=wt),yield x(Promise.resolve(he(F,{data:y})),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function O(f,P,N){return $(this,null,function*(){if(y){let L=y.find(I=>I.flowId===f);L&&(L.lastStepId=P,L.stepStates[P]=N,L.flowState=wt),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function h(f){return $(this,null,function*(){if(y){let P=y.find(N=>N.flowId===f);P&&P.flowState!==$e&&(P.flowState=$e,P.lastStepId=ga,Object.keys(P.stepStates).forEach(N=>{P.stepStates[N].actionType=He,P.stepStates[N].createdAt=new Date().toISOString()}),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1}),d(f))}})}function w(f,P){return $(this,null,function*(){if(y){let N=y.find(L=>L.flowId===f);N&&N.stepStates[P]!==He&&(N.stepStates[P]=He),yield x(he(F,{data:y}),{optimisticData:he(F,{data:y}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:y,isLoadingUserFlowStateData:!l,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:E,optimisticallyMarkFlowNotStarted:h,optimisticallyMarkStepCompleted:A,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:O,error:v}}function no(){let{config:e,apiUrl:t}=Xe(),{userFlowStatesData:o,mutateUserFlowState:n}=Me(),{failedFlowResponses:i,setFailedFlowResponses:r,flowResponses:s,setFlowResponses:p}=xa(X),[d,l]=ai(new Set),[m,c]=ai(new Set),g=Ut();function S(x){let v=JSON.stringify(x);if(d.has(v))return null;d.add(v),l(d),m.add(x),c(m);let y=s==null?void 0:s.find(E=>E.flowSlug===x.flowSlug&&E.stepId===x.stepId&&E.actionType===x.actionType&&E.createdAt===x.createdAt);return g(`${t}flowResponses`,H(T({},e),{method:"POST",body:v})).then(E=>{E.status!==200&&E.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...i,x])):y||p(A=>[...A!=null?A:[],x])})}function F(x){return $(this,null,function*(){x.foreignUserId&&(x.actionType===wt||x.actionType===$e?yield S(x):x.actionType===Q?yield S(x):x.actionType===vo?yield S(x):x.actionType===Ge?yield S(x):x.actionType===Po?yield S(x):x.actionType===He&&(yield S(x)))})}function b(){let x=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let y in v.stepStates){let E=v.stepStates[y];x.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:E.stepId,actionType:E.actionType,data:{},createdAt:new Date(E.createdAt),blocked:E.blocked,hidden:E.hidden})}}),[...x,...s]}return{addResponse:F,setFlowResponses:p,getFlowResponses:b}}import ba from"swr";var ha=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,pi=e=>{let t=ha.exec(e);if(t===null)return null;let o=null;return t.forEach((n,i)=>{let r=Ca(n,"'","");r.startsWith("flow_")&&(o=r)}),o},Ca=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function nr(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var sr=(l=>(l.CHECKLIST="CHECKLIST",l.FORM="FORM",l.TOUR="TOUR",l.SUPPORT="SUPPORT",l.CUSTOM="CUSTOM",l.BANNER="BANNER",l.EMBEDDED_TIP="EMBEDDED_TIP",l.NPS_SURVEY="NPS_SURVEY",l.ANNOUNCEMENT="ANNOUNCEMENT",l))(sr||{});function R(){let{config:e,apiUrl:t}=Xe(),{flows:o,setFlows:n,userId:i,organizationId:r,publicApiKey:s,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:g,readonly:S}=ya(X),F={data:[]},{verifySDKInitiated:b}=Wt(),{addResponse:x,getFlowResponses:v}=no(),y=C=>fetch(C,e).then(u=>u.ok?u.json():(console.log(`Error fetching ${C} (${u.status}): ${u.statusText}. Will gracefully degrade and hide Frigade`),g(!0),F)).catch(u=>(console.log(`Error fetching ${C}: ${u}. Will gracefully degrade and hide Frigade`),g(!0),F)),{mutateUserFlowState:E,userFlowStatesData:A,isLoadingUserFlowStateData:O,optimisticallyMarkFlowCompleted:h,optimisticallyMarkFlowNotStarted:w,optimisticallyMarkStepCompleted:f,optimisticallyMarkStepNotStarted:P,optimisticallyMarkStepStarted:N}=Me(),{data:L,error:I,isLoading:q}=ba(s?`${t}flows${S?"?readonly=true":""}`:null,y,{keepPreviousData:!0});Sa(()=>{if(I){console.error(I);return}L&&L.data&&n(L.data)},[L,I]);function M(C){if(q)return null;let u=o.find(k=>k.slug===C);return!u&&o.length>0&&!O&&!q?(console.log(`Flow with id ${C} not found`),null):(u==null?void 0:u.active)===!1&&!S?null:u}function V(C){var W,ge;if(!M(C))return[];let u=M(C).data;return u?(u=le(u),((ge=(W=nr(u))==null?void 0:W.data)!=null?ge:[]).map(xe=>{let ro=J(xe);return H(T({handleSecondaryButtonClick:()=>{xe.skippable===!0&&G(C,xe.id,{skipped:!0})}},xe),{complete:ue(C,xe.id)===Ge||ro>=1,blocked:Oe(C,xe.id),hidden:we(C,xe.id),handlePrimaryButtonClick:()=>{(!xe.completionCriteria&&(xe.autoMarkCompleted||xe.autoMarkCompleted===void 0)||xe.completionCriteria&&xe.autoMarkCompleted===!0)&&G(C,xe.id)},progress:ro})}).filter(xe=>xe.hidden!==!0)):[]}function le(C){return C.replaceAll(/\${(.*?)}/g,(u,k)=>p[k]===void 0?"":String(p[k]).replace(/[\u00A0-\u9999<>\&]/g,function(W){return"&#"+W.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 pe(C){var k;if(!M(C))return[];let u=M(C).data;return u?(u=le(u),(k=JSON.parse(u))!=null?k:{}):[]}function _(C,u){d(k=>H(T({},k),{[C]:u}))}function se(C){!O&&!q&&C&&JSON.stringify(p)!=JSON.stringify(T(T({},p),C))&&Object.keys(C).forEach(u=>{_(u,C[u])})}let de=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:vo,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield N(C,u,W),x(W))}),[i,r,A]),be=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:He,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield P(C,u),x(W))}),[i,r,A]),G=Tt((C,u,k)=>$(this,null,function*(){if(!b())return;let W={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:u,actionType:Ge,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};Z(W)&&(yield f(C,u,W),x(W))}),[i,r,A]),Y=Tt((C,u)=>$(this,null,function*(){if(!b()||ye(C)===$e)return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:$e,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};yield w(C),Z(k)&&x(k)}),[i,r,A]),ee=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:wt,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&x(k)}),[i,r,A]),Ve=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:Q,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&(yield h(C),x(k))}),[i,r,A]),Le=Tt((C,u)=>$(this,null,function*(){if(!b())return;let k={foreignUserId:i,foreignUserGroupId:r!=null?r:null,flowSlug:C,stepId:"unknown",actionType:Po,data:u!=null?u:{},createdAt:new Date,blocked:!1,hidden:!1};Z(k)&&(yield h(C),x(k))}),[i,r,A]);function Z(C){var u;if(!A&&C.actionType===He)return!1;if(A){let k=A.find(W=>W.flowId===C.flowSlug);if(C.actionType===He&&(!(k!=null&&k.stepStates[C.stepId])||k.stepStates[C.stepId].actionType===He)||k&&((u=k.stepStates[C.stepId])==null?void 0:u.actionType)===C.actionType||k&&k.flowState===Q&&C.actionType===Q)return!1}return!0}function ue(C,u){let k=U(C,u);return O?null:k?k.actionType:He}function Oe(C,u){let k=U(C,u);return k?k.blocked:!1}function we(C,u){let k=U(C,u);return k?k.hidden:!1}function U(C,u){var W;if(O)return null;let k=A==null?void 0:A.find(ge=>ge.flowId===C);return!k||!k.stepStates[u]?null:(W=k.stepStates[u])!=null?W:null}function D(C){var k,W;if(O||!A)return null;if(ye(C)===$e)return(k=V(C)[0])!=null?k:null;let u=(W=A.find(ge=>ge.flowId===C))==null?void 0:W.lastStepId;return u?V(C).find(ge=>ge.id===u):null}function z(C){var W;let u=D(C);if(!u)return 0;let k=(W=V(C).findIndex(ge=>ge.id===u.id))!=null?W:0;return ue(C,u.id)===Ge&&k<V(C).length-1?k+1:k}function J(C){if(!C.completionCriteria)return;let u=pi(C.completionCriteria);if(u===null)return;let k=De(u),W=ot(u);return W===0?void 0:k/W}function ye(C){let u=A==null?void 0:A.find(k=>k.flowId===C);return u?u.flowState:null}function De(C){let u=V(C);return u.length===0?0:u.filter(W=>ue(C,W.id)===Ge).length}function ot(C){return V(C).length}function Ye(C){let u=o.find(k=>k.slug===C);return u?nr(u.data):null}function bt(C){if(S)return!1;if(O)return!0;if(C!=null&&C.targetingLogic&&A){let u=A.find(k=>k.flowId===C.slug);if(u)return u.shouldTrigger===!1}return!!(C!=null&&C.targetingLogic&&i&&i.startsWith("guest_"))}function Dt(C){return!bt(M(C))}function $t(){i&&E()}return{getFlow:M,getFlowData:Ye,isLoading:O||q,getStepStatus:ue,getFlowSteps:V,getCurrentStepIndex:z,markStepStarted:de,markStepCompleted:G,markFlowNotStarted:Y,markFlowStarted:ee,markFlowCompleted:Ve,markFlowAborted:Le,markStepNotStarted:be,getFlowStatus:ye,getNumberOfStepsCompleted:De,getNumberOfSteps:ot,targetingLogicShouldHideFlow:bt,setCustomVariable:_,updateCustomVariables:se,customVariables:p,getStepOptionalProgress:J,getFlowMetadata:pe,isStepBlocked:Oe,isStepHidden:we,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Dt,refresh:$t}}import{useCallback as lr,useContext as wa,useEffect as Ta}from"react";var zt="guest_";function so(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:n,shouldGracefullyDegrade:i}=wa(X),{config:r,apiUrl:s}=Xe(),{mutateUserFlowState:p}=Me(),d=Ut(),{verifySDKInitiated:l}=Wt();function m(F){return`frigade-user-registered-${F}`}Ta(()=>{if(e&&!t){if(e.startsWith(zt))return;let F=m(e);localStorage.getItem(F)||(d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(F,"true"))}},[e,i,t]);let c=lr(F=>$(this,null,function*(){if(!l())return;let b={foreignId:e,properties:F};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(b)})),n(x=>T(T({},x),F)),p()}),[e,r,i,p]),g=lr((F,b)=>$(this,null,function*(){if(!l())return;let v={foreignId:e,events:[{event:F,properties:b}]};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(v)})),p()}),[e,r,p]),S=lr((F,b)=>$(this,null,function*(){if(l())if(b){let x=m(F);localStorage.setItem(x,"true"),o(F);let v={foreignId:F,properties:b};yield d(`${s}users`,H(T({},r),{method:"POST",body:JSON.stringify(v)})),n(y=>T(T({},y),b)),p()}else o(F)}),[r,i,p]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g}}import{v4 as qp}from"uuid";import Re,{useEffect as Br,useState as un}from"react";import Ke,{useEffect as cr,useState as Ia}from"react";import Oo from"styled-components";import Fa from"react";import ka from"styled-components";var di="fr-",lo="cfr-";function a(e,t){let o=`${di}${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+" "+lo+e}return o}function B(e){if(!e.className||e.className.indexOf(lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(di)?"":`:not(${o.map(n=>`.${n}`).join(", ")})`}function Bo(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=>`${Bo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function ao(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Pa=ka.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  position: fixed;
@@ -1356,7 +1356,7 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${lo}${t}.${lo}${t} { ${Object.entries(o).map
1356
1356
  `}
1357
1357
  `;var Rs=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:n}=te(),{primaryCTAClickSideEffects:i}=ae();o=n(o);let{imageUri:r=null,subtitle:s=null,title:p=null,complete:d=!1,blocked:l=!1}=e,m=e.primaryButtonTitle||e.secondaryButtonTitle,c=()=>{i(e)};return Rt.createElement(Gs,{className:a("carouselCard",o),onClick:l?null:c,style:t,blocked:l,complete:d},r&&Rt.createElement(Ks,{className:a("carouselCardImage",o),src:r,alt:p,style:{opacity:d||l?.4:1}}),d&&Rt.createElement(Ys,{className:a("carouselCompletedPill",o)},Rt.createElement(Zs,{style:{color:"#108E0B"}},"Complete")),p&&Rt.createElement(Qs,{blocked:l,complete:d,className:a("carouselCardTitle",o)},p),s&&Rt.createElement(Ct.Quiet,{blocked:l,complete:d,className:a("carouselCardSubtitle",o)},s))};var ac=()=>me.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},me.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),me.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),me.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),el=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[n,i]=Ot(!1),[r,s]=Ot(!1);Wr(()=>{t===!0&&n===!1?i(!0):t===!1&&n===!0&&s(!0)},[t]);let p=()=>{i(!1),s(!1)},d=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return n?me.createElement(Hs,{style:d,reversed:r,onAnimationEnd:r?p:null},me.createElement(js,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},me.createElement(ac,null))):null},tl=({flowId:e,appearance:t,customVariables:o,className:n})=>{let i=lc(null),[r,s]=Ot(!1),[p,d]=Ot(!1),[l,m]=Ot(null),[c,g]=Ot([]),[S,F]=Ot(0),{isSmall:b}=$s(),x=b?1:3,{getFlowMetadata:v,getFlowSteps:y,getNumberOfStepsCompleted:E,updateCustomVariables:A,isLoading:O}=R();Wr(()=>{A(o)},[o,O]),Wr(()=>{if(O)return;let L=v(e),I=E(e),q=y(e);m(L),L.data!==null&&(g(q.sort((M,V)=>Number(M.complete)-Number(V.complete))),d(q.length>x),F(I))},[O]);let h=[];for(let L=0;L<c.length;L+=x)h.push(c.slice(L,L+x));let w=L=>{let I=L.target,q=I.scrollWidth-I.clientWidth,M=Math.ceil(I.scrollLeft);M>0&&r===!1&&s(!0),M===0&&r===!0&&s(!1),M<q&&p===!1&&d(!0),M===q&&p===!0&&d(!1)},f=(L=!0)=>{let I=L?1:-1;i.current!==null&&i.current.scrollBy({left:i.current.clientWidth*I,behavior:"smooth"})},P=null,N=L=>{P!==null?clearTimeout(P):w(L),P=setTimeout(()=>{w(L)},16)};return O?null:me.createElement(qs,{className:Te(a("carouselContainer",t),n)},me.createElement("div",{style:{display:"flex",justifyContent:b?"center":"space-between",marginBottom:20,flexWrap:b?"wrap":"nowrap",gap:b?16:20}},me.createElement("div",null,me.createElement(Xs,{className:a("carouselTitle",t)},l==null?void 0:l.title),me.createElement(Ct.Quiet,{className:a("carouselSubtitle",t)},l==null?void 0:l.subtitle)),me.createElement(Js,{className:a("progressWrapper",t)},me.createElement(We,{count:S,total:c.length,appearance:t}))),me.createElement("div",{style:{position:"relative"}},me.createElement(el,{show:r,onClick:()=>f(!1)}),me.createElement(el,{side:"right",show:p,onClick:f}),me.createElement(zs,{ref:i,onScroll:N},h.map((L,I)=>me.createElement(_s,{key:I,style:{flex:`0 0 calc(100% - ${c.length>x?36:0}px)`}},L.map((q,M)=>me.createElement(Rs,{key:M,stepData:q,style:{flex:c.length>x?`0 1 calc(100% / ${x} - 16px * 2 / ${x})`:1},appearance:t})))))),me.createElement(ie,{appearance:t}))};var zr=A=>{var O=A,{flowId:e,title:t,subtitle:o,style:n,initialSelectedStep:i,className:r,type:s="inline",onDismiss:p,visible:d,customVariables:l,onStepCompletion:m,onButtonClick:c,appearance:g,hideOnFlowCompletion:S,setVisible:F,customStepTypes:b,checklistStyle:x="default",autoExpandFirstIncompleteStep:v,autoExpandNextStep:y}=O,E=Ie(O,["flowId","title","subtitle","style","initialSelectedStep","className","type","onDismiss","visible","customVariables","onStepCompletion","onButtonClick","appearance","hideOnFlowCompletion","setVisible","customStepTypes","checklistStyle","autoExpandFirstIncompleteStep","autoExpandNextStep"]);let{getFlow:h,getFlowSteps:w,markStepCompleted:f,getStepStatus:P,getNumberOfStepsCompleted:N,isLoading:L,targetingLogicShouldHideFlow:I,updateCustomVariables:q,getFlowMetadata:M,isStepBlocked:V,getFlowStatus:le,hasActiveFullPageFlow:pe,setHasActiveFullPageFlow:_}=R(),{primaryCTAClickSideEffects:se,secondaryCTAClickSideEffects:de}=ae(),{getOpenFlowState:be,setOpenFlowState:G}=Be(),[Y,ee]=rl(i||0),[Ve,Le]=rl(!1),Z=d===void 0?be(e):d,ue=s==="modal",{mergeAppearanceWithDefault:Oe}=te();if(g=Oe(g),ol(()=>{q(l)},[l,L]),ol(()=>{d!==void 0&&(ue&&d===!0?_(!0):ue&&d===!1&&_(!1))},[d,F,pe]),L)return null;let we=h(e);if(!we||I(we))return null;let U=w(e);if(!U||S===!0&&le(e)===Q)return null;let D=M(e);if(D!=null&&D.title&&(t=D.title),D!=null&&D.subtitle&&(o=D.subtitle),!Ve&&i===void 0&&N(e)>0){let u=U.findIndex(k=>k.complete===!1);ee(u>-1?u:U.length-1),Le(!0)}function z(){if(Y+1>=U.length){ue&&G(e,!1);return}V(e,U[Y+1].id)||ee(Y+1)}function J(u,k,W){let ge=Y+1<U.length?U[Y+1]:null;c&&c(u,Y,k,ge)===!0&&ue&&Ye(),m&&m(u,W,ge),!m&&!c&&(u.primaryButtonUri||u.secondaryButtonUri)&&ue&&Ye()}function ye(){return U.map((u,k)=>H(T({},u),{handleSecondaryButtonClick:()=>{z(),de(u),u.skippable===!0&&f(e,u.id,{skipped:!0}),J(u,"secondary",k)},handlePrimaryButtonClick:()=>{(!u.completionCriteria&&(u.autoMarkCompleted||u.autoMarkCompleted===void 0)||u.completionCriteria&&u.autoMarkCompleted===!0)&&(f(e,u.id),z()),J(u,"primary",k),se(u),P(e,u.id)===Ge&&z()}}))}function De(){return Ce.createElement(ie,{appearance:g})}let ot={steps:ye(),title:t,subtitle:o,primaryColor:g.theme.colorPrimary,appearance:g,customStepTypes:b,type:s,className:r,autoExpandFirstIncompleteStep:v,autoExpandNextStep:y};function Ye(){G(e,!1),p&&p(),F&&F(!1)}function bt(){return Ce.createElement(Ce.Fragment,null,Ce.createElement(De,null),Ce.createElement(tl,{flowId:e,appearance:g,customVariables:l,className:r}))}function Dt(){return Ce.createElement(Ce.Fragment,null,Ce.createElement(De,null),Ce.createElement(Ur,T({visible:Z,onClose:()=>{Ye()},selectedStep:Y,setSelectedStep:ee,autoExpandNextStep:!0,appearance:g},ot)))}function $t(){var W;let u=E.guideFlowId,k;return u&&h(u)&&(k=w(u)),Ce.createElement(Ce.Fragment,null,Ce.createElement(De,null),Ce.createElement(Mr,T({visible:Z,stepsTitle:D.stepsTitle?D.stepsTitle:"Your quick start guide",onClose:()=>{Ye()},selectedStep:Y,setSelectedStep:ee,guideData:k,guideTitle:(W=E.guideTitle)!=null?W:"Guide",appearance:g,title:t,subtitle:o,onGuideButtonClick:ge=>{J(ge,"link",0)},customStepTypes:b},ot)))}function C(){let u=Ce.createElement(Dr,T({flowId:e,style:n,selectedStep:Y,setSelectedStep:ee,appearance:g,type:s},ot));return ue?Ce.createElement(Je,{onClose:()=>{Ye()},visible:Z,appearance:g,style:{paddingTop:"0px",padding:"12px",paddingLeft:0}},Ce.createElement(De,null),u):Ce.createElement(Ce.Fragment,null,Ce.createElement(De,null),u)}switch(x){case"condensed":return Dt();case"with-guide":return $t();case"default":return C();case"carousel":return bt();default:return C()}};var dc=e=>pc.createElement(zr,T({type:"inline"},e));import St,{useEffect as cc}from"react";import et from"react";import Ro from"styled-components";var il=Ro.div`
1358
1358
  border: 1px solid ${e=>e.appearance.theme.colorBorder};
1359
- border-radius: 8px;
1359
+ border-radius: ${e=>e.appearance.theme.borderRadius}px;
1360
1360
  padding: 10px 12px 10px 12px;
1361
1361
  min-width: 160px;
1362
1362
  cursor: pointer;
@@ -1394,9 +1394,8 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${lo}${t}.${lo}${t} { ${Object.entries(o).map
1394
1394
  box-sizing: border-box;
1395
1395
  align-items: center;
1396
1396
  background-color: ${e=>e.appearance.theme.colorBackground};
1397
- border-width: 1px;
1398
- border-color: ${e=>e.appearance.theme.colorPrimary};
1399
- border-radius: 12px;
1397
+ border: 1px solid ${e=>e.appearance.theme.colorBorder};
1398
+ border-radius: ${e=>e.appearance.theme.borderRadius}px;
1400
1399
  `,dl=To.div`
1401
1400
  ${e=>B(e)} {
1402
1401
  display: flex;