@frigade/react 1.33.1 → 1.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +8 -8
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +8 -8
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import ht,{createContext as kp,useEffect as vo,useState as Ae}from"react";import{ThemeProvider as Pp}from"styled-components";import xt,{useContext as tp,useEffect as Fo,useState as sr}from"react";import{useCallback as ut,useContext as Tl,useEffect as Fl}from"react";import _o,{useMemo as Pr}from"react";var kr="1.33.1 ";var Be="NOT_STARTED_STEP",R="COMPLETED_FLOW",lo="ABORTED_FLOW",mt="STARTED_FLOW",Ie="NOT_STARTED_FLOW",Ne="COMPLETED_STEP",ao="STARTED_STEP";function Me(){let{publicApiKey:e,userId:t,apiUrl:o}=_o.useContext(G);return{config:Pr(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":kr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Pr(()=>`${o}/v1/public/`,[o])}}var cl="frigade-last-call-at-",ml="frigade-last-call-data-";function Ft(){let{shouldGracefullyDegrade:e,readonly:t}=_o.useContext(G);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Tt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Tt();let r=cl+o,n=ml+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),d=window.localStorage.getItem(n);if(p&&d&&d==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Tt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Tt(p)}return s?s.ok?s:Tt(s.statusText):Tt()}}function Tt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function kt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=_o.useContext(G);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}import{useContext as yl,useState as vr}from"react";import{useContext as fl,useEffect as gl,useState as xl}from"react";import hl from"swr";import{useContext as ul}from"react";function Fe(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=ul(G);function n(c,f=!1){return e[c]??f}function s(c,f){t(S=>({...S,[c]:f}))}function p(c){t(f=>{let{[c]:S,...T}=f;return{...T}})}function d(c){r.includes(c)||i(f=>[...f,c])}function a(c){return r.includes(c)}function h(c){return Object.entries(e).some(([f,S])=>S&&f!=c)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:a}}import Cl from"swr/immutable";var Sl="unknown";function Ee(){let{config:e,apiUrl:t}=Me(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=fl(G),{resetOpenFlowState:d}=Fe(),[a,h]=xl(!1),c={data:n.map(C=>({flowId:C.id,flowState:R,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=C=>fetch(C,e).then(B=>{if(B.ok)return B.json();throw new Error("Failed to fetch user flow states")}).catch(B=>(console.log(`Error fetching ${C}: ${B}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:T,isLoading:P,mutate:g,error:v}=p?Cl(S,f):hl(S,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),x=T==null?void 0:T.data;gl(()=>{!a&&!P&&x&&h(!0)},[x,a,P]);async function F(C){if(x&&!p){let B=x.find(O=>O.flowId===C);B&&B.flowState!==R&&(B.flowState=R),await g(Promise.resolve({...T,data:x}),{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function I(C,B,O){if(x){let M=x.find(N=>N.flowId===C);M&&(M.stepStates[B]=O,M.flowState=mt),await g(Promise.resolve({...T,data:x}),{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function y(C,B,O){if(x){let M=x.find(N=>N.flowId===C);M&&(M.lastStepId=B,M.stepStates[B]=O,M.flowState=mt),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function m(C){if(x){let B=x.find(O=>O.flowId===C);B&&B.flowState!==Ie&&(B.flowState=Ie,B.lastStepId=Sl,Object.keys(B.stepStates).forEach(O=>{B.stepStates[O].actionType=Be,B.stepStates[O].createdAt=new Date().toISOString()}),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1}),d(C))}}async function w(C,B){if(x){let O=x.find(M=>M.flowId===C);O&&O.stepStates[B]!==Be&&(O.stepStates[B]=Be),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:x,isLoadingUserFlowStateData:!a,mutateUserFlowState:g,optimisticallyMarkFlowCompleted:F,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:I,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:y,error:v}}function Ht(){let{config:e,apiUrl:t}=Me(),{userFlowStatesData:o,mutateUserFlowState:i}=Ee(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=yl(G),[d,a]=vr(new Set),[h,c]=vr(new Set),f=Ft();function S(g){let v=JSON.stringify(g);if(d.has(v))return null;d.add(v),a(d),h.add(g),c(h);let x=s==null?void 0:s.find(F=>F.flowSlug===g.flowSlug&&F.stepId===g.stepId&&F.actionType===g.actionType&&F.createdAt===g.createdAt);return f(`${t}flowResponses`,{...e,method:"POST",body:v}).then(F=>{F.status!==200&&F.status!==201?(console.log("Failed to send flow response for step "+g.stepId+". Will retry again later."),n([...r,g])):x||p(I=>[...I??[],g])})}async function T(g){g.foreignUserId&&(g.actionType===mt||g.actionType===Ie?await S(g):g.actionType===R?await S(g):g.actionType===ao?await S(g):g.actionType===Ne?await S(g):g.actionType===lo?await S(g):g.actionType===Be&&await S(g))}function P(){let g=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let x in v.stepStates){let F=v.stepStates[x];g.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:F.stepId,actionType:F.actionType,data:{},createdAt:new Date(F.createdAt),blocked:F.blocked,hidden:F.hidden})}}),[...g,...s]}return{addResponse:T,setFlowResponses:p,getFlowResponses:P}}import kl from"swr";var bl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Br=e=>{let t=bl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=wl(i,"'","");n.startsWith("flow_")&&(o=n)}),o},wl=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function ee(){let{config:e,apiUrl:t}=Me(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,setFlowResponses:h,setShouldGracefullyDegrade:c,readonly:f}=Tl(G),S={data:[]},{verifySDKInitiated:T}=kt(),{addResponse:P,getFlowResponses:g}=Ht(),v=u=>fetch(u,e).then(b=>b.ok?b.json():(console.log(`Error fetching ${u} (${b.status}): ${b.statusText}. .Will gracefully degrade and hide Frigade`),c(!0),S)).catch(b=>(console.log(`Error fetching ${u}: ${b}. Will gracefully degrade and hide Frigade`),c(!0),S)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowNotStarted:y,optimisticallyMarkStepCompleted:m,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:C}=Ee(),{data:B,error:O,isLoading:M}=kl(n?`${t}flows${f?"?readonly=true":""}`:null,v,{keepPreviousData:!0});Fl(()=>{if(O){console.error(O);return}B&&B.data&&i(B.data)},[B,O]);function N(u){if(M)return null;let b=o.find(E=>E.slug===u);return!b&&o.length>0&&!F&&!M?(console.log(`Flow with slug ${u} not found`),null):(b==null?void 0:b.active)===!1?null:b}function L(u){var A;if(!N(u))return[];let b=N(u).data;return b?(b=H(b),(((A=JSON.parse(b))==null?void 0:A.data)??[]).map(Z=>{let ct=je(Z);return{handleSecondaryButtonClick:()=>{Z.skippable===!0&&ge(u,Z.id,{skipped:!0})},...Z,complete:pe(u,Z.id)===Ne||ct>=1,blocked:_(u,Z.id),hidden:D(u,Z.id),handlePrimaryButtonClick:()=>{(!Z.completionCriteria&&(Z.autoMarkCompleted||Z.autoMarkCompleted===void 0)||Z.completionCriteria&&Z.autoMarkCompleted===!0)&&ge(u,Z.id)},progress:ct}}).filter(Z=>Z.hidden!==!0)):[]}function H(u){return u.replaceAll(/\${(.*?)}/g,(b,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 $(u){if(!N(u))return[];let b=N(u).data;return b?(b=H(b),JSON.parse(b)??{}):[]}function J(u,b){p(E=>({...E,[u]:b}))}function Q(u){!F&&!M&&u&&JSON.stringify(s)!=JSON.stringify({...s,...u})&&Object.keys(u).forEach(b=>{J(b,u[b])})}let Y=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:ao,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await C(u,b,A),P(A))},[r,x]),V=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:Be,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await w(u,b),P(A))},[r,x]),ge=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:Ne,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await m(u,b,A),P(A))},[r,x]),oe=ut(async(u,b)=>{if(T(),De(u)===Ie)return;let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:Ie,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};await y(u),K(E)&&P(E)},[r,x]),q=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:mt,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&P(E)},[r,x]),xe=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:R,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&(await I(u),P(E))},[r,x]),Te=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:lo,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&(await I(u),P(E))},[r,x]);function K(u){var b;if(!x&&u.actionType===Be)return!1;if(x){let E=x.find(A=>A.flowId===u.flowSlug);if(u.actionType===Be&&(!(E!=null&&E.stepStates[u.stepId])||E.stepStates[u.stepId].actionType===Be)||E&&((b=E.stepStates[u.stepId])==null?void 0:b.actionType)===u.actionType||E&&E.flowState===R&&u.actionType===R)return!1}return!0}function pe(u,b){let E=re(u,b);return F?null:E?E.actionType:Be}function _(u,b){let E=re(u,b);return E?E.blocked:!1}function D(u,b){let E=re(u,b);return E?E.hidden:!1}function re(u,b){if(F)return null;let E=x==null?void 0:x.find(A=>A.flowId===u);return!E||!E.stepStates[b]?null:E.stepStates[b]??null}function j(u){var E;if(F||!x)return null;if(De(u)===Ie)return L(u)[0]??null;let b=(E=x.find(A=>A.flowId===u))==null?void 0:E.lastStepId;return b?L(u).find(A=>A.id===b):null}function ie(u){let b=j(u);if(!b)return 0;let E=L(u).findIndex(A=>A.id===b.id)??0;return pe(u,b.id)===Ne&&E<L(u).length-1?E+1:E}function je(u){if(!u.completionCriteria)return;let b=Br(u.completionCriteria);if(b===null)return;let E=dt(b),A=W(b);return A===0?void 0:E/A}function De(u){let b=x==null?void 0:x.find(E=>E.flowId===u);return b?b.flowState:null}function dt(u){let b=L(u);return b.length===0?0:b.filter(A=>pe(u,A.id)===Ne).length}function W(u){return L(u).length}function ve(u){return JSON.parse(o.find(b=>b.slug===u).data)}function $e(u){if(f)return!1;if(F)return!0;if(u!=null&&u.targetingLogic&&x){let b=x.find(E=>E.flowId===u.slug);if(b)return b.shouldTrigger===!1}return!!(u!=null&&u.targetingLogic&&r&&r.startsWith("guest_"))}function zo(u){return!$e(N(u))}return{getFlow:N,getFlowData:ve,isLoading:F||M,getStepStatus:pe,getFlowSteps:L,getCurrentStepIndex:ie,markStepStarted:Y,markStepCompleted:ge,markFlowNotStarted:oe,markFlowStarted:q,markFlowCompleted:xe,markFlowAborted:Te,markStepNotStarted:V,getFlowStatus:De,getNumberOfStepsCompleted:dt,getNumberOfSteps:W,targetingLogicShouldHideFlow:$e,setCustomVariable:J,updateCustomVariables:Q,customVariables:s,getStepOptionalProgress:je,getFlowMetadata:$,isStepBlocked:_,isStepHidden:D,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,isFlowAvailableToUser:zo}}import{useCallback as Er,useContext as Pl,useEffect as vl}from"react";var Pt="guest_";function Vt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=Pl(G),{config:n,apiUrl:s}=Me(),{mutateUserFlowState:p}=Ee(),d=Ft(),{verifySDKInitiated:a}=kt();vl(()=>{if(e&&!t){if(e.startsWith(Pt))return;let f=`frigade-user-registered-${e}`;localStorage.getItem(f)||(d(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(f,"true"))}},[e,r,t]);let h=Er(async f=>{a();let S={foreignId:e,properties:f};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(S)}),i(T=>({...T,...f})),p()},[e,n,r,p]),c=Er(async(f,S)=>{a();let P={foreignId:e,events:[{event:f,properties:S}]};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(P)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:h,trackEventForUser:c}}import{v4 as op}from"uuid";import ze,{useEffect as Qa,useState as Za}from"react";import Le,{useEffect as Ol}from"react";import mo from"styled-components";import Bl from"react";import El from"styled-components";var Ar="fr-",jt="cfr-";function l(e,t){let o=`${Ar}${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+" "+jt+e}return o}function k(e){if(!e.className||e.className.indexOf(jt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Ar)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Wo(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=>`${Wo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ce(...e){return e.filter(Boolean).join(" ")}function Gt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Al=El.div`
|
|
2
|
+
import ht,{createContext as kp,useEffect as vo,useState as Ae}from"react";import{ThemeProvider as Pp}from"styled-components";import xt,{useContext as tp,useEffect as Fo,useState as sr}from"react";import{useCallback as ut,useContext as Tl,useEffect as Fl}from"react";import _o,{useMemo as Pr}from"react";var kr="1.33.2 ";var Be="NOT_STARTED_STEP",R="COMPLETED_FLOW",lo="ABORTED_FLOW",mt="STARTED_FLOW",Ie="NOT_STARTED_FLOW",Ne="COMPLETED_STEP",ao="STARTED_STEP";function Me(){let{publicApiKey:e,userId:t,apiUrl:o}=_o.useContext(G);return{config:Pr(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":kr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Pr(()=>`${o}/v1/public/`,[o])}}var cl="frigade-last-call-at-",ml="frigade-last-call-data-";function Ft(){let{shouldGracefullyDegrade:e,readonly:t}=_o.useContext(G);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Tt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Tt();let r=cl+o,n=ml+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),d=window.localStorage.getItem(n);if(p&&d&&d==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Tt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Tt(p)}return s?s.ok?s:Tt(s.statusText):Tt()}}function Tt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function kt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=_o.useContext(G);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}import{useContext as yl,useState as vr}from"react";import{useContext as fl,useEffect as gl,useState as xl}from"react";import hl from"swr";import{useContext as ul}from"react";function Fe(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=ul(G);function n(c,f=!1){return e[c]??f}function s(c,f){t(S=>({...S,[c]:f}))}function p(c){t(f=>{let{[c]:S,...T}=f;return{...T}})}function d(c){r.includes(c)||i(f=>[...f,c])}function a(c){return r.includes(c)}function h(c){return Object.entries(e).some(([f,S])=>S&&f!=c)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:h,setKeepCompletedFlowOpenDuringSession:d,shouldKeepCompletedFlowOpenDuringSession:a}}import Cl from"swr/immutable";var Sl="unknown";function Ee(){let{config:e,apiUrl:t}=Me(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=fl(G),{resetOpenFlowState:d}=Fe(),[a,h]=xl(!1),c={data:n.map(C=>({flowId:C.id,flowState:R,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},f=C=>fetch(C,e).then(B=>{if(B.ok)return B.json();throw new Error("Failed to fetch user flow states")}).catch(B=>(console.log(`Error fetching ${C}: ${B}. Will gracefully degrade and hide Frigade`),s(!0),c)),S=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:T,isLoading:P,mutate:g,error:v}=p?Cl(S,f):hl(S,f,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>c,onLoadingSlow:()=>c}),x=T==null?void 0:T.data;gl(()=>{!a&&!P&&x&&h(!0)},[x,a,P]);async function F(C){if(x&&!p){let B=x.find(L=>L.flowId===C);B&&B.flowState!==R&&(B.flowState=R),await g(Promise.resolve({...T,data:x}),{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function I(C,B,L){if(x){let M=x.find(N=>N.flowId===C);M&&(M.stepStates[B]=L,M.flowState=mt),await g(Promise.resolve({...T,data:x}),{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function y(C,B,L){if(x){let M=x.find(N=>N.flowId===C);M&&(M.lastStepId=B,M.stepStates[B]=L,M.flowState=mt),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}async function m(C){if(x){let B=x.find(L=>L.flowId===C);B&&B.flowState!==Ie&&(B.flowState=Ie,B.lastStepId=Sl,Object.keys(B.stepStates).forEach(L=>{B.stepStates[L].actionType=Be,B.stepStates[L].createdAt=new Date().toISOString()}),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1}),d(C))}}async function w(C,B){if(x){let L=x.find(M=>M.flowId===C);L&&L.stepStates[B]!==Be&&(L.stepStates[B]=Be),await g({...T,data:x},{optimisticData:{...T,data:x},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:x,isLoadingUserFlowStateData:!a,mutateUserFlowState:g,optimisticallyMarkFlowCompleted:F,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:I,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:y,error:v}}function Ht(){let{config:e,apiUrl:t}=Me(),{userFlowStatesData:o,mutateUserFlowState:i}=Ee(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=yl(G),[d,a]=vr(new Set),[h,c]=vr(new Set),f=Ft();function S(g){let v=JSON.stringify(g);if(d.has(v))return null;d.add(v),a(d),h.add(g),c(h);let x=s==null?void 0:s.find(F=>F.flowSlug===g.flowSlug&&F.stepId===g.stepId&&F.actionType===g.actionType&&F.createdAt===g.createdAt);return f(`${t}flowResponses`,{...e,method:"POST",body:v}).then(F=>{F.status!==200&&F.status!==201?(console.log("Failed to send flow response for step "+g.stepId+". Will retry again later."),n([...r,g])):x||p(I=>[...I??[],g])})}async function T(g){g.foreignUserId&&(g.actionType===mt||g.actionType===Ie?await S(g):g.actionType===R?await S(g):g.actionType===ao?await S(g):g.actionType===Ne?await S(g):g.actionType===lo?await S(g):g.actionType===Be&&await S(g))}function P(){let g=[];return o==null||o.forEach(v=>{if(v&&v.stepStates&&Object.keys(v.stepStates).length!==0)for(let x in v.stepStates){let F=v.stepStates[x];g.push({foreignUserId:v.foreignUserId,flowSlug:v.flowId,stepId:F.stepId,actionType:F.actionType,data:{},createdAt:new Date(F.createdAt),blocked:F.blocked,hidden:F.hidden})}}),[...g,...s]}return{addResponse:T,setFlowResponses:p,getFlowResponses:P}}import kl from"swr";var bl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Br=e=>{let t=bl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=wl(i,"'","");n.startsWith("flow_")&&(o=n)}),o},wl=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function ee(){let{config:e,apiUrl:t}=Me(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,setFlowResponses:h,setShouldGracefullyDegrade:c,readonly:f}=Tl(G),S={data:[]},{verifySDKInitiated:T}=kt(),{addResponse:P,getFlowResponses:g}=Ht(),v=u=>fetch(u,e).then(b=>b.ok?b.json():(console.log(`Error fetching ${u} (${b.status}): ${b.statusText}. .Will gracefully degrade and hide Frigade`),c(!0),S)).catch(b=>(console.log(`Error fetching ${u}: ${b}. Will gracefully degrade and hide Frigade`),c(!0),S)),{userFlowStatesData:x,isLoadingUserFlowStateData:F,optimisticallyMarkFlowCompleted:I,optimisticallyMarkFlowNotStarted:y,optimisticallyMarkStepCompleted:m,optimisticallyMarkStepNotStarted:w,optimisticallyMarkStepStarted:C}=Ee(),{data:B,error:L,isLoading:M}=kl(n?`${t}flows${f?"?readonly=true":""}`:null,v,{keepPreviousData:!0});Fl(()=>{if(L){console.error(L);return}B&&B.data&&i(B.data)},[B,L]);function N(u){if(M)return null;let b=o.find(E=>E.slug===u);return!b&&o.length>0&&!F&&!M?(console.log(`Flow with slug ${u} not found`),null):(b==null?void 0:b.active)===!1?null:b}function O(u){var A;if(!N(u))return[];let b=N(u).data;return b?(b=H(b),(((A=JSON.parse(b))==null?void 0:A.data)??[]).map(Z=>{let ct=je(Z);return{handleSecondaryButtonClick:()=>{Z.skippable===!0&&ge(u,Z.id,{skipped:!0})},...Z,complete:pe(u,Z.id)===Ne||ct>=1,blocked:_(u,Z.id),hidden:D(u,Z.id),handlePrimaryButtonClick:()=>{(!Z.completionCriteria&&(Z.autoMarkCompleted||Z.autoMarkCompleted===void 0)||Z.completionCriteria&&Z.autoMarkCompleted===!0)&&ge(u,Z.id)},progress:ct}}).filter(Z=>Z.hidden!==!0)):[]}function H(u){return u.replaceAll(/\${(.*?)}/g,(b,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 $(u){if(!N(u))return[];let b=N(u).data;return b?(b=H(b),JSON.parse(b)??{}):[]}function J(u,b){p(E=>({...E,[u]:b}))}function Q(u){!F&&!M&&u&&JSON.stringify(s)!=JSON.stringify({...s,...u})&&Object.keys(u).forEach(b=>{J(b,u[b])})}let Y=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:ao,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await C(u,b,A),P(A))},[r,x]),V=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:Be,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await w(u,b),P(A))},[r,x]),ge=ut(async(u,b,E)=>{T();let A={foreignUserId:r,flowSlug:u,stepId:b,actionType:Ne,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};K(A)&&(await m(u,b,A),P(A))},[r,x]),oe=ut(async(u,b)=>{if(T(),De(u)===Ie)return;let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:Ie,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};await y(u),K(E)&&P(E)},[r,x]),q=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:mt,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&P(E)},[r,x]),xe=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:R,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&(await I(u),P(E))},[r,x]),Te=ut(async(u,b)=>{T();let E={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:lo,data:b??{},createdAt:new Date,blocked:!1,hidden:!1};K(E)&&(await I(u),P(E))},[r,x]);function K(u){var b;if(!x&&u.actionType===Be)return!1;if(x){let E=x.find(A=>A.flowId===u.flowSlug);if(u.actionType===Be&&(!(E!=null&&E.stepStates[u.stepId])||E.stepStates[u.stepId].actionType===Be)||E&&((b=E.stepStates[u.stepId])==null?void 0:b.actionType)===u.actionType||E&&E.flowState===R&&u.actionType===R)return!1}return!0}function pe(u,b){let E=re(u,b);return F?null:E?E.actionType:Be}function _(u,b){let E=re(u,b);return E?E.blocked:!1}function D(u,b){let E=re(u,b);return E?E.hidden:!1}function re(u,b){if(F)return null;let E=x==null?void 0:x.find(A=>A.flowId===u);return!E||!E.stepStates[b]?null:E.stepStates[b]??null}function j(u){var E;if(F||!x)return null;if(De(u)===Ie)return O(u)[0]??null;let b=(E=x.find(A=>A.flowId===u))==null?void 0:E.lastStepId;return b?O(u).find(A=>A.id===b):null}function ie(u){let b=j(u);if(!b)return 0;let E=O(u).findIndex(A=>A.id===b.id)??0;return pe(u,b.id)===Ne&&E<O(u).length-1?E+1:E}function je(u){if(!u.completionCriteria)return;let b=Br(u.completionCriteria);if(b===null)return;let E=dt(b),A=W(b);return A===0?void 0:E/A}function De(u){let b=x==null?void 0:x.find(E=>E.flowId===u);return b?b.flowState:null}function dt(u){let b=O(u);return b.length===0?0:b.filter(A=>pe(u,A.id)===Ne).length}function W(u){return O(u).length}function ve(u){return JSON.parse(o.find(b=>b.slug===u).data)}function $e(u){if(f)return!1;if(F)return!0;if(u!=null&&u.targetingLogic&&x){let b=x.find(E=>E.flowId===u.slug);if(b)return b.shouldTrigger===!1}return!!(u!=null&&u.targetingLogic&&r&&r.startsWith("guest_"))}function zo(u){return!$e(N(u))}return{getFlow:N,getFlowData:ve,isLoading:F||M,getStepStatus:pe,getFlowSteps:O,getCurrentStepIndex:ie,markStepStarted:Y,markStepCompleted:ge,markFlowNotStarted:oe,markFlowStarted:q,markFlowCompleted:xe,markFlowAborted:Te,markStepNotStarted:V,getFlowStatus:De,getNumberOfStepsCompleted:dt,getNumberOfSteps:W,targetingLogicShouldHideFlow:$e,setCustomVariable:J,updateCustomVariables:Q,customVariables:s,getStepOptionalProgress:je,getFlowMetadata:$,isStepBlocked:_,isStepHidden:D,hasActiveFullPageFlow:d,setHasActiveFullPageFlow:a,isFlowAvailableToUser:zo}}import{useCallback as Er,useContext as Pl,useEffect as vl}from"react";var Pt="guest_";function Vt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=Pl(G),{config:n,apiUrl:s}=Me(),{mutateUserFlowState:p}=Ee(),d=Ft(),{verifySDKInitiated:a}=kt();vl(()=>{if(e&&!t){if(e.startsWith(Pt))return;let f=`frigade-user-registered-${e}`;localStorage.getItem(f)||(d(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(f,"true"))}},[e,r,t]);let h=Er(async f=>{a();let S={foreignId:e,properties:f};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(S)}),i(T=>({...T,...f})),p()},[e,n,r,p]),c=Er(async(f,S)=>{a();let P={foreignId:e,events:[{event:f,properties:S}]};await d(`${s}users`,{...n,method:"POST",body:JSON.stringify(P)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:h,trackEventForUser:c}}import{v4 as op}from"uuid";import ze,{useEffect as Qa,useState as Za}from"react";import Le,{useEffect as Ol}from"react";import mo from"styled-components";import Bl from"react";import El from"styled-components";var Ar="fr-",jt="cfr-";function l(e,t){let o=`${Ar}${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+" "+jt+e}return o}function k(e){if(!e.className||e.className.indexOf(jt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Ar)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Wo(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=>`${Wo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function Ce(...e){return e.filter(Boolean).join(" ")}function Gt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Al=El.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -385,7 +385,7 @@ import ht,{createContext as kp,useEffect as vo,useState as Ae}from"react";import
|
|
|
385
385
|
`,Ta=Co.div`
|
|
386
386
|
padding-left: 1px;
|
|
387
387
|
padding-right: 1px;
|
|
388
|
-
`,Fa={text:Xo,multipleChoice:ei,multipleChoiceList:ii};function li({flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n,customFormElements:s}){var I;let p=t.props,[d,a]=Ro([]),[h,c]=Ro([]),{userId:f}=Vt(),[S,T]=Ro(x()||{}),{readonly:P}=xa(G),g={...Fa,...s};ha(()=>{i(d.length===0)},[d,i]);function v(y,m){let w={...S,[y.id]:m};T(w),r(w),window&&window.localStorage&&!P&&window.localStorage.setItem(F(),JSON.stringify(w))}function x(){if(window&&window.localStorage){let y=window.localStorage.getItem(F());if(y)return JSON.parse(y)}return{}}function F(){return`frigade-multiInputStepTypeData-${e}-${t.id}-${f}`}return it.createElement(Ta,{className:l("multiInput",n)},it.createElement(Se,{appearance:n,title:t.title,subtitle:t.subtitle}),it.createElement(ya,{className:l("multiInputContainer",n)},(I=p.data)==null?void 0:I.map(y=>{var w;let m=(w=d.reverse().find(C=>C.id===y.id))==null?void 0:w.message;return g[y.type]?it.createElement("span",{key:y.id,"data-field-id":y.id,className:l("multiInputField",n)},g[y.type]({formInput:y,customFormTypeProps:{flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n},onSaveInputData:C=>{!h.includes(y.id)&&C&&(C==null?void 0:C.text)!==""&&c(B=>[...B,y.id]),v(y,C)},inputData:S[y.id],setFormValidationErrors:C=>{a(B=>C.length===0?B.filter(
|
|
388
|
+
`,Fa={text:Xo,multipleChoice:ei,multipleChoiceList:ii};function li({flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n,customFormElements:s}){var I;let p=t.props,[d,a]=Ro([]),[h,c]=Ro([]),{userId:f}=Vt(),[S,T]=Ro(x()||{}),{readonly:P}=xa(G),g={...Fa,...s};ha(()=>{i(d.length===0)},[d,i]);function v(y,m){let w={...S,[y.id]:m};T(w),r(w),window&&window.localStorage&&!P&&window.localStorage.setItem(F(),JSON.stringify(w))}function x(){if(window&&window.localStorage){let y=window.localStorage.getItem(F());if(y)return JSON.parse(y)}return{}}function F(){return`frigade-multiInputStepTypeData-${e}-${t.id}-${f}`}return it.createElement(Ta,{className:l("multiInput",n)},it.createElement(Se,{appearance:n,title:t.title,subtitle:t.subtitle}),it.createElement(ya,{className:l("multiInputContainer",n)},(I=p.data)==null?void 0:I.map(y=>{var w;let m=(w=d.reverse().find(C=>C.id===y.id))==null?void 0:w.message;return g[y.type]?it.createElement("span",{key:y.id,"data-field-id":y.id,className:l("multiInputField",n)},g[y.type]({formInput:y,customFormTypeProps:{flowId:e,stepData:t,canContinue:o,setCanContinue:i,onSaveData:r,appearance:n},onSaveInputData:C=>{!h.includes(y.id)&&C&&(C==null?void 0:C.text)!==""&&c(B=>[...B,y.id]),v(y,C)},inputData:S[y.id],setFormValidationErrors:C=>{a(B=>C.length===0?B.filter(L=>L.id!==y.id):[...B,...C])}}),it.createElement(Ca,null,m&&h.includes(y.id)&&it.createElement(ba,{initial:{opacity:0,height:0,marginBottom:0},animate:{opacity:1,height:"auto",marginBottom:12},exit:{opacity:0,height:0,marginBottom:0},key:y.id,style:{overflow:"hidden"},transition:{duration:.1,ease:"easeInOut",delay:.5},appearance:n,className:l("multiInputValidationError",n)},it.createElement(wa,{appearance:n,className:l("multiInputValidationErrorIcon",n)},it.createElement(si,null)),m))):null})))}import ft from"styled-components";var ai=ft.div`
|
|
389
389
|
align-items: center;
|
|
390
390
|
display: flex;
|
|
391
391
|
justify-content: ${e=>e.showBackButton?"space-between":"flex-end"};
|
|
@@ -628,8 +628,8 @@ import ht,{createContext as kp,useEffect as vo,useState as Ae}from"react";import
|
|
|
628
628
|
color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorText}};
|
|
629
629
|
display: flex;
|
|
630
630
|
align-self: center;
|
|
631
|
-
`;var Bi=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let r=e.props,[n,s]=rr([]),[p,d]=rr(!1),[a,h]=rr(e.id);return or(()=>{n.length==0&&!p&&(d(!0),o({choice:[]}))},[p]),or(()=>{a!==e.id&&(h(e.id),s([]))},[e]),or(()=>{o({choice:n}),n.length>=r.minChoices?t(!0):t(!1)},[n]),Ye.createElement(yi,{className:l("selectListContainer",i)},Ye.createElement(bi,null,Ye.createElement(wi,{className:l("selectListTitle",i)},e.title),Ye.createElement(Ti,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),r.options.map((c,f)=>{let S=n.includes(c.id);return Ye.createElement(Fi,{key:`select-item-${f}`,onClick:()=>{if(n.includes(c.id)){s(n.filter(T=>T!==c.id));return}n.length<r.maxChoices?s([...n,c.id]):n.length==1&&r.maxChoices==1&&s([c.id])},hideBottomBorder:f===r.options.length-1,className:l("selectListSelectItem",i)},Ye.createElement(ki,{className:l("selectListItemImage",i)},c.imageUri&&Ye.createElement(Pi,{src:c.imageUri,alt:`select-icon-${f}`}),Ye.createElement(vi,{appearance:i,className:l("selectListSelectItemText",i)},c.title)),Ye.createElement(Ke,{appearance:i,value:S,primaryColor:i.theme.colorPrimary}))}))};import ye,{useEffect as ir,useState as Jt}from"react";import{AnimatePresence as Ka,motion as Ya}from"framer-motion";var Xa=({children:e,id:t,shouldWrap:o=!1})=>ye.createElement(ye.Fragment,null,o?ye.createElement(Ka,{initial:!1},ye.createElement(Ya.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),To=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:r,onButtonClick:n,onStepCompletion:s,flowId:p,type:d,hideOnFlowCompletion:a,onComplete:h,setVisible:c,setShowModal:f,onDismiss:S,showPagination:T=!1,customFormElements:P,allowBackNavigation:g,validationHandler:v})=>{var _;let F={...{linkCollection:Ci,multiInput:li,callToAction:Si,selectList:Bi},...i},{primaryCTAClickSideEffects:I,secondaryCTAClickSideEffects:y}=le(),[m,w]=Jt(!1),[C,B]=Jt({}),[
|
|
632
|
-
${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map(([s,p])=>`${Wo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Qt.createElement(o,{inlineStyles:t})}var Ei=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:d,hideOnFlowCompletion:a=!0,onStepCompletion:h,onButtonClick:c,dismissible:f=!0,endFlowOnDismiss:S=!1,modalPosition:T="center",repeatable:P=!1,onDismiss:g,showPagination:v=!1,allowBackNavigation:x=!1,validationHandler:F,showFrigadeBranding:I=!1})=>{let{getFlow:y,getFlowSteps:m,isLoading:w,targetingLogicShouldHideFlow:C,getFlowStatus:B,getCurrentStepIndex:O,markFlowCompleted:M,markFlowNotStarted:N}=ee(),L=O(e),{mergeAppearanceWithDefault:H}=te(),[$,J]=Za(!1),{setOpenFlowState:Q,getOpenFlowState:Y,hasOpenModals:V}=Fe();d=H(d);let[ge,oe]=i!==void 0&&r!==void 0?[i,r]:[Y(e,!0),K=>Q(e,K)];if(Qa(()=>{!$&&!w&&(J(!0),B(e)===R&&P&&N(e),J(!0))},[$,J,w]),w)return null;let q=y(e);if(!q||C(q))return null;let xe=m(e);if(!xe||i!==void 0&&i===!1||B(e)===R&&a||(o=="modal"||o=="corner-modal")&&V(e))return null;let Te=()=>{oe(!1),g&&g(),S===!0&&M(e)};if(T=="center"&&o==="modal"||o==="large-modal"){let K={padding:"24px"};return o==="large-modal"?(K.width="85%",K.height="90%",K.maxHeight="800px",K.minHeight="500px",K.padding="0"):K.width="400px",ze.createElement(tt,{appearance:d,onClose:Te,visible:ge,style:K,dismissible:f,showFrigadeBranding:I},ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:L,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F}))}return o==="modal"&&T!=="center"?ze.createElement(jr,{appearance:d,onClose:Te,visible:ge},ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:L,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F})):ze.createElement(ze.Fragment,null,ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:L,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F}))},Ai=Ei;import{useCallback as Ii,useContext as Ra,useEffect as ep}from"react";function nr(){let{organizationId:e,userId:t,setOrganizationId:o}=Ra(G),{mutateUserFlowState:i}=Ee(),{config:r,apiUrl:n}=Me(),s=Ft(),{verifySDKInitiated:p}=kt();ep(()=>{if(t&&e){if(t.startsWith(Pt))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 d=Ii(async h=>{if(p(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let c={foreignUserId:t,foreignUserGroupId:e,properties:h};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(c)}),i()},[e,t,r,i]),a=Ii(async(h,c)=>{if(p(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let S={foreignUserId:t,foreignUserGroupId:e,events:[{event:h,properties:c}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(S)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:d,trackEventForOrganization:a}}var Ni="frigade-xFrigade_guestUserId",Zt="frigade-xFrigade_userId",Li=({})=>{let{setFlowResponses:e}=Ht(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ee(),{userId:r,setUserId:n}=Vt(),[s,p]=sr(null),{getFlowStatus:d}=ee(),{flows:a,userProperties:h,setIsNewGuestUser:c,flowResponses:f}=tp(G),[S,T]=sr([]),[P,g]=sr([]),{organizationId:v}=nr();Fo(()=>{if(!o&&t)for(let y=0;y<t.length;y++){let m=t[y],w=a.find(C=>C.slug===(m==null?void 0:m.flowId));if(w&&m&&m.shouldTrigger===!0&&w.type=="FORM"&&w.triggerType==="AUTOMATIC"&&!P.includes(w.slug)){setTimeout(()=>{x(m.flowId)},500);break}}},[o,t]),Fo(()=>{f.length>0&&i()},[f]);function x(y){let m=a.find(w=>w.slug===y);m&&m.triggerType==="AUTOMATIC"&&!P.includes(m.slug)&&(g([...P,m.slug]),T([m]))}function F(){if(!r){let y=localStorage.getItem(Zt);if(y){n(y);return}let m=localStorage.getItem(Ni);if(m){n(m);return}c(!0);let w=Pt+op();try{localStorage.setItem(Ni,w)}catch(C){console.log("Failed to save guest user id locally: Local storage unavailable",C)}n(C=>C||w)}}Fo(()=>{try{if(a){let y=[];a.forEach(m=>{if(m.data){let w=m.data.match(/"imageUri":"(.*?)"/g);w&&w.forEach(C=>{let B=C.replace('"imageUri":"',"").replace('"',"");if(y.includes(B))return;let O=new Image;O.src=B,y.push(B)})}})}}catch{}},[a]),Fo(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(Pt))try{localStorage.setItem(Zt,r)}catch(y){console.log("Failed to save user id locally: Local storage available",y)}r===null&&setTimeout(()=>{r===null&&F()},50)},[r,a,h]);function I(){return xt.createElement(xt.Fragment,null,S.map(y=>d(y.slug)!==Ie?null:xt.createElement("span",{key:y.slug},xt.createElement(Ai,{flowId:y.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return xt.createElement(xt.Fragment,null,xt.createElement(I,null))};import{ErrorBoundary as vp}from"react-error-boundary";import{deepmerge as Bp}from"deepmerge-ts";import hp from"styled-components";import{compose as Cp,variant as Di}from"styled-system";import Oi from"react";import rp,{ThemeProvider as ip,useTheme as np}from"styled-components";import{border as sp,color as lp,compose as ap,get as pp,shadow as dp,space as cp,system as mp,typography as up}from"styled-system";import{deepmerge as fp}from"deepmerge-ts";var gp={width:{property:"width",scale:"sizes",transform:(e,t)=>pp(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},xp=rp("div")(({css:e})=>e,ap(sp,lp,dp,cp,up,mp(gp))),ko=({as:e,children:t,overrides:o,...i})=>{let r=np(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>Oi.createElement(xp,{as:e,...n,...i},t);if(o!==void 0){let p=fp(r,o);return Oi.createElement(ip,{theme:p},s())}return s()};var Rt={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"}},Sp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},$i=hp(ko)(()=>({whiteSpace:"nowrap"}),Cp(Di({scale:"components.Button",variants:"components.Button"}),Di({prop:"size",variants:Sp})));import yp from"styled-components";import{variant as bp,system as wp}from"styled-system";var Po={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 Mi=yp(ko)(bp({scale:"components.Text",variants:"components.Text"}),wp({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var Ui=4,zi="px",Tp=20,Fp=Object.fromEntries(Array.from(Array(Tp+1),(e,t)=>t===0?[.5,`${.5*Ui}${zi}`]:[t,`${t*Ui}${zi}`])),It={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"},lr={colors:{...It,neutral:{foreground:It.gray300},primary:{background:It.blue500,foreground:It.white,inverted:It.blue500},negative:{foreground:It.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:Fp,components:{Button:Rt,Text:Po}};var _i="https://api.frigade.com",G=kp({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:_i,readonly:!1});function Ep(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var Ap=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var Q,Y;let[n,s]=Ae(t||null),[p,d]=Ae(o||null),[a,h]=Ae([]),[c,f]=Ae([]),[S,T]=Ae([]),[P,g]=Ae({}),[v,x]=Ae({}),[F,I]=Ae([]),[y,m]=Ae({}),[w,C]=Ae(!1),[B,O]=Ae(!1),[M,N]=Ae(!$(e)),L=(V,ge)=>{if(ge==="_blank"){window.open(V,"_blank");return}setTimeout(()=>{window.location.href=V},50)},H={theme:{...qe.theme,...((Q=i==null?void 0:i.defaultAppearance)==null?void 0:Q.theme)??{}},styleOverrides:{...qe.styleOverrides,...((Y=i==null?void 0:i.defaultAppearance)==null?void 0:Y.styleOverrides)??{}}};function $(V){return!!(V&&V.length>10&&V.substring(0,10)==="api_public")}vo(()=>{t&&s(t)},[t]),vo(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(Zt)&&window.localStorage.getItem(Zt)!==n&&Ep()},[n]),vo(()=>{o&&d(o)},[o]),vo(()=>{if($(e))N(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),N(!0);return}},[e,N]);let J={publicApiKey:e,userId:n,setUserId:s,setFlows:h,flows:a,failedFlowResponses:c,setFailedFlowResponses:f,flowResponses:S,setFlowResponses:T,userProperties:P,setUserProperties:g,openFlowStates:v,setOpenFlowStates:x,completedFlowsToKeepOpenDuringSession:F,setCompletedFlowsToKeepOpenDuringSession:I,customVariables:y,setCustomVariables:m,isNewGuestUser:w,setIsNewGuestUser:C,hasActiveFullPageFlow:B,setHasActiveFullPageFlow:O,organizationId:p,setOrganizationId:d,navigate:i&&i.navigate?i.navigate:L,defaultAppearance:H,shouldGracefullyDegrade:M,setShouldGracefullyDegrade:N,apiUrl:i&&i.apiUrl?i.apiUrl:_i,readonly:i&&i.readonly?i.readonly:!1};return M?ht.createElement(G.Provider,{value:J},r):ht.createElement(vp,{fallback:ht.createElement(ht.Fragment,null,r)},ht.createElement(G.Provider,{value:J},ht.createElement(Pp,{theme:Bp(H.theme,lr,(i==null?void 0:i.theme)??{})},r,ht.createElement(Li,null))))};import Bd from"react";import ce,{useEffect as xs,useState as hs}from"react";import Oe,{useState as Rp}from"react";import yt from"styled-components";import Ao from"react";import Ct from"react";import Hi from"styled-components";var Wi=Hi.span`
|
|
631
|
+
`;var Bi=({stepData:e,setCanContinue:t,onSaveData:o,appearance:i})=>{let r=e.props,[n,s]=rr([]),[p,d]=rr(!1),[a,h]=rr(e.id);return or(()=>{n.length==0&&!p&&(d(!0),o({choice:[]}))},[p]),or(()=>{a!==e.id&&(h(e.id),s([]))},[e]),or(()=>{o({choice:n}),n.length>=r.minChoices?t(!0):t(!1)},[n]),Ye.createElement(yi,{className:l("selectListContainer",i)},Ye.createElement(bi,null,Ye.createElement(wi,{className:l("selectListTitle",i)},e.title),Ye.createElement(Ti,{appearance:i,className:l("selectListSubtitle",i)},e.subtitle)),r.options.map((c,f)=>{let S=n.includes(c.id);return Ye.createElement(Fi,{key:`select-item-${f}`,onClick:()=>{if(n.includes(c.id)){s(n.filter(T=>T!==c.id));return}n.length<r.maxChoices?s([...n,c.id]):n.length==1&&r.maxChoices==1&&s([c.id])},hideBottomBorder:f===r.options.length-1,className:l("selectListSelectItem",i)},Ye.createElement(ki,{className:l("selectListItemImage",i)},c.imageUri&&Ye.createElement(Pi,{src:c.imageUri,alt:`select-icon-${f}`}),Ye.createElement(vi,{appearance:i,className:l("selectListSelectItemText",i)},c.title)),Ye.createElement(Ke,{appearance:i,value:S,primaryColor:i.theme.colorPrimary}))}))};import ye,{useEffect as ir,useState as Jt}from"react";import{AnimatePresence as Ka,motion as Ya}from"framer-motion";var Xa=({children:e,id:t,shouldWrap:o=!1})=>ye.createElement(ye.Fragment,null,o?ye.createElement(Ka,{initial:!1},ye.createElement(Ya.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),To=({appearance:e,steps:t,selectedStep:o,customStepTypes:i,customVariables:r,onButtonClick:n,onStepCompletion:s,flowId:p,type:d,hideOnFlowCompletion:a,onComplete:h,setVisible:c,setShowModal:f,onDismiss:S,showPagination:T=!1,customFormElements:P,allowBackNavigation:g,validationHandler:v})=>{var _;let F={...{linkCollection:Ci,multiInput:li,callToAction:Si,selectList:Bi},...i},{primaryCTAClickSideEffects:I,secondaryCTAClickSideEffects:y}=le(),[m,w]=Jt(!1),[C,B]=Jt({}),[L,M]=Jt(!1),[N,O]=Jt(!1),[H,$]=Jt(null),J=t[o]??null,{markStepCompleted:Q,markStepStarted:Y,isLoading:V,updateCustomVariables:ge,markFlowCompleted:oe}=ee();ir(()=>{ge(r)},[r,V]),ir(()=>{window&&g&&!N&&(window.location.hash=t[o].id,O(!0))},[g,N,O]),ir(()=>{var D;if(window&&((D=window==null?void 0:window.location)!=null&&D.hash)&&window.location.hash.replace("#","")!==t[o].id){let re=window.location.hash.replace("#",""),j=t.findIndex(ie=>ie.id===re);j!==-1&&Y(p,t[j].id)}},[(_=window==null?void 0:window.location)==null?void 0:_.hash,Y,o,t]);function q(){return{data:C[t[o].id]??{},stepId:t[o].id,customVariables:r}}function xe(D,re,j){let ie=o+1<t.length?t[o+1]:null;return s&&s(D,j,ie,C,q()),n?n(D,o,re,ie):!0}function Te(D,re){B(j=>{let ie={};return ie[D.id]=re,{...j,...ie}})}function K(D){return D.selectedStep.imageUri?ye.createElement(fi,{image:D.selectedStep.imageUri,appearance:e,className:l("formContainerSidebarImage",e)}):null}let pe=ye.createElement(xi,{step:t[o],canContinue:m&&!L,formType:d,selectedStep:o,appearance:e,onPrimaryClick:async()=>{if(M(!0),v){let j=await v(t[o],o,t[o+1],C,q());if(j){$(j),M(!1);return}else $(null)}let D={...q()};await Q(p,t[o].id,D),o+1<t.length&&await Y(p,t[o+1].id);let re=xe(t[o],"primary",o);o+1>=t.length&&(h&&h(),S&&S(),a&&re&&(c&&c(!1),f(!1)),await oe(p)),I(t[o]),M(!1),window&&g&&o+1<t.length&&(window.location.hash=t[o+1].id)},onSecondaryClick:()=>{xe(t[o],"secondary",o),y(t[o])},onBack:async()=>{o-1>=0&&(M(!0),await Y(p,t[o-1].id),M(!1))},steps:t,allowBackNavigation:g,errorMessage:H});return ye.createElement(ye.Fragment,null,ye.createElement(ci,{className:l("formContainer",e)},ye.createElement(mi,null,ye.createElement(Xa,{id:o,shouldWrap:d==="large-modal"},ye.createElement(ui,{key:J.id,type:d,className:l("formContent",e)},t.map(D=>{let re=F[D.type];return J.id!==D.id?null:ye.createElement(re,{key:D.id,stepData:D,canContinue:m,setCanContinue:w,onSaveData:j=>{Te(D,j)},appearance:e,customFormElements:P,flowId:p})}),T&&ye.createElement(hi,{className:l("formPagination",e),appearance:e,stepCount:t.length,currentStep:o}),pe))),d=="large-modal"&&ye.createElement(K,{selectedStep:t[o]})))};import Qt from"react";import{createGlobalStyle as Ja}from"styled-components";function se({appearance:e}){if(!e||!e.styleOverrides)return Qt.createElement(Qt.Fragment,null);let t=Object.entries(e.styleOverrides).filter(([i,r])=>typeof r=="object");if(t.length===0)return Qt.createElement(Qt.Fragment,null);let o=Ja`
|
|
632
|
+
${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map(([s,p])=>`${Wo(s)}: ${p};`).join(" ")} }`).join(" ")}`;return Qt.createElement(o,{inlineStyles:t})}var Ei=({flowId:e,customStepTypes:t={},type:o="inline",visible:i,setVisible:r,customVariables:n,customFormElements:s,onComplete:p,appearance:d,hideOnFlowCompletion:a=!0,onStepCompletion:h,onButtonClick:c,dismissible:f=!0,endFlowOnDismiss:S=!1,modalPosition:T="center",repeatable:P=!1,onDismiss:g,showPagination:v=!1,allowBackNavigation:x=!1,validationHandler:F,showFrigadeBranding:I=!1})=>{let{getFlow:y,getFlowSteps:m,isLoading:w,targetingLogicShouldHideFlow:C,getFlowStatus:B,getCurrentStepIndex:L,markFlowCompleted:M,markFlowNotStarted:N}=ee(),O=L(e),{mergeAppearanceWithDefault:H}=te(),[$,J]=Za(!1),{setOpenFlowState:Q,getOpenFlowState:Y,hasOpenModals:V}=Fe();d=H(d);let[ge,oe]=i!==void 0&&r!==void 0?[i,r]:[Y(e,!0),K=>Q(e,K)];if(Qa(()=>{!$&&!w&&(J(!0),B(e)===R&&P&&N(e),J(!0))},[$,J,w]),w)return null;let q=y(e);if(!q||C(q))return null;let xe=m(e);if(!xe||i!==void 0&&i===!1||B(e)===R&&a||(o=="modal"||o=="corner-modal")&&V(e))return null;let Te=()=>{oe(!1),g&&g(),S===!0&&M(e)};if(T=="center"&&o==="modal"||o==="large-modal"){let K={padding:"24px"};return o==="large-modal"?(K.width="85%",K.height="90%",K.maxHeight="800px",K.minHeight="500px",K.padding="0"):K.width="400px",ze.createElement(tt,{appearance:d,onClose:Te,visible:ge,style:K,dismissible:f,showFrigadeBranding:I},ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:O,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F}))}return o==="modal"&&T!=="center"?ze.createElement(jr,{appearance:d,onClose:Te,visible:ge},ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:O,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F})):ze.createElement(ze.Fragment,null,ze.createElement(se,{appearance:d}),ze.createElement(To,{appearance:d,steps:xe,selectedStep:O,customStepTypes:t,customVariables:n,onButtonClick:c,onStepCompletion:h,flowId:e,type:o,hideOnFlowCompletion:a,onComplete:p,setVisible:r,setShowModal:oe,onDismiss:g,showPagination:v,customFormElements:s,allowBackNavigation:x,validationHandler:F}))},Ai=Ei;import{useCallback as Ii,useContext as Ra,useEffect as ep}from"react";function nr(){let{organizationId:e,userId:t,setOrganizationId:o}=Ra(G),{mutateUserFlowState:i}=Ee(),{config:r,apiUrl:n}=Me(),s=Ft(),{verifySDKInitiated:p}=kt();ep(()=>{if(t&&e){if(t.startsWith(Pt))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 d=Ii(async h=>{if(p(),!e||!t){console.error("Cannot add properties to organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let c={foreignUserId:t,foreignUserGroupId:e,properties:h};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(c)}),i()},[e,t,r,i]),a=Ii(async(h,c)=>{if(p(),!e||!t){console.error("Cannot track event for organization: Organization ID and User ID must both be set.",{organizationId:e,userId:t});return}let S={foreignUserId:t,foreignUserGroupId:e,events:[{event:h,properties:c}]};await s(`${n}userGroups`,{...r,method:"POST",body:JSON.stringify(S)}),i()},[e,t,r,i]);return{organizationId:e,setOrganizationId:o,addPropertiesToOrganization:d,trackEventForOrganization:a}}var Ni="frigade-xFrigade_guestUserId",Zt="frigade-xFrigade_userId",Li=({})=>{let{setFlowResponses:e}=Ht(),{userFlowStatesData:t,isLoadingUserFlowStateData:o,mutateUserFlowState:i}=Ee(),{userId:r,setUserId:n}=Vt(),[s,p]=sr(null),{getFlowStatus:d}=ee(),{flows:a,userProperties:h,setIsNewGuestUser:c,flowResponses:f}=tp(G),[S,T]=sr([]),[P,g]=sr([]),{organizationId:v}=nr();Fo(()=>{if(!o&&t)for(let y=0;y<t.length;y++){let m=t[y],w=a.find(C=>C.slug===(m==null?void 0:m.flowId));if(w&&m&&m.shouldTrigger===!0&&w.type=="FORM"&&w.triggerType==="AUTOMATIC"&&!P.includes(w.slug)){setTimeout(()=>{x(m.flowId)},500);break}}},[o,t]),Fo(()=>{f.length>0&&i()},[f]);function x(y){let m=a.find(w=>w.slug===y);m&&m.triggerType==="AUTOMATIC"&&!P.includes(m.slug)&&(g([...P,m.slug]),T([m]))}function F(){if(!r){let y=localStorage.getItem(Zt);if(y){n(y);return}let m=localStorage.getItem(Ni);if(m){n(m);return}c(!0);let w=Pt+op();try{localStorage.setItem(Ni,w)}catch(C){console.log("Failed to save guest user id locally: Local storage unavailable",C)}n(C=>C||w)}}Fo(()=>{try{if(a){let y=[];a.forEach(m=>{if(m.data){let w=m.data.match(/"imageUri":"(.*?)"/g);w&&w.forEach(C=>{let B=C.replace('"imageUri":"',"").replace('"',"");if(y.includes(B))return;let L=new Image;L.src=B,y.push(B)})}})}}catch{}},[a]),Fo(()=>{if(r!==s&&e([]),p(r),r&&!r.startsWith(Pt))try{localStorage.setItem(Zt,r)}catch(y){console.log("Failed to save user id locally: Local storage available",y)}r===null&&setTimeout(()=>{r===null&&F()},50)},[r,a,h]);function I(){return xt.createElement(xt.Fragment,null,S.map(y=>d(y.slug)!==Ie?null:xt.createElement("span",{key:y.slug},xt.createElement(Ai,{flowId:y.slug,type:"modal",modalPosition:"center",endFlowOnDismiss:!0}))))}return xt.createElement(xt.Fragment,null,xt.createElement(I,null))};import{ErrorBoundary as vp}from"react-error-boundary";import{deepmerge as Bp}from"deepmerge-ts";import hp from"styled-components";import{compose as Cp,variant as Di}from"styled-system";import Oi from"react";import rp,{ThemeProvider as ip,useTheme as np}from"styled-components";import{border as sp,color as lp,compose as ap,get as pp,shadow as dp,space as cp,system as mp,typography as up}from"styled-system";import{deepmerge as fp}from"deepmerge-ts";var gp={width:{property:"width",scale:"sizes",transform:(e,t)=>pp(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},xp=rp("div")(({css:e})=>e,ap(sp,lp,dp,cp,up,mp(gp))),ko=({as:e,children:t,overrides:o,...i})=>{let r=np(),n={border:"none",boxSizing:"border-box",m:0,p:0},s=()=>Oi.createElement(xp,{as:e,...n,...i},t);if(o!==void 0){let p=fp(r,o);return Oi.createElement(ip,{theme:p},s())}return s()};var Rt={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"}},Sp={sm:{paddingX:4,paddingY:1},md:{paddingX:6,paddingY:2}},$i=hp(ko)(()=>({whiteSpace:"nowrap"}),Cp(Di({scale:"components.Button",variants:"components.Button"}),Di({prop:"size",variants:Sp})));import yp from"styled-components";import{variant as bp,system as wp}from"styled-system";var Po={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 Mi=yp(ko)(bp({scale:"components.Text",variants:"components.Text"}),wp({fontWeight:{property:"fontWeight",scale:"fontWeights"}}));var Ui=4,zi="px",Tp=20,Fp=Object.fromEntries(Array.from(Array(Tp+1),(e,t)=>t===0?[.5,`${.5*Ui}${zi}`]:[t,`${t*Ui}${zi}`])),It={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"},lr={colors:{...It,neutral:{foreground:It.gray300},primary:{background:It.blue500,foreground:It.white,inverted:It.blue500},negative:{foreground:It.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:Fp,components:{Button:Rt,Text:Po}};var _i="https://api.frigade.com",G=kp({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:_i,readonly:!1});function Ep(){Object.keys(localStorage).forEach(e=>{e.startsWith("frigade-")&&localStorage.removeItem(e)})}var Ap=({publicApiKey:e,userId:t,organizationId:o,config:i,children:r})=>{var Q,Y;let[n,s]=Ae(t||null),[p,d]=Ae(o||null),[a,h]=Ae([]),[c,f]=Ae([]),[S,T]=Ae([]),[P,g]=Ae({}),[v,x]=Ae({}),[F,I]=Ae([]),[y,m]=Ae({}),[w,C]=Ae(!1),[B,L]=Ae(!1),[M,N]=Ae(!$(e)),O=(V,ge)=>{if(ge==="_blank"){window.open(V,"_blank");return}setTimeout(()=>{window.location.href=V},50)},H={theme:{...qe.theme,...((Q=i==null?void 0:i.defaultAppearance)==null?void 0:Q.theme)??{}},styleOverrides:{...qe.styleOverrides,...((Y=i==null?void 0:i.defaultAppearance)==null?void 0:Y.styleOverrides)??{}}};function $(V){return!!(V&&V.length>10&&V.substring(0,10)==="api_public")}vo(()=>{t&&s(t)},[t]),vo(()=>{n&&window&&window.localStorage&&window.localStorage.getItem(Zt)&&window.localStorage.getItem(Zt)!==n&&Ep()},[n]),vo(()=>{o&&d(o)},[o]),vo(()=>{if($(e))N(!1);else{console.error("Frigade SDK failed to initialize. API key provided is either missing or valid."),N(!0);return}},[e,N]);let J={publicApiKey:e,userId:n,setUserId:s,setFlows:h,flows:a,failedFlowResponses:c,setFailedFlowResponses:f,flowResponses:S,setFlowResponses:T,userProperties:P,setUserProperties:g,openFlowStates:v,setOpenFlowStates:x,completedFlowsToKeepOpenDuringSession:F,setCompletedFlowsToKeepOpenDuringSession:I,customVariables:y,setCustomVariables:m,isNewGuestUser:w,setIsNewGuestUser:C,hasActiveFullPageFlow:B,setHasActiveFullPageFlow:L,organizationId:p,setOrganizationId:d,navigate:i&&i.navigate?i.navigate:O,defaultAppearance:H,shouldGracefullyDegrade:M,setShouldGracefullyDegrade:N,apiUrl:i&&i.apiUrl?i.apiUrl:_i,readonly:i&&i.readonly?i.readonly:!1};return M?ht.createElement(G.Provider,{value:J},r):ht.createElement(vp,{fallback:ht.createElement(ht.Fragment,null,r)},ht.createElement(G.Provider,{value:J},ht.createElement(Pp,{theme:Bp(H.theme,lr,(i==null?void 0:i.theme)??{})},r,ht.createElement(Li,null))))};import Bd from"react";import ce,{useEffect as xs,useState as hs}from"react";import Oe,{useState as Rp}from"react";import yt from"styled-components";import Ao from"react";import Ct from"react";import Hi from"styled-components";var Wi=Hi.span`
|
|
633
633
|
font-weight: 400;
|
|
634
634
|
font-size: 15px;
|
|
635
635
|
line-height: 20px;
|
|
@@ -1013,7 +1013,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map
|
|
|
1013
1013
|
line-height: 14px;
|
|
1014
1014
|
font-weight: 400;
|
|
1015
1015
|
cursor: pointer;
|
|
1016
|
-
`;var cd=({steps:e,style:t,title:o,primaryColor:i,appearance:r,onButtonClick:n})=>{let{primaryCTAClickSideEffects:s}=le();return Qe.createElement(Fn,{style:t,className:l("guideContainer",r)},Qe.createElement(Pn,{className:l("guideTitle",r)},o),Qe.createElement(kn,{className:l("guideItemContainer",r)},e.map((p,d)=>Qe.createElement(vn,{key:`guide-${p.id??d}`,as:dd.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",r)},p.icon&&Qe.createElement(Bn,{className:l("guideIcon",r)},Qe.createElement(En,null,p.icon)),Qe.createElement(An,{className:l("guideItemTitle",r),dangerouslySetInnerHTML:me(p.title)}),Qe.createElement(In,{className:l("guideItemSubtitle",r),dangerouslySetInnerHTML:me(p.subtitle)}),Qe.createElement(Nn,{className:l("guideItemLink",r),color:i,onClick:()=>{p.primaryButtonUri&&s(p),n&&n(p)}},p.primaryButtonTitle)))))},oo=cd;var fd=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:r,onClose:n,selectedStep:s,setSelectedStep:p,customStepTypes:d,appearance:a,guideData:h,guideTitle:c,onGuideButtonClick:f})=>{let S=({stepData:m,handleSecondaryCTAClick:w,handleCTAClick:C})=>m?z.createElement(fn,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},z.createElement(gn,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:me(m.title)}),z.createElement(xn,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:me(m.subtitle)}),z.createElement(hn,{className:l("checklistCTAContainer",a)},m.secondaryButtonTitle&&z.createElement(ne,{title:m.secondaryButtonTitle,onClick:w,appearance:a,secondary:!0}),z.createElement(ne,{title:m.primaryButtonTitle,onClick:C,appearance:a}))):z.createElement(z.Fragment,null),P={...{default:m=>{var
|
|
1016
|
+
`;var cd=({steps:e,style:t,title:o,primaryColor:i,appearance:r,onButtonClick:n})=>{let{primaryCTAClickSideEffects:s}=le();return Qe.createElement(Fn,{style:t,className:l("guideContainer",r)},Qe.createElement(Pn,{className:l("guideTitle",r)},o),Qe.createElement(kn,{className:l("guideItemContainer",r)},e.map((p,d)=>Qe.createElement(vn,{key:`guide-${p.id??d}`,as:dd.div,whileHover:{boxShadow:"0px 2px 8px rgba(0, 0, 0, 0.05)",transition:{duration:.25}},className:l("guideItem",r)},p.icon&&Qe.createElement(Bn,{className:l("guideIcon",r)},Qe.createElement(En,null,p.icon)),Qe.createElement(An,{className:l("guideItemTitle",r),dangerouslySetInnerHTML:me(p.title)}),Qe.createElement(In,{className:l("guideItemSubtitle",r),dangerouslySetInnerHTML:me(p.subtitle)}),Qe.createElement(Nn,{className:l("guideItemLink",r),color:i,onClick:()=>{p.primaryButtonUri&&s(p),n&&n(p)}},p.primaryButtonTitle)))))},oo=cd;var fd=({steps:e,title:t,subtitle:o,stepsTitle:i,visible:r,onClose:n,selectedStep:s,setSelectedStep:p,customStepTypes:d,appearance:a,guideData:h,guideTitle:c,onGuideButtonClick:f})=>{let S=({stepData:m,handleSecondaryCTAClick:w,handleCTAClick:C})=>m?z.createElement(fn,{className:l("checklistStepContainer",a),"data-testid":"checklistStepContainer"},z.createElement(gn,{appearance:a,className:l("checklistStepTitle",a),dangerouslySetInnerHTML:me(m.title)}),z.createElement(xn,{appearance:a,className:l("checklistStepSubtitle",a),dangerouslySetInnerHTML:me(m.subtitle)}),z.createElement(hn,{className:l("checklistCTAContainer",a)},m.secondaryButtonTitle&&z.createElement(ne,{title:m.secondaryButtonTitle,onClick:w,appearance:a,secondary:!0}),z.createElement(ne,{title:m.primaryButtonTitle,onClick:C,appearance:a}))):z.createElement(z.Fragment,null),P={...{default:m=>{var L;if((L=e[x])!=null&&L.StepContent){let M=e[x].StepContent;return z.createElement("div",null,M)}let w=e[x];return z.createElement(S,{stepData:m,handleCTAClick:()=>{w.handlePrimaryButtonClick&&w.handlePrimaryButtonClick()},handleSecondaryCTAClick:()=>{w.handleSecondaryButtonClick&&w.handleSecondaryButtonClick()}})}},...d},[g,v]=md(0),x=s??g,F=p??v,I=()=>{var m;return e?!((m=e[x])!=null&&m.type)||!P[e[x].type]?P.default(e[x]):P[e[x].type]({stepData:e[x],primaryColor:a.theme.colorPrimary}):z.createElement(z.Fragment,null)},y=e.filter(m=>m.complete).length;return r?(a.theme.modalContainer||(a.theme.borderRadius&&(mr.borderRadius=a.theme.borderRadius+"px"),a.theme.modalContainer=mr),z.createElement(tt,{onClose:n,visible:r,appearance:a},z.createElement(wn,null,z.createElement(sn,null,z.createElement(ln,{appearance:a,className:l("checklistTitle",a)},t),z.createElement(an,{appearance:a,className:l("checklistSubtitle",a)},o)),z.createElement(nn,null,e&&e.length>0&&z.createElement(pn,{className:l("stepsContainer",a)},z.createElement(dn,null,z.createElement("div",{style:{flex:3}},z.createElement(cn,{className:l("stepsTitle",a)},i)),z.createElement(bn,null,z.createElement(_e,{fillColor:a.theme.colorPrimary,style:{width:"100%"},count:y,total:e.length,appearance:a}))),z.createElement(mn,null,z.createElement(un,{className:l("checklistStepListContainer",a),appearance:a},e.map((m,w)=>{let C=x===w;return z.createElement(Cn,{selected:C,className:l(`checklistStepListItem${C?"Selected":""}`,a),key:`checklist-guide-step-${m.id??w}`,disabled:m.blocked,onClick:()=>{m.blocked||F(w)},title:m.blocked?"Finish remaining steps to continue":void 0},C&&z.createElement(Eo,{className:l("checklistStepItemSelectedIndicator",a),as:ud.div,layoutId:"checklist-step-selected",style:{backgroundColor:a.theme.colorPrimary,borderRadius:0,height:"100%",top:"0%",width:"2px"}}),z.createElement(Sn,{selected:C,className:l(`checklistStepListStepName${C?"Selected":""}`,a)},m.stepName),z.createElement(yn,null,z.createElement(Ke,{value:m.complete,type:"round",primaryColor:a.theme.colorPrimary,progress:m.progress,appearance:a}),z.createElement(Tn,null,z.createElement($t,{style:{marginLeft:"10px"},color:a.theme.colorBackgroundSecondary}))))})),z.createElement(I,null))),h&&h.length>0&&z.createElement(oo,{steps:h,title:c,primaryColor:a.theme.colorPrimary,style:{border:"none",boxShadow:"none"},appearance:a,onButtonClick:m=>(f&&f(m),!0)}))))):z.createElement(z.Fragment,null)},ur=fd;import{useEffect as gd,useState as xd}from"react";var Ln=()=>{let e={isSmall:"(max-width: 480px)",isMedium:"(min-width: 481px) AND (max-width: 1023px)",isLarge:"(min-width: 1025px)"},t=Object.fromEntries(Object.entries(e).map(([p])=>[p,!1])),[o,i]=xd(t),r=null,n=()=>{r!==null?clearTimeout(r):s(),r=setTimeout(()=>{s()},16)},s=()=>{let p=Object.fromEntries(Object.entries(e).map(([d,a])=>{if(!window)return[d,!1];let h=window.matchMedia(a);return h.addEventListener("change",n),[d,h.matches]}));i(p)};return gd(()=>{s()},[]),o};import we,{useEffect as Yn,useState as Sd}from"react";import fe from"react";import{AnimatePresence as hd,motion as Cd}from"framer-motion";import Ze from"styled-components";var On=Ze.div`
|
|
1017
1017
|
background-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBackground}};
|
|
1018
1018
|
border: 1px solid;
|
|
1019
1019
|
border-color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBorder}};
|
|
@@ -1237,7 +1237,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map
|
|
|
1237
1237
|
color: ${({theme:e})=>e.colorTextSecondary};
|
|
1238
1238
|
${e=>e.blocked||e.complete?"opacity: 0.4;":`
|
|
1239
1239
|
`}
|
|
1240
|
-
`;var ms=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=te(),{primaryCTAClickSideEffects:r}=le();o=i(o);let{imageUri:n=null,subtitle:s=null,title:p=null,complete:d=!1,blocked:a=!1}=e,h=e.primaryButtonTitle||e.secondaryButtonTitle,c=()=>{r(e)};return Ut.createElement(rs,{className:l("carouselCard",o),onClick:a?null:c,style:t,blocked:a,complete:d},n&&Ut.createElement(is,{className:l("carouselCardImage",o),src:n,alt:p,style:{opacity:d||a?.4:1}}),(d||!0)&&Ut.createElement(as,{className:l("carouselCompletedPill",o)},Ut.createElement(cs,{style:{color:"#108E0B"}},"Complete")),p&&Ut.createElement(ds,{blocked:a,complete:d,className:l("carouselCardTitle",o)},p),s&&Ut.createElement(We.Quiet,{blocked:a,complete:d,className:l("carouselCardSubtitle",o)},s))};import ro from"react";var us=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,r=200,n=Math.min(r,Math.max(10,Math.round(r*i)));return ro.createElement(ss,{className:l("carouselProgressBar",o)},ro.createElement(ls,{as:We.Loud,style:{marginRight:8}},e," of ",t),ro.createElement("svg",{height:10,width:r},ro.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"#E6E6E6"}),ro.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"currentColor"})))};var vd=()=>ae.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ae.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ae.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ae.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),fs=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,r]=bt(!1),[n,s]=bt(!1);gr(()=>{t===!0&&i===!1?r(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{r(!1),s(!1)},d=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?ae.createElement(es,{style:d,reversed:n,onAnimationEnd:n?p:null},ae.createElement(ts,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},ae.createElement(vd,null))):null},gs=({flowId:e,appearance:t,customVariables:o,className:i})=>{let r=Pd(null),[n,s]=bt(!1),[p,d]=bt(!1),[a,h]=bt(null),[c,f]=bt([]),[S,T]=bt(0),{getFlowMetadata:P,getFlowSteps:g,getNumberOfStepsCompleted:v,updateCustomVariables:x,getFlowStatus:F,isLoading:I,targetingLogicShouldHideFlow:y,getFlow:m}=ee();gr(()=>{x(o)},[o,I]),gr(()=>{if(I)return;let N=P(e),
|
|
1240
|
+
`;var ms=({stepData:e,style:t={},appearance:o})=>{let{mergeAppearanceWithDefault:i}=te(),{primaryCTAClickSideEffects:r}=le();o=i(o);let{imageUri:n=null,subtitle:s=null,title:p=null,complete:d=!1,blocked:a=!1}=e,h=e.primaryButtonTitle||e.secondaryButtonTitle,c=()=>{r(e)};return Ut.createElement(rs,{className:l("carouselCard",o),onClick:a?null:c,style:t,blocked:a,complete:d},n&&Ut.createElement(is,{className:l("carouselCardImage",o),src:n,alt:p,style:{opacity:d||a?.4:1}}),(d||!0)&&Ut.createElement(as,{className:l("carouselCompletedPill",o)},Ut.createElement(cs,{style:{color:"#108E0B"}},"Complete")),p&&Ut.createElement(ds,{blocked:a,complete:d,className:l("carouselCardTitle",o)},p),s&&Ut.createElement(We.Quiet,{blocked:a,complete:d,className:l("carouselCardSubtitle",o)},s))};import ro from"react";var us=({numberOfStepsCompleted:e,numberOfSteps:t,appearance:o})=>{let i=t>0?e/t:0,r=200,n=Math.min(r,Math.max(10,Math.round(r*i)));return ro.createElement(ss,{className:l("carouselProgressBar",o)},ro.createElement(ls,{as:We.Loud,style:{marginRight:8}},e," of ",t),ro.createElement("svg",{height:10,width:r},ro.createElement("rect",{x:0,y:0,rx:5,width:r,height:10,fill:"#E6E6E6"}),ro.createElement("rect",{x:0,y:0,rx:5,width:n,height:10,fill:"currentColor"})))};var vd=()=>ae.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ae.createElement("path",{d:"M14 6L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ae.createElement("path",{d:"M14 18L20 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}),ae.createElement("path",{d:"M4 12H20",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"})),fs=({side:e="left",show:t=!1,onClick:o=()=>{}})=>{let[i,r]=bt(!1),[n,s]=bt(!1);gr(()=>{t===!0&&i===!1?r(!0):t===!1&&i===!0&&s(!0)},[t]);let p=()=>{r(!1),s(!1)},d=e=="left"?{top:0,bottom:0,left:-20,transform:"rotate(180deg)"}:{top:0,bottom:0,right:-20};return i?ae.createElement(es,{style:d,reversed:n,onAnimationEnd:n?p:null},ae.createElement(ts,{onClick:()=>o(),style:{right:16,top:"calc(50% - 24px)"}},ae.createElement(vd,null))):null},gs=({flowId:e,appearance:t,customVariables:o,className:i})=>{let r=Pd(null),[n,s]=bt(!1),[p,d]=bt(!1),[a,h]=bt(null),[c,f]=bt([]),[S,T]=bt(0),{getFlowMetadata:P,getFlowSteps:g,getNumberOfStepsCompleted:v,updateCustomVariables:x,getFlowStatus:F,isLoading:I,targetingLogicShouldHideFlow:y,getFlow:m}=ee();gr(()=>{x(o)},[o,I]),gr(()=>{if(I)return;let N=P(e),O=v(e),H=g(e);h(N),N.data!==null&&(f(H.sort(($,J)=>Number($.complete)-Number(J.complete))),d(H.length>3),T(O))},[I]);let w=[];for(let N=0;N<c.length;N+=3)w.push(c.slice(N,N+3));let C=N=>{let O=N.target,H=O.scrollWidth-O.clientWidth,$=Math.ceil(O.scrollLeft);$>0&&n===!1&&s(!0),$===0&&n===!0&&s(!1),$<H&&p===!1&&d(!0),$===H&&p===!0&&d(!1)},B=(N=!0)=>{let O=N?1:-1;r.current!==null&&r.current.scrollBy({left:r.current.clientWidth*O,behavior:"smooth"})},L=null,M=N=>{L!==null?clearTimeout(L):C(N),L=setTimeout(()=>{C(N)},16)};return I?null:ae.createElement(ns,{className:Ce(l("carouselContainer",t),i)},ae.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:20}},ae.createElement("div",null,ae.createElement(ps,{className:l("carouselTitle",t)},a==null?void 0:a.title),ae.createElement(We.Quiet,{className:l("carouselSubtitle",t)},a==null?void 0:a.subtitle)),ae.createElement(us,{numberOfStepsCompleted:S,numberOfSteps:c.length})),ae.createElement("div",{style:{position:"relative"}},ae.createElement(fs,{show:n,onClick:()=>B(!1)}),ae.createElement(fs,{side:"right",show:p,onClick:B}),ae.createElement(Zn,{ref:r,onScroll:M},w.map((N,O)=>ae.createElement(Rn,{key:O,style:{flex:`0 0 calc(100% - ${c.length>3?36:0}px)`}},N.map((H,$)=>ae.createElement(ms,{key:$,stepData:H,style:{flex:c.length>3?"0 1 calc(33% - 16px * 2 / 3)":1},appearance:t})))))),ae.createElement(se,{appearance:t}))};var xr=({flowId:e,title:t,subtitle:o,style:i,initialSelectedStep:r,className:n,type:s="inline",onDismiss:p,visible:d,customVariables:a,onStepCompletion:h,onButtonClick:c,appearance:f,hideOnFlowCompletion:S,setVisible:T,customStepTypes:P,checklistStyle:g="default",autoExpandFirstIncompleteStep:v,autoExpandNextStep:x,...F})=>{let{getFlow:I,getFlowSteps:y,markStepCompleted:m,getStepStatus:w,getNumberOfStepsCompleted:C,isLoading:B,targetingLogicShouldHideFlow:L,updateCustomVariables:M,getFlowMetadata:N,isStepBlocked:O,getFlowStatus:H,hasActiveFullPageFlow:$,setHasActiveFullPageFlow:J}=ee(),{primaryCTAClickSideEffects:Q,secondaryCTAClickSideEffects:Y}=le(),{getOpenFlowState:V,setOpenFlowState:ge}=Fe(),[oe,q]=hs(r||0),[xe,Te]=hs(!1),K=d===void 0?V(e):d,pe=s==="modal",{mergeAppearanceWithDefault:_}=te(),{isLarge:D}=Ln();if(f=_(f),xs(()=>{M(a)},[a,B]),xs(()=>{d!==void 0&&(pe&&d===!0?J(!0):pe&&d===!1&&J(!1))},[d,T,$]),B)return null;let re=I(e);if(!re||L(re))return null;let j=y(e);if(!j||S===!0&&H(e)===R)return null;let ie=N(e);if(ie!=null&&ie.title&&(t=ie.title),ie!=null&&ie.subtitle&&(o=ie.subtitle),!xe&&r===void 0&&C(e)>0){let A=j.findIndex(Z=>Z.complete===!1);q(A>-1?A:j.length-1),Te(!0)}function je(){if(oe+1>=j.length){pe&&ge(e,!1);return}O(e,j[oe+1].id)||q(oe+1)}function De(A,Z,ct){let Fr=oe+1<j.length?j[oe+1]:null;c&&c(A,oe,Z,Fr)===!0&&pe&&$e(),h&&h(A,ct,Fr),!h&&!c&&(A.primaryButtonUri||A.secondaryButtonUri)&&pe&&$e()}function dt(){return j.map((A,Z)=>({...A,handleSecondaryButtonClick:()=>{je(),Y(A),A.skippable===!0&&m(e,A.id,{skipped:!0}),De(A,"secondary",Z)},handlePrimaryButtonClick:()=>{(!A.completionCriteria&&(A.autoMarkCompleted||A.autoMarkCompleted===void 0)||A.completionCriteria&&A.autoMarkCompleted===!0)&&(m(e,A.id),je()),De(A,"primary",Z),Q(A),w(e,A.id)===Ne&&je()}}))}function W(){return ce.createElement(se,{appearance:f})}let ve={steps:dt(),title:t,subtitle:o,primaryColor:f.theme.colorPrimary,appearance:f,customStepTypes:P,type:s,className:n,autoExpandFirstIncompleteStep:v,autoExpandNextStep:x};function $e(){ge(e,!1),p&&p(),T&&T(!1)}function zo(){return ce.createElement(ce.Fragment,null,ce.createElement(W,null),ce.createElement(gs,{flowId:e,appearance:f,customVariables:a,className:n}))}function u(){return ce.createElement(ce.Fragment,null,ce.createElement(W,null),ce.createElement(fr,{visible:K,onClose:()=>{$e()},selectedStep:oe,setSelectedStep:q,autoExpandNextStep:!0,appearance:f,...ve}))}function b(){if(!D)return u();let A=F.guideFlowId,Z;return A&&I(A)&&(Z=y(A)),ce.createElement(ce.Fragment,null,ce.createElement(W,null),ce.createElement(ur,{visible:K,stepsTitle:ie.stepsTitle?ie.stepsTitle:"Your quick start guide",onClose:()=>{$e()},selectedStep:oe,setSelectedStep:q,guideData:Z,guideTitle:F.guideTitle??"Guide",appearance:f,title:t,subtitle:o,onGuideButtonClick:ct=>{De(ct,"link",0)},customStepTypes:P,...ve}))}function E(){if(!D)return u();let A=ce.createElement(cr,{flowId:e,style:i,selectedStep:oe,setSelectedStep:q,appearance:f,type:s,...ve});return pe?ce.createElement(tt,{onClose:()=>{$e()},visible:K,appearance:f,style:{paddingTop:"0px",padding:"12px",paddingLeft:0}},ce.createElement(W,null),A):ce.createElement(ce.Fragment,null,ce.createElement(W,null),A)}switch(g){case"condensed":return u();case"with-guide":return b();case"default":return E();case"carousel":return zo();default:return E()}};var Ed=e=>Bd.createElement(xr,{type:"inline",...e});import pt,{useEffect as Id}from"react";import He from"react";import Oo from"styled-components";var Cs=Oo.div`
|
|
1241
1241
|
border: 1px solid ${e=>e.appearance.theme.colorBorder};
|
|
1242
1242
|
border-radius: 8px;
|
|
1243
1243
|
padding: 6px 10px 6px 10px;
|
|
@@ -1343,7 +1343,7 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map
|
|
|
1343
1343
|
`,jd=so(Ls)`
|
|
1344
1344
|
width: ${zt+12}px;
|
|
1345
1345
|
height: ${zt+12}px;
|
|
1346
|
-
`,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:d={},selectedStep:a=0,customStepTypes:h,appearance:c,dismissible:f=!1,showHighlightOnly:S,showStepCount:T=!0,completedStepsCount:P=0,showFrigadeBranding:g=!1})=>{var ie,je,De,dt;let[v,x]=no(),[F,I]=no(new Date),y=zd(null),[m,w]=no(document.querySelector(e[a].selector)),C=Es(m,F),[B,
|
|
1346
|
+
`,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:d={},selectedStep:a=0,customStepTypes:h,appearance:c,dismissible:f=!1,showHighlightOnly:S,showStepCount:T=!0,completedStepsCount:P=0,showFrigadeBranding:g=!1})=>{var ie,je,De,dt;let[v,x]=no(),[F,I]=no(new Date),y=zd(null),[m,w]=no(document.querySelector(e[a].selector)),C=Es(m,F),[B,L]=no(),[M,N]=no(!S),O=(je=(ie=e[a])==null?void 0:ie.props)!=null&&je.position?e[a].props.position:"absolute",H=((dt=(De=e[a])==null?void 0:De.props)==null?void 0:dt.zIndex)??90,$=(v==null?void 0:v.width)??Is,J=(v==null?void 0:v.height)??Ns;As(()=>{y.current&&x({width:y.current.clientWidth,height:y.current.clientHeight})},[a,F,O]),Do(()=>{S||N(!0)},[a]);let Q=i==="auto"?"right":i,Y=hr(C,Q,$,s,O),V=C.right+$>(window.innerWidth||document.documentElement.clientWidth),ge=C.bottom+Ns>(window.innerHeight||document.documentElement.clientHeight);V&&i==="auto"&&(Y=hr(C,"left",$,s,O),Q="left");let oe=window.location.pathname.split("/").pop(),q=()=>{let W=document.querySelector(e[a].selector);if(!W){L(void 0),w(null);return}B&&B===JSON.stringify(W==null?void 0:W.getBoundingClientRect())||(w(W),I(new Date),W&&L(JSON.stringify(W.getBoundingClientRect())))};if(Do(()=>{let W=new MutationObserver(q);return W.observe(document.body,{subtree:!0,childList:!0}),()=>W.disconnect()},[q]),Do(()=>{let W=new MutationObserver(q);return W.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>W.disconnect()},[q]),Do(()=>{let W=setInterval(()=>{q()},10);return()=>clearInterval(W)},[q]),As(()=>{setTimeout(()=>{q()},_d),q()},[a,oe]),m===null)return U.createElement(U.Fragment,null);if(Y.x==0&&Y.y==0)return U.createElement(U.Fragment,null);if(!p)return U.createElement(U.Fragment,null);let xe=()=>{let W=()=>{if(e[a].handlePrimaryButtonClick&&(e[a].handlePrimaryButtonClick(),N(!1),setTimeout(()=>{q()},30)),P===e.length-1)return o()},ve=()=>{e[a].handleSecondaryButtonClick&&(e[a].handleSecondaryButtonClick(),S&&!e[a].secondaryButtonUri&&N(!1))};return U.createElement(U.Fragment,null,T&&e.length>1&&U.createElement(Mr,null,U.createElement(zr,{className:l("tooltipStepCounter",c)},a+1," of ",e.length)),U.createElement(Ur,{showStepCount:T,className:l("tooltipCTAContainer",c)},e[a].secondaryButtonTitle&&U.createElement(ne,{title:e[a].secondaryButtonTitle,appearance:c,onClick:ve,size:"small",withMargin:!1,secondary:!0}),e[a].primaryButtonTitle&&U.createElement(ne,{title:e[a].primaryButtonTitle,appearance:c,onClick:W,withMargin:!1,size:"small"})))},Te=()=>U.createElement(U.Fragment,null,f&&U.createElement(Lr,{"data-testid":"tooltip-dismiss",onClick:()=>{t&&t()},className:l("tooltipClose",c)},U.createElement(ke,null)),e[a].imageUri&&U.createElement(Or,{dismissible:f,appearance:c,src:e[a].imageUri,className:l("tooltipImageContainer",c)}),e[a].videoUri&&!e[a].imageUri&&U.createElement(Dr,{dismissible:f,appearance:c,className:l("tooltipVideoContainer",c)},U.createElement(st,{appearance:c,videoUri:e[a].videoUri})),U.createElement(Se,{appearance:c,title:e[a].title,subtitle:e[a].subtitle,size:"small"}),U.createElement($r,{className:l("tooltipFooter",c)},U.createElement(xe,null))),pe={...{default:W=>{var ve;if((ve=e[a])!=null&&ve.StepContent){let $e=e[a].StepContent;return U.createElement("div",null,$e)}return U.createElement(Te,null)}},...h},_=()=>{var W;return e?!((W=e[a])!=null&&W.type)||!pe[e[a].type]?pe.default(e[a]):pe[e[a].type]({stepData:e[a],primaryColor:n}):U.createElement(U.Fragment,null)};if(S&&e[a].complete===!0)return null;let D={top:(Y==null?void 0:Y.y)-zt,left:(Q=="left"?C.x+s.x:(Y==null?void 0:Y.x)-zt)??0,cursor:S?"pointer":"default",position:O},re=()=>{let ve=D.left+(Q=="left"?-$:24);return Math.min(Math.max(ve,20),window.innerWidth-$-20)},j=()=>{S&&(I(new Date),N(!M))};return U.createElement(Vd,null,U.createElement(jd,{style:D,zIndex:H,className:l("tourHighlightContainer",c)},r&&e[a].showHighlight!==!1&&U.createElement(U.Fragment,null,U.createElement(Hd,{style:{position:O},onClick:j,primaryColor:c.theme.colorPrimary,className:l("tourHighlightInnerCircle",c)}),U.createElement(Wd,{style:{position:"absolute"},onClick:j,primaryColor:c.theme.colorPrimary,className:l("tourHighlightOuterCircle",c)}))),U.createElement(Ls,{style:{...D,left:re()},zIndex:H+1,className:l("tooltipContainerWrapper",c)},M&&U.createElement(U.Fragment,null,U.createElement(po,{ref:y,layoutId:"tooltip-container",style:{position:"relative",width:"max-content",right:0,top:12,...d},appearance:c,className:l("tooltipContainer",c),maxWidth:Is,zIndex:H+10},U.createElement(_,null)),g&&U.createElement(Wr,{className:l("poweredByFrigadeTooltipRibbon",c),appearance:c,zIndex:H+10},U.createElement(co,{appearance:c})))))},$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:d="auto",showHighlightOnly:a=!1,dismissBehavior:h="complete-flow",onComplete:c,skipIfNotFound:f=!1,...S})=>{let{getFlow:T,getFlowSteps:P,isLoading:g,targetingLogicShouldHideFlow:v,markStepCompleted:x,markStepStarted:F,markFlowCompleted:I,updateCustomVariables:y,getCurrentStepIndex:m,getStepStatus:w,isStepBlocked:C,getFlowStatus:B,getNumberOfStepsCompleted:L}=ee(),{isLoadingUserFlowStateData:M}=Ee(),{primaryCTAClickSideEffects:N,secondaryCTAClickSideEffects:O}=le(),{hasOpenModals:H}=Fe(),$=m(e),{openFlowStates:J}=qd(G),{mergeAppearanceWithDefault:Q}=te();if(o=Q(o),Kd(()=>{y(t)},[t,g]),M)return null;let Y=T(e);if(!Y||v(Y)||B(e)==R||H())return null;let V=P(e);if(Object.keys(J).length>0){let _=Object.keys(J).find(D=>J[D]===!0);if(_!==void 0&&_!==e)return _t.createElement(_t.Fragment,null)}async function ge(_){if(await x(e,_.id),V.map(D=>w(e,D.id)).every(D=>D===Ne)){await I(e);return}if(!a&&$+1<V.length){if(C(e,V[$+1].id))return;await F(e,V[$+1].id)}}function oe(_,D,re){let j=$+1<V.length?V[$+1]:null;r&&r(_,$,D,j),i&&i(_,re,j)}function q(){return V.map(_=>({..._,handleSecondaryButtonClick:async()=>{O(_),_.skippable===!0&&await x(e,_.id,{skipped:!0}),oe(_,"secondary",$)},handlePrimaryButtonClick:async()=>{(!_.completionCriteria&&(_.autoMarkCompleted||_.autoMarkCompleted===void 0)||_.completionCriteria&&_.autoMarkCompleted===!0)&&await ge(_),oe(_,"primary",$),N(_)}}))}async function xe(_){s&&s(),h==="complete-flow"?await I(e):await x(e,_.id)}function Te(){c&&c()}let K=!document.querySelector(V[$].selector);function pe(){let _=V.findIndex(D=>!!document.querySelector(D.selector));return V.map((D,re)=>K&&!n&&re!==_&&f?null:_t.createElement($o,{key:D.id,appearance:o,steps:q(),selectedStep:re,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>xe(D),tooltipPosition:d,showHighlightOnly:a,completedStepsCount:L(e),onComplete:Te,...S}))}return _t.createElement(Yd,null,_t.createElement(se,{appearance:o}),n||K&&f?pe():_t.createElement($o,{appearance:o,steps:q(),selectedStep:$,showTooltipsSimultaneously:n,dismissible:p,onDismiss:()=>xe(V[$]),tooltipPosition:d,completedStepsCount:L(e),showHighlightOnly:a,onComplete:Te,...S}))};import be,{useEffect as Jd,useRef as Qd,useState as Zd}from"react";import{Portal as Rd}from"react-portal";import wt from"styled-components";var Os=wt.button`
|
|
1347
1347
|
${e=>k(e)} {
|
|
1348
1348
|
// Anything inside this block will be ignored if the user provides a custom class
|
|
1349
1349
|
|
|
@@ -1599,5 +1599,5 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${jt}${r}.${jt}${r} { ${Object.entries(n).map
|
|
|
1599
1599
|
opacity: 0.8;
|
|
1600
1600
|
}
|
|
1601
1601
|
}
|
|
1602
|
-
`;var lc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:d,markFlowCompleted:a,markStepCompleted:h,getNumberOfStepsCompleted:c,isLoading:f,targetingLogicShouldHideFlow:S,updateCustomVariables:T,getFlowSteps:P,getFlowStatus:g,getCurrentStepIndex:v}=ee(),{primaryCTAClickSideEffects:x}=le(),{mergeAppearanceWithDefault:F}=te(),[I,y]=X.useState(null),[m,w]=X.useState(""),{hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:B,shouldKeepCompletedFlowOpenDuringSession:
|
|
1602
|
+
`;var lc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,type:p="modal"})=>{let{getFlow:d,markFlowCompleted:a,markStepCompleted:h,getNumberOfStepsCompleted:c,isLoading:f,targetingLogicShouldHideFlow:S,updateCustomVariables:T,getFlowSteps:P,getFlowStatus:g,getCurrentStepIndex:v}=ee(),{primaryCTAClickSideEffects:x}=le(),{mergeAppearanceWithDefault:F}=te(),[I,y]=X.useState(null),[m,w]=X.useState(""),{hasOpenModals:C,setKeepCompletedFlowOpenDuringSession:B,shouldKeepCompletedFlowOpenDuringSession:L}=Fe();if(r=F(r),nc(()=>{T(o)},[o,f]),f)return null;let M=d(e);if(!M||S(M)||g(e)===R||c(e)===1&&!L(e)||C())return null;let O=P(e)[v(e)];function H(){return X.createElement(X.Fragment,null,X.createElement(wr,null,X.createElement(Se,{size:"large",appearance:r,title:O.title,subtitle:O.subtitle})),X.createElement(yr,{className:l("npsNumberButtonContainer",r),appearance:r},Array.from(Array(10).keys()).map(Q=>X.createElement(il,{className:l("npsNumberButton",r),selected:I===Q+1,key:Q,onClick:async()=>{B(e),y(Q+1),await h(e,O.id,{score:Q+1})},appearance:r},Q+1))),X.createElement(nl,{appearance:r},X.createElement(br,{appearance:r},"Not likely at all"),X.createElement(br,{appearance:r},"Extremely likely")))}function $(){return X.createElement(X.Fragment,null,X.createElement(wr,null,X.createElement(Se,{appearance:r,title:"Why did you choose this score?",size:"large"})),X.createElement(sl,{appearance:r,value:m,onChange:Q=>{w(Q.target.value)},placeHolder:"Add your optional fedback here..."}),X.createElement(yr,{appearance:r,className:l("npsNumberButtonContainer",r)},X.createElement(ne,{size:"large",withMargin:!1,onClick:async()=>{await a(e),i&&i(O,1,"primary")},appearance:r,title:O.secondaryButtonTitle||"Skip",secondary:!0}),X.createElement(ne,{size:"large",withMargin:!1,onClick:async()=>{await h(e,O.id,{feedbackText:m}),await a(e),i&&i(O,1,"primary")},appearance:r,title:O.primaryButtonTitle||"Submit"})))}function J(){return X.createElement(X.Fragment,null,X.createElement(se,{appearance:r}),X.createElement(rl,{appearance:r,className:Ce(l("npsSurveyContainer",r),n),style:s,type:p},X.createElement(ll,{onClick:async()=>{await a(e),t&&t()},className:l("npsSurveyDismissButton",r)},X.createElement(ke,null)),c(e)==0&&H(),c(e)==1&&$()))}return p==="inline"?J():X.createElement(sc,null,J())};import*as Uo from"react";import al from"react";var pl=({as:e="span",children:t,variant:o="Body1",...i})=>al.createElement(Mi,{color:"neutral.foreground",fontFamily:"default",forwardedAs:e,variant:o,...i},t),ac=Object.fromEntries(Object.keys(Po).map(e=>{let t=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():void 0,o=i=>al.createElement(pl,{as:t,...i,variant:e},i.children);return o.displayName=`Text.${e}`,[e,o]})),Tr=Object.assign(pl,ac);var dl=({as:e="button",className:t,size:o="md",title:i,variant:r="Primary",...n})=>{var s;return Uo.createElement($i,{className:`fr-button-${r.toLowerCase()}${t?` ${t}`:""}`,forwardedAs:e,variant:r,size:o,borderRadius:"md",...n},Uo.createElement(Tr,{color:(s=Rt[r])==null?void 0:s.color,fontWeight:"semibold"},i))},pc=Object.fromEntries(Object.keys(Rt).map(e=>{let t=o=>Uo.createElement(dl,{...o,variant:e});return t.displayName=`Button.${e}`,[e,t]})),dc=Object.assign(dl,pc);export{dc as Button,Ke as CheckBox,rt as FormLabel,Xo as FormTextField,ic as FrigadeBanner,xr as FrigadeChecklist,qe as FrigadeDefaultAppearance,oc as FrigadeEmbeddedTip,Ei as FrigadeForm,Od as FrigadeGuide,Ed as FrigadeHeroChecklist,lc as FrigadeNPSSurvey,Nd as FrigadeProgressBadge,Ap as FrigadeProvider,ec as FrigadeSupportWidget,Xd as FrigadeTour,Bt as ProgressRing,Tr as Text,lr as tokens,Fe as useFlowOpens,Ht as useFlowResponses,ee as useFlows,nr as useOrganization,Vt as useUser};
|
|
1603
1603
|
//# sourceMappingURL=index.mjs.map
|