@frigade/react 1.38.34 → 1.38.35
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.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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+"",$e=(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.34";var st="NOT_STARTED_STEP",de="COMPLETED_FLOW",Nt="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",_e="COMPLETED_STEP",So="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=Y__default.useContext(ie);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 Kt(){let{shouldGracefullyDegrade:e,readonly:t}=Y__default.useContext(ie);return (o,i)=>$(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Gt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Gt();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 Gt()}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 Gt(p)}return l?l.ok?l:Gt(l.statusText):Gt()})}function Gt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function qt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Y__default.useContext(ie);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 Ie(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=useContext(ie);function r(c,g=!1){var b;return (b=e[c])!=null?b:g}function l(c,g){t(b=>j(w({},b),{[c]:g}));}function p(c){t(g=>{let x=g,F=$e(x,[xi(c)]);return w({},F)});}function d(c){n.includes(c)||i(g=>[...g,c]);}function s(c){return n.includes(c)}function f(c){return Object.entries(e).some(([g,b])=>b&&g!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:f,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 Yt(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 ze(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=useContext(ie),{resetOpenFlowState:d}=Ie(),[s,f]=useState(!1),c={data:r.map(I=>({flowId:I.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=I=>bo(I,100,2,e).then(B=>{if(B.ok)return B.json();throw new Error("Failed to fetch user flow states")}).catch(B=>(console.error(`Error fetching ${I}: ${B}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:F,isLoading:x,mutate:h,error:P}=p?Ca(b,g):xa(b,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),S=F==null?void 0:F.data;useEffect(()=>{!s&&!x&&S&&f(!0);},[S,s,x]);function N(I){return $(this,null,function*(){if(S&&!p){let B=S.find(v=>v.flowId===I);B&&B.flowState!==de&&(B.flowState=de),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}function U(I){return $(this,null,function*(){if(S&&!p){let B=S.find(v=>v.flowId===I);B&&B.flowState!==Nt&&(B.flowState=Nt),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}function T(I,B,v){return $(this,null,function*(){var L,_,K;if(S){let z=S.find(J=>J.flowId===I);if(z){let J=r.find(R=>R.slug===I),G=Yt(J==null?void 0:J.data),O=(_=(L=G==null?void 0:G.steps)!=null?L:G==null?void 0:G.data)!=null?_:[],te=O.findIndex(R=>R.id===B),q=O&&O.length>te+1?O[te+1]:null;q&&((K=z.stepStates[q.id])!=null&&K.hidden||(z.lastStepId=q.id)),z.stepStates[B]=v,z.flowState=Ot;}p||(yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}));}})}function u(I,B,v){return $(this,null,function*(){if(S){let L=S.find(_=>_.flowId===I);L&&(L.lastStepId=B,L.stepStates[B]=v,L.flowState=Ot),p||(yield h(ue(F,{data:S}),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}));}})}function A(I){return $(this,null,function*(){if(S){let B=S.find(v=>v.flowId===I);B&&B.flowState!==Ue&&(B.flowState=Ue,B.lastStepId=ya,Object.keys(B.stepStates).forEach(v=>{B.stepStates[v].actionType=st,B.stepStates[v].createdAt=new Date().toISOString();}),yield h(ue(F,{data:S}),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}),d(I));}})}function C(I,B,v){return $(this,null,function*(){if(S){let L=S.find(_=>_.flowId===I);L&&(L.stepStates[B]=v),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:S,isLoadingUserFlowStateData:!s,mutateUserFlowState:h,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowSkipped:U,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:T,optimisticallyMarkStepNotStarted:C,optimisticallyMarkStepStarted:u,error:P}}function To(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=ze(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=useContext(ie),[d,s]=useState(new Set),[f,c]=useState(new Set),g=Kt();function b(h){let P=JSON.stringify(h);if(d.has(P))return null;d.add(P),s(d),f.add(h),c(f);let S=l==null?void 0:l.find(N=>N.flowSlug===h.flowSlug&&N.stepId===h.stepId&&N.actionType===h.actionType&&N.createdAt===h.createdAt);return g(`${t}flowResponses`,j(w({},e),{method:"POST",body:P})).then(N=>{N.status!==200&&N.status!==201?(console.log("Failed to send flow response for step "+h.stepId+". Will retry again later."),r([...n,h])):S||p(U=>[...U!=null?U:[],h]);})}function F(h){return $(this,null,function*(){h.foreignUserId&&(h.actionType===Ot||h.actionType===Ue?yield b(h):h.actionType===de?yield b(h):h.actionType===So?yield b(h):h.actionType===_e?yield b(h):h.actionType===Nt?yield b(h):h.actionType===st&&(yield b(h)));})}function x(){let h=[];return o==null||o.forEach(P=>{if(P&&P.stepStates&&Object.keys(P.stepStates).length!==0)for(let S in P.stepStates){let N=P.stepStates[S];h.push({foreignUserId:P.foreignUserId,flowSlug:P.flowId,stepId:N.stepId,actionType:N.actionType,data:{},createdAt:new Date(N.createdAt),blocked:N.blocked,hidden:N.hidden});}}),[...h,...l]}return {addResponse:F,setFlowResponses:p,getFlowResponses:x}}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 se(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:f,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:b,readonly:F,flowDataOverrides:x}=useContext(ie),h={data:[]},{verifySDKInitiated:P}=qt(),{addResponse:S,getFlowResponses:N}=To(),U=m=>bo(m,100,2,e).then(y=>y.ok?y.json():(console.log(`Error fetching ${m} (${y.status}): ${y.statusText}. Will gracefully degrade and hide Frigade`),g(!0),h)).catch(y=>(console.log(`Error fetching ${m}: ${y}. Will gracefully degrade and hide Frigade`),g(!0),h)),{mutateUserFlowState:T,userFlowStatesData:u,isLoadingUserFlowStateData:A,optimisticallyMarkFlowCompleted:C,optimisticallyMarkFlowSkipped:I,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:L,optimisticallyMarkStepStarted:_}=ze(),{data:K,error:z,isLoading:J}=xa(l?`${t}flows${F?"?readonly=true":""}`:null,U,{keepPreviousData:!0});useEffect(()=>{if(z){console.error(z);return}K&&K.data&&i(K.data);},[K,z]);function G(m){if(J)return null;let y=o.find(k=>k.slug===m);return !y&&o.length>0&&!A&&!J?(console.log(`Flow with id ${m} not found`),null):(y&&x&&x[m]&&(y.data=x[m]),(y==null?void 0:y.active)===!1&&!F?null:y)}function O(m){var W,Be,Et,At,It;if(!G(m))return [];let y=(W=G(m))==null?void 0:W.data;return y?(y=te(y),((It=(At=(Be=Yt(y))==null?void 0:Be.data)!=null?At:(Et=Yt(y))==null?void 0:Et.steps)!=null?It:[]).map(ge=>{let Co=Ke(ge);return j(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&D(m,ge.id,{skipped:!0});}},ge),{complete:V(m,ge.id)===_e||Co>=1,started:V(m,ge.id)===So||V(m,ge.id)===_e,currentlyActive:u==null?void 0:u.some(yo=>yo.flowId==m&&yo.lastStepId===ge.id),blocked:X(m,ge.id),hidden:oe(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&D(m,ge.id);},progress:Co})}).filter(ge=>ge.hidden!==!0)):[]}function te(m){return m.replaceAll(/\${(.*?)}/g,(y,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 q(m){var k;if(!G(m))return [];let y=G(m).data;return y?(y=te(y),(k=JSON.parse(y))!=null?k:{}):[]}function R(m,y){d(k=>j(w({},k),{[m]:y}));}function Se(m){!A&&!J&&m&&JSON.stringify(p)!=JSON.stringify(w(w({},p),m))&&Object.keys(m).forEach(y=>{R(y,m[y]);});}let ke=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:So,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield _(m,y,W),S(W));}),[n,r,u]),ee=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:st,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield L(m,y,W),S(W));}),[n,r,u]),D=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:_e,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield v(m,y,W),S(W));}),[n,r,u]),ne=useCallback((m,y)=>$(this,null,function*(){if(!P()||xt(m)===Ue)return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ue,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};yield B(m),pe(k)&&S(k);}),[n,r,u]),Pe=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ot,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&S(k);}),[n,r,u]),Ge=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:de,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&(yield C(m),S(k));}),[n,r,u]),ve=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Nt,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&(yield I(m),S(k));}),[n,r,u]);function pe(m){var y;if(u===void 0)return !1;if(u){let k=u.find(W=>W.flowId===m.flowSlug);if(m.actionType===st&&(!(k!=null&&k.stepStates[m.stepId])||k.stepStates[m.stepId].actionType===st))return !1;if(k&&((y=k.stepStates[m.stepId])==null?void 0:y.actionType)===m.actionType){if(m.actionType===_e&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return !1;let W=Object.keys(k.stepStates).sort((Be,Et)=>{let At=new Date(k.stepStates[Be].createdAt),It=new Date(k.stepStates[Et].createdAt);return At.getTime()-It.getTime()});if(k.stepStates[W[W.length-1]].actionType===m.actionType&&m.stepId===W[W.length-1])return !1}if(k&&k.flowState===de&&m.actionType===de)return !1}return !0}function V(m,y){let k=M(m,y);return A?null:k?k.actionType:st}function X(m,y){let k=M(m,y);return k?k.blocked:!1}function oe(m,y){let k=M(m,y);return k?k.hidden:!1}function M(m,y){var W;if(A)return null;let k=u==null?void 0:u.find(Be=>Be.flowId===m);return !k||!k.stepStates[y]?null:(W=k.stepStates[y])!=null?W:null}function Z(m){var k,W;if(A||!u)return null;if(xt(m)===Ue)return (k=O(m)[0])!=null?k:null;let y=(W=u.find(Be=>Be.flowId===m))==null?void 0:W.lastStepId;return y?O(m).find(Be=>Be.id===y):null}function we(m){var W;let y=Z(m);if(!y)return 0;let k=(W=O(m).findIndex(Be=>Be.id===y.id))!=null?W:0;return V(m,y.id)===_e&&k<O(m).length-1?k+1:k}function Ke(m){if(!m.completionCriteria)return;let y=bi(m.completionCriteria);if(y===null)return;let k=Je(y),W=nt(y);return W===0?void 0:k/W}function xt(m){let y=u==null?void 0:u.find(k=>k.flowId===m);return y?y.flowState:null}function Je(m){let y=O(m);return y.length===0?0:y.filter(W=>V(m,W.id)===_e).length}function nt(m){return O(m).length}function Ze(m){let y=o.find(k=>k.slug===m);return y?(x&&x[m]&&(y.data=x[m]),Yt(y.data)):null}function vt(m){if(F)return !1;if(A||b)return !0;if(m!=null&&m.targetingLogic&&u){let y=u.find(k=>k.flowId===m.slug);if(y)return y.shouldTrigger===!1}return !!(m!=null&&m.targetingLogic&&n&&n.startsWith("guest_"))}function Vt(m){let y=G(m);return (y==null?void 0:y.active)===!1?!1:!vt(G(m))}function jt(){n&&T();}function Bt(){return o}return {getAllFlows:Bt,getFlow:G,getFlowData:Ze,isLoading:A||J,getStepStatus:V,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:D,markFlowNotStarted:ne,markFlowStarted:Pe,markFlowCompleted:Ge,markFlowSkipped:ve,markStepNotStarted:ee,getFlowStatus:xt,getNumberOfStepsCompleted:Je,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:R,updateCustomVariables:Se,customVariables:p,getStepOptionalProgress:Ke,getFlowMetadata:q,isStepBlocked:X,isStepHidden:oe,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:f,isFlowAvailableToUser:Vt,refresh:jt,isDegraded:b}}var Jt="guest_";function Fo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=useContext(ie),{config:r,apiUrl:l}=Re(),{mutateUserFlowState:p}=ze(),d=Kt(),{verifySDKInitiated:s}=qt();function f(x){return `frigade-user-registered-${x}`}useEffect(()=>{if(e&&!t){if(e.startsWith(Jt))return;let x=f(e);localStorage.getItem(x)||(d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(x,"true"));}},[e,n,t]);let c=useCallback(x=>$(this,null,function*(){if(!s())return;let h={foreignId:e,properties:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(h)})),i(P=>w(w({},P),x)),p();}),[e,r,n,p]),g=useCallback((x,h)=>$(this,null,function*(){if(!s())return;let S={foreignId:e,events:[{event:x,properties:h}]};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(S)})),p();}),[e,r,p]),b=useCallback((x,h)=>$(this,null,function*(){if(s())if(h&&Object.keys(h).length>0){let P=f(x);localStorage.setItem(P,"true"),o(x);let S={foreignId:x,properties:h};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(S)})),i(N=>w(w({},N),h)),p();}else o(x);}),[r,n,p]),F=useCallback(x=>$(this,null,function*(){if(!s())return;let h=typeof window!="undefined"?localStorage.getItem(Xt):null;if(!h)return;let P={foreignId:x,linkGuestId:h};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(P)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:F}}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 E(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 Te(...e){return e.filter(Boolean).join(" ")}function Po(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Aa=xe.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+"",$e=(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.35";var st="NOT_STARTED_STEP",de="COMPLETED_FLOW",Nt="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",_e="COMPLETED_STEP",So="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=Y__default.useContext(ie);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 Kt(){let{shouldGracefullyDegrade:e,readonly:t}=Y__default.useContext(ie);return (o,i)=>$(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Gt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Gt();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 Gt()}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 Gt(p)}return l?l.ok?l:Gt(l.statusText):Gt()})}function Gt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function qt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Y__default.useContext(ie);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 Ie(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=useContext(ie);function r(c,g=!1){var b;return (b=e[c])!=null?b:g}function l(c,g){t(b=>j(w({},b),{[c]:g}));}function p(c){t(g=>{let x=g,F=$e(x,[xi(c)]);return w({},F)});}function d(c){n.includes(c)||i(g=>[...g,c]);}function s(c){return n.includes(c)}function f(c){return Object.entries(e).some(([g,b])=>b&&g!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:f,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 Yt(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 ze(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=useContext(ie),{resetOpenFlowState:d}=Ie(),[s,f]=useState(!1),c={data:r.map(I=>({flowId:I.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=I=>bo(I,100,2,e).then(B=>{if(B.ok)return B.json();throw new Error("Failed to fetch user flow states")}).catch(B=>(console.error(`Error fetching ${I}: ${B}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:F,isLoading:x,mutate:h,error:P}=p?Ca(b,g):xa(b,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),S=F==null?void 0:F.data;useEffect(()=>{!s&&!x&&S&&f(!0);},[S,s,x]);function N(I){return $(this,null,function*(){if(S&&!p){let B=S.find(v=>v.flowId===I);B&&B.flowState!==de&&(B.flowState=de),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}function U(I){return $(this,null,function*(){if(S&&!p){let B=S.find(v=>v.flowId===I);B&&B.flowState!==Nt&&(B.flowState=Nt),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}function T(I,B,v){return $(this,null,function*(){var L,_,K;if(S){let z=S.find(J=>J.flowId===I);if(z){let J=r.find(R=>R.slug===I),G=Yt(J==null?void 0:J.data),O=(_=(L=G==null?void 0:G.steps)!=null?L:G==null?void 0:G.data)!=null?_:[],te=O.findIndex(R=>R.id===B),q=O&&O.length>te+1?O[te+1]:null;q&&((K=z.stepStates[q.id])!=null&&K.hidden||(z.lastStepId=q.id)),z.stepStates[B]=v,z.flowState=Ot;}p||(yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}));}})}function u(I,B,v){return $(this,null,function*(){if(S){let L=S.find(_=>_.flowId===I);L&&(L.lastStepId=B,L.stepStates[B]=v,L.flowState=Ot),p||(yield h(ue(F,{data:S}),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}));}})}function A(I){return $(this,null,function*(){if(S){let B=S.find(v=>v.flowId===I);B&&B.flowState!==Ue&&(B.flowState=Ue,B.lastStepId=ya,Object.keys(B.stepStates).forEach(v=>{B.stepStates[v].actionType=st,B.stepStates[v].createdAt=new Date().toISOString();}),yield h(ue(F,{data:S}),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1}),d(I));}})}function C(I,B,v){return $(this,null,function*(){if(S){let L=S.find(_=>_.flowId===I);L&&(L.stepStates[B]=v),yield h(Promise.resolve(ue(F,{data:S})),{optimisticData:ue(F,{data:S}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:S,isLoadingUserFlowStateData:!s,mutateUserFlowState:h,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowSkipped:U,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:T,optimisticallyMarkStepNotStarted:C,optimisticallyMarkStepStarted:u,error:P}}function To(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=ze(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=useContext(ie),[d,s]=useState(new Set),[f,c]=useState(new Set),g=Kt();function b(h){let P=JSON.stringify(h);if(d.has(P))return null;d.add(P),s(d),f.add(h),c(f);let S=l==null?void 0:l.find(N=>N.flowSlug===h.flowSlug&&N.stepId===h.stepId&&N.actionType===h.actionType&&N.createdAt===h.createdAt);return g(`${t}flowResponses`,j(w({},e),{method:"POST",body:P})).then(N=>{N.status!==200&&N.status!==201?(console.log("Failed to send flow response for step "+h.stepId+". Will retry again later."),r([...n,h])):S||p(U=>[...U!=null?U:[],h]);})}function F(h){return $(this,null,function*(){h.foreignUserId&&(h.actionType===Ot||h.actionType===Ue?yield b(h):h.actionType===de?yield b(h):h.actionType===So?yield b(h):h.actionType===_e?yield b(h):h.actionType===Nt?yield b(h):h.actionType===st&&(yield b(h)));})}function x(){let h=[];return o==null||o.forEach(P=>{if(P&&P.stepStates&&Object.keys(P.stepStates).length!==0)for(let S in P.stepStates){let N=P.stepStates[S];h.push({foreignUserId:P.foreignUserId,flowSlug:P.flowId,stepId:N.stepId,actionType:N.actionType,data:{},createdAt:new Date(N.createdAt),blocked:N.blocked,hidden:N.hidden});}}),[...h,...l]}return {addResponse:F,setFlowResponses:p,getFlowResponses:x}}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 se(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:f,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:b,readonly:F,flowDataOverrides:x}=useContext(ie),h={data:[]},{verifySDKInitiated:P}=qt(),{addResponse:S,getFlowResponses:N}=To(),U=m=>bo(m,100,2,e).then(y=>y.ok?y.json():(console.log(`Error fetching ${m} (${y.status}): ${y.statusText}. Will gracefully degrade and hide Frigade`),g(!0),h)).catch(y=>(console.log(`Error fetching ${m}: ${y}. Will gracefully degrade and hide Frigade`),g(!0),h)),{mutateUserFlowState:T,userFlowStatesData:u,isLoadingUserFlowStateData:A,optimisticallyMarkFlowCompleted:C,optimisticallyMarkFlowSkipped:I,optimisticallyMarkFlowNotStarted:B,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:L,optimisticallyMarkStepStarted:_}=ze(),{data:K,error:z,isLoading:J}=xa(l?`${t}flows${F?"?readonly=true":""}`:null,U,{keepPreviousData:!0});useEffect(()=>{if(z){console.error(z);return}K&&K.data&&i(K.data);},[K,z]);function G(m){if(J)return null;let y=o.find(k=>k.slug===m);return !y&&o.length>0&&!A&&!J?(console.log(`Flow with id ${m} not found`),null):(y&&x&&x[m]&&(y.data=x[m]),(y==null?void 0:y.active)===!1&&!F?null:y)}function O(m){var W,Be,Et,At,It;if(!G(m))return [];let y=(W=G(m))==null?void 0:W.data;return y?(y=te(y),((It=(At=(Be=Yt(y))==null?void 0:Be.data)!=null?At:(Et=Yt(y))==null?void 0:Et.steps)!=null?It:[]).map(ge=>{let Co=Ke(ge);return j(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&D(m,ge.id,{skipped:!0});}},ge),{complete:V(m,ge.id)===_e||Co>=1,started:V(m,ge.id)===So||V(m,ge.id)===_e,currentlyActive:u==null?void 0:u.some(yo=>yo.flowId==m&&yo.lastStepId===ge.id),blocked:X(m,ge.id),hidden:oe(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&D(m,ge.id);},progress:Co})}).filter(ge=>ge.hidden!==!0)):[]}function te(m){return m.replaceAll(/\${(.*?)}/g,(y,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 q(m){var k;if(!G(m))return [];let y=G(m).data;return y?(y=te(y),(k=JSON.parse(y))!=null?k:{}):[]}function R(m,y){d(k=>j(w({},k),{[m]:y}));}function Se(m){!A&&!J&&m&&JSON.stringify(p)!=JSON.stringify(w(w({},p),m))&&Object.keys(m).forEach(y=>{R(y,m[y]);});}let ke=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:So,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield _(m,y,W),S(W));}),[n,r,u]),ee=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:st,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield L(m,y,W),S(W));}),[n,r,u]),D=useCallback((m,y,k)=>$(this,null,function*(){if(!P())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:y,actionType:_e,data:k!=null?k:{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(yield v(m,y,W),S(W));}),[n,r,u]),ne=useCallback((m,y)=>$(this,null,function*(){if(!P()||xt(m)===Ue)return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ue,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};yield B(m),pe(k)&&S(k);}),[n,r,u]),Pe=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ot,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&S(k);}),[n,r,u]),Ge=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:de,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&(yield C(m),S(k));}),[n,r,u]),ve=useCallback((m,y)=>$(this,null,function*(){if(!P())return;let k={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Nt,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};pe(k)&&(yield I(m),S(k));}),[n,r,u]);function pe(m){var y;if(u===void 0)return !1;if(u){let k=u.find(W=>W.flowId===m.flowSlug);if(m.actionType===st&&(!(k!=null&&k.stepStates[m.stepId])||k.stepStates[m.stepId].actionType===st))return !1;if(k&&((y=k.stepStates[m.stepId])==null?void 0:y.actionType)===m.actionType){if(m.actionType===_e&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return !1;let W=Object.keys(k.stepStates).sort((Be,Et)=>{let At=new Date(k.stepStates[Be].createdAt),It=new Date(k.stepStates[Et].createdAt);return At.getTime()-It.getTime()});if(k.stepStates[W[W.length-1]].actionType===m.actionType&&m.stepId===W[W.length-1])return !1}if(k&&k.flowState===de&&m.actionType===de)return !1}return !0}function V(m,y){let k=M(m,y);return A?null:k?k.actionType:st}function X(m,y){let k=M(m,y);return k?k.blocked:!1}function oe(m,y){let k=M(m,y);return k?k.hidden:!1}function M(m,y){var W;if(A)return null;let k=u==null?void 0:u.find(Be=>Be.flowId===m);return !k||!k.stepStates[y]?null:(W=k.stepStates[y])!=null?W:null}function Z(m){var k,W;if(A||!u)return null;if(xt(m)===Ue)return (k=O(m)[0])!=null?k:null;let y=(W=u.find(Be=>Be.flowId===m))==null?void 0:W.lastStepId;return y?O(m).find(Be=>Be.id===y):null}function we(m){var W;let y=Z(m);if(!y)return 0;let k=(W=O(m).findIndex(Be=>Be.id===y.id))!=null?W:0;return V(m,y.id)===_e&&k<O(m).length-1?k+1:k}function Ke(m){if(!m.completionCriteria)return;let y=bi(m.completionCriteria);if(y===null)return;let k=Je(y),W=nt(y);return W===0?void 0:k/W}function xt(m){let y=u==null?void 0:u.find(k=>k.flowId===m);return y?y.flowState:null}function Je(m){let y=O(m);return y.length===0?0:y.filter(W=>V(m,W.id)===_e).length}function nt(m){return O(m).length}function Ze(m){let y=o.find(k=>k.slug===m);return y?(x&&x[m]&&(y.data=x[m]),Yt(y.data)):null}function vt(m){if(F)return !1;if(A||b)return !0;if(m!=null&&m.targetingLogic&&u){let y=u.find(k=>k.flowId===m.slug);if(y)return y.shouldTrigger===!1}return !!(m!=null&&m.targetingLogic&&n&&n.startsWith("guest_"))}function Vt(m){let y=G(m);return (y==null?void 0:y.active)===!1?!1:!vt(G(m))}function jt(){n&&T();}function Bt(){return o}return {getAllFlows:Bt,getFlow:G,getFlowData:Ze,isLoading:A||J,getStepStatus:V,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:D,markFlowNotStarted:ne,markFlowStarted:Pe,markFlowCompleted:Ge,markFlowSkipped:ve,markStepNotStarted:ee,getFlowStatus:xt,getNumberOfStepsCompleted:Je,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:R,updateCustomVariables:Se,customVariables:p,getStepOptionalProgress:Ke,getFlowMetadata:q,isStepBlocked:X,isStepHidden:oe,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:f,isFlowAvailableToUser:Vt,refresh:jt,isDegraded:b}}var Jt="guest_";function Fo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=useContext(ie),{config:r,apiUrl:l}=Re(),{mutateUserFlowState:p}=ze(),d=Kt(),{verifySDKInitiated:s}=qt();function f(x){return `frigade-user-registered-${x}`}useEffect(()=>{if(e&&!t){if(e.startsWith(Jt))return;let x=f(e);localStorage.getItem(x)||(d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(x,"true"));}},[e,n,t]);let c=useCallback(x=>$(this,null,function*(){if(!s())return;let h={foreignId:e,properties:x};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(h)})),i(P=>w(w({},P),x)),p();}),[e,r,n,p]),g=useCallback((x,h)=>$(this,null,function*(){if(!s())return;let S={foreignId:e,events:[{event:x,properties:h}]};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(S)})),p();}),[e,r,p]),b=useCallback((x,h)=>$(this,null,function*(){if(s())if(h&&Object.keys(h).length>0){let P=f(x);localStorage.setItem(P,"true"),o(x);let S={foreignId:x,properties:h};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(S)})),i(N=>w(w({},N),h)),p();}else o(x);}),[r,n,p]),F=useCallback(x=>$(this,null,function*(){if(!s())return;let h=typeof window!="undefined"?localStorage.getItem(Xt):null;if(!h)return;let P={foreignId:x,linkGuestId:h};yield d(`${l}users`,j(w({},r),{method:"POST",body:JSON.stringify(P)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:F}}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 E(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 Te(...e){return e.filter(Boolean).join(" ")}function Po(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Aa=xe.div`
|
|
15
15
|
display: flex;
|
|
16
16
|
justify-content: center;
|
|
17
17
|
position: fixed;
|
|
@@ -220,7 +220,7 @@ var la=Object.defineProperty,aa=Object.defineProperties;var pa=Object.getOwnProp
|
|
|
220
220
|
::-webkit-scrollbar {
|
|
221
221
|
display: none;
|
|
222
222
|
}
|
|
223
|
-
`,et=({onClose:e,visible:t,headerContent:o=null,style:i=null,children:n,appearance:r,dismissible:l=!0,showFrigadeBranding:p=!1})=>{let[d,s]=useState("");return useEffect(()=>{let f=getComputedStyle(document.body).getPropertyValue("overflow");s(f);},[]),useEffect(()=>{let f=c=>{c.key==="Escape"&&e();};return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f);}},[e]),useEffect(()=>{let f=document.body.style;return t?f.setProperty("overflow","hidden"):f.setProperty("overflow",d),()=>{f.setProperty("overflow",d);}},[t]),t?Y__default.createElement(Portal,null,Y__default.createElement(Ti,{appearance:r,onClose:()=>{l&&e();}}),Y__default.createElement(Ua,{appearance:r,className:a("modalContainer",r),styleOverrides:i},l&&Y__default.createElement(za,{className:a("modalClose",r),onClick:()=>e(),appearance:r},Y__default.createElement(Ne,null)),o&&Y__default.createElement(_a,null,o),Y__default.createElement(Wa,
|
|
223
|
+
`,et=({onClose:e,visible:t,headerContent:o=null,style:i=null,children:n,appearance:r,dismissible:l=!0,showFrigadeBranding:p=!1})=>{let[d,s]=useState("");return useEffect(()=>{let f=getComputedStyle(document.body).getPropertyValue("overflow");s(f);},[]),useEffect(()=>{let f=c=>{c.key==="Escape"&&e();};return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f);}},[e]),useEffect(()=>{let f=document.body.style;return t?f.setProperty("overflow","hidden"):f.setProperty("overflow",d),()=>{f.setProperty("overflow",d);}},[t]),t?Y__default.createElement(Portal,null,Y__default.createElement(Ti,{appearance:r,onClose:()=>{l&&e();}}),Y__default.createElement(Ua,{appearance:r,className:a("modalContainer",r),styleOverrides:i},l&&Y__default.createElement(za,{className:a("modalClose",r),onClick:()=>e(),appearance:r},Y__default.createElement(Ne,null)),o&&Y__default.createElement(_a,null,o),Y__default.createElement(Wa,{className:a("modalBody",r)},n),p&&Y__default.createElement(Oi,{appearance:r,className:a("poweredByFrigadeRibbon",r)},Y__default.createElement(Ko,{appearance:r})))):Y__default.createElement(Y__default.Fragment,null)};function ja(e){switch(e){case"top-left":return `
|
|
224
224
|
top: 0;
|
|
225
225
|
left: 0;
|
|
226
226
|
`;case"top-right":return `
|