@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.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var na=Object.defineProperty,sa=Object.defineProperties;var la=Object.getOwnPropertyDescriptors;var Io=Object.getOwnPropertySymbols;var li=Object.prototype.hasOwnProperty,ai=Object.prototype.propertyIsEnumerable;var si=(e,t,o)=>t in e?na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,T=(e,t)=>{for(var o in t||(t={}))li.call(t,o)&&si(e,o,t[o]);if(Io)for(var o of Io(t))ai.call(t,o)&&si(e,o,t[o]);return e},V=(e,t)=>sa(e,la(t));var pi=e=>typeof e=="symbol"?e:e+"",Le=(e,t)=>{var o={};for(var i in e)li.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Io)for(var i of Io(e))t.indexOf(i)<0&&ai.call(e,i)&&(o[i]=e[i]);return o};var M=(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())});import Ro,{createContext as Td,useEffect as er,useState as Ke}from"react";import{ThemeProvider as Fd}from"styled-components";import Nt,{useContext as Zp,useEffect as Zt,useState as To}from"react";import{useCallback as Bt,useContext as Sa,useEffect as ba}from"react";import ur,{useMemo as ci}from"react";var di="1.37.7";var st="NOT_STARTED_STEP",te="COMPLETED_FLOW",Lo="ABORTED_FLOW",vt="STARTED_FLOW",Ue="NOT_STARTED_FLOW",$e="COMPLETED_STEP",uo="STARTED_STEP";function Qe(){let{publicApiKey:e,userId:t,apiUrl:o}=ur.useContext(X);return{config:ci(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":di,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:ci(()=>`${o}/v1/public/`,[o])}}var aa="frigade-last-call-at-",pa="frigade-last-call-data-";function Vt(){let{shouldGracefullyDegrade:e,readonly:t}=ur.useContext(X);return(o,i)=>M(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Ht();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Ht();let n=aa+o,r=pa+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 Ht()}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 Ht(p)}return l?l.ok?l:Ht(l.statusText):Ht()})}function Ht(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function jt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=ur.useContext(X);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}}import{useContext as xa,useState as mi}from"react";import{useContext as ca,useEffect as ma,useState as ua}from"react";import fa from"swr";import{useContext as da}from"react";function Ee(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=da(X);function r(c,f=!1){var S;return(S=e[c])!=null?S:f}function l(c,f){t(S=>V(T({},S),{[c]:f}))}function p(c){t(f=>{let b=f,{[c]:S}=b,w=Le(b,[pi(c)]);return T({},w)})}function d(c){n.includes(c)||i(f=>[...f,c])}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([f,S])=>S&&f!=c)||o}return{getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}import ga from"swr/immutable";import fo from"core-js-pure/actual/structured-clone";function fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ye(...e){let t=e.shift(),o=e.length===1?e[0]:ye(...e);if(!fr(t)||!fr(o))throw new Error("deepmerge can only merge Objects");let i=fo(t);return Object.entries(o).forEach(([n,r])=>{fr(r)?i[n]!==void 0?Object.assign(i,{[n]:ye(i[n],fo(r))}):Object.assign(i,{[n]:fo(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...fo(r)]}):Object.assign(i,{[n]:fo(r)}):Object.assign(i,{[n]:r})}),i}var ha="unknown";function _e(){let{config:e,apiUrl:t}=Qe(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=ca(X),{resetOpenFlowState:d}=Ee(),[s,m]=ua(!1),c={data:r.map(F=>({flowId:F.id,flowState:te,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=F=>fetch(F,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${F}: ${P}. Will gracefully degrade and hide Frigade`),l(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:w,isLoading:b,mutate:x,error:v}=p?ga(S,f):fa(S,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),k=w==null?void 0:w.data;ma(()=>{!s&&!b&&k&&m(!0)},[k,s,b]);function B(F){return M(this,null,function*(){if(k&&!p){let P=k.find(I=>I.flowId===F);P&&P.flowState!==te&&(P.flowState=te),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function L(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.stepStates[P]=I,O.flowState=vt),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function C(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.lastStepId=P,O.stepStates[P]=I,O.flowState=vt),yield x(ye(w,{data:k}),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function u(F){return M(this,null,function*(){if(k){let P=k.find(I=>I.flowId===F);P&&P.flowState!==Ue&&(P.flowState=Ue,P.lastStepId=ha,Object.keys(P.stepStates).forEach(I=>{P.stepStates[I].actionType=st,P.stepStates[I].createdAt=new Date().toISOString()}),yield x(ye(w,{data:k}),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1}),d(F))}})}function N(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.stepStates[P]=I),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:k,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:B,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:N,optimisticallyMarkStepStarted:C,error:v}}function go(){let{config:e,apiUrl:t}=Qe(),{userFlowStatesData:o,mutateUserFlowState:i}=_e(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=xa(X),[d,s]=mi(new Set),[m,c]=mi(new Set),f=Vt();function S(x){let v=JSON.stringify(x);if(d.has(v))return null;d.add(v),s(d),m.add(x),c(m);let k=l==null?void 0:l.find(B=>B.flowSlug===x.flowSlug&&B.stepId===x.stepId&&B.actionType===x.actionType&&B.createdAt===x.createdAt);return f(`${t}flowResponses`,V(T({},e),{method:"POST",body:v})).then(B=>{B.status!==200&&B.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):k||p(L=>[...L!=null?L:[],x])})}function w(x){return M(this,null,function*(){x.foreignUserId&&(x.actionType===vt||x.actionType===Ue?yield S(x):x.actionType===te?yield S(x):x.actionType===uo?yield S(x):x.actionType===$e?yield S(x):x.actionType===Lo?yield S(x):x.actionType===st&&(yield S(x)))})}function b(){let x=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let k in v.stepStates){let B=v.stepStates[k];x.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:B.stepId,actionType:B.actionType,data:{},createdAt:new Date(B.createdAt),blocked:B.blocked,hidden:B.hidden})}}),[...x,...l]}return{addResponse:w,setFlowResponses:p,getFlowResponses:b}}import wa from"swr";var Ca=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,ui=e=>{let t=Ca.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=ya(i,"'","");r.startsWith("flow_")&&(o=r)}),o},ya=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function $o(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var gr=(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))(gr||{});function R(){let{config:e,apiUrl:t}=Qe(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:f,readonly:S,flowDataOverrides:w}=Sa(X),b={data:[]},{verifySDKInitiated:x}=jt(),{addResponse:v,getFlowResponses:k}=go(),B=g=>fetch(g,e).then(y=>y.ok?y.json():(console.log(`Error fetching ${g} (${y.status}): ${y.statusText}. Will gracefully degrade and hide Frigade`),f(!0),b)).catch(y=>(console.log(`Error fetching ${g}: ${y}. Will gracefully degrade and hide Frigade`),f(!0),b)),{mutateUserFlowState:L,userFlowStatesData:C,isLoadingUserFlowStateData:u,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowNotStarted:F,optimisticallyMarkStepCompleted:P,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:O}=_e(),{data:A,error:G,isLoading:_}=wa(l?`${t}flows${S?"?readonly=true":""}`:null,B,{keepPreviousData:!0});ba(()=>{if(G){console.error(G);return}A&&A.data&&i(A.data)},[A,G]);function Q(g){if(_)return null;let y=o.find(h=>h.slug===g);return!y&&o.length>0&&!u&&!_?(console.log(`Flow with id ${g} not found`),null):(y&&w&&w[g]&&(y.data=w[g]),(y==null?void 0:y.active)===!1&&!S?null:y)}function Y(g){var D,ge,De,ht,Pt;if(!Q(g))return[];let y=(D=Q(g))==null?void 0:D.data;return y?(y=se(y),((Pt=(ht=(ge=$o(y))==null?void 0:ge.data)!=null?ht:(De=$o(y))==null?void 0:De.steps)!=null?Pt:[]).map(ue=>{let co=pe(ue);return V(T({handleSecondaryButtonClick:()=>{ue.skippable===!0&&Z(g,ue.id,{skipped:!0})}},ue),{complete:xe(g,ue.id)===$e||co>=1,started:xe(g,ue.id)===uo||xe(g,ue.id)===$e,currentlyActive:C==null?void 0:C.some(mo=>mo.flowId==g&&mo.lastStepId===ue.id),blocked:Ce(g,ue.id),hidden:H(g,ue.id),handlePrimaryButtonClick:()=>{(!ue.completionCriteria&&(ue.autoMarkCompleted||ue.autoMarkCompleted===void 0)||ue.completionCriteria&&ue.autoMarkCompleted===!0)&&Z(g,ue.id)},progress:co})}).filter(ue=>ue.hidden!==!0)):[]}function se(g){return g.replaceAll(/\${(.*?)}/g,(y,h)=>p[h]===void 0?"":String(p[h]).replace(/[\u00A0-\u9999<>\&]/g,function(D){return"&#"+D.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 J(g){var h;if(!Q(g))return[];let y=Q(g).data;return y?(y=se(y),(h=JSON.parse(y))!=null?h:{}):[]}function q(g,y){d(h=>V(T({},h),{[g]:y}))}function ae(g){!u&&!_&&g&&JSON.stringify(p)!=JSON.stringify(T(T({},p),g))&&Object.keys(g).forEach(y=>{q(y,g[y])})}let we=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:uo,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield O(g,y,D),v(D))}),[n,r,C]),Ne=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:st,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield I(g,y,D),v(D))}),[n,r,C]),Z=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:$e,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield P(g,y,D),v(D))}),[n,r,C]),ce=Bt((g,y)=>M(this,null,function*(){if(!x()||je(g)===Ue)return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:Ue,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};yield F(g),ke(h)&&v(h)}),[n,r,C]),U=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:vt,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&v(h)}),[n,r,C]),ee=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:te,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&(yield N(g),v(h))}),[n,r,C]),Ie=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:Lo,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&(yield N(g),v(h))}),[n,r,C]);function ke(g){var y;if(C===void 0)return!1;if(C){let h=C.find(D=>D.flowId===g.flowSlug);if(g.actionType===st&&(!(h!=null&&h.stepStates[g.stepId])||h.stepStates[g.stepId].actionType===st))return!1;if(h&&((y=h.stepStates[g.stepId])==null?void 0:y.actionType)===g.actionType){if(g.actionType===$e&&(!g.data||JSON.stringify(g.data)===JSON.stringify({})))return!1;let D=Object.keys(h.stepStates).sort((ge,De)=>{let ht=new Date(h.stepStates[ge].createdAt),Pt=new Date(h.stepStates[De].createdAt);return ht.getTime()-Pt.getTime()});if(h.stepStates[D[D.length-1]].actionType===g.actionType&&g.stepId===D[D.length-1])return!1}if(h&&h.flowState===te&&g.actionType===te)return!1}return!0}function xe(g,y){let h=W(g,y);return u?null:h?h.actionType:st}function Ce(g,y){let h=W(g,y);return h?h.blocked:!1}function H(g,y){let h=W(g,y);return h?h.hidden:!1}function W(g,y){var D;if(u)return null;let h=C==null?void 0:C.find(ge=>ge.flowId===g);return!h||!h.stepStates[y]?null:(D=h.stepStates[y])!=null?D:null}function $(g){var h,D;if(u||!C)return null;if(je(g)===Ue)return(h=Y(g)[0])!=null?h:null;let y=(D=C.find(ge=>ge.flowId===g))==null?void 0:D.lastStepId;return y?Y(g).find(ge=>ge.id===y):null}function z(g){var D;let y=$(g);if(!y)return 0;let h=(D=Y(g).findIndex(ge=>ge.id===y.id))!=null?D:0;return xe(g,y.id)===$e&&h<Y(g).length-1?h+1:h}function pe(g){if(!g.completionCriteria)return;let y=ui(g.completionCriteria);if(y===null)return;let h=it(y),D=kt(y);return D===0?void 0:h/D}function je(g){let y=C==null?void 0:C.find(h=>h.flowId===g);return y?y.flowState:null}function it(g){let y=Y(g);return y.length===0?0:y.filter(D=>xe(g,D.id)===$e).length}function kt(g){return Y(g).length}function Je(g){let y=o.find(h=>h.slug===g);return y?(w&&w[g]&&(y.data=w[g]),$o(y.data)):null}function nt(g){if(S)return!1;if(u)return!0;if(g!=null&&g.targetingLogic&&C){let y=C.find(h=>h.flowId===g.slug);if(y)return y.shouldTrigger===!1}return!!(g!=null&&g.targetingLogic&&n&&n.startsWith("guest_"))}function Xe(g){return!nt(Q(g))}function Wt(){n&&L()}function zt(){return o}return{getAllFlows:zt,getFlow:Q,getFlowData:Je,isLoading:u||_,getStepStatus:xe,getFlowSteps:Y,getCurrentStepIndex:z,markStepStarted:we,markStepCompleted:Z,markFlowNotStarted:ce,markFlowStarted:U,markFlowCompleted:ee,markFlowAborted:Ie,markStepNotStarted:Ne,getFlowStatus:je,getNumberOfStepsCompleted:it,getNumberOfSteps:kt,targetingLogicShouldHideFlow:nt,setCustomVariable:q,updateCustomVariables:ae,customVariables:p,getStepOptionalProgress:pe,getFlowMetadata:J,isStepBlocked:Ce,isStepHidden:H,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Xe,refresh:Wt}}import{useCallback as hr,useContext as Ta,useEffect as Fa}from"react";var Gt="guest_";function ho(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=Ta(X),{config:r,apiUrl:l}=Qe(),{mutateUserFlowState:p}=_e(),d=Vt(),{verifySDKInitiated:s}=jt();function m(w){return`frigade-user-registered-${w}`}Fa(()=>{if(e&&!t){if(e.startsWith(Gt))return;let w=m(e);localStorage.getItem(w)||(d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(w,"true"))}},[e,n,t]);let c=hr(w=>M(this,null,function*(){if(!s())return;let b={foreignId:e,properties:w};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(b)})),i(x=>T(T({},x),w)),p()}),[e,r,n,p]),f=hr((w,b)=>M(this,null,function*(){if(!s())return;let v={foreignId:e,events:[{event:w,properties:b}]};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(v)})),p()}),[e,r,p]),S=hr((w,b)=>M(this,null,function*(){if(s())if(b){let x=m(w);localStorage.setItem(x,"true"),o(w);let v={foreignId:w,properties:b};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(v)})),i(k=>T(T({},k),b)),p()}else o(w)}),[r,n,p]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:f}}import{v4 as Rp}from"uuid";import tt,{useEffect as xn,useState as Jp}from"react";import qe,{useEffect as Sr,useState as Ia}from"react";import _o from"styled-components";import ka from"react";import Pa from"styled-components";var fi="fr-",xo="cfr-";function a(e,t){let o=`${fi}${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+" "+xo+e}return o}function E(e){if(!e.className||e.className.indexOf(xo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(fi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Mo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Pe(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Mo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function Co(e){return e.charAt(0).toUpperCase()+e.slice(1)}var va=Pa.div`
|
|
2
|
+
var na=Object.defineProperty,sa=Object.defineProperties;var la=Object.getOwnPropertyDescriptors;var Io=Object.getOwnPropertySymbols;var li=Object.prototype.hasOwnProperty,ai=Object.prototype.propertyIsEnumerable;var si=(e,t,o)=>t in e?na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,T=(e,t)=>{for(var o in t||(t={}))li.call(t,o)&&si(e,o,t[o]);if(Io)for(var o of Io(t))ai.call(t,o)&&si(e,o,t[o]);return e},V=(e,t)=>sa(e,la(t));var pi=e=>typeof e=="symbol"?e:e+"",Le=(e,t)=>{var o={};for(var i in e)li.call(e,i)&&t.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Io)for(var i of Io(e))t.indexOf(i)<0&&ai.call(e,i)&&(o[i]=e[i]);return o};var M=(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())});import Ro,{createContext as Td,useEffect as er,useState as Ke}from"react";import{ThemeProvider as Fd}from"styled-components";import Nt,{useContext as Zp,useEffect as Zt,useState as To}from"react";import{useCallback as Bt,useContext as Sa,useEffect as ba}from"react";import ur,{useMemo as ci}from"react";var di="1.37.9";var st="NOT_STARTED_STEP",te="COMPLETED_FLOW",Lo="ABORTED_FLOW",vt="STARTED_FLOW",Ue="NOT_STARTED_FLOW",$e="COMPLETED_STEP",uo="STARTED_STEP";function Qe(){let{publicApiKey:e,userId:t,apiUrl:o}=ur.useContext(X);return{config:ci(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":di,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:ci(()=>`${o}/v1/public/`,[o])}}var aa="frigade-last-call-at-",pa="frigade-last-call-data-";function Vt(){let{shouldGracefullyDegrade:e,readonly:t}=ur.useContext(X);return(o,i)=>M(this,null,function*(){if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Ht();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Ht();let n=aa+o,r=pa+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 Ht()}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 Ht(p)}return l?l.ok?l:Ht(l.statusText):Ht()})}function Ht(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function jt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=ur.useContext(X);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}}import{useContext as xa,useState as mi}from"react";import{useContext as ca,useEffect as ma,useState as ua}from"react";import fa from"swr";import{useContext as da}from"react";function Ee(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=da(X);function r(c,f=!1){var S;return(S=e[c])!=null?S:f}function l(c,f){t(S=>V(T({},S),{[c]:f}))}function p(c){t(f=>{let b=f,{[c]:S}=b,w=Le(b,[pi(c)]);return T({},w)})}function d(c){n.includes(c)||i(f=>[...f,c])}function s(c){return n.includes(c)}function m(c){return Object.entries(e).some(([f,S])=>S&&f!=c)||o}return{getOpenFlowState:r,setOpenFlowState:l,resetOpenFlowState:p,hasOpenModals:m,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:s}}import ga from"swr/immutable";import fo from"core-js-pure/actual/structured-clone";function fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ye(...e){let t=e.shift(),o=e.length===1?e[0]:ye(...e);if(!fr(t)||!fr(o))throw new Error("deepmerge can only merge Objects");let i=fo(t);return Object.entries(o).forEach(([n,r])=>{fr(r)?i[n]!==void 0?Object.assign(i,{[n]:ye(i[n],fo(r))}):Object.assign(i,{[n]:fo(r)}):Array.isArray(r)?i[n]!==void 0?Object.assign(i,{[n]:[...i[n],...fo(r)]}):Object.assign(i,{[n]:fo(r)}):Object.assign(i,{[n]:r})}),i}var ha="unknown";function _e(){let{config:e,apiUrl:t}=Qe(),{publicApiKey:o,userId:i,organizationId:n,flows:r,setShouldGracefullyDegrade:l,readonly:p}=ca(X),{resetOpenFlowState:d}=Ee(),[s,m]=ua(!1),c={data:r.map(F=>({flowId:F.id,flowState:te,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=F=>fetch(F,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${F}: ${P}. Will gracefully degrade and hide Frigade`),l(!0),c)),S=o&&r&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${n?`&foreignUserGroupId=${encodeURIComponent(n)}`:""}`:null,{data:w,isLoading:b,mutate:x,error:v}=p?ga(S,f):fa(S,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!1,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),k=w==null?void 0:w.data;ma(()=>{!s&&!b&&k&&m(!0)},[k,s,b]);function B(F){return M(this,null,function*(){if(k&&!p){let P=k.find(I=>I.flowId===F);P&&P.flowState!==te&&(P.flowState=te),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function L(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.stepStates[P]=I,O.flowState=vt),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function C(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.lastStepId=P,O.stepStates[P]=I,O.flowState=vt),yield x(ye(w,{data:k}),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}function u(F){return M(this,null,function*(){if(k){let P=k.find(I=>I.flowId===F);P&&P.flowState!==Ue&&(P.flowState=Ue,P.lastStepId=ha,Object.keys(P.stepStates).forEach(I=>{P.stepStates[I].actionType=st,P.stepStates[I].createdAt=new Date().toISOString()}),yield x(ye(w,{data:k}),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1}),d(F))}})}function N(F,P,I){return M(this,null,function*(){if(k){let O=k.find(A=>A.flowId===F);O&&(O.stepStates[P]=I),yield x(Promise.resolve(ye(w,{data:k})),{optimisticData:ye(w,{data:k}),revalidate:!1,rollbackOnError:!1})}})}return{userFlowStatesData:k,isLoadingUserFlowStateData:!s,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:B,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:N,optimisticallyMarkStepStarted:C,error:v}}function go(){let{config:e,apiUrl:t}=Qe(),{userFlowStatesData:o,mutateUserFlowState:i}=_e(),{failedFlowResponses:n,setFailedFlowResponses:r,flowResponses:l,setFlowResponses:p}=xa(X),[d,s]=mi(new Set),[m,c]=mi(new Set),f=Vt();function S(x){let v=JSON.stringify(x);if(d.has(v))return null;d.add(v),s(d),m.add(x),c(m);let k=l==null?void 0:l.find(B=>B.flowSlug===x.flowSlug&&B.stepId===x.stepId&&B.actionType===x.actionType&&B.createdAt===x.createdAt);return f(`${t}flowResponses`,V(T({},e),{method:"POST",body:v})).then(B=>{B.status!==200&&B.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),r([...n,x])):k||p(L=>[...L!=null?L:[],x])})}function w(x){return M(this,null,function*(){x.foreignUserId&&(x.actionType===vt||x.actionType===Ue?yield S(x):x.actionType===te?yield S(x):x.actionType===uo?yield S(x):x.actionType===$e?yield S(x):x.actionType===Lo?yield S(x):x.actionType===st&&(yield S(x)))})}function b(){let x=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let k in v.stepStates){let B=v.stepStates[k];x.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:B.stepId,actionType:B.actionType,data:{},createdAt:new Date(B.createdAt),blocked:B.blocked,hidden:B.hidden})}}),[...x,...l]}return{addResponse:w,setFlowResponses:p,getFlowResponses:b}}import wa from"swr";var Ca=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,ui=e=>{let t=Ca.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=ya(i,"'","");r.startsWith("flow_")&&(o=r)}),o},ya=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function $o(e){try{return JSON.parse(e)}catch(t){return console.error("Failed to parse Frigade config.yml to JSON",t),null}}var gr=(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))(gr||{});function R(){let{config:e,apiUrl:t}=Qe(),{flows:o,setFlows:i,userId:n,organizationId:r,publicApiKey:l,customVariables:p,setCustomVariables:d,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,setFlowResponses:c,setShouldGracefullyDegrade:f,readonly:S,flowDataOverrides:w}=Sa(X),b={data:[]},{verifySDKInitiated:x}=jt(),{addResponse:v,getFlowResponses:k}=go(),B=g=>fetch(g,e).then(y=>y.ok?y.json():(console.log(`Error fetching ${g} (${y.status}): ${y.statusText}. Will gracefully degrade and hide Frigade`),f(!0),b)).catch(y=>(console.log(`Error fetching ${g}: ${y}. Will gracefully degrade and hide Frigade`),f(!0),b)),{mutateUserFlowState:L,userFlowStatesData:C,isLoadingUserFlowStateData:u,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowNotStarted:F,optimisticallyMarkStepCompleted:P,optimisticallyMarkStepNotStarted:I,optimisticallyMarkStepStarted:O}=_e(),{data:A,error:G,isLoading:_}=wa(l?`${t}flows${S?"?readonly=true":""}`:null,B,{keepPreviousData:!0});ba(()=>{if(G){console.error(G);return}A&&A.data&&i(A.data)},[A,G]);function Q(g){if(_)return null;let y=o.find(h=>h.slug===g);return!y&&o.length>0&&!u&&!_?(console.log(`Flow with id ${g} not found`),null):(y&&w&&w[g]&&(y.data=w[g]),(y==null?void 0:y.active)===!1&&!S?null:y)}function Y(g){var D,ge,De,ht,Pt;if(!Q(g))return[];let y=(D=Q(g))==null?void 0:D.data;return y?(y=se(y),((Pt=(ht=(ge=$o(y))==null?void 0:ge.data)!=null?ht:(De=$o(y))==null?void 0:De.steps)!=null?Pt:[]).map(ue=>{let co=pe(ue);return V(T({handleSecondaryButtonClick:()=>{ue.skippable===!0&&Z(g,ue.id,{skipped:!0})}},ue),{complete:xe(g,ue.id)===$e||co>=1,started:xe(g,ue.id)===uo||xe(g,ue.id)===$e,currentlyActive:C==null?void 0:C.some(mo=>mo.flowId==g&&mo.lastStepId===ue.id),blocked:Ce(g,ue.id),hidden:H(g,ue.id),handlePrimaryButtonClick:()=>{(!ue.completionCriteria&&(ue.autoMarkCompleted||ue.autoMarkCompleted===void 0)||ue.completionCriteria&&ue.autoMarkCompleted===!0)&&Z(g,ue.id)},progress:co})}).filter(ue=>ue.hidden!==!0)):[]}function se(g){return g.replaceAll(/\${(.*?)}/g,(y,h)=>p[h]===void 0?"":String(p[h]).replace(/[\u00A0-\u9999<>\&]/g,function(D){return"&#"+D.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 J(g){var h;if(!Q(g))return[];let y=Q(g).data;return y?(y=se(y),(h=JSON.parse(y))!=null?h:{}):[]}function q(g,y){d(h=>V(T({},h),{[g]:y}))}function ae(g){!u&&!_&&g&&JSON.stringify(p)!=JSON.stringify(T(T({},p),g))&&Object.keys(g).forEach(y=>{q(y,g[y])})}let we=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:uo,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield O(g,y,D),v(D))}),[n,r,C]),Ne=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:st,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield I(g,y,D),v(D))}),[n,r,C]),Z=Bt((g,y,h)=>M(this,null,function*(){if(!x())return;let D={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:y,actionType:$e,data:h!=null?h:{},createdAt:new Date,blocked:!1,hidden:!1};ke(D)&&(yield P(g,y,D),v(D))}),[n,r,C]),ce=Bt((g,y)=>M(this,null,function*(){if(!x()||je(g)===Ue)return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:Ue,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};yield F(g),ke(h)&&v(h)}),[n,r,C]),U=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:vt,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&v(h)}),[n,r,C]),ee=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:te,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&(yield N(g),v(h))}),[n,r,C]),Ie=Bt((g,y)=>M(this,null,function*(){if(!x())return;let h={foreignUserId:n,foreignUserGroupId:r!=null?r:null,flowSlug:g,stepId:"unknown",actionType:Lo,data:y!=null?y:{},createdAt:new Date,blocked:!1,hidden:!1};ke(h)&&(yield N(g),v(h))}),[n,r,C]);function ke(g){var y;if(C===void 0)return!1;if(C){let h=C.find(D=>D.flowId===g.flowSlug);if(g.actionType===st&&(!(h!=null&&h.stepStates[g.stepId])||h.stepStates[g.stepId].actionType===st))return!1;if(h&&((y=h.stepStates[g.stepId])==null?void 0:y.actionType)===g.actionType){if(g.actionType===$e&&(!g.data||JSON.stringify(g.data)===JSON.stringify({})))return!1;let D=Object.keys(h.stepStates).sort((ge,De)=>{let ht=new Date(h.stepStates[ge].createdAt),Pt=new Date(h.stepStates[De].createdAt);return ht.getTime()-Pt.getTime()});if(h.stepStates[D[D.length-1]].actionType===g.actionType&&g.stepId===D[D.length-1])return!1}if(h&&h.flowState===te&&g.actionType===te)return!1}return!0}function xe(g,y){let h=W(g,y);return u?null:h?h.actionType:st}function Ce(g,y){let h=W(g,y);return h?h.blocked:!1}function H(g,y){let h=W(g,y);return h?h.hidden:!1}function W(g,y){var D;if(u)return null;let h=C==null?void 0:C.find(ge=>ge.flowId===g);return!h||!h.stepStates[y]?null:(D=h.stepStates[y])!=null?D:null}function $(g){var h,D;if(u||!C)return null;if(je(g)===Ue)return(h=Y(g)[0])!=null?h:null;let y=(D=C.find(ge=>ge.flowId===g))==null?void 0:D.lastStepId;return y?Y(g).find(ge=>ge.id===y):null}function z(g){var D;let y=$(g);if(!y)return 0;let h=(D=Y(g).findIndex(ge=>ge.id===y.id))!=null?D:0;return xe(g,y.id)===$e&&h<Y(g).length-1?h+1:h}function pe(g){if(!g.completionCriteria)return;let y=ui(g.completionCriteria);if(y===null)return;let h=it(y),D=kt(y);return D===0?void 0:h/D}function je(g){let y=C==null?void 0:C.find(h=>h.flowId===g);return y?y.flowState:null}function it(g){let y=Y(g);return y.length===0?0:y.filter(D=>xe(g,D.id)===$e).length}function kt(g){return Y(g).length}function Je(g){let y=o.find(h=>h.slug===g);return y?(w&&w[g]&&(y.data=w[g]),$o(y.data)):null}function nt(g){if(S)return!1;if(u)return!0;if(g!=null&&g.targetingLogic&&C){let y=C.find(h=>h.flowId===g.slug);if(y)return y.shouldTrigger===!1}return!!(g!=null&&g.targetingLogic&&n&&n.startsWith("guest_"))}function Xe(g){return!nt(Q(g))}function Wt(){n&&L()}function zt(){return o}return{getAllFlows:zt,getFlow:Q,getFlowData:Je,isLoading:u||_,getStepStatus:xe,getFlowSteps:Y,getCurrentStepIndex:z,markStepStarted:we,markStepCompleted:Z,markFlowNotStarted:ce,markFlowStarted:U,markFlowCompleted:ee,markFlowAborted:Ie,markStepNotStarted:Ne,getFlowStatus:je,getNumberOfStepsCompleted:it,getNumberOfSteps:kt,targetingLogicShouldHideFlow:nt,setCustomVariable:q,updateCustomVariables:ae,customVariables:p,getStepOptionalProgress:pe,getFlowMetadata:J,isStepBlocked:Ce,isStepHidden:H,hasActiveFullPageFlow:s,setHasActiveFullPageFlow:m,isFlowAvailableToUser:Xe,refresh:Wt}}import{useCallback as hr,useContext as Ta,useEffect as Fa}from"react";var Gt="guest_";function ho(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=Ta(X),{config:r,apiUrl:l}=Qe(),{mutateUserFlowState:p}=_e(),d=Vt(),{verifySDKInitiated:s}=jt();function m(w){return`frigade-user-registered-${w}`}Fa(()=>{if(e&&!t){if(e.startsWith(Gt))return;let w=m(e);localStorage.getItem(w)||(d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify({foreignId:e})})),localStorage.setItem(w,"true"))}},[e,n,t]);let c=hr(w=>M(this,null,function*(){if(!s())return;let b={foreignId:e,properties:w};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(b)})),i(x=>T(T({},x),w)),p()}),[e,r,n,p]),f=hr((w,b)=>M(this,null,function*(){if(!s())return;let v={foreignId:e,events:[{event:w,properties:b}]};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(v)})),p()}),[e,r,p]),S=hr((w,b)=>M(this,null,function*(){if(s())if(b){let x=m(w);localStorage.setItem(x,"true"),o(w);let v={foreignId:w,properties:b};yield d(`${l}users`,V(T({},r),{method:"POST",body:JSON.stringify(v)})),i(k=>T(T({},k),b)),p()}else o(w)}),[r,n,p]);return{userId:e,setUserId:o,setUserIdWithProperties:S,addPropertiesToUser:c,trackEventForUser:f}}import{v4 as Rp}from"uuid";import tt,{useEffect as xn,useState as Jp}from"react";import qe,{useEffect as Sr,useState as Ia}from"react";import _o from"styled-components";import ka from"react";import Pa from"styled-components";var fi="fr-",xo="cfr-";function a(e,t){let o=`${fi}${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+" "+xo+e}return o}function E(e){if(!e.className||e.className.indexOf(xo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(fi)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Mo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Pe(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Mo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Te(...e){return e.filter(Boolean).join(" ")}function Co(e){return e.charAt(0).toUpperCase()+e.slice(1)}var va=Pa.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -1138,6 +1138,10 @@ ${e=>e.inlineStyles.map(([t,o])=>`.${xo}${t}.${xo}${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
|
`,Bs=ft.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])=>`.${xo}${t}.${xo}${t} { ${Object.entries(o).map
|
|
|
1165
1169
|
flex-direction: row;
|
|
1166
1170
|
justify-content: flex-start;
|
|
1167
1171
|
align-items: center;
|
|
1168
|
-
`;var Ns=({stepData:e,collapsed:t,onClick:o,onPrimaryButtonClick:i,onSecondaryButtonClick:n,appearance:r,customStepTypes:l})=>{var c,f;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 S;return Fe.createElement(Fe.Fragment,null,e.imageUri||e.videoUri?Fe.createElement(ks,{className:a("stepMediaContainer",r)},e.imageUri?Fe.createElement(Ps,{className:a("stepImage",r),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?Fe.createElement(et,{appearance:r,videoUri:e.videoUri}):null):null,Fe.createElement(As,{className:a("stepSubtitle",r),appearance:r,dangerouslySetInnerHTML:de(e.subtitle)}),Fe.createElement(qo,{className:a("checklistCTAContainer",r)},e.secondaryButtonTitle?Fe.createElement(re,{secondary:!0,title:e.secondaryButtonTitle,onClick:()=>n(),appearance:r}):null,Fe.createElement(re,{title:(S=e.primaryButtonTitle)!=null?S:"Continue",onClick:()=>i(),appearance:r})))}function m(){if(!l)return null;let S=l[e.type];return S?typeof S!="function"?S:S(e,r):null}return Fe.createElement(Fs,{"data-testid":`step-${e.id}`,className:a("checklistStepContainer",r),appearance:r},Fe.createElement(vs,{className:a("stepHeader",r)},Fe.createElement(Os,null,Fe.createElement(tr,{value:e.complete,style:{width:"auto",borderTop:0},primaryColor:(c=r==null?void 0:r.theme)==null?void 0:c.colorPrimary,appearance:r}),Fe.createElement(Bs,{appearance:r,className:a("stepTitle",r),dangerouslySetInnerHTML:de(e.title)
|
|
1172
|
+
`;var Ns=({stepData:e,collapsed:t,onClick:o,onPrimaryButtonClick:i,onSecondaryButtonClick:n,appearance:r,customStepTypes:l})=>{var c,f;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 S;return Fe.createElement(Fe.Fragment,null,e.imageUri||e.videoUri?Fe.createElement(ks,{className:a("stepMediaContainer",r)},e.imageUri?Fe.createElement(Ps,{className:a("stepImage",r),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?Fe.createElement(et,{appearance:r,videoUri:e.videoUri}):null):null,Fe.createElement(As,{className:a("stepSubtitle",r),appearance:r,dangerouslySetInnerHTML:de(e.subtitle)}),Fe.createElement(qo,{className:a("checklistCTAContainer",r)},e.secondaryButtonTitle?Fe.createElement(re,{secondary:!0,title:e.secondaryButtonTitle,onClick:()=>n(),appearance:r}):null,Fe.createElement(re,{title:(S=e.primaryButtonTitle)!=null?S:"Continue",onClick:()=>i(),appearance:r})))}function m(){if(!l)return null;let S=l[e.type];return S?typeof S!="function"?S:S(e,r):null}return Fe.createElement(Fs,{"data-testid":`step-${e.id}`,className:a("checklistStepContainer",r),appearance:r},Fe.createElement(vs,{className:a("stepHeader",r),onClick:()=>o()},Fe.createElement(Os,null,Fe.createElement(tr,{value:e.complete,style:{width:"auto",borderTop:0},primaryColor:(c=r==null?void 0:r.theme)==null?void 0:c.colorPrimary,appearance:r}),Fe.createElement(Bs,{appearance:r,className:a("stepTitle",r),dangerouslySetInnerHTML:de(e.title)})),Fe.createElement(Es,{className:a("stepChevronContainer",r),appearance:r},Fe.createElement(io,{style:V(T({},p),{transition:"transform 0.2s ease-in-out"})}))),Fe.createElement("div",{key:e.id,style:T({},d)},(f=m())!=null?f:s()))};import no from"styled-components";var k0=no.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])=>`.${xo}${t}.${xo}${t} { ${Object.entries(o).map
|
|
|
1458
1462
|
`,Oc=No(Sl)`
|
|
1459
1463
|
width: ${ao+12}px;
|
|
1460
1464
|
height: ${ao+12}px;
|
|
1461
|
-
`,Nc=({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:f=!1,showHighlightOnly:S,showStepCount:w=!0,completedStepsCount:b=0,showFrigadeBranding:x=!1,cssPosition:v="absolute",onViewTooltip:k,className:B})=>{var kt,Je,nt,Xe,Wt,zt,g,y,h,D,ge,De,ht,Pt,ue,co,mo,ii,ni;let{logErrorIfDebugMode:L}=hl(),[C,u]=lo(),[N,F]=lo(new Date),P=Pc(null),[I,O]=lo(document.querySelector(e[s].selector)),A=gl(I,N),[G,_]=lo(),[Q,Y]=lo(!S),se=(Je=(kt=e[s])==null?void 0:kt.props)!=null&&Je.position?e[s].props.position:v,J=(Wt=(Xe=(nt=e[s])==null?void 0:nt.props)==null?void 0:Xe.zIndex)!=null?Wt:90,q=(zt=C==null?void 0:C.width)!=null?zt:Cl,ae=(g=C==null?void 0:C.height)!=null?g:yl,[we,Ne]=lo(new Date().getTime());l=(D=(h=(y=e[s])==null?void 0:y.props)==null?void 0:h.offset)!=null?D:l;let Z=window.location.pathname.split("/").pop();xl(()=>{P.current&&u({width:P.current.clientWidth,height:P.current.clientHeight})},[s,N,se]),Oo(()=>{S||Y(!0)},[s]),Oo(()=>{p&&Q&&k(s)},[Q]);let ce=()=>{let le=document.querySelector(e[s].selector);if(!le){_(void 0),O(null),L(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}G&&G===JSON.stringify(le==null?void 0:le.getBoundingClientRect())||(O(le),F(new Date),le&&_(JSON.stringify(le.getBoundingClientRect())))};if(Oo(()=>{let le=new MutationObserver(ce);return le.observe(document.body,{subtree:!0,childList:!0}),()=>le.disconnect()},[ce]),Oo(()=>{let le=new MutationObserver(ce);return le.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>le.disconnect()},[ce]),Oo(()=>{let le=setInterval(()=>{ce()},10);return()=>clearInterval(le)},[ce]),xl(()=>{setTimeout(()=>{ce()},vc),ce()},[s,Z]),I===null||!p)return null;let U=i==="auto"?"right":i,ee=Jr(A,U,q,l,se),Ie=A.right+q>(window.innerWidth||document.documentElement.clientWidth),ke=A.bottom+yl>(window.innerHeight||document.documentElement.clientHeight);Ie&&i==="auto"&&(ee=Jr(A,"left",q,l,se),U="left"),(De=(ge=e[s])==null?void 0:ge.props)!=null&&De.tooltipPosition&&((Pt=(ht=e[s])==null?void 0:ht.props)==null?void 0:Pt.tooltipPosition)!=="auto"&&(((co=(ue=e[s])==null?void 0:ue.props)==null?void 0:co.tooltipPosition)==="left"||((ii=(mo=e[s])==null?void 0:mo.props)==null?void 0:ii.tooltipPosition)==="right")&&(U=e[s].props.tooltipPosition);let xe=()=>{let le=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),Y(!1),setTimeout(()=>{ce()},30)),b===e.length-1)return o()},xt=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),S&&!e[s].secondaryButtonUri&&Y(!1))};return K.createElement(K.Fragment,null,w&&e.length>1&&K.createElement(wi,null,K.createElement(Fi,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&K.createElement(Ti,{showStepCount:w,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&K.createElement(re,{title:e[s].secondaryButtonTitle,appearance:c,onClick:xt,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&K.createElement(re,{title:e[s].primaryButtonTitle,appearance:c,onClick:le,withMargin:!1,size:"small"})))},Ce=()=>K.createElement(K.Fragment,null,f&&K.createElement(xi,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri},K.createElement(Ae,null)),e[s].imageUri&&K.createElement(Ci,{dismissible:f,appearance:c,role:"img","aria-label":e[s].title,src:e[s].imageUri,className:a("tooltipImageContainer",c)}),e[s].videoUri&&!e[s].imageUri&&K.createElement(yi,{dismissible:f,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},K.createElement(et,{appearance:c,videoUri:e[s].videoUri})),K.createElement(bi,{className:a("tooltipContentContainer",c)},K.createElement(Oe,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),K.createElement(Si,{className:a("tooltipFooter",c)},K.createElement(xe,null)))),W=T(T({},{default:le=>{var xt;if((xt=e[s])!=null&&xt.StepContent){let ia=e[s].StepContent;return K.createElement("div",null,ia)}return K.createElement(Ce,null)}}),m),$=()=>{var le;return e?!((le=e[s])!=null&&le.type)||!W[e[s].type]?W.default(e[s]):W[e[s].type]({stepData:e[s],primaryColor:r}):K.createElement(K.Fragment,null)};if(e[s].complete===!0||ee.x==0&&ee.y==0&&new Date().getTime()-we<100)return null;let z={top:(ee==null?void 0:ee.y)-ao,left:(ni=U=="left"?A.x+l.x:(ee==null?void 0:ee.x)-ao)!=null?ni:0,cursor:S?"pointer":"default",position:se},pe=()=>{let xt=z.left+(U=="left"?-q:24);return Math.min(Math.max(xt,20),window.innerWidth-q-20)},je=()=>{if(se==="fixed")return z.top;let le=z.top+ae,xt=20;return le>window.innerHeight-xt?z.top+-ae:z.top},it=()=>{S&&(F(new Date),Y(!Q))};return K.createElement(Ac,{className:B},K.createElement(Oc,{style:z,zIndex:J,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&v!=="static"&&K.createElement(K.Fragment,null,K.createElement(Ec,{style:{position:se},onClick:it,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),K.createElement(Bc,{style:{position:"absolute"},onClick:it,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),K.createElement(Sl,{style:V(T({},z),{left:pe(),top:je()}),zIndex:J+1,className:a("tooltipContainerWrapper",c)},Q&&K.createElement(K.Fragment,null,K.createElement(Do,{ref:P,role:"
|
|
1465
|
+
`,Nc=({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:f=!1,showHighlightOnly:S,showStepCount:w=!0,completedStepsCount:b=0,showFrigadeBranding:x=!1,cssPosition:v="absolute",onViewTooltip:k,className:B})=>{var kt,Je,nt,Xe,Wt,zt,g,y,h,D,ge,De,ht,Pt,ue,co,mo,ii,ni;let{logErrorIfDebugMode:L}=hl(),[C,u]=lo(),[N,F]=lo(new Date),P=Pc(null),[I,O]=lo(document.querySelector(e[s].selector)),A=gl(I,N),[G,_]=lo(),[Q,Y]=lo(!S),se=(Je=(kt=e[s])==null?void 0:kt.props)!=null&&Je.position?e[s].props.position:v,J=(Wt=(Xe=(nt=e[s])==null?void 0:nt.props)==null?void 0:Xe.zIndex)!=null?Wt:90,q=(zt=C==null?void 0:C.width)!=null?zt:Cl,ae=(g=C==null?void 0:C.height)!=null?g:yl,[we,Ne]=lo(new Date().getTime());l=(D=(h=(y=e[s])==null?void 0:y.props)==null?void 0:h.offset)!=null?D:l;let Z=window.location.pathname.split("/").pop();xl(()=>{P.current&&u({width:P.current.clientWidth,height:P.current.clientHeight})},[s,N,se]),Oo(()=>{S||Y(!0)},[s]),Oo(()=>{p&&Q&&k(s)},[Q]);let ce=()=>{let le=document.querySelector(e[s].selector);if(!le){_(void 0),O(null),L(`FrigadeTour: Could not find element with selector "${e[s].selector}" for step ${e[s].id}`);return}G&&G===JSON.stringify(le==null?void 0:le.getBoundingClientRect())||(O(le),F(new Date),le&&_(JSON.stringify(le.getBoundingClientRect())))};if(Oo(()=>{let le=new MutationObserver(ce);return le.observe(document.body,{subtree:!0,childList:!0}),()=>le.disconnect()},[ce]),Oo(()=>{let le=new MutationObserver(ce);return le.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>le.disconnect()},[ce]),Oo(()=>{let le=setInterval(()=>{ce()},10);return()=>clearInterval(le)},[ce]),xl(()=>{setTimeout(()=>{ce()},vc),ce()},[s,Z]),I===null||!p)return null;let U=i==="auto"?"right":i,ee=Jr(A,U,q,l,se),Ie=A.right+q>(window.innerWidth||document.documentElement.clientWidth),ke=A.bottom+yl>(window.innerHeight||document.documentElement.clientHeight);Ie&&i==="auto"&&(ee=Jr(A,"left",q,l,se),U="left"),(De=(ge=e[s])==null?void 0:ge.props)!=null&&De.tooltipPosition&&((Pt=(ht=e[s])==null?void 0:ht.props)==null?void 0:Pt.tooltipPosition)!=="auto"&&(((co=(ue=e[s])==null?void 0:ue.props)==null?void 0:co.tooltipPosition)==="left"||((ii=(mo=e[s])==null?void 0:mo.props)==null?void 0:ii.tooltipPosition)==="right")&&(U=e[s].props.tooltipPosition);let xe=()=>{let le=()=>{if(e[s].handlePrimaryButtonClick&&(e[s].handlePrimaryButtonClick(),Y(!1),setTimeout(()=>{ce()},30)),b===e.length-1)return o()},xt=()=>{e[s].handleSecondaryButtonClick&&(e[s].handleSecondaryButtonClick(),S&&!e[s].secondaryButtonUri&&Y(!1))};return K.createElement(K.Fragment,null,w&&e.length>1&&K.createElement(wi,null,K.createElement(Fi,{role:"status",className:a("tooltipStepCounter",c)},s+1," of ",e.length)),(e[s].primaryButtonTitle||e[s].secondaryButtonTitle)&&K.createElement(Ti,{showStepCount:w,className:a("tooltipCTAContainer",c)},e[s].secondaryButtonTitle&&K.createElement(re,{title:e[s].secondaryButtonTitle,appearance:c,onClick:xt,size:"small",withMargin:!1,secondary:!0}),e[s].primaryButtonTitle&&K.createElement(re,{title:e[s].primaryButtonTitle,appearance:c,onClick:le,withMargin:!1,size:"small"})))},Ce=()=>K.createElement(K.Fragment,null,f&&K.createElement(xi,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:a("tooltipClose",c),hasImage:!!e[s].imageUri||!!e[s].videoUri,"aria-label":"Close Tooltip",tabIndex:0},K.createElement(Ae,null)),e[s].imageUri&&K.createElement(Ci,{dismissible:f,appearance:c,role:"img","aria-label":e[s].title,src:e[s].imageUri,className:a("tooltipImageContainer",c)}),e[s].videoUri&&!e[s].imageUri&&K.createElement(yi,{dismissible:f,appearance:c,role:"video","aria-label":e[s].title,className:a("tooltipVideoContainer",c)},K.createElement(et,{appearance:c,videoUri:e[s].videoUri})),K.createElement(bi,{className:a("tooltipContentContainer",c)},K.createElement(Oe,{appearance:c,title:e[s].title,subtitle:e[s].subtitle,size:"small",ariaPrefix:`Tooltip${e[s].id}`}),K.createElement(Si,{className:a("tooltipFooter",c)},K.createElement(xe,null)))),W=T(T({},{default:le=>{var xt;if((xt=e[s])!=null&&xt.StepContent){let ia=e[s].StepContent;return K.createElement("div",null,ia)}return K.createElement(Ce,null)}}),m),$=()=>{var le;return e?!((le=e[s])!=null&&le.type)||!W[e[s].type]?W.default(e[s]):W[e[s].type]({stepData:e[s],primaryColor:r}):K.createElement(K.Fragment,null)};if(e[s].complete===!0||ee.x==0&&ee.y==0&&new Date().getTime()-we<100)return null;let z={top:(ee==null?void 0:ee.y)-ao,left:(ni=U=="left"?A.x+l.x:(ee==null?void 0:ee.x)-ao)!=null?ni:0,cursor:S?"pointer":"default",position:se},pe=()=>{let xt=z.left+(U=="left"?-q:24);return Math.min(Math.max(xt,20),window.innerWidth-q-20)},je=()=>{if(se==="fixed")return z.top;let le=z.top+ae,xt=20;return le>window.innerHeight-xt?z.top+-ae:z.top},it=()=>{S&&(F(new Date),Y(!Q))};return K.createElement(Ac,{className:B},K.createElement(Oc,{style:z,zIndex:J,className:a("tourHighlightContainer",c)},n&&e[s].showHighlight!==!1&&v!=="static"&&K.createElement(K.Fragment,null,K.createElement(Ec,{style:{position:se},onClick:it,primaryColor:c.theme.colorPrimary,className:a("tourHighlightInnerCircle",c)}),K.createElement(Bc,{style:{position:"absolute"},onClick:it,primaryColor:c.theme.colorPrimary,className:a("tourHighlightOuterCircle",c)}))),K.createElement(Sl,{style:V(T({},z),{left:pe(),top:je()}),zIndex:J+1,className:a("tooltipContainerWrapper",c)},Q&&K.createElement(K.Fragment,null,K.createElement(Do,{ref:P,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:T({position:"relative",width:"max-content",right:0,top:v!=="static"?12:0},d),appearance:c,className:a("tooltipContainer",c),maxWidth:Cl,zIndex:J+10},K.createElement($,null)),x&&K.createElement(Pi,{className:a("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:J+10},K.createElement(Uo,{appearance:c})))))},Xr=Nc;import{Portal as $c}from"react-portal";var Mc=x=>{var v=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:m="complete-flow",onComplete:c,skipIfNotFound:f=!1,cssPosition:S="absolute",className:w}=v,b=Le(v,["flowId","customVariables","appearance","onStepCompletion","onButtonClick","showTooltipsSimultaneously","onDismiss","dismissible","tooltipPosition","showHighlightOnly","dismissBehavior","onComplete","skipIfNotFound","cssPosition","className"]);let{getFlow:k,getFlowSteps:B,isLoading:L,targetingLogicShouldHideFlow:C,markStepCompleted:u,markStepStarted:N,markFlowCompleted:F,updateCustomVariables:P,getCurrentStepIndex:I,getStepStatus:O,isStepBlocked:A,getFlowStatus:G,getNumberOfStepsCompleted:_}=R(),{isLoadingUserFlowStateData:Q}=_e(),{primaryCTAClickSideEffects:Y,secondaryCTAClickSideEffects:se}=me(),{hasOpenModals:J}=Ee(),q=I(e),{openFlowStates:ae}=Ic(X),{mergeAppearanceWithDefault:we}=oe();if(o=we(o),Lc(()=>{P(t)},[t,L]),Q)return null;let Ne=k(e);if(!Ne||C(Ne)||G(e)==te||J())return null;let Z=B(e);if(Object.keys(ae).length>0){let $=Object.keys(ae).find(z=>ae[z]===!0);if($!==void 0&&$!==e)return Dt.createElement(Dt.Fragment,null)}function ce($){return M(this,null,function*(){if(yield u(e,$.id),Z.map(z=>O(e,z.id)).every(z=>z===$e)){yield F(e);return}!s&&q+1<Z.length&&!r&&A(e,Z[q+1].id)})}function U($,z,pe){let je=q+1<Z.length?Z[q+1]:null;n&&n($,q,z,je),i&&i($,pe,je)}function ee(){return Z.map($=>V(T({},$),{handleSecondaryButtonClick:()=>M(this,null,function*(){se($),$.skippable===!0&&(yield u(e,$.id,{skipped:!0})),U($,"secondary",q)}),handlePrimaryButtonClick:()=>M(this,null,function*(){(!$.completionCriteria&&($.autoMarkCompleted||$.autoMarkCompleted===void 0)||$.completionCriteria&&$.autoMarkCompleted===!0)&&(yield ce($)),U($,"primary",q),Y($)})}))}function Ie($){return M(this,null,function*(){l&&l(),m==="complete-flow"?yield F(e):yield u(e,$.id)})}function ke(){c&&c()}function xe($){return M(this,null,function*(){yield N(e,Z[$].id)})}let Ce=!document.querySelector(Z[q].selector);function H(){let $=Z.findIndex(z=>!!document.querySelector(z.selector));return Z.map((z,pe)=>Ce&&!r&&pe!==$&&f||!r&&pe!==q?null:Dt.createElement(Xr,T({key:z.id,appearance:o,steps:ee(),selectedStep:pe,showTooltipsSimultaneously:r,dismissible:p,onDismiss:()=>Ie(z),tooltipPosition:d,showHighlightOnly:s,completedStepsCount:_(e),onComplete:ke,cssPosition:S,onViewTooltip:xe,className:w},b)))}function W(){return Dt.createElement(Dt.Fragment,null,Dt.createElement(ne,{appearance:o}),H())}return S==="static"?W():Dt.createElement($c,null,W())};import Ve,{useEffect as Dc,useRef as Uc,useState as _c}from"react";import{Portal as Wc}from"react-portal";import Ut from"styled-components";var bl=Ut.button`
|
|
1462
1466
|
${e=>E(e)} {
|
|
1463
1467
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1464
1468
|
|