@frigade/react 1.38.18 → 1.38.19
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 +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -39,7 +39,7 @@ var ha__default = /*#__PURE__*/_interopDefault(ha);
|
|
|
39
39
|
var So__default = /*#__PURE__*/_interopDefault(So);
|
|
40
40
|
var mp__default = /*#__PURE__*/_interopDefault(mp);
|
|
41
41
|
|
|
42
|
-
var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnPropertyDescriptors;var Wo=Object.getOwnPropertySymbols;var mi=Object.prototype.hasOwnProperty,ui=Object.prototype.propertyIsEnumerable;var ci=(e,t,o)=>t in e?sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,w=(e,t)=>{for(var o in t||(t={}))mi.call(t,o)&&ci(e,o,t[o]);if(Wo)for(var o of Wo(t))ui.call(t,o)&&ci(e,o,t[o]);return e},V=(e,t)=>la(e,aa(t));var fi=e=>typeof e=="symbol"?e:e+"",$e=(e,t)=>{var o={};for(var i in e)mi.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&&ui.call(e,i)&&(o[i]=e[i]);return o};var L=(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 gi="1.38.18";var st="NOT_STARTED_STEP",de="COMPLETED_FLOW",Nt="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",_e="COMPLETED_STEP",yo="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=J__namespace.default.useContext(re);return {config:J.useMemo(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":gi,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:J.useMemo(()=>`${o}/v1/public/`,[o])}}var pa="frigade-last-call-at-",da="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=J__namespace.default.useContext(re);return (o,i)=>L(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 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}=J__namespace.default.useContext(re);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return {verifySDKInitiated:o}}function Ie(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=J.useContext(re);function r(c,g=!1){var S;return (S=e[c])!=null?S:g}function l(c,g){t(S=>V(w({},S),{[c]:g}));}function p(c){t(g=>{let h=g,F=$e(h,[fi(c)]);return w({},F)});}function d(c){n.includes(c)||i(g=>[...g,c]);}function s(c){return n.includes(c)}function u(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:u,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}function wr(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(!wr(t)||!wr(o))throw new Error("deepmerge can only merge Objects");let i=So__default.default(t);return Object.entries(o).forEach(([n,r])=>{wr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],So__default.default(r))}):Object.assign(i,{[n]:So__default.default(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...So__default.default(r)]}):Object.assign(i,{[n]:So__default.default(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 ze(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=J.useContext(re),{resetOpenFlowState:d}=Ie(),[s,u]=J.useState(!1),c={data:r.map(T=>({flowId:T.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=T=>fetch(T,e).then(I=>{if(I.ok)return I.json();throw new Error("Failed to fetch user flow states")}).catch(I=>(console.log(`Error fetching ${T}: ${I}. Will gracefully degrade and hide Frigade`),l(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:F,isLoading:h,mutate:x,error:k}=p?ha__default.default(S,g):ga__default.default(S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),b=F==null?void 0:F.data;J.useEffect(()=>{!s&&!h&&b&&u(!0);},[b,s,h]);function v(T){return L(this,null,function*(){if(b&&!p){let I=b.find(N=>N.flowId===T);I&&I.flowState!==de&&(I.flowState=de),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}function $(T){return L(this,null,function*(){if(b&&!p){let I=b.find(N=>N.flowId===T);I&&I.flowState!==Nt&&(I.flowState=Nt),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}function E(T,I,N){return L(this,null,function*(){var D,W;if(b){let G=b.find(_=>_.flowId===T);if(G){let _=r.find(Y=>Y.slug===T),K=Jt(_==null?void 0:_.data),q=(W=(D=K==null?void 0:K.steps)!=null?D:K==null?void 0:K.data)!=null?W:[],O=q.findIndex(Y=>Y.id===I),ee=q&&q.length>O+1?q[O+1]:null;ee&&(G.lastStepId=ee.id),G.stepStates[I]=N,G.flowState=Ot;}p||(yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}));}})}function f(T,I,N){return L(this,null,function*(){if(b){let D=b.find(W=>W.flowId===T);D&&(D.lastStepId=I,D.stepStates[I]=N,D.flowState=Ot),p||(yield x(ue(F,{data:b}),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}));}})}function A(T){return L(this,null,function*(){if(b){let I=b.find(N=>N.flowId===T);I&&I.flowState!==Ue&&(I.flowState=Ue,I.lastStepId=xa,Object.keys(I.stepStates).forEach(N=>{I.stepStates[N].actionType=st,I.stepStates[N].createdAt=new Date().toISOString();}),yield x(ue(F,{data:b}),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}),d(T));}})}function y(T,I,N){return L(this,null,function*(){if(b){let D=b.find(W=>W.flowId===T);D&&(D.stepStates[I]=N),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:b,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowSkipped:$,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:E,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:f,error:k}}function bo(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=ze(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=J.useContext(re),[d,s]=J.useState(new Set),[u,c]=J.useState(new Set),g=qt();function S(x){let k=JSON.stringify(x);if(d.has(k))return null;d.add(k),s(d),u.add(x),c(u);let b=l==null?void 0:l.find(v=>v.flowSlug===x.flowSlug&&v.stepId===x.stepId&&v.actionType===x.actionType&&v.createdAt===x.createdAt);return g(`${t}flowResponses`,V(w({},e),{method:"POST",body:k})).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])):b||p($=>[...$!=null?$:[],x]);})}function F(x){return L(this,null,function*(){x.foreignUserId&&(x.actionType===Ot||x.actionType===Ue?yield S(x):x.actionType===de?yield S(x):x.actionType===yo?yield S(x):x.actionType===_e?yield S(x):x.actionType===Nt?yield S(x):x.actionType===st&&(yield S(x)));})}function h(){let x=[];return o==null||o.forEach(k=>{if(k&&k.stepStates&&Object.keys(k.stepStates).length!==0)for(let b in k.stepStates){let v=k.stepStates[b];x.push({foreignUserId:k.foreignUserId,flowSlug:k.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden});}}),[...x,...l]}return {addResponse:F,setFlowResponses:p,getFlowResponses:h}}var ya=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ci=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 Tr=(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))(Tr||{});function ne(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:u,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:S,readonly:F,flowDataOverrides:h}=J.useContext(re),x={data:[]},{verifySDKInitiated:k}=Yt(),{addResponse:b,getFlowResponses:v}=bo(),$=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:A,optimisticallyMarkFlowCompleted:y,optimisticallyMarkFlowSkipped:T,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:D,optimisticallyMarkStepStarted:W}=ze(),{data:G,error:_,isLoading:K}=ga__default.default(l?`${t}flows${F?"?readonly=true":""}`:null,$,{keepPreviousData:!0});J.useEffect(()=>{if(_){console.error(_);return}G&&G.data&&i(G.data);},[G,_]);function q(m){if(K)return null;let C=o.find(P=>P.slug===m);return !C&&o.length>0&&!A&&!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&&!F?null:C)}function O(m){var z,Be,Et,At,It;if(!q(m))return [];let C=(z=q(m))==null?void 0:z.data;return C?(C=ee(C),((It=(At=(Be=Jt(C))==null?void 0:Be.data)!=null?At:(Et=Jt(C))==null?void 0:Et.steps)!=null?It:[]).map(ge=>{let xo=Ke(ge);return V(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&U(m,ge.id,{skipped:!0});}},ge),{complete:H(m,ge.id)===_e||xo>=1,started:H(m,ge.id)===yo||H(m,ge.id)===_e,currentlyActive:f==null?void 0:f.some(Co=>Co.flowId==m&&Co.lastStepId===ge.id),blocked:X(m,ge.id),hidden:te(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&U(m,ge.id);},progress:xo})}).filter(ge=>ge.hidden!==!0)):[]}function ee(m){return m.replaceAll(/\${(.*?)}/g,(C,P)=>p[P]===void 0?"":String(p[P]).replace(/[\u00A0-\u9999<>\&]/g,function(z){return "&#"+z.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 Y(m){var P;if(!q(m))return [];let C=q(m).data;return C?(C=ee(C),(P=JSON.parse(C))!=null?P:{}):[]}function se(m,C){d(P=>V(w({},P),{[m]:C}));}function Se(m){!A&&!K&&m&&JSON.stringify(p)!=JSON.stringify(w(w({},p),m))&&Object.keys(m).forEach(C=>{se(C,m[C]);});}let ke=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:yo,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield W(m,C,z),b(z));}),[n,r,f]),R=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:st,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield D(m,C,z),b(z));}),[n,r,f]),U=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:_e,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield N(m,C,z),b(z));}),[n,r,f]),ie=J.useCallback((m,C)=>L(this,null,function*(){if(!k()||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 I(m),pe(P)&&b(P);}),[n,r,f]),Pe=J.useCallback((m,C)=>L(this,null,function*(){if(!k())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};pe(P)&&b(P);}),[n,r,f]),Ge=J.useCallback((m,C)=>L(this,null,function*(){if(!k())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:de,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};pe(P)&&(yield y(m),b(P));}),[n,r,f]),ve=J.useCallback((m,C)=>L(this,null,function*(){if(!k())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Nt,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};pe(P)&&(yield T(m),b(P));}),[n,r,f]);function pe(m){var C;if(f===void 0)return !1;if(f){let P=f.find(z=>z.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===_e&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return !1;let z=Object.keys(P.stepStates).sort((Be,Et)=>{let At=new Date(P.stepStates[Be].createdAt),It=new Date(P.stepStates[Et].createdAt);return At.getTime()-It.getTime()});if(P.stepStates[z[z.length-1]].actionType===m.actionType&&m.stepId===z[z.length-1])return !1}if(P&&P.flowState===de&&m.actionType===de)return !1}return !0}function H(m,C){let P=M(m,C);return A?null:P?P.actionType:st}function X(m,C){let P=M(m,C);return P?P.blocked:!1}function te(m,C){let P=M(m,C);return P?P.hidden:!1}function M(m,C){var z;if(A)return null;let P=f==null?void 0:f.find(Be=>Be.flowId===m);return !P||!P.stepStates[C]?null:(z=P.stepStates[C])!=null?z:null}function Z(m){var P,z;if(A||!f)return null;if(xt(m)===Ue)return (P=O(m)[0])!=null?P:null;let C=(z=f.find(Be=>Be.flowId===m))==null?void 0:z.lastStepId;return C?O(m).find(Be=>Be.id===C):null}function we(m){var z;let C=Z(m);if(!C)return 0;let P=(z=O(m).findIndex(Be=>Be.id===C.id))!=null?z:0;return H(m,C.id)===_e&&P<O(m).length-1?P+1:P}function Ke(m){if(!m.completionCriteria)return;let C=Ci(m.completionCriteria);if(C===null)return;let P=Je(C),z=nt(C);return z===0?void 0:P/z}function xt(m){let C=f==null?void 0:f.find(P=>P.flowId===m);return C?C.flowState:null}function Je(m){let C=O(m);return C.length===0?0:C.filter(z=>H(m,z.id)===_e).length}function nt(m){return O(m).length}function Ze(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(F)return !1;if(A||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){let C=q(m);return (C==null?void 0:C.active)===!1?!1:!vt(q(m))}function Gt(){n&&E();}function Bt(){return o}return {getAllFlows:Bt,getFlow:q,getFlowData:Ze,isLoading:A||K,getStepStatus:H,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:U,markFlowNotStarted:ie,markFlowStarted:Pe,markFlowCompleted:Ge,markFlowSkipped:ve,markStepNotStarted:R,getFlowStatus:xt,getNumberOfStepsCompleted:Je,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:se,updateCustomVariables:Se,customVariables:p,getStepOptionalProgress:Ke,getFlowMetadata:Y,isStepBlocked:X,isStepHidden:te,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:u,isFlowAvailableToUser:jt,refresh:Gt}}var Xt="guest_";function wo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=J.useContext(re),{config:r,apiUrl:l}=Re(),{mutateUserFlowState:p}=ze(),d=qt(),{verifySDKInitiated:s}=Yt();function u(h){return `frigade-user-registered-${h}`}J.useEffect(()=>{if(e&&!t){if(e.startsWith(Xt))return;let h=u(e);localStorage.getItem(h)||(d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(h,"true"));}},[e,n,t]);let c=J.useCallback(h=>L(this,null,function*(){if(!s())return;let x={foreignId:e,properties:h};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(x)})),i(k=>w(w({},k),h)),p();}),[e,r,n,p]),g=J.useCallback((h,x)=>L(this,null,function*(){if(!s())return;let b={foreignId:e,events:[{event:h,properties:x}]};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(b)})),p();}),[e,r,p]),S=J.useCallback((h,x)=>L(this,null,function*(){if(s())if(x&&Object.keys(x).length>0){let k=u(h);localStorage.setItem(k,"true"),o(h);let b={foreignId:h,properties:x};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(b)})),i(v=>w(w({},v),x)),p();}else o(h);}),[r,n,p]),F=J.useCallback(h=>L(this,null,function*(){if(!s())return;let x=typeof window!="undefined"?localStorage.getItem($t):null;if(console.log("id",localStorage.getItem($t)),!x)return;let k={foreignId:h,linkGuestId:x};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(k)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:F}}var yi="fr-",To="cfr-";function a(e,t){let o=`${yi}${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(yi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Vo(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=>`${Vo(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=xe__default.default.div`
|
|
42
|
+
var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnPropertyDescriptors;var Wo=Object.getOwnPropertySymbols;var mi=Object.prototype.hasOwnProperty,ui=Object.prototype.propertyIsEnumerable;var ci=(e,t,o)=>t in e?sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,w=(e,t)=>{for(var o in t||(t={}))mi.call(t,o)&&ci(e,o,t[o]);if(Wo)for(var o of Wo(t))ui.call(t,o)&&ci(e,o,t[o]);return e},V=(e,t)=>la(e,aa(t));var fi=e=>typeof e=="symbol"?e:e+"",$e=(e,t)=>{var o={};for(var i in e)mi.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&&ui.call(e,i)&&(o[i]=e[i]);return o};var L=(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 gi="1.38.19";var st="NOT_STARTED_STEP",de="COMPLETED_FLOW",Nt="SKIPPED_FLOW",Ot="STARTED_FLOW",Ue="NOT_STARTED_FLOW",_e="COMPLETED_STEP",yo="STARTED_STEP";function Re(){let{publicApiKey:e,userId:t,apiUrl:o}=J__namespace.default.useContext(re);return {config:J.useMemo(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":gi,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:J.useMemo(()=>`${o}/v1/public/`,[o])}}var pa="frigade-last-call-at-",da="frigade-last-call-data-";function qt(){let{shouldGracefullyDegrade:e,readonly:t}=J__namespace.default.useContext(re);return (o,i)=>L(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 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}=J__namespace.default.useContext(re);function o(){return t?!1:e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return {verifySDKInitiated:o}}function Ie(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=J.useContext(re);function r(c,g=!1){var S;return (S=e[c])!=null?S:g}function l(c,g){t(S=>V(w({},S),{[c]:g}));}function p(c){t(g=>{let h=g,F=$e(h,[fi(c)]);return w({},F)});}function d(c){n.includes(c)||i(g=>[...g,c]);}function s(c){return n.includes(c)}function u(c){return Object.entries(e).some(([g,S])=>S&&g!=c)||o}return {getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:u,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}function wr(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(!wr(t)||!wr(o))throw new Error("deepmerge can only merge Objects");let i=So__default.default(t);return Object.entries(o).forEach(([n,r])=>{wr(r)?i[n]!==void 0?Object.assign(i,{[n]:ue(i[n],So__default.default(r))}):Object.assign(i,{[n]:So__default.default(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...So__default.default(r)]}):Object.assign(i,{[n]:So__default.default(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 ze(){let{config:e,apiUrl:t}=Re(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=J.useContext(re),{resetOpenFlowState:d}=Ie(),[s,u]=J.useState(!1),c={data:r.map(T=>({flowId:T.id,flowState:de,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=T=>fetch(T,e).then(I=>{if(I.ok)return I.json();throw new Error("Failed to fetch user flow states")}).catch(I=>(console.log(`Error fetching ${T}: ${I}. Will gracefully degrade and hide Frigade`),l(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:F,isLoading:h,mutate:x,error:k}=p?ha__default.default(S,g):ga__default.default(S,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),b=F==null?void 0:F.data;J.useEffect(()=>{!s&&!h&&b&&u(!0);},[b,s,h]);function v(T){return L(this,null,function*(){if(b&&!p){let I=b.find(N=>N.flowId===T);I&&I.flowState!==de&&(I.flowState=de),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}function $(T){return L(this,null,function*(){if(b&&!p){let I=b.find(N=>N.flowId===T);I&&I.flowState!==Nt&&(I.flowState=Nt),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}function E(T,I,N){return L(this,null,function*(){var D,W;if(b){let G=b.find(_=>_.flowId===T);if(G){let _=r.find(Y=>Y.slug===T),K=Jt(_==null?void 0:_.data),q=(W=(D=K==null?void 0:K.steps)!=null?D:K==null?void 0:K.data)!=null?W:[],O=q.findIndex(Y=>Y.id===I),ee=q&&q.length>O+1?q[O+1]:null;ee&&(G.lastStepId=ee.id),G.stepStates[I]=N,G.flowState=Ot;}p||(yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}));}})}function f(T,I,N){return L(this,null,function*(){if(b){let D=b.find(W=>W.flowId===T);D&&(D.lastStepId=I,D.stepStates[I]=N,D.flowState=Ot),p||(yield x(ue(F,{data:b}),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}));}})}function A(T){return L(this,null,function*(){if(b){let I=b.find(N=>N.flowId===T);I&&I.flowState!==Ue&&(I.flowState=Ue,I.lastStepId=xa,Object.keys(I.stepStates).forEach(N=>{I.stepStates[N].actionType=st,I.stepStates[N].createdAt=new Date().toISOString();}),yield x(ue(F,{data:b}),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1}),d(T));}})}function y(T,I,N){return L(this,null,function*(){if(b){let D=b.find(W=>W.flowId===T);D&&(D.stepStates[I]=N),yield x(Promise.resolve(ue(F,{data:b})),{optimisticData:ue(F,{data:b}),revalidate:!1,rollbackOnError:!1});}})}return {userFlowStatesData:b,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowSkipped:$,optimisticallyMarkFlowNotStarted:A,optimisticallyMarkStepCompleted:E,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:f,error:k}}function bo(){let{config:e,apiUrl:t}=Re(),{userFlowStatesData:o,mutateUserFlowState:i}=ze(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=J.useContext(re),[d,s]=J.useState(new Set),[u,c]=J.useState(new Set),g=qt();function S(x){let k=JSON.stringify(x);if(d.has(k))return null;d.add(k),s(d),u.add(x),c(u);let b=l==null?void 0:l.find(v=>v.flowSlug===x.flowSlug&&v.stepId===x.stepId&&v.actionType===x.actionType&&v.createdAt===x.createdAt);return g(`${t}flowResponses`,V(w({},e),{method:"POST",body:k})).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])):b||p($=>[...$!=null?$:[],x]);})}function F(x){return L(this,null,function*(){x.foreignUserId&&(x.actionType===Ot||x.actionType===Ue?yield S(x):x.actionType===de?yield S(x):x.actionType===yo?yield S(x):x.actionType===_e?yield S(x):x.actionType===Nt?yield S(x):x.actionType===st&&(yield S(x)));})}function h(){let x=[];return o==null||o.forEach(k=>{if(k&&k.stepStates&&Object.keys(k.stepStates).length!==0)for(let b in k.stepStates){let v=k.stepStates[b];x.push({foreignUserId:k.foreignUserId,flowSlug:k.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden});}}),[...x,...l]}return {addResponse:F,setFlowResponses:p,getFlowResponses:h}}var ya=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ci=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 Tr=(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))(Tr||{});function ne(){let{config:e,apiUrl:t}=Re(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:u,setFlowResponses:c,setShouldGracefullyDegrade:g,shouldGracefullyDegrade:S,readonly:F,flowDataOverrides:h}=J.useContext(re),x={data:[]},{verifySDKInitiated:k}=Yt(),{addResponse:b,getFlowResponses:v}=bo(),$=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:A,optimisticallyMarkFlowCompleted:y,optimisticallyMarkFlowSkipped:T,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:D,optimisticallyMarkStepStarted:W}=ze(),{data:G,error:_,isLoading:K}=ga__default.default(l?`${t}flows${F?"?readonly=true":""}`:null,$,{keepPreviousData:!0});J.useEffect(()=>{if(_){console.error(_);return}G&&G.data&&i(G.data);},[G,_]);function q(m){if(K)return null;let C=o.find(P=>P.slug===m);return !C&&o.length>0&&!A&&!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&&!F?null:C)}function O(m){var z,Be,Et,At,It;if(!q(m))return [];let C=(z=q(m))==null?void 0:z.data;return C?(C=ee(C),((It=(At=(Be=Jt(C))==null?void 0:Be.data)!=null?At:(Et=Jt(C))==null?void 0:Et.steps)!=null?It:[]).map(ge=>{let xo=Ke(ge);return V(w({handleSecondaryButtonClick:()=>{ge.skippable===!0&&U(m,ge.id,{skipped:!0});}},ge),{complete:H(m,ge.id)===_e||xo>=1,started:H(m,ge.id)===yo||H(m,ge.id)===_e,currentlyActive:f==null?void 0:f.some(Co=>Co.flowId==m&&Co.lastStepId===ge.id),blocked:X(m,ge.id),hidden:te(m,ge.id),handlePrimaryButtonClick:()=>{(!ge.completionCriteria&&(ge.autoMarkCompleted||ge.autoMarkCompleted===void 0)||ge.completionCriteria&&ge.autoMarkCompleted===!0)&&U(m,ge.id);},progress:xo})}).filter(ge=>ge.hidden!==!0)):[]}function ee(m){return m.replaceAll(/\${(.*?)}/g,(C,P)=>p[P]===void 0?"":String(p[P]).replace(/[\u00A0-\u9999<>\&]/g,function(z){return "&#"+z.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 Y(m){var P;if(!q(m))return [];let C=q(m).data;return C?(C=ee(C),(P=JSON.parse(C))!=null?P:{}):[]}function se(m,C){d(P=>V(w({},P),{[m]:C}));}function Se(m){!A&&!K&&m&&JSON.stringify(p)!=JSON.stringify(w(w({},p),m))&&Object.keys(m).forEach(C=>{se(C,m[C]);});}let ke=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:yo,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield W(m,C,z),b(z));}),[n,r,f]),R=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:st,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield D(m,C,z),b(z));}),[n,r,f]),U=J.useCallback((m,C,P)=>L(this,null,function*(){if(!k())return;let z={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:C,actionType:_e,data:P!=null?P:{},createdAt:new Date,blocked:!1,hidden:!1};pe(z)&&(yield N(m,C,z),b(z));}),[n,r,f]),ie=J.useCallback((m,C)=>L(this,null,function*(){if(!k()||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 I(m),pe(P)&&b(P);}),[n,r,f]),Pe=J.useCallback((m,C)=>L(this,null,function*(){if(!k())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};pe(P)&&b(P);}),[n,r,f]),Ge=J.useCallback((m,C)=>L(this,null,function*(){if(!k())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:de,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};pe(P)&&(yield y(m),b(P));}),[n,r,f]),ve=J.useCallback((m,C)=>L(this,null,function*(){if(!k())return;let P={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:m,stepId:"unknown",actionType:Nt,data:C!=null?C:{},createdAt:new Date,blocked:!1,hidden:!1};pe(P)&&(yield T(m),b(P));}),[n,r,f]);function pe(m){var C;if(f===void 0)return !1;if(f){let P=f.find(z=>z.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===_e&&(!m.data||JSON.stringify(m.data)===JSON.stringify({})))return !1;let z=Object.keys(P.stepStates).sort((Be,Et)=>{let At=new Date(P.stepStates[Be].createdAt),It=new Date(P.stepStates[Et].createdAt);return At.getTime()-It.getTime()});if(P.stepStates[z[z.length-1]].actionType===m.actionType&&m.stepId===z[z.length-1])return !1}if(P&&P.flowState===de&&m.actionType===de)return !1}return !0}function H(m,C){let P=M(m,C);return A?null:P?P.actionType:st}function X(m,C){let P=M(m,C);return P?P.blocked:!1}function te(m,C){let P=M(m,C);return P?P.hidden:!1}function M(m,C){var z;if(A)return null;let P=f==null?void 0:f.find(Be=>Be.flowId===m);return !P||!P.stepStates[C]?null:(z=P.stepStates[C])!=null?z:null}function Z(m){var P,z;if(A||!f)return null;if(xt(m)===Ue)return (P=O(m)[0])!=null?P:null;let C=(z=f.find(Be=>Be.flowId===m))==null?void 0:z.lastStepId;return C?O(m).find(Be=>Be.id===C):null}function we(m){var z;let C=Z(m);if(!C)return 0;let P=(z=O(m).findIndex(Be=>Be.id===C.id))!=null?z:0;return H(m,C.id)===_e&&P<O(m).length-1?P+1:P}function Ke(m){if(!m.completionCriteria)return;let C=Ci(m.completionCriteria);if(C===null)return;let P=Je(C),z=nt(C);return z===0?void 0:P/z}function xt(m){let C=f==null?void 0:f.find(P=>P.flowId===m);return C?C.flowState:null}function Je(m){let C=O(m);return C.length===0?0:C.filter(z=>H(m,z.id)===_e).length}function nt(m){return O(m).length}function Ze(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(F)return !1;if(A||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){let C=q(m);return (C==null?void 0:C.active)===!1?!1:!vt(q(m))}function Gt(){n&&E();}function Bt(){return o}return {getAllFlows:Bt,getFlow:q,getFlowData:Ze,isLoading:A||K,getStepStatus:H,getFlowSteps:O,getCurrentStepIndex:we,markStepStarted:ke,markStepCompleted:U,markFlowNotStarted:ie,markFlowStarted:Pe,markFlowCompleted:Ge,markFlowSkipped:ve,markStepNotStarted:R,getFlowStatus:xt,getNumberOfStepsCompleted:Je,getNumberOfSteps:nt,targetingLogicShouldHideFlow:vt,setCustomVariable:se,updateCustomVariables:Se,customVariables:p,getStepOptionalProgress:Ke,getFlowMetadata:Y,isStepBlocked:X,isStepHidden:te,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:u,isFlowAvailableToUser:jt,refresh:Gt}}var Xt="guest_";function wo(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=J.useContext(re),{config:r,apiUrl:l}=Re(),{mutateUserFlowState:p}=ze(),d=qt(),{verifySDKInitiated:s}=Yt();function u(h){return `frigade-user-registered-${h}`}J.useEffect(()=>{if(e&&!t){if(e.startsWith(Xt))return;let h=u(e);localStorage.getItem(h)||(d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(h,"true"));}},[e,n,t]);let c=J.useCallback(h=>L(this,null,function*(){if(!s())return;let x={foreignId:e,properties:h};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(x)})),i(k=>w(w({},k),h)),p();}),[e,r,n,p]),g=J.useCallback((h,x)=>L(this,null,function*(){if(!s())return;let b={foreignId:e,events:[{event:h,properties:x}]};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(b)})),p();}),[e,r,p]),S=J.useCallback((h,x)=>L(this,null,function*(){if(s())if(x&&Object.keys(x).length>0){let k=u(h);localStorage.setItem(k,"true"),o(h);let b={foreignId:h,properties:x};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(b)})),i(v=>w(w({},v),x)),p();}else o(h);}),[r,n,p]),F=J.useCallback(h=>L(this,null,function*(){if(!s())return;let x=typeof window!="undefined"?localStorage.getItem($t):null;if(console.log("id",localStorage.getItem($t)),!x)return;let k={foreignId:h,linkGuestId:x};yield d(`${l}users`,V(w({},r),{method:"POST",body:JSON.stringify(k)})),p();}),[r,n,p]);return {userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:g,linkExistingGuestSessionToUser:F}}var yi="fr-",To="cfr-";function a(e,t){let o=`${yi}${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(yi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Vo(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=>`${Vo(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=xe__default.default.div`
|
|
43
43
|
display: flex;
|
|
44
44
|
justify-content: center;
|
|
45
45
|
position: fixed;
|
|
@@ -559,7 +559,7 @@ var sa=Object.defineProperty,la=Object.defineProperties;var aa=Object.getOwnProp
|
|
|
559
559
|
margin-right: 8px;
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
|
-
`,le=({onClick:e,title:t,style:o,disabled:i,type:n="inline",size:r="medium",secondary:l=!1,appearance:p,withMargin:d=!0,classPrefix:s="",loading:u=!1
|
|
562
|
+
`,le=({onClick:e,title:t,style:o,disabled:i,type:n="inline",size:r="medium",secondary:l=!1,appearance:p,withMargin:d=!0,classPrefix:s="",loading:u=!1})=>{var S;function c(){let F=l?"buttonSecondary":"button";return s===""?F:`${s}${Fo(F)}`}let g={tabindex:l?"0":"1",secondary:l,appearance:p,disabled:i||u,loading:(S=u==null?void 0:u.toString())!=null?S:"",onClick:e,styleOverrides:o,type:n,withMargin:d,size:r,className:a(c(),p)};return u?J__namespace.default.createElement(sn,w({},g),J__namespace.default.createElement(nn,{className:a("buttonLoader",p)})):J__namespace.default.createElement(sn,V(w({},g),{dangerouslySetInnerHTML:j(t!=null?t:"Continue")}))};var an=({step:e,canContinue:t,appearance:o,onPrimaryClick:i,onSecondaryClick:n,selectedStep:r,steps:l,onBack:p,allowBackNavigation:d,errorMessage:s,isSaving:u})=>{var S;let c=l.length>1&&r!=0&&d,g=e.primaryButtonTitle&&e.secondaryButtonTitle||c?"inline":"full-width";return J__namespace.default.createElement(J__namespace.default.Fragment,null,s!==null&&s!=null&&J__namespace.default.createElement(Ri,{appearance:o,className:a("formCTAError",o)},s),J__namespace.default.createElement(Zi,{showBackButton:c,className:a("formCTAContainer",o)},c&&J__namespace.default.createElement(le,{title:(S=e.backButtonTitle)!=null?S:"Back",onClick:p,secondary:!0,withMargin:!1,type:g,appearance:o,style:{width:"90px",maxWidth:"90px"},classPrefix:"back"}),J__namespace.default.createElement(en,{className:a("ctaWrapper",o)},e.secondaryButtonTitle?J__namespace.default.createElement(le,{title:e.secondaryButtonTitle,onClick:n,secondary:!0,withMargin:!1,type:g,appearance:o,disabled:u}):null," ",e.primaryButtonTitle?J__namespace.default.createElement(le,{disabled:!t,withMargin:!1,title:e.primaryButtonTitle,onClick:i,type:g,appearance:o,loading:u}):null)))};var Tp=xe__default.default.div`
|
|
563
563
|
text-align: center;
|
|
564
564
|
color: #e6e6e6;
|
|
565
565
|
`,tr=({stepCount:e=0,currentStep:t=0,className:o,appearance:i})=>{let{theme:n}=ce().mergeAppearanceWithDefault(i);return J__namespace.default.createElement(Tp,{className:o},J__namespace.default.createElement("svg",{width:16*e-8,height:8,viewBox:`0 0 ${16*e-8} 8`,fill:"none"},Array(e).fill(null).map((r,l)=>J__namespace.default.createElement("rect",{key:l,x:16*l,y:0,width:8,height:8,rx:4,fill:t===l?n.colorPrimary:"currentColor"}))))};function fe(){let e=J.useContext(re);function t(n){i(n.primaryButtonUri,n.primaryButtonUriTarget);}function o(n){i(n.secondaryButtonUri,n.secondaryButtonUriTarget);}function i(n,r){if(!n)return;let l=n.startsWith("http")?"_blank":"_self";r&&r!=="_blank"&&(l="_self"),e.navigate(n,l);}return {primaryCTAClickSideEffects:t,secondaryCTAClickSideEffects:o,handleUrl:i}}var kp=xe__default.default.div`
|
|
@@ -1512,7 +1512,7 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${To}${t}.${To}${t} { ${Object.entries(o).map
|
|
|
1512
1512
|
`,Oc=xe__default.default(Tl)`
|
|
1513
1513
|
width: ${go+12}px;
|
|
1514
1514
|
height: ${go+12}px;
|
|
1515
|
-
`,Lc=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:n=!0,primaryColor:r="#000000",offset:l={x:0,y:0},visible:p=!0,containerStyle:d={},selectedStep:s=0,customStepTypes:u,appearance:c,dismissible:g=!1,showHighlightOnly:S,showStepCount:F=!0,completedStepsCount:h=0,showFrigadeBranding:x=!1,cssPosition:k="absolute",onViewTooltip:b,className:v})=>{var xt,Je,nt,Ze,vt,jt,Gt,Bt,m,C,P,z,Be,Et,At,It,ge,xo,Co;let{logErrorIfDebugMode:$}=yl(),[E,f]=J.useState(),[A,y]=J.useState(new Date),T=J.useRef(null),[I,N]=J.useState(document.querySelector(e[s].selector)),D=Cl(I,A),[W,G]=J.useState(),[_,K]=J.useState(!S),q=(Je=(xt=e[s])==null?void 0:xt.props)!=null&&Je.position?e[s].props.position:k,O=(vt=(Ze=(nt=e[s])==null?void 0:nt.props)==null?void 0:Ze.zIndex)!=null?vt:90,ee=(jt=E==null?void 0:E.width)!=null?jt:bl,Y=(Gt=E==null?void 0:E.height)!=null?Gt:wl,[se,Se]=J.useState(new Date().getTime());l=(C=(m=(Bt=e[s])==null?void 0:Bt.props)==null?void 0:m.offset)!=null?C:l;let ke=window.location.pathname.split("/").pop();J.useLayoutEffect(()=>{T.current&&f({width:T.current.clientWidth,height:T.current.clientHeight});},[s,A,q]),J.useEffect(()=>{S||K(!0);},[s]),J.useEffect(()=>{p&&_&&b(s);},[_]);let R=()=>{if(q==="static")return;let oe=document.querySelector(e[s].selector);if(!oe){G(void 0),N(null),$(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}W&&W===JSON.stringify(oe==null?void 0:oe.getBoundingClientRect())||(N(oe),y(new Date),oe&&G(JSON.stringify(oe.getBoundingClientRect())));};if(J.useEffect(()=>{let oe=new MutationObserver(R);return oe.observe(document.body,{subtree:!0,childList:!0}),()=>oe.disconnect()},[R]),J.useEffect(()=>{let oe=new MutationObserver(R);return oe.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>oe.disconnect()},[R]),J.useEffect(()=>{let oe=setInterval(()=>{R();},10);return ()=>clearInterval(oe)},[R]),J.useLayoutEffect(()=>{setTimeout(()=>{R();},Ec),R();},[s,ke]),J.useEffect(()=>{if(!p)return;let oe=De=>{De.key==="Escape"&&t();};return document.addEventListener("keydown",oe),()=>{document.removeEventListener("keydown",oe);}},[]),I===null||!p)return null;let U=i==="auto"?"right":i,ie=ri(D,U,ee,l,q),Pe=D.right+ee>(window.innerWidth||document.documentElement.clientWidth);D.bottom+wl>(window.innerHeight||document.documentElement.clientHeight);Pe&&i==="auto"&&(ie=ri(D,"left",ee,l,q),U="left"),(z=(P=e[s])==null?void 0:P.props)!=null&&z.tooltipPosition&&((Et=(Be=e[s])==null?void 0:Be.props)==null?void 0:Et.tooltipPosition)!=="auto"&&(((It=(At=e[s])==null?void 0:At.props)==null?void 0:It.tooltipPosition)==="left"||((xo=(ge=e[s])==null?void 0:ge.props)==null?void 0:xo.tooltipPosition)==="right")&&(U=e[s].props.tooltipPosition);let ve=()=>{let oe=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),K(!1),setTimeout(()=>{R();},30)),h===e.length-1)return o()},De=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),S&&!e[s].secondaryButtonUri&&K(!1));};return J__namespace.default.createElement(J__namespace.default.Fragment,null,F&&e.length>1&&J__namespace.default.createElement(vi,null,J__namespace.default.createElement(Ei,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&J__namespace.default.createElement(Bi,{showStepCount:F,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&J__namespace.default.createElement(le,{title:e[s].secondaryButtonTitle,appearance:c,onClick:De,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&J__namespace.default.createElement(le,{title:e[s].primaryButtonTitle,appearance:c,onClick:oe,autoFocus:!0,withMargin:!1,size:"small"})))},pe=()=>{var oe,De,zo;return J__namespace.default.createElement(J__namespace.default.Fragment,null,g&&J__namespace.default.createElement(wi,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t();},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri,"aria-label":"Close Tooltip",role:"button",tabIndex:0},J__namespace.default.createElement(Ne,null)),e[s].imageUri&&J__namespace.default.createElement(Ti,{dismissible:g,appearance:c,role:"img","aria-label":e[s].title,src:e[s].imageUri,className:a("tooltipImageContainer",c)}),e[s].videoUri&&!e[s].imageUri&&J__namespace.default.createElement(Fi,{dismissible:g,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},J__namespace.default.createElement(ot,{appearance:c,videoUri:e[s].videoUri,autoplay:(oe=e[s].props)==null?void 0:oe.autoplayVideo,loop:(De=e[s].props)==null?void 0:De.loopVideo,hideControls:(zo=e[s].props)==null?void 0:zo.hideVideoControls})),J__namespace.default.createElement(Pi,{className:a("tooltipContentContainer",c)},J__namespace.default.createElement(Oe,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),J__namespace.default.createElement(ki,{className:a("tooltipFooter",c)},J__namespace.default.createElement(ve,null))))},X=w(w({},{default:oe=>{var De;if((De=e[s])!=null&&De.StepContent){let zo=e[s].StepContent;return J__namespace.default.createElement("div",null,zo)}return J__namespace.default.createElement(pe,null)}}),u),te=()=>{var oe;return e?!((oe=e[s])!=null&&oe.type)||!X[e[s].type]?X.default(e[s]):X[e[s].type]({stepData:e[s],primaryColor:r}):J__namespace.default.createElement(J__namespace.default.Fragment,null)};if(e[s].complete===!0||ie.x==0&&ie.y==0&&new Date().getTime()-se<100)return null;let M={top:(ie==null?void 0:ie.y)-go,left:(Co=U=="left"?D.x+l.x:(ie==null?void 0:ie.x)-go)!=null?Co:0,cursor:S?"pointer":"default",position:q},Z=()=>{let De=M.left+(U=="left"?-ee:24);return Math.min(Math.max(De,20),window.innerWidth-ee-20)},we=()=>{if(q==="fixed")return M.top;let oe=M.top+Y,De=20;return oe>window.innerHeight-De?M.top+-Y:M.top},Ke=()=>{S&&(y(new Date),K(!_));};return J__namespace.default.createElement(Nc,{className:v},J__namespace.default.createElement(Oc,{style:M,zIndex:O,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&k!=="static"&&J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(Ic,{style:{position:q},onClick:Ke,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),J__namespace.default.createElement(Ac,{style:{position:"absolute"},onClick:Ke,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),J__namespace.default.createElement(Tl,{style:V(w({},M),{left:Z(),top:we()}),zIndex:O+1,className:a("tooltipContainerWrapper",c)},_&&J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(jo,{ref:T,role:"dialog","aria-labelledby":`frigadeTooltip${e[s].id}Title`,"aria-describedby":`frigadeTooltip${e[s].id}Subtitle`,layoutId:"tooltip-container",tabIndex:0,"aria-label":"Tooltip",style:w({position:"relative",width:"max-content",right:0,top:k!=="static"?12:0},d),appearance:c,className:a("tooltipContainer",c),maxWidth:bl,zIndex:O+10},J__namespace.default.createElement(te,null)),x&&J__namespace.default.createElement(Ii,{className:a("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:O+10},J__namespace.default.createElement(Go,{appearance:c})))))},_o=Lc;var Uc=x=>{var k=x,{flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:n,showTooltipsSimultaneously:r=!1,onDismiss:l,dismissible:p,tooltipPosition:d="auto",showHighlightOnly:s=!1,dismissBehavior:u="skip-flow",onComplete:c,skipIfNotFound:g=!1,cssPosition:S="absolute",className:F}=k,h=$e(k,["flowId","customVariables","appearance","onStepCompletion","onButtonClick","showTooltipsSimultaneously","onDismiss","dismissible","tooltipPosition","showHighlightOnly","dismissBehavior","onComplete","skipIfNotFound","cssPosition","className"]);let{getFlow:b,getFlowSteps:v,isLoading:$,targetingLogicShouldHideFlow:E,markStepCompleted:f,markStepStarted:A,markFlowCompleted:y,markFlowSkipped:T,updateCustomVariables:I,getCurrentStepIndex:N,getStepStatus:D,isStepBlocked:W,getFlowStatus:G,getNumberOfStepsCompleted:_}=ne(),{isLoadingUserFlowStateData:K}=ze(),{primaryCTAClickSideEffects:q,secondaryCTAClickSideEffects:O}=fe(),{hasOpenModals:ee}=Ie(),Y=N(e),{openFlowStates:se}=J.useContext(re),{mergeAppearanceWithDefault:Se}=ce();if(o=Se(o),J.useEffect(()=>{I(t);},[t,$]),K)return null;let ke=b(e);if(!ke||E(ke)||G(e)==de||ee())return null;let R=v(e);if(Object.keys(se).length>0){let M=Object.keys(se).find(Z=>se[Z]===!0);if(M!==void 0&&M!==e)return J__namespace.default.createElement(J__namespace.default.Fragment,null)}function U(M){return L(this,null,function*(){if(yield f(e,M.id),R.map(Z=>D(e,Z.id)).every(Z=>Z===_e)){yield y(e);return}!s&&Y+1<R.length&&!r&&W(e,R[Y+1].id);})}function ie(M,Z,we){let Ke=Y+1<R.length?R[Y+1]:null;n&&n(M,Y,Z,Ke),i&&i(M,we,Ke);}function Pe(){return R.map(M=>V(w({},M),{handleSecondaryButtonClick:()=>L(this,null,function*(){O(M),M.skippable===!0&&(yield f(e,M.id,{skipped:!0})),ie(M,"secondary",Y);}),handlePrimaryButtonClick:()=>L(this,null,function*(){(!M.completionCriteria&&(M.autoMarkCompleted||M.autoMarkCompleted===void 0)||M.completionCriteria&&M.autoMarkCompleted===!0)&&(yield U(M)),ie(M,"primary",Y),q(M);})}))}function Ge(M){return L(this,null,function*(){l&&l(),u==="skip-flow"?yield T(e):yield f(e,M.id);})}function ve(){c&&c();}function pe(M){return L(this,null,function*(){yield A(e,R[M].id);})}let H=!document.querySelector(R[Y].selector);function X(){let M=R.findIndex((Z,we)=>!!document.querySelector(Z.selector)&&we>=Y);return R.map((Z,we)=>r?J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)):g&&H&&we===M?J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)):we!=Y?null:J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)))}function te(){return J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(ae,{appearance:o}),X())}return S==="static"?te():J__namespace.default.createElement(reactPortal.Portal,null,te())};var Fl=xe__default.default.button`
|
|
1515
|
+
`,Lc=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:n=!0,primaryColor:r="#000000",offset:l={x:0,y:0},visible:p=!0,containerStyle:d={},selectedStep:s=0,customStepTypes:u,appearance:c,dismissible:g=!1,showHighlightOnly:S,showStepCount:F=!0,completedStepsCount:h=0,showFrigadeBranding:x=!1,cssPosition:k="absolute",onViewTooltip:b,className:v})=>{var xt,Je,nt,Ze,vt,jt,Gt,Bt,m,C,P,z,Be,Et,At,It,ge,xo,Co;let{logErrorIfDebugMode:$}=yl(),[E,f]=J.useState(),[A,y]=J.useState(new Date),T=J.useRef(null),[I,N]=J.useState(document.querySelector(e[s].selector)),D=Cl(I,A),[W,G]=J.useState(),[_,K]=J.useState(!S),q=(Je=(xt=e[s])==null?void 0:xt.props)!=null&&Je.position?e[s].props.position:k,O=(vt=(Ze=(nt=e[s])==null?void 0:nt.props)==null?void 0:Ze.zIndex)!=null?vt:90,ee=(jt=E==null?void 0:E.width)!=null?jt:bl,Y=(Gt=E==null?void 0:E.height)!=null?Gt:wl,[se,Se]=J.useState(new Date().getTime());l=(C=(m=(Bt=e[s])==null?void 0:Bt.props)==null?void 0:m.offset)!=null?C:l;let ke=window.location.pathname.split("/").pop();J.useLayoutEffect(()=>{T.current&&f({width:T.current.clientWidth,height:T.current.clientHeight});},[s,A,q]),J.useEffect(()=>{S||K(!0);},[s]),J.useEffect(()=>{p&&_&&b(s);},[_]);let R=()=>{if(q==="static")return;let oe=document.querySelector(e[s].selector);if(!oe){G(void 0),N(null),$(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}W&&W===JSON.stringify(oe==null?void 0:oe.getBoundingClientRect())||(N(oe),y(new Date),oe&&G(JSON.stringify(oe.getBoundingClientRect())));};if(J.useEffect(()=>{let oe=new MutationObserver(R);return oe.observe(document.body,{subtree:!0,childList:!0}),()=>oe.disconnect()},[R]),J.useEffect(()=>{let oe=new MutationObserver(R);return oe.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>oe.disconnect()},[R]),J.useEffect(()=>{let oe=setInterval(()=>{R();},10);return ()=>clearInterval(oe)},[R]),J.useLayoutEffect(()=>{setTimeout(()=>{R();},Ec),R();},[s,ke]),J.useEffect(()=>{if(!p)return;let oe=De=>{De.key==="Escape"&&t();};return document.addEventListener("keydown",oe),()=>{document.removeEventListener("keydown",oe);}},[]),I===null||!p)return null;let U=i==="auto"?"right":i,ie=ri(D,U,ee,l,q),Pe=D.right+ee>(window.innerWidth||document.documentElement.clientWidth);D.bottom+wl>(window.innerHeight||document.documentElement.clientHeight);Pe&&i==="auto"&&(ie=ri(D,"left",ee,l,q),U="left"),(z=(P=e[s])==null?void 0:P.props)!=null&&z.tooltipPosition&&((Et=(Be=e[s])==null?void 0:Be.props)==null?void 0:Et.tooltipPosition)!=="auto"&&(((It=(At=e[s])==null?void 0:At.props)==null?void 0:It.tooltipPosition)==="left"||((xo=(ge=e[s])==null?void 0:ge.props)==null?void 0:xo.tooltipPosition)==="right")&&(U=e[s].props.tooltipPosition);let ve=()=>{let oe=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),K(!1),setTimeout(()=>{R();},30)),h===e.length-1)return o()},De=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),S&&!e[s].secondaryButtonUri&&K(!1));};return J__namespace.default.createElement(J__namespace.default.Fragment,null,F&&e.length>1&&J__namespace.default.createElement(vi,null,J__namespace.default.createElement(Ei,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&J__namespace.default.createElement(Bi,{showStepCount:F,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&J__namespace.default.createElement(le,{title:e[s].secondaryButtonTitle,appearance:c,onClick:De,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&J__namespace.default.createElement(le,{title:e[s].primaryButtonTitle,appearance:c,onClick:oe,withMargin:!1,size:"small"})))},pe=()=>{var oe,De,zo;return J__namespace.default.createElement(J__namespace.default.Fragment,null,g&&J__namespace.default.createElement(wi,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t();},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri,"aria-label":"Close Tooltip",role:"button",tabIndex:0},J__namespace.default.createElement(Ne,null)),e[s].imageUri&&J__namespace.default.createElement(Ti,{dismissible:g,appearance:c,role:"img","aria-label":e[s].title,src:e[s].imageUri,className:a("tooltipImageContainer",c)}),e[s].videoUri&&!e[s].imageUri&&J__namespace.default.createElement(Fi,{dismissible:g,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},J__namespace.default.createElement(ot,{appearance:c,videoUri:e[s].videoUri,autoplay:(oe=e[s].props)==null?void 0:oe.autoplayVideo,loop:(De=e[s].props)==null?void 0:De.loopVideo,hideControls:(zo=e[s].props)==null?void 0:zo.hideVideoControls})),J__namespace.default.createElement(Pi,{className:a("tooltipContentContainer",c)},J__namespace.default.createElement(Oe,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),J__namespace.default.createElement(ki,{className:a("tooltipFooter",c)},J__namespace.default.createElement(ve,null))))},X=w(w({},{default:oe=>{var De;if((De=e[s])!=null&&De.StepContent){let zo=e[s].StepContent;return J__namespace.default.createElement("div",null,zo)}return J__namespace.default.createElement(pe,null)}}),u),te=()=>{var oe;return e?!((oe=e[s])!=null&&oe.type)||!X[e[s].type]?X.default(e[s]):X[e[s].type]({stepData:e[s],primaryColor:r}):J__namespace.default.createElement(J__namespace.default.Fragment,null)};if(e[s].complete===!0||ie.x==0&&ie.y==0&&new Date().getTime()-se<100)return null;let M={top:(ie==null?void 0:ie.y)-go,left:(Co=U=="left"?D.x+l.x:(ie==null?void 0:ie.x)-go)!=null?Co:0,cursor:S?"pointer":"default",position:q},Z=()=>{let De=M.left+(U=="left"?-ee:24);return Math.min(Math.max(De,20),window.innerWidth-ee-20)},we=()=>{if(q==="fixed")return M.top;let oe=M.top+Y,De=20;return oe>window.innerHeight-De?M.top+-Y:M.top},Ke=()=>{S&&(y(new Date),K(!_));};return J__namespace.default.createElement(Nc,{className:v},J__namespace.default.createElement(Oc,{style:M,zIndex:O,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&k!=="static"&&J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(Ic,{style:{position:q},onClick:Ke,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),J__namespace.default.createElement(Ac,{style:{position:"absolute"},onClick:Ke,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),J__namespace.default.createElement(Tl,{style:V(w({},M),{left:Z(),top:we()}),zIndex:O+1,className:a("tooltipContainerWrapper",c)},_&&J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(jo,{ref:T,role:"dialog","aria-labelledby":`frigadeTooltip${e[s].id}Title`,"aria-describedby":`frigadeTooltip${e[s].id}Subtitle`,layoutId:"tooltip-container",tabIndex:0,"aria-label":"Tooltip",style:w({position:"relative",width:"max-content",right:0,top:k!=="static"?12:0},d),appearance:c,className:a("tooltipContainer",c),maxWidth:bl,zIndex:O+10},J__namespace.default.createElement(te,null)),x&&J__namespace.default.createElement(Ii,{className:a("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:O+10},J__namespace.default.createElement(Go,{appearance:c})))))},_o=Lc;var Uc=x=>{var k=x,{flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:n,showTooltipsSimultaneously:r=!1,onDismiss:l,dismissible:p,tooltipPosition:d="auto",showHighlightOnly:s=!1,dismissBehavior:u="skip-flow",onComplete:c,skipIfNotFound:g=!1,cssPosition:S="absolute",className:F}=k,h=$e(k,["flowId","customVariables","appearance","onStepCompletion","onButtonClick","showTooltipsSimultaneously","onDismiss","dismissible","tooltipPosition","showHighlightOnly","dismissBehavior","onComplete","skipIfNotFound","cssPosition","className"]);let{getFlow:b,getFlowSteps:v,isLoading:$,targetingLogicShouldHideFlow:E,markStepCompleted:f,markStepStarted:A,markFlowCompleted:y,markFlowSkipped:T,updateCustomVariables:I,getCurrentStepIndex:N,getStepStatus:D,isStepBlocked:W,getFlowStatus:G,getNumberOfStepsCompleted:_}=ne(),{isLoadingUserFlowStateData:K}=ze(),{primaryCTAClickSideEffects:q,secondaryCTAClickSideEffects:O}=fe(),{hasOpenModals:ee}=Ie(),Y=N(e),{openFlowStates:se}=J.useContext(re),{mergeAppearanceWithDefault:Se}=ce();if(o=Se(o),J.useEffect(()=>{I(t);},[t,$]),K)return null;let ke=b(e);if(!ke||E(ke)||G(e)==de||ee())return null;let R=v(e);if(Object.keys(se).length>0){let M=Object.keys(se).find(Z=>se[Z]===!0);if(M!==void 0&&M!==e)return J__namespace.default.createElement(J__namespace.default.Fragment,null)}function U(M){return L(this,null,function*(){if(yield f(e,M.id),R.map(Z=>D(e,Z.id)).every(Z=>Z===_e)){yield y(e);return}!s&&Y+1<R.length&&!r&&W(e,R[Y+1].id);})}function ie(M,Z,we){let Ke=Y+1<R.length?R[Y+1]:null;n&&n(M,Y,Z,Ke),i&&i(M,we,Ke);}function Pe(){return R.map(M=>V(w({},M),{handleSecondaryButtonClick:()=>L(this,null,function*(){O(M),M.skippable===!0&&(yield f(e,M.id,{skipped:!0})),ie(M,"secondary",Y);}),handlePrimaryButtonClick:()=>L(this,null,function*(){(!M.completionCriteria&&(M.autoMarkCompleted||M.autoMarkCompleted===void 0)||M.completionCriteria&&M.autoMarkCompleted===!0)&&(yield U(M)),ie(M,"primary",Y),q(M);})}))}function Ge(M){return L(this,null,function*(){l&&l(),u==="skip-flow"?yield T(e):yield f(e,M.id);})}function ve(){c&&c();}function pe(M){return L(this,null,function*(){yield A(e,R[M].id);})}let H=!document.querySelector(R[Y].selector);function X(){let M=R.findIndex((Z,we)=>!!document.querySelector(Z.selector)&&we>=Y);return R.map((Z,we)=>r?J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)):g&&H&&we===M?J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)):we!=Y?null:J__namespace.default.createElement(_o,w({key:Z.id,appearance:o,steps:Pe(),selectedStep:we,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ge(Z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ve,cssPosition:S,onViewTooltip:pe,className:F},h)))}function te(){return J__namespace.default.createElement(J__namespace.default.Fragment,null,J__namespace.default.createElement(ae,{appearance:o}),X())}return S==="static"?te():J__namespace.default.createElement(reactPortal.Portal,null,te())};var Fl=xe__default.default.button`
|
|
1516
1516
|
${e=>B(e)} {
|
|
1517
1517
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1518
1518
|
|