@frigade/react 1.38.3 → 1.38.5

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
- var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnPropertyDescriptors;var Wo=Object.getOwnPropertySymbols;var ci=Object.prototype.hasOwnProperty,mi=Object.prototype.propertyIsEnumerable;var di=(e,t,o)=>t in e?sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,b=(e,t)=>{for(var o in t||(t={}))ci.call(t,o)&&di(e,o,t[o]);if(Wo)for(var o of Wo(t))mi.call(t,o)&&di(e,o,t[o]);return e},j=(e,t)=>la(e,aa(t));var ui=e=>typeof e=="symbol"?e:e+"",$e=(e,t)=>{var o={};for(var i in e)ci.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Wo)for(var i of Wo(e))t.indexOf(i)<0&&mi.call(e,i)&&(o[i]=e[i]);return o};var M=(e,t,o)=>new Promise((i,n)=>{var r=d=>{try{a(o.next(d))}catch(l){n(l)}},s=d=>{try{a(o.throw(d))}catch(l){n(l)}},a=d=>d.done?i(d.value):Promise.resolve(d.value).then(r,s);a((o=o.apply(e,t)).next())});var _react = require('react'); var Ur = _interopRequireWildcard(_react); var br = _interopRequireWildcard(_react);var _styledcomponents = require('styled-components'); var _styledcomponents2 = _interopRequireDefault(_styledcomponents);var fi="1.38.3";var st="NOT_STARTED_STEP",pe="COMPLETED_FLOW",It="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",Me="COMPLETED_STEP",yo="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=Ur.default.useContext(oe);return{config:_react.useMemo.call(void 0, ()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":fi,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:_react.useMemo.call(void 0, ()=>`${o}/v1/public/`,[o])}}var pa="frigade-last-call-at-",da="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=Ur.default.useContext(oe);return(o,i)=>M(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=pa+o,r=da+o;if(typeof window!="undefined"&&window.localStorage&&i&&i.body&&i.method==="POST"){let a=window.localStorage.getItem(n),d=window.localStorage.getItem(r);if(a&&d&&d==i.body){let l=new Date(a);if(new Date().getTime()-l.getTime()<1e3)return Kt()}typeof window!="undefined"&&(window.localStorage.setItem(n,new Date().toISOString()),window.localStorage.setItem(r,i.body))}let s;try{s=yield fetch(o,i)}catch(a){return Kt(a)}return s?s.ok?s:Kt(s.statusText):Kt()})}function Kt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Yt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Ur.default.useContext(oe);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}var _swr = require('swr'); var _swr2 = _interopRequireDefault(_swr);function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=_react.useContext.call(void 0, oe);function r(c,g=!1){var S;return(S=e[c])!=null?S:g}function s(c,g){t(S=>j(b({},S),{[c]:g}))}function a(c){t(g=>{let h=g,{[c]:S}=h,k=$e(h,[ui(c)]);return b({},k)})}function d(c){n.includes(c)||i(g=>[...g,c])}function l(c){return n.includes(c)}function u(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:a,hasOpenModals:u,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:l}}var _immutable = require('swr/immutable'); var _immutable2 = _interopRequireDefault(_immutable);var _structuredclone = require('core-js-pure/actual/structured-clone'); var _structuredclone2 = _interopRequireDefault(_structuredclone);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=_structuredclone2.default.call(void 0, t);return Object.entries(o).forEach(([n,r])=>{Tr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],_structuredclone2.default.call(void 0, r))}):Object.assign(i,{[n]:_structuredclone2.default.call(void 0, r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],..._structuredclone2.default.call(void 0, r)]}):Object.assign(i,{[n]:_structuredclone2.default.call(void 0, 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 xa="unknown";function _e(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:s,readonly:a}=_react.useContext.call(void 0, oe),{resetOpenFlowState:d}=Ne(),[l,u]=_react.useState.call(void 0, !1),c={data:r.map(T=>({flowId:T.id,flowState:pe,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=T=>fetch(T,e).then(A=>{if(A.ok)return A.json();throw new Error("Failed to fetch user flow states")}).catch(A=>(console.log(`Error fetching ${T}: ${A}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:k,isLoading:h,mutate:x,error:F}=a?_immutable2.default.call(void 0, S,g):_swr2.default.call(void 0, S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=k==null?void 0:k.data;_react.useEffect.call(void 0, ()=>{!l&&!h&&y&&u(!0)},[y,l,h]);function v(T){return M(this,null,function*(){if(y&&!a){let A=y.find(N=>N.flowId===T);A&&A.flowState!==pe&&(A.flowState=pe),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function L(T){return M(this,null,function*(){if(y&&!a){let A=y.find(N=>N.flowId===T);A&&A.flowState!==It&&(A.flowState=It),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function E(T,A,N){return M(this,null,function*(){var U,z;if(y){let G=y.find(_=>_.flowId===T);if(G){let _=r.find(q=>q.slug===T),K=Jt(_==null?void 0:_.data),J=(z=(U=K==null?void 0:K.steps)!=null?U:K==null?void 0:K.data)!=null?z:[],O=J.findIndex(q=>q.id===A),Z=J&&J.length>O+1?J[O+1]:null;Z&&(G.lastStepId=Z.id),G.stepStates[A]=N,G.flowState=Ot}a||(yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}))}})}function f(T,A,N){return M(this,null,function*(){if(y){let U=y.find(z=>z.flowId===T);U&&(U.lastStepId=A,U.stepStates[A]=N,U.flowState=Ot),a||(yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}))}})}function w(T){return M(this,null,function*(){if(y){let A=y.find(N=>N.flowId===T);A&&A.flowState!==Ue&&(A.flowState=Ue,A.lastStepId=xa,Object.keys(A.stepStates).forEach(N=>{A.stepStates[N].actionType=st,A.stepStates[N].createdAt=new Date().toISOString()}),yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}),d(T))}})}function I(T,A,N){return M(this,null,function*(){if(y){let U=y.find(z=>z.flowId===T);U&&(U.stepStates[A]=N),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:y,isLoadingUserFlowStateData:!l,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowSkipped:L,optimisticallyMarkFlowNotStarted:w,optimisticallyMarkStepCompleted:E,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:f,error:F}}function bo(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=_e(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:s,setFlowResponses:a}=_react.useContext.call(void 0, oe),[d,l]=_react.useState.call(void 0, new Set),[u,c]=_react.useState.call(void 0, new Set),g=qt();function S(x){let F=JSON.stringify(x);if(d.has(F))return null;d.add(F),l(d),u.add(x),c(u);let y=s==null?void 0:s.find(v=>v.flowSlug===x.flowSlug&&v.stepId===x.stepId&&v.actionType===x.actionType&&v.createdAt===x.createdAt);return g(`${t}flowResponses`,j(b({},e),{method:"POST",body:F})).then(v=>{v.status!==200&&v.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):y||a(L=>[...L!=null?L:[],x])})}function k(x){return M(this,null,function*(){x.foreignUserId&&(x.actionType===Ot||x.actionType===Ue?yield S(x):x.actionType===pe?yield S(x):x.actionType===yo?yield S(x):x.actionType===Me?yield S(x):x.actionType===It?yield S(x):x.actionType===st&&(yield S(x)))})}function h(){let x=[];return o==null||o.forEach(F=>{if(F&&F.stepStates&&Object.keys(F.stepStates).length!==0)for(let y in F.stepStates){let v=F.stepStates[y];x.push({foreignUserId:F.foreignUserId,flowSlug:F.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden})}}),[...x,...s]}return{addResponse:k,setFlowResponses:a,getFlowResponses:h}}var ya=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,xi=e=>{let t=ya.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=Sa(i,"'","");r.startsWith("flow_")&&(o=r)}),o},Sa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};var Fr=(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))(Fr||{});function ie(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:s,customVariables:a,setCustomVariables:d,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:u,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:S,readonly:k,flowDataOverrides:h}=_react.useContext.call(void 0, oe),x={data:[]},{verifySDKInitiated:F}=Yt(),{addResponse:y,getFlowResponses:v}=bo(),L=m=>fetch(m,e).then(C=>C.ok?C.json():(console.log(`Error fetching ${m} (${C.status}): ${C.statusText}. Will gracefully degrade and hide Frigade`),g(!0),x)).catch(C=>(console.log(`Error fetching ${m}: ${C}. Will gracefully degrade and hide Frigade`),g(!0),x)),{mutateUserFlowState:E,userFlowStatesData:f,isLoadingUserFlowStateData:w,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowSkipped:T,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:U,optimisticallyMarkStepStarted:z}=_e(),{data:G,error:_,isLoading:K}=_swr2.default.call(void 0, s?`${t}flows${k?"?readonly=true":""}`:null,L,{keepPreviousData:!0});_react.useEffect.call(void 0, ()=>{if(_){console.error(_);return}G&&G.data&&i(G.data)},[G,_]);function J(m){if(K)return null;let C=o.find(P=>P.slug===m);return!C&&o.length>0&&!w&&!K?(console.log(`Flow with id ${m} not found`),null):(C&&h&&h[m]&&(C.data=h[m]),(C==null?void 0:C.active)===!1&&!k?null:C)}function O(m){var W,Be,Et,At,Nt;if(!J(m))return[];let C=(W=J(m))==null?void 0:W.data;return C?(C=Z(C),((Nt=(At=(Be=Jt(C))==null?void 0:Be.data)!=null?At:(Et=Jt(C))==null?void 0:Et.steps)!=null?Nt:[]).map(ge=>{let xo=je(ge);return j(b({handleSecondaryButtonClick:()=>{ge.skippable===!0&&$(m,ge.id,{skipped:!0})}},ge),{complete:H(m,ge.id)===Me||xo>=1,started:H(m,ge.id)===yo||H(m,ge.id)===Me,currentlyActive:f==null?void 0:f.some(Co=>Co.flowId==m&&Co.lastStepId===ge.id),blocked:V(m,ge.id),hidden:ee(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&$(m,ge.id)},progress:xo})}).filter(ge=>ge.hidden!==!0)):[]}function Z(m){return m.replaceAll(/\${(.*?)}/g,(C,P)=>a[P]===void 0?"":String(a[P]).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 P;if(!J(m))return[];let C=J(m).data;return C?(C=Z(C),(P=JSON.parse(C))!=null?P:{}):[]}function ne(m,C){d(P=>j(b({},P),{[m]:C}))}function Se(m){!w&&!K&&m&&JSON.stringify(a)!=JSON.stringify(b(b({},a),m))&&Object.keys(m).forEach(C=>{ne(C,m[C])})}let ke=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:yo,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield z(m,C,W),y(W))}),[n,r,f]),R=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:st,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield U(m,C,W),y(W))}),[n,r,f]),$=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:Me,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield N(m,C,W),y(W))}),[n,r,f]),re=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F()||xt(m)===Ue)return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ue,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};yield A(m),ae(P)&&y(P)}),[n,r,f]),Pe=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ot,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&y(P)}),[n,r,f]),Ve=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:pe,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&(yield I(m),y(P))}),[n,r,f]),ve=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:It,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&(yield T(m),y(P))}),[n,r,f]);function ae(m){var C;if(f===void 0)return!1;if(f){let P=f.find(W=>W.flowId===m.flowSlug);if(m.actionType===st&&(!(P!=null&&P.stepStates[m.stepId])||P.stepStates[m.stepId].actionType===st))return!1;if(P&&((C=P.stepStates[m.stepId])==null?void 0:C.actionType)===m.actionType){if(m.actionType===Me&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return!1;let W=Object.keys(P.stepStates).sort((Be,Et)=>{let At=new Date(P.stepStates[Be].createdAt),Nt=new Date(P.stepStates[Et].createdAt);return At.getTime()-Nt.getTime()});if(P.stepStates[W[W.length-1]].actionType===m.actionType&&m.stepId===W[W.length-1])return!1}if(P&&P.flowState===pe&&m.actionType===pe)return!1}return!0}function H(m,C){let P=D(m,C);return w?null:P?P.actionType:st}function V(m,C){let P=D(m,C);return P?P.blocked:!1}function ee(m,C){let P=D(m,C);return P?P.hidden:!1}function D(m,C){var W;if(w)return null;let P=f==null?void 0:f.find(Be=>Be.flowId===m);return!P||!P.stepStates[C]?null:(W=P.stepStates[C])!=null?W:null}function Q(m){var P,W;if(w||!f)return null;if(xt(m)===Ue)return(P=O(m)[0])!=null?P:null;let C=(W=f.find(Be=>Be.flowId===m))==null?void 0:W.lastStepId;return C?O(m).find(Be=>Be.id===C):null}function we(m){var W;let C=Q(m);if(!C)return 0;let P=(W=O(m).findIndex(Be=>Be.id===C.id))!=null?W:0;return H(m,C.id)===Me&&P<O(m).length-1?P+1:P}function je(m){if(!m.completionCriteria)return;let C=xi(m.completionCriteria);if(C===null)return;let P=Ye(C),W=nt(C);return W===0?void 0:P/W}function xt(m){let C=f==null?void 0:f.find(P=>P.flowId===m);return C?C.flowState:null}function Ye(m){let C=O(m);return C.length===0?0:C.filter(W=>H(m,W.id)===Me).length}function nt(m){return O(m).length}function Qe(m){let C=o.find(P=>P.slug===m);return C?(h&&h[m]&&(C.data=h[m]),Jt(C.data)):null}function vt(m){if(k)return!1;if(w||S)return!0;if(m!=null&&m.targetingLogic&&f){let C=f.find(P=>P.flowId===m.slug);if(C)return C.shouldTrigger===!1}return!!(m!=null&&m.targetingLogic&&n&&n.startsWith("guest_"))}function jt(m){return!vt(J(m))}function Gt(){n&&E()}function Bt(){return o}return{getAllFlows:Bt,getFlow:J,getFlowData:Qe,isLoading:w||K,getStepStatus:H,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:$,markFlowNotStarted:re,markFlowStarted:Pe,markFlowCompleted:Ve,markFlowSkipped:ve,markStepNotStarted:R,getFlowStatus:xt,getNumberOfStepsCompleted:Ye,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:ne,updateCustomVariables:Se,customVariables:a,getStepOptionalProgress:je,getFlowMetadata:q,isStepBlocked:V,isStepHidden:ee,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:u,isFlowAvailableToUser:jt,refresh:Gt}}var Xt="guest_";function wo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=_react.useContext.call(void 0, oe),{config:r,apiUrl:s}=Re(),{mutateUserFlowState:a}=_e(),d=qt(),{verifySDKInitiated:l}=Yt();function u(h){return`frigade-user-registered-${h}`}_react.useEffect.call(void 0, ()=>{if(e&&!t){if(e.startsWith(Xt))return;let h=u(e);localStorage.getItem(h)||(d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(h,"true"))}},[e,n,t]);let c=_react.useCallback.call(void 0, h=>M(this,null,function*(){if(!l())return;let x={foreignId:e,properties:h};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(x)})),i(F=>b(b({},F),h)),a()}),[e,r,n,a]),g=_react.useCallback.call(void 0, (h,x)=>M(this,null,function*(){if(!l())return;let y={foreignId:e,events:[{event:h,properties:x}]};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(y)})),a()}),[e,r,a]),S=_react.useCallback.call(void 0, (h,x)=>M(this,null,function*(){if(l())if(x&&Object.keys(x).length>0){let F=u(h);localStorage.setItem(F,"true"),o(h);let y={foreignId:h,properties:x};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(y)})),i(v=>b(b({},v),x)),a()}else o(h)}),[r,n,a]),k=_react.useCallback.call(void 0, h=>M(this,null,function*(){if(!l())return;let x=typeof window!="undefined"?localStorage.getItem($t):null;if(console.log("id",localStorage.getItem($t)),!x)return;let F={foreignId:h,linkGuestId:x};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(F)})),a()}),[r,n,a]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:k}}var _uuid = require('uuid');var Ci="fr-",To="cfr-";function p(e,t){let o=`${Ci}${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+" "+To+e}return o}function B(e){if(!e.className||e.className.indexOf(To)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Ci)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Ho(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=>`${Ho(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function Fo(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ba=_styledcomponents2.default.div`
2
+ var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnPropertyDescriptors;var Wo=Object.getOwnPropertySymbols;var ci=Object.prototype.hasOwnProperty,mi=Object.prototype.propertyIsEnumerable;var di=(e,t,o)=>t in e?sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,b=(e,t)=>{for(var o in t||(t={}))ci.call(t,o)&&di(e,o,t[o]);if(Wo)for(var o of Wo(t))mi.call(t,o)&&di(e,o,t[o]);return e},j=(e,t)=>la(e,aa(t));var ui=e=>typeof e=="symbol"?e:e+"",$e=(e,t)=>{var o={};for(var i in e)ci.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Wo)for(var i of Wo(e))t.indexOf(i)<0&&mi.call(e,i)&&(o[i]=e[i]);return o};var M=(e,t,o)=>new Promise((i,n)=>{var r=d=>{try{a(o.next(d))}catch(l){n(l)}},s=d=>{try{a(o.throw(d))}catch(l){n(l)}},a=d=>d.done?i(d.value):Promise.resolve(d.value).then(r,s);a((o=o.apply(e,t)).next())});var _react = require('react'); var Ur = _interopRequireWildcard(_react); var br = _interopRequireWildcard(_react);var _styledcomponents = require('styled-components'); var _styledcomponents2 = _interopRequireDefault(_styledcomponents);var fi="1.38.5";var st="NOT_STARTED_STEP",pe="COMPLETED_FLOW",It="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",Me="COMPLETED_STEP",yo="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=Ur.default.useContext(oe);return{config:_react.useMemo.call(void 0, ()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":fi,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:_react.useMemo.call(void 0, ()=>`${o}/v1/public/`,[o])}}var pa="frigade-last-call-at-",da="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=Ur.default.useContext(oe);return(o,i)=>M(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=pa+o,r=da+o;if(typeof window!="undefined"&&window.localStorage&&i&&i.body&&i.method==="POST"){let a=window.localStorage.getItem(n),d=window.localStorage.getItem(r);if(a&&d&&d==i.body){let l=new Date(a);if(new Date().getTime()-l.getTime()<1e3)return Kt()}typeof window!="undefined"&&(window.localStorage.setItem(n,new Date().toISOString()),window.localStorage.setItem(r,i.body))}let s;try{s=yield fetch(o,i)}catch(a){return Kt(a)}return s?s.ok?s:Kt(s.statusText):Kt()})}function Kt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Yt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Ur.default.useContext(oe);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}var _swr = require('swr'); var _swr2 = _interopRequireDefault(_swr);function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=_react.useContext.call(void 0, oe);function r(c,g=!1){var S;return(S=e[c])!=null?S:g}function s(c,g){t(S=>j(b({},S),{[c]:g}))}function a(c){t(g=>{let h=g,{[c]:S}=h,k=$e(h,[ui(c)]);return b({},k)})}function d(c){n.includes(c)||i(g=>[...g,c])}function l(c){return n.includes(c)}function u(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:a,hasOpenModals:u,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:l}}var _immutable = require('swr/immutable'); var _immutable2 = _interopRequireDefault(_immutable);var _structuredclone = require('core-js-pure/actual/structured-clone'); var _structuredclone2 = _interopRequireDefault(_structuredclone);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=_structuredclone2.default.call(void 0, t);return Object.entries(o).forEach(([n,r])=>{Tr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],_structuredclone2.default.call(void 0, r))}):Object.assign(i,{[n]:_structuredclone2.default.call(void 0, r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],..._structuredclone2.default.call(void 0, r)]}):Object.assign(i,{[n]:_structuredclone2.default.call(void 0, 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 xa="unknown";function _e(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:s,readonly:a}=_react.useContext.call(void 0, oe),{resetOpenFlowState:d}=Ne(),[l,u]=_react.useState.call(void 0, !1),c={data:r.map(T=>({flowId:T.id,flowState:pe,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=T=>fetch(T,e).then(A=>{if(A.ok)return A.json();throw new Error("Failed to fetch user flow states")}).catch(A=>(console.log(`Error fetching ${T}: ${A}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:k,isLoading:h,mutate:x,error:F}=a?_immutable2.default.call(void 0, S,g):_swr2.default.call(void 0, S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),y=k==null?void 0:k.data;_react.useEffect.call(void 0, ()=>{!l&&!h&&y&&u(!0)},[y,l,h]);function v(T){return M(this,null,function*(){if(y&&!a){let A=y.find(N=>N.flowId===T);A&&A.flowState!==pe&&(A.flowState=pe),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function L(T){return M(this,null,function*(){if(y&&!a){let A=y.find(N=>N.flowId===T);A&&A.flowState!==It&&(A.flowState=It),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}function E(T,A,N){return M(this,null,function*(){var U,z;if(y){let G=y.find(_=>_.flowId===T);if(G){let _=r.find(q=>q.slug===T),K=Jt(_==null?void 0:_.data),J=(z=(U=K==null?void 0:K.steps)!=null?U:K==null?void 0:K.data)!=null?z:[],O=J.findIndex(q=>q.id===A),Z=J&&J.length>O+1?J[O+1]:null;Z&&(G.lastStepId=Z.id),G.stepStates[A]=N,G.flowState=Ot}a||(yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}))}})}function f(T,A,N){return M(this,null,function*(){if(y){let U=y.find(z=>z.flowId===T);U&&(U.lastStepId=A,U.stepStates[A]=N,U.flowState=Ot),a||(yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}))}})}function w(T){return M(this,null,function*(){if(y){let A=y.find(N=>N.flowId===T);A&&A.flowState!==Ue&&(A.flowState=Ue,A.lastStepId=xa,Object.keys(A.stepStates).forEach(N=>{A.stepStates[N].actionType=st,A.stepStates[N].createdAt=new Date().toISOString()}),yield x(ue(k,{data:y}),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1}),d(T))}})}function I(T,A,N){return M(this,null,function*(){if(y){let U=y.find(z=>z.flowId===T);U&&(U.stepStates[A]=N),yield x(Promise.resolve(ue(k,{data:y})),{optimisticData:ue(k,{data:y}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:y,isLoadingUserFlowStateData:!l,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowSkipped:L,optimisticallyMarkFlowNotStarted:w,optimisticallyMarkStepCompleted:E,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:f,error:F}}function bo(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=_e(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:s,setFlowResponses:a}=_react.useContext.call(void 0, oe),[d,l]=_react.useState.call(void 0, new Set),[u,c]=_react.useState.call(void 0, new Set),g=qt();function S(x){let F=JSON.stringify(x);if(d.has(F))return null;d.add(F),l(d),u.add(x),c(u);let y=s==null?void 0:s.find(v=>v.flowSlug===x.flowSlug&&v.stepId===x.stepId&&v.actionType===x.actionType&&v.createdAt===x.createdAt);return g(`${t}flowResponses`,j(b({},e),{method:"POST",body:F})).then(v=>{v.status!==200&&v.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):y||a(L=>[...L!=null?L:[],x])})}function k(x){return M(this,null,function*(){x.foreignUserId&&(x.actionType===Ot||x.actionType===Ue?yield S(x):x.actionType===pe?yield S(x):x.actionType===yo?yield S(x):x.actionType===Me?yield S(x):x.actionType===It?yield S(x):x.actionType===st&&(yield S(x)))})}function h(){let x=[];return o==null||o.forEach(F=>{if(F&&F.stepStates&&Object.keys(F.stepStates).length!==0)for(let y in F.stepStates){let v=F.stepStates[y];x.push({foreignUserId:F.foreignUserId,flowSlug:F.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden})}}),[...x,...s]}return{addResponse:k,setFlowResponses:a,getFlowResponses:h}}var ya=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,xi=e=>{let t=ya.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=Sa(i,"'","");r.startsWith("flow_")&&(o=r)}),o},Sa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};var Fr=(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))(Fr||{});function ie(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:s,customVariables:a,setCustomVariables:d,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:u,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:S,readonly:k,flowDataOverrides:h}=_react.useContext.call(void 0, oe),x={data:[]},{verifySDKInitiated:F}=Yt(),{addResponse:y,getFlowResponses:v}=bo(),L=m=>fetch(m,e).then(C=>C.ok?C.json():(console.log(`Error fetching ${m} (${C.status}): ${C.statusText}. Will gracefully degrade and hide Frigade`),g(!0),x)).catch(C=>(console.log(`Error fetching ${m}: ${C}. Will gracefully degrade and hide Frigade`),g(!0),x)),{mutateUserFlowState:E,userFlowStatesData:f,isLoadingUserFlowStateData:w,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowSkipped:T,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:U,optimisticallyMarkStepStarted:z}=_e(),{data:G,error:_,isLoading:K}=_swr2.default.call(void 0, s?`${t}flows${k?"?readonly=true":""}`:null,L,{keepPreviousData:!0});_react.useEffect.call(void 0, ()=>{if(_){console.error(_);return}G&&G.data&&i(G.data)},[G,_]);function J(m){if(K)return null;let C=o.find(P=>P.slug===m);return!C&&o.length>0&&!w&&!K?(console.log(`Flow with id ${m} not found`),null):(C&&h&&h[m]&&(C.data=h[m]),(C==null?void 0:C.active)===!1&&!k?null:C)}function O(m){var W,Be,Et,At,Nt;if(!J(m))return[];let C=(W=J(m))==null?void 0:W.data;return C?(C=Z(C),((Nt=(At=(Be=Jt(C))==null?void 0:Be.data)!=null?At:(Et=Jt(C))==null?void 0:Et.steps)!=null?Nt:[]).map(ge=>{let xo=je(ge);return j(b({handleSecondaryButtonClick:()=>{ge.skippable===!0&&$(m,ge.id,{skipped:!0})}},ge),{complete:H(m,ge.id)===Me||xo>=1,started:H(m,ge.id)===yo||H(m,ge.id)===Me,currentlyActive:f==null?void 0:f.some(Co=>Co.flowId==m&&Co.lastStepId===ge.id),blocked:V(m,ge.id),hidden:ee(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&$(m,ge.id)},progress:xo})}).filter(ge=>ge.hidden!==!0)):[]}function Z(m){return m.replaceAll(/\${(.*?)}/g,(C,P)=>a[P]===void 0?"":String(a[P]).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 P;if(!J(m))return[];let C=J(m).data;return C?(C=Z(C),(P=JSON.parse(C))!=null?P:{}):[]}function ne(m,C){d(P=>j(b({},P),{[m]:C}))}function Se(m){!w&&!K&&m&&JSON.stringify(a)!=JSON.stringify(b(b({},a),m))&&Object.keys(m).forEach(C=>{ne(C,m[C])})}let ke=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:yo,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield z(m,C,W),y(W))}),[n,r,f]),R=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:st,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield U(m,C,W),y(W))}),[n,r,f]),$=_react.useCallback.call(void 0, (m,C,P)=>M(this,null,function*(){if(!F())return;let W={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:Me,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};ae(W)&&(yield N(m,C,W),y(W))}),[n,r,f]),re=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F()||xt(m)===Ue)return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ue,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};yield A(m),ae(P)&&y(P)}),[n,r,f]),Pe=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Ot,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&y(P)}),[n,r,f]),Ve=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:pe,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&(yield I(m),y(P))}),[n,r,f]),ve=_react.useCallback.call(void 0, (m,C)=>M(this,null,function*(){if(!F())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:It,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};ae(P)&&(yield T(m),y(P))}),[n,r,f]);function ae(m){var C;if(f===void 0)return!1;if(f){let P=f.find(W=>W.flowId===m.flowSlug);if(m.actionType===st&&(!(P!=null&&P.stepStates[m.stepId])||P.stepStates[m.stepId].actionType===st))return!1;if(P&&((C=P.stepStates[m.stepId])==null?void 0:C.actionType)===m.actionType){if(m.actionType===Me&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return!1;let W=Object.keys(P.stepStates).sort((Be,Et)=>{let At=new Date(P.stepStates[Be].createdAt),Nt=new Date(P.stepStates[Et].createdAt);return At.getTime()-Nt.getTime()});if(P.stepStates[W[W.length-1]].actionType===m.actionType&&m.stepId===W[W.length-1])return!1}if(P&&P.flowState===pe&&m.actionType===pe)return!1}return!0}function H(m,C){let P=D(m,C);return w?null:P?P.actionType:st}function V(m,C){let P=D(m,C);return P?P.blocked:!1}function ee(m,C){let P=D(m,C);return P?P.hidden:!1}function D(m,C){var W;if(w)return null;let P=f==null?void 0:f.find(Be=>Be.flowId===m);return!P||!P.stepStates[C]?null:(W=P.stepStates[C])!=null?W:null}function Q(m){var P,W;if(w||!f)return null;if(xt(m)===Ue)return(P=O(m)[0])!=null?P:null;let C=(W=f.find(Be=>Be.flowId===m))==null?void 0:W.lastStepId;return C?O(m).find(Be=>Be.id===C):null}function we(m){var W;let C=Q(m);if(!C)return 0;let P=(W=O(m).findIndex(Be=>Be.id===C.id))!=null?W:0;return H(m,C.id)===Me&&P<O(m).length-1?P+1:P}function je(m){if(!m.completionCriteria)return;let C=xi(m.completionCriteria);if(C===null)return;let P=Ye(C),W=nt(C);return W===0?void 0:P/W}function xt(m){let C=f==null?void 0:f.find(P=>P.flowId===m);return C?C.flowState:null}function Ye(m){let C=O(m);return C.length===0?0:C.filter(W=>H(m,W.id)===Me).length}function nt(m){return O(m).length}function Qe(m){let C=o.find(P=>P.slug===m);return C?(h&&h[m]&&(C.data=h[m]),Jt(C.data)):null}function vt(m){if(k)return!1;if(w||S)return!0;if(m!=null&&m.targetingLogic&&f){let C=f.find(P=>P.flowId===m.slug);if(C)return C.shouldTrigger===!1}return!!(m!=null&&m.targetingLogic&&n&&n.startsWith("guest_"))}function jt(m){return!vt(J(m))}function Gt(){n&&E()}function Bt(){return o}return{getAllFlows:Bt,getFlow:J,getFlowData:Qe,isLoading:w||K,getStepStatus:H,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:$,markFlowNotStarted:re,markFlowStarted:Pe,markFlowCompleted:Ve,markFlowSkipped:ve,markStepNotStarted:R,getFlowStatus:xt,getNumberOfStepsCompleted:Ye,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:ne,updateCustomVariables:Se,customVariables:a,getStepOptionalProgress:je,getFlowMetadata:q,isStepBlocked:V,isStepHidden:ee,hasActiveFullPageFlow:l,setHasActiveFullPageFlow:u,isFlowAvailableToUser:jt,refresh:Gt}}var Xt="guest_";function wo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=_react.useContext.call(void 0, oe),{config:r,apiUrl:s}=Re(),{mutateUserFlowState:a}=_e(),d=qt(),{verifySDKInitiated:l}=Yt();function u(h){return`frigade-user-registered-${h}`}_react.useEffect.call(void 0, ()=>{if(e&&!t){if(e.startsWith(Xt))return;let h=u(e);localStorage.getItem(h)||(d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(h,"true"))}},[e,n,t]);let c=_react.useCallback.call(void 0, h=>M(this,null,function*(){if(!l())return;let x={foreignId:e,properties:h};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(x)})),i(F=>b(b({},F),h)),a()}),[e,r,n,a]),g=_react.useCallback.call(void 0, (h,x)=>M(this,null,function*(){if(!l())return;let y={foreignId:e,events:[{event:h,properties:x}]};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(y)})),a()}),[e,r,a]),S=_react.useCallback.call(void 0, (h,x)=>M(this,null,function*(){if(l())if(x&&Object.keys(x).length>0){let F=u(h);localStorage.setItem(F,"true"),o(h);let y={foreignId:h,properties:x};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(y)})),i(v=>b(b({},v),x)),a()}else o(h)}),[r,n,a]),k=_react.useCallback.call(void 0, h=>M(this,null,function*(){if(!l())return;let x=typeof window!="undefined"?localStorage.getItem($t):null;if(console.log("id",localStorage.getItem($t)),!x)return;let F={foreignId:h,linkGuestId:x};yield d(`${s}users`,j(b({},r),{method:"POST",body:JSON.stringify(F)})),a()}),[r,n,a]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:k}}var _uuid = require('uuid');var Ci="fr-",To="cfr-";function p(e,t){let o=`${Ci}${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+" "+To+e}return o}function B(e){if(!e.className||e.className.indexOf(To)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Ci)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Ho(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=>`${Ho(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function Fo(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Ba=_styledcomponents2.default.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  position: fixed;
@@ -610,7 +610,7 @@ var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnProp
610
610
  height: 100%;
611
611
  min-height: 400px;
612
612
  border-radius: ${e=>e.appearance.theme.borderRadius}px;
613
- }`,_p=_styledcomponents2.default.iframe`
613
+ `,_p=_styledcomponents2.default.iframe`
614
614
  width: 100%;
615
615
  height: 100%;
616
616
  min-height: 400px;