@frigade/react 1.33.1 → 1.33.2
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/lib/index.js +8 -8
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +8 -8
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var Gl=Object.create;var Eo=Object.defineProperty;var ql=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var Yl=Object.getPrototypeOf,Xl=Object.prototype.hasOwnProperty;var Jl=(e,t)=>{for(var o in t)Eo(e,o,{get:t[o],enumerable:!0})},Wr=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Kl(t))!Xl.call(e,r)&&r!==o&&Eo(e,r,{get:()=>t[r],enumerable:!(i=ql(t,r))||i.enumerable});return e};var m=(e,t,o)=>(o=e!=null?Gl(Yl(e)):{},Wr(t||!e||!e.__esModule?Eo(o,"default",{value:e,enumerable:!0}):o,e)),Ql=e=>Wr(Eo({},"__esModule",{value:!0}),e);var Xp={};Jl(Xp,{Button:()=>jl,CheckBox:()=>et,FormLabel:()=>mt,FormTextField:()=>Wo,FrigadeBanner:()=>Ol,FrigadeChecklist:()=>sr,FrigadeDefaultAppearance:()=>Ze,FrigadeEmbeddedTip:()=>Bl,FrigadeForm:()=>br,FrigadeGuide:()=>nl,FrigadeHeroChecklist:()=>Gs,FrigadeNPSSurvey:()=>Wl,FrigadeProgressBadge:()=>rl,FrigadeProvider:()=>mn,FrigadeSupportWidget:()=>Tl,FrigadeTour:()=>ml,ProgressRing:()=>At,Text:()=>ar,tokens:()=>Ro,useFlowOpens:()=>Ne,useFlowResponses:()=>Wt,useFlows:()=>R,useOrganization:()=>Xo,useUser:()=>Vt});module.exports=Ql(Xp);var X=m(require("react")),an=require("styled-components");var he=m(require("react"));var He=require("react");var vt=m(require("react"));var Hr="1.33.1 ";var _e="NOT_STARTED_STEP",se="COMPLETED_FLOW",Ao="ABORTED_FLOW",Bt="STARTED_FLOW",Ve="NOT_STARTED_FLOW",je="COMPLETED_STEP",Io="STARTED_STEP";function Qe(){let{publicApiKey:e,userId:t,apiUrl:o}=vt.default.useContext(Y);return{config:(0,vt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Hr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:(0,vt.useMemo)(()=>`${o}/v1/public/`,[o])}}var Zl="frigade-last-call-at-",Rl="frigade-last-call-data-";function Ut(){let{shouldGracefullyDegrade:e,readonly:t}=vt.default.useContext(Y);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Mt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Mt();let r=Zl+o,n=Rl+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),d=window.localStorage.getItem(n);if(p&&d&&d==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Mt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Mt(p)}return s?s.ok?s:Mt(s.statusText):Mt()}}function Mt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function zt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=vt.default.useContext(Y);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}var ao=require("react");var _t=require("react");var jr=m(require("swr"));var Vr=require("react");function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=(0,Vr.useContext)(Y);function n(c,g=!1){return e[c]??g}function s(c,g){t(y=>({...y,[c]:g}))}function p(c){t(g=>{let{[c]:y,...F}=g;return{...F}})}function d(c){r.includes(c)||i(g=>[...g,c])}function a(c){return r.includes(c)}function C(c){return Object.entries(e).some(([g,y])=>y&&g!=c)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:a}}var Gr=m(require("swr/immutable")),ea="unknown";function We(){let{config:e,apiUrl:t}=Qe(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=(0,_t.useContext)(Y),{resetOpenFlowState:d}=Ne(),[a,C]=(0,_t.useState)(!1),c={data:n.map(S=>({flowId:S.id,flowState:se,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=S=>fetch(S,e).then(E=>{if(E.ok)return E.json();throw new Error("Failed to fetch user flow states")}).catch(E=>(console.log(`Error fetching ${S}: ${E}. Will gracefully degrade and hide Frigade`),s(!0),c)),y=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:F,isLoading:v,mutate:x,error:B}=p?(0,Gr.default)(y,g):(0,jr.default)(y,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),h=F==null?void 0:F.data;(0,_t.useEffect)(()=>{!a&&!v&&h&&C(!0)},[h,a,v]);async function k(S){if(h&&!p){let E=h.find($=>$.flowId===S);E&&E.flowState!==se&&(E.flowState=se),await x(Promise.resolve({...F,data:h}),{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function L(S,E,$){if(h){let z=h.find(O=>O.flowId===S);z&&(z.stepStates[E]=$,z.flowState=Bt),await x(Promise.resolve({...F,data:h}),{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function b(S,E,$){if(h){let z=h.find(O=>O.flowId===S);z&&(z.lastStepId=E,z.stepStates[E]=$,z.flowState=Bt),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function u(S){if(h){let E=h.find($=>$.flowId===S);E&&E.flowState!==Ve&&(E.flowState=Ve,E.lastStepId=ea,Object.keys(E.stepStates).forEach($=>{E.stepStates[$].actionType=_e,E.stepStates[$].createdAt=new Date().toISOString()}),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1}),d(S))}}async function T(S,E){if(h){let $=h.find(z=>z.flowId===S);$&&$.stepStates[E]!==_e&&($.stepStates[E]=_e),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:h,isLoadingUserFlowStateData:!a,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:k,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:b,error:B}}function Wt(){let{config:e,apiUrl:t}=Qe(),{userFlowStatesData:o,mutateUserFlowState:i}=We(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=(0,ao.useContext)(Y),[d,a]=(0,ao.useState)(new Set),[C,c]=(0,ao.useState)(new Set),g=Ut();function y(x){let B=JSON.stringify(x);if(d.has(B))return null;d.add(B),a(d),C.add(x),c(C);let h=s==null?void 0:s.find(k=>k.flowSlug===x.flowSlug&&k.stepId===x.stepId&&k.actionType===x.actionType&&k.createdAt===x.createdAt);return g(`${t}flowResponses`,{...e,method:"POST",body:B}).then(k=>{k.status!==200&&k.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),n([...r,x])):h||p(L=>[...L??[],x])})}async function F(x){x.foreignUserId&&(x.actionType===Bt||x.actionType===Ve?await y(x):x.actionType===se?await y(x):x.actionType===Io?await y(x):x.actionType===je?await y(x):x.actionType===Ao?await y(x):x.actionType===_e&&await y(x))}function v(){let x=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let h in B.stepStates){let k=B.stepStates[h];x.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:k.stepId,actionType:k.actionType,data:{},createdAt:new Date(k.createdAt),blocked:k.blocked,hidden:k.hidden})}}),[...x,...s]}return{addResponse:F,setFlowResponses:p,getFlowResponses:v}}var Kr=m(require("swr"));var ta=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,qr=e=>{let t=ta.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=oa(i,"'","");n.startsWith("flow_")&&(o=n)}),o},oa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function R(){let{config:e,apiUrl:t}=Qe(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,setFlowResponses:C,setShouldGracefullyDegrade:c,readonly:g}=(0,He.useContext)(Y),y={data:[]},{verifySDKInitiated:F}=zt(),{addResponse:v,getFlowResponses:x}=Wt(),B=f=>fetch(f,e).then(w=>w.ok?w.json():(console.log(`Error fetching ${f} (${w.status}): ${w.statusText}. .Will gracefully degrade and hide Frigade`),c(!0),y)).catch(w=>(console.log(`Error fetching ${f}: ${w}. Will gracefully degrade and hide Frigade`),c(!0),y)),{userFlowStatesData:h,isLoadingUserFlowStateData:k,optimisticallyMarkFlowCompleted:L,optimisticallyMarkFlowNotStarted:b,optimisticallyMarkStepCompleted:u,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:S}=We(),{data:E,error:$,isLoading:z}=(0,Kr.default)(n?`${t}flows${g?"?readonly=true":""}`:null,B,{keepPreviousData:!0});(0,He.useEffect)(()=>{if($){console.error($);return}E&&E.data&&i(E.data)},[E,$]);function O(f){if(z)return null;let w=o.find(A=>A.slug===f);return!w&&o.length>0&&!k&&!z?(console.log(`Flow with slug ${f} not found`),null):(w==null?void 0:w.active)===!1?null:w}function D(f){var I;if(!O(f))return[];let w=O(f).data;return w?(w=G(w),(((I=JSON.parse(w))==null?void 0:I.data)??[]).map(ne=>{let Pt=pt(ne);return{handleSecondaryButtonClick:()=>{ne.skippable===!0&&Pe(f,ne.id,{skipped:!0})},...ne,complete:xe(f,ne.id)===je||Pt>=1,blocked:W(f,ne.id),hidden:M(f,ne.id),handlePrimaryButtonClick:()=>{(!ne.completionCriteria&&(ne.autoMarkCompleted||ne.autoMarkCompleted===void 0)||ne.completionCriteria&&ne.autoMarkCompleted===!0)&&Pe(f,ne.id)},progress:Pt}}).filter(ne=>ne.hidden!==!0)):[]}function G(f){return f.replaceAll(/\${(.*?)}/g,(w,A)=>s[A]===void 0?"":String(s[A]).replace(/[\u00A0-\u9999<>\&]/g,function(I){return"&#"+I.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 U(f){if(!O(f))return[];let w=O(f).data;return w?(w=G(w),JSON.parse(w)??{}):[]}function re(f,w){p(A=>({...A,[f]:w}))}function ie(f){!k&&!z&&f&&JSON.stringify(s)!=JSON.stringify({...s,...f})&&Object.keys(f).forEach(w=>{re(w,f[w])})}let Z=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:Io,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await S(f,w,I),v(I))},[r,h]),q=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:_e,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await T(f,w),v(I))},[r,h]),Pe=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:je,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await u(f,w,I),v(I))},[r,h]),ae=(0,He.useCallback)(async(f,w)=>{if(F(),Xe(f)===Ve)return;let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Ve,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await b(f),Q(A)&&v(A)},[r,h]),J=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Bt,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&v(A)},[r,h]),ve=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:se,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&(await L(f),v(A))},[r,h]),De=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Ao,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&(await L(f),v(A))},[r,h]);function Q(f){var w;if(!h&&f.actionType===_e)return!1;if(h){let A=h.find(I=>I.flowId===f.flowSlug);if(f.actionType===_e&&(!(A!=null&&A.stepStates[f.stepId])||A.stepStates[f.stepId].actionType===_e)||A&&((w=A.stepStates[f.stepId])==null?void 0:w.actionType)===f.actionType||A&&A.flowState===se&&f.actionType===se)return!1}return!0}function xe(f,w){let A=pe(f,w);return k?null:A?A.actionType:_e}function W(f,w){let A=pe(f,w);return A?A.blocked:!1}function M(f,w){let A=pe(f,w);return A?A.hidden:!1}function pe(f,w){if(k)return null;let A=h==null?void 0:h.find(I=>I.flowId===f);return!A||!A.stepStates[w]?null:A.stepStates[w]??null}function K(f){var A;if(k||!h)return null;if(Xe(f)===Ve)return D(f)[0]??null;let w=(A=h.find(I=>I.flowId===f))==null?void 0:A.lastStepId;return w?D(f).find(I=>I.id===w):null}function de(f){let w=K(f);if(!w)return 0;let A=D(f).findIndex(I=>I.id===w.id)??0;return xe(f,w.id)===je&&A<D(f).length-1?A+1:A}function pt(f){if(!f.completionCriteria)return;let w=qr(f.completionCriteria);if(w===null)return;let A=kt(w),I=V(w);return I===0?void 0:A/I}function Xe(f){let w=h==null?void 0:h.find(A=>A.flowId===f);return w?w.flowState:null}function kt(f){let w=D(f);return w.length===0?0:w.filter(I=>xe(f,I.id)===je).length}function V(f){return D(f).length}function ze(f){return JSON.parse(o.find(w=>w.slug===f).data)}function Je(f){if(g)return!1;if(k)return!0;if(f!=null&&f.targetingLogic&&h){let w=h.find(A=>A.flowId===f.slug);if(w)return w.shouldTrigger===!1}return!!(f!=null&&f.targetingLogic&&r&&r.startsWith("guest_"))}function dr(f){return!Je(O(f))}return{getFlow:O,getFlowData:ze,isLoading:k||z,getStepStatus:xe,getFlowSteps:D,getCurrentStepIndex:de,markStepStarted:Z,markStepCompleted:Pe,markFlowNotStarted:ae,markFlowStarted:J,markFlowCompleted:ve,markFlowAborted:De,markStepNotStarted:q,getFlowStatus:Xe,getNumberOfStepsCompleted:kt,getNumberOfSteps:V,targetingLogicShouldHideFlow:Je,setCustomVariable:re,updateCustomVariables:ie,customVariables:s,getStepOptionalProgress:pt,getFlowMetadata:U,isStepBlocked:W,isStepHidden:M,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,isFlowAvailableToUser:dr}}var Et=require("react");var Ht="guest_";function Vt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=(0,Et.useContext)(Y),{config:n,apiUrl:s}=Qe(),{mutateUserFlowState:p}=We(),d=Ut(),{verifySDKInitiated:a}=zt();(0,Et.useEffect)(()=>{if(e&&!t){if(e.startsWith(Ht))return;let g=`frigade-user-registered-${e}`;localStorage.getItem(g)||(d(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(g,"true"))}},[e,r,t]);let C=(0,Et.useCallback)(async g=>{a();let y={foreignId:e,properties:g};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(y)}),i(F=>({...F,...g})),p()},[e,n,r,p]),c=(0,Et.useCallback)(async(g,y)=>{a();let v={foreignId:e,events:[{event:g,properties:y}]};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(v)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:C,trackEventForUser:c}}var Zi=require("uuid");var Ie=m(require("react"));var Le=m(require("react")),mo=m(require("styled-components"));var Xr=m(require("react")),Jr=m(require("styled-components"));var Yr="fr-",po="cfr-";function l(e,t){let o=`${Yr}${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+" "+po+e}return o}function P(e){if(!e.className||e.className.indexOf(po)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Yr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function cr(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function dt(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${cr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ee(...e){return e.filter(Boolean).join(" ")}function co(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ra=Jr.default.div`
|
|
2
|
+
var Gl=Object.create;var Eo=Object.defineProperty;var ql=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var Yl=Object.getPrototypeOf,Xl=Object.prototype.hasOwnProperty;var Jl=(e,t)=>{for(var o in t)Eo(e,o,{get:t[o],enumerable:!0})},Wr=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Kl(t))!Xl.call(e,r)&&r!==o&&Eo(e,r,{get:()=>t[r],enumerable:!(i=ql(t,r))||i.enumerable});return e};var m=(e,t,o)=>(o=e!=null?Gl(Yl(e)):{},Wr(t||!e||!e.__esModule?Eo(o,"default",{value:e,enumerable:!0}):o,e)),Ql=e=>Wr(Eo({},"__esModule",{value:!0}),e);var Xp={};Jl(Xp,{Button:()=>jl,CheckBox:()=>et,FormLabel:()=>mt,FormTextField:()=>Wo,FrigadeBanner:()=>Ol,FrigadeChecklist:()=>sr,FrigadeDefaultAppearance:()=>Ze,FrigadeEmbeddedTip:()=>Bl,FrigadeForm:()=>br,FrigadeGuide:()=>nl,FrigadeHeroChecklist:()=>Gs,FrigadeNPSSurvey:()=>Wl,FrigadeProgressBadge:()=>rl,FrigadeProvider:()=>mn,FrigadeSupportWidget:()=>Tl,FrigadeTour:()=>ml,ProgressRing:()=>At,Text:()=>ar,tokens:()=>Ro,useFlowOpens:()=>Ne,useFlowResponses:()=>Wt,useFlows:()=>R,useOrganization:()=>Xo,useUser:()=>Vt});module.exports=Ql(Xp);var X=m(require("react")),an=require("styled-components");var he=m(require("react"));var He=require("react");var vt=m(require("react"));var Hr="1.33.2 ";var _e="NOT_STARTED_STEP",se="COMPLETED_FLOW",Ao="ABORTED_FLOW",Bt="STARTED_FLOW",Ve="NOT_STARTED_FLOW",je="COMPLETED_STEP",Io="STARTED_STEP";function Qe(){let{publicApiKey:e,userId:t,apiUrl:o}=vt.default.useContext(Y);return{config:(0,vt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Hr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:(0,vt.useMemo)(()=>`${o}/v1/public/`,[o])}}var Zl="frigade-last-call-at-",Rl="frigade-last-call-data-";function Ut(){let{shouldGracefullyDegrade:e,readonly:t}=vt.default.useContext(Y);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Mt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Mt();let r=Zl+o,n=Rl+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),d=window.localStorage.getItem(n);if(p&&d&&d==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Mt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Mt(p)}return s?s.ok?s:Mt(s.statusText):Mt()}}function Mt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function zt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=vt.default.useContext(Y);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}var ao=require("react");var _t=require("react");var jr=m(require("swr"));var Vr=require("react");function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=(0,Vr.useContext)(Y);function n(c,g=!1){return e[c]??g}function s(c,g){t(y=>({...y,[c]:g}))}function p(c){t(g=>{let{[c]:y,...F}=g;return{...F}})}function d(c){r.includes(c)||i(g=>[...g,c])}function a(c){return r.includes(c)}function C(c){return Object.entries(e).some(([g,y])=>y&&g!=c)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:a}}var Gr=m(require("swr/immutable")),ea="unknown";function We(){let{config:e,apiUrl:t}=Qe(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=(0,_t.useContext)(Y),{resetOpenFlowState:d}=Ne(),[a,C]=(0,_t.useState)(!1),c={data:n.map(S=>({flowId:S.id,flowState:se,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=S=>fetch(S,e).then(E=>{if(E.ok)return E.json();throw new Error("Failed to fetch user flow states")}).catch(E=>(console.log(`Error fetching ${S}: ${E}. Will gracefully degrade and hide Frigade`),s(!0),c)),y=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:F,isLoading:v,mutate:x,error:B}=p?(0,Gr.default)(y,g):(0,jr.default)(y,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),h=F==null?void 0:F.data;(0,_t.useEffect)(()=>{!a&&!v&&h&&C(!0)},[h,a,v]);async function k(S){if(h&&!p){let E=h.find(D=>D.flowId===S);E&&E.flowState!==se&&(E.flowState=se),await x(Promise.resolve({...F,data:h}),{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function L(S,E,D){if(h){let z=h.find(O=>O.flowId===S);z&&(z.stepStates[E]=D,z.flowState=Bt),await x(Promise.resolve({...F,data:h}),{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function b(S,E,D){if(h){let z=h.find(O=>O.flowId===S);z&&(z.lastStepId=E,z.stepStates[E]=D,z.flowState=Bt),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}async function u(S){if(h){let E=h.find(D=>D.flowId===S);E&&E.flowState!==Ve&&(E.flowState=Ve,E.lastStepId=ea,Object.keys(E.stepStates).forEach(D=>{E.stepStates[D].actionType=_e,E.stepStates[D].createdAt=new Date().toISOString()}),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1}),d(S))}}async function T(S,E){if(h){let D=h.find(z=>z.flowId===S);D&&D.stepStates[E]!==_e&&(D.stepStates[E]=_e),await x({...F,data:h},{optimisticData:{...F,data:h},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:h,isLoadingUserFlowStateData:!a,mutateUserFlowState:x,optimisticallyMarkFlowCompleted:k,optimisticallyMarkFlowNotStarted:u,optimisticallyMarkStepCompleted:L,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:b,error:B}}function Wt(){let{config:e,apiUrl:t}=Qe(),{userFlowStatesData:o,mutateUserFlowState:i}=We(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=(0,ao.useContext)(Y),[d,a]=(0,ao.useState)(new Set),[C,c]=(0,ao.useState)(new Set),g=Ut();function y(x){let B=JSON.stringify(x);if(d.has(B))return null;d.add(B),a(d),C.add(x),c(C);let h=s==null?void 0:s.find(k=>k.flowSlug===x.flowSlug&&k.stepId===x.stepId&&k.actionType===x.actionType&&k.createdAt===x.createdAt);return g(`${t}flowResponses`,{...e,method:"POST",body:B}).then(k=>{k.status!==200&&k.status!==201?(console.log("Failed to send flow response for step "+x.stepId+". Will retry again later."),n([...r,x])):h||p(L=>[...L??[],x])})}async function F(x){x.foreignUserId&&(x.actionType===Bt||x.actionType===Ve?await y(x):x.actionType===se?await y(x):x.actionType===Io?await y(x):x.actionType===je?await y(x):x.actionType===Ao?await y(x):x.actionType===_e&&await y(x))}function v(){let x=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let h in B.stepStates){let k=B.stepStates[h];x.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:k.stepId,actionType:k.actionType,data:{},createdAt:new Date(k.createdAt),blocked:k.blocked,hidden:k.hidden})}}),[...x,...s]}return{addResponse:F,setFlowResponses:p,getFlowResponses:v}}var Kr=m(require("swr"));var ta=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,qr=e=>{let t=ta.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=oa(i,"'","");n.startsWith("flow_")&&(o=n)}),o},oa=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function R(){let{config:e,apiUrl:t}=Qe(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,setFlowResponses:C,setShouldGracefullyDegrade:c,readonly:g}=(0,He.useContext)(Y),y={data:[]},{verifySDKInitiated:F}=zt(),{addResponse:v,getFlowResponses:x}=Wt(),B=f=>fetch(f,e).then(w=>w.ok?w.json():(console.log(`Error fetching ${f} (${w.status}): ${w.statusText}. .Will gracefully degrade and hide Frigade`),c(!0),y)).catch(w=>(console.log(`Error fetching ${f}: ${w}. Will gracefully degrade and hide Frigade`),c(!0),y)),{userFlowStatesData:h,isLoadingUserFlowStateData:k,optimisticallyMarkFlowCompleted:L,optimisticallyMarkFlowNotStarted:b,optimisticallyMarkStepCompleted:u,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:S}=We(),{data:E,error:D,isLoading:z}=(0,Kr.default)(n?`${t}flows${g?"?readonly=true":""}`:null,B,{keepPreviousData:!0});(0,He.useEffect)(()=>{if(D){console.error(D);return}E&&E.data&&i(E.data)},[E,D]);function O(f){if(z)return null;let w=o.find(A=>A.slug===f);return!w&&o.length>0&&!k&&!z?(console.log(`Flow with slug ${f} not found`),null):(w==null?void 0:w.active)===!1?null:w}function $(f){var I;if(!O(f))return[];let w=O(f).data;return w?(w=G(w),(((I=JSON.parse(w))==null?void 0:I.data)??[]).map(ne=>{let Pt=pt(ne);return{handleSecondaryButtonClick:()=>{ne.skippable===!0&&Pe(f,ne.id,{skipped:!0})},...ne,complete:xe(f,ne.id)===je||Pt>=1,blocked:W(f,ne.id),hidden:M(f,ne.id),handlePrimaryButtonClick:()=>{(!ne.completionCriteria&&(ne.autoMarkCompleted||ne.autoMarkCompleted===void 0)||ne.completionCriteria&&ne.autoMarkCompleted===!0)&&Pe(f,ne.id)},progress:Pt}}).filter(ne=>ne.hidden!==!0)):[]}function G(f){return f.replaceAll(/\${(.*?)}/g,(w,A)=>s[A]===void 0?"":String(s[A]).replace(/[\u00A0-\u9999<>\&]/g,function(I){return"&#"+I.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 U(f){if(!O(f))return[];let w=O(f).data;return w?(w=G(w),JSON.parse(w)??{}):[]}function re(f,w){p(A=>({...A,[f]:w}))}function ie(f){!k&&!z&&f&&JSON.stringify(s)!=JSON.stringify({...s,...f})&&Object.keys(f).forEach(w=>{re(w,f[w])})}let Z=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:Io,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await S(f,w,I),v(I))},[r,h]),q=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:_e,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await T(f,w),v(I))},[r,h]),Pe=(0,He.useCallback)(async(f,w,A)=>{F();let I={foreignUserId:r,flowSlug:f,stepId:w,actionType:je,data:A??{},createdAt:new Date,blocked:!1,hidden:!1};Q(I)&&(await u(f,w,I),v(I))},[r,h]),ae=(0,He.useCallback)(async(f,w)=>{if(F(),Xe(f)===Ve)return;let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Ve,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await b(f),Q(A)&&v(A)},[r,h]),J=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Bt,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&v(A)},[r,h]),ve=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:se,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&(await L(f),v(A))},[r,h]),De=(0,He.useCallback)(async(f,w)=>{F();let A={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:Ao,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};Q(A)&&(await L(f),v(A))},[r,h]);function Q(f){var w;if(!h&&f.actionType===_e)return!1;if(h){let A=h.find(I=>I.flowId===f.flowSlug);if(f.actionType===_e&&(!(A!=null&&A.stepStates[f.stepId])||A.stepStates[f.stepId].actionType===_e)||A&&((w=A.stepStates[f.stepId])==null?void 0:w.actionType)===f.actionType||A&&A.flowState===se&&f.actionType===se)return!1}return!0}function xe(f,w){let A=pe(f,w);return k?null:A?A.actionType:_e}function W(f,w){let A=pe(f,w);return A?A.blocked:!1}function M(f,w){let A=pe(f,w);return A?A.hidden:!1}function pe(f,w){if(k)return null;let A=h==null?void 0:h.find(I=>I.flowId===f);return!A||!A.stepStates[w]?null:A.stepStates[w]??null}function K(f){var A;if(k||!h)return null;if(Xe(f)===Ve)return $(f)[0]??null;let w=(A=h.find(I=>I.flowId===f))==null?void 0:A.lastStepId;return w?$(f).find(I=>I.id===w):null}function de(f){let w=K(f);if(!w)return 0;let A=$(f).findIndex(I=>I.id===w.id)??0;return xe(f,w.id)===je&&A<$(f).length-1?A+1:A}function pt(f){if(!f.completionCriteria)return;let w=qr(f.completionCriteria);if(w===null)return;let A=kt(w),I=V(w);return I===0?void 0:A/I}function Xe(f){let w=h==null?void 0:h.find(A=>A.flowId===f);return w?w.flowState:null}function kt(f){let w=$(f);return w.length===0?0:w.filter(I=>xe(f,I.id)===je).length}function V(f){return $(f).length}function ze(f){return JSON.parse(o.find(w=>w.slug===f).data)}function Je(f){if(g)return!1;if(k)return!0;if(f!=null&&f.targetingLogic&&h){let w=h.find(A=>A.flowId===f.slug);if(w)return w.shouldTrigger===!1}return!!(f!=null&&f.targetingLogic&&r&&r.startsWith("guest_"))}function dr(f){return!Je(O(f))}return{getFlow:O,getFlowData:ze,isLoading:k||z,getStepStatus:xe,getFlowSteps:$,getCurrentStepIndex:de,markStepStarted:Z,markStepCompleted:Pe,markFlowNotStarted:ae,markFlowStarted:J,markFlowCompleted:ve,markFlowAborted:De,markStepNotStarted:q,getFlowStatus:Xe,getNumberOfStepsCompleted:kt,getNumberOfSteps:V,targetingLogicShouldHideFlow:Je,setCustomVariable:re,updateCustomVariables:ie,customVariables:s,getStepOptionalProgress:pt,getFlowMetadata:U,isStepBlocked:W,isStepHidden:M,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,isFlowAvailableToUser:dr}}var Et=require("react");var Ht="guest_";function Vt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=(0,Et.useContext)(Y),{config:n,apiUrl:s}=Qe(),{mutateUserFlowState:p}=We(),d=Ut(),{verifySDKInitiated:a}=zt();(0,Et.useEffect)(()=>{if(e&&!t){if(e.startsWith(Ht))return;let g=`frigade-user-registered-${e}`;localStorage.getItem(g)||(d(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(g,"true"))}},[e,r,t]);let C=(0,Et.useCallback)(async g=>{a();let y={foreignId:e,properties:g};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(y)}),i(F=>({...F,...g})),p()},[e,n,r,p]),c=(0,Et.useCallback)(async(g,y)=>{a();let v={foreignId:e,events:[{event:g,properties:y}]};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(v)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:C,trackEventForUser:c}}var Zi=require("uuid");var Ie=m(require("react"));var Le=m(require("react")),mo=m(require("styled-components"));var Xr=m(require("react")),Jr=m(require("styled-components"));var Yr="fr-",po="cfr-";function l(e,t){let o=`${Yr}${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+" "+po+e}return o}function P(e){if(!e.className||e.className.indexOf(po)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Yr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function cr(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function dt(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${cr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ee(...e){return e.filter(Boolean).join(" ")}function co(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ra=Jr.default.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -385,7 +385,7 @@ var Gl=Object.create;var Eo=Object.defineProperty;var ql=Object.getOwnPropertyDe
|
|
|
385
385
|
`,$a=xo.default.div`
|
|
386
386
|
padding-left: 1px;
|
|
387
387
|
padding-right: 1px;
|
|
388
|
-
`,Ma={text:Wo,multipleChoice:Ci,multipleChoiceList:wi};function ki({flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n,customFormElements:s}){var L;let p=t.props,[d,a]=(0,ke.useState)([]),[C,c]=(0,ke.useState)([]),{userId:g}=Vt(),[y,F]=(0,ke.useState)(h()||{}),{readonly:v}=(0,ke.useContext)(Y),x={...Ma,...s};(0,ke.useEffect)(()=>{i(d.length===0)},[d,i]);function B(b,u){let T={...y,[b.id]:u};F(T),r(T),window&&window.localStorage&&!v&&window.localStorage.setItem(k(),JSON.stringify(T))}function h(){if(window&&window.localStorage){let b=window.localStorage.getItem(k());if(b)return JSON.parse(b)}return{}}function k(){return`frigade-multiInputStepTypeData-${e}-${t.id}-${g}`}return ke.default.createElement($a,{className:l("multiInput",n)},ke.default.createElement(Ae,{appearance:n,title:t.title,subtitle:t.subtitle}),ke.default.createElement(La,{className:l("multiInputContainer",n)},(L=p.data)==null?void 0:L.map(b=>{var T;let u=(T=d.reverse().find(S=>S.id===b.id))==null?void 0:T.message;return x[b.type]?ke.default.createElement("span",{key:b.id,"data-field-id":b.id,className:l("multiInputField",n)},x[b.type]({formInput:b,customFormTypeProps:{flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n},onSaveInputData:S=>{!C.includes(b.id)&&S&&(S==null?void 0:S.text)!==""&&c(E=>[...E,b.id]),B(b,S)},inputData:y[b.id],setFormValidationErrors:S=>{a(E=>S.length===0?E.filter(
|
|
388
|
+
`,Ma={text:Wo,multipleChoice:Ci,multipleChoiceList:wi};function ki({flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n,customFormElements:s}){var L;let p=t.props,[d,a]=(0,ke.useState)([]),[C,c]=(0,ke.useState)([]),{userId:g}=Vt(),[y,F]=(0,ke.useState)(h()||{}),{readonly:v}=(0,ke.useContext)(Y),x={...Ma,...s};(0,ke.useEffect)(()=>{i(d.length===0)},[d,i]);function B(b,u){let T={...y,[b.id]:u};F(T),r(T),window&&window.localStorage&&!v&&window.localStorage.setItem(k(),JSON.stringify(T))}function h(){if(window&&window.localStorage){let b=window.localStorage.getItem(k());if(b)return JSON.parse(b)}return{}}function k(){return`frigade-multiInputStepTypeData-${e}-${t.id}-${g}`}return ke.default.createElement($a,{className:l("multiInput",n)},ke.default.createElement(Ae,{appearance:n,title:t.title,subtitle:t.subtitle}),ke.default.createElement(La,{className:l("multiInputContainer",n)},(L=p.data)==null?void 0:L.map(b=>{var T;let u=(T=d.reverse().find(S=>S.id===b.id))==null?void 0:T.message;return x[b.type]?ke.default.createElement("span",{key:b.id,"data-field-id":b.id,className:l("multiInputField",n)},x[b.type]({formInput:b,customFormTypeProps:{flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n},onSaveInputData:S=>{!C.includes(b.id)&&S&&(S==null?void 0:S.text)!==""&&c(E=>[...E,b.id]),B(b,S)},inputData:y[b.id],setFormValidationErrors:S=>{a(E=>S.length===0?E.filter(D=>D.id!==b.id):[...E,...S])}}),ke.default.createElement(Ho.AnimatePresence,null,u&&C.includes(b.id)&&ke.default.createElement(Oa,{initial:{opacity:0,height:0,marginBottom:0},animate:{opacity:1,height:"auto",marginBottom:12},exit:{opacity:0,height:0,marginBottom:0},key:b.id,style:{overflow:"hidden"},transition:{duration:.1,ease:"easeInOut",delay:.5},appearance:n,className:l("multiInputValidationError",n)},ke.default.createElement(Da,{appearance:n,className:l("multiInputValidationErrorIcon",n)},ke.default.createElement(Fi,null)),u))):null})))}var Ct=m(require("styled-components")),Pi=Ct.default.div`
|
|
389
389
|
align-items: center;
|
|
390
390
|
display: flex;
|
|
391
391
|
justify-content: ${e=>e.showBackButton?"space-between":"flex-end"};
|
|
@@ -628,8 +628,8 @@ var Gl=Object.create;var Eo=Object.defineProperty;var ql=Object.getOwnPropertyDe
|
|
|
628
628
|
color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorText}};
|
|
629
629
|
display: flex;
|
|
630
630
|
align-self: center;
|
|
631
|
-
`;var Yi=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let r=e.props,[n,s]=(0,we.useState)([]),[p,d]=(0,we.useState)(!1),[a,C]=(0,we.useState)(e.id);return(0,we.useEffect)(()=>{n.length==0&&!p&&(d(!0),o({choice:[]}))},[p]),(0,we.useEffect)(()=>{a!==e.id&&(C(e.id),s([]))},[e]),(0,we.useEffect)(()=>{o({choice:n}),n.length>=r.minChoices?t(!0):t(!1)},[n]),we.default.createElement(_i,{className:l("selectListContainer",i)},we.default.createElement(Wi,null,we.default.createElement(Hi,{className:l("selectListTitle",i)},e.title),we.default.createElement(Vi,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),r.options.map((c,g)=>{let y=n.includes(c.id);return we.default.createElement(ji,{key:`select-item-${g}`,onClick:()=>{if(n.includes(c.id)){s(n.filter(F=>F!==c.id));return}n.length<r.maxChoices?s([...n,c.id]):n.length==1&&r.maxChoices==1&&s([c.id])},hideBottomBorder:g===r.options.length-1,className:l("selectListSelectItem",i)},we.default.createElement(Gi,{className:l("selectListItemImage",i)},c.imageUri&&we.default.createElement(qi,{src:c.imageUri,alt:`select-icon-${g}`}),we.default.createElement(Ki,{appearance:i,className:l("selectListSelectItemText",i)},c.title)),we.default.createElement(et,{appearance:i,value:y,primaryColor:i.theme.colorPrimary}))}))};var ee=m(require("react"));var Ko=require("framer-motion"),ep=({children:e,id:t,shouldWrap:o=!1})=>ee.default.createElement(ee.default.Fragment,null,o?ee.default.createElement(Ko.AnimatePresence,{initial:!1},ee.default.createElement(Ko.motion.div,{key:t,initial:{opacity:1,y:"100%"},animate:{opacity:1,y:0},exit:{opacity:0,y:"-100%"},transition:{duration:.5,ease:"easeInOut"},style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:1,overflowY:"auto"}},e)):e),Yo=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:r,onButtonClick:n,onStepCompletion:s,flowId:p,type:d,hideOnFlowCompletion:a,onComplete:C,setVisible:c,setShowModal:g,onDismiss:y,showPagination:F=!1,customFormElements:v,allowBackNavigation:x,validationHandler:B})=>{var W;let k={...{linkCollection:Ui,multiInput:ki,callToAction:zi,selectList:Yi},...i},{primaryCTAClickSideEffects:L,secondaryCTAClickSideEffects:b}=fe(),[u,T]=(0,ee.useState)(!1),[S,E]=(0,ee.useState)({}),[
|
|
632
|
-
${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map(([s,p])=>`${cr(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Kt.default.createElement(o,{inlineStyles:t})}var br=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:d,hideOnFlowCompletion:a=!0,onStepCompletion:C,onButtonClick:c,dismissible:g=!0,endFlowOnDismiss:y=!1,modalPosition:F="center",repeatable:v=!1,onDismiss:x,showPagination:B=!1,allowBackNavigation:h=!1,validationHandler:k,showFrigadeBranding:L=!1})=>{let{getFlow:b,getFlowSteps:u,isLoading:T,targetingLogicShouldHideFlow:S,getFlowStatus:E,getCurrentStepIndex:$,markFlowCompleted:z,markFlowNotStarted:O}=R(),D=$(e),{mergeAppearanceWithDefault:G}=le(),[U,re]=(0,Ie.useState)(!1),{setOpenFlowState:ie,getOpenFlowState:Z,hasOpenModals:q}=Ne();d=G(d);let[Pe,ae]=i!==void 0&&r!==void 0?[i,r]:[Z(e,!0),Q=>ie(e,Q)];if((0,Ie.useEffect)(()=>{!U&&!T&&(re(!0),E(e)===se&&v&&O(e),re(!0))},[U,re,T]),T)return null;let J=b(e);if(!J||S(J))return null;let ve=u(e);if(!ve||i!==void 0&&i===!1||E(e)===se&&a||(o=="modal"||o=="corner-modal")&&q(e))return null;let De=()=>{ae(!1),x&&x(),y===!0&&z(e)};if(F=="center"&&o==="modal"||o==="large-modal"){let Q={padding:"24px"};return o==="large-modal"?(Q.width="85%",Q.height="90%",Q.maxHeight="800px",Q.minHeight="500px",Q.padding="0"):Q.width="400px",Ie.default.createElement(ht,{appearance:d,onClose:De,visible:Pe,style:Q,dismissible:g,showFrigadeBranding:L},Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:D,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k}))}return o==="modal"&&F!=="center"?Ie.default.createElement(mi,{appearance:d,onClose:De,visible:Pe},Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:D,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k})):Ie.default.createElement(Ie.default.Fragment,null,Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:D,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k}))},Ji=br;var Nt=require("react");function Xo(){let{organizationId:e,userId:t,setOrganizationId:o}=(0,Nt.useContext)(Y),{mutateUserFlowState:i}=We(),{config:r,apiUrl:n}=Qe(),s=Ut(),{verifySDKInitiated:p}=zt();(0,Nt.useEffect)(()=>{if(t&&e){if(t.startsWith(Ht))return;let C=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(C)||(s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(C,"true"))}},[t,e]);let d=(0,Nt.useCallback)(async C=>{if(p(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let c={foreignUserId:t,foreignUserGroupId:e,properties:C};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(c)}),i()},[e,t,r,i]),a=(0,Nt.useCallback)(async(C,c)=>{if(p(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let y={foreignUserId:t,foreignUserGroupId:e,events:[{event:C,properties:c}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(y)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:d,trackEventForOrganization:a}}var Qi="frigade-xFrigade_guestUserId",So="frigade-xFrigade_userId",Ri=({})=>{let{setFlowResponses:e}=Wt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=We(),{userId:r,setUserId:n}=Vt(),[s,p]=(0,he.useState)(null),{getFlowStatus:d}=R(),{flows:a,userProperties:C,setIsNewGuestUser:c,flowResponses:g}=(0,he.useContext)(Y),[y,F]=(0,he.useState)([]),[v,x]=(0,he.useState)([]),{organizationId:B}=Xo();(0,he.useEffect)(()=>{if(!o&&t)for(let b=0;b<t.length;b++){let u=t[b],T=a.find(S=>S.slug===(u==null?void 0:u.flowId));if(T&&u&&u.shouldTrigger===!0&&T.type=="FORM"&&T.triggerType==="AUTOMATIC"&&!v.includes(T.slug)){setTimeout(()=>{h(u.flowId)},500);break}}},[o,t]),(0,he.useEffect)(()=>{g.length>0&&i()},[g]);function h(b){let u=a.find(T=>T.slug===b);u&&u.triggerType==="AUTOMATIC"&&!v.includes(u.slug)&&(x([...v,u.slug]),F([u]))}function k(){if(!r){let b=localStorage.getItem(So);if(b){n(b);return}let u=localStorage.getItem(Qi);if(u){n(u);return}c(!0);let T=Ht+(0,Zi.v4)();try{localStorage.setItem(Qi,T)}catch(S){console.log("Failed to save guest user id locally: Local storage unavailable",S)}n(S=>S||T)}}(0,he.useEffect)(()=>{try{if(a){let b=[];a.forEach(u=>{if(u.data){let T=u.data.match(/"imageUri":"(.*?)"/g);T&&T.forEach(S=>{let E=S.replace('"imageUri":"',"").replace('"',"");if(b.includes(E))return;let $=new Image;$.src=E,b.push(E)})}})}}catch{}},[a]),(0,he.useEffect)(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(Ht))try{localStorage.setItem(So,r)}catch(b){console.log("Failed to save user id locally: Local storage available",b)}r===null&&setTimeout(()=>{r===null&&k()},50)},[r,a,C]);function L(){return he.default.createElement(he.default.Fragment,null,y.map(b=>d(b.slug)!==Ve?null:he.default.createElement("span",{key:b.slug},he.default.createElement(Ji,{flowId:b.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return he.default.createElement(he.default.Fragment,null,he.default.createElement(L,null))};var pn=require("react-error-boundary"),dn=require("deepmerge-ts");var tn=m(require("styled-components")),yo=require("styled-system");var wr=m(require("react")),Yt=m(require("styled-components")),Be=require("styled-system"),en=require("deepmerge-ts"),tp={width:{property:"width",scale:"sizes",transform:(e,t)=>(0,Be.get)(t,e,!(typeof e=="number"&&!isNaN(e))||e>1?e:e*100+"%")},height:{property:"height",scale:"sizes"},minWidth:{property:"minWidth",scale:"sizes"},minHeight:{property:"minHeight",scale:"sizes"},maxWidth:{property:"maxWidth",scale:"sizes"},maxHeight:{property:"maxHeight",scale:"sizes"},overflow:!0,overflowX:!0,overflowY:!0,display:!0,verticalAlign:!0},op=(0,Yt.default)("div")(({css:e})=>e,(0,Be.compose)(Be.border,Be.color,Be.shadow,Be.space,Be.typography,(0,Be.system)(tp))),Jo=({as:e,children:t,overrides:o,...i})=>{let r=(0,Yt.useTheme)(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>wr.default.createElement(op,{as:e,...n,...i},t);if(o!==void 0){let p=(0,en.deepmerge)(r,o);return wr.default.createElement(Yt.ThemeProvider,{theme:p},s())}return s()};var bo={Primary:{backgroundColor:"primary.background",color:"primary.foreground","&:hover":{backgroundColor:"blue400"}},Secondary:{backgroundColor:"white",border:"1px solid",borderColor:"gray800",color:"neutral.foreground","&:hover":{backgroundColor:"blue900"}},Link:{backgroundColor:"transparent",color:"primary.inverted"},Plain:{backgroundColor:"transparent",color:"neutral.foreground"}},rp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},on=(0,tn.default)(Jo)(()=>({whiteSpace:"nowrap"}),(0,yo.compose)((0,yo.variant)({scale:"components.Button",variants:"components.Button"}),(0,yo.variant)({prop:"size",variants:rp})));var rn=m(require("styled-components")),Qo=require("styled-system");var Zo={Display1:{fontSize:"5xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"4xl"},Display2:{fontSize:"4xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"3xl"},H1:{fontSize:"3xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"2xl"},H2:{fontSize:"2xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"xl"},H3:{fontSize:"xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"lg"},H4:{fontSize:"lg",fontWeight:"bold",letterSpacing:"md",lineHeight:"md"},Body1:{fontSize:"md",fontWeight:"regular",letterSpacing:"md",lineHeight:"md"},Body2:{fontSize:"sm",fontWeight:"regular",letterSpacing:"md",lineHeight:"md"},Caption:{fontSize:"xs",fontWeight:"regular",letterSpacing:"md",lineHeight:"sm"}};var nn=(0,rn.default)(Jo)((0,Qo.variant)({scale:"components.Text",variants:"components.Text"}),(0,Qo.system)({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var sn=4,ln="px",ip=20,np=Object.fromEntries(Array.from(Array(ip+1),(e,t)=>t===0?[.5,`${.5*sn}${ln}`]:[t,`${t*sn}${ln}`])),Xt={black:"#000000",gray100:"#14161A",gray200:"#181B20",gray300:"#1F2329",gray400:"#2E343D",gray500:"#4C5766",gray600:"#5A6472",gray700:"#C5CBD3",gray800:"#E2E5E9",gray900:"#F1F2F4",white:"#ffffff",blue400:"#015AC6",blue500:"#0171F8",blue800:"#DBECFF",blue900:"#F5F9FF",green400:"#009E37",green500:"#00D149",green800:"#DBFFE8",transparent:"#FFFFFF00",red500:"#c00000"},Ro={colors:{...Xt,neutral:{foreground:Xt.gray300},primary:{background:Xt.blue500,foreground:Xt.white,inverted:Xt.blue500},negative:{foreground:Xt.red500}},fonts:{default:"TT Interphases Pro, sans-serif"},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"20px","2xl":"24px","3xl":"30px","4xl":"36px","5xl":"48px"},fontWeights:{regular:400,semibold:500,bold:700},letterSpacings:{md:"0.02em"},lineHeights:{xs:"18px",sm:"22px",md:"24px",lg:"26px",xl:"30px","2xl":"38px","3xl":"46px","4xl":"60px"},radii:{md:"8px",lg:"20px",round:"50%"},shadows:{md:"0px 4px 20px rgba(0, 0, 0, 0.06)"},space:np,components:{Button:bo,Text:Zo}};var cn="https://api.frigade.com",Y=(0,X.createContext)({publicApiKey:"",setUserId:()=>{},flows:[],setFlows:()=>{},failedFlowResponses:[],setFailedFlowResponses:()=>{},flowResponses:[],setFlowResponses:()=>{},userProperties:{},setUserProperties:()=>{},openFlowStates:{},setOpenFlowStates:()=>{},completedFlowsToKeepOpenDuringSession:[],setCompletedFlowsToKeepOpenDuringSession:()=>{},customVariables:{},setCustomVariables:()=>{},isNewGuestUser:!1,setIsNewGuestUser:()=>{},hasActiveFullPageFlow:!1,setHasActiveFullPageFlow:()=>{},organizationId:"",setOrganizationId:()=>{},navigate:()=>{},defaultAppearance:Ze,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{},apiUrl:cn,readonly:!1});function sp(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var mn=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var ie,Z;let[n,s]=(0,X.useState)(t||null),[p,d]=(0,X.useState)(o||null),[a,C]=(0,X.useState)([]),[c,g]=(0,X.useState)([]),[y,F]=(0,X.useState)([]),[v,x]=(0,X.useState)({}),[B,h]=(0,X.useState)({}),[k,L]=(0,X.useState)([]),[b,u]=(0,X.useState)({}),[T,S]=(0,X.useState)(!1),[E,$]=(0,X.useState)(!1),[z,O]=(0,X.useState)(!U(e)),D=(q,Pe)=>{if(Pe==="_blank"){window.open(q,"_blank");return}setTimeout(()=>{window.location.href=q},50)},G={theme:{...Ze.theme,...((ie=i==null?void 0:i.defaultAppearance)==null?void 0:ie.theme)??{}},styleOverrides:{...Ze.styleOverrides,...((Z=i==null?void 0:i.defaultAppearance)==null?void 0:Z.styleOverrides)??{}}};function U(q){return!!(q&&q.length>10&&q.substring(0,10)==="api_public")}(0,X.useEffect)(()=>{t&&s(t)},[t]),(0,X.useEffect)(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(So)&&window.localStorage.getItem(So)!==n&&sp()},[n]),(0,X.useEffect)(()=>{o&&d(o)},[o]),(0,X.useEffect)(()=>{if(U(e))O(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),O(!0);return}},[e,O]);let re={publicApiKey:e,userId:n,setUserId:s,setFlows:C,flows:a,failedFlowResponses:c,setFailedFlowResponses:g,flowResponses:y,setFlowResponses:F,userProperties:v,setUserProperties:x,openFlowStates:B,setOpenFlowStates:h,completedFlowsToKeepOpenDuringSession:k,setCompletedFlowsToKeepOpenDuringSession:L,customVariables:b,setCustomVariables:u,isNewGuestUser:T,setIsNewGuestUser:S,hasActiveFullPageFlow:E,setHasActiveFullPageFlow:$,organizationId:p,setOrganizationId:d,navigate:i&&i.navigate?i.navigate:D,defaultAppearance:G,shouldGracefullyDegrade:z,setShouldGracefullyDegrade:O,apiUrl:i&&i.apiUrl?i.apiUrl:cn,readonly:i&&i.readonly?i.readonly:!1};return z?X.default.createElement(Y.Provider,{value:re},r):X.default.createElement(pn.ErrorBoundary,{fallback:X.default.createElement(X.default.Fragment,null,r)},X.default.createElement(Y.Provider,{value:re},X.default.createElement(an.ThemeProvider,{theme:(0,dn.deepmerge)(G.theme,Ro,(i==null?void 0:i.theme)??{})},r,X.default.createElement(Ri,null))))};var js=m(require("react"));var oe=m(require("react"));var Oe=m(require("react")),Tt=m(require("styled-components"));var wo=m(require("react"));var bt=m(require("react")),Tr=m(require("styled-components"));var un=Tr.default.span`
|
|
631
|
+
`;var Yi=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let r=e.props,[n,s]=(0,we.useState)([]),[p,d]=(0,we.useState)(!1),[a,C]=(0,we.useState)(e.id);return(0,we.useEffect)(()=>{n.length==0&&!p&&(d(!0),o({choice:[]}))},[p]),(0,we.useEffect)(()=>{a!==e.id&&(C(e.id),s([]))},[e]),(0,we.useEffect)(()=>{o({choice:n}),n.length>=r.minChoices?t(!0):t(!1)},[n]),we.default.createElement(_i,{className:l("selectListContainer",i)},we.default.createElement(Wi,null,we.default.createElement(Hi,{className:l("selectListTitle",i)},e.title),we.default.createElement(Vi,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),r.options.map((c,g)=>{let y=n.includes(c.id);return we.default.createElement(ji,{key:`select-item-${g}`,onClick:()=>{if(n.includes(c.id)){s(n.filter(F=>F!==c.id));return}n.length<r.maxChoices?s([...n,c.id]):n.length==1&&r.maxChoices==1&&s([c.id])},hideBottomBorder:g===r.options.length-1,className:l("selectListSelectItem",i)},we.default.createElement(Gi,{className:l("selectListItemImage",i)},c.imageUri&&we.default.createElement(qi,{src:c.imageUri,alt:`select-icon-${g}`}),we.default.createElement(Ki,{appearance:i,className:l("selectListSelectItemText",i)},c.title)),we.default.createElement(et,{appearance:i,value:y,primaryColor:i.theme.colorPrimary}))}))};var ee=m(require("react"));var Ko=require("framer-motion"),ep=({children:e,id:t,shouldWrap:o=!1})=>ee.default.createElement(ee.default.Fragment,null,o?ee.default.createElement(Ko.AnimatePresence,{initial:!1},ee.default.createElement(Ko.motion.div,{key:t,initial:{opacity:1,y:"100%"},animate:{opacity:1,y:0},exit:{opacity:0,y:"-100%"},transition:{duration:.5,ease:"easeInOut"},style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:1,overflowY:"auto"}},e)):e),Yo=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:r,onButtonClick:n,onStepCompletion:s,flowId:p,type:d,hideOnFlowCompletion:a,onComplete:C,setVisible:c,setShowModal:g,onDismiss:y,showPagination:F=!1,customFormElements:v,allowBackNavigation:x,validationHandler:B})=>{var W;let k={...{linkCollection:Ui,multiInput:ki,callToAction:zi,selectList:Yi},...i},{primaryCTAClickSideEffects:L,secondaryCTAClickSideEffects:b}=fe(),[u,T]=(0,ee.useState)(!1),[S,E]=(0,ee.useState)({}),[D,z]=(0,ee.useState)(!1),[O,$]=(0,ee.useState)(!1),[G,U]=(0,ee.useState)(null),re=t[o]??null,{markStepCompleted:ie,markStepStarted:Z,isLoading:q,updateCustomVariables:Pe,markFlowCompleted:ae}=R();(0,ee.useEffect)(()=>{Pe(r)},[r,q]),(0,ee.useEffect)(()=>{window&&x&&!O&&(window.location.hash=t[o].id,$(!0))},[x,O,$]),(0,ee.useEffect)(()=>{var M;if(window&&((M=window==null?void 0:window.location)!=null&&M.hash)&&window.location.hash.replace("#","")!==t[o].id){let pe=window.location.hash.replace("#",""),K=t.findIndex(de=>de.id===pe);K!==-1&&Z(p,t[K].id)}},[(W=window==null?void 0:window.location)==null?void 0:W.hash,Z,o,t]);function J(){return{data:S[t[o].id]??{},stepId:t[o].id,customVariables:r}}function ve(M,pe,K){let de=o+1<t.length?t[o+1]:null;return s&&s(M,K,de,S,J()),n?n(M,o,pe,de):!0}function De(M,pe){E(K=>{let de={};return de[M.id]=pe,{...K,...de}})}function Q(M){return M.selectedStep.imageUri?ee.default.createElement(Ni,{image:M.selectedStep.imageUri,appearance:e,className:l("formContainerSidebarImage",e)}):null}let xe=ee.default.createElement(Oi,{step:t[o],canContinue:u&&!D,formType:d,selectedStep:o,appearance:e,onPrimaryClick:async()=>{if(z(!0),B){let K=await B(t[o],o,t[o+1],S,J());if(K){U(K),z(!1);return}else U(null)}let M={...J()};await ie(p,t[o].id,M),o+1<t.length&&await Z(p,t[o+1].id);let pe=ve(t[o],"primary",o);o+1>=t.length&&(C&&C(),y&&y(),a&&pe&&(c&&c(!1),g(!1)),await ae(p)),L(t[o]),z(!1),window&&x&&o+1<t.length&&(window.location.hash=t[o+1].id)},onSecondaryClick:()=>{ve(t[o],"secondary",o),b(t[o])},onBack:async()=>{o-1>=0&&(z(!0),await Z(p,t[o-1].id),z(!1))},steps:t,allowBackNavigation:x,errorMessage:G});return ee.default.createElement(ee.default.Fragment,null,ee.default.createElement(Ei,{className:l("formContainer",e)},ee.default.createElement(Ai,null,ee.default.createElement(ep,{id:o,shouldWrap:d==="large-modal"},ee.default.createElement(Ii,{key:re.id,type:d,className:l("formContent",e)},t.map(M=>{let pe=k[M.type];return re.id!==M.id?null:ee.default.createElement(pe,{key:M.id,stepData:M,canContinue:u,setCanContinue:T,onSaveData:K=>{De(M,K)},appearance:e,customFormElements:v,flowId:p})}),F&&ee.default.createElement($i,{className:l("formPagination",e),appearance:e,stepCount:t.length,currentStep:o}),xe))),d=="large-modal"&&ee.default.createElement(Q,{selectedStep:t[o]})))};var Kt=m(require("react")),Xi=require("styled-components");function me({appearance:e}){if(!e||!e.styleOverrides)return Kt.default.createElement(Kt.default.Fragment,null);let t=Object.entries(e.styleOverrides).filter(([i,r])=>typeof r=="object");if(t.length===0)return Kt.default.createElement(Kt.default.Fragment,null);let o=Xi.createGlobalStyle`
|
|
632
|
+
${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map(([s,p])=>`${cr(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Kt.default.createElement(o,{inlineStyles:t})}var br=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:d,hideOnFlowCompletion:a=!0,onStepCompletion:C,onButtonClick:c,dismissible:g=!0,endFlowOnDismiss:y=!1,modalPosition:F="center",repeatable:v=!1,onDismiss:x,showPagination:B=!1,allowBackNavigation:h=!1,validationHandler:k,showFrigadeBranding:L=!1})=>{let{getFlow:b,getFlowSteps:u,isLoading:T,targetingLogicShouldHideFlow:S,getFlowStatus:E,getCurrentStepIndex:D,markFlowCompleted:z,markFlowNotStarted:O}=R(),$=D(e),{mergeAppearanceWithDefault:G}=le(),[U,re]=(0,Ie.useState)(!1),{setOpenFlowState:ie,getOpenFlowState:Z,hasOpenModals:q}=Ne();d=G(d);let[Pe,ae]=i!==void 0&&r!==void 0?[i,r]:[Z(e,!0),Q=>ie(e,Q)];if((0,Ie.useEffect)(()=>{!U&&!T&&(re(!0),E(e)===se&&v&&O(e),re(!0))},[U,re,T]),T)return null;let J=b(e);if(!J||S(J))return null;let ve=u(e);if(!ve||i!==void 0&&i===!1||E(e)===se&&a||(o=="modal"||o=="corner-modal")&&q(e))return null;let De=()=>{ae(!1),x&&x(),y===!0&&z(e)};if(F=="center"&&o==="modal"||o==="large-modal"){let Q={padding:"24px"};return o==="large-modal"?(Q.width="85%",Q.height="90%",Q.maxHeight="800px",Q.minHeight="500px",Q.padding="0"):Q.width="400px",Ie.default.createElement(ht,{appearance:d,onClose:De,visible:Pe,style:Q,dismissible:g,showFrigadeBranding:L},Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:$,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k}))}return o==="modal"&&F!=="center"?Ie.default.createElement(mi,{appearance:d,onClose:De,visible:Pe},Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:$,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k})):Ie.default.createElement(Ie.default.Fragment,null,Ie.default.createElement(me,{appearance:d}),Ie.default.createElement(Yo,{appearance:d,steps:ve,selectedStep:$,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:C,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ae,onDismiss:x,showPagination:B,customFormElements:s,allowBackNavigation:h,validationHandler:k}))},Ji=br;var Nt=require("react");function Xo(){let{organizationId:e,userId:t,setOrganizationId:o}=(0,Nt.useContext)(Y),{mutateUserFlowState:i}=We(),{config:r,apiUrl:n}=Qe(),s=Ut(),{verifySDKInitiated:p}=zt();(0,Nt.useEffect)(()=>{if(t&&e){if(t.startsWith(Ht))return;let C=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(C)||(s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(C,"true"))}},[t,e]);let d=(0,Nt.useCallback)(async C=>{if(p(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let c={foreignUserId:t,foreignUserGroupId:e,properties:C};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(c)}),i()},[e,t,r,i]),a=(0,Nt.useCallback)(async(C,c)=>{if(p(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let y={foreignUserId:t,foreignUserGroupId:e,events:[{event:C,properties:c}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(y)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:d,trackEventForOrganization:a}}var Qi="frigade-xFrigade_guestUserId",So="frigade-xFrigade_userId",Ri=({})=>{let{setFlowResponses:e}=Wt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=We(),{userId:r,setUserId:n}=Vt(),[s,p]=(0,he.useState)(null),{getFlowStatus:d}=R(),{flows:a,userProperties:C,setIsNewGuestUser:c,flowResponses:g}=(0,he.useContext)(Y),[y,F]=(0,he.useState)([]),[v,x]=(0,he.useState)([]),{organizationId:B}=Xo();(0,he.useEffect)(()=>{if(!o&&t)for(let b=0;b<t.length;b++){let u=t[b],T=a.find(S=>S.slug===(u==null?void 0:u.flowId));if(T&&u&&u.shouldTrigger===!0&&T.type=="FORM"&&T.triggerType==="AUTOMATIC"&&!v.includes(T.slug)){setTimeout(()=>{h(u.flowId)},500);break}}},[o,t]),(0,he.useEffect)(()=>{g.length>0&&i()},[g]);function h(b){let u=a.find(T=>T.slug===b);u&&u.triggerType==="AUTOMATIC"&&!v.includes(u.slug)&&(x([...v,u.slug]),F([u]))}function k(){if(!r){let b=localStorage.getItem(So);if(b){n(b);return}let u=localStorage.getItem(Qi);if(u){n(u);return}c(!0);let T=Ht+(0,Zi.v4)();try{localStorage.setItem(Qi,T)}catch(S){console.log("Failed to save guest user id locally: Local storage unavailable",S)}n(S=>S||T)}}(0,he.useEffect)(()=>{try{if(a){let b=[];a.forEach(u=>{if(u.data){let T=u.data.match(/"imageUri":"(.*?)"/g);T&&T.forEach(S=>{let E=S.replace('"imageUri":"',"").replace('"',"");if(b.includes(E))return;let D=new Image;D.src=E,b.push(E)})}})}}catch{}},[a]),(0,he.useEffect)(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(Ht))try{localStorage.setItem(So,r)}catch(b){console.log("Failed to save user id locally: Local storage available",b)}r===null&&setTimeout(()=>{r===null&&k()},50)},[r,a,C]);function L(){return he.default.createElement(he.default.Fragment,null,y.map(b=>d(b.slug)!==Ve?null:he.default.createElement("span",{key:b.slug},he.default.createElement(Ji,{flowId:b.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return he.default.createElement(he.default.Fragment,null,he.default.createElement(L,null))};var pn=require("react-error-boundary"),dn=require("deepmerge-ts");var tn=m(require("styled-components")),yo=require("styled-system");var wr=m(require("react")),Yt=m(require("styled-components")),Be=require("styled-system"),en=require("deepmerge-ts"),tp={width:{property:"width",scale:"sizes",transform:(e,t)=>(0,Be.get)(t,e,!(typeof e=="number"&&!isNaN(e))||e>1?e:e*100+"%")},height:{property:"height",scale:"sizes"},minWidth:{property:"minWidth",scale:"sizes"},minHeight:{property:"minHeight",scale:"sizes"},maxWidth:{property:"maxWidth",scale:"sizes"},maxHeight:{property:"maxHeight",scale:"sizes"},overflow:!0,overflowX:!0,overflowY:!0,display:!0,verticalAlign:!0},op=(0,Yt.default)("div")(({css:e})=>e,(0,Be.compose)(Be.border,Be.color,Be.shadow,Be.space,Be.typography,(0,Be.system)(tp))),Jo=({as:e,children:t,overrides:o,...i})=>{let r=(0,Yt.useTheme)(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>wr.default.createElement(op,{as:e,...n,...i},t);if(o!==void 0){let p=(0,en.deepmerge)(r,o);return wr.default.createElement(Yt.ThemeProvider,{theme:p},s())}return s()};var bo={Primary:{backgroundColor:"primary.background",color:"primary.foreground","&:hover":{backgroundColor:"blue400"}},Secondary:{backgroundColor:"white",border:"1px solid",borderColor:"gray800",color:"neutral.foreground","&:hover":{backgroundColor:"blue900"}},Link:{backgroundColor:"transparent",color:"primary.inverted"},Plain:{backgroundColor:"transparent",color:"neutral.foreground"}},rp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},on=(0,tn.default)(Jo)(()=>({whiteSpace:"nowrap"}),(0,yo.compose)((0,yo.variant)({scale:"components.Button",variants:"components.Button"}),(0,yo.variant)({prop:"size",variants:rp})));var rn=m(require("styled-components")),Qo=require("styled-system");var Zo={Display1:{fontSize:"5xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"4xl"},Display2:{fontSize:"4xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"3xl"},H1:{fontSize:"3xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"2xl"},H2:{fontSize:"2xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"xl"},H3:{fontSize:"xl",fontWeight:"bold",letterSpacing:"md",lineHeight:"lg"},H4:{fontSize:"lg",fontWeight:"bold",letterSpacing:"md",lineHeight:"md"},Body1:{fontSize:"md",fontWeight:"regular",letterSpacing:"md",lineHeight:"md"},Body2:{fontSize:"sm",fontWeight:"regular",letterSpacing:"md",lineHeight:"md"},Caption:{fontSize:"xs",fontWeight:"regular",letterSpacing:"md",lineHeight:"sm"}};var nn=(0,rn.default)(Jo)((0,Qo.variant)({scale:"components.Text",variants:"components.Text"}),(0,Qo.system)({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var sn=4,ln="px",ip=20,np=Object.fromEntries(Array.from(Array(ip+1),(e,t)=>t===0?[.5,`${.5*sn}${ln}`]:[t,`${t*sn}${ln}`])),Xt={black:"#000000",gray100:"#14161A",gray200:"#181B20",gray300:"#1F2329",gray400:"#2E343D",gray500:"#4C5766",gray600:"#5A6472",gray700:"#C5CBD3",gray800:"#E2E5E9",gray900:"#F1F2F4",white:"#ffffff",blue400:"#015AC6",blue500:"#0171F8",blue800:"#DBECFF",blue900:"#F5F9FF",green400:"#009E37",green500:"#00D149",green800:"#DBFFE8",transparent:"#FFFFFF00",red500:"#c00000"},Ro={colors:{...Xt,neutral:{foreground:Xt.gray300},primary:{background:Xt.blue500,foreground:Xt.white,inverted:Xt.blue500},negative:{foreground:Xt.red500}},fonts:{default:"TT Interphases Pro, sans-serif"},fontSizes:{xs:"12px",sm:"14px",md:"16px",lg:"18px",xl:"20px","2xl":"24px","3xl":"30px","4xl":"36px","5xl":"48px"},fontWeights:{regular:400,semibold:500,bold:700},letterSpacings:{md:"0.02em"},lineHeights:{xs:"18px",sm:"22px",md:"24px",lg:"26px",xl:"30px","2xl":"38px","3xl":"46px","4xl":"60px"},radii:{md:"8px",lg:"20px",round:"50%"},shadows:{md:"0px 4px 20px rgba(0, 0, 0, 0.06)"},space:np,components:{Button:bo,Text:Zo}};var cn="https://api.frigade.com",Y=(0,X.createContext)({publicApiKey:"",setUserId:()=>{},flows:[],setFlows:()=>{},failedFlowResponses:[],setFailedFlowResponses:()=>{},flowResponses:[],setFlowResponses:()=>{},userProperties:{},setUserProperties:()=>{},openFlowStates:{},setOpenFlowStates:()=>{},completedFlowsToKeepOpenDuringSession:[],setCompletedFlowsToKeepOpenDuringSession:()=>{},customVariables:{},setCustomVariables:()=>{},isNewGuestUser:!1,setIsNewGuestUser:()=>{},hasActiveFullPageFlow:!1,setHasActiveFullPageFlow:()=>{},organizationId:"",setOrganizationId:()=>{},navigate:()=>{},defaultAppearance:Ze,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{},apiUrl:cn,readonly:!1});function sp(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var mn=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var ie,Z;let[n,s]=(0,X.useState)(t||null),[p,d]=(0,X.useState)(o||null),[a,C]=(0,X.useState)([]),[c,g]=(0,X.useState)([]),[y,F]=(0,X.useState)([]),[v,x]=(0,X.useState)({}),[B,h]=(0,X.useState)({}),[k,L]=(0,X.useState)([]),[b,u]=(0,X.useState)({}),[T,S]=(0,X.useState)(!1),[E,D]=(0,X.useState)(!1),[z,O]=(0,X.useState)(!U(e)),$=(q,Pe)=>{if(Pe==="_blank"){window.open(q,"_blank");return}setTimeout(()=>{window.location.href=q},50)},G={theme:{...Ze.theme,...((ie=i==null?void 0:i.defaultAppearance)==null?void 0:ie.theme)??{}},styleOverrides:{...Ze.styleOverrides,...((Z=i==null?void 0:i.defaultAppearance)==null?void 0:Z.styleOverrides)??{}}};function U(q){return!!(q&&q.length>10&&q.substring(0,10)==="api_public")}(0,X.useEffect)(()=>{t&&s(t)},[t]),(0,X.useEffect)(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(So)&&window.localStorage.getItem(So)!==n&&sp()},[n]),(0,X.useEffect)(()=>{o&&d(o)},[o]),(0,X.useEffect)(()=>{if(U(e))O(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),O(!0);return}},[e,O]);let re={publicApiKey:e,userId:n,setUserId:s,setFlows:C,flows:a,failedFlowResponses:c,setFailedFlowResponses:g,flowResponses:y,setFlowResponses:F,userProperties:v,setUserProperties:x,openFlowStates:B,setOpenFlowStates:h,completedFlowsToKeepOpenDuringSession:k,setCompletedFlowsToKeepOpenDuringSession:L,customVariables:b,setCustomVariables:u,isNewGuestUser:T,setIsNewGuestUser:S,hasActiveFullPageFlow:E,setHasActiveFullPageFlow:D,organizationId:p,setOrganizationId:d,navigate:i&&i.navigate?i.navigate:$,defaultAppearance:G,shouldGracefullyDegrade:z,setShouldGracefullyDegrade:O,apiUrl:i&&i.apiUrl?i.apiUrl:cn,readonly:i&&i.readonly?i.readonly:!1};return z?X.default.createElement(Y.Provider,{value:re},r):X.default.createElement(pn.ErrorBoundary,{fallback:X.default.createElement(X.default.Fragment,null,r)},X.default.createElement(Y.Provider,{value:re},X.default.createElement(an.ThemeProvider,{theme:(0,dn.deepmerge)(G.theme,Ro,(i==null?void 0:i.theme)??{})},r,X.default.createElement(Ri,null))))};var js=m(require("react"));var oe=m(require("react"));var Oe=m(require("react")),Tt=m(require("styled-components"));var wo=m(require("react"));var bt=m(require("react")),Tr=m(require("styled-components"));var un=Tr.default.span`
|
|
633
633
|
font-weight: 400;
|
|
634
634
|
font-size: 15px;
|
|
635
635
|
line-height: 20px;
|
|
@@ -1013,7 +1013,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map
|
|
|
1013
1013
|
line-height: 14px;
|
|
1014
1014
|
font-weight: 400;
|
|
1015
1015
|
cursor: pointer;
|
|
1016
|
-
`;var Ip=({steps:e,style:t,title:o,primaryColor:i,appearance:r,onButtonClick:n})=>{let{primaryCTAClickSideEffects:s}=fe();return nt.default.createElement(Rn,{style:t,className:l("guideContainer",r)},nt.default.createElement(ts,{className:l("guideTitle",r)},o),nt.default.createElement(es,{className:l("guideItemContainer",r)},e.map((p,d)=>nt.default.createElement(os,{key:`guide-${p.id??d}`,as:as.motion.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",r)},p.icon&&nt.default.createElement(rs,{className:l("guideIcon",r)},nt.default.createElement(is,null,p.icon)),nt.default.createElement(ns,{className:l("guideItemTitle",r),dangerouslySetInnerHTML:be(p.title)}),nt.default.createElement(ss,{className:l("guideItemSubtitle",r),dangerouslySetInnerHTML:be(p.subtitle)}),nt.default.createElement(ls,{className:l("guideItemLink",r),color:i,onClick:()=>{p.primaryButtonUri&&s(p),n&&n(p)}},p.primaryButtonTitle)))))},Po=Ip;var Np=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:r,onClose:n,selectedStep:s,setSelectedStep:p,customStepTypes:d,appearance:a,guideData:C,guideTitle:c,onGuideButtonClick:g})=>{let y=({stepData:u,handleSecondaryCTAClick:T,handleCTAClick:S})=>u?_.default.createElement(Hn,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},_.default.createElement(Vn,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:be(u.title)}),_.default.createElement(jn,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:be(u.subtitle)}),_.default.createElement(Gn,{className:l("checklistCTAContainer",a)},u.secondaryButtonTitle&&_.default.createElement(ce,{title:u.secondaryButtonTitle,onClick:T,appearance:a,secondary:!0}),_.default.createElement(ce,{title:u.primaryButtonTitle,onClick:S,appearance:a}))):_.default.createElement(_.default.Fragment,null),v={...{default:u=>{var
|
|
1016
|
+
`;var Ip=({steps:e,style:t,title:o,primaryColor:i,appearance:r,onButtonClick:n})=>{let{primaryCTAClickSideEffects:s}=fe();return nt.default.createElement(Rn,{style:t,className:l("guideContainer",r)},nt.default.createElement(ts,{className:l("guideTitle",r)},o),nt.default.createElement(es,{className:l("guideItemContainer",r)},e.map((p,d)=>nt.default.createElement(os,{key:`guide-${p.id??d}`,as:as.motion.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",r)},p.icon&&nt.default.createElement(rs,{className:l("guideIcon",r)},nt.default.createElement(is,null,p.icon)),nt.default.createElement(ns,{className:l("guideItemTitle",r),dangerouslySetInnerHTML:be(p.title)}),nt.default.createElement(ss,{className:l("guideItemSubtitle",r),dangerouslySetInnerHTML:be(p.subtitle)}),nt.default.createElement(ls,{className:l("guideItemLink",r),color:i,onClick:()=>{p.primaryButtonUri&&s(p),n&&n(p)}},p.primaryButtonTitle)))))},Po=Ip;var Np=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:r,onClose:n,selectedStep:s,setSelectedStep:p,customStepTypes:d,appearance:a,guideData:C,guideTitle:c,onGuideButtonClick:g})=>{let y=({stepData:u,handleSecondaryCTAClick:T,handleCTAClick:S})=>u?_.default.createElement(Hn,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},_.default.createElement(Vn,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:be(u.title)}),_.default.createElement(jn,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:be(u.subtitle)}),_.default.createElement(Gn,{className:l("checklistCTAContainer",a)},u.secondaryButtonTitle&&_.default.createElement(ce,{title:u.secondaryButtonTitle,onClick:T,appearance:a,secondary:!0}),_.default.createElement(ce,{title:u.primaryButtonTitle,onClick:S,appearance:a}))):_.default.createElement(_.default.Fragment,null),v={...{default:u=>{var D;if((D=e[h])!=null&&D.StepContent){let z=e[h].StepContent;return _.default.createElement("div",null,z)}let T=e[h];return _.default.createElement(y,{stepData:u,handleCTAClick:()=>{T.handlePrimaryButtonClick&&T.handlePrimaryButtonClick()},handleSecondaryCTAClick:()=>{T.handleSecondaryButtonClick&&T.handleSecondaryButtonClick()}})}},...d},[x,B]=(0,_.useState)(0),h=s??x,k=p??B,L=()=>{var u;return e?!((u=e[h])!=null&&u.type)||!v[e[h].type]?v.default(e[h]):v[e[h].type]({stepData:e[h],primaryColor:a.theme.colorPrimary}):_.default.createElement(_.default.Fragment,null)},b=e.filter(u=>u.complete).length;return r?(a.theme.modalContainer||(a.theme.borderRadius&&(vr.borderRadius=a.theme.borderRadius+"px"),a.theme.modalContainer=vr),_.default.createElement(ht,{onClose:n,visible:r,appearance:a},_.default.createElement(Jn,null,_.default.createElement(On,null,_.default.createElement(Dn,{appearance:a,className:l("checklistTitle",a)},t),_.default.createElement($n,{appearance:a,className:l("checklistSubtitle",a)},o)),_.default.createElement(Ln,null,e&&e.length>0&&_.default.createElement(Mn,{className:l("stepsContainer",a)},_.default.createElement(Un,null,_.default.createElement("div",{style:{flex:3}},_.default.createElement(zn,{className:l("stepsTitle",a)},i)),_.default.createElement(Xn,null,_.default.createElement(ot,{fillColor:a.theme.colorPrimary,style:{width:"100%"},count:b,total:e.length,appearance:a}))),_.default.createElement(_n,null,_.default.createElement(Wn,{className:l("checklistStepListContainer",a),appearance:a},e.map((u,T)=>{let S=h===T;return _.default.createElement(qn,{selected:S,className:l(`checklistStepListItem${S?"Selected":""}`,a),key:`checklist-guide-step-${u.id??T}`,disabled:u.blocked,onClick:()=>{u.blocked||k(T)},title:u.blocked?"Finish remaining steps to continue":void 0},S&&_.default.createElement(tr,{className:l("checklistStepItemSelectedIndicator",a),as:ps.motion.div,layoutId:"checklist-step-selected",style:{backgroundColor:a.theme.colorPrimary,borderRadius:0,height:"100%",top:"0%",width:"2px"}}),_.default.createElement(Kn,{selected:S,className:l(`checklistStepListStepName${S?"Selected":""}`,a)},u.stepName),_.default.createElement(Yn,null,_.default.createElement(et,{value:u.complete,type:"round",primaryColor:a.theme.colorPrimary,progress:u.progress,appearance:a}),_.default.createElement(Zn,null,_.default.createElement(to,{style:{marginLeft:"10px"},color:a.theme.colorBackgroundSecondary}))))})),_.default.createElement(L,null))),C&&C.length>0&&_.default.createElement(Po,{steps:C,title:c,primaryColor:a.theme.colorPrimary,style:{border:"none",boxShadow:"none"},appearance:a,onButtonClick:u=>(g&&g(u),!0)}))))):_.default.createElement(_.default.Fragment,null)},Br=Np;var ir=require("react"),ds=()=>{let e={isSmall:"(max-width: 480px)",isMedium:"(min-width: 481px) AND (max-width: 1023px)",isLarge:"(min-width: 1025px)"},t=Object.fromEntries(Object.entries(e).map(([p])=>[p,!1])),[o,i]=(0,ir.useState)(t),r=null,n=()=>{r!==null?clearTimeout(r):s(),r=setTimeout(()=>{s()},16)},s=()=>{let p=Object.fromEntries(Object.entries(e).map(([d,a])=>{if(!window)return[d,!1];let C=window.matchMedia(a);return C.addEventListener("change",n),[d,C.matches]}));i(p)};return(0,ir.useEffect)(()=>{s()},[]),o};var ge=m(require("react"));var Se=m(require("react"));var nr=require("framer-motion");var st=m(require("styled-components")),cs=st.default.div`
|
|
1017
1017
|
background-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBackground}};
|
|
1018
1018
|
border: 1px solid;
|
|
1019
1019
|
border-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBorder}};
|
|
@@ -1237,7 +1237,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map
|
|
|
1237
1237
|
color: ${({theme:e})=>e.colorTextSecondary};
|
|
1238
1238
|
${e=>e.blocked||e.complete?"opacity: 0.4;":`
|
|
1239
1239
|
`}
|
|
1240
|
-
`;var _s=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=le(),{primaryCTAClickSideEffects:r}=fe();o=i(o);let{imageUri:n=null,subtitle:s=null,title:p=null,complete:d=!1,blocked:a=!1}=e,C=e.primaryButtonTitle||e.secondaryButtonTitle,c=()=>{r(e)};return Dt.default.createElement(Is,{className:l("carouselCard",o),onClick:a?null:c,style:t,blocked:a,complete:d},n&&Dt.default.createElement(Ns,{className:l("carouselCardImage",o),src:n,alt:p,style:{opacity:d||a?.4:1}}),(d||!0)&&Dt.default.createElement($s,{className:l("carouselCompletedPill",o)},Dt.default.createElement(zs,{style:{color:"#108E0B"}},"Complete")),p&&Dt.default.createElement(Us,{blocked:a,complete:d,className:l("carouselCardTitle",o)},p),s&&Dt.default.createElement(lt.Quiet,{blocked:a,complete:d,className:l("carouselCardSubtitle",o)},s))};var oo=m(require("react"));var Ws=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,r=200,n=Math.min(r,Math.max(10,Math.round(r*i)));return oo.default.createElement(Os,{className:l("carouselProgressBar",o)},oo.default.createElement(Ds,{as:lt.Loud,style:{marginRight:8}},e," of ",t),oo.default.createElement("svg",{height:10,width:r},oo.default.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"#E6E6E6"}),oo.default.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"currentColor"})))};var zp=()=>H.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},H.default.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),H.default.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),H.default.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),Hs=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,r]=(0,H.useState)(!1),[n,s]=(0,H.useState)(!1);(0,H.useEffect)(()=>{t===!0&&i===!1?r(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{r(!1),s(!1)},d=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?H.default.createElement(Bs,{style:d,reversed:n,onAnimationEnd:n?p:null},H.default.createElement(Es,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},H.default.createElement(zp,null))):null},Vs=({flowId:e,appearance:t,customVariables:o,className:i})=>{let r=(0,H.useRef)(null),[n,s]=(0,H.useState)(!1),[p,d]=(0,H.useState)(!1),[a,C]=(0,H.useState)(null),[c,g]=(0,H.useState)([]),[y,F]=(0,H.useState)(0),{getFlowMetadata:v,getFlowSteps:x,getNumberOfStepsCompleted:B,updateCustomVariables:h,getFlowStatus:k,isLoading:L,targetingLogicShouldHideFlow:b,getFlow:u}=R();(0,H.useEffect)(()=>{h(o)},[o,L]),(0,H.useEffect)(()=>{if(L)return;let O=v(e)
|
|
1240
|
+
`;var _s=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=le(),{primaryCTAClickSideEffects:r}=fe();o=i(o);let{imageUri:n=null,subtitle:s=null,title:p=null,complete:d=!1,blocked:a=!1}=e,C=e.primaryButtonTitle||e.secondaryButtonTitle,c=()=>{r(e)};return Dt.default.createElement(Is,{className:l("carouselCard",o),onClick:a?null:c,style:t,blocked:a,complete:d},n&&Dt.default.createElement(Ns,{className:l("carouselCardImage",o),src:n,alt:p,style:{opacity:d||a?.4:1}}),(d||!0)&&Dt.default.createElement($s,{className:l("carouselCompletedPill",o)},Dt.default.createElement(zs,{style:{color:"#108E0B"}},"Complete")),p&&Dt.default.createElement(Us,{blocked:a,complete:d,className:l("carouselCardTitle",o)},p),s&&Dt.default.createElement(lt.Quiet,{blocked:a,complete:d,className:l("carouselCardSubtitle",o)},s))};var oo=m(require("react"));var Ws=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,r=200,n=Math.min(r,Math.max(10,Math.round(r*i)));return oo.default.createElement(Os,{className:l("carouselProgressBar",o)},oo.default.createElement(Ds,{as:lt.Loud,style:{marginRight:8}},e," of ",t),oo.default.createElement("svg",{height:10,width:r},oo.default.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"#E6E6E6"}),oo.default.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"currentColor"})))};var zp=()=>H.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},H.default.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),H.default.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),H.default.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),Hs=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,r]=(0,H.useState)(!1),[n,s]=(0,H.useState)(!1);(0,H.useEffect)(()=>{t===!0&&i===!1?r(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{r(!1),s(!1)},d=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?H.default.createElement(Bs,{style:d,reversed:n,onAnimationEnd:n?p:null},H.default.createElement(Es,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},H.default.createElement(zp,null))):null},Vs=({flowId:e,appearance:t,customVariables:o,className:i})=>{let r=(0,H.useRef)(null),[n,s]=(0,H.useState)(!1),[p,d]=(0,H.useState)(!1),[a,C]=(0,H.useState)(null),[c,g]=(0,H.useState)([]),[y,F]=(0,H.useState)(0),{getFlowMetadata:v,getFlowSteps:x,getNumberOfStepsCompleted:B,updateCustomVariables:h,getFlowStatus:k,isLoading:L,targetingLogicShouldHideFlow:b,getFlow:u}=R();(0,H.useEffect)(()=>{h(o)},[o,L]),(0,H.useEffect)(()=>{if(L)return;let O=v(e),$=B(e),G=x(e);C(O),O.data!==null&&(g(G.sort((U,re)=>Number(U.complete)-Number(re.complete))),d(G.length>3),F($))},[L]);let T=[];for(let O=0;O<c.length;O+=3)T.push(c.slice(O,O+3));let S=O=>{let $=O.target,G=$.scrollWidth-$.clientWidth,U=Math.ceil($.scrollLeft);U>0&&n===!1&&s(!0),U===0&&n===!0&&s(!1),U<G&&p===!1&&d(!0),U===G&&p===!0&&d(!1)},E=(O=!0)=>{let $=O?1:-1;r.current!==null&&r.current.scrollBy({left:r.current.clientWidth*$,behavior:"smooth"})},D=null,z=O=>{D!==null?clearTimeout(D):S(O),D=setTimeout(()=>{S(O)},16)};return L?null:H.default.createElement(Ls,{className:Ee(l("carouselContainer",t),i)},H.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:20}},H.default.createElement("div",null,H.default.createElement(Ms,{className:l("carouselTitle",t)},a==null?void 0:a.title),H.default.createElement(lt.Quiet,{className:l("carouselSubtitle",t)},a==null?void 0:a.subtitle)),H.default.createElement(Ws,{numberOfStepsCompleted:y,numberOfSteps:c.length})),H.default.createElement("div",{style:{position:"relative"}},H.default.createElement(Hs,{show:n,onClick:()=>E(!1)}),H.default.createElement(Hs,{side:"right",show:p,onClick:E}),H.default.createElement(Ps,{ref:r,onScroll:z},T.map((O,$)=>H.default.createElement(vs,{key:$,style:{flex:`0 0 calc(100% - ${c.length>3?36:0}px)`}},O.map((G,U)=>H.default.createElement(_s,{key:U,stepData:G,style:{flex:c.length>3?"0 1 calc(33% - 16px * 2 / 3)":1},appearance:t})))))),H.default.createElement(me,{appearance:t}))};var sr=({flowId:e,title:t,subtitle:o,style:i,initialSelectedStep:r,className:n,type:s="inline",onDismiss:p,visible:d,customVariables:a,onStepCompletion:C,onButtonClick:c,appearance:g,hideOnFlowCompletion:y,setVisible:F,customStepTypes:v,checklistStyle:x="default",autoExpandFirstIncompleteStep:B,autoExpandNextStep:h,...k})=>{let{getFlow:L,getFlowSteps:b,markStepCompleted:u,getStepStatus:T,getNumberOfStepsCompleted:S,isLoading:E,targetingLogicShouldHideFlow:D,updateCustomVariables:z,getFlowMetadata:O,isStepBlocked:$,getFlowStatus:G,hasActiveFullPageFlow:U,setHasActiveFullPageFlow:re}=R(),{primaryCTAClickSideEffects:ie,secondaryCTAClickSideEffects:Z}=fe(),{getOpenFlowState:q,setOpenFlowState:Pe}=Ne(),[ae,J]=(0,oe.useState)(r||0),[ve,De]=(0,oe.useState)(!1),Q=d===void 0?q(e):d,xe=s==="modal",{mergeAppearanceWithDefault:W}=le(),{isLarge:M}=ds();if(g=W(g),(0,oe.useEffect)(()=>{z(a)},[a,E]),(0,oe.useEffect)(()=>{d!==void 0&&(xe&&d===!0?re(!0):xe&&d===!1&&re(!1))},[d,F,U]),E)return null;let pe=L(e);if(!pe||D(pe))return null;let K=b(e);if(!K||y===!0&&G(e)===se)return null;let de=O(e);if(de!=null&&de.title&&(t=de.title),de!=null&&de.subtitle&&(o=de.subtitle),!ve&&r===void 0&&S(e)>0){let I=K.findIndex(ne=>ne.complete===!1);J(I>-1?I:K.length-1),De(!0)}function pt(){if(ae+1>=K.length){xe&&Pe(e,!1);return}$(e,K[ae+1].id)||J(ae+1)}function Xe(I,ne,Pt){let _r=ae+1<K.length?K[ae+1]:null;c&&c(I,ae,ne,_r)===!0&&xe&&Je(),C&&C(I,Pt,_r),!C&&!c&&(I.primaryButtonUri||I.secondaryButtonUri)&&xe&&Je()}function kt(){return K.map((I,ne)=>({...I,handleSecondaryButtonClick:()=>{pt(),Z(I),I.skippable===!0&&u(e,I.id,{skipped:!0}),Xe(I,"secondary",ne)},handlePrimaryButtonClick:()=>{(!I.completionCriteria&&(I.autoMarkCompleted||I.autoMarkCompleted===void 0)||I.completionCriteria&&I.autoMarkCompleted===!0)&&(u(e,I.id),pt()),Xe(I,"primary",ne),ie(I),T(e,I.id)===je&&pt()}}))}function V(){return oe.default.createElement(me,{appearance:g})}let ze={steps:kt(),title:t,subtitle:o,primaryColor:g.theme.colorPrimary,appearance:g,customStepTypes:v,type:s,className:n,autoExpandFirstIncompleteStep:B,autoExpandNextStep:h};function Je(){Pe(e,!1),p&&p(),F&&F(!1)}function dr(){return oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(V,null),oe.default.createElement(Vs,{flowId:e,appearance:g,customVariables:a,className:n}))}function f(){return oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(V,null),oe.default.createElement(Er,{visible:Q,onClose:()=>{Je()},selectedStep:ae,setSelectedStep:J,autoExpandNextStep:!0,appearance:g,...ze}))}function w(){if(!M)return f();let I=k.guideFlowId,ne;return I&&L(I)&&(ne=b(I)),oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(V,null),oe.default.createElement(Br,{visible:Q,stepsTitle:de.stepsTitle?de.stepsTitle:"Your quick start guide",onClose:()=>{Je()},selectedStep:ae,setSelectedStep:J,guideData:ne,guideTitle:k.guideTitle??"Guide",appearance:g,title:t,subtitle:o,onGuideButtonClick:Pt=>{Xe(Pt,"link",0)},customStepTypes:v,...ze}))}function A(){if(!M)return f();let I=oe.default.createElement(kr,{flowId:e,style:i,selectedStep:ae,setSelectedStep:J,appearance:g,type:s,...ze});return xe?oe.default.createElement(ht,{onClose:()=>{Je()},visible:Q,appearance:g,style:{paddingTop:"0px",padding:"12px",paddingLeft:0}},oe.default.createElement(V,null),I):oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(V,null),I)}switch(x){case"condensed":return f();case"with-guide":return w();case"default":return A();case"carousel":return dr();default:return A()}};var Gs=e=>js.default.createElement(sr,{type:"inline",...e});var Ke=m(require("react"));var qe=m(require("react"));var vo=m(require("styled-components")),qs=vo.default.div`
|
|
1241
1241
|
border: 1px solid ${e=>e.appearance.theme.colorBorder};
|
|
1242
1242
|
border-radius: 8px;
|
|
1243
1243
|
padding: 6px 10px 6px 10px;
|
|
@@ -1343,7 +1343,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map
|
|
|
1343
1343
|
`,Gp=(0,so.default)(dl)`
|
|
1344
1344
|
width: ${no+12}px;
|
|
1345
1345
|
height: ${no+12}px;
|
|
1346
|
-
`,qp=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:r=!0,primaryColor:n="#000000",offset:s={x:0,y:0},visible:p=!0,containerStyle:d={},selectedStep:a=0,customStepTypes:C,appearance:c,dismissible:g=!1,showHighlightOnly:y,showStepCount:F=!0,completedStepsCount:v=0,showFrigadeBranding:x=!1})=>{var de,pt,Xe,kt;let[B,h]=(0,N.useState)(),[k,L]=(0,N.useState)(new Date),b=(0,N.useRef)(null),[u,T]=(0,N.useState)(document.querySelector(e[a].selector)),S=ll(u,k),[E
|
|
1346
|
+
`,qp=({steps:e=[],onDismiss:t,onComplete:o=()=>{},tooltipPosition:i="auto",showHighlight:r=!0,primaryColor:n="#000000",offset:s={x:0,y:0},visible:p=!0,containerStyle:d={},selectedStep:a=0,customStepTypes:C,appearance:c,dismissible:g=!1,showHighlightOnly:y,showStepCount:F=!0,completedStepsCount:v=0,showFrigadeBranding:x=!1})=>{var de,pt,Xe,kt;let[B,h]=(0,N.useState)(),[k,L]=(0,N.useState)(new Date),b=(0,N.useRef)(null),[u,T]=(0,N.useState)(document.querySelector(e[a].selector)),S=ll(u,k),[E,D]=(0,N.useState)(),[z,O]=(0,N.useState)(!y),$=(pt=(de=e[a])==null?void 0:de.props)!=null&&pt.position?e[a].props.position:"absolute",G=((kt=(Xe=e[a])==null?void 0:Xe.props)==null?void 0:kt.zIndex)??90,U=(B==null?void 0:B.width)??al,re=(B==null?void 0:B.height)??pl;(0,N.useLayoutEffect)(()=>{b.current&&h({width:b.current.clientWidth,height:b.current.clientHeight})},[a,k,$]),(0,N.useEffect)(()=>{y||O(!0)},[a]);let ie=i==="auto"?"right":i,Z=Ar(S,ie,U,s,$),q=S.right+U>(window.innerWidth||document.documentElement.clientWidth),Pe=S.bottom+pl>(window.innerHeight||document.documentElement.clientHeight);q&&i==="auto"&&(Z=Ar(S,"left",U,s,$),ie="left");let ae=window.location.pathname.split("/").pop(),J=()=>{let V=document.querySelector(e[a].selector);if(!V){D(void 0),T(null);return}E&&E===JSON.stringify(V==null?void 0:V.getBoundingClientRect())||(T(V),L(new Date),V&&D(JSON.stringify(V.getBoundingClientRect())))};if((0,N.useEffect)(()=>{let V=new MutationObserver(J);return V.observe(document.body,{subtree:!0,childList:!0}),()=>V.disconnect()},[J]),(0,N.useEffect)(()=>{let V=new MutationObserver(J);return V.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>V.disconnect()},[J]),(0,N.useEffect)(()=>{let V=setInterval(()=>{J()},10);return()=>clearInterval(V)},[J]),(0,N.useLayoutEffect)(()=>{setTimeout(()=>{J()},Wp),J()},[a,ae]),u===null)return N.default.createElement(N.default.Fragment,null);if(Z.x==0&&Z.y==0)return N.default.createElement(N.default.Fragment,null);if(!p)return N.default.createElement(N.default.Fragment,null);let ve=()=>{let V=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),O(!1),setTimeout(()=>{J()},30)),v===e.length-1)return o()},ze=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),y&&!e[a].secondaryButtonUri&&O(!1))};return N.default.createElement(N.default.Fragment,null,F&&e.length>1&&N.default.createElement(ii,null,N.default.createElement(si,{className:l("tooltipStepCounter",c)},a+1," of ",e.length)),N.default.createElement(ni,{showStepCount:F,className:l("tooltipCTAContainer",c)},e[a].secondaryButtonTitle&&N.default.createElement(ce,{title:e[a].secondaryButtonTitle,appearance:c,onClick:ze,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&N.default.createElement(ce,{title:e[a].primaryButtonTitle,appearance:c,onClick:V,withMargin:!1,size:"small"})))},De=()=>N.default.createElement(N.default.Fragment,null,g&&N.default.createElement(ei,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",c)},N.default.createElement($e,null)),e[a].imageUri&&N.default.createElement(ti,{dismissible:g,appearance:c,src:e[a].imageUri,className:l("tooltipImageContainer",c)}),e[a].videoUri&&!e[a].imageUri&&N.default.createElement(oi,{dismissible:g,appearance:c,className:l("tooltipVideoContainer",c)},N.default.createElement(yt,{appearance:c,videoUri:e[a].videoUri})),N.default.createElement(Ae,{appearance:c,title:e[a].title,subtitle:e[a].subtitle,size:"small"}),N.default.createElement(ri,{className:l("tooltipFooter",c)},N.default.createElement(ve,null))),xe={...{default:V=>{var ze;if((ze=e[a])!=null&&ze.StepContent){let Je=e[a].StepContent;return N.default.createElement("div",null,Je)}return N.default.createElement(De,null)}},...C},W=()=>{var V;return e?!((V=e[a])!=null&&V.type)||!xe[e[a].type]?xe.default(e[a]):xe[e[a].type]({stepData:e[a],primaryColor:n}):N.default.createElement(N.default.Fragment,null)};if(y&&e[a].complete===!0)return null;let M={top:(Z==null?void 0:Z.y)-no,left:(ie=="left"?S.x+s.x:(Z==null?void 0:Z.x)-no)??0,cursor:y?"pointer":"default",position:$},pe=()=>{let ze=M.left+(ie=="left"?-U:24);return Math.min(Math.max(ze,20),window.innerWidth-U-20)},K=()=>{y&&(L(new Date),O(!z))};return N.default.createElement(jp,null,N.default.createElement(Gp,{style:M,zIndex:G,className:l("tourHighlightContainer",c)},r&&e[a].showHighlight!==!1&&N.default.createElement(N.default.Fragment,null,N.default.createElement(Vp,{style:{position:$},onClick:K,primaryColor:c.theme.colorPrimary,className:l("tourHighlightInnerCircle",c)}),N.default.createElement(Hp,{style:{position:"absolute"},onClick:K,primaryColor:c.theme.colorPrimary,className:l("tourHighlightOuterCircle",c)}))),N.default.createElement(dl,{style:{...M,left:pe()},zIndex:G+1,className:l("tooltipContainerWrapper",c)},z&&N.default.createElement(N.default.Fragment,null,N.default.createElement(Oo,{ref:b,layoutId:"tooltip-container",style:{position:"relative",width:"max-content",right:0,top:12,...d},appearance:c,className:l("tooltipContainer",c),maxWidth:al,zIndex:G+10},N.default.createElement(W,null)),x&&N.default.createElement(ai,{className:l("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:G+10},N.default.createElement($o,{appearance:c})))))},lr=qp;var cl=require("react-portal");var ml=({flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:r,showTooltipsSimultaneously:n=!1,onDismiss:s,dismissible:p,tooltipPosition:d="auto",showHighlightOnly:a=!1,dismissBehavior:C="complete-flow",onComplete:c,skipIfNotFound:g=!1,...y})=>{let{getFlow:F,getFlowSteps:v,isLoading:x,targetingLogicShouldHideFlow:B,markStepCompleted:h,markStepStarted:k,markFlowCompleted:L,updateCustomVariables:b,getCurrentStepIndex:u,getStepStatus:T,isStepBlocked:S,getFlowStatus:E,getNumberOfStepsCompleted:D}=R(),{isLoadingUserFlowStateData:z}=We(),{primaryCTAClickSideEffects:O,secondaryCTAClickSideEffects:$}=fe(),{hasOpenModals:G}=Ne(),U=u(e),{openFlowStates:re}=(0,Ye.useContext)(Y),{mergeAppearanceWithDefault:ie}=le();if(o=ie(o),(0,Ye.useEffect)(()=>{b(t)},[t,x]),z)return null;let Z=F(e);if(!Z||B(Z)||E(e)==se||G())return null;let q=v(e);if(Object.keys(re).length>0){let W=Object.keys(re).find(M=>re[M]===!0);if(W!==void 0&&W!==e)return Ye.default.createElement(Ye.default.Fragment,null)}async function Pe(W){if(await h(e,W.id),q.map(M=>T(e,M.id)).every(M=>M===je)){await L(e);return}if(!a&&U+1<q.length){if(S(e,q[U+1].id))return;await k(e,q[U+1].id)}}function ae(W,M,pe){let K=U+1<q.length?q[U+1]:null;r&&r(W,U,M,K),i&&i(W,pe,K)}function J(){return q.map(W=>({...W,handleSecondaryButtonClick:async()=>{$(W),W.skippable===!0&&await h(e,W.id,{skipped:!0}),ae(W,"secondary",U)},handlePrimaryButtonClick:async()=>{(!W.completionCriteria&&(W.autoMarkCompleted||W.autoMarkCompleted===void 0)||W.completionCriteria&&W.autoMarkCompleted===!0)&&await Pe(W),ae(W,"primary",U),O(W)}}))}async function ve(W){s&&s(),C==="complete-flow"?await L(e):await h(e,W.id)}function De(){c&&c()}let Q=!document.querySelector(q[U].selector);function xe(){let W=q.findIndex(M=>!!document.querySelector(M.selector));return q.map((M,pe)=>Q&&!n&&pe!==W&&g?null:Ye.default.createElement(lr,{key:M.id,appearance:o,steps:J(),selectedStep:pe,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>ve(M),tooltipPosition:d,showHighlightOnly:a,completedStepsCount:D(e),onComplete:De,...y}))}return Ye.default.createElement(cl.Portal,null,Ye.default.createElement(me,{appearance:o}),n||Q&&g?xe():Ye.default.createElement(lr,{appearance:o,steps:J(),selectedStep:U,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>ve(q[U]),tooltipPosition:d,completedStepsCount:D(e),showHighlightOnly:a,onComplete:De,...y}))};var ue=m(require("react"));var wl=require("react-portal");var Ft=m(require("styled-components"));var ul=Ft.default.button`
|
|
1347
1347
|
${e=>P(e)} {
|
|
1348
1348
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1349
1349
|
|
|
@@ -1599,5 +1599,5 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${po}${r}.${po}${r} { ${Object.entries(n).map
|
|
|
1599
1599
|
opacity: 0.8;
|
|
1600
1600
|
}
|
|
1601
1601
|
}
|
|
1602
|
-
`;var Wl=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:d,markFlowCompleted:a,markStepCompleted:C,getNumberOfStepsCompleted:c,isLoading:g,targetingLogicShouldHideFlow:y,updateCustomVariables:F,getFlowSteps:v,getFlowStatus:x,getCurrentStepIndex:B}=R(),{primaryCTAClickSideEffects:h}=fe(),{mergeAppearanceWithDefault:k}=le(),[L,b]=j.default.useState(null),[u,T]=j.default.useState(""),{hasOpenModals:S,setKeepCompletedFlowOpenDuringSession:E,shouldKeepCompletedFlowOpenDuringSession
|
|
1602
|
+
`;var Wl=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:d,markFlowCompleted:a,markStepCompleted:C,getNumberOfStepsCompleted:c,isLoading:g,targetingLogicShouldHideFlow:y,updateCustomVariables:F,getFlowSteps:v,getFlowStatus:x,getCurrentStepIndex:B}=R(),{primaryCTAClickSideEffects:h}=fe(),{mergeAppearanceWithDefault:k}=le(),[L,b]=j.default.useState(null),[u,T]=j.default.useState(""),{hasOpenModals:S,setKeepCompletedFlowOpenDuringSession:E,shouldKeepCompletedFlowOpenDuringSession:D}=Ne();if(r=k(r),(0,j.useEffect)(()=>{F(o)},[o,g]),g)return null;let z=d(e);if(!z||y(z)||x(e)===se||c(e)===1&&!D(e)||S())return null;let $=v(e)[B(e)];function G(){return j.default.createElement(j.default.Fragment,null,j.default.createElement(Ur,null,j.default.createElement(Ae,{size:"large",appearance:r,title:$.title,subtitle:$.subtitle})),j.default.createElement($r,{className:l("npsNumberButtonContainer",r),appearance:r},Array.from(Array(10).keys()).map(ie=>j.default.createElement($l,{className:l("npsNumberButton",r),selected:L===ie+1,key:ie,onClick:async()=>{E(e),b(ie+1),await C(e,$.id,{score:ie+1})},appearance:r},ie+1))),j.default.createElement(Ml,{appearance:r},j.default.createElement(Mr,{appearance:r},"Not likely at all"),j.default.createElement(Mr,{appearance:r},"Extremely likely")))}function U(){return j.default.createElement(j.default.Fragment,null,j.default.createElement(Ur,null,j.default.createElement(Ae,{appearance:r,title:"Why did you choose this score?",size:"large"})),j.default.createElement(Ul,{appearance:r,value:u,onChange:ie=>{T(ie.target.value)},placeHolder:"Add your optional fedback here..."}),j.default.createElement($r,{appearance:r,className:l("npsNumberButtonContainer",r)},j.default.createElement(ce,{size:"large",withMargin:!1,onClick:async()=>{await a(e),i&&i($,1,"primary")},appearance:r,title:$.secondaryButtonTitle||"Skip",secondary:!0}),j.default.createElement(ce,{size:"large",withMargin:!1,onClick:async()=>{await C(e,$.id,{feedbackText:u}),await a(e),i&&i($,1,"primary")},appearance:r,title:$.primaryButtonTitle||"Submit"})))}function re(){return j.default.createElement(j.default.Fragment,null,j.default.createElement(me,{appearance:r}),j.default.createElement(Dl,{appearance:r,className:Ee(l("npsSurveyContainer",r),n),style:s,type:p},j.default.createElement(zl,{onClick:async()=>{await a(e),t&&t()},className:l("npsSurveyDismissButton",r)},j.default.createElement($e,null)),c(e)==0&&G(),c(e)==1&&U()))}return p==="inline"?re():j.default.createElement(_l.Portal,null,re())};var pr=m(require("react"));var zr=m(require("react"));var Hl=({as:e="span",children:t,variant:o="Body1",...i})=>zr.default.createElement(nn,{color:"neutral.foreground",fontFamily:"default",forwardedAs:e,variant:o,...i},t),Kp=Object.fromEntries(Object.keys(Zo).map(e=>{let t=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():void 0,o=i=>zr.default.createElement(Hl,{as:t,...i,variant:e},i.children);return o.displayName=`Text.${e}`,[e,o]})),ar=Object.assign(Hl,Kp);var Vl=({as:e="button",className:t,size:o="md",title:i,variant:r="Primary",...n})=>{var s;return pr.createElement(on,{className:`fr-button-${r.toLowerCase()}${t?` ${t}`:""}`,forwardedAs:e,variant:r,size:o,borderRadius:"md",...n},pr.createElement(ar,{color:(s=bo[r])==null?void 0:s.color,fontWeight:"semibold"},i))},Yp=Object.fromEntries(Object.keys(bo).map(e=>{let t=o=>pr.createElement(Vl,{...o,variant:e});return t.displayName=`Button.${e}`,[e,t]})),jl=Object.assign(Vl,Yp);0&&(module.exports={Button,CheckBox,FormLabel,FormTextField,FrigadeBanner,FrigadeChecklist,FrigadeDefaultAppearance,FrigadeEmbeddedTip,FrigadeForm,FrigadeGuide,FrigadeHeroChecklist,FrigadeNPSSurvey,FrigadeProgressBadge,FrigadeProvider,FrigadeSupportWidget,FrigadeTour,ProgressRing,Text,tokens,useFlowOpens,useFlowResponses,useFlows,useOrganization,useUser});
|
|
1603
1603
|
//# sourceMappingURL=index.js.map
|