@frigade/react 1.33.19 → 1.33.20
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.d.ts +22 -1
- package/lib/index.js +15 -15
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +11 -11
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import{ThemeProvider as Bp}from"styled-components";import ht,{useContext as op,useEffect as Bo,useState as ar}from"react";import{useCallback as ft,useContext as Fl,useEffect as kl}from"react";import Vo,{useMemo as Er}from"react";var Br="1.33.19 ";var Ie="NOT_STARTED_STEP",R="COMPLETED_FLOW",co="ABORTED_FLOW",ut="STARTED_FLOW",$e="NOT_STARTED_FLOW",Me="COMPLETED_STEP",mo="STARTED_STEP";function _e(){let{publicApiKey:e,userId:t,apiUrl:o}=Vo.useContext(G);return{config:Er(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Br,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Er(()=>`${o}/v1/public/`,[o])}}var ml="frigade-last-call-at-",ul="frigade-last-call-data-";function kt(){let{shouldGracefullyDegrade:e,readonly:t}=Vo.useContext(G);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Ft();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Ft();let r=ml+o,n=ul+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),c=window.localStorage.getItem(n);if(p&&c&&c==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Ft()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Ft(p)}return s?s.ok?s:Ft(s.statusText):Ft()}}function Ft(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Pt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Vo.useContext(G);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as bl,useState as Ar}from"react";import{useContext as gl,useEffect as xl,useState as hl}from"react";import Cl from"swr";import{useContext as fl}from"react";function Be(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=fl(G);function n(d,g=!1){return e[d]??g}function s(d,g){t(C=>({...C,[d]:g}))}function p(d){t(g=>{let{[d]:C,...b}=g;return{...b}})}function c(d){r.includes(d)||i(g=>[...g,d])}function a(d){return r.includes(d)}function h(d){return Object.entries(e).some(([g,C])=>C&&g!=d)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}import yl from"swr/immutable";var Sl="unknown";function Ne(){let{config:e,apiUrl:t}=_e(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=gl(G),{resetOpenFlowState:c}=Be(),[a,h]=hl(!1),d={data:n.map(y=>({flowId:y.id,flowState:R,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=y=>fetch(y,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${y}: ${P}. Will gracefully degrade and hide Frigade`),s(!0),d)),C=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:b,isLoading:k,mutate:u,error:B}=p?yl(C,g):Cl(C,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>d,onLoadingSlow:()=>d}),x=b==null?void 0:b.data;xl(()=>{!a&&!k&&x&&h(!0)},[x,a,k]);async function F(y){if(x&&!p){let P=x.find(O=>O.flowId===y);P&&P.flowState!==R&&(P.flowState=R),await u(Promise.resolve({...b,data:x}),{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function N(y,P,O){if(x){let I=x.find(D=>D.flowId===y);I&&(I.stepStates[P]=O,I.flowState=ut),await u(Promise.resolve({...b,data:x}),{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function T(y,P,O){if(x){let I=x.find(D=>D.flowId===y);I&&(I.lastStepId=P,I.stepStates[P]=O,I.flowState=ut),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function m(y){if(x){let P=x.find(O=>O.flowId===y);P&&P.flowState!==$e&&(P.flowState=$e,P.lastStepId=Sl,Object.keys(P.stepStates).forEach(O=>{P.stepStates[O].actionType=Ie,P.stepStates[O].createdAt=new Date().toISOString()}),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1}),c(y))}}async function w(y,P){if(x){let O=x.find(I=>I.flowId===y);O&&O.stepStates[P]!==Ie&&(O.stepStates[P]=Ie),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:x,isLoadingUserFlowStateData:!a,mutateUserFlowState:u,optimisticallyMarkFlowCompleted:F,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:T,error:B}}function jt(){let{config:e,apiUrl:t}=_e(),{userFlowStatesData:o,mutateUserFlowState:i}=Ne(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=bl(G),[c,a]=Ar(new Set),[h,d]=Ar(new Set),g=kt();function C(u){let B=JSON.stringify(u);if(c.has(B))return null;c.add(B),a(c),h.add(u),d(h);let x=s==null?void 0:s.find(F=>F.flowSlug===u.flowSlug&&F.stepId===u.stepId&&F.actionType===u.actionType&&F.createdAt===u.createdAt);return g(`${t}flowResponses`,{...e,method:"POST",body:B}).then(F=>{F.status!==200&&F.status!==201?(console.log("Failed to send flow response for step "+u.stepId+". Will retry again later."),n([...r,u])):x||p(N=>[...N??[],u])})}async function b(u){u.foreignUserId&&(u.actionType===ut||u.actionType===$e?await C(u):u.actionType===R?await C(u):u.actionType===mo?await C(u):u.actionType===Me?await C(u):u.actionType===co?await C(u):u.actionType===Ie&&await C(u))}function k(){let u=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let x in B.stepStates){let F=B.stepStates[x];u.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:F.stepId,actionType:F.actionType,data:{},createdAt:new Date(F.createdAt),blocked:F.blocked,hidden:F.hidden})}}),[...u,...s]}return{addResponse:b,setFlowResponses:p,getFlowResponses:k}}import Pl from"swr";var wl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ir=e=>{let t=wl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=Tl(i,"'","");n.startsWith("flow_")&&(o=n)}),o},Tl=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function ee(){let{config:e,apiUrl:t}=_e(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,setFlowResponses:h,setShouldGracefullyDegrade:d,readonly:g}=Fl(G),C={data:[]},{verifySDKInitiated:b}=Pt(),{addResponse:k,getFlowResponses:u}=jt(),B=f=>fetch(f,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${f} (${S.status}): ${S.statusText}. .Will gracefully degrade and hide Frigade`),d(!0),C)).catch(S=>(console.log(`Error fetching ${f}: ${S}. Will gracefully degrade and hide Frigade`),d(!0),C)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowNotStarted:T,optimisticallyMarkStepCompleted:m,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:y}=Ne(),{data:P,error:O,isLoading:I}=Pl(n?`${t}flows${g?"?readonly=true":""}`:null,B,{keepPreviousData:!0});kl(()=>{if(O){console.error(O);return}P&&P.data&&i(P.data)},[P,O]);function D(f){if(I)return null;let S=o.find(E=>E.slug===f);return!S&&o.length>0&&!F&&!I?(console.log(`Flow with slug ${f} not found`),null):(S==null?void 0:S.active)===!1?null:S}function L(f){var A;if(!D(f))return[];let S=D(f).data;return S?(S=_(S),(((A=JSON.parse(S))==null?void 0:A.data)??[]).map(Z=>{let mt=de(Z);return{handleSecondaryButtonClick:()=>{Z.skippable===!0&&q(f,Z.id,{skipped:!0})},...Z,complete:Q(f,Z.id)===Me||mt>=1,blocked:M(f,Z.id),hidden:$(f,Z.id),handlePrimaryButtonClick:()=>{(!Z.completionCriteria&&(Z.autoMarkCompleted||Z.autoMarkCompleted===void 0)||Z.completionCriteria&&Z.autoMarkCompleted===!0)&&q(f,Z.id)},progress:mt}}).filter(Z=>Z.hidden!==!0)):[]}function _(f){return f.replaceAll(/\${(.*?)}/g,(S,E)=>s[E]===void 0?"":String(s[E]).replace(/[\u00A0-\u9999<>\&]/g,function(A){return"&#"+A.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 H(f){if(!D(f))return[];let S=D(f).data;return S?(S=_(S),JSON.parse(S)??{}):[]}function X(f,S){p(E=>({...E,[f]:S}))}function se(f){!F&&!I&&f&&JSON.stringify(s)!=JSON.stringify({...s,...f})&&Object.keys(f).forEach(S=>{X(S,f[S])})}let K=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:mo,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await y(f,S,A),k(A))},[r,x]),V=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:Ie,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await w(f,S),k(A))},[r,x]),q=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:Me,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await m(f,S,A),k(A))},[r,x]),J=ft(async(f,S)=>{if(!b()||te(f)===$e)return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:$e,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};await T(f),re(E)&&k(E)},[r,x]),Ce=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:ut,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&k(E)},[r,x]),ve=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:R,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&(await N(f),k(E))},[r,x]),ye=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:co,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&(await N(f),k(E))},[r,x]);function re(f){var S;if(!x&&f.actionType===Ie)return!1;if(x){let E=x.find(A=>A.flowId===f.flowSlug);if(f.actionType===Ie&&(!(E!=null&&E.stepStates[f.stepId])||E.stepStates[f.stepId].actionType===Ie)||E&&((S=E.stepStates[f.stepId])==null?void 0:S.actionType)===f.actionType||E&&E.flowState===R&&f.actionType===R)return!1}return!0}function Q(f,S){let E=Se(f,S);return F?null:E?E.actionType:Ie}function M(f,S){let E=Se(f,S);return E?E.blocked:!1}function $(f,S){let E=Se(f,S);return E?E.hidden:!1}function Se(f,S){if(F)return null;let E=x==null?void 0:x.find(A=>A.flowId===f);return!E||!E.stepStates[S]?null:E.stepStates[S]??null}function me(f){var E;if(F||!x)return null;if(te(f)===$e)return L(f)[0]??null;let S=(E=x.find(A=>A.flowId===f))==null?void 0:E.lastStepId;return S?L(f).find(A=>A.id===S):null}function z(f){let S=me(f);if(!S)return 0;let E=L(f).findIndex(A=>A.id===S.id)??0;return Q(f,S.id)===Me&&E<L(f).length-1?E+1:E}function de(f){if(!f.completionCriteria)return;let S=Ir(f.completionCriteria);if(S===null)return;let E=be(S),A=De(S);return A===0?void 0:E/A}function te(f){let S=x==null?void 0:x.find(E=>E.flowId===f);return S?S.flowState:null}function be(f){let S=L(f);return S.length===0?0:S.filter(A=>Q(f,A.id)===Me).length}function De(f){return L(f).length}function j(f){let S=o.find(E=>E.slug===f);return S?JSON.parse(S.data):null}function xe(f){if(g)return!1;if(F)return!0;if(f!=null&&f.targetingLogic&&x){let S=x.find(E=>E.flowId===f.slug);if(S)return S.shouldTrigger===!1}return!!(f!=null&&f.targetingLogic&&r&&r.startsWith("guest_"))}function Vt(f){return!xe(D(f))}return{getFlow:D,getFlowData:j,isLoading:F||I,getStepStatus:Q,getFlowSteps:L,getCurrentStepIndex:z,markStepStarted:K,markStepCompleted:q,markFlowNotStarted:J,markFlowStarted:Ce,markFlowCompleted:ve,markFlowAborted:ye,markStepNotStarted:V,getFlowStatus:te,getNumberOfStepsCompleted:be,getNumberOfSteps:De,targetingLogicShouldHideFlow:xe,setCustomVariable:X,updateCustomVariables:se,customVariables:s,getStepOptionalProgress:de,getFlowMetadata:H,isStepBlocked:M,isStepHidden:$,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,isFlowAvailableToUser:Vt}}import{useCallback as Nr,useContext as vl,useEffect as Bl}from"react";var vt="guest_";function Gt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=vl(G),{config:n,apiUrl:s}=_e(),{mutateUserFlowState:p}=Ne(),c=kt(),{verifySDKInitiated:a}=Pt();Bl(()=>{if(e&&!t){if(e.startsWith(vt))return;let g=`frigade-user-registered-${e}`;localStorage.getItem(g)||(c(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(g,"true"))}},[e,r,t]);let h=Nr(async g=>{if(!a())return;let C={foreignId:e,properties:g};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(C)}),i(b=>({...b,...g})),p()},[e,n,r,p]),d=Nr(async(g,C)=>{if(!a())return;let k={foreignId:e,events:[{event:g,properties:C}]};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(k)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:h,trackEventForUser:d}}import{v4 as rp}from"uuid";import He,{useEffect as Za,useState as Ra}from"react";import Ue,{useEffect as Dl}from"react";import go from"styled-components";import El from"react";import Al from"styled-components";var Or="fr-",qt="cfr-";function l(e,t){let o=`${Or}${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+" "+qt+e}return o}function v(e){if(!e.className||e.className.indexOf(qt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Or)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function jo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ge(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${jo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function we(...e){return e.filter(Boolean).join(" ")}function Kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Il=Al.div`
|
|
2
|
+
import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import{ThemeProvider as Bp}from"styled-components";import ht,{useContext as op,useEffect as Bo,useState as ar}from"react";import{useCallback as ft,useContext as Fl,useEffect as kl}from"react";import Vo,{useMemo as Er}from"react";var Br="1.33.20 ";var Ne="NOT_STARTED_STEP",R="COMPLETED_FLOW",co="ABORTED_FLOW",ut="STARTED_FLOW",$e="NOT_STARTED_FLOW",Me="COMPLETED_STEP",mo="STARTED_STEP";function _e(){let{publicApiKey:e,userId:t,apiUrl:o}=Vo.useContext(G);return{config:Er(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Br,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Er(()=>`${o}/v1/public/`,[o])}}var ml="frigade-last-call-at-",ul="frigade-last-call-data-";function kt(){let{shouldGracefullyDegrade:e,readonly:t}=Vo.useContext(G);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Ft();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Ft();let r=ml+o,n=ul+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),c=window.localStorage.getItem(n);if(p&&c&&c==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Ft()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Ft(p)}return s?s.ok?s:Ft(s.statusText):Ft()}}function Ft(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Pt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Vo.useContext(G);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as bl,useState as Ar}from"react";import{useContext as gl,useEffect as xl,useState as hl}from"react";import Cl from"swr";import{useContext as fl}from"react";function Be(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=fl(G);function n(d,g=!1){return e[d]??g}function s(d,g){t(C=>({...C,[d]:g}))}function p(d){t(g=>{let{[d]:C,...b}=g;return{...b}})}function c(d){r.includes(d)||i(g=>[...g,d])}function a(d){return r.includes(d)}function h(d){return Object.entries(e).some(([g,C])=>C&&g!=d)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}import yl from"swr/immutable";var Sl="unknown";function Ee(){let{config:e,apiUrl:t}=_e(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=gl(G),{resetOpenFlowState:c}=Be(),[a,h]=hl(!1),d={data:n.map(y=>({flowId:y.id,flowState:R,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},g=y=>fetch(y,e).then(P=>{if(P.ok)return P.json();throw new Error("Failed to fetch user flow states")}).catch(P=>(console.log(`Error fetching ${y}: ${P}. Will gracefully degrade and hide Frigade`),s(!0),d)),C=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:b,isLoading:k,mutate:u,error:B}=p?yl(C,g):Cl(C,g,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>d,onLoadingSlow:()=>d}),x=b==null?void 0:b.data;xl(()=>{!a&&!k&&x&&h(!0)},[x,a,k]);async function F(y){if(x&&!p){let P=x.find(O=>O.flowId===y);P&&P.flowState!==R&&(P.flowState=R),await u(Promise.resolve({...b,data:x}),{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function N(y,P,O){if(x){let I=x.find(D=>D.flowId===y);I&&(I.stepStates[P]=O,I.flowState=ut),await u(Promise.resolve({...b,data:x}),{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function T(y,P,O){if(x){let I=x.find(D=>D.flowId===y);I&&(I.lastStepId=P,I.stepStates[P]=O,I.flowState=ut),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}async function m(y){if(x){let P=x.find(O=>O.flowId===y);P&&P.flowState!==$e&&(P.flowState=$e,P.lastStepId=Sl,Object.keys(P.stepStates).forEach(O=>{P.stepStates[O].actionType=Ne,P.stepStates[O].createdAt=new Date().toISOString()}),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1}),c(y))}}async function w(y,P){if(x){let O=x.find(I=>I.flowId===y);O&&O.stepStates[P]!==Ne&&(O.stepStates[P]=Ne),await u({...b,data:x},{optimisticData:{...b,data:x},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:x,isLoadingUserFlowStateData:!a,mutateUserFlowState:u,optimisticallyMarkFlowCompleted:F,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:N,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:T,error:B}}function jt(){let{config:e,apiUrl:t}=_e(),{userFlowStatesData:o,mutateUserFlowState:i}=Ee(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=bl(G),[c,a]=Ar(new Set),[h,d]=Ar(new Set),g=kt();function C(u){let B=JSON.stringify(u);if(c.has(B))return null;c.add(B),a(c),h.add(u),d(h);let x=s==null?void 0:s.find(F=>F.flowSlug===u.flowSlug&&F.stepId===u.stepId&&F.actionType===u.actionType&&F.createdAt===u.createdAt);return g(`${t}flowResponses`,{...e,method:"POST",body:B}).then(F=>{F.status!==200&&F.status!==201?(console.log("Failed to send flow response for step "+u.stepId+". Will retry again later."),n([...r,u])):x||p(N=>[...N??[],u])})}async function b(u){u.foreignUserId&&(u.actionType===ut||u.actionType===$e?await C(u):u.actionType===R?await C(u):u.actionType===mo?await C(u):u.actionType===Me?await C(u):u.actionType===co?await C(u):u.actionType===Ne&&await C(u))}function k(){let u=[];return o==null||o.forEach(B=>{if(B&&B.stepStates&&Object.keys(B.stepStates).length!==0)for(let x in B.stepStates){let F=B.stepStates[x];u.push({foreignUserId:B.foreignUserId,flowSlug:B.flowId,stepId:F.stepId,actionType:F.actionType,data:{},createdAt:new Date(F.createdAt),blocked:F.blocked,hidden:F.hidden})}}),[...u,...s]}return{addResponse:b,setFlowResponses:p,getFlowResponses:k}}import Pl from"swr";var wl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ir=e=>{let t=wl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=Tl(i,"'","");n.startsWith("flow_")&&(o=n)}),o},Tl=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function ee(){let{config:e,apiUrl:t}=_e(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,setFlowResponses:h,setShouldGracefullyDegrade:d,readonly:g}=Fl(G),C={data:[]},{verifySDKInitiated:b}=Pt(),{addResponse:k,getFlowResponses:u}=jt(),B=f=>fetch(f,e).then(S=>S.ok?S.json():(console.log(`Error fetching ${f} (${S.status}): ${S.statusText}. .Will gracefully degrade and hide Frigade`),d(!0),C)).catch(S=>(console.log(`Error fetching ${f}: ${S}. Will gracefully degrade and hide Frigade`),d(!0),C)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:N,optimisticallyMarkFlowNotStarted:T,optimisticallyMarkStepCompleted:m,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:y}=Ee(),{data:P,error:O,isLoading:I}=Pl(n?`${t}flows${g?"?readonly=true":""}`:null,B,{keepPreviousData:!0});kl(()=>{if(O){console.error(O);return}P&&P.data&&i(P.data)},[P,O]);function D(f){if(I)return null;let S=o.find(E=>E.slug===f);return!S&&o.length>0&&!F&&!I?(console.log(`Flow with slug ${f} not found`),null):(S==null?void 0:S.active)===!1?null:S}function L(f){var A;if(!D(f))return[];let S=D(f).data;return S?(S=_(S),(((A=JSON.parse(S))==null?void 0:A.data)??[]).map(Z=>{let mt=de(Z);return{handleSecondaryButtonClick:()=>{Z.skippable===!0&&q(f,Z.id,{skipped:!0})},...Z,complete:Q(f,Z.id)===Me||mt>=1,blocked:M(f,Z.id),hidden:$(f,Z.id),handlePrimaryButtonClick:()=>{(!Z.completionCriteria&&(Z.autoMarkCompleted||Z.autoMarkCompleted===void 0)||Z.completionCriteria&&Z.autoMarkCompleted===!0)&&q(f,Z.id)},progress:mt}}).filter(Z=>Z.hidden!==!0)):[]}function _(f){return f.replaceAll(/\${(.*?)}/g,(S,E)=>s[E]===void 0?"":String(s[E]).replace(/[\u00A0-\u9999<>\&]/g,function(A){return"&#"+A.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 H(f){if(!D(f))return[];let S=D(f).data;return S?(S=_(S),JSON.parse(S)??{}):[]}function X(f,S){p(E=>({...E,[f]:S}))}function se(f){!F&&!I&&f&&JSON.stringify(s)!=JSON.stringify({...s,...f})&&Object.keys(f).forEach(S=>{X(S,f[S])})}let K=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:mo,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await y(f,S,A),k(A))},[r,x]),V=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:Ne,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await w(f,S),k(A))},[r,x]),q=ft(async(f,S,E)=>{if(!b())return;let A={foreignUserId:r,flowSlug:f,stepId:S,actionType:Me,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};re(A)&&(await m(f,S,A),k(A))},[r,x]),J=ft(async(f,S)=>{if(!b()||te(f)===$e)return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:$e,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};await T(f),re(E)&&k(E)},[r,x]),Ce=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:ut,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&k(E)},[r,x]),ve=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:R,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&(await N(f),k(E))},[r,x]),ye=ft(async(f,S)=>{if(!b())return;let E={foreignUserId:r,flowSlug:f,stepId:"unknown",actionType:co,data:S??{},createdAt:new Date,blocked:!1,hidden:!1};re(E)&&(await N(f),k(E))},[r,x]);function re(f){var S;if(!x&&f.actionType===Ne)return!1;if(x){let E=x.find(A=>A.flowId===f.flowSlug);if(f.actionType===Ne&&(!(E!=null&&E.stepStates[f.stepId])||E.stepStates[f.stepId].actionType===Ne)||E&&((S=E.stepStates[f.stepId])==null?void 0:S.actionType)===f.actionType||E&&E.flowState===R&&f.actionType===R)return!1}return!0}function Q(f,S){let E=Se(f,S);return F?null:E?E.actionType:Ne}function M(f,S){let E=Se(f,S);return E?E.blocked:!1}function $(f,S){let E=Se(f,S);return E?E.hidden:!1}function Se(f,S){if(F)return null;let E=x==null?void 0:x.find(A=>A.flowId===f);return!E||!E.stepStates[S]?null:E.stepStates[S]??null}function me(f){var E;if(F||!x)return null;if(te(f)===$e)return L(f)[0]??null;let S=(E=x.find(A=>A.flowId===f))==null?void 0:E.lastStepId;return S?L(f).find(A=>A.id===S):null}function z(f){let S=me(f);if(!S)return 0;let E=L(f).findIndex(A=>A.id===S.id)??0;return Q(f,S.id)===Me&&E<L(f).length-1?E+1:E}function de(f){if(!f.completionCriteria)return;let S=Ir(f.completionCriteria);if(S===null)return;let E=be(S),A=De(S);return A===0?void 0:E/A}function te(f){let S=x==null?void 0:x.find(E=>E.flowId===f);return S?S.flowState:null}function be(f){let S=L(f);return S.length===0?0:S.filter(A=>Q(f,A.id)===Me).length}function De(f){return L(f).length}function j(f){let S=o.find(E=>E.slug===f);return S?JSON.parse(S.data):null}function xe(f){if(g)return!1;if(F)return!0;if(f!=null&&f.targetingLogic&&x){let S=x.find(E=>E.flowId===f.slug);if(S)return S.shouldTrigger===!1}return!!(f!=null&&f.targetingLogic&&r&&r.startsWith("guest_"))}function Vt(f){return!xe(D(f))}return{getFlow:D,getFlowData:j,isLoading:F||I,getStepStatus:Q,getFlowSteps:L,getCurrentStepIndex:z,markStepStarted:K,markStepCompleted:q,markFlowNotStarted:J,markFlowStarted:Ce,markFlowCompleted:ve,markFlowAborted:ye,markStepNotStarted:V,getFlowStatus:te,getNumberOfStepsCompleted:be,getNumberOfSteps:De,targetingLogicShouldHideFlow:xe,setCustomVariable:X,updateCustomVariables:se,customVariables:s,getStepOptionalProgress:de,getFlowMetadata:H,isStepBlocked:M,isStepHidden:$,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,isFlowAvailableToUser:Vt}}import{useCallback as Nr,useContext as vl,useEffect as Bl}from"react";var vt="guest_";function Gt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=vl(G),{config:n,apiUrl:s}=_e(),{mutateUserFlowState:p}=Ee(),c=kt(),{verifySDKInitiated:a}=Pt();Bl(()=>{if(e&&!t){if(e.startsWith(vt))return;let g=`frigade-user-registered-${e}`;localStorage.getItem(g)||(c(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(g,"true"))}},[e,r,t]);let h=Nr(async g=>{if(!a())return;let C={foreignId:e,properties:g};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(C)}),i(b=>({...b,...g})),p()},[e,n,r,p]),d=Nr(async(g,C)=>{if(!a())return;let k={foreignId:e,events:[{event:g,properties:C}]};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(k)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:h,trackEventForUser:d}}import{v4 as rp}from"uuid";import He,{useEffect as Za,useState as Ra}from"react";import Ue,{useEffect as Dl}from"react";import go from"styled-components";import El from"react";import Al from"styled-components";var Or="fr-",qt="cfr-";function l(e,t){let o=`${Or}${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+" "+qt+e}return o}function v(e){if(!e.className||e.className.indexOf(qt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Or)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function jo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Ge(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${jo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function we(...e){return e.filter(Boolean).join(" ")}function Kt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Il=Al.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -27,7 +27,7 @@ import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import
|
|
|
27
27
|
:hover {
|
|
28
28
|
opacity: 0.8;
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,Ae=()=>Go.createElement(Ol,null,Go.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"none",viewBox:"0 0 20 20"},Go.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",d:"M5 15L15 5M5 5l10 10"})));import{Portal as $l}from"react-portal";import qr from"react";import qo from"react";function Ll({style:e,className:t}){return qo.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"54",height:"14",fill:"none",viewBox:"0 0 54 14",style:e,className:t},qo.createElement("path",{fill:"currentColor",d:"M16.293 3.476v1.036h1.593v1.256h-1.593v5.098h-1.41V5.768H14V4.512h.883V3.244c0-.67.294-1.744 1.777-1.744.515 0 .969.049 1.361.146l-.233 1.232a5.939 5.939 0 00-.833-.073c-.442 0-.662.22-.662.67zm6.534.975V5.83c-.846 0-1.63.159-2.342.476v4.56h-1.41V4.513h1.263l.086.61c.846-.451 1.655-.67 2.403-.67zm2.505-.951c-.331.33-.944.33-1.287 0a.93.93 0 01-.246-.659c0-.268.086-.487.246-.646.343-.33.956-.33 1.287 0 .343.33.343.964 0 1.305zm.061 7.366h-1.41V4.512h1.41v6.354zm6.928-5.756c.246.146.368.402.368.756v4.976c0 1.804-.858 2.658-2.672 2.658-.92 0-1.753-.146-2.514-.439l.417-1.073c.674.22 1.336.33 1.974.33.98 0 1.385-.379 1.385-1.403v-.171c-.588.134-1.09.207-1.52.207-.907 0-1.655-.305-2.231-.902-.576-.598-.87-1.39-.87-2.354 0-.963.294-1.756.87-2.354.576-.61 1.324-.914 2.231-.914 1.005 0 1.864.232 2.562.683zm-2.488 4.634a5.15 5.15 0 001.446-.22V5.951a3.695 3.695 0 00-1.446-.292c-1.08 0-1.778.841-1.778 2.048 0 1.22.699 2.037 1.778 2.037zm7.34-5.317c1.52 0 2.28.878 2.28 2.634v3.805h-1.275l-.073-.524c-.601.414-1.288.621-2.084.621-1.263 0-2.06-.658-2.06-1.731 0-1.269 1.25-2.025 3.408-2.025.135 0 .503.013.662.013v-.171c0-1.012-.343-1.451-1.115-1.451-.675 0-1.435.158-2.256.475l-.466-1.012c1.017-.427 2.01-.634 2.979-.634zm-1.839 4.756c0 .427.343.695 1.017.695.528 0 1.251-.22 1.68-.512V8.22h-.441c-1.508 0-2.256.317-2.256.963zm9.953-4.549v-2.83h1.41v7.72c0 .354-.123.598-.368.757-.71.45-1.57.67-2.562.67-.907 0-1.655-.305-2.231-.902-.577-.61-.87-1.39-.87-2.354 0-.963.293-1.756.87-2.354.576-.61 1.324-.914 2.23-.914.43 0 .933.073 1.521.207zM43.84 9.72c.503 0 .981-.098 1.447-.293V5.854a5.15 5.15 0 00-1.447-.22c-1.078 0-1.777.817-1.777 2.037s.699 2.049 1.777 2.049zM54 7.866v.439h-4.573c.184.963.858 1.512 1.827 1.512.613 0 1.275-.146 1.986-.451l.466 1.024c-.87.378-1.729.573-2.575.573-.931 0-1.692-.304-2.268-.902-.576-.61-.87-1.402-.87-2.366 0-.975.294-1.768.87-2.366.576-.597 1.324-.902 2.244-.902.968 0 1.691.33 2.17.975.478.647.723 1.464.723 2.464zm-4.61-.586h3.298c-.086-1.073-.613-1.731-1.581-1.731-.969 0-1.582.695-1.717 1.731z"}),qo.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M1.196 1.229A4.009 4.009 0 014.08 0l4.092.027C9.183.027 10 .867 10 1.904c0 .6-.273 1.133-.7 1.478-.31.25-.7.399-1.126.4h-.001l-4.09-.027h-.002a4.804 4.804 0 00-2.614.77A4.986 4.986 0 000 5.974v-1.78C0 3.036.456 1.988 1.196 1.23zm4.525 4.65a4.282 4.282 0 00-1.184 2.513l3.637.023c.131 0 .259-.015.382-.042h.002c.81-.178 1.42-.908 1.44-1.788v-.046a1.9 1.9 0 00-.533-1.328 1.813 1.813 0 00-.908-.508h-.002l-.002-.001a1.68 1.68 0 00-.366-.042A4.084 4.084 0 005.72 5.88zm-4.525-.016A4.235 4.235 0 000 8.829C0 10.997 1.601 12.78 3.654 13V9.265h-.005l.005-.439v-.437h.023a5.175 5.175 0 011.439-3.13 5.05 5.05 0 01.72-.614l-1.754-.011H4.08c-.787 0-1.521.229-2.144.625a4.11 4.11 0 00-.74.603z",clipRule:"evenodd"}))}var Dr=Ll;import Ko from"styled-components";import et from"styled-components";var uo=et.div`
|
|
31
31
|
${e=>v(e)} {
|
|
32
32
|
background: ${e=>e.appearance.theme.colorBackground};
|
|
33
33
|
}
|
|
@@ -187,7 +187,7 @@ import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import
|
|
|
187
187
|
::-webkit-scrollbar {
|
|
188
188
|
display: none;
|
|
189
189
|
}
|
|
190
|
-
`,tt=({onClose:e,visible:t,headerContent:o=null,style:i=null,children:r,appearance:n,dismissible:s=!0,showFrigadeBranding:p=!1})=>(Dl(()=>{let c=a=>{a.key==="Escape"&&e()};return document.addEventListener("keydown",c),t?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset",document.removeEventListener("keydown",c)}},[e,t]),t?Ue.createElement($l,null,Ue.createElement(Lr,{appearance:n,onClose:()=>{s&&e()}}),Ue.createElement(Ml,{appearance:n,className:l("modalContainer",n),styleOverrides:i},s&&Ue.createElement(zl,{className:l("modalClose",n),onClick:()=>e(),appearance:n},Ue.createElement(
|
|
190
|
+
`,tt=({onClose:e,visible:t,headerContent:o=null,style:i=null,children:r,appearance:n,dismissible:s=!0,showFrigadeBranding:p=!1})=>(Dl(()=>{let c=a=>{a.key==="Escape"&&e()};return document.addEventListener("keydown",c),t?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset",document.removeEventListener("keydown",c)}},[e,t]),t?Ue.createElement($l,null,Ue.createElement(Lr,{appearance:n,onClose:()=>{s&&e()}}),Ue.createElement(Ml,{appearance:n,className:l("modalContainer",n),styleOverrides:i},s&&Ue.createElement(zl,{className:l("modalClose",n),onClick:()=>e(),appearance:n},Ue.createElement(Ae,null)),o&&Ue.createElement(Ul,null,o),Ue.createElement(_l,null,r),p&&Ue.createElement(Vr,{appearance:n,className:l("poweredByFrigadeRibbon",n)},Ue.createElement(fo,{appearance:n})))):Ue.createElement(Ue.Fragment,null));import ot,{useEffect as Wl}from"react";import xo from"styled-components";import{Portal as Hl}from"react-portal";var Vl=xo.div`
|
|
191
191
|
${e=>v(e)} {
|
|
192
192
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
193
193
|
background: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBackground}};
|
|
@@ -224,7 +224,7 @@ import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import
|
|
|
224
224
|
::-webkit-scrollbar {
|
|
225
225
|
display: none;
|
|
226
226
|
}
|
|
227
|
-
`,Kr=({onClose:e,visible:t,headerContent:o=null,children:i,appearance:r})=>(Wl(()=>{let n=s=>{s.key==="Escape"&&e()};return document.addEventListener("keydown",n),t?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset",document.removeEventListener("keydown",n)}},[e,t]),t?ot.createElement(Hl,null,ot.createElement(Vl,{appearance:r,className:l("cornerModalContainer",r)},ot.createElement(Gl,{className:l("cornerModalClose",r),onClick:()=>e()},ot.createElement(
|
|
227
|
+
`,Kr=({onClose:e,visible:t,headerContent:o=null,children:i,appearance:r})=>(Wl(()=>{let n=s=>{s.key==="Escape"&&e()};return document.addEventListener("keydown",n),t?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset",document.removeEventListener("keydown",n)}},[e,t]),t?ot.createElement(Hl,null,ot.createElement(Vl,{appearance:r,className:l("cornerModalContainer",r)},ot.createElement(Gl,{className:l("cornerModalClose",r),onClick:()=>e()},ot.createElement(Ae,null)),o&&ot.createElement(jl,null,o),ot.createElement(ql,null,i))):ot.createElement(ot.Fragment,null));import{useContext as Kl}from"react";function oe(){let{defaultAppearance:e}=Kl(G);function t(o){let i=JSON.parse(JSON.stringify(e));return o?{styleOverrides:Object.assign(i.styleOverrides??{},o.styleOverrides??{}),theme:Object.assign(i.theme,o.theme??{})}:i}return{mergeAppearanceWithDefault:t}}import it,{useContext as ha,useEffect as Ca,useState as or}from"react";import bo from"styled-components";import yo,{useEffect as Yl,useState as Rr}from"react";import Jo from"styled-components";import ho from"styled-components";var Yr=ho.label`
|
|
228
228
|
${e=>v(e)} {
|
|
229
229
|
font-size: 14px;
|
|
230
230
|
line-height: 20px;
|
|
@@ -630,7 +630,7 @@ import Ct,{createContext as vp,useEffect as Ao,useState as Oe}from"react";import
|
|
|
630
630
|
display: flex;
|
|
631
631
|
align-self: center;
|
|
632
632
|
`;var Ii=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let r=e.props,[n,s]=sr([]),[p,c]=sr(!1),[a,h]=sr(e.id);return nr(()=>{n.length==0&&!p&&(c(!0),o({choice:[]}))},[p]),nr(()=>{a!==e.id&&(h(e.id),s([]))},[e]),nr(()=>{o({choice:n}),n.length>=r.minChoices?t(!0):t(!1)},[n]),Ye.createElement(Ti,{className:l("selectListContainer",i)},Ye.createElement(Fi,null,Ye.createElement(ki,{className:l("selectListTitle",i)},e.title),Ye.createElement(Pi,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),r.options.map((d,g)=>{let C=n.includes(d.id);return Ye.createElement(vi,{key:`select-item-${g}`,onClick:()=>{if(n.includes(d.id)){s(n.filter(b=>b!==d.id));return}n.length<r.maxChoices?s([...n,d.id]):n.length==1&&r.maxChoices==1&&s([d.id])},hideBottomBorder:g===r.options.length-1,className:l("selectListSelectItem",i)},Ye.createElement(Bi,{className:l("selectListItemImage",i)},d.imageUri&&Ye.createElement(Ei,{src:d.imageUri,alt:`select-icon-${g}`}),Ye.createElement(Ai,{appearance:i,className:l("selectListSelectItemText",i)},d.title)),Ye.createElement(Ke,{appearance:i,value:C,primaryColor:i.theme.colorPrimary}))}))};import Fe,{useEffect as Po,useState as Zt}from"react";import{AnimatePresence as Ya,motion as Xa}from"framer-motion";var Ja=({children:e,id:t,shouldWrap:o=!1})=>Fe.createElement(Fe.Fragment,null,o?Fe.createElement(Ya,{initial:!1},Fe.createElement(Xa.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),vo=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:r,onButtonClick:n,onStepCompletion:s,flowId:p,type:c,hideOnFlowCompletion:a,onComplete:h,setVisible:d,setShowModal:g,onDismiss:C,showPagination:b=!1,customFormElements:k,allowBackNavigation:u,validationHandler:B,onFormDataChange:x,showFooter:F,prefillData:N})=>{var me;let m={...{linkCollection:bi,multiInput:di,callToAction:wi,selectList:Ii},...i},{primaryCTAClickSideEffects:w,secondaryCTAClickSideEffects:y}=ae(),[P,O]=Zt(!1),[I,D]=Zt({}),[L,_]=Zt(!1),[H,X]=Zt(!1),[se,K]=Zt(null),V=t[o]??null,{markStepCompleted:q,markStepStarted:J,isLoading:Ce,updateCustomVariables:ve,markFlowCompleted:ye}=ee();Po(()=>{ve(r)},[r,Ce]),Po(()=>{x&&x(I,re(),t[o],o)},[I]),Po(()=>{window&&u&&!H&&(window.location.hash=t[o].id,X(!0))},[u,H,X]),Po(()=>{var z;if(window&&((z=window==null?void 0:window.location)!=null&&z.hash)&&window.location.hash.replace("#","")!==t[o].id){let de=window.location.hash.replace("#",""),te=t.findIndex(be=>be.id===de);te!==-1&&J(p,t[te].id)}},[(me=window==null?void 0:window.location)==null?void 0:me.hash,J,o,t]);function re(){return{data:I[t[o].id]??{},stepId:t[o].id,customVariables:r}}function Q(z,de,te){let be=o+1<t.length?t[o+1]:null;return s&&s(z,te,be,I,re()),n?n(z,o,de,be):!0}function M(z,de){D(te=>{let be={};return be[z.id]=de,{...te,...be}})}function $(z){return z.selectedStep.imageUri?Fe.createElement(hi,{image:z.selectedStep.imageUri,appearance:e,className:l("formContainerSidebarImage",e)}):null}let Se=F&&Fe.createElement(yi,{step:t[o],canContinue:P&&!L,formType:c,selectedStep:o,appearance:e,onPrimaryClick:async()=>{if(_(!0),B){let te=await B(t[o],o,t[o+1],I,re());if(te||te===!1){K(typeof te=="string"?te:null),_(!1);return}else K(null)}let z={...re()};await q(p,t[o].id,z),o+1<t.length&&await J(p,t[o+1].id);let de=Q(t[o],"primary",o);o+1>=t.length&&(h&&h(),C&&C(),a&&de&&(d&&d(!1),g(!1)),await ye(p)),w(t[o]),_(!1),window&&u&&o+1<t.length&&(window.location.hash=t[o+1].id)},onSecondaryClick:()=>{Q(t[o],"secondary",o),y(t[o])},onBack:async()=>{o-1>=0&&(_(!0),await J(p,t[o-1].id),_(!1))},steps:t,allowBackNavigation:u,errorMessage:se});return Fe.createElement(Fe.Fragment,null,Fe.createElement(fi,{className:l("formContainer",e)},Fe.createElement(gi,null,Fe.createElement(Ja,{id:o,shouldWrap:c==="large-modal"},Fe.createElement(xi,{key:V.id,type:c,className:l("formContent",e)},t.map(z=>{let de=m[z.type];return V.id!==z.id?null:Fe.createElement(de,{key:z.id,stepData:z,canContinue:P,setCanContinue:O,onSaveData:te=>{M(z,te)},appearance:e,customFormElements:k,flowId:p,prefillData:N})}),b&&Fe.createElement(Si,{className:l("formPagination",e),appearance:e,stepCount:t.length,currentStep:o}),Se))),c=="large-modal"&&Fe.createElement($,{selectedStep:t[o]})))};import Rt from"react";import{createGlobalStyle as Qa}from"styled-components";function ne({appearance:e}){if(!e||!e.styleOverrides)return Rt.createElement(Rt.Fragment,null);let t=Object.entries(e.styleOverrides).filter(([i,r])=>typeof r=="object");if(t.length===0)return Rt.createElement(Rt.Fragment,null);let o=Qa`
|
|
633
|
-
${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map(([s,p])=>`${jo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Rt.createElement(o,{inlineStyles:t})}var Ni=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:c,hideOnFlowCompletion:a=!0,onStepCompletion:h,onButtonClick:d,dismissible:g=!0,endFlowOnDismiss:C=!1,modalPosition:b="center",repeatable:k=!1,onDismiss:u,showPagination:B=!1,allowBackNavigation:x=!1,validationHandler:F,showFrigadeBranding:N=!1,onFormDataChange:T,showFooter:m=!0,prefillData:w={}})=>{let{getFlow:y,getFlowSteps:P,isLoading:O,targetingLogicShouldHideFlow:I,getFlowStatus:D,getCurrentStepIndex:L,markFlowCompleted:_,markFlowNotStarted:H}=ee(),X=L(e),{mergeAppearanceWithDefault:se}=oe(),[K,V]=Ra(!1),{setOpenFlowState:q,getOpenFlowState:J,hasOpenModals:Ce}=Be();c=se(c);let[ve,ye]=i!==void 0&&r!==void 0?[i,r]:[J(e,!0),$=>q(e,$)];if(Za(()=>{!K&&!O&&(V(!0),D(e)===R&&k&&H(e),V(!0))},[K,V,O]),O)return null;let re=y(e);if(!re||I(re))return null;let Q=P(e);if(!Q||i!==void 0&&i===!1||D(e)===R&&a||(o=="modal"||o=="corner-modal")&&Ce(e))return null;let M=()=>{ye(!1),u&&u(),C===!0&&_(e)};if(b=="center"&&o==="modal"||o==="large-modal"){let $={padding:"24px"};return o==="large-modal"?($.width="85%",$.height="90%",$.maxHeight="800px",$.minHeight="500px",$.padding="0"):$.width="400px",He.createElement(tt,{appearance:c,onClose:M,visible:ve,style:$,dismissible:g,showFrigadeBranding:N},He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w}))}return o==="modal"&&b!=="center"?He.createElement(Kr,{appearance:c,onClose:M,visible:ve},He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w})):He.createElement(He.Fragment,null,He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w}))},Oi=Ni;import{useCallback as Li,useContext as ep,useEffect as tp}from"react";function lr(){let{organizationId:e,userId:t,setOrganizationId:o}=ep(G),{mutateUserFlowState:i}=Ne(),{config:r,apiUrl:n}=_e(),s=kt(),{verifySDKInitiated:p}=Pt();tp(()=>{if(t&&e){if(t.startsWith(vt))return;let h=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(h)||(s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(h,"true"))}},[t,e]);let c=Li(async h=>{if(!p())return;if(!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let d={foreignUserId:t,foreignUserGroupId:e,properties:h};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(d)}),i()},[e,t,r,i]),a=Li(async(h,d)=>{if(!p())return;if(!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let C={foreignUserId:t,foreignUserGroupId:e,events:[{event:h,properties:d}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(C)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:c,trackEventForOrganization:a}}var Di="frigade-xFrigade_guestUserId",eo="frigade-xFrigade_userId",$i=({})=>{let{setFlowResponses:e}=jt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ne(),{userId:r,setUserId:n}=Gt(),[s,p]=ar(null),{getFlowStatus:c}=ee(),{flows:a,userProperties:h,setIsNewGuestUser:d,flowResponses:g}=op(G),[C,b]=ar([]),[k,u]=ar([]),{organizationId:B}=lr();Bo(()=>{if(!o&&t)for(let T=0;T<t.length;T++){let m=t[T],w=a.find(y=>y.slug===(m==null?void 0:m.flowId));if(w&&m&&m.shouldTrigger===!0&&w.type=="FORM"&&w.triggerType==="AUTOMATIC"&&!k.includes(w.slug)){setTimeout(()=>{x(m.flowId)},500);break}}},[o,t]),Bo(()=>{g.length>0&&i()},[g]);function x(T){let m=a.find(w=>w.slug===T);m&&m.triggerType==="AUTOMATIC"&&!k.includes(m.slug)&&(u([...k,m.slug]),b([m]))}function F(){if(!r){let T=localStorage.getItem(eo);if(T){n(T);return}let m=localStorage.getItem(Di);if(m){n(m);return}d(!0);let w=vt+rp();try{localStorage.setItem(Di,w)}catch(y){console.log("Failed to save guest user id locally: Local storage unavailable",y)}n(y=>y||w)}}Bo(()=>{try{if(a){let T=[];a.forEach(m=>{if(m.data){let w=m.data.match(/"imageUri":"(.*?)"/g);w&&w.forEach(y=>{let P=y.replace('"imageUri":"',"").replace('"',"");if(T.includes(P))return;let O=new Image;O.src=P,T.push(P)})}})}}catch{}},[a]),Bo(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(vt))try{localStorage.setItem(eo,r)}catch(T){console.log("Failed to save user id locally: Local storage available",T)}r===null&&setTimeout(()=>{r===null&&F()},50)},[r,a,h]);function N(){return ht.createElement(ht.Fragment,null,C.map(T=>c(T.slug)!==$e?null:ht.createElement("span",{key:T.slug},ht.createElement(Oi,{flowId:T.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return ht.createElement(ht.Fragment,null,ht.createElement(N,null))};import{ErrorBoundary as Ep}from"react-error-boundary";import to from"core-js-pure/actual/structured-clone";function pr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(...e){let t=e.shift(),o=e.length===1?e[0]:at(...e);if(!pr(t)||!pr(o))throw new Error("deepmerge can only merge Objects");let i=to(t);return Object.entries(o).forEach(([r,n])=>{pr(n)?i[r]!==void 0?Object.assign(i,{[r]:at(i[r],to(n))}):Object.assign(i,{[r]:to(n)}):Array.isArray(n)?i[r]!==void 0?Object.assign(i,{[r]:[...i[r],...to(n)]}):Object.assign(i,{[r]:to(n)}):Object.assign(i,{[r]:n})}),i}var Mi={colorPrimary:"colors.primary.background",colorText:"colors.neutral.foreground",colorBackground:"colors.neutral.background",colorBackgroundSecondary:"colors.secondary.background",colorTextOnPrimaryBackground:"colors.primary.foreground",colorTextSecondary:"colors.secondary.foreground",colorTextDisabled:"colors.gray700",colorBorder:"colors.gray800",colorTextError:"colors.negative.foreground",borderRadius:"radii.lg"};function ip(e){if(!e)return;let t={};return Object.entries(e).forEach(([o,i])=>{if(Mi[o]){let r=Mi[o].split("."),n=t;r.forEach((s,p)=>{n[s]||(n[s]=p===r.length-1?i:{}),n=n[s]})}}),t}function np(e){if(!e)return;let t=at({},e),o={};return Object.keys(t).forEach(i=>{let r=`.fr-${i}`;o[r]=t[i]}),o}function Ui(e){let{theme:t,styleOverrides:o}=e,i=ip(t),r=np(o);return{overrides:i,css:r}}import yp from"styled-components";import{compose as Sp,variant as _i}from"styled-system";import zi from"react";import sp,{ThemeProvider as lp,useTheme as ap}from"styled-components";import{border as pp,color as dp,compose as cp,get as mp,shadow as up,space as fp,system as gp,typography as xp}from"styled-system";var hp={width:{property:"width",scale:"sizes",transform:(e,t)=>mp(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},Cp=sp("div")(({css:e})=>e,cp(pp,dp,up,fp,xp,gp(hp))),oo=({as:e,children:t,overrides:o,...i})=>{let r=ap(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>zi.createElement(Cp,{as:e,...n,...i},t);if(o!==void 0){let p=at(r,o);return zi.createElement(lp,{theme:p},s())}return s()};var ro={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"}},bp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},Wi=yp(oo)(()=>({whiteSpace:"nowrap"}),Sp(_i({scale:"components.Button",variants:"components.Button"}),_i({prop:"size",variants:bp})));import wp from"styled-components";import{variant as Tp,system as Fp}from"styled-system";var Eo={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 Hi=wp(oo)(Tp({scale:"components.Text",variants:"components.Text"}),Fp({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var Vi=4,ji="px",kp=20,Pp=Object.fromEntries(Array.from(Array(kp+1),(e,t)=>t===0?[.5,`${.5*Vi}${ji}`]:[t,`${t*Vi}${ji}`])),Nt={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"},dr={colors:{...Nt,neutral:{foreground:Nt.gray300},primary:{background:Nt.blue500,foreground:Nt.white,inverted:Nt.blue500},negative:{foreground:Nt.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:Pp,components:{Button:ro,Text:Eo}};var Gi="https://api.frigade.com",G=vp({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:qe,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{},apiUrl:Gi,readonly:!1});function Ap(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var Ip=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var K,V;let[n,s]=Oe(t||null),[p,c]=Oe(o||null),[a,h]=Oe([]),[d,g]=Oe([]),[C,b]=Oe([]),[k,u]=Oe({}),[B,x]=Oe({}),[F,N]=Oe([]),[T,m]=Oe({}),[w,y]=Oe(!1),[P,O]=Oe(!1),[I,D]=Oe(!H(e)),L=(q,J)=>{if(J==="_blank"){window.open(q,"_blank");return}setTimeout(()=>{window.location.href=q},50)},_={theme:{...qe.theme,...((K=i==null?void 0:i.defaultAppearance)==null?void 0:K.theme)??{}},styleOverrides:{...qe.styleOverrides,...((V=i==null?void 0:i.defaultAppearance)==null?void 0:V.styleOverrides)??{}}};function H(q){return!!(q&&q.length>10&&q.substring(0,10)==="api_public")}Ao(()=>{t&&s(t)},[t]),Ao(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(eo)&&window.localStorage.getItem(eo)!==n&&Ap()},[n]),Ao(()=>{o&&c(o)},[o]),Ao(()=>{if(H(e))D(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),D(!0);return}},[e,D]);let X={publicApiKey:e,userId:n,setUserId:s,setFlows:h,flows:a,failedFlowResponses:d,setFailedFlowResponses:g,flowResponses:C,setFlowResponses:b,userProperties:k,setUserProperties:u,openFlowStates:B,setOpenFlowStates:x,completedFlowsToKeepOpenDuringSession:F,setCompletedFlowsToKeepOpenDuringSession:N,customVariables:T,setCustomVariables:m,isNewGuestUser:w,setIsNewGuestUser:y,hasActiveFullPageFlow:P,setHasActiveFullPageFlow:O,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:L,defaultAppearance:_,shouldGracefullyDegrade:I,setShouldGracefullyDegrade:D,apiUrl:i&&i.apiUrl?i.apiUrl:Gi,readonly:i&&i.readonly?i.readonly:!1};if(I)return Ct.createElement(G.Provider,{value:X},r);let{overrides:se}=Ui(_);return Ct.createElement(Ep,{fallback:Ct.createElement(Ct.Fragment,null,r)},Ct.createElement(G.Provider,{value:X},Ct.createElement(Bp,{theme:at(_.theme,dr,se??{},(i==null?void 0:i.theme)??{})},r,Ct.createElement($i,null))))};import Ed from"react";import ce,{useEffect as Cs,useState as ys}from"react";import ze,{useState as ed}from"react";import bt from"styled-components";import Oo from"react";import yt from"react";import Ki from"styled-components";var qi=Ki.span`
|
|
633
|
+
${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map(([s,p])=>`${jo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Rt.createElement(o,{inlineStyles:t})}var Ni=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:c,hideOnFlowCompletion:a=!0,onStepCompletion:h,onButtonClick:d,dismissible:g=!0,endFlowOnDismiss:C=!1,modalPosition:b="center",repeatable:k=!1,onDismiss:u,showPagination:B=!1,allowBackNavigation:x=!1,validationHandler:F,showFrigadeBranding:N=!1,onFormDataChange:T,showFooter:m=!0,prefillData:w={}})=>{let{getFlow:y,getFlowSteps:P,isLoading:O,targetingLogicShouldHideFlow:I,getFlowStatus:D,getCurrentStepIndex:L,markFlowCompleted:_,markFlowNotStarted:H}=ee(),X=L(e),{mergeAppearanceWithDefault:se}=oe(),[K,V]=Ra(!1),{setOpenFlowState:q,getOpenFlowState:J,hasOpenModals:Ce}=Be();c=se(c);let[ve,ye]=i!==void 0&&r!==void 0?[i,r]:[J(e,!0),$=>q(e,$)];if(Za(()=>{!K&&!O&&(V(!0),D(e)===R&&k&&H(e),V(!0))},[K,V,O]),O)return null;let re=y(e);if(!re||I(re))return null;let Q=P(e);if(!Q||i!==void 0&&i===!1||D(e)===R&&a||(o=="modal"||o=="corner-modal")&&Ce(e))return null;let M=()=>{ye(!1),u&&u(),C===!0&&_(e)};if(b=="center"&&o==="modal"||o==="large-modal"){let $={padding:"24px"};return o==="large-modal"?($.width="85%",$.height="90%",$.maxHeight="800px",$.minHeight="500px",$.padding="0"):$.width="400px",He.createElement(tt,{appearance:c,onClose:M,visible:ve,style:$,dismissible:g,showFrigadeBranding:N},He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w}))}return o==="modal"&&b!=="center"?He.createElement(Kr,{appearance:c,onClose:M,visible:ve},He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w})):He.createElement(He.Fragment,null,He.createElement(ne,{appearance:c}),He.createElement(vo,{appearance:c,steps:Q,selectedStep:X,customStepTypes:t,customVariables:n,onButtonClick:d,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:ye,onDismiss:u,showPagination:B,customFormElements:s,allowBackNavigation:x,validationHandler:F,onFormDataChange:T,showFooter:m,prefillData:w}))},Oi=Ni;import{useCallback as Li,useContext as ep,useEffect as tp}from"react";function lr(){let{organizationId:e,userId:t,setOrganizationId:o}=ep(G),{mutateUserFlowState:i}=Ee(),{config:r,apiUrl:n}=_e(),s=kt(),{verifySDKInitiated:p}=Pt();tp(()=>{if(t&&e){if(t.startsWith(vt))return;let h=`frigade-user-group-registered-${t}-${e}`;localStorage.getItem(h)||(s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify({foreignUserId:t,foreignUserGroupId:e})}),localStorage.setItem(h,"true"))}},[t,e]);let c=Li(async h=>{if(!p())return;if(!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let d={foreignUserId:t,foreignUserGroupId:e,properties:h};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(d)}),i()},[e,t,r,i]),a=Li(async(h,d)=>{if(!p())return;if(!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let C={foreignUserId:t,foreignUserGroupId:e,events:[{event:h,properties:d}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(C)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:c,trackEventForOrganization:a}}var Di="frigade-xFrigade_guestUserId",eo="frigade-xFrigade_userId",$i=({})=>{let{setFlowResponses:e}=jt(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ee(),{userId:r,setUserId:n}=Gt(),[s,p]=ar(null),{getFlowStatus:c}=ee(),{flows:a,userProperties:h,setIsNewGuestUser:d,flowResponses:g}=op(G),[C,b]=ar([]),[k,u]=ar([]),{organizationId:B}=lr();Bo(()=>{if(!o&&t)for(let T=0;T<t.length;T++){let m=t[T],w=a.find(y=>y.slug===(m==null?void 0:m.flowId));if(w&&m&&m.shouldTrigger===!0&&w.type=="FORM"&&w.triggerType==="AUTOMATIC"&&!k.includes(w.slug)){setTimeout(()=>{x(m.flowId)},500);break}}},[o,t]),Bo(()=>{g.length>0&&i()},[g]);function x(T){let m=a.find(w=>w.slug===T);m&&m.triggerType==="AUTOMATIC"&&!k.includes(m.slug)&&(u([...k,m.slug]),b([m]))}function F(){if(!r){let T=localStorage.getItem(eo);if(T){n(T);return}let m=localStorage.getItem(Di);if(m){n(m);return}d(!0);let w=vt+rp();try{localStorage.setItem(Di,w)}catch(y){console.log("Failed to save guest user id locally: Local storage unavailable",y)}n(y=>y||w)}}Bo(()=>{try{if(a){let T=[];a.forEach(m=>{if(m.data){let w=m.data.match(/"imageUri":"(.*?)"/g);w&&w.forEach(y=>{let P=y.replace('"imageUri":"',"").replace('"',"");if(T.includes(P))return;let O=new Image;O.src=P,T.push(P)})}})}}catch{}},[a]),Bo(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(vt))try{localStorage.setItem(eo,r)}catch(T){console.log("Failed to save user id locally: Local storage available",T)}r===null&&setTimeout(()=>{r===null&&F()},50)},[r,a,h]);function N(){return ht.createElement(ht.Fragment,null,C.map(T=>c(T.slug)!==$e?null:ht.createElement("span",{key:T.slug},ht.createElement(Oi,{flowId:T.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return ht.createElement(ht.Fragment,null,ht.createElement(N,null))};import{ErrorBoundary as Ep}from"react-error-boundary";import to from"core-js-pure/actual/structured-clone";function pr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(...e){let t=e.shift(),o=e.length===1?e[0]:at(...e);if(!pr(t)||!pr(o))throw new Error("deepmerge can only merge Objects");let i=to(t);return Object.entries(o).forEach(([r,n])=>{pr(n)?i[r]!==void 0?Object.assign(i,{[r]:at(i[r],to(n))}):Object.assign(i,{[r]:to(n)}):Array.isArray(n)?i[r]!==void 0?Object.assign(i,{[r]:[...i[r],...to(n)]}):Object.assign(i,{[r]:to(n)}):Object.assign(i,{[r]:n})}),i}var Mi={colorPrimary:"colors.primary.background",colorText:"colors.neutral.foreground",colorBackground:"colors.neutral.background",colorBackgroundSecondary:"colors.secondary.background",colorTextOnPrimaryBackground:"colors.primary.foreground",colorTextSecondary:"colors.secondary.foreground",colorTextDisabled:"colors.gray700",colorBorder:"colors.gray800",colorTextError:"colors.negative.foreground",borderRadius:"radii.lg"};function ip(e){if(!e)return;let t={};return Object.entries(e).forEach(([o,i])=>{if(Mi[o]){let r=Mi[o].split("."),n=t;r.forEach((s,p)=>{n[s]||(n[s]=p===r.length-1?i:{}),n=n[s]})}}),t}function np(e){if(!e)return;let t=at({},e),o={};return Object.keys(t).forEach(i=>{let r=`.fr-${i}`;o[r]=t[i]}),o}function Ui(e){let{theme:t,styleOverrides:o}=e,i=ip(t),r=np(o);return{overrides:i,css:r}}import yp from"styled-components";import{compose as Sp,variant as _i}from"styled-system";import zi from"react";import sp,{ThemeProvider as lp,useTheme as ap}from"styled-components";import{border as pp,color as dp,compose as cp,get as mp,shadow as up,space as fp,system as gp,typography as xp}from"styled-system";var hp={width:{property:"width",scale:"sizes",transform:(e,t)=>mp(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},Cp=sp("div")(({css:e})=>e,cp(pp,dp,up,fp,xp,gp(hp))),oo=({as:e,children:t,overrides:o,...i})=>{let r=ap(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>zi.createElement(Cp,{as:e,...n,...i},t);if(o!==void 0){let p=at(r,o);return zi.createElement(lp,{theme:p},s())}return s()};var ro={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"}},bp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},Wi=yp(oo)(()=>({whiteSpace:"nowrap"}),Sp(_i({scale:"components.Button",variants:"components.Button"}),_i({prop:"size",variants:bp})));import wp from"styled-components";import{variant as Tp,system as Fp}from"styled-system";var Eo={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 Hi=wp(oo)(Tp({scale:"components.Text",variants:"components.Text"}),Fp({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var Vi=4,ji="px",kp=20,Pp=Object.fromEntries(Array.from(Array(kp+1),(e,t)=>t===0?[.5,`${.5*Vi}${ji}`]:[t,`${t*Vi}${ji}`])),Nt={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"},dr={colors:{...Nt,neutral:{foreground:Nt.gray300},primary:{background:Nt.blue500,foreground:Nt.white,inverted:Nt.blue500},negative:{foreground:Nt.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:Pp,components:{Button:ro,Text:Eo}};var Gi="https://api.frigade.com",G=vp({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:qe,shouldGracefullyDegrade:!1,setShouldGracefullyDegrade:()=>{},apiUrl:Gi,readonly:!1});function Ap(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var Ip=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var K,V;let[n,s]=Oe(t||null),[p,c]=Oe(o||null),[a,h]=Oe([]),[d,g]=Oe([]),[C,b]=Oe([]),[k,u]=Oe({}),[B,x]=Oe({}),[F,N]=Oe([]),[T,m]=Oe({}),[w,y]=Oe(!1),[P,O]=Oe(!1),[I,D]=Oe(!H(e)),L=(q,J)=>{if(J==="_blank"){window.open(q,"_blank");return}setTimeout(()=>{window.location.href=q},50)},_={theme:{...qe.theme,...((K=i==null?void 0:i.defaultAppearance)==null?void 0:K.theme)??{}},styleOverrides:{...qe.styleOverrides,...((V=i==null?void 0:i.defaultAppearance)==null?void 0:V.styleOverrides)??{}}};function H(q){return!!(q&&q.length>10&&q.substring(0,10)==="api_public")}Ao(()=>{t&&s(t)},[t]),Ao(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(eo)&&window.localStorage.getItem(eo)!==n&&Ap()},[n]),Ao(()=>{o&&c(o)},[o]),Ao(()=>{if(H(e))D(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),D(!0);return}},[e,D]);let X={publicApiKey:e,userId:n,setUserId:s,setFlows:h,flows:a,failedFlowResponses:d,setFailedFlowResponses:g,flowResponses:C,setFlowResponses:b,userProperties:k,setUserProperties:u,openFlowStates:B,setOpenFlowStates:x,completedFlowsToKeepOpenDuringSession:F,setCompletedFlowsToKeepOpenDuringSession:N,customVariables:T,setCustomVariables:m,isNewGuestUser:w,setIsNewGuestUser:y,hasActiveFullPageFlow:P,setHasActiveFullPageFlow:O,organizationId:p,setOrganizationId:c,navigate:i&&i.navigate?i.navigate:L,defaultAppearance:_,shouldGracefullyDegrade:I,setShouldGracefullyDegrade:D,apiUrl:i&&i.apiUrl?i.apiUrl:Gi,readonly:i&&i.readonly?i.readonly:!1};if(I)return Ct.createElement(G.Provider,{value:X},r);let{overrides:se}=Ui(_);return Ct.createElement(Ep,{fallback:Ct.createElement(Ct.Fragment,null,r)},Ct.createElement(G.Provider,{value:X},Ct.createElement(Bp,{theme:at(_.theme,dr,se??{},(i==null?void 0:i.theme)??{})},r,Ct.createElement($i,null))))};import Ed from"react";import ce,{useEffect as Cs,useState as ys}from"react";import ze,{useState as ed}from"react";import bt from"styled-components";import Oo from"react";import yt from"react";import Ki from"styled-components";var qi=Ki.span`
|
|
634
634
|
font-weight: 400;
|
|
635
635
|
font-size: 15px;
|
|
636
636
|
line-height: 20px;
|
|
@@ -699,7 +699,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
699
699
|
border-radius: 4px;
|
|
700
700
|
max-height: 260px;
|
|
701
701
|
min-height: 200px;
|
|
702
|
-
`,en=({stepData:e,appearance:t})=>{if(e!=null&&e.StepContent){let o=e.StepContent;return no.createElement("div",null,o)}return no.createElement(Yi,{className:l("checklistStepContent",t)},e.imageUri?no.createElement(Vp,{className:l("checklistStepImage",t),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?no.createElement(Ri,{videoUri:e.videoUri,appearance:t}):null,no.createElement(Dt,{stepData:e,appearance:t}))};import
|
|
702
|
+
`,en=({stepData:e,appearance:t})=>{if(e!=null&&e.StepContent){let o=e.StepContent;return no.createElement("div",null,o)}return no.createElement(Yi,{className:l("checklistStepContent",t)},e.imageUri?no.createElement(Vp,{className:l("checklistStepImage",t),src:e.imageUri,style:e.imageStyle}):null,e.videoUri?no.createElement(Ri,{videoUri:e.videoUri,appearance:t}):null,no.createElement(Dt,{stepData:e,appearance:t}))};import Ie,{useRef as jp,useState as Gp}from"react";import $t from"styled-components";var tn=$t.div`
|
|
703
703
|
display: block;
|
|
704
704
|
`,qp=$t.div`
|
|
705
705
|
display: flex;
|
|
@@ -744,7 +744,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
744
744
|
box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.06);
|
|
745
745
|
border-radius: 50%;
|
|
746
746
|
}
|
|
747
|
-
`,on="videoCarousel",rn=({stepData:e,appearance:t})=>{var r;if(!((r=e.props)!=null&&r.videos))return
|
|
747
|
+
`,on="videoCarousel",rn=({stepData:e,appearance:t})=>{var r;if(!((r=e.props)!=null&&r.videos))return Ie.createElement(tn,null,Ie.createElement(Dt,{stepData:e,appearance:t}));function o({video:n}){let s=jp(),[p,c]=Gp(!1);return Ie.createElement(Kp,null,!p&&Ie.createElement(Jp,{onClick:()=>{c(!0),s.current.play()},appearance:t},Ie.createElement(To,null)),Ie.createElement(Yp,{controls:p,ref:s,play:p,src:n.uri}),Ie.createElement(Xp,null,n.title))}let i=e.props;return i.videos?Ie.createElement(tn,null,Ie.createElement(Ot,{stepData:e,appearance:t}),Ie.createElement(qp,null,i.videos.map((n,s)=>Ie.createElement("span",{key:`${n.uri}-${s}`},Ie.createElement(o,{video:n})))),Ie.createElement(Lt,{stepData:e,appearance:t})):null};import Xe from"react";import $o from"styled-components";var nn=$o.div`
|
|
748
748
|
display: block;
|
|
749
749
|
`,Qp=$o.pre`
|
|
750
750
|
display: block;
|
|
@@ -1350,7 +1350,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
1350
1350
|
`,jd=po(Ls)`
|
|
1351
1351
|
width: ${_t+12}px;
|
|
1352
1352
|
height: ${_t+12}px;
|
|
1353
|
-
`,Gd=({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:c={},selectedStep:a=0,customStepTypes:h,appearance:d,dismissible:g=!1,showHighlightOnly:C,showStepCount:b=!0,completedStepsCount:k=0,showFrigadeBranding:u=!1})=>{var de,te,be,De;let[B,x]=ao(),[F,N]=ao(new Date),T=zd(null),[m,w]=ao(document.querySelector(e[a].selector)),y=As(m,F),[P,O]=ao(),[I,D]=ao(!C),L=(te=(de=e[a])==null?void 0:de.props)!=null&&te.position?e[a].props.position:"absolute",_=((De=(be=e[a])==null?void 0:be.props)==null?void 0:De.zIndex)??90,H=(B==null?void 0:B.width)??Ns,X=(B==null?void 0:B.height)??Os,se=window.location.pathname.split("/").pop();Is(()=>{T.current&&x({width:T.current.clientWidth,height:T.current.clientHeight})},[a,F,L]),zo(()=>{C||D(!0)},[a]);let K=()=>{let j=document.querySelector(e[a].selector);if(!j){O(void 0),w(null);return}P&&P===JSON.stringify(j==null?void 0:j.getBoundingClientRect())||(w(j),N(new Date),j&&O(JSON.stringify(j.getBoundingClientRect())))};if(zo(()=>{let j=new MutationObserver(K);return j.observe(document.body,{subtree:!0,childList:!0}),()=>j.disconnect()},[K]),zo(()=>{let j=new MutationObserver(K);return j.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>j.disconnect()},[K]),zo(()=>{let j=setInterval(()=>{K()},10);return()=>clearInterval(j)},[K]),Is(()=>{setTimeout(()=>{K()},_d),K()},[a,se]),m===null||!p||y.height===0&&y.width===0&&L!=="fixed")return null;let V=i==="auto"?"right":i,q=Sr(y,V,H,s,L),J=y.right+H>(window.innerWidth||document.documentElement.clientWidth),Ce=y.bottom+Os>(window.innerHeight||document.documentElement.clientHeight);J&&i==="auto"&&(q=Sr(y,"left",H,s,L),V="left");let ve=()=>{let j=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),D(!1),setTimeout(()=>{K()},30)),k===e.length-1)return o()},xe=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),C&&!e[a].secondaryButtonUri&&D(!1))};return W.createElement(W.Fragment,null,b&&e.length>1&&W.createElement(_r,null,W.createElement(Hr,{className:l("tooltipStepCounter",d)},a+1," of ",e.length)),W.createElement(Wr,{showStepCount:b,className:l("tooltipCTAContainer",d)},e[a].secondaryButtonTitle&&W.createElement(ie,{title:e[a].secondaryButtonTitle,appearance:d,onClick:xe,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&W.createElement(ie,{title:e[a].primaryButtonTitle,appearance:d,onClick:j,withMargin:!1,size:"small"})))},ye=()=>W.createElement(W.Fragment,null,g&&W.createElement($r,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",d)},W.createElement(
|
|
1353
|
+
`,Gd=({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:c={},selectedStep:a=0,customStepTypes:h,appearance:d,dismissible:g=!1,showHighlightOnly:C,showStepCount:b=!0,completedStepsCount:k=0,showFrigadeBranding:u=!1})=>{var de,te,be,De;let[B,x]=ao(),[F,N]=ao(new Date),T=zd(null),[m,w]=ao(document.querySelector(e[a].selector)),y=As(m,F),[P,O]=ao(),[I,D]=ao(!C),L=(te=(de=e[a])==null?void 0:de.props)!=null&&te.position?e[a].props.position:"absolute",_=((De=(be=e[a])==null?void 0:be.props)==null?void 0:De.zIndex)??90,H=(B==null?void 0:B.width)??Ns,X=(B==null?void 0:B.height)??Os,se=window.location.pathname.split("/").pop();Is(()=>{T.current&&x({width:T.current.clientWidth,height:T.current.clientHeight})},[a,F,L]),zo(()=>{C||D(!0)},[a]);let K=()=>{let j=document.querySelector(e[a].selector);if(!j){O(void 0),w(null);return}P&&P===JSON.stringify(j==null?void 0:j.getBoundingClientRect())||(w(j),N(new Date),j&&O(JSON.stringify(j.getBoundingClientRect())))};if(zo(()=>{let j=new MutationObserver(K);return j.observe(document.body,{subtree:!0,childList:!0}),()=>j.disconnect()},[K]),zo(()=>{let j=new MutationObserver(K);return j.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>j.disconnect()},[K]),zo(()=>{let j=setInterval(()=>{K()},10);return()=>clearInterval(j)},[K]),Is(()=>{setTimeout(()=>{K()},_d),K()},[a,se]),m===null||!p||y.height===0&&y.width===0&&L!=="fixed")return null;let V=i==="auto"?"right":i,q=Sr(y,V,H,s,L),J=y.right+H>(window.innerWidth||document.documentElement.clientWidth),Ce=y.bottom+Os>(window.innerHeight||document.documentElement.clientHeight);J&&i==="auto"&&(q=Sr(y,"left",H,s,L),V="left");let ve=()=>{let j=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),D(!1),setTimeout(()=>{K()},30)),k===e.length-1)return o()},xe=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),C&&!e[a].secondaryButtonUri&&D(!1))};return W.createElement(W.Fragment,null,b&&e.length>1&&W.createElement(_r,null,W.createElement(Hr,{className:l("tooltipStepCounter",d)},a+1," of ",e.length)),W.createElement(Wr,{showStepCount:b,className:l("tooltipCTAContainer",d)},e[a].secondaryButtonTitle&&W.createElement(ie,{title:e[a].secondaryButtonTitle,appearance:d,onClick:xe,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&W.createElement(ie,{title:e[a].primaryButtonTitle,appearance:d,onClick:j,withMargin:!1,size:"small"})))},ye=()=>W.createElement(W.Fragment,null,g&&W.createElement($r,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",d)},W.createElement(Ae,null)),e[a].imageUri&&W.createElement(Mr,{dismissible:g,appearance:d,src:e[a].imageUri,className:l("tooltipImageContainer",d)}),e[a].videoUri&&!e[a].imageUri&&W.createElement(Ur,{dismissible:g,appearance:d,className:l("tooltipVideoContainer",d)},W.createElement(st,{appearance:d,videoUri:e[a].videoUri})),W.createElement(Te,{appearance:d,title:e[a].title,subtitle:e[a].subtitle,size:"small"}),W.createElement(zr,{className:l("tooltipFooter",d)},W.createElement(ve,null))),Q={...{default:j=>{var xe;if((xe=e[a])!=null&&xe.StepContent){let Vt=e[a].StepContent;return W.createElement("div",null,Vt)}return W.createElement(ye,null)}},...h},M=()=>{var j;return e?!((j=e[a])!=null&&j.type)||!Q[e[a].type]?Q.default(e[a]):Q[e[a].type]({stepData:e[a],primaryColor:n}):W.createElement(W.Fragment,null)};if(C&&e[a].complete===!0)return null;let $={top:(q==null?void 0:q.y)-_t,left:(V=="left"?y.x+s.x:(q==null?void 0:q.x)-_t)??0,cursor:C?"pointer":"default",position:L},Se=()=>{let xe=$.left+(V=="left"?-H:24);return Math.min(Math.max(xe,20),window.innerWidth-H-20)},me=()=>{if(L==="fixed")return $.top;let j=$.top+X,xe=20;return j>window.innerHeight-xe?$.top+-X:$.top},z=()=>{C&&(N(new Date),D(!I))};return W.createElement(Vd,null,W.createElement(jd,{style:$,zIndex:_,className:l("tourHighlightContainer",d)},r&&e[a].showHighlight!==!1&&W.createElement(W.Fragment,null,W.createElement(Hd,{style:{position:L},onClick:z,primaryColor:d.theme.colorPrimary,className:l("tourHighlightInnerCircle",d)}),W.createElement(Wd,{style:{position:"absolute"},onClick:z,primaryColor:d.theme.colorPrimary,className:l("tourHighlightOuterCircle",d)}))),W.createElement(Ls,{style:{...$,left:Se(),top:me()},zIndex:_+1,className:l("tooltipContainerWrapper",d)},I&&W.createElement(W.Fragment,null,W.createElement(uo,{ref:T,layoutId:"tooltip-container",style:{position:"relative",width:"max-content",right:0,top:12,...c},appearance:d,className:l("tooltipContainer",d),maxWidth:Ns,zIndex:_+10},W.createElement(M,null)),u&&W.createElement(jr,{className:l("poweredByFrigadeTooltipRibbon",d),appearance:d,zIndex:_+10},W.createElement(fo,{appearance:d})))))},_o=Gd;import{Portal as Yd}from"react-portal";var Xd=({flowId:e,customVariables:t,appearance:o,onStepCompletion:i,onButtonClick:r,showTooltipsSimultaneously:n=!1,onDismiss:s,dismissible:p,tooltipPosition:c="auto",showHighlightOnly:a=!1,dismissBehavior:h="complete-flow",onComplete:d,skipIfNotFound:g=!1,...C})=>{let{getFlow:b,getFlowSteps:k,isLoading:u,targetingLogicShouldHideFlow:B,markStepCompleted:x,markStepStarted:F,markFlowCompleted:N,updateCustomVariables:T,getCurrentStepIndex:m,getStepStatus:w,isStepBlocked:y,getFlowStatus:P,getNumberOfStepsCompleted:O}=ee(),{isLoadingUserFlowStateData:I}=Ee(),{primaryCTAClickSideEffects:D,secondaryCTAClickSideEffects:L}=ae(),{hasOpenModals:_}=Be(),H=m(e),{openFlowStates:X}=qd(G),{mergeAppearanceWithDefault:se}=oe();if(o=se(o),Kd(()=>{T(t)},[t,u]),I)return null;let K=b(e);if(!K||B(K)||P(e)==R||_())return null;let V=k(e);if(Object.keys(X).length>0){let M=Object.keys(X).find($=>X[$]===!0);if(M!==void 0&&M!==e)return Wt.createElement(Wt.Fragment,null)}async function q(M){if(await x(e,M.id),V.map($=>w(e,$.id)).every($=>$===Me)){await N(e);return}if(!a&&H+1<V.length){if(y(e,V[H+1].id))return;await F(e,V[H+1].id)}}function J(M,$,Se){let me=H+1<V.length?V[H+1]:null;r&&r(M,H,$,me),i&&i(M,Se,me)}function Ce(){return V.map(M=>({...M,handleSecondaryButtonClick:async()=>{L(M),M.skippable===!0&&await x(e,M.id,{skipped:!0}),J(M,"secondary",H)},handlePrimaryButtonClick:async()=>{(!M.completionCriteria&&(M.autoMarkCompleted||M.autoMarkCompleted===void 0)||M.completionCriteria&&M.autoMarkCompleted===!0)&&await q(M),J(M,"primary",H),D(M)}}))}async function ve(M){s&&s(),h==="complete-flow"?await N(e):await x(e,M.id)}function ye(){d&&d()}let re=!document.querySelector(V[H].selector);function Q(){let M=V.findIndex($=>!!document.querySelector($.selector));return V.map(($,Se)=>re&&!n&&Se!==M&&g?null:Wt.createElement(_o,{key:$.id,appearance:o,steps:Ce(),selectedStep:Se,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>ve($),tooltipPosition:c,showHighlightOnly:a,completedStepsCount:O(e),onComplete:ye,...C}))}return Wt.createElement(Yd,null,Wt.createElement(ne,{appearance:o}),n||re&&g?Q():Wt.createElement(_o,{appearance:o,steps:Ce(),selectedStep:H,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>ve(V[H]),tooltipPosition:c,completedStepsCount:O(e),showHighlightOnly:a,onComplete:ye,...C}))};import ke,{useEffect as Jd,useRef as Qd,useState as Zd}from"react";import{Portal as Rd}from"react-portal";import Tt from"styled-components";var Ds=Tt.button`
|
|
1354
1354
|
${e=>v(e)} {
|
|
1355
1355
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1356
1356
|
|
|
@@ -1474,7 +1474,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
1474
1474
|
opacity: 0.8;
|
|
1475
1475
|
}
|
|
1476
1476
|
}
|
|
1477
|
-
`;var oc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,dismissible:p})=>{let{getFlow:c,markFlowCompleted:a,markStepCompleted:h,isLoading:d,targetingLogicShouldHideFlow:g,updateCustomVariables:C,getFlowSteps:b,getFlowStatus:k,getCurrentStepIndex:u}=ee(),{primaryCTAClickSideEffects:B}=ae(),{mergeAppearanceWithDefault:x}=oe();if(r=x(r),tc(()=>{C(o)},[o,d]),d)return null;let F=c(e);if(!F||g(F)||k(e)===R)return null;let T=b(e)[u(e)];return je.createElement(je.Fragment,null,je.createElement(ne,{appearance:r}),je.createElement(Ys,{appearance:r,className:we(l("embeddedTipContainer",r),n),style:s},(p===!0||T.dismissible)&&je.createElement(Qs,{onClick:async()=>{await a(e),t&&t()},className:l("embeddedTipDismissButton",r)},je.createElement(
|
|
1477
|
+
`;var oc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,dismissible:p})=>{let{getFlow:c,markFlowCompleted:a,markStepCompleted:h,isLoading:d,targetingLogicShouldHideFlow:g,updateCustomVariables:C,getFlowSteps:b,getFlowStatus:k,getCurrentStepIndex:u}=ee(),{primaryCTAClickSideEffects:B}=ae(),{mergeAppearanceWithDefault:x}=oe();if(r=x(r),tc(()=>{C(o)},[o,d]),d)return null;let F=c(e);if(!F||g(F)||k(e)===R)return null;let T=b(e)[u(e)];return je.createElement(je.Fragment,null,je.createElement(ne,{appearance:r}),je.createElement(Ys,{appearance:r,className:we(l("embeddedTipContainer",r),n),style:s},(p===!0||T.dismissible)&&je.createElement(Qs,{onClick:async()=>{await a(e),t&&t()},className:l("embeddedTipDismissButton",r)},je.createElement(Ae,null)),je.createElement(Xs,null,je.createElement(Te,{size:"small",appearance:r,title:T.title,subtitle:T.subtitle})),T.primaryButtonTitle&&je.createElement(Js,{className:l("embeddedTipCallToActionContainer",r)},je.createElement(ie,{classPrefix:"embeddedTip",title:T.primaryButtonTitle,appearance:r,withMargin:!1,size:"small",type:"inline",onClick:async()=>{T.handlePrimaryButtonClick(),B(T),!(i&&i(T,u(e),"primary")===!1)&&(await h(e,T.id),await a(e))}}))))};import he,{useEffect as rc}from"react";import Ht from"styled-components";var Zs=Ht.div`
|
|
1478
1478
|
// use the :not annotation
|
|
1479
1479
|
${e=>v(e)} {
|
|
1480
1480
|
display: flex;
|
|
@@ -1519,7 +1519,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
1519
1519
|
justify-content: ${e=>e.type==="square"?"flex-end":"center"};
|
|
1520
1520
|
align-items: flex-end;
|
|
1521
1521
|
margin-left: ${e=>e.type==="square"?"0px":"16px"};
|
|
1522
|
-
`;import ol from"react";var rl=({style:e,className:t})=>ol.createElement("svg",{style:e,className:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor"},ol.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"}));var ic=({flowId:e,title:t,subtitle:o,onDismiss:i,customVariables:r,onButtonClick:n,appearance:s,type:p="full-width",icon:c})=>{let{getFlow:a,markFlowCompleted:h,isLoading:d,targetingLogicShouldHideFlow:g,updateCustomVariables:C,getFlowMetadata:b,getFlowStatus:k,getFlowSteps:u,getCurrentStepIndex:B}=ee(),{primaryCTAClickSideEffects:x}=ae(),{mergeAppearanceWithDefault:F}=oe();if(s=F(s),rc(()=>{C(r)},[r,d]),d)return null;let N=a(e);if(!N||g(N)||k(e)===R)return null;let T=u(e),m=T.length>0?T[B(e)]:b(e);return m!=null&&m.title&&(t=m.title),m!=null&&m.subtitle&&(o=m.subtitle),he.createElement(he.Fragment,null,he.createElement(ne,{appearance:s}),he.createElement(Zs,{type:p,appearance:s,className:l("bannerContainer",s)},p!="square"&&he.createElement(Rs,{className:l("bannerIconContainer",s)},c||he.createElement(rl,null)),p==="square"&&m.dismissible&&he.createElement(wr,{type:p,className:l("bannerDismissButtonContainer",s)},he.createElement(br,{type:p,onClick:async()=>{await h(e),i&&i()},className:l("bannerDismissButton",s)},he.createElement(
|
|
1522
|
+
`;import ol from"react";var rl=({style:e,className:t})=>ol.createElement("svg",{style:e,className:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor"},ol.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"}));var ic=({flowId:e,title:t,subtitle:o,onDismiss:i,customVariables:r,onButtonClick:n,appearance:s,type:p="full-width",icon:c})=>{let{getFlow:a,markFlowCompleted:h,isLoading:d,targetingLogicShouldHideFlow:g,updateCustomVariables:C,getFlowMetadata:b,getFlowStatus:k,getFlowSteps:u,getCurrentStepIndex:B}=ee(),{primaryCTAClickSideEffects:x}=ae(),{mergeAppearanceWithDefault:F}=oe();if(s=F(s),rc(()=>{C(r)},[r,d]),d)return null;let N=a(e);if(!N||g(N)||k(e)===R)return null;let T=u(e),m=T.length>0?T[B(e)]:b(e);return m!=null&&m.title&&(t=m.title),m!=null&&m.subtitle&&(o=m.subtitle),he.createElement(he.Fragment,null,he.createElement(ne,{appearance:s}),he.createElement(Zs,{type:p,appearance:s,className:l("bannerContainer",s)},p!="square"&&he.createElement(Rs,{className:l("bannerIconContainer",s)},c||he.createElement(rl,null)),p==="square"&&m.dismissible&&he.createElement(wr,{type:p,className:l("bannerDismissButtonContainer",s)},he.createElement(br,{type:p,onClick:async()=>{await h(e),i&&i()},className:l("bannerDismissButton",s)},he.createElement(Ae,null))),he.createElement(el,{type:p},he.createElement(Te,{appearance:s,title:t,subtitle:o,classPrefix:"banner"})),he.createElement(tl,{type:p,className:l("bannerCallToActionContainer",s)},he.createElement(ie,{title:(m==null?void 0:m.primaryButtonTitle)??"Get started",appearance:s,onClick:()=>{x(m),n&&n(m,0,"primary")},classPrefix:"banner"})),p!=="square"&&m.dismissible&&he.createElement(wr,{type:p,className:l("bannerDismissButtonContainer",s)},he.createElement(br,{type:p,onClick:async()=>{await h(e),i&&i()},className:l("bannerDismissButton",s)},he.createElement(Ae,null)))))};import Y,{useEffect as nc}from"react";import{Portal as sc}from"react-portal";import Re from"styled-components";var il=Re.div`
|
|
1523
1523
|
${e=>v(e)} {
|
|
1524
1524
|
display: flex;
|
|
1525
1525
|
flex-direction: column;
|
|
@@ -1606,5 +1606,5 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${qt}${r}.${qt}${r} { ${Object.entries(n).map
|
|
|
1606
1606
|
opacity: 0.8;
|
|
1607
1607
|
}
|
|
1608
1608
|
}
|
|
1609
|
-
`;var lc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:c,markFlowCompleted:a,markStepCompleted:h,getNumberOfStepsCompleted:d,isLoading:g,targetingLogicShouldHideFlow:C,updateCustomVariables:b,getFlowSteps:k,getFlowStatus:u,getCurrentStepIndex:B}=ee(),{primaryCTAClickSideEffects:x}=ae(),{mergeAppearanceWithDefault:F}=oe(),[N,T]=Y.useState(null),[m,w]=Y.useState(""),{hasOpenModals:y,setKeepCompletedFlowOpenDuringSession:P,shouldKeepCompletedFlowOpenDuringSession:O}=Be();if(r=F(r),nc(()=>{b(o)},[o,g]),g)return null;let I=c(e);if(!I||C(I)||u(e)===R||d(e)===1&&!O(e)||y())return null;let L=k(e)[B(e)];function _(){return Y.createElement(Y.Fragment,null,Y.createElement(kr,null,Y.createElement(Te,{size:"large",appearance:r,title:L.title,subtitle:L.subtitle})),Y.createElement(Tr,{className:l("npsNumberButtonContainer",r),appearance:r},Array.from(Array(10).keys()).map(se=>Y.createElement(nl,{className:l("npsNumberButton",r),selected:N===se+1,key:se,onClick:async()=>{P(e),T(se+1),await h(e,L.id,{score:se+1})},appearance:r},se+1))),Y.createElement(sl,{appearance:r},Y.createElement(Fr,{appearance:r},"Not likely at all"),Y.createElement(Fr,{appearance:r},"Extremely likely")))}function H(){return Y.createElement(Y.Fragment,null,Y.createElement(kr,null,Y.createElement(Te,{appearance:r,title:"Why did you choose this score?",size:"large"})),Y.createElement(ll,{appearance:r,value:m,onChange:se=>{w(se.target.value)},placeHolder:"Add your optional fedback here..."}),Y.createElement(Tr,{appearance:r,className:l("npsNumberButtonContainer",r)},Y.createElement(ie,{size:"large",withMargin:!1,onClick:async()=>{await a(e),i&&i(L,1,"primary")},appearance:r,title:L.secondaryButtonTitle||"Skip",secondary:!0}),Y.createElement(ie,{size:"large",withMargin:!1,onClick:async()=>{await h(e,L.id,{feedbackText:m}),await a(e),i&&i(L,1,"primary")},appearance:r,title:L.primaryButtonTitle||"Submit"})))}function X(){return Y.createElement(Y.Fragment,null,Y.createElement(ne,{appearance:r}),Y.createElement(il,{appearance:r,className:we(l("npsSurveyContainer",r),n),style:s,type:p},Y.createElement(al,{onClick:async()=>{await a(e),t&&t()},className:l("npsSurveyDismissButton",r)},Y.createElement(
|
|
1609
|
+
`;var lc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:c,markFlowCompleted:a,markStepCompleted:h,getNumberOfStepsCompleted:d,isLoading:g,targetingLogicShouldHideFlow:C,updateCustomVariables:b,getFlowSteps:k,getFlowStatus:u,getCurrentStepIndex:B}=ee(),{primaryCTAClickSideEffects:x}=ae(),{mergeAppearanceWithDefault:F}=oe(),[N,T]=Y.useState(null),[m,w]=Y.useState(""),{hasOpenModals:y,setKeepCompletedFlowOpenDuringSession:P,shouldKeepCompletedFlowOpenDuringSession:O}=Be();if(r=F(r),nc(()=>{b(o)},[o,g]),g)return null;let I=c(e);if(!I||C(I)||u(e)===R||d(e)===1&&!O(e)||y())return null;let L=k(e)[B(e)];function _(){return Y.createElement(Y.Fragment,null,Y.createElement(kr,null,Y.createElement(Te,{size:"large",appearance:r,title:L.title,subtitle:L.subtitle})),Y.createElement(Tr,{className:l("npsNumberButtonContainer",r),appearance:r},Array.from(Array(10).keys()).map(se=>Y.createElement(nl,{className:l("npsNumberButton",r),selected:N===se+1,key:se,onClick:async()=>{P(e),T(se+1),await h(e,L.id,{score:se+1})},appearance:r},se+1))),Y.createElement(sl,{appearance:r},Y.createElement(Fr,{appearance:r},"Not likely at all"),Y.createElement(Fr,{appearance:r},"Extremely likely")))}function H(){return Y.createElement(Y.Fragment,null,Y.createElement(kr,null,Y.createElement(Te,{appearance:r,title:"Why did you choose this score?",size:"large"})),Y.createElement(ll,{appearance:r,value:m,onChange:se=>{w(se.target.value)},placeHolder:"Add your optional fedback here..."}),Y.createElement(Tr,{appearance:r,className:l("npsNumberButtonContainer",r)},Y.createElement(ie,{size:"large",withMargin:!1,onClick:async()=>{await a(e),i&&i(L,1,"primary")},appearance:r,title:L.secondaryButtonTitle||"Skip",secondary:!0}),Y.createElement(ie,{size:"large",withMargin:!1,onClick:async()=>{await h(e,L.id,{feedbackText:m}),await a(e),i&&i(L,1,"primary")},appearance:r,title:L.primaryButtonTitle||"Submit"})))}function X(){return Y.createElement(Y.Fragment,null,Y.createElement(ne,{appearance:r}),Y.createElement(il,{appearance:r,className:we(l("npsSurveyContainer",r),n),style:s,type:p},Y.createElement(al,{onClick:async()=>{await a(e),t&&t()},className:l("npsSurveyDismissButton",r)},Y.createElement(Ae,null)),d(e)==0&&_(),d(e)==1&&H()))}return p==="inline"?X():Y.createElement(sc,null,X())};import*as Ho from"react";import pl from"react";var dl=({as:e="span",children:t,variant:o="Body1",...i})=>pl.createElement(Hi,{color:"neutral.foreground",fontFamily:"default",forwardedAs:e,variant:o,...i},t),ac=Object.fromEntries(Object.keys(Eo).map(e=>{let t=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():void 0,o=i=>pl.createElement(dl,{as:t,...i,variant:e},i.children);return o.displayName=`Text.${e}`,[e,o]})),Pr=Object.assign(dl,ac);var cl=({as:e="button",className:t,size:o="md",title:i,variant:r="Primary",...n})=>{var s;return Ho.createElement(Wi,{className:`fr-button-${r.toLowerCase()}${t?` ${t}`:""}`,forwardedAs:e,variant:r,size:o,borderRadius:"md",...n},Ho.createElement(Pr,{color:(s=ro[r])==null?void 0:s.color,fontWeight:"semibold"},i))},pc=Object.fromEntries(Object.keys(ro).map(e=>{let t=o=>Ho.createElement(cl,{...o,variant:e});return t.displayName=`Button.${e}`,[e,t]})),dc=Object.assign(cl,pc);export{oo as Box,dc as Button,Ke as CheckBox,rt as FormLabel,Zo as FormTextField,ic as FrigadeBanner,yr as FrigadeChecklist,qe as FrigadeDefaultAppearance,oc as FrigadeEmbeddedTip,Ni as FrigadeForm,Dd as FrigadeGuide,Ad as FrigadeHeroChecklist,lc as FrigadeNPSSurvey,Od as FrigadeProgressBadge,Ip as FrigadeProvider,ec as FrigadeSupportWidget,Xd as FrigadeTour,Et as ProgressRing,Pr as Text,dr as tokens,Be as useFlowOpens,jt as useFlowResponses,ee as useFlows,lr as useOrganization,Gt as useUser,Ee as useUserFlowStates};
|
|
1610
1610
|
//# sourceMappingURL=index.mjs.map
|