@frigade/react 1.37.7 → 1.37.9
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 +7 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var va=Object.create;var Oo=Object.defineProperty,Ba=Object.defineProperties,Ea=Object.getOwnPropertyDescriptor,Aa=Object.getOwnPropertyDescriptors,Oa=Object.getOwnPropertyNames,Ro=Object.getOwnPropertySymbols,Na=Object.getPrototypeOf,$r=Object.prototype.hasOwnProperty,xi=Object.prototype.propertyIsEnumerable;var hi=(e,t,o)=>t in e?Oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,F=(e,t)=>{for(var o in t||(t={}))$r.call(t,o)&&hi(e,o,t[o]);if(Ro)for(var o of Ro(t))xi.call(t,o)&&hi(e,o,t[o]);return e},K=(e,t)=>Ba(e,Aa(t));var Ci=e=>typeof e=="symbol"?e:e+"",Ye=(e,t)=>{var o={};for(var i in e)$r.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Ro)for(var i of Ro(e))t.indexOf(i)<0&&xi.call(e,i)&&(o[i]=e[i]);return o};var Ia=(e,t)=>{for(var o in t)Oo(e,o,{get:t[o],enumerable:!0})},yi=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Oa(t))!$r.call(e,n)&&n!==o&&Oo(e,n,{get:()=>t[n],enumerable:!(i=Ea(t,n))||i.enumerable});return e};var f=(e,t,o)=>(o=e!=null?va(Na(e)):{},yi(t||!e||!e.__esModule?Oo(o,"default",{value:e,enumerable:!0}):o,e)),La=e=>yi(Oo({},"__esModule",{value:!0}),e);var U=(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 Dd={};Ia(Dd,{Box:()=>xo,Button:()=>ka,CheckBox:()=>xt,FlowType:()=>or,FormLabel:()=>vt,FormTextField:()=>fr,FrigadeAnnouncement:()=>wa,FrigadeBanner:()=>na,FrigadeChecklist:()=>Ar,FrigadeDefaultAppearance:()=>ht,FrigadeEmbeddedTip:()=>Rl,FrigadeForm:()=>Yr,FrigadeGuide:()=>Al,FrigadeHeroChecklist:()=>xl,FrigadeNPSSurvey:()=>ma,FrigadeProgressBadge:()=>Bl,FrigadeProvider:()=>Hn,FrigadeSupportWidget:()=>Yl,FrigadeTour:()=>Dl,ProgressBar:()=>Qe,ProgressRing:()=>qt,Text:()=>Ir,tokens:()=>Fr,useFlowOpens:()=>_e,useFlowResponses:()=>ao,useFlows:()=>R,useOrganization:()=>br,useUser:()=>co,useUserFlowStates:()=>Xe});module.exports=La(Dd);var de=f(require("react")),Wn=require("styled-components");var he=f(require("react"));var it=require("react");var Gt=f(require("react"));var Si="1.37.7";var Pt="NOT_STARTED_STEP",se="COMPLETED_FLOW",er="ABORTED_FLOW",Kt="STARTED_FLOW",et="NOT_STARTED_FLOW",Je="COMPLETED_STEP",No="STARTED_STEP";function ut(){let{publicApiKey:e,userId:t,apiUrl:o}=Gt.default.useContext(Z);return{config:(0,Gt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Si,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:(0,Gt.useMemo)(()=>`${o}/v1/public/`,[o])}}var $a="frigade-last-call-at-",Ma="frigade-last-call-data-";function io(){let{shouldGracefullyDegrade:e,readonly:t}=Gt.default.useContext(Z);return(o,i)=>U(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return ro();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),ro();let n=$a+o,r=Ma+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 ro()}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 ro(p)}return l?l.ok?l:ro(l.statusText):ro()})}function ro(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function no(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Gt.default.useContext(Z);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}var Io=require("react");var lo=require("react");var wi=f(require("swr"));var bi=require("react");function _e(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,bi.useContext)(Z);function r(c,g=!1){var b;return(b=e[c])!=null?b:g}function l(c,g){t(b=>K(F({},b),{[c]:g}))}function p(c){t(g=>{let w=g,{[c]:b}=w,T=Ye(w,[Ci(c)]);return F({},T)})}function d(c){n.includes(c)||i(g=>[...g,c])}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([g,b])=>b&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}var Ti=f(require("swr/immutable"));var so=f(require("core-js-pure/actual/structured-clone"));function Mr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pe(...e){let t=e.shift(),o=e.length===1?e[0]:Pe(...e);if(!Mr(t)||!Mr(o))throw new Error("deepmerge can only merge Objects");let i=(0,so.default)(t);return Object.entries(o).forEach(([n,r])=>{Mr(r)?i[n]!==void 0?Object.assign(i,{[n]:Pe(i[n],(0,so.default)(r))}):Object.assign(i,{[n]:(0,so.default)(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...(0,so.default)(r)]}):Object.assign(i,{[n]:(0,so.default)(r)}):Object.assign(i,{[n]:r})}),i}var Da="unknown";function Xe(){let{config:e,apiUrl:t}=ut(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=(0,lo.useContext)(Z),{resetOpenFlowState:d}=_e(),[s,m]=(0,lo.useState)(!1),c={data:r.map(k=>({flowId:k.id,flowState:se,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=k=>fetch(k,e).then(v=>{if(v.ok)return v.json();throw new Error("Failed to fetch user flow states")}).catch(v=>(console.log(`Error fetching ${k}: ${v}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:T,isLoading:w,mutate:C,error:B}=p?(0,Ti.default)(b,g):(0,wi.default)(b,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),P=T==null?void 0:T.data;(0,lo.useEffect)(()=>{!s&&!w&&P&&m(!0)},[P,s,w]);function E(k){return U(this,null,function*(){if(P&&!p){let v=P.find(L=>L.flowId===k);v&&v.flowState!==se&&(v.flowState=se),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function $(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.stepStates[v]=L,N.flowState=Kt),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function y(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.lastStepId=v,N.stepStates[v]=L,N.flowState=Kt),yield C(Pe(T,{data:P}),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function u(k){return U(this,null,function*(){if(P){let v=P.find(L=>L.flowId===k);v&&v.flowState!==et&&(v.flowState=et,v.lastStepId=Da,Object.keys(v.stepStates).forEach(L=>{v.stepStates[L].actionType=Pt,v.stepStates[L].createdAt=new Date().toISOString()}),yield C(Pe(T,{data:P}),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1}),d(k))}})}function I(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.stepStates[v]=L),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:P,isLoadingUserFlowStateData:!s,mutateUserFlowState:C,optimisticallyMarkFlowCompleted:E,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:$,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:y,error:B}}function ao(){let{config:e,apiUrl:t}=ut(),{userFlowStatesData:o,mutateUserFlowState:i}=Xe(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=(0,Io.useContext)(Z),[d,s]=(0,Io.useState)(new Set),[m,c]=(0,Io.useState)(new Set),g=io();function b(C){let B=JSON.stringify(C);if(d.has(B))return null;d.add(B),s(d),m.add(C),c(m);let P=l==null?void 0:l.find(E=>E.flowSlug===C.flowSlug&&E.stepId===C.stepId&&E.actionType===C.actionType&&E.createdAt===C.createdAt);return g(`${t}flowResponses`,K(F({},e),{method:"POST",body:B})).then(E=>{E.status!==200&&E.status!==201?(console.log("Failed to send flow response for step "+C.stepId+". Will retry again later."),r([...n,C])):P||p($=>[...$!=null?$:[],C])})}function T(C){return U(this,null,function*(){C.foreignUserId&&(C.actionType===Kt||C.actionType===et?yield b(C):C.actionType===se?yield b(C):C.actionType===No?yield b(C):C.actionType===Je?yield b(C):C.actionType===er?yield b(C):C.actionType===Pt&&(yield b(C)))})}function w(){let C=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let P in B.stepStates){let E=B.stepStates[P];C.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:E.stepId,actionType:E.actionType,data:{},createdAt:new Date(E.createdAt),blocked:E.blocked,hidden:E.hidden})}}),[...C,...l]}return{addResponse:T,setFlowResponses:p,getFlowResponses:w}}var ki=f(require("swr"));var Ua=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Fi=e=>{let t=Ua.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=_a(i,"'","");r.startsWith("flow_")&&(o=r)}),o},_a=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function tr(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var or=(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))(or||{});function R(){let{config:e,apiUrl:t}=ut(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:g,readonly:b,flowDataOverrides:T}=(0,it.useContext)(Z),w={data:[]},{verifySDKInitiated:C}=no(),{addResponse:B,getFlowResponses:P}=ao(),E=h=>fetch(h,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${h} (${S.status}): ${S.statusText}. Will gracefully degrade and hide Frigade`),g(!0),w)).catch(S=>(console.log(`Error fetching ${h}: ${S}. Will gracefully degrade and hide Frigade`),g(!0),w)),{mutateUserFlowState:$,userFlowStatesData:y,isLoadingUserFlowStateData:u,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowNotStarted:k,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:L,optimisticallyMarkStepStarted:N}=Xe(),{data:O,error:q,isLoading:z}=(0,ki.default)(l?`${t}flows${b?"?readonly=true":""}`:null,E,{keepPreviousData:!0});(0,it.useEffect)(()=>{if(q){console.error(q);return}O&&O.data&&i(O.data)},[O,q]);function ee(h){if(z)return null;let S=o.find(x=>x.slug===h);return!S&&o.length>0&&!u&&!z?(console.log(`Flow with id ${h} not found`),null):(S&&T&&T[h]&&(S.data=T[h]),(S==null?void 0:S.active)===!1&&!b?null:S)}function X(h){var _,we,Re,Nt,jt;if(!ee(h))return[];let S=(_=ee(h))==null?void 0:_.data;return S?(S=ce(S),((jt=(Nt=(we=tr(S))==null?void 0:we.data)!=null?Nt:(Re=tr(S))==null?void 0:Re.steps)!=null?jt:[]).map(be=>{let Eo=fe(be);return K(F({handleSecondaryButtonClick:()=>{be.skippable===!0&&te(h,be.id,{skipped:!0})}},be),{complete:Fe(h,be.id)===Je||Eo>=1,started:Fe(h,be.id)===No||Fe(h,be.id)===Je,currentlyActive:y==null?void 0:y.some(Ao=>Ao.flowId==h&&Ao.lastStepId===be.id),blocked:ke(h,be.id),hidden:G(h,be.id),handlePrimaryButtonClick:()=>{(!be.completionCriteria&&(be.autoMarkCompleted||be.autoMarkCompleted===void 0)||be.completionCriteria&&be.autoMarkCompleted===!0)&&te(h,be.id)},progress:Eo})}).filter(be=>be.hidden!==!0)):[]}function ce(h){return h.replaceAll(/\${(.*?)}/g,(S,x)=>p[x]===void 0?"":String(p[x]).replace(/[\u00A0-\u9999<>\&]/g,function(_){return"&#"+_.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(h){var x;if(!ee(h))return[];let S=ee(h).data;return S?(S=ce(S),(x=JSON.parse(S))!=null?x:{}):[]}function J(h,S){d(x=>K(F({},x),{[h]:S}))}function ue(h){!u&&!z&&h&&JSON.stringify(p)!=JSON.stringify(F(F({},p),h))&&Object.keys(h).forEach(S=>{J(S,h[S])})}let Le=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:No,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield N(h,S,_),B(_))}),[n,r,y]),Ke=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:Pt,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield L(h,S,_),B(_))}),[n,r,y]),te=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:Je,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield v(h,S,_),B(_))}),[n,r,y]),xe=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C()||rt(h)===et)return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:et,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};yield k(h),Ue(x)&&B(x)}),[n,r,y]),W=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:Kt,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&B(x)}),[n,r,y]),ne=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:se,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&(yield I(h),B(x))}),[n,r,y]),qe=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:er,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&(yield I(h),B(x))}),[n,r,y]);function Ue(h){var S;if(y===void 0)return!1;if(y){let x=y.find(_=>_.flowId===h.flowSlug);if(h.actionType===Pt&&(!(x!=null&&x.stepStates[h.stepId])||x.stepStates[h.stepId].actionType===Pt))return!1;if(x&&((S=x.stepStates[h.stepId])==null?void 0:S.actionType)===h.actionType){if(h.actionType===Je&&(!h.data||JSON.stringify(h.data)===JSON.stringify({})))return!1;let _=Object.keys(x.stepStates).sort((we,Re)=>{let Nt=new Date(x.stepStates[we].createdAt),jt=new Date(x.stepStates[Re].createdAt);return Nt.getTime()-jt.getTime()});if(x.stepStates[_[_.length-1]].actionType===h.actionType&&h.stepId===_[_.length-1])return!1}if(x&&x.flowState===se&&h.actionType===se)return!1}return!0}function Fe(h,S){let x=H(h,S);return u?null:x?x.actionType:Pt}function ke(h,S){let x=H(h,S);return x?x.blocked:!1}function G(h,S){let x=H(h,S);return x?x.hidden:!1}function H(h,S){var _;if(u)return null;let x=y==null?void 0:y.find(we=>we.flowId===h);return!x||!x.stepStates[S]?null:(_=x.stepStates[S])!=null?_:null}function M(h){var x,_;if(u||!y)return null;if(rt(h)===et)return(x=X(h)[0])!=null?x:null;let S=(_=y.find(we=>we.flowId===h))==null?void 0:_.lastStepId;return S?X(h).find(we=>we.id===S):null}function j(h){var _;let S=M(h);if(!S)return 0;let x=(_=X(h).findIndex(we=>we.id===S.id))!=null?_:0;return Fe(h,S.id)===Je&&x<X(h).length-1?x+1:x}function fe(h){if(!h.completionCriteria)return;let S=Fi(h.completionCriteria);if(S===null)return;let x=Ft(S),_=Vt(S);return _===0?void 0:x/_}function rt(h){let S=y==null?void 0:y.find(x=>x.flowId===h);return S?S.flowState:null}function Ft(h){let S=X(h);return S.length===0?0:S.filter(_=>Fe(h,_.id)===Je).length}function Vt(h){return X(h).length}function ct(h){let S=o.find(x=>x.slug===h);return S?(T&&T[h]&&(S.data=T[h]),tr(S.data)):null}function kt(h){if(b)return!1;if(u)return!0;if(h!=null&&h.targetingLogic&&y){let S=y.find(x=>x.flowId===h.slug);if(S)return S.shouldTrigger===!1}return!!(h!=null&&h.targetingLogic&&n&&n.startsWith("guest_"))}function mt(h){return!kt(ee(h))}function to(){n&&$()}function oo(){return o}return{getAllFlows:oo,getFlow:ee,getFlowData:ct,isLoading:u||z,getStepStatus:Fe,getFlowSteps:X,getCurrentStepIndex:j,markStepStarted:Le,markStepCompleted:te,markFlowNotStarted:xe,markFlowStarted:W,markFlowCompleted:ne,markFlowAborted:qe,markStepNotStarted:Ke,getFlowStatus:rt,getNumberOfStepsCompleted:Ft,getNumberOfSteps:Vt,targetingLogicShouldHideFlow:kt,setCustomVariable:J,updateCustomVariables:ue,customVariables:p,getStepOptionalProgress:fe,getFlowMetadata:Q,isStepBlocked:ke,isStepHidden:G,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:mt,refresh:to}}var Lt=require("react");var po="guest_";function co(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Lt.useContext)(Z),{config:r,apiUrl:l}=ut(),{mutateUserFlowState:p}=Xe(),d=io(),{verifySDKInitiated:s}=no();function m(T){return`frigade-user-registered-${T}`}(0,Lt.useEffect)(()=>{if(e&&!t){if(e.startsWith(po))return;let T=m(e);localStorage.getItem(T)||(d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(T,"true"))}},[e,n,t]);let c=(0,Lt.useCallback)(T=>U(this,null,function*(){if(!s())return;let w={foreignId:e,properties:T};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(w)})),i(C=>F(F({},C),T)),p()}),[e,r,n,p]),g=(0,Lt.useCallback)((T,w)=>U(this,null,function*(){if(!s())return;let B={foreignId:e,events:[{event:T,properties:w}]};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(B)})),p()}),[e,r,p]),b=(0,Lt.useCallback)((T,w)=>U(this,null,function*(){if(s())if(w){let C=m(T);localStorage.setItem(C,"true"),o(T);let B={foreignId:T,properties:w};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(B)})),i(P=>F(F({},P),w)),p()}else o(T)}),[r,n,p]);return{userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:g}}var An=require("uuid");var ze=f(require("react"));var Ae=f(require("react")),Mo=f(require("styled-components"));var vi=f(require("react")),Bi=f(require("styled-components"));var Pi="fr-",Lo="cfr-";function a(e,t){let o=`${Pi}${e}`;if(!t)return o;if(t.styleOverrides&&t.styleOverrides[e]){if(typeof t.styleOverrides[e]=="string")return o+" "+t.styleOverrides[e];if(typeof t.styleOverrides[e]=="object")return o+" "+Lo+e}return o}function A(e){if(!e.className||e.className.indexOf(Lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Pi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function rr(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function We(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${rr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function $e(...e){return e.filter(Boolean).join(" ")}function $o(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Wa=Bi.default.div`
|
|
2
|
+
var va=Object.create;var Oo=Object.defineProperty,Ba=Object.defineProperties,Ea=Object.getOwnPropertyDescriptor,Aa=Object.getOwnPropertyDescriptors,Oa=Object.getOwnPropertyNames,Ro=Object.getOwnPropertySymbols,Na=Object.getPrototypeOf,$r=Object.prototype.hasOwnProperty,xi=Object.prototype.propertyIsEnumerable;var hi=(e,t,o)=>t in e?Oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,F=(e,t)=>{for(var o in t||(t={}))$r.call(t,o)&&hi(e,o,t[o]);if(Ro)for(var o of Ro(t))xi.call(t,o)&&hi(e,o,t[o]);return e},K=(e,t)=>Ba(e,Aa(t));var Ci=e=>typeof e=="symbol"?e:e+"",Ye=(e,t)=>{var o={};for(var i in e)$r.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Ro)for(var i of Ro(e))t.indexOf(i)<0&&xi.call(e,i)&&(o[i]=e[i]);return o};var Ia=(e,t)=>{for(var o in t)Oo(e,o,{get:t[o],enumerable:!0})},yi=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Oa(t))!$r.call(e,n)&&n!==o&&Oo(e,n,{get:()=>t[n],enumerable:!(i=Ea(t,n))||i.enumerable});return e};var f=(e,t,o)=>(o=e!=null?va(Na(e)):{},yi(t||!e||!e.__esModule?Oo(o,"default",{value:e,enumerable:!0}):o,e)),La=e=>yi(Oo({},"__esModule",{value:!0}),e);var U=(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 Dd={};Ia(Dd,{Box:()=>xo,Button:()=>ka,CheckBox:()=>xt,FlowType:()=>or,FormLabel:()=>vt,FormTextField:()=>fr,FrigadeAnnouncement:()=>wa,FrigadeBanner:()=>na,FrigadeChecklist:()=>Ar,FrigadeDefaultAppearance:()=>ht,FrigadeEmbeddedTip:()=>Rl,FrigadeForm:()=>Yr,FrigadeGuide:()=>Al,FrigadeHeroChecklist:()=>xl,FrigadeNPSSurvey:()=>ma,FrigadeProgressBadge:()=>Bl,FrigadeProvider:()=>Hn,FrigadeSupportWidget:()=>Yl,FrigadeTour:()=>Dl,ProgressBar:()=>Qe,ProgressRing:()=>qt,Text:()=>Ir,tokens:()=>Fr,useFlowOpens:()=>_e,useFlowResponses:()=>ao,useFlows:()=>R,useOrganization:()=>br,useUser:()=>co,useUserFlowStates:()=>Xe});module.exports=La(Dd);var de=f(require("react")),Wn=require("styled-components");var he=f(require("react"));var it=require("react");var Gt=f(require("react"));var Si="1.37.9";var Pt="NOT_STARTED_STEP",se="COMPLETED_FLOW",er="ABORTED_FLOW",Kt="STARTED_FLOW",et="NOT_STARTED_FLOW",Je="COMPLETED_STEP",No="STARTED_STEP";function ut(){let{publicApiKey:e,userId:t,apiUrl:o}=Gt.default.useContext(Z);return{config:(0,Gt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Si,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:(0,Gt.useMemo)(()=>`${o}/v1/public/`,[o])}}var $a="frigade-last-call-at-",Ma="frigade-last-call-data-";function io(){let{shouldGracefullyDegrade:e,readonly:t}=Gt.default.useContext(Z);return(o,i)=>U(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return ro();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),ro();let n=$a+o,r=Ma+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 ro()}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 ro(p)}return l?l.ok?l:ro(l.statusText):ro()})}function ro(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function no(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Gt.default.useContext(Z);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}var Io=require("react");var lo=require("react");var wi=f(require("swr"));var bi=require("react");function _e(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,bi.useContext)(Z);function r(c,g=!1){var b;return(b=e[c])!=null?b:g}function l(c,g){t(b=>K(F({},b),{[c]:g}))}function p(c){t(g=>{let w=g,{[c]:b}=w,T=Ye(w,[Ci(c)]);return F({},T)})}function d(c){n.includes(c)||i(g=>[...g,c])}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([g,b])=>b&&g!=c)||o}return{getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}var Ti=f(require("swr/immutable"));var so=f(require("core-js-pure/actual/structured-clone"));function Mr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Pe(...e){let t=e.shift(),o=e.length===1?e[0]:Pe(...e);if(!Mr(t)||!Mr(o))throw new Error("deepmerge can only merge Objects");let i=(0,so.default)(t);return Object.entries(o).forEach(([n,r])=>{Mr(r)?i[n]!==void 0?Object.assign(i,{[n]:Pe(i[n],(0,so.default)(r))}):Object.assign(i,{[n]:(0,so.default)(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...(0,so.default)(r)]}):Object.assign(i,{[n]:(0,so.default)(r)}):Object.assign(i,{[n]:r})}),i}var Da="unknown";function Xe(){let{config:e,apiUrl:t}=ut(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=(0,lo.useContext)(Z),{resetOpenFlowState:d}=_e(),[s,m]=(0,lo.useState)(!1),c={data:r.map(k=>({flowId:k.id,flowState:se,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=k=>fetch(k,e).then(v=>{if(v.ok)return v.json();throw new Error("Failed to fetch user flow states")}).catch(v=>(console.log(`Error fetching ${k}: ${v}. Will gracefully degrade and hide Frigade`),l(!0),c)),b=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:T,isLoading:w,mutate:C,error:B}=p?(0,Ti.default)(b,g):(0,wi.default)(b,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),P=T==null?void 0:T.data;(0,lo.useEffect)(()=>{!s&&!w&&P&&m(!0)},[P,s,w]);function E(k){return U(this,null,function*(){if(P&&!p){let v=P.find(L=>L.flowId===k);v&&v.flowState!==se&&(v.flowState=se),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function $(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.stepStates[v]=L,N.flowState=Kt),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function y(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.lastStepId=v,N.stepStates[v]=L,N.flowState=Kt),yield C(Pe(T,{data:P}),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}function u(k){return U(this,null,function*(){if(P){let v=P.find(L=>L.flowId===k);v&&v.flowState!==et&&(v.flowState=et,v.lastStepId=Da,Object.keys(v.stepStates).forEach(L=>{v.stepStates[L].actionType=Pt,v.stepStates[L].createdAt=new Date().toISOString()}),yield C(Pe(T,{data:P}),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1}),d(k))}})}function I(k,v,L){return U(this,null,function*(){if(P){let N=P.find(O=>O.flowId===k);N&&(N.stepStates[v]=L),yield C(Promise.resolve(Pe(T,{data:P})),{optimisticData:Pe(T,{data:P}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:P,isLoadingUserFlowStateData:!s,mutateUserFlowState:C,optimisticallyMarkFlowCompleted:E,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:$,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:y,error:B}}function ao(){let{config:e,apiUrl:t}=ut(),{userFlowStatesData:o,mutateUserFlowState:i}=Xe(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=(0,Io.useContext)(Z),[d,s]=(0,Io.useState)(new Set),[m,c]=(0,Io.useState)(new Set),g=io();function b(C){let B=JSON.stringify(C);if(d.has(B))return null;d.add(B),s(d),m.add(C),c(m);let P=l==null?void 0:l.find(E=>E.flowSlug===C.flowSlug&&E.stepId===C.stepId&&E.actionType===C.actionType&&E.createdAt===C.createdAt);return g(`${t}flowResponses`,K(F({},e),{method:"POST",body:B})).then(E=>{E.status!==200&&E.status!==201?(console.log("Failed to send flow response for step "+C.stepId+". Will retry again later."),r([...n,C])):P||p($=>[...$!=null?$:[],C])})}function T(C){return U(this,null,function*(){C.foreignUserId&&(C.actionType===Kt||C.actionType===et?yield b(C):C.actionType===se?yield b(C):C.actionType===No?yield b(C):C.actionType===Je?yield b(C):C.actionType===er?yield b(C):C.actionType===Pt&&(yield b(C)))})}function w(){let C=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let P in B.stepStates){let E=B.stepStates[P];C.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:E.stepId,actionType:E.actionType,data:{},createdAt:new Date(E.createdAt),blocked:E.blocked,hidden:E.hidden})}}),[...C,...l]}return{addResponse:T,setFlowResponses:p,getFlowResponses:w}}var ki=f(require("swr"));var Ua=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Fi=e=>{let t=Ua.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=_a(i,"'","");r.startsWith("flow_")&&(o=r)}),o},_a=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function tr(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var or=(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))(or||{});function R(){let{config:e,apiUrl:t}=ut(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:g,readonly:b,flowDataOverrides:T}=(0,it.useContext)(Z),w={data:[]},{verifySDKInitiated:C}=no(),{addResponse:B,getFlowResponses:P}=ao(),E=h=>fetch(h,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${h} (${S.status}): ${S.statusText}. Will gracefully degrade and hide Frigade`),g(!0),w)).catch(S=>(console.log(`Error fetching ${h}: ${S}. Will gracefully degrade and hide Frigade`),g(!0),w)),{mutateUserFlowState:$,userFlowStatesData:y,isLoadingUserFlowStateData:u,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowNotStarted:k,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:L,optimisticallyMarkStepStarted:N}=Xe(),{data:O,error:q,isLoading:z}=(0,ki.default)(l?`${t}flows${b?"?readonly=true":""}`:null,E,{keepPreviousData:!0});(0,it.useEffect)(()=>{if(q){console.error(q);return}O&&O.data&&i(O.data)},[O,q]);function ee(h){if(z)return null;let S=o.find(x=>x.slug===h);return!S&&o.length>0&&!u&&!z?(console.log(`Flow with id ${h} not found`),null):(S&&T&&T[h]&&(S.data=T[h]),(S==null?void 0:S.active)===!1&&!b?null:S)}function X(h){var _,we,Re,Nt,jt;if(!ee(h))return[];let S=(_=ee(h))==null?void 0:_.data;return S?(S=ce(S),((jt=(Nt=(we=tr(S))==null?void 0:we.data)!=null?Nt:(Re=tr(S))==null?void 0:Re.steps)!=null?jt:[]).map(be=>{let Eo=fe(be);return K(F({handleSecondaryButtonClick:()=>{be.skippable===!0&&te(h,be.id,{skipped:!0})}},be),{complete:Fe(h,be.id)===Je||Eo>=1,started:Fe(h,be.id)===No||Fe(h,be.id)===Je,currentlyActive:y==null?void 0:y.some(Ao=>Ao.flowId==h&&Ao.lastStepId===be.id),blocked:ke(h,be.id),hidden:G(h,be.id),handlePrimaryButtonClick:()=>{(!be.completionCriteria&&(be.autoMarkCompleted||be.autoMarkCompleted===void 0)||be.completionCriteria&&be.autoMarkCompleted===!0)&&te(h,be.id)},progress:Eo})}).filter(be=>be.hidden!==!0)):[]}function ce(h){return h.replaceAll(/\${(.*?)}/g,(S,x)=>p[x]===void 0?"":String(p[x]).replace(/[\u00A0-\u9999<>\&]/g,function(_){return"&#"+_.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(h){var x;if(!ee(h))return[];let S=ee(h).data;return S?(S=ce(S),(x=JSON.parse(S))!=null?x:{}):[]}function J(h,S){d(x=>K(F({},x),{[h]:S}))}function ue(h){!u&&!z&&h&&JSON.stringify(p)!=JSON.stringify(F(F({},p),h))&&Object.keys(h).forEach(S=>{J(S,h[S])})}let Le=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:No,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield N(h,S,_),B(_))}),[n,r,y]),Ke=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:Pt,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield L(h,S,_),B(_))}),[n,r,y]),te=(0,it.useCallback)((h,S,x)=>U(this,null,function*(){if(!C())return;let _={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:S,actionType:Je,data:x!=null?x:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(_)&&(yield v(h,S,_),B(_))}),[n,r,y]),xe=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C()||rt(h)===et)return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:et,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};yield k(h),Ue(x)&&B(x)}),[n,r,y]),W=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:Kt,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&B(x)}),[n,r,y]),ne=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:se,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&(yield I(h),B(x))}),[n,r,y]),qe=(0,it.useCallback)((h,S)=>U(this,null,function*(){if(!C())return;let x={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:h,stepId:"unknown",actionType:er,data:S!=null?S:{},createdAt:new Date,blocked:!1,hidden:!1};Ue(x)&&(yield I(h),B(x))}),[n,r,y]);function Ue(h){var S;if(y===void 0)return!1;if(y){let x=y.find(_=>_.flowId===h.flowSlug);if(h.actionType===Pt&&(!(x!=null&&x.stepStates[h.stepId])||x.stepStates[h.stepId].actionType===Pt))return!1;if(x&&((S=x.stepStates[h.stepId])==null?void 0:S.actionType)===h.actionType){if(h.actionType===Je&&(!h.data||JSON.stringify(h.data)===JSON.stringify({})))return!1;let _=Object.keys(x.stepStates).sort((we,Re)=>{let Nt=new Date(x.stepStates[we].createdAt),jt=new Date(x.stepStates[Re].createdAt);return Nt.getTime()-jt.getTime()});if(x.stepStates[_[_.length-1]].actionType===h.actionType&&h.stepId===_[_.length-1])return!1}if(x&&x.flowState===se&&h.actionType===se)return!1}return!0}function Fe(h,S){let x=H(h,S);return u?null:x?x.actionType:Pt}function ke(h,S){let x=H(h,S);return x?x.blocked:!1}function G(h,S){let x=H(h,S);return x?x.hidden:!1}function H(h,S){var _;if(u)return null;let x=y==null?void 0:y.find(we=>we.flowId===h);return!x||!x.stepStates[S]?null:(_=x.stepStates[S])!=null?_:null}function M(h){var x,_;if(u||!y)return null;if(rt(h)===et)return(x=X(h)[0])!=null?x:null;let S=(_=y.find(we=>we.flowId===h))==null?void 0:_.lastStepId;return S?X(h).find(we=>we.id===S):null}function j(h){var _;let S=M(h);if(!S)return 0;let x=(_=X(h).findIndex(we=>we.id===S.id))!=null?_:0;return Fe(h,S.id)===Je&&x<X(h).length-1?x+1:x}function fe(h){if(!h.completionCriteria)return;let S=Fi(h.completionCriteria);if(S===null)return;let x=Ft(S),_=Vt(S);return _===0?void 0:x/_}function rt(h){let S=y==null?void 0:y.find(x=>x.flowId===h);return S?S.flowState:null}function Ft(h){let S=X(h);return S.length===0?0:S.filter(_=>Fe(h,_.id)===Je).length}function Vt(h){return X(h).length}function ct(h){let S=o.find(x=>x.slug===h);return S?(T&&T[h]&&(S.data=T[h]),tr(S.data)):null}function kt(h){if(b)return!1;if(u)return!0;if(h!=null&&h.targetingLogic&&y){let S=y.find(x=>x.flowId===h.slug);if(S)return S.shouldTrigger===!1}return!!(h!=null&&h.targetingLogic&&n&&n.startsWith("guest_"))}function mt(h){return!kt(ee(h))}function to(){n&&$()}function oo(){return o}return{getAllFlows:oo,getFlow:ee,getFlowData:ct,isLoading:u||z,getStepStatus:Fe,getFlowSteps:X,getCurrentStepIndex:j,markStepStarted:Le,markStepCompleted:te,markFlowNotStarted:xe,markFlowStarted:W,markFlowCompleted:ne,markFlowAborted:qe,markStepNotStarted:Ke,getFlowStatus:rt,getNumberOfStepsCompleted:Ft,getNumberOfSteps:Vt,targetingLogicShouldHideFlow:kt,setCustomVariable:J,updateCustomVariables:ue,customVariables:p,getStepOptionalProgress:fe,getFlowMetadata:Q,isStepBlocked:ke,isStepHidden:G,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:mt,refresh:to}}var Lt=require("react");var po="guest_";function co(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Lt.useContext)(Z),{config:r,apiUrl:l}=ut(),{mutateUserFlowState:p}=Xe(),d=io(),{verifySDKInitiated:s}=no();function m(T){return`frigade-user-registered-${T}`}(0,Lt.useEffect)(()=>{if(e&&!t){if(e.startsWith(po))return;let T=m(e);localStorage.getItem(T)||(d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(T,"true"))}},[e,n,t]);let c=(0,Lt.useCallback)(T=>U(this,null,function*(){if(!s())return;let w={foreignId:e,properties:T};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(w)})),i(C=>F(F({},C),T)),p()}),[e,r,n,p]),g=(0,Lt.useCallback)((T,w)=>U(this,null,function*(){if(!s())return;let B={foreignId:e,events:[{event:T,properties:w}]};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(B)})),p()}),[e,r,p]),b=(0,Lt.useCallback)((T,w)=>U(this,null,function*(){if(s())if(w){let C=m(T);localStorage.setItem(C,"true"),o(T);let B={foreignId:T,properties:w};yield d(`${l}users`,K(F({},r),{method:"POST",body:JSON.stringify(B)})),i(P=>F(F({},P),w)),p()}else o(T)}),[r,n,p]);return{userId:e,setUserId:o,setUserIdWithProperties:b,addPropertiesToUser:c,trackEventForUser:g}}var An=require("uuid");var ze=f(require("react"));var Ae=f(require("react")),Mo=f(require("styled-components"));var vi=f(require("react")),Bi=f(require("styled-components"));var Pi="fr-",Lo="cfr-";function a(e,t){let o=`${Pi}${e}`;if(!t)return o;if(t.styleOverrides&&t.styleOverrides[e]){if(typeof t.styleOverrides[e]=="string")return o+" "+t.styleOverrides[e];if(typeof t.styleOverrides[e]=="object")return o+" "+Lo+e}return o}function A(e){if(!e.className||e.className.indexOf(Lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Pi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function rr(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function We(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${rr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function $e(...e){return e.filter(Boolean).join(" ")}function $o(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Wa=Bi.default.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -1138,6 +1138,10 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${Lo}${t}.${Lo}${t} { ${Object.entries(o).map
|
|
|
1138
1138
|
flex-direction: row;
|
|
1139
1139
|
justify-content: space-between;
|
|
1140
1140
|
align-items: center;
|
|
1141
|
+
cursor: pointer;
|
|
1142
|
+
:hover {
|
|
1143
|
+
opacity: 0.8;
|
|
1144
|
+
}
|
|
1141
1145
|
`,Hs=wt.default.p`
|
|
1142
1146
|
color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorText}};
|
|
1143
1147
|
font-style: normal;
|
|
@@ -1165,7 +1169,7 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${Lo}${t}.${Lo}${t} { ${Object.entries(o).map
|
|
|
1165
1169
|
flex-direction: row;
|
|
1166
1170
|
justify-content: flex-start;
|
|
1167
1171
|
align-items: center;
|
|
1168
|
-
`;var Ks=({stepData:e,collapsed:t,onClick:o,onPrimaryButtonClick:i,onSecondaryButtonClick:n,appearance:r,customStepTypes:l})=>{var c,g;let p=t?{}:{transform:"rotate(90deg)"},d=t?{overflow:"hidden",maxHeight:"0px",transition:"max-height 0.35s ease-out"}:{overflow:"hidden",maxHeight:"1000px",transition:"max-height 0.7s ease-out"};function s(){var b;return Ie.default.createElement(Ie.default.Fragment,null,e.imageUri||e.videoUri?Ie.default.createElement(_s,{className:a("stepMediaContainer",r)},e.imageUri?Ie.default.createElement(Ws,{className:a("stepImage",r),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?Ie.default.createElement(Ct,{appearance:r,videoUri:e.videoUri}):null):null,Ie.default.createElement(js,{className:a("stepSubtitle",r),appearance:r,dangerouslySetInnerHTML:ge(e.subtitle)}),Ie.default.createElement(gr,{className:a("checklistCTAContainer",r)},e.secondaryButtonTitle?Ie.default.createElement(ae,{secondary:!0,title:e.secondaryButtonTitle,onClick:()=>n(),appearance:r}):null,Ie.default.createElement(ae,{title:(b=e.primaryButtonTitle)!=null?b:"Continue",onClick:()=>i(),appearance:r})))}function m(){if(!l)return null;let b=l[e.type];return b?typeof b!="function"?b:b(e,r):null}return Ie.default.createElement(Us,{"data-testid":`step-${e.id}`,className:a("checklistStepContainer",r),appearance:r},Ie.default.createElement(zs,{className:a("stepHeader",r)},Ie.default.createElement(Gs,null,Ie.default.createElement(kr,{value:e.complete,style:{width:"auto",borderTop:0},primaryColor:(c=r==null?void 0:r.theme)==null?void 0:c.colorPrimary,appearance:r}),Ie.default.createElement(Hs,{appearance:r,className:a("stepTitle",r),dangerouslySetInnerHTML:ge(e.title)
|
|
1172
|
+
`;var Ks=({stepData:e,collapsed:t,onClick:o,onPrimaryButtonClick:i,onSecondaryButtonClick:n,appearance:r,customStepTypes:l})=>{var c,g;let p=t?{}:{transform:"rotate(90deg)"},d=t?{overflow:"hidden",maxHeight:"0px",transition:"max-height 0.35s ease-out"}:{overflow:"hidden",maxHeight:"1000px",transition:"max-height 0.7s ease-out"};function s(){var b;return Ie.default.createElement(Ie.default.Fragment,null,e.imageUri||e.videoUri?Ie.default.createElement(_s,{className:a("stepMediaContainer",r)},e.imageUri?Ie.default.createElement(Ws,{className:a("stepImage",r),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?Ie.default.createElement(Ct,{appearance:r,videoUri:e.videoUri}):null):null,Ie.default.createElement(js,{className:a("stepSubtitle",r),appearance:r,dangerouslySetInnerHTML:ge(e.subtitle)}),Ie.default.createElement(gr,{className:a("checklistCTAContainer",r)},e.secondaryButtonTitle?Ie.default.createElement(ae,{secondary:!0,title:e.secondaryButtonTitle,onClick:()=>n(),appearance:r}):null,Ie.default.createElement(ae,{title:(b=e.primaryButtonTitle)!=null?b:"Continue",onClick:()=>i(),appearance:r})))}function m(){if(!l)return null;let b=l[e.type];return b?typeof b!="function"?b:b(e,r):null}return Ie.default.createElement(Us,{"data-testid":`step-${e.id}`,className:a("checklistStepContainer",r),appearance:r},Ie.default.createElement(zs,{className:a("stepHeader",r),onClick:()=>o()},Ie.default.createElement(Gs,null,Ie.default.createElement(kr,{value:e.complete,style:{width:"auto",borderTop:0},primaryColor:(c=r==null?void 0:r.theme)==null?void 0:c.colorPrimary,appearance:r}),Ie.default.createElement(Hs,{appearance:r,className:a("stepTitle",r),dangerouslySetInnerHTML:ge(e.title)})),Ie.default.createElement(Vs,{className:a("stepChevronContainer",r),appearance:r},Ie.default.createElement(Fo,{style:K(F({},p),{transition:"transform 0.2s ease-in-out"})}))),Ie.default.createElement("div",{key:e.id,style:F({},d)},(g=m())!=null?g:s()))};var Zt=f(require("styled-components")),px=Zt.default.div`
|
|
1169
1173
|
background: #ffffff;
|
|
1170
1174
|
box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.06);
|
|
1171
1175
|
border-radius: 6px;
|
|
@@ -1458,7 +1462,7 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${Lo}${t}.${Lo}${t} { ${Object.entries(o).map
|
|
|
1458
1462
|
`,Nd=(0,Bo.default)($l)`
|
|
1459
1463
|
width: ${vo+12}px;
|
|
1460
1464
|
height: ${vo+12}px;
|
|
1461
|
-
`,Id=({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:m,appearance:c,dismissible:g=!1,showHighlightOnly:b,showStepCount:T=!0,completedStepsCount:w=0,showFrigadeBranding:C=!1,cssPosition:B="absolute",onViewTooltip:P,className:E})=>{var Vt,ct,kt,mt,to,oo,h,S,x,_,we,Re,Nt,jt,be,Eo,Ao,fi,gi;let{logErrorIfDebugMode:$}=Nl(),[y,u]=(0,D.useState)(),[I,k]=(0,D.useState)(new Date),v=(0,D.useRef)(null),[L,N]=(0,D.useState)(document.querySelector(e[s].selector)),O=Ol(L,I),[q,z]=(0,D.useState)(),[ee,X]=(0,D.useState)(!b),ce=(ct=(Vt=e[s])==null?void 0:Vt.props)!=null&&ct.position?e[s].props.position:B,Q=(to=(mt=(kt=e[s])==null?void 0:kt.props)==null?void 0:mt.zIndex)!=null?to:90,J=(oo=y==null?void 0:y.width)!=null?oo:Il,ue=(h=y==null?void 0:y.height)!=null?h:Ll,[Le,Ke]=(0,D.useState)(new Date().getTime());l=(_=(x=(S=e[s])==null?void 0:S.props)==null?void 0:x.offset)!=null?_:l;let te=window.location.pathname.split("/").pop();(0,D.useLayoutEffect)(()=>{v.current&&u({width:v.current.clientWidth,height:v.current.clientHeight})},[s,I,ce]),(0,D.useEffect)(()=>{b||X(!0)},[s]),(0,D.useEffect)(()=>{p&&ee&&P(s)},[ee]);let xe=()=>{let me=document.querySelector(e[s].selector);if(!me){z(void 0),N(null),$(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}q&&q===JSON.stringify(me==null?void 0:me.getBoundingClientRect())||(N(me),k(new Date),me&&z(JSON.stringify(me.getBoundingClientRect())))};if((0,D.useEffect)(()=>{let me=new MutationObserver(xe);return me.observe(document.body,{subtree:!0,childList:!0}),()=>me.disconnect()},[xe]),(0,D.useEffect)(()=>{let me=new MutationObserver(xe);return me.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>me.disconnect()},[xe]),(0,D.useEffect)(()=>{let me=setInterval(()=>{xe()},10);return()=>clearInterval(me)},[xe]),(0,D.useLayoutEffect)(()=>{setTimeout(()=>{xe()},Bd),xe()},[s,te]),L===null||!p)return null;let W=i==="auto"?"right":i,ne=ri(O,W,J,l,ce),qe=O.right+J>(window.innerWidth||document.documentElement.clientWidth),Ue=O.bottom+Ll>(window.innerHeight||document.documentElement.clientHeight);qe&&i==="auto"&&(ne=ri(O,"left",J,l,ce),W="left"),(Re=(we=e[s])==null?void 0:we.props)!=null&&Re.tooltipPosition&&((jt=(Nt=e[s])==null?void 0:Nt.props)==null?void 0:jt.tooltipPosition)!=="auto"&&(((Eo=(be=e[s])==null?void 0:be.props)==null?void 0:Eo.tooltipPosition)==="left"||((fi=(Ao=e[s])==null?void 0:Ao.props)==null?void 0:fi.tooltipPosition)==="right")&&(W=e[s].props.tooltipPosition);let Fe=()=>{let me=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),X(!1),setTimeout(()=>{xe()},30)),w===e.length-1)return o()},It=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),b&&!e[s].secondaryButtonUri&&X(!1))};return D.default.createElement(D.default.Fragment,null,T&&e.length>1&&D.default.createElement(Di,null,D.default.createElement(_i,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&D.default.createElement(Ui,{showStepCount:T,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&D.default.createElement(ae,{title:e[s].secondaryButtonTitle,appearance:c,onClick:It,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&D.default.createElement(ae,{title:e[s].primaryButtonTitle,appearance:c,onClick:me,withMargin:!1,size:"small"})))},ke=()=>D.default.createElement(D.default.Fragment,null,g&&D.default.createElement(Ni,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri},D.default.createElement(Ve,null)),e[s].imageUri&&D.default.createElement(Ii,{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&&D.default.createElement(Li,{dismissible:g,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},D.default.createElement(Ct,{appearance:c,videoUri:e[s].videoUri})),D.default.createElement(Mi,{className:a("tooltipContentContainer",c)},D.default.createElement(Ge,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),D.default.createElement($i,{className:a("tooltipFooter",c)},D.default.createElement(Fe,null)))),H=F(F({},{default:me=>{var It;if((It=e[s])!=null&&It.StepContent){let Pa=e[s].StepContent;return D.default.createElement("div",null,Pa)}return D.default.createElement(ke,null)}}),m),M=()=>{var me;return e?!((me=e[s])!=null&&me.type)||!H[e[s].type]?H.default(e[s]):H[e[s].type]({stepData:e[s],primaryColor:r}):D.default.createElement(D.default.Fragment,null)};if(e[s].complete===!0||ne.x==0&&ne.y==0&&new Date().getTime()-Le<100)return null;let j={top:(ne==null?void 0:ne.y)-vo,left:(gi=W=="left"?O.x+l.x:(ne==null?void 0:ne.x)-vo)!=null?gi:0,cursor:b?"pointer":"default",position:ce},fe=()=>{let It=j.left+(W=="left"?-J:24);return Math.min(Math.max(It,20),window.innerWidth-J-20)},rt=()=>{if(ce==="fixed")return j.top;let me=j.top+ue,It=20;return me>window.innerHeight-It?j.top+-ue:j.top},Ft=()=>{b&&(k(new Date),X(!ee))};return D.default.createElement(Od,{className:E},D.default.createElement(Nd,{style:j,zIndex:Q,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&B!=="static"&&D.default.createElement(D.default.Fragment,null,D.default.createElement(Ad,{style:{position:ce},onClick:Ft,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),D.default.createElement(Ed,{style:{position:"absolute"},onClick:Ft,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),D.default.createElement($l,{style:K(F({},j),{left:fe(),top:rt()}),zIndex:Q+1,className:a("tooltipContainerWrapper",c)},ee&&D.default.createElement(D.default.Fragment,null,D.default.createElement(sr,{ref:v,role:"
|
|
1465
|
+
`,Id=({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:m,appearance:c,dismissible:g=!1,showHighlightOnly:b,showStepCount:T=!0,completedStepsCount:w=0,showFrigadeBranding:C=!1,cssPosition:B="absolute",onViewTooltip:P,className:E})=>{var Vt,ct,kt,mt,to,oo,h,S,x,_,we,Re,Nt,jt,be,Eo,Ao,fi,gi;let{logErrorIfDebugMode:$}=Nl(),[y,u]=(0,D.useState)(),[I,k]=(0,D.useState)(new Date),v=(0,D.useRef)(null),[L,N]=(0,D.useState)(document.querySelector(e[s].selector)),O=Ol(L,I),[q,z]=(0,D.useState)(),[ee,X]=(0,D.useState)(!b),ce=(ct=(Vt=e[s])==null?void 0:Vt.props)!=null&&ct.position?e[s].props.position:B,Q=(to=(mt=(kt=e[s])==null?void 0:kt.props)==null?void 0:mt.zIndex)!=null?to:90,J=(oo=y==null?void 0:y.width)!=null?oo:Il,ue=(h=y==null?void 0:y.height)!=null?h:Ll,[Le,Ke]=(0,D.useState)(new Date().getTime());l=(_=(x=(S=e[s])==null?void 0:S.props)==null?void 0:x.offset)!=null?_:l;let te=window.location.pathname.split("/").pop();(0,D.useLayoutEffect)(()=>{v.current&&u({width:v.current.clientWidth,height:v.current.clientHeight})},[s,I,ce]),(0,D.useEffect)(()=>{b||X(!0)},[s]),(0,D.useEffect)(()=>{p&&ee&&P(s)},[ee]);let xe=()=>{let me=document.querySelector(e[s].selector);if(!me){z(void 0),N(null),$(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}q&&q===JSON.stringify(me==null?void 0:me.getBoundingClientRect())||(N(me),k(new Date),me&&z(JSON.stringify(me.getBoundingClientRect())))};if((0,D.useEffect)(()=>{let me=new MutationObserver(xe);return me.observe(document.body,{subtree:!0,childList:!0}),()=>me.disconnect()},[xe]),(0,D.useEffect)(()=>{let me=new MutationObserver(xe);return me.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>me.disconnect()},[xe]),(0,D.useEffect)(()=>{let me=setInterval(()=>{xe()},10);return()=>clearInterval(me)},[xe]),(0,D.useLayoutEffect)(()=>{setTimeout(()=>{xe()},Bd),xe()},[s,te]),L===null||!p)return null;let W=i==="auto"?"right":i,ne=ri(O,W,J,l,ce),qe=O.right+J>(window.innerWidth||document.documentElement.clientWidth),Ue=O.bottom+Ll>(window.innerHeight||document.documentElement.clientHeight);qe&&i==="auto"&&(ne=ri(O,"left",J,l,ce),W="left"),(Re=(we=e[s])==null?void 0:we.props)!=null&&Re.tooltipPosition&&((jt=(Nt=e[s])==null?void 0:Nt.props)==null?void 0:jt.tooltipPosition)!=="auto"&&(((Eo=(be=e[s])==null?void 0:be.props)==null?void 0:Eo.tooltipPosition)==="left"||((fi=(Ao=e[s])==null?void 0:Ao.props)==null?void 0:fi.tooltipPosition)==="right")&&(W=e[s].props.tooltipPosition);let Fe=()=>{let me=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),X(!1),setTimeout(()=>{xe()},30)),w===e.length-1)return o()},It=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),b&&!e[s].secondaryButtonUri&&X(!1))};return D.default.createElement(D.default.Fragment,null,T&&e.length>1&&D.default.createElement(Di,null,D.default.createElement(_i,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&D.default.createElement(Ui,{showStepCount:T,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&D.default.createElement(ae,{title:e[s].secondaryButtonTitle,appearance:c,onClick:It,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&D.default.createElement(ae,{title:e[s].primaryButtonTitle,appearance:c,onClick:me,withMargin:!1,size:"small"})))},ke=()=>D.default.createElement(D.default.Fragment,null,g&&D.default.createElement(Ni,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri,"aria-label":"Close Tooltip",tabIndex:0},D.default.createElement(Ve,null)),e[s].imageUri&&D.default.createElement(Ii,{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&&D.default.createElement(Li,{dismissible:g,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},D.default.createElement(Ct,{appearance:c,videoUri:e[s].videoUri})),D.default.createElement(Mi,{className:a("tooltipContentContainer",c)},D.default.createElement(Ge,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),D.default.createElement($i,{className:a("tooltipFooter",c)},D.default.createElement(Fe,null)))),H=F(F({},{default:me=>{var It;if((It=e[s])!=null&&It.StepContent){let Pa=e[s].StepContent;return D.default.createElement("div",null,Pa)}return D.default.createElement(ke,null)}}),m),M=()=>{var me;return e?!((me=e[s])!=null&&me.type)||!H[e[s].type]?H.default(e[s]):H[e[s].type]({stepData:e[s],primaryColor:r}):D.default.createElement(D.default.Fragment,null)};if(e[s].complete===!0||ne.x==0&&ne.y==0&&new Date().getTime()-Le<100)return null;let j={top:(ne==null?void 0:ne.y)-vo,left:(gi=W=="left"?O.x+l.x:(ne==null?void 0:ne.x)-vo)!=null?gi:0,cursor:b?"pointer":"default",position:ce},fe=()=>{let It=j.left+(W=="left"?-J:24);return Math.min(Math.max(It,20),window.innerWidth-J-20)},rt=()=>{if(ce==="fixed")return j.top;let me=j.top+ue,It=20;return me>window.innerHeight-It?j.top+-ue:j.top},Ft=()=>{b&&(k(new Date),X(!ee))};return D.default.createElement(Od,{className:E},D.default.createElement(Nd,{style:j,zIndex:Q,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&B!=="static"&&D.default.createElement(D.default.Fragment,null,D.default.createElement(Ad,{style:{position:ce},onClick:Ft,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),D.default.createElement(Ed,{style:{position:"absolute"},onClick:Ft,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),D.default.createElement($l,{style:K(F({},j),{left:fe(),top:rt()}),zIndex:Q+1,className:a("tooltipContainerWrapper",c)},ee&&D.default.createElement(D.default.Fragment,null,D.default.createElement(sr,{ref:v,role:"alertdialog","aria-labelledby":`frigadeTooltip${e[s].id}Title`,"aria-describedby":`frigadeTooltip${e[s].id}Subtitle`,layoutId:"tooltip-container",tabIndex:0,"aria-label":"Tooltip",style:F({position:"relative",width:"max-content",right:0,top:B!=="static"?12:0},d),appearance:c,className:a("tooltipContainer",c),maxWidth:Il,zIndex:Q+10},D.default.createElement(M,null)),C&&D.default.createElement(zi,{className:a("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:Q+10},D.default.createElement(ar,{appearance:c})))))},ii=Id;var Ml=require("react-portal");var Dl=C=>{var B=C,{flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:n,showTooltipsSimultaneously:r=!1,onDismiss:l,dismissible:p,tooltipPosition:d="auto",showHighlightOnly:s=!1,dismissBehavior:m="complete-flow",onComplete:c,skipIfNotFound:g=!1,cssPosition:b="absolute",className:T}=B,w=Ye(B,["flowId","customVariables","appearance","onStepCompletion","onButtonClick","showTooltipsSimultaneously","onDismiss","dismissible","tooltipPosition","showHighlightOnly","dismissBehavior","onComplete","skipIfNotFound","cssPosition","className"]);let{getFlow:P,getFlowSteps:E,isLoading:$,targetingLogicShouldHideFlow:y,markStepCompleted:u,markStepStarted:I,markFlowCompleted:k,updateCustomVariables:v,getCurrentStepIndex:L,getStepStatus:N,isStepBlocked:O,getFlowStatus:q,getNumberOfStepsCompleted:z}=R(),{isLoadingUserFlowStateData:ee}=Xe(),{primaryCTAClickSideEffects:X,secondaryCTAClickSideEffects:ce}=Ce(),{hasOpenModals:Q}=_e(),J=L(e),{openFlowStates:ue}=(0,at.useContext)(Z),{mergeAppearanceWithDefault:Le}=le();if(o=Le(o),(0,at.useEffect)(()=>{v(t)},[t,$]),ee)return null;let Ke=P(e);if(!Ke||y(Ke)||q(e)==se||Q())return null;let te=E(e);if(Object.keys(ue).length>0){let M=Object.keys(ue).find(j=>ue[j]===!0);if(M!==void 0&&M!==e)return at.default.createElement(at.default.Fragment,null)}function xe(M){return U(this,null,function*(){if(yield u(e,M.id),te.map(j=>N(e,j.id)).every(j=>j===Je)){yield k(e);return}!s&&J+1<te.length&&!r&&O(e,te[J+1].id)})}function W(M,j,fe){let rt=J+1<te.length?te[J+1]:null;n&&n(M,J,j,rt),i&&i(M,fe,rt)}function ne(){return te.map(M=>K(F({},M),{handleSecondaryButtonClick:()=>U(this,null,function*(){ce(M),M.skippable===!0&&(yield u(e,M.id,{skipped:!0})),W(M,"secondary",J)}),handlePrimaryButtonClick:()=>U(this,null,function*(){(!M.completionCriteria&&(M.autoMarkCompleted||M.autoMarkCompleted===void 0)||M.completionCriteria&&M.autoMarkCompleted===!0)&&(yield xe(M)),W(M,"primary",J),X(M)})}))}function qe(M){return U(this,null,function*(){l&&l(),m==="complete-flow"?yield k(e):yield u(e,M.id)})}function Ue(){c&&c()}function Fe(M){return U(this,null,function*(){yield I(e,te[M].id)})}let ke=!document.querySelector(te[J].selector);function G(){let M=te.findIndex(j=>!!document.querySelector(j.selector));return te.map((j,fe)=>ke&&!r&&fe!==M&&g||!r&&fe!==J?null:at.default.createElement(ii,F({key:j.id,appearance:o,steps:ne(),selectedStep:fe,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>qe(j),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:z(e),onComplete:Ue,cssPosition:b,onViewTooltip:Fe,className:T},w)))}function H(){return at.default.createElement(at.default.Fragment,null,at.default.createElement(pe,{appearance:o}),G())}return b==="static"?H():at.default.createElement(Ml.Portal,null,H())};var Te=f(require("react"));var ql=require("react-portal");var zt=f(require("styled-components"));var Ul=zt.default.button`
|
|
1462
1466
|
${e=>A(e)} {
|
|
1463
1467
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1464
1468
|
|