@frigade/react 1.38.37 → 1.38.38

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/dist/index.mjs CHANGED
@@ -11,7 +11,7 @@ import { z } from 'zod';
11
11
  import mp from 'dompurify';
12
12
  import { compose, border, color, shadow, space, typography, system, variant, get } from 'styled-system';
13
13
 
14
- var la=Object.defineProperty,aa=Object.defineProperties;var pa=Object.getOwnPropertyDescriptors;var Ho=Object.getOwnPropertySymbols;var gi=Object.prototype.hasOwnProperty,hi=Object.prototype.propertyIsEnumerable;var fi=(e,t,o)=>t in e?la(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,w=(e,t)=>{for(var o in t||(t={}))gi.call(t,o)&&fi(e,o,t[o]);if(Ho)for(var o of Ho(t))hi.call(t,o)&&fi(e,o,t[o]);return e},j=(e,t)=>aa(e,pa(t));var xi=e=>typeof e=="symbol"?e:e+"",Me=(e,t)=>{var o={};for(var i in e)gi.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Ho)for(var i of Ho(e))t.indexOf(i)<0&&hi.call(e,i)&&(o[i]=e[i]);return o};var $=(e,t,o)=>new Promise((i,n)=>{var r=d=>{try{p(o.next(d));}catch(s){n(s);}},l=d=>{try{p(o.throw(d));}catch(s){n(s);}},p=d=>d.done?i(d.value):Promise.resolve(d.value).then(r,l);p((o=o.apply(e,t)).next());});var Ci="1.38.37";var lt="NOT_STARTED_STEP",de="COMPLETED_FLOW",Ot="SKIPPED_FLOW",Lt="STARTED_FLOW",_e="NOT_STARTED_FLOW",ze="COMPLETED_STEP",So="STARTED_STEP";function et(){let{publicApiKey:e,userId:t,apiUrl:o}=q__default.useContext(se);return {config:useMemo(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Ci,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:useMemo(()=>`${o}/v1/public/`,[o])}}var da="frigade-last-call-at-",ca="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=q__default.useContext(se);return (o,i)=>$(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Kt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Kt();let n=da+o,r=ca+o;if(typeof window!="undefined"&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(n),d=window.localStorage.getItem(r);if(p&&d&&d==i.body){let s=new Date(p);if(new Date().getTime()-s.getTime()<1e3)return Kt()}typeof window!="undefined"&&(window.localStorage.setItem(n,new Date().toISOString()),window.localStorage.setItem(r,i.body));}let l;try{l=yield fetch(o,i);}catch(p){return Kt(p)}return l?l.ok?l:Kt(l.statusText):Kt()})}function Kt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Yt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=q__default.useContext(se);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return {verifySDKInitiated:o}}function ma(e){return new Promise(t=>setTimeout(t,e))}function bo(e,t,o,i={}){function n(r){let l=o-1;if(!l)throw r;return ma(t).then(()=>bo(e,t,l,i))}return fetch(e,i).catch(n)}function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=useContext(se);function r(c,f=!1){var b;return (b=e[c])!=null?b:f}function l(c,f){t(b=>j(w({},b),{[c]:f}));}function p(c){t(f=>{let C=f,k=Me(C,[xi(c)]);return w({},k)});}function d(c){n.includes(c)||i(f=>[...f,c]);}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([f,b])=>b&&f!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}function Tr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ue(...e){let t=e.shift(),o=e.length===1?e[0]:ue(...e);if(!Tr(t)||!Tr(o))throw new Error("deepmerge can only merge Objects");let i=wo(t);return Object.entries(o).forEach(([n,r])=>{Tr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],wo(r))}):Object.assign(i,{[n]:wo(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...wo(r)]}):Object.assign(i,{[n]:wo(r)}):Object.assign(i,{[n]:r});}),i}function Jt(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var ya="unknown";function We(){let{config:e,apiUrl:t}=et(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=useContext(se),{resetOpenFlowState:d}=Ne(),[s,m]=useState(!1),c={data:r.map(I=>({flowId:I.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=I=>bo(I,100,2,e).then(E=>{if(E.ok)return E.json();throw new Error("Failed to fetch user flow states")}).catch(E=>(console.error(`Error fetching ${I}: ${E}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:k,isLoading:C,mutate:x,error:B}=p?Ca(b,f):xa(b,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=k==null?void 0:k.data;useEffect(()=>{!s&&!C&&y&&m(!0);},[y,s,C]);function N(I){return $(this,null,function*(){if(y&&!p){let E=y.find(v=>v.flowId===I);E&&E.flowState!==de&&(E.flowState=de),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}function D(I){return $(this,null,function*(){if(y&&!p){let E=y.find(v=>v.flowId===I);E&&E.flowState!==Ot&&(E.flowState=Ot),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}function F(I,E,v){return $(this,null,function*(){var L,U,R;if(y){let z=y.find(J=>J.flowId===I);if(z){let J=r.find(re=>re.slug===I),X=Jt(J==null?void 0:J.data),O=(U=(L=X==null?void 0:X.steps)!=null?L:X==null?void 0:X.data)!=null?U:[],Y=O.findIndex(re=>re.id===E),K=O&&O.length>Y+1?O[Y+1]:null;K&&((R=z.stepStates[K.id])!=null&&R.hidden||(z.lastStepId=K.id)),z.stepStates[E]=v,z.flowState=Lt;}p||(yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}));}})}function g(I,E,v){return $(this,null,function*(){if(y){let L=y.find(U=>U.flowId===I);L&&(L.lastStepId=E,L.stepStates[E]=v,L.flowState=Lt),p||(yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}));}})}function T(I){return $(this,null,function*(){if(y){let E=y.find(v=>v.flowId===I);E&&E.flowState!==_e&&(E.flowState=_e,E.lastStepId=ya,Object.keys(E.stepStates).forEach(v=>{E.stepStates[v].actionType=lt,E.stepStates[v].createdAt=new Date().toISOString();}),yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}),d(I));}})}function h(I,E,v){return $(this,null,function*(){if(y){let L=y.find(U=>U.flowId===I);L&&(L.stepStates[E]=v),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:y,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowSkipped:D,optimisticallyMarkFlowNotStarted:T,optimisticallyMarkStepCompleted:F,optimisticallyMarkStepNotStarted:h,optimisticallyMarkStepStarted:g,error:B}}function To(){let{config:e,apiUrl:t}=et(),{userFlowStatesData:o,mutateUserFlowState:i}=We(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=useContext(se),[d,s]=useState(new Set),[m,c]=useState(new Set),f=qt();function b(x){let B=JSON.stringify(x);if(d.has(B))return null;d.add(B),s(d),m.add(x),c(m);let y=l==null?void 0:l.find(N=>N.flowSlug===x.flowSlug&&N.stepId===x.stepId&&N.actionType===x.actionType&&N.createdAt===x.createdAt);return f(`${t}flowResponses`,j(w({},e),{method:"POST",body:B})).then(N=>{N.status!==200&&N.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):y||p(D=>[...D!=null?D:[],x]);})}function k(x){return $(this,null,function*(){x.foreignUserId&&(x.actionType===Lt||x.actionType===_e?yield b(x):x.actionType===de?yield b(x):x.actionType===So?yield b(x):x.actionType===ze?yield b(x):x.actionType===Ot?yield b(x):x.actionType===lt&&(yield b(x)));})}function C(){let x=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let y in B.stepStates){let N=B.stepStates[y];x.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:N.stepId,actionType:N.actionType,data:{},createdAt:new Date(N.createdAt),blocked:N.blocked,hidden:N.hidden});}}),[...x,...l]}return {addResponse:k,setFlowResponses:p,getFlowResponses:C}}var ba=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,bi=e=>{let t=ba.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=wa(i,"'","");r.startsWith("flow_")&&(o=r);}),o},wa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};var Fr=(s=>(s.CHECKLIST="CHECKLIST",s.FORM="FORM",s.TOUR="TOUR",s.SUPPORT="SUPPORT",s.CUSTOM="CUSTOM",s.BANNER="BANNER",s.EMBEDDED_TIP="EMBEDDED_TIP",s.NPS_SURVEY="NPS_SURVEY",s.ANNOUNCEMENT="ANNOUNCEMENT",s))(Fr||{});function le(){let{config:e,apiUrl:t}=et(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:f,shouldGracefullyDegrade:b,readonly:k,flowDataOverrides:C,debug:x}=useContext(se),B={data:[]},{verifySDKInitiated:y}=Yt(),{addResponse:N,getFlowResponses:D}=To(),F=u=>bo(u,100,2,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${u} (${S.status}): ${S.statusText}. Will gracefully degrade and hide Frigade`),f(!0),B)).catch(S=>(console.log(`Error fetching ${u}: ${S}. Will gracefully degrade and hide Frigade`),f(!0),B)),{mutateUserFlowState:g,userFlowStatesData:T,isLoadingUserFlowStateData:h,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowSkipped:E,optimisticallyMarkFlowNotStarted:v,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:U,optimisticallyMarkStepStarted:R}=We(),{data:z,error:J,isLoading:X}=xa(l?`${t}flows${k?"?readonly=true":""}`:null,F,{keepPreviousData:!0});useEffect(()=>{if(J){console.error(J);return}z&&z.data&&i(z.data);},[z,J]);function O(u){if(X)return null;let S=o.find(P=>P.slug===u);return !S&&o.length>0&&!h&&!X?(x&&console.log(`Flow with id ${u} not found`),null):(S&&C&&C[u]&&(S.data=C[u]),(S==null?void 0:S.active)===!1&&!k?null:S)}function Y(u){var V,Ie,At,It,Nt;if(!O(u))return [];let S=(V=O(u))==null?void 0:V.data;return S?(S=K(S),((Nt=(It=(Ie=Jt(S))==null?void 0:Ie.data)!=null?It:(At=Jt(S))==null?void 0:At.steps)!=null?Nt:[]).map(ge=>{let yo=vt(ge);return j(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&ie(u,ge.id,{skipped:!0});}},ge),{complete:G(u,ge.id)===ze||yo>=1,started:G(u,ge.id)===So||G(u,ge.id)===ze,currentlyActive:T==null?void 0:T.some(te=>te.flowId==u&&te.lastStepId===ge.id),blocked:ne(u,ge.id),hidden:M(u,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&ie(u,ge.id);},progress:yo})}).filter(ge=>ge.hidden!==!0)):[]}function K(u){return u.replaceAll(/\${(.*?)}/g,(S,P)=>p[P]===void 0?"":String(p[P]).replace(/[\u00A0-\u9999<>\&]/g,function(V){return "&#"+V.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 re(u){var P;if(!O(u))return [];let S=O(u).data;return S?(S=K(S),(P=JSON.parse(S))!=null?P:{}):[]}function ye(u,S){d(P=>j(w({},P),{[u]:S}));}function Pe(u){!h&&!X&&u&&JSON.stringify(p)!=JSON.stringify(w(w({},p),u))&&Object.keys(u).forEach(S=>{ye(S,u[S]);});}let oe=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:So,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield R(u,S,V),N(V));}),[n,r,T]),_=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:lt,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield U(u,S,V),N(V));}),[n,r,T]),ie=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:ze,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield L(u,S,V),N(V));}),[n,r,T]),ve=useCallback((u,S)=>$(this,null,function*(){if(!y()||qe(u)===_e)return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:_e,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};yield v(u),W(P)&&N(P);}),[n,r,T]),Ke=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:Lt,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&N(P);}),[n,r,T]),Be=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:de,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&(yield I(u),N(P));}),[n,r,T]),xe=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:Ot,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&(yield E(u),N(P));}),[n,r,T]);function W(u){var S;if(T===void 0)return !1;if(T){let P=T.find(V=>V.flowId===u.flowSlug);if(u.actionType===lt&&(!(P!=null&&P.stepStates[u.stepId])||P.stepStates[u.stepId].actionType===lt))return !1;if(P&&((S=P.stepStates[u.stepId])==null?void 0:S.actionType)===u.actionType){if(u.actionType===ze&&(!u.data||JSON.stringify(u.data)===JSON.stringify({})))return !1;let V=Object.keys(P.stepStates).sort((Ie,At)=>{let It=new Date(P.stepStates[Ie].createdAt),Nt=new Date(P.stepStates[At].createdAt);return It.getTime()-Nt.getTime()});if(P.stepStates[V[V.length-1]].actionType===u.actionType&&u.stepId===V[V.length-1])return !1}if(P&&P.flowState===de&&u.actionType===de)return !1}return !0}function G(u,S){let P=Q(u,S);return h?null:P?P.actionType:lt}function ne(u,S){let P=Q(u,S);return P?P.blocked:!1}function M(u,S){let P=Q(u,S);return P?P.hidden:!1}function Q(u,S){var V;if(h)return null;let P=T==null?void 0:T.find(Ie=>Ie.flowId===u);return !P||!P.stepStates[S]?null:(V=P.stepStates[S])!=null?V:null}function Te(u){var P,V;if(h||!T)return null;if(qe(u)===_e)return (P=Y(u)[0])!=null?P:null;let S=(V=T.find(Ie=>Ie.flowId===u))==null?void 0:V.lastStepId;return S?Y(u).find(Ie=>Ie.id===S):null}function Xe(u){var V;let S=Te(u);if(!S)return 0;let P=(V=Y(u).findIndex(Ie=>Ie.id===S.id))!=null?V:0;return G(u,S.id)===ze&&P<Y(u).length-1?P+1:P}function vt(u){if(!u.completionCriteria)return;let S=bi(u.completionCriteria);if(S===null)return;let P=st(S),V=Qe(S);return V===0?void 0:P/V}function qe(u){let S=T==null?void 0:T.find(P=>P.flowId===u);return S?S.flowState:null}function st(u){let S=Y(u);return S.length===0?0:S.filter(V=>G(u,V.id)===ze).length}function Qe(u){return Y(u).length}function jt(u){let S=o.find(P=>P.slug===u);return S?(C&&C[u]&&(S.data=C[u]),Jt(S.data)):null}function Bt(u){if(k)return !1;if(h||b)return !0;if(u!=null&&u.targetingLogic&&T){let S=T.find(P=>P.flowId===u.slug);if(S)return S.shouldTrigger===!1}return !!(u!=null&&u.targetingLogic&&n&&n.startsWith("guest_"))}function Gt(u){let S=O(u);return !S||S.active===!1?!1:!Bt(O(u))}function Et(){n&&g();}function ee(){return o}return {getAllFlows:ee,getFlow:O,getFlowData:jt,isLoading:h||X,getStepStatus:G,getFlowSteps:Y,getCurrentStepIndex:Xe,markStepStarted:oe,markStepCompleted:ie,markFlowNotStarted:ve,markFlowStarted:Ke,markFlowCompleted:Be,markFlowSkipped:xe,markStepNotStarted:_,getFlowStatus:qe,getNumberOfStepsCompleted:st,getNumberOfSteps:Qe,targetingLogicShouldHideFlow:Bt,setCustomVariable:ye,updateCustomVariables:Pe,customVariables:p,getStepOptionalProgress:vt,getFlowMetadata:re,isStepBlocked:ne,isStepHidden:M,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Gt,refresh:Et,isDegraded:b}}var Xt="guest_";function Fo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=useContext(se),{config:r,apiUrl:l}=et(),{mutateUserFlowState:p}=We(),d=qt(),{verifySDKInitiated:s}=Yt();function m(C){return `frigade-user-registered-${C}`}useEffect(()=>{if(e&&!t){if(e.startsWith(Xt))return;let C=m(e);localStorage.getItem(C)||(d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(C,"true"));}},[e,n,t]);let c=useCallback(C=>$(this,null,function*(){if(!s())return;let x={foreignId:e,properties:C};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(x)})),i(B=>w(w({},B),C)),p();}),[e,r,n,p]),f=useCallback((C,x)=>$(this,null,function*(){if(!s())return;let y={foreignId:e,events:[{event:C,properties:x}]};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(y)})),p();}),[e,r,p]),b=useCallback((C,x)=>$(this,null,function*(){if(s())if(x&&Object.keys(x).length>0){let B=m(C);localStorage.setItem(B,"true"),o(C);let y={foreignId:C,properties:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(y)})),i(N=>w(w({},N),x)),p();}else o(C);}),[r,n,p]),k=useCallback(C=>$(this,null,function*(){if(!s())return;let x=typeof window!="undefined"?localStorage.getItem(Qt):null;if(!x)return;let B={foreignId:C,linkGuestId:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(B)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:f,linkExistingGuestSessionToUser:k}}var wi="fr-",ko="cfr-";function a(e,t){let o=`${wi}${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+" "+ko+e}return o}function A(e){if(!e.className||e.className.indexOf(ko)!==-1)return "";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(wi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function jo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ee(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${jo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Fe(...e){return e.filter(Boolean).join(" ")}function Po(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Aa=Ce.div`
14
+ var la=Object.defineProperty,aa=Object.defineProperties;var pa=Object.getOwnPropertyDescriptors;var Ho=Object.getOwnPropertySymbols;var gi=Object.prototype.hasOwnProperty,hi=Object.prototype.propertyIsEnumerable;var fi=(e,t,o)=>t in e?la(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,w=(e,t)=>{for(var o in t||(t={}))gi.call(t,o)&&fi(e,o,t[o]);if(Ho)for(var o of Ho(t))hi.call(t,o)&&fi(e,o,t[o]);return e},j=(e,t)=>aa(e,pa(t));var xi=e=>typeof e=="symbol"?e:e+"",Me=(e,t)=>{var o={};for(var i in e)gi.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Ho)for(var i of Ho(e))t.indexOf(i)<0&&hi.call(e,i)&&(o[i]=e[i]);return o};var $=(e,t,o)=>new Promise((i,n)=>{var r=d=>{try{p(o.next(d));}catch(s){n(s);}},l=d=>{try{p(o.throw(d));}catch(s){n(s);}},p=d=>d.done?i(d.value):Promise.resolve(d.value).then(r,l);p((o=o.apply(e,t)).next());});var Ci="1.38.11";var lt="NOT_STARTED_STEP",de="COMPLETED_FLOW",Ot="SKIPPED_FLOW",Lt="STARTED_FLOW",_e="NOT_STARTED_FLOW",ze="COMPLETED_STEP",So="STARTED_STEP";function et(){let{publicApiKey:e,userId:t,apiUrl:o}=q__default.useContext(se);return {config:useMemo(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Ci,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:useMemo(()=>`${o}/v1/public/`,[o])}}var da="frigade-last-call-at-",ca="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=q__default.useContext(se);return (o,i)=>$(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Kt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Kt();let n=da+o,r=ca+o;if(typeof window!="undefined"&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(n),d=window.localStorage.getItem(r);if(p&&d&&d==i.body){let s=new Date(p);if(new Date().getTime()-s.getTime()<1e3)return Kt()}typeof window!="undefined"&&(window.localStorage.setItem(n,new Date().toISOString()),window.localStorage.setItem(r,i.body));}let l;try{l=yield fetch(o,i);}catch(p){return Kt(p)}return l?l.ok?l:Kt(l.statusText):Kt()})}function Kt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Yt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=q__default.useContext(se);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return {verifySDKInitiated:o}}function ma(e){return new Promise(t=>setTimeout(t,e))}function bo(e,t,o,i={}){function n(r){let l=o-1;if(!l)throw r;return ma(t).then(()=>bo(e,t,l,i))}return fetch(e,i).catch(n)}function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=useContext(se);function r(c,f=!1){var b;return (b=e[c])!=null?b:f}function l(c,f){t(b=>j(w({},b),{[c]:f}));}function p(c){t(f=>{let C=f,k=Me(C,[xi(c)]);return w({},k)});}function d(c){n.includes(c)||i(f=>[...f,c]);}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([f,b])=>b&&f!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}function Tr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ue(...e){let t=e.shift(),o=e.length===1?e[0]:ue(...e);if(!Tr(t)||!Tr(o))throw new Error("deepmerge can only merge Objects");let i=wo(t);return Object.entries(o).forEach(([n,r])=>{Tr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],wo(r))}):Object.assign(i,{[n]:wo(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...wo(r)]}):Object.assign(i,{[n]:wo(r)}):Object.assign(i,{[n]:r});}),i}function Jt(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var ya="unknown";function We(){let{config:e,apiUrl:t}=et(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=useContext(se),{resetOpenFlowState:d}=Ne(),[s,m]=useState(!1),c={data:r.map(I=>({flowId:I.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=I=>bo(I,100,2,e).then(E=>{if(E.ok)return E.json();throw new Error("Failed to fetch user flow states")}).catch(E=>(console.error(`Error fetching ${I}: ${E}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:k,isLoading:C,mutate:x,error:B}=p?Ca(b,f):xa(b,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=k==null?void 0:k.data;useEffect(()=>{!s&&!C&&y&&m(!0);},[y,s,C]);function N(I){return $(this,null,function*(){if(y&&!p){let E=y.find(v=>v.flowId===I);E&&E.flowState!==de&&(E.flowState=de),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}function D(I){return $(this,null,function*(){if(y&&!p){let E=y.find(v=>v.flowId===I);E&&E.flowState!==Ot&&(E.flowState=Ot),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}function F(I,E,v){return $(this,null,function*(){var L,U,R;if(y){let z=y.find(J=>J.flowId===I);if(z){let J=r.find(re=>re.slug===I),X=Jt(J==null?void 0:J.data),O=(U=(L=X==null?void 0:X.steps)!=null?L:X==null?void 0:X.data)!=null?U:[],Y=O.findIndex(re=>re.id===E),K=O&&O.length>Y+1?O[Y+1]:null;K&&((R=z.stepStates[K.id])!=null&&R.hidden||(z.lastStepId=K.id)),z.stepStates[E]=v,z.flowState=Lt;}p||(yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}));}})}function g(I,E,v){return $(this,null,function*(){if(y){let L=y.find(U=>U.flowId===I);L&&(L.lastStepId=E,L.stepStates[E]=v,L.flowState=Lt),p||(yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}));}})}function T(I){return $(this,null,function*(){if(y){let E=y.find(v=>v.flowId===I);E&&E.flowState!==_e&&(E.flowState=_e,E.lastStepId=ya,Object.keys(E.stepStates).forEach(v=>{E.stepStates[v].actionType=lt,E.stepStates[v].createdAt=new Date().toISOString();}),yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}),d(I));}})}function h(I,E,v){return $(this,null,function*(){if(y){let L=y.find(U=>U.flowId===I);L&&(L.stepStates[E]=v),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:y,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowSkipped:D,optimisticallyMarkFlowNotStarted:T,optimisticallyMarkStepCompleted:F,optimisticallyMarkStepNotStarted:h,optimisticallyMarkStepStarted:g,error:B}}function To(){let{config:e,apiUrl:t}=et(),{userFlowStatesData:o,mutateUserFlowState:i}=We(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=useContext(se),[d,s]=useState(new Set),[m,c]=useState(new Set),f=qt();function b(x){let B=JSON.stringify(x);if(d.has(B))return null;d.add(B),s(d),m.add(x),c(m);let y=l==null?void 0:l.find(N=>N.flowSlug===x.flowSlug&&N.stepId===x.stepId&&N.actionType===x.actionType&&N.createdAt===x.createdAt);return f(`${t}flowResponses`,j(w({},e),{method:"POST",body:B})).then(N=>{N.status!==200&&N.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):y||p(D=>[...D!=null?D:[],x]);})}function k(x){return $(this,null,function*(){x.foreignUserId&&(x.actionType===Lt||x.actionType===_e?yield b(x):x.actionType===de?yield b(x):x.actionType===So?yield b(x):x.actionType===ze?yield b(x):x.actionType===Ot?yield b(x):x.actionType===lt&&(yield b(x)));})}function C(){let x=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let y in B.stepStates){let N=B.stepStates[y];x.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:N.stepId,actionType:N.actionType,data:{},createdAt:new Date(N.createdAt),blocked:N.blocked,hidden:N.hidden});}}),[...x,...l]}return {addResponse:k,setFlowResponses:p,getFlowResponses:C}}var ba=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,bi=e=>{let t=ba.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=wa(i,"'","");r.startsWith("flow_")&&(o=r);}),o},wa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};var Fr=(s=>(s.CHECKLIST="CHECKLIST",s.FORM="FORM",s.TOUR="TOUR",s.SUPPORT="SUPPORT",s.CUSTOM="CUSTOM",s.BANNER="BANNER",s.EMBEDDED_TIP="EMBEDDED_TIP",s.NPS_SURVEY="NPS_SURVEY",s.ANNOUNCEMENT="ANNOUNCEMENT",s))(Fr||{});function le(){let{config:e,apiUrl:t}=et(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:f,shouldGracefullyDegrade:b,readonly:k,flowDataOverrides:C,debug:x}=useContext(se),B={data:[]},{verifySDKInitiated:y}=Yt(),{addResponse:N,getFlowResponses:D}=To(),F=u=>bo(u,100,2,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${u} (${S.status}): ${S.statusText}. Will gracefully degrade and hide Frigade`),f(!0),B)).catch(S=>(console.log(`Error fetching ${u}: ${S}. Will gracefully degrade and hide Frigade`),f(!0),B)),{mutateUserFlowState:g,userFlowStatesData:T,isLoadingUserFlowStateData:h,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowSkipped:E,optimisticallyMarkFlowNotStarted:v,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:U,optimisticallyMarkStepStarted:R}=We(),{data:z,error:J,isLoading:X}=xa(l?`${t}flows${k?"?readonly=true":""}`:null,F,{keepPreviousData:!0});useEffect(()=>{if(J){console.error(J);return}z&&z.data&&i(z.data);},[z,J]);function O(u){if(X)return null;let S=o.find(P=>P.slug===u);return !S&&o.length>0&&!h&&!X?(x&&console.log(`Flow with id ${u} not found`),null):(S&&C&&C[u]&&(S.data=C[u]),(S==null?void 0:S.active)===!1&&!k?null:S)}function Y(u){var V,Ie,At,It,Nt;if(!O(u))return [];let S=(V=O(u))==null?void 0:V.data;return S?(S=K(S),((Nt=(It=(Ie=Jt(S))==null?void 0:Ie.data)!=null?It:(At=Jt(S))==null?void 0:At.steps)!=null?Nt:[]).map(ge=>{let yo=vt(ge);return j(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&ie(u,ge.id,{skipped:!0});}},ge),{complete:G(u,ge.id)===ze||yo>=1,started:G(u,ge.id)===So||G(u,ge.id)===ze,currentlyActive:T==null?void 0:T.some(te=>te.flowId==u&&te.lastStepId===ge.id),blocked:ne(u,ge.id),hidden:M(u,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&ie(u,ge.id);},progress:yo})}).filter(ge=>ge.hidden!==!0)):[]}function K(u){return u.replaceAll(/\${(.*?)}/g,(S,P)=>p[P]===void 0?"":String(p[P]).replace(/[\u00A0-\u9999<>\&]/g,function(V){return "&#"+V.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 re(u){var P;if(!O(u))return [];let S=O(u).data;return S?(S=K(S),(P=JSON.parse(S))!=null?P:{}):[]}function ye(u,S){d(P=>j(w({},P),{[u]:S}));}function Pe(u){!h&&!X&&u&&JSON.stringify(p)!=JSON.stringify(w(w({},p),u))&&Object.keys(u).forEach(S=>{ye(S,u[S]);});}let oe=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:So,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield R(u,S,V),N(V));}),[n,r,T]),_=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:lt,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield U(u,S,V),N(V));}),[n,r,T]),ie=useCallback((u,S,P)=>$(this,null,function*(){if(!y())return;let V={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:S,actionType:ze,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};W(V)&&(yield L(u,S,V),N(V));}),[n,r,T]),ve=useCallback((u,S)=>$(this,null,function*(){if(!y()||qe(u)===_e)return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:_e,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};yield v(u),W(P)&&N(P);}),[n,r,T]),Ke=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:Lt,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&N(P);}),[n,r,T]),Be=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:de,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&(yield I(u),N(P));}),[n,r,T]),xe=useCallback((u,S)=>$(this,null,function*(){if(!y())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:u,stepId:"unknown",actionType:Ot,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};W(P)&&(yield E(u),N(P));}),[n,r,T]);function W(u){var S;if(T===void 0)return !1;if(T){let P=T.find(V=>V.flowId===u.flowSlug);if(u.actionType===lt&&(!(P!=null&&P.stepStates[u.stepId])||P.stepStates[u.stepId].actionType===lt))return !1;if(P&&((S=P.stepStates[u.stepId])==null?void 0:S.actionType)===u.actionType){if(u.actionType===ze&&(!u.data||JSON.stringify(u.data)===JSON.stringify({})))return !1;let V=Object.keys(P.stepStates).sort((Ie,At)=>{let It=new Date(P.stepStates[Ie].createdAt),Nt=new Date(P.stepStates[At].createdAt);return It.getTime()-Nt.getTime()});if(P.stepStates[V[V.length-1]].actionType===u.actionType&&u.stepId===V[V.length-1])return !1}if(P&&P.flowState===de&&u.actionType===de)return !1}return !0}function G(u,S){let P=Q(u,S);return h?null:P?P.actionType:lt}function ne(u,S){let P=Q(u,S);return P?P.blocked:!1}function M(u,S){let P=Q(u,S);return P?P.hidden:!1}function Q(u,S){var V;if(h)return null;let P=T==null?void 0:T.find(Ie=>Ie.flowId===u);return !P||!P.stepStates[S]?null:(V=P.stepStates[S])!=null?V:null}function Te(u){var P,V;if(h||!T)return null;if(qe(u)===_e)return (P=Y(u)[0])!=null?P:null;let S=(V=T.find(Ie=>Ie.flowId===u))==null?void 0:V.lastStepId;return S?Y(u).find(Ie=>Ie.id===S):null}function Xe(u){var V;let S=Te(u);if(!S)return 0;let P=(V=Y(u).findIndex(Ie=>Ie.id===S.id))!=null?V:0;return G(u,S.id)===ze&&P<Y(u).length-1?P+1:P}function vt(u){if(!u.completionCriteria)return;let S=bi(u.completionCriteria);if(S===null)return;let P=st(S),V=Qe(S);return V===0?void 0:P/V}function qe(u){let S=T==null?void 0:T.find(P=>P.flowId===u);return S?S.flowState:null}function st(u){let S=Y(u);return S.length===0?0:S.filter(V=>G(u,V.id)===ze).length}function Qe(u){return Y(u).length}function jt(u){let S=o.find(P=>P.slug===u);return S?(C&&C[u]&&(S.data=C[u]),Jt(S.data)):null}function Bt(u){if(k)return !1;if(h||b)return !0;if(u!=null&&u.targetingLogic&&T){let S=T.find(P=>P.flowId===u.slug);if(S)return S.shouldTrigger===!1}return !!(u!=null&&u.targetingLogic&&n&&n.startsWith("guest_"))}function Gt(u){let S=O(u);return !S||S.active===!1?!1:!Bt(O(u))}function Et(){n&&g();}function ee(){return o}return {getAllFlows:ee,getFlow:O,getFlowData:jt,isLoading:h||X,getStepStatus:G,getFlowSteps:Y,getCurrentStepIndex:Xe,markStepStarted:oe,markStepCompleted:ie,markFlowNotStarted:ve,markFlowStarted:Ke,markFlowCompleted:Be,markFlowSkipped:xe,markStepNotStarted:_,getFlowStatus:qe,getNumberOfStepsCompleted:st,getNumberOfSteps:Qe,targetingLogicShouldHideFlow:Bt,setCustomVariable:ye,updateCustomVariables:Pe,customVariables:p,getStepOptionalProgress:vt,getFlowMetadata:re,isStepBlocked:ne,isStepHidden:M,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Gt,refresh:Et,isDegraded:b}}var Xt="guest_";function Fo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=useContext(se),{config:r,apiUrl:l}=et(),{mutateUserFlowState:p}=We(),d=qt(),{verifySDKInitiated:s}=Yt();function m(C){return `frigade-user-registered-${C}`}useEffect(()=>{if(e&&!t){if(e.startsWith(Xt))return;let C=m(e);localStorage.getItem(C)||(d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(C,"true"));}},[e,n,t]);let c=useCallback(C=>$(this,null,function*(){if(!s())return;let x={foreignId:e,properties:C};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(x)})),i(B=>w(w({},B),C)),p();}),[e,r,n,p]),f=useCallback((C,x)=>$(this,null,function*(){if(!s())return;let y={foreignId:e,events:[{event:C,properties:x}]};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(y)})),p();}),[e,r,p]),b=useCallback((C,x)=>$(this,null,function*(){if(s())if(x&&Object.keys(x).length>0){let B=m(C);localStorage.setItem(B,"true"),o(C);let y={foreignId:C,properties:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(y)})),i(N=>w(w({},N),x)),p();}else o(C);}),[r,n,p]),k=useCallback(C=>$(this,null,function*(){if(!s())return;let x=typeof window!="undefined"?localStorage.getItem(Qt):null;if(!x)return;let B={foreignId:C,linkGuestId:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(B)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:f,linkExistingGuestSessionToUser:k}}var wi="fr-",ko="cfr-";function a(e,t){let o=`${wi}${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+" "+ko+e}return o}function A(e){if(!e.className||e.className.indexOf(ko)!==-1)return "";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(wi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function jo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ee(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${jo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Fe(...e){return e.filter(Boolean).join(" ")}function Po(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Aa=Ce.div`
15
15
  display: flex;
16
16
  justify-content: center;
17
17
  position: fixed;
@@ -264,7 +264,7 @@ var la=Object.defineProperty,aa=Object.defineProperties;var pa=Object.getOwnProp
264
264
  ::-webkit-scrollbar {
265
265
  display: none;
266
266
  }
267
- `,Jo=({onClose:e,visible:t,headerContent:o=null,children:i,appearance:n,modalPosition:r="bottom-right",dismissible:l=!0})=>{let[p,d]=useState("");return useEffect(()=>{let s=getComputedStyle(document.body).getPropertyValue("overflow");d(s);},[]),useEffect(()=>{let s=m=>{m.key==="Escape"&&e();};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s);}},[e]),useEffect(()=>{let s=document.body.style;return t?s.setProperty("overflow","hidden"):s.setProperty("overflow",p),()=>{s.setProperty("overflow",p);}},[t]),t?q__default.createElement(Portal,null,q__default.createElement(Ga,{appearance:n,className:a("cornerModalContainer",n),modalPosition:r},l&&q__default.createElement(qa,{className:a("cornerModalClose",n),onClick:()=>e()},q__default.createElement(Oe,null)),o&&q__default.createElement(Ka,null,o),q__default.createElement(Ya,null,i))):q__default.createElement(q__default.Fragment,null)};function ce(){let{defaultAppearance:e}=useContext(se);function t(o){var n,r,l;let i=JSON.parse(JSON.stringify(e));return o?{styleOverrides:Object.assign((n=i.styleOverrides)!=null?n:{},(r=o.styleOverrides)!=null?r:{}),theme:Object.assign(i.theme,(l=o.theme)!=null?l:{})}:i}return {mergeAppearanceWithDefault:t}}var Di=Ce.label`
267
+ `,Jo=({onClose:e,visible:t,headerContent:o=null,children:i,appearance:n,modalPosition:r="bottom-right",dismissible:l=!0})=>{let[p,d]=useState("");function s(){document.body.style.setProperty("overflow",p),e();}return useEffect(()=>{let m=getComputedStyle(document.body).getPropertyValue("overflow");d(m);},[]),useEffect(()=>{let m=c=>{c.key==="Escape"&&s();};return document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m);}},[e]),useEffect(()=>{let m=document.body.style;return t?m.setProperty("overflow","hidden"):m.setProperty("overflow",p),()=>{m.setProperty("overflow",p);}},[t]),t?q__default.createElement(Portal,null,q__default.createElement(Ga,{appearance:n,className:a("cornerModalContainer",n),modalPosition:r},l&&q__default.createElement(qa,{className:a("cornerModalClose",n),onClick:s},q__default.createElement(Oe,null)),o&&q__default.createElement(Ka,null,o),q__default.createElement(Ya,null,i))):q__default.createElement(q__default.Fragment,null)};function ce(){let{defaultAppearance:e}=useContext(se);function t(o){var n,r,l;let i=JSON.parse(JSON.stringify(e));return o?{styleOverrides:Object.assign((n=i.styleOverrides)!=null?n:{},(r=o.styleOverrides)!=null?r:{}),theme:Object.assign(i.theme,(l=o.theme)!=null?l:{})}:i}return {mergeAppearanceWithDefault:t}}var Di=Ce.label`
268
268
  ${e=>A(e)} {
269
269
  font-size: 12px;
270
270
  line-height: 18px;