@frigade/react 1.35.4 → 1.35.5
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 +12 -12
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +12 -12
- 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 bt,{createContext as Mp,useEffect as Do,useState as Le}from"react";import{ThemeProvider as Up}from"styled-components";import St,{useContext as mp,useEffect as Oo,useState as ur}from"react";import{useCallback as xt,useContext as Ul,useEffect as zl}from"react";import qo,{useMemo as Dr}from"react";var Lr="1.35.4 ";var Oe="NOT_STARTED_STEP",q="COMPLETED_FLOW",go="ABORTED_FLOW",gt="STARTED_FLOW",Me="NOT_STARTED_FLOW",Ue="COMPLETED_STEP",xo="STARTED_STEP";function We(){let{publicApiKey:e,userId:t,apiUrl:o}=qo.useContext(K);return{config:Dr(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Lr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Dr(()=>`${o}/v1/public/`,[o])}}var Pl="frigade-last-call-at-",vl="frigade-last-call-data-";function Et(){let{shouldGracefullyDegrade:e,readonly:t}=qo.useContext(K);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Bt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Bt();let r=Pl+o,n=vl+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),c=window.localStorage.getItem(n);if(p&&c&&c==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Bt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Bt(p)}return s?s.ok?s:Bt(s.statusText):Bt()}}function Bt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function At(){let{publicApiKey:e,shouldGracefullyDegrade:t}=qo.useContext(K);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as Dl,useState as $r}from"react";import{useContext as El,useEffect as Al,useState as Nl}from"react";import Il from"swr";import{useContext as Bl}from"react";function Te(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=Bl(K);function n(d,x=!1){return e[d]??x}function s(d,x){t(S=>({...S,[d]:x}))}function p(d){t(x=>{let{[d]:S,...w}=x;return{...w}})}function c(d){r.includes(d)||i(x=>[...x,d])}function a(d){return r.includes(d)}function g(d){return Object.entries(e).some(([x,S])=>S&&x!=d)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:g,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}import Ol from"swr/immutable";var Ll="unknown";function Ee(){let{config:e,apiUrl:t}=We(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=El(K),{resetOpenFlowState:c}=Te(),[a,g]=Nl(!1),d={data:n.map(T=>({flowId:T.id,flowState:q,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},x=T=>fetch(T,e).then(F=>{if(F.ok)return F.json();throw new Error("Failed to fetch user flow states")}).catch(F=>(console.log(`Error fetching ${T}: ${F}. Will gracefully degrade and hide Frigade`),s(!0),d)),S=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:w,isLoading:P,mutate:f,error:E}=p?Ol(S,x):Il(S,x,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>d,onLoadingSlow:()=>d}),b=w==null?void 0:w.data;Al(()=>{!a&&!P&&b&&g(!0)},[b,a,P]);async function y(T){if(b&&!p){let F=b.find(O=>O.flowId===T);F&&F.flowState!==q&&(F.flowState=q),await f(Promise.resolve({...w,data:b}),{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function A(T,F,O){if(b){let N=b.find(I=>I.flowId===T);N&&(N.stepStates[F]=O,N.flowState=gt),await f(Promise.resolve({...w,data:b}),{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function h(T,F,O){if(b){let N=b.find(I=>I.flowId===T);N&&(N.lastStepId=F,N.stepStates[F]=O,N.flowState=gt),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function m(T){if(b){let F=b.find(O=>O.flowId===T);F&&F.flowState!==Me&&(F.flowState=Me,F.lastStepId=Ll,Object.keys(F.stepStates).forEach(O=>{F.stepStates[O].actionType=Oe,F.stepStates[O].createdAt=new Date().toISOString()}),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1}),c(T))}}async function B(T,F){if(b){let O=b.find(N=>N.flowId===T);O&&O.stepStates[F]!==Oe&&(O.stepStates[F]=Oe),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:b,isLoadingUserFlowStateData:!a,mutateUserFlowState:f,optimisticallyMarkFlowCompleted:y,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:A,optimisticallyMarkStepNotStarted:B,optimisticallyMarkStepStarted:h,error:E}}function qt(){let{config:e,apiUrl:t}=We(),{userFlowStatesData:o,mutateUserFlowState:i}=Ee(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=Dl(K),[c,a]=$r(new Set),[g,d]=$r(new Set),x=Et();function S(f){let E=JSON.stringify(f);if(c.has(E))return null;c.add(E),a(c),g.add(f),d(g);let b=s==null?void 0:s.find(y=>y.flowSlug===f.flowSlug&&y.stepId===f.stepId&&y.actionType===f.actionType&&y.createdAt===f.createdAt);return x(`${t}flowResponses`,{...e,method:"POST",body:E}).then(y=>{y.status!==200&&y.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...r,f])):b||p(A=>[...A??[],f])})}async function w(f){f.foreignUserId&&(f.actionType===gt||f.actionType===Me?await S(f):f.actionType===q?await S(f):f.actionType===xo?await S(f):f.actionType===Ue?await S(f):f.actionType===go?await S(f):f.actionType===Oe&&await S(f))}function P(){let f=[];return o==null||o.forEach(E=>{if(E&&E.stepStates&&Object.keys(E.stepStates).length!==0)for(let b in E.stepStates){let y=E.stepStates[b];f.push({foreignUserId:E.foreignUserId,flowSlug:E.flowId,stepId:y.stepId,actionType:y.actionType,data:{},createdAt:new Date(y.createdAt),blocked:y.blocked,hidden:y.hidden})}}),[...f,...s]}return{addResponse:w,setFlowResponses:p,getFlowResponses:P}}import _l from"swr";var $l=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Mr=e=>{let t=$l.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=Ml(i,"'","");n.startsWith("flow_")&&(o=n)}),o},Ml=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Y(){let{config:e,apiUrl:t}=We(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,setFlowResponses:g,setShouldGracefullyDegrade:d,readonly:x}=Ul(K),S={data:[]},{verifySDKInitiated:w}=At(),{addResponse:P,getFlowResponses:f}=qt(),E=u=>fetch(u,e).then(C=>C.ok?C.json():(console.log(`Error fetching ${u} (${C.status}): ${C.statusText}. .Will gracefully degrade and hide Frigade`),d(!0),S)).catch(C=>(console.log(`Error fetching ${u}: ${C}. Will gracefully degrade and hide Frigade`),d(!0),S)),{mutateUserFlowState:b,userFlowStatesData:y,isLoadingUserFlowStateData:A,optimisticallyMarkFlowCompleted:h,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:B,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:F}=Ee(),{data:O,error:N,isLoading:I}=_l(n?`${t}flows${x?"?readonly=true":""}`:null,E,{keepPreviousData:!0});zl(()=>{if(N){console.error(N);return}O&&O.data&&i(O.data)},[O,N]);function $(u){if(I)return null;let C=o.find(v=>v.slug===u);return!C&&o.length>0&&!A&&!I?(console.log(`Flow with slug ${u} not found`),null):(C==null?void 0:C.active)===!1?null:C}function D(u){var _;if(!$(u))return[];let C=$(u).data;return C?(C=ee(C),(((_=JSON.parse(C))==null?void 0:_.data)??[]).map(ye=>{let Or=se(ye);return{handleSecondaryButtonClick:()=>{ye.skippable===!0&&H(u,ye.id,{skipped:!0})},...ye,complete:ge(u,ye.id)===Ue||Or>=1,blocked:re(u,ye.id),hidden:L(u,ye.id),handlePrimaryButtonClick:()=>{(!ye.completionCriteria&&(ye.autoMarkCompleted||ye.autoMarkCompleted===void 0)||ye.completionCriteria&&ye.autoMarkCompleted===!0)&&H(u,ye.id)},progress:Or}}).filter(ye=>ye.hidden!==!0)):[]}function ee(u){return u.replaceAll(/\${(.*?)}/g,(C,v)=>s[v]===void 0?"":String(s[v]).replace(/[\u00A0-\u9999<>\&]/g,function(_){return"&#"+_.charCodeAt(0)+";"}).replaceAll(/[\\]/g,"\\\\").replaceAll(/[\"]/g,'\\"').replaceAll(/[\/]/g,"\\/").replaceAll(/[\b]/g,"\\b").replaceAll(/[\f]/g,"\\f").replaceAll(/[\n]/g,"\\n").replaceAll(/[\r]/g,"\\r").replaceAll(/[\t]/g,"\\t"))}function M(u){if(!$(u))return[];let C=$(u).data;return C?(C=ee(C),JSON.parse(C)??{}):[]}function te(u,C){p(v=>({...v,[u]:C}))}function fe(u){!A&&!I&&u&&JSON.stringify(s)!=JSON.stringify({...s,...u})&&Object.keys(u).forEach(C=>{te(C,u[C])})}let X=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:xo,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await F(u,C,_),P(_))},[r,y]),W=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:Oe,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await T(u,C),P(_))},[r,y]),H=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:Ue,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await B(u,C,_),P(_))},[r,y]),Ce=xt(async(u,C)=>{if(!w()||pe(u)===Me)return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:Me,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};await m(u),J(v)&&P(v)},[r,y]),Ie=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:gt,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&P(v)},[r,y]),we=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:q,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&(await h(u),P(v))},[r,y]),me=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:go,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&(await h(u),P(v))},[r,y]);function J(u){var C;if(!y&&u.actionType===Oe)return!1;if(y){let v=y.find(_=>_.flowId===u.flowSlug);if(u.actionType===Oe&&(!(v!=null&&v.stepStates[u.stepId])||v.stepStates[u.stepId].actionType===Oe)||v&&((C=v.stepStates[u.stepId])==null?void 0:C.actionType)===u.actionType||v&&v.flowState===q&&u.actionType===q)return!1}return!0}function ge(u,C){let v=j(u,C);return A?null:v?v.actionType:Oe}function re(u,C){let v=j(u,C);return v?v.blocked:!1}function L(u,C){let v=j(u,C);return v?v.hidden:!1}function j(u,C){if(A)return null;let v=y==null?void 0:y.find(_=>_.flowId===u);return!v||!v.stepStates[C]?null:v.stepStates[C]??null}function V(u){var v;if(A||!y)return null;if(pe(u)===Me)return D(u)[0]??null;let C=(v=y.find(_=>_.flowId===u))==null?void 0:v.lastStepId;return C?D(u).find(_=>_.id===C):null}function ne(u){let C=V(u);if(!C)return 0;let v=D(u).findIndex(_=>_.id===C.id)??0;return ge(u,C.id)===Ue&&v<D(u).length-1?v+1:v}function se(u){if(!u.completionCriteria)return;let C=Mr(u.completionCriteria);if(C===null)return;let v=Ye(C),_=$e(C);return _===0?void 0:v/_}function pe(u){let C=y==null?void 0:y.find(v=>v.flowId===u);return C?C.flowState:null}function Ye(u){let C=D(u);return C.length===0?0:C.filter(_=>ge(u,_.id)===Ue).length}function $e(u){return D(u).length}function G(u){let C=o.find(v=>v.slug===u);return C?JSON.parse(C.data):null}function Be(u){if(x)return!1;if(A)return!0;if(u!=null&&u.targetingLogic&&y){let C=y.find(v=>v.flowId===u.slug);if(C)return C.shouldTrigger===!1}return!!(u!=null&&u.targetingLogic&&r&&r.startsWith("guest_"))}function Kt(u){return!Be($(u))}function fo(){r&&b()}return{getFlow:$,getFlowData:G,isLoading:A||I,getStepStatus:ge,getFlowSteps:D,getCurrentStepIndex:ne,markStepStarted:X,markStepCompleted:H,markFlowNotStarted:Ce,markFlowStarted:Ie,markFlowCompleted:we,markFlowAborted:me,markStepNotStarted:W,getFlowStatus:pe,getNumberOfStepsCompleted:Ye,getNumberOfSteps:$e,targetingLogicShouldHideFlow:Be,setCustomVariable:te,updateCustomVariables:fe,customVariables:s,getStepOptionalProgress:se,getFlowMetadata:M,isStepBlocked:re,isStepHidden:L,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,isFlowAvailableToUser:Kt,refresh:fo}}import{useCallback as Ur,useContext as Wl,useEffect as Hl}from"react";var Nt="guest_";function Yt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=Wl(K),{config:n,apiUrl:s}=We(),{mutateUserFlowState:p}=Ee(),c=Et(),{verifySDKInitiated:a}=At();Hl(()=>{if(e&&!t){if(e.startsWith(Nt))return;let x=`frigade-user-registered-${e}`;localStorage.getItem(x)||(c(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(x,"true"))}},[e,r,t]);let g=Ur(async x=>{if(!a())return;let S={foreignId:e,properties:x};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(S)}),i(w=>({...w,...x})),p()},[e,n,r,p]),d=Ur(async(x,S)=>{if(!a())return;let P={foreignId:e,events:[{event:x,properties:S}]};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(P)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:g,trackEventForUser:d}}import{v4 as up}from"uuid";import Ge,{useEffect as ap,useState as pp}from"react";import ze,{useEffect as Xl}from"react";import yo from"styled-components";import jl from"react";import Vl from"styled-components";var zr="fr-",Xt="cfr-";function l(e,t){let o=`${zr}${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+" "+Xt+e}return o}function k(e){if(!e.className||e.className.indexOf(Xt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(zr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Yo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Xe(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Yo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function xe(...e){return e.filter(Boolean).join(" ")}function Jt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Gl=Vl.div`
|
|
2
|
+
import bt,{createContext as Mp,useEffect as Do,useState as Le}from"react";import{ThemeProvider as Up}from"styled-components";import St,{useContext as mp,useEffect as Oo,useState as ur}from"react";import{useCallback as xt,useContext as Ul,useEffect as zl}from"react";import qo,{useMemo as Dr}from"react";var Lr="1.35.5 ";var Oe="NOT_STARTED_STEP",q="COMPLETED_FLOW",go="ABORTED_FLOW",gt="STARTED_FLOW",Me="NOT_STARTED_FLOW",Ue="COMPLETED_STEP",xo="STARTED_STEP";function We(){let{publicApiKey:e,userId:t,apiUrl:o}=qo.useContext(K);return{config:Dr(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Lr,"X-Frigade-SDK-Platform":"React"}}),[e,t]),apiUrl:Dr(()=>`${o}/v1/public/`,[o])}}var Pl="frigade-last-call-at-",vl="frigade-last-call-data-";function Et(){let{shouldGracefullyDegrade:e,readonly:t}=qo.useContext(K);return async(o,i)=>{if(t&&(i.method==="POST"||i.method==="PUT"||i.method==="DELETE"))return Bt();if(e)return console.log(`Skipping ${o} call to Frigade due to error`),Bt();let r=Pl+o,n=vl+o;if(window&&window.localStorage&&i&&i.body&&i.method==="POST"){let p=window.localStorage.getItem(r),c=window.localStorage.getItem(n);if(p&&c&&c==i.body){let a=new Date(p);if(new Date().getTime()-a.getTime()<1e3)return Bt()}window.localStorage.setItem(r,new Date().toISOString()),window.localStorage.setItem(n,i.body)}let s;try{s=await fetch(o,i)}catch(p){return Bt(p)}return s?s.ok?s:Bt(s.statusText):Bt()}}function Bt(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function At(){let{publicApiKey:e,shouldGracefullyDegrade:t}=qo.useContext(K);function o(){return t?(console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize"),!1):e?!0:(console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider"),!1)}return{verifySDKInitiated:o}}import{useContext as Dl,useState as $r}from"react";import{useContext as El,useEffect as Al,useState as Nl}from"react";import Il from"swr";import{useContext as Bl}from"react";function Te(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:r}=Bl(K);function n(d,x=!1){return e[d]??x}function s(d,x){t(S=>({...S,[d]:x}))}function p(d){t(x=>{let{[d]:S,...w}=x;return{...w}})}function c(d){r.includes(d)||i(x=>[...x,d])}function a(d){return r.includes(d)}function g(d){return Object.entries(e).some(([x,S])=>S&&x!=d)||o}return{getOpenFlowState:n,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:g,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}import Ol from"swr/immutable";var Ll="unknown";function Ee(){let{config:e,apiUrl:t}=We(),{publicApiKey:o,userId:i,organizationId:r,flows:n,setShouldGracefullyDegrade:s,readonly:p}=El(K),{resetOpenFlowState:c}=Te(),[a,g]=Nl(!1),d={data:n.map(T=>({flowId:T.id,flowState:q,lastStepId:null,userId:i,foreignUserId:i,stepStates:{},shouldTrigger:!1}))},x=T=>fetch(T,e).then(F=>{if(F.ok)return F.json();throw new Error("Failed to fetch user flow states")}).catch(F=>(console.log(`Error fetching ${T}: ${F}. Will gracefully degrade and hide Frigade`),s(!0),d)),S=o&&n&&i?`${t}userFlowStates?foreignUserId=${encodeURIComponent(i)}${r?`&foreignUserGroupId=${encodeURIComponent(r)}`:""}`:null,{data:w,isLoading:P,mutate:f,error:E}=p?Ol(S,x):Il(S,x,{revalidateOnFocus:!0,revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>d,onLoadingSlow:()=>d}),b=w==null?void 0:w.data;Al(()=>{!a&&!P&&b&&g(!0)},[b,a,P]);async function y(T){if(b&&!p){let F=b.find(O=>O.flowId===T);F&&F.flowState!==q&&(F.flowState=q),await f(Promise.resolve({...w,data:b}),{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function A(T,F,O){if(b){let N=b.find(I=>I.flowId===T);N&&(N.stepStates[F]=O,N.flowState=gt),await f(Promise.resolve({...w,data:b}),{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function h(T,F,O){if(b){let N=b.find(I=>I.flowId===T);N&&(N.lastStepId=F,N.stepStates[F]=O,N.flowState=gt),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}async function m(T){if(b){let F=b.find(O=>O.flowId===T);F&&F.flowState!==Me&&(F.flowState=Me,F.lastStepId=Ll,Object.keys(F.stepStates).forEach(O=>{F.stepStates[O].actionType=Oe,F.stepStates[O].createdAt=new Date().toISOString()}),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1}),c(T))}}async function B(T,F){if(b){let O=b.find(N=>N.flowId===T);O&&O.stepStates[F]!==Oe&&(O.stepStates[F]=Oe),await f({...w,data:b},{optimisticData:{...w,data:b},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:b,isLoadingUserFlowStateData:!a,mutateUserFlowState:f,optimisticallyMarkFlowCompleted:y,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:A,optimisticallyMarkStepNotStarted:B,optimisticallyMarkStepStarted:h,error:E}}function qt(){let{config:e,apiUrl:t}=We(),{userFlowStatesData:o,mutateUserFlowState:i}=Ee(),{failedFlowResponses:r,setFailedFlowResponses:n,flowResponses:s,setFlowResponses:p}=Dl(K),[c,a]=$r(new Set),[g,d]=$r(new Set),x=Et();function S(f){let E=JSON.stringify(f);if(c.has(E))return null;c.add(E),a(c),g.add(f),d(g);let b=s==null?void 0:s.find(y=>y.flowSlug===f.flowSlug&&y.stepId===f.stepId&&y.actionType===f.actionType&&y.createdAt===f.createdAt);return x(`${t}flowResponses`,{...e,method:"POST",body:E}).then(y=>{y.status!==200&&y.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...r,f])):b||p(A=>[...A??[],f])})}async function w(f){f.foreignUserId&&(f.actionType===gt||f.actionType===Me?await S(f):f.actionType===q?await S(f):f.actionType===xo?await S(f):f.actionType===Ue?await S(f):f.actionType===go?await S(f):f.actionType===Oe&&await S(f))}function P(){let f=[];return o==null||o.forEach(E=>{if(E&&E.stepStates&&Object.keys(E.stepStates).length!==0)for(let b in E.stepStates){let y=E.stepStates[b];f.push({foreignUserId:E.foreignUserId,flowSlug:E.flowId,stepId:y.stepId,actionType:y.actionType,data:{},createdAt:new Date(y.createdAt),blocked:y.blocked,hidden:y.hidden})}}),[...f,...s]}return{addResponse:w,setFlowResponses:p,getFlowResponses:P}}import _l from"swr";var $l=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Mr=e=>{let t=$l.exec(e);if(t===null)return null;let o=null;return t.forEach((i,r)=>{let n=Ml(i,"'","");n.startsWith("flow_")&&(o=n)}),o},Ml=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Y(){let{config:e,apiUrl:t}=We(),{flows:o,setFlows:i,userId:r,publicApiKey:n,customVariables:s,setCustomVariables:p,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,setFlowResponses:g,setShouldGracefullyDegrade:d,readonly:x}=Ul(K),S={data:[]},{verifySDKInitiated:w}=At(),{addResponse:P,getFlowResponses:f}=qt(),E=u=>fetch(u,e).then(C=>C.ok?C.json():(console.log(`Error fetching ${u} (${C.status}): ${C.statusText}. .Will gracefully degrade and hide Frigade`),d(!0),S)).catch(C=>(console.log(`Error fetching ${u}: ${C}. Will gracefully degrade and hide Frigade`),d(!0),S)),{mutateUserFlowState:b,userFlowStatesData:y,isLoadingUserFlowStateData:A,optimisticallyMarkFlowCompleted:h,optimisticallyMarkFlowNotStarted:m,optimisticallyMarkStepCompleted:B,optimisticallyMarkStepNotStarted:T,optimisticallyMarkStepStarted:F}=Ee(),{data:O,error:N,isLoading:I}=_l(n?`${t}flows${x?"?readonly=true":""}`:null,E,{keepPreviousData:!0});zl(()=>{if(N){console.error(N);return}O&&O.data&&i(O.data)},[O,N]);function $(u){if(I)return null;let C=o.find(v=>v.slug===u);return!C&&o.length>0&&!A&&!I?(console.log(`Flow with slug ${u} not found`),null):(C==null?void 0:C.active)===!1?null:C}function D(u){var _;if(!$(u))return[];let C=$(u).data;return C?(C=ee(C),(((_=JSON.parse(C))==null?void 0:_.data)??[]).map(ye=>{let Or=se(ye);return{handleSecondaryButtonClick:()=>{ye.skippable===!0&&H(u,ye.id,{skipped:!0})},...ye,complete:ge(u,ye.id)===Ue||Or>=1,blocked:re(u,ye.id),hidden:L(u,ye.id),handlePrimaryButtonClick:()=>{(!ye.completionCriteria&&(ye.autoMarkCompleted||ye.autoMarkCompleted===void 0)||ye.completionCriteria&&ye.autoMarkCompleted===!0)&&H(u,ye.id)},progress:Or}}).filter(ye=>ye.hidden!==!0)):[]}function ee(u){return u.replaceAll(/\${(.*?)}/g,(C,v)=>s[v]===void 0?"":String(s[v]).replace(/[\u00A0-\u9999<>\&]/g,function(_){return"&#"+_.charCodeAt(0)+";"}).replaceAll(/[\\]/g,"\\\\").replaceAll(/[\"]/g,'\\"').replaceAll(/[\/]/g,"\\/").replaceAll(/[\b]/g,"\\b").replaceAll(/[\f]/g,"\\f").replaceAll(/[\n]/g,"\\n").replaceAll(/[\r]/g,"\\r").replaceAll(/[\t]/g,"\\t"))}function M(u){if(!$(u))return[];let C=$(u).data;return C?(C=ee(C),JSON.parse(C)??{}):[]}function te(u,C){p(v=>({...v,[u]:C}))}function fe(u){!A&&!I&&u&&JSON.stringify(s)!=JSON.stringify({...s,...u})&&Object.keys(u).forEach(C=>{te(C,u[C])})}let X=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:xo,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await F(u,C,_),P(_))},[r,y]),W=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:Oe,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await T(u,C),P(_))},[r,y]),H=xt(async(u,C,v)=>{if(!w())return;let _={foreignUserId:r,flowSlug:u,stepId:C,actionType:Ue,data:v??{},createdAt:new Date,blocked:!1,hidden:!1};J(_)&&(await B(u,C,_),P(_))},[r,y]),Ce=xt(async(u,C)=>{if(!w()||pe(u)===Me)return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:Me,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};await m(u),J(v)&&P(v)},[r,y]),Ie=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:gt,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&P(v)},[r,y]),we=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:q,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&(await h(u),P(v))},[r,y]),me=xt(async(u,C)=>{if(!w())return;let v={foreignUserId:r,flowSlug:u,stepId:"unknown",actionType:go,data:C??{},createdAt:new Date,blocked:!1,hidden:!1};J(v)&&(await h(u),P(v))},[r,y]);function J(u){var C;if(!y&&u.actionType===Oe)return!1;if(y){let v=y.find(_=>_.flowId===u.flowSlug);if(u.actionType===Oe&&(!(v!=null&&v.stepStates[u.stepId])||v.stepStates[u.stepId].actionType===Oe)||v&&((C=v.stepStates[u.stepId])==null?void 0:C.actionType)===u.actionType||v&&v.flowState===q&&u.actionType===q)return!1}return!0}function ge(u,C){let v=j(u,C);return A?null:v?v.actionType:Oe}function re(u,C){let v=j(u,C);return v?v.blocked:!1}function L(u,C){let v=j(u,C);return v?v.hidden:!1}function j(u,C){if(A)return null;let v=y==null?void 0:y.find(_=>_.flowId===u);return!v||!v.stepStates[C]?null:v.stepStates[C]??null}function V(u){var v;if(A||!y)return null;if(pe(u)===Me)return D(u)[0]??null;let C=(v=y.find(_=>_.flowId===u))==null?void 0:v.lastStepId;return C?D(u).find(_=>_.id===C):null}function ne(u){let C=V(u);if(!C)return 0;let v=D(u).findIndex(_=>_.id===C.id)??0;return ge(u,C.id)===Ue&&v<D(u).length-1?v+1:v}function se(u){if(!u.completionCriteria)return;let C=Mr(u.completionCriteria);if(C===null)return;let v=Ye(C),_=$e(C);return _===0?void 0:v/_}function pe(u){let C=y==null?void 0:y.find(v=>v.flowId===u);return C?C.flowState:null}function Ye(u){let C=D(u);return C.length===0?0:C.filter(_=>ge(u,_.id)===Ue).length}function $e(u){return D(u).length}function G(u){let C=o.find(v=>v.slug===u);return C?JSON.parse(C.data):null}function Be(u){if(x)return!1;if(A)return!0;if(u!=null&&u.targetingLogic&&y){let C=y.find(v=>v.flowId===u.slug);if(C)return C.shouldTrigger===!1}return!!(u!=null&&u.targetingLogic&&r&&r.startsWith("guest_"))}function Kt(u){return!Be($(u))}function fo(){r&&b()}return{getFlow:$,getFlowData:G,isLoading:A||I,getStepStatus:ge,getFlowSteps:D,getCurrentStepIndex:ne,markStepStarted:X,markStepCompleted:H,markFlowNotStarted:Ce,markFlowStarted:Ie,markFlowCompleted:we,markFlowAborted:me,markStepNotStarted:W,getFlowStatus:pe,getNumberOfStepsCompleted:Ye,getNumberOfSteps:$e,targetingLogicShouldHideFlow:Be,setCustomVariable:te,updateCustomVariables:fe,customVariables:s,getStepOptionalProgress:se,getFlowMetadata:M,isStepBlocked:re,isStepHidden:L,hasActiveFullPageFlow:c,setHasActiveFullPageFlow:a,isFlowAvailableToUser:Kt,refresh:fo}}import{useCallback as Ur,useContext as Wl,useEffect as Hl}from"react";var Nt="guest_";function Yt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:r}=Wl(K),{config:n,apiUrl:s}=We(),{mutateUserFlowState:p}=Ee(),c=Et(),{verifySDKInitiated:a}=At();Hl(()=>{if(e&&!t){if(e.startsWith(Nt))return;let x=`frigade-user-registered-${e}`;localStorage.getItem(x)||(c(`${s}users`,{...n,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(x,"true"))}},[e,r,t]);let g=Ur(async x=>{if(!a())return;let S={foreignId:e,properties:x};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(S)}),i(w=>({...w,...x})),p()},[e,n,r,p]),d=Ur(async(x,S)=>{if(!a())return;let P={foreignId:e,events:[{event:x,properties:S}]};await c(`${s}users`,{...n,method:"POST",body:JSON.stringify(P)}),p()},[e,n,p]);return{userId:e,setUserId:o,addPropertiesToUser:g,trackEventForUser:d}}import{v4 as up}from"uuid";import Ge,{useEffect as ap,useState as pp}from"react";import ze,{useEffect as Xl}from"react";import yo from"styled-components";import jl from"react";import Vl from"styled-components";var zr="fr-",Xt="cfr-";function l(e,t){let o=`${zr}${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+" "+Xt+e}return o}function k(e){if(!e.className||e.className.indexOf(Xt)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(zr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function Yo(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function Xe(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${Yo(t)}: ${e.styleOverrides[t]};`).join(" "):""}function xe(...e){return e.filter(Boolean).join(" ")}function Jt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Gl=Vl.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -480,7 +480,7 @@ import bt,{createContext as Mp,useEffect as Do,useState as Le}from"react";import
|
|
|
480
480
|
margin-right: 8px;
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
|
-
`,Z=({onClick:e,title:t,style:o,disabled:i,type:r="inline",size:n="medium",secondary:s=!1,appearance:p,withMargin:c=!0,classPrefix:a=""})=>{function g(){let d=s?"buttonSecondary":"button";return a===""?d:`${a}${Jt(d)}`}return Ua.createElement(za,{secondary:s,appearance:p,disabled:i,onClick:e,styleOverrides:o,type:r,withMargin:c,size:n,className:l(g(),p)},t??"Continue")};var Fi=({step:e,canContinue:t,appearance:o,onPrimaryClick:i,onSecondaryClick:r,selectedStep:n,steps:s,onBack:p,allowBackNavigation:c,errorMessage:a})=>{let g=s.length>1&&n!=0&&c,d=e.primaryButtonTitle&&e.secondaryButtonTitle||g?"inline":"full-width";return at.createElement(at.Fragment,null,a!==null&&a!=null&&at.createElement(hi,{appearance:o,className:l("formCTAError",o)},a),at.createElement(xi,{showBackButton:g,className:l("formCTAContainer",o)},g&&at.createElement(Z,{title:e.backButtonTitle??"
|
|
483
|
+
`,Z=({onClick:e,title:t,style:o,disabled:i,type:r="inline",size:n="medium",secondary:s=!1,appearance:p,withMargin:c=!0,classPrefix:a=""})=>{function g(){let d=s?"buttonSecondary":"button";return a===""?d:`${a}${Jt(d)}`}return Ua.createElement(za,{secondary:s,appearance:p,disabled:i,onClick:e,styleOverrides:o,type:r,withMargin:c,size:n,className:l(g(),p)},t??"Continue")};var Fi=({step:e,canContinue:t,appearance:o,onPrimaryClick:i,onSecondaryClick:r,selectedStep:n,steps:s,onBack:p,allowBackNavigation:c,errorMessage:a})=>{let g=s.length>1&&n!=0&&c,d=e.primaryButtonTitle&&e.secondaryButtonTitle||g?"inline":"full-width";return at.createElement(at.Fragment,null,a!==null&&a!=null&&at.createElement(hi,{appearance:o,className:l("formCTAError",o)},a),at.createElement(xi,{showBackButton:g,className:l("formCTAContainer",o)},g&&at.createElement(Z,{title:e.backButtonTitle??"Back",onClick:p,secondary:!0,withMargin:!1,type:d,appearance:o,style:{width:"90px",maxWidth:"90px"},classPrefix:"back"}),at.createElement(Ci,{className:l("ctaWrapper",o)},e.secondaryButtonTitle?at.createElement(Z,{title:e.secondaryButtonTitle,onClick:r,secondary:!0,withMargin:!1,type:d,appearance:o}):null," ",e.primaryButtonTitle?at.createElement(Z,{disabled:!t,withMargin:!1,title:e.primaryButtonTitle,onClick:i,type:d,appearance:o}):null)))};import ar from"react";import _a from"styled-components";var Wa=_a.div`
|
|
484
484
|
text-align: center;
|
|
485
485
|
`,ki=({stepCount:e=0,currentStep:t=0,className:o,appearance:i})=>{let{theme:r}=Q().mergeAppearanceWithDefault(i);return ar.createElement(Wa,{className:o},ar.createElement("svg",{width:16*e-8,height:8,viewBox:`0 0 ${16*e-8} 8`,fill:"none"},Array(e).fill(null).map((n,s)=>ar.createElement("rect",{key:s,x:16*s,y:0,width:8,height:8,rx:4,fill:t===s?r.colorPrimary:"#E6E6E6"}))))};import yt from"react";import Lt from"styled-components";import{useContext as Ha}from"react";function ie(){let e=Ha(K);function t(r){i(r.primaryButtonUri,r.primaryButtonUriTarget)}function o(r){i(r.secondaryButtonUri,r.secondaryButtonUriTarget)}function i(r,n){if(!r)return;let s=r.startsWith("http")?"_blank":"_self";n&&n!=="_blank"&&(s="_self"),e.navigate(r,s)}return{primaryCTAClickSideEffects:t,secondaryCTAClickSideEffects:o,handleUrl:i}}var ja=Lt.div`
|
|
486
486
|
display: flex;
|
|
@@ -1698,15 +1698,15 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${Xt}${r}.${Xt}${r} { ${Object.entries(n).map
|
|
|
1698
1698
|
justify-content: center;
|
|
1699
1699
|
align-items: stretch;
|
|
1700
1700
|
gap: 16px;
|
|
1701
|
-
margin-top:
|
|
1701
|
+
margin-top: 8px;
|
|
1702
1702
|
`,hl=vt.div`
|
|
1703
1703
|
margin-top: 16px;
|
|
1704
1704
|
margin-bottom: 16px;
|
|
1705
1705
|
`,Cl=vt.div`
|
|
1706
1706
|
${e=>k(e)} {
|
|
1707
1707
|
position: absolute;
|
|
1708
|
-
top: -
|
|
1709
|
-
right: -
|
|
1708
|
+
top: -16px;
|
|
1709
|
+
right: -16px;
|
|
1710
1710
|
cursor: pointer;
|
|
1711
1711
|
|
|
1712
1712
|
:hover {
|
|
@@ -1718,10 +1718,10 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${Xt}${r}.${Xt}${r} { ${Object.entries(n).map
|
|
|
1718
1718
|
font-style: normal;
|
|
1719
1719
|
justify-content: center;
|
|
1720
1720
|
text-align: center;
|
|
1721
|
-
font-size:
|
|
1721
|
+
font-size: 18px;
|
|
1722
1722
|
font-weight: 700;
|
|
1723
|
-
line-height:
|
|
1724
|
-
letter-spacing: 0.
|
|
1723
|
+
line-height: 24px; /* 125% */
|
|
1724
|
+
letter-spacing: 0.36px;
|
|
1725
1725
|
display: flex;
|
|
1726
1726
|
align-items: center;
|
|
1727
1727
|
color: ${e=>e.appearance.theme.colorText};
|
|
@@ -1734,9 +1734,9 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${Xt}${r}.${Xt}${r} { ${Object.entries(n).map
|
|
|
1734
1734
|
text-align: center;
|
|
1735
1735
|
font-weight: 400;
|
|
1736
1736
|
color: ${e=>e.appearance.theme.colorTextSecondary};
|
|
1737
|
-
font-size:
|
|
1738
|
-
line-height:
|
|
1739
|
-
letter-spacing: 0.
|
|
1737
|
+
font-size: 14px;
|
|
1738
|
+
line-height: 22px; /* 150% */
|
|
1739
|
+
letter-spacing: 0.28px;
|
|
1740
1740
|
margin-bottom: 8px;
|
|
1741
1741
|
}
|
|
1742
1742
|
`;import bl from"react";import ac from"styled-components";var pc=ac.img`
|
|
@@ -1744,5 +1744,5 @@ ${i=>i.inlineStyles.map(([r,n])=>`.${Xt}${r}.${Xt}${r} { ${Object.entries(n).map
|
|
|
1744
1744
|
height: 100%;
|
|
1745
1745
|
min-height: 200px;
|
|
1746
1746
|
border-radius: ${e=>e.appearance.theme.borderRadius}px;
|
|
1747
|
-
`;function wl({stepData:e,appearance:t,classPrefix:o=""}){return e.videoUri?bl.createElement(Ve,{appearance:t,videoUri:e.videoUri}):e.imageUri?bl.createElement(pc,{className:l(`${o}image`,t),appearance:t,src:e.imageUri}):null}var cc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,dismissible:p=!0,modalPosition:c})=>{let{getFlow:a,markFlowCompleted:g,markStepCompleted:d,isLoading:x,targetingLogicShouldHideFlow:S,updateCustomVariables:w,getFlowSteps:P,getFlowStatus:f,getCurrentStepIndex:E}=Y(),{primaryCTAClickSideEffects:b,secondaryCTAClickSideEffects:y}=ie(),{mergeAppearanceWithDefault:A}=Q(),{setOpenFlowState:h,getOpenFlowState:m,hasOpenModals:B}=Te(),[T,F]=[m(e,!0),M=>h(e,M)];if(r=A(r),dc(()=>{w(o)},[o,x]),x)return null;let O=a(e);if(!O||S(O)||f(e)===q||B())return null;let I=P(e)[E(e)],$=()=>{F(!1),t&&t(),g(e)};function D(){return be.createElement(be.Fragment,null,be.createElement(oe,{appearance:r}),be.createElement(fl,{appearance:r,className:xe(l("announcementContainer",r),n),style:s},(p===!0||I.dismissible)&&c=="inline"&&be.createElement(Cl,{onClick:async()=>{await g(e),t&&t()},className:l("announcementDismissButton",r)},be.createElement(Fe,null)),be.createElement(gl,null,be.createElement(yl,{appearance:r,className:l("announcementTitle",r),dangerouslySetInnerHTML:le(I.title)}),I.subtitle&&be.createElement(Sl,{appearance:r,className:l("announcementSubtitle",r),dangerouslySetInnerHTML:le(I.subtitle)})),(I.imageUri||I.videoUri)&&be.createElement(hl,{className:l("announcementMediaContainer",r)},be.createElement(wl,{appearance:r,stepData:I})),(I.primaryButtonTitle||I.secondaryButtonTitle)&&be.createElement(xl,{className:l("announcementCTAContainer",r)},I.secondaryButtonTitle&&be.createElement(Z,{classPrefix:"announcement",title:I.secondaryButtonTitle,appearance:r,withMargin:!1,size:"
|
|
1747
|
+
`;function wl({stepData:e,appearance:t,classPrefix:o=""}){return e.videoUri?bl.createElement(Ve,{appearance:t,videoUri:e.videoUri}):e.imageUri?bl.createElement(pc,{className:l(`${o}image`,t),appearance:t,src:e.imageUri}):null}var cc=({flowId:e,onDismiss:t,customVariables:o,onButtonClick:i,appearance:r,className:n,style:s,dismissible:p=!0,modalPosition:c})=>{let{getFlow:a,markFlowCompleted:g,markStepCompleted:d,isLoading:x,targetingLogicShouldHideFlow:S,updateCustomVariables:w,getFlowSteps:P,getFlowStatus:f,getCurrentStepIndex:E}=Y(),{primaryCTAClickSideEffects:b,secondaryCTAClickSideEffects:y}=ie(),{mergeAppearanceWithDefault:A}=Q(),{setOpenFlowState:h,getOpenFlowState:m,hasOpenModals:B}=Te(),[T,F]=[m(e,!0),M=>h(e,M)];if(r=A(r),dc(()=>{w(o)},[o,x]),x)return null;let O=a(e);if(!O||S(O)||f(e)===q||B())return null;let I=P(e)[E(e)],$=()=>{F(!1),t&&t(),g(e)};function D(){return be.createElement(be.Fragment,null,be.createElement(oe,{appearance:r}),be.createElement(fl,{appearance:r,className:xe(l("announcementContainer",r),n),style:s},(p===!0||I.dismissible)&&c=="inline"&&be.createElement(Cl,{onClick:async()=>{await g(e),t&&t()},className:l("announcementDismissButton",r)},be.createElement(Fe,null)),be.createElement(gl,null,be.createElement(yl,{appearance:r,className:l("announcementTitle",r),dangerouslySetInnerHTML:le(I.title)}),I.subtitle&&be.createElement(Sl,{appearance:r,className:l("announcementSubtitle",r),dangerouslySetInnerHTML:le(I.subtitle)})),(I.imageUri||I.videoUri)&&be.createElement(hl,{className:l("announcementMediaContainer",r)},be.createElement(wl,{appearance:r,stepData:I})),(I.primaryButtonTitle||I.secondaryButtonTitle)&&be.createElement(xl,{className:l("announcementCTAContainer",r)},I.secondaryButtonTitle&&be.createElement(Z,{classPrefix:"announcement",title:I.secondaryButtonTitle,appearance:r,withMargin:!1,size:"small",type:"full-width",onClick:async()=>{I.handleSecondaryButtonClick(),y(I),i&&i(I,E(e),"secondary")},secondary:!0}),I.primaryButtonTitle&&be.createElement(Z,{classPrefix:"announcement",title:I.primaryButtonTitle,appearance:r,withMargin:!1,size:"small",type:"full-width",onClick:async()=>{I.handlePrimaryButtonClick(),b(I),!(i&&i(I,E(e),"primary")===!1)&&(await d(e,I.id),await g(e))}}))))}let ee={padding:"24px",maxWidth:"400px"};return c==="inline"?D():c!=="center"?be.createElement(bo,{modalPosition:c,onClose:$,visible:T,dismissible:p,appearance:r},D()):be.createElement(He,{appearance:r,onClose:$,visible:T,style:ee,dismissible:p},D())};import*as Ko from"react";import Tl from"react";var Fl=({as:e="span",children:t,variant:o="Body1",...i})=>Tl.createElement(qi,{color:"neutral.foreground",fontFamily:"default",forwardedAs:e,variant:o,...i},t),mc=Object.fromEntries(Object.keys(Lo).map(e=>{let t=["H1","H2","H3","H4"].includes(e)?e.toLowerCase():void 0,o=i=>Tl.createElement(Fl,{as:t,...i,variant:e},i.children);return o.displayName=`Text.${e}`,[e,o]})),Ir=Object.assign(Fl,mc);var kl=({as:e="button",className:t,size:o="md",title:i,variant:r="Primary",...n})=>{var s;return Ko.createElement(Ki,{className:`fr-button-${r.toLowerCase()}${t?` ${t}`:""}`,forwardedAs:e,variant:r,size:o,borderRadius:"md",...n},Ko.createElement(Ir,{color:(s=so[r])==null?void 0:s.color,fontWeight:"semibold"},i))},uc=Object.fromEntries(Object.keys(so).map(e=>{let t=o=>Ko.createElement(kl,{...o,variant:e});return t.displayName=`Button.${e}`,[e,t]})),fc=Object.assign(kl,uc);export{no as Box,fc as Button,Qe as CheckBox,lt as FormLabel,or as FormTextField,cc as FrigadeAnnouncement,ic as FrigadeBanner,Fr as FrigadeChecklist,Je as FrigadeDefaultAppearance,oc as FrigadeEmbeddedTip,Mi as FrigadeForm,Dd as FrigadeGuide,Nd as FrigadeHeroChecklist,lc as FrigadeNPSSurvey,Od as FrigadeProgressBadge,Wp as FrigadeProvider,ec as FrigadeSupportWidget,Xd as FrigadeTour,Ot as ProgressRing,Ir as Text,gr as tokens,Te as useFlowOpens,qt as useFlowResponses,Y as useFlows,mr as useOrganization,Yt as useUser,Ee as useUserFlowStates};
|
|
1748
1748
|
//# sourceMappingURL=index.mjs.map
|