@frigade/react 1.32.62 → 1.32.63

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 CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- var xl=Object.create;var To=Object.defineProperty;var Cl=Object.getOwnPropertyDescriptor;var Sl=Object.getOwnPropertyNames;var yl=Object.getPrototypeOf,bl=Object.prototype.hasOwnProperty;var wl=(e,t)=>{for(var o in t)To(e,o,{get:t[o],enumerable:!0})},vr=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Sl(t))!bl.call(e,n)&&n!==o&&To(e,n,{get:()=>t[n],enumerable:!(i=Cl(t,n))||i.enumerable});return e};var g=(e,t,o)=>(o=e!=null?xl(yl(e)):{},vr(t||!e||!e.__esModule?To(o,"default",{value:e,enumerable:!0}):o,e)),Tl=e=>vr(To({},"__esModule",{value:!0}),e);var up={};wl(up,{CheckBox:()=>Re,FormLabel:()=>ut,FormTextField:()=>Do,FrigadeBanner:()=>pl,FrigadeChecklist:()=>Zo,FrigadeDefaultAppearance:()=>Qe,FrigadeEmbeddedTip:()=>rl,FrigadeForm:()=>ar,FrigadeGuide:()=>Os,FrigadeHeroChecklist:()=>ys,FrigadeNPSSurvey:()=>hl,FrigadeProgressBadge:()=>Ns,FrigadeProvider:()=>Wi,FrigadeSupportWidget:()=>Zs,FrigadeTour:()=>Ws,ProgressRing:()=>vt,useFlowOpens:()=>Ne,useFlowResponses:()=>_t,useFlows:()=>Q,useOrganization:()=>Vo,useUser:()=>Wt});module.exports=Tl(up);var Y=g(require("react")),_i=require("styled-components");var fe=g(require("react"));var He=require("react");var Dt=g(require("react"));var Er="1.32.62 ";var Ie="https://api.frigade.com/v1/public/",ze="NOT_STARTED_STEP",oe="COMPLETED_FLOW",Fo="ABORTED_FLOW",kt="STARTED_FLOW",Ve="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",ko="STARTED_STEP";function Je(){let{publicApiKey:e,userId:t}=Dt.default.useContext(J);return{config:(0,Dt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Er,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var Fl="frigade-last-call-at-",kl="frigade-last-call-data-";function $t(){let{shouldGracefullyDegrade:e}=Dt.default.useContext(J);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),no();let i=Fl+t,n=kl+t;if(window&&window.localStorage&&o&&o.body&&o.method==="POST"){let s=window.localStorage.getItem(i),p=window.localStorage.getItem(n);if(s&&p&&p==o.body){let c=new Date(s);if(new Date().getTime()-c.getTime()<1e3)return no()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(n,o.body)}let r;try{r=await fetch(t,o)}catch(s){return no(s)}return r?r.ok?r:no(r.statusText):no()}}function no(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Mt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Dt.default.useContext(J);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}var so=require("react");var Ut=require("react");var Ar=g(require("swr"));var Br=require("react");function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,Br.useContext)(J);function r(d,u=!1){return e[d]??u}function s(d,u){t(b=>({...b,[d]:u}))}function p(d){t(u=>{let{[d]:b,...B}=u;return{...B}})}function c(d){n.includes(d)||i(u=>[...u,d])}function a(d){return n.includes(d)}function S(){return Object.values(e).some(d=>d)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:S,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}var Pl="unknown";function We(){let{config:e}=Je(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=(0,Ut.useContext)(J),{resetOpenFlowState:s}=Ne(),[p,c]=(0,Ut.useState)(!1),a={data:n.map(y=>({flowId:y.id,flowState:oe,lastStepId:null,userId:o,foreignUserId:o,stepStates:{},shouldTrigger:!1}))},S=y=>fetch(y,e).then(m=>{if(m.ok)return m.json();throw new Error("Failed to fetch user flow states")}).catch(m=>(console.log(`Error fetching ${y}: ${m}. Will gracefully degrade and hide Frigade`),r(!0),a)),{data:d,isLoading:u,mutate:b,error:B}=(0,Ar.default)(t&&n&&o?`${Ie}userFlowStates?foreignUserId=${encodeURIComponent(o)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,S,{revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>a,onLoadingSlow:()=>a}),f=d==null?void 0:d.data;(0,Ut.useEffect)(()=>{!p&&!u&&f&&c(!0)},[f,p,u]);async function C(y){if(f){let m=f.find(x=>x.flowId===y);m&&m.flowState!==oe&&(m.flowState=oe),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function k(y,m,x){if(f){let T=f.find(O=>O.flowId===y);T&&(T.stepStates[m]=x,T.flowState=kt),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function P(y,m,x){if(f){let T=f.find(O=>O.flowId===y);T&&(T.lastStepId=m,T.stepStates[m]=x,T.flowState=kt),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function I(y){if(f){let m=f.find(x=>x.flowId===y);m&&m.flowState!==Ve&&(m.flowState=Ve,m.lastStepId=Pl,Object.keys(m.stepStates).forEach(x=>{m.stepStates[x].actionType=ze,m.stepStates[x].createdAt=new Date().toISOString()}),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(y))}}async function v(y,m){if(f){let x=f.find(T=>T.flowId===y);x&&x.stepStates[m]!==ze&&(x.stepStates[m]=ze),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:f,isLoadingUserFlowStateData:!p,mutateUserFlowState:b,optimisticallyMarkFlowCompleted:C,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:k,optimisticallyMarkStepNotStarted:v,optimisticallyMarkStepStarted:P,error:B}}function _t(){let{config:e}=Je(),{userFlowStatesData:t,mutateUserFlowState:o}=We(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=(0,so.useContext)(J),[p,c]=(0,so.useState)(new Set),[a,S]=(0,so.useState)(new Set),d=$t();function u(f){let C=JSON.stringify(f);if(p.has(C))return null;p.add(C),c(p),a.add(f),S(a);let k=r==null?void 0:r.find(P=>P.flowSlug===f.flowSlug&&P.stepId===f.stepId&&P.actionType===f.actionType&&P.createdAt===f.createdAt);return d(`${Ie}flowResponses`,{...e,method:"POST",body:C}).then(P=>{P.status!==200&&P.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):k||s(I=>[...I??[],f])})}async function b(f){f.foreignUserId&&(f.actionType===kt||f.actionType===Ve?await u(f):f.actionType===oe?await u(f):f.actionType===ko?await u(f):f.actionType===Ge?await u(f):f.actionType===Fo?await u(f):f.actionType===ze&&await u(f))}function B(){let f=[];return t==null||t.forEach(C=>{if(C&&C.stepStates&&Object.keys(C.stepStates).length!==0)for(let k in C.stepStates){let P=C.stepStates[k];f.push({foreignUserId:C.foreignUserId,flowSlug:C.flowId,stepId:P.stepId,actionType:P.actionType,data:{},createdAt:new Date(P.createdAt),blocked:P.blocked,hidden:P.hidden})}}),[...f,...r]}return{addResponse:b,setFlowResponses:s,getFlowResponses:B}}var Nr=g(require("swr"));var vl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ir=e=>{let t=vl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=El(i,"'","");r.startsWith("flow_")&&(o=r)}),o},El=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Q(){let{config:e}=Je(),{flows:t,setFlows:o,userId:i,publicApiKey:n,customVariables:r,setCustomVariables:s,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,setFlowResponses:a,setShouldGracefullyDegrade:S}=(0,He.useContext)(J),d={data:[]},{verifySDKInitiated:u}=Mt(),{addResponse:b,getFlowResponses:B}=_t(),f=h=>fetch(h,e).then(w=>w.ok?w.json():(console.log(`Error fetching ${h} (${w.status}): ${w.statusText}. .Will gracefully degrade and hide Frigade`),S(!0),d)).catch(w=>(console.log(`Error fetching ${h}: ${w}. Will gracefully degrade and hide Frigade`),S(!0),d)),{userFlowStatesData:C,isLoadingUserFlowStateData:k,optimisticallyMarkFlowCompleted:P,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:m}=We(),{data:x,error:T,isLoading:O}=(0,Nr.default)(n?`${Ie}flows`:null,f,{keepPreviousData:!0});(0,He.useEffect)(()=>{if(T){console.error(T);return}x&&x.data&&(x.data=o(x.data))},[x,T]);function j(h){if(O)return null;let w=t.find(E=>E.slug===h);return!w&&t.length>0&&!k&&!O?(console.log(`Flow with slug ${h} not found`),null):(w==null?void 0:w.active)===!1?null:w}function V(h){var W;if(!j(h))return[];let w=j(h).data;return w?(w=N(w),(((W=JSON.parse(w))==null?void 0:W.data)??[]).map(Se=>{let H=ie(Se);return{handleSecondaryButtonClick:()=>{Se.skippable===!0&&M(h,Se.id,{skipped:!0})},...Se,complete:L(h,Se.id)===Ge||H>=1,blocked:ue(h,Se.id),hidden:Te(h,Se.id),handlePrimaryButtonClick:()=>{(!Se.completionCriteria&&(Se.autoMarkCompleted||Se.autoMarkCompleted===void 0)||Se.completionCriteria&&Se.autoMarkCompleted===!0)&&M(h,Se.id)},progress:H}}).filter(Se=>Se.hidden!==!0)):[]}function N(h){return h.replaceAll(/\${(.*?)}/g,(w,E)=>r[E]===void 0?"":String(r[E]).replace(/[\u00A0-\u9999<>\&]/g,function(W){return"&#"+W.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 z(h){if(!j(h))return[];let w=j(h).data;return w?(w=N(w),JSON.parse(w)??{}):[]}function U(h,w){s(E=>({...E,[h]:w}))}function $(h){!k&&!O&&h&&JSON.stringify(r)!=JSON.stringify({...r,...h})&&Object.keys(h).forEach(w=>{U(w,h[w])})}let me=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:ko,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await m(h,w,W),b(W))},[i,C]),Ce=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:ze,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await y(h,w),b(W))},[i,C]),M=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:Ge,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await v(h,w,W),b(W))},[i,C]),Ae=(0,He.useCallback)(async(h,w)=>{if(u(),te(h)===Ve)return;let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:Ve,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await I(h),pe(E)&&b(E)},[i,C]),Pe=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:kt,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&b(E)},[i,C]),ae=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:oe,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await P(h),b(E))},[i,C]),q=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:Fo,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await P(h),b(E))},[i,C]);function pe(h){var w;if(!C&&h.actionType===ze)return!1;if(C){let E=C.find(W=>W.flowId===h.flowSlug);if(h.actionType===ze&&(!(E!=null&&E.stepStates[h.stepId])||E.stepStates[h.stepId].actionType===ze)||E&&((w=E.stepStates[h.stepId])==null?void 0:w.actionType)===h.actionType||E&&E.flowState===oe&&h.actionType===oe)return!1}return!0}function L(h,w){let E=De(h,w);return k?null:E?E.actionType:ze}function ue(h,w){let E=De(h,w);return E?E.blocked:!1}function Te(h,w){let E=De(h,w);return E?E.hidden:!1}function De(h,w){if(k)return null;let E=C==null?void 0:C.find(W=>W.flowId===h);return!E||!E.stepStates[w]?null:E.stepStates[w]??null}function K(h){var E;if(k||!C)return null;if(te(h)===Ve)return V(h)[0]??null;let w=(E=C.find(W=>W.flowId===h))==null?void 0:E.lastStepId;return w?V(h).find(W=>W.id===w):null}function Fe(h){let w=K(h);if(!w)return 0;let E=V(h).findIndex(W=>W.id===w.id)??0;return L(h,w.id)===Ge&&E<V(h).length-1?E+1:E}function ie(h){if(!h.completionCriteria)return;let w=Ir(h.completionCriteria);if(w===null)return;let E=at(w),W=pt(w);return W===0?void 0:E/W}function te(h){let w=C==null?void 0:C.find(E=>E.flowId===h);return w?w.flowState:null}function at(h){let w=V(h);return w.length===0?0:w.filter(W=>L(h,W.id)===Ge).length}function pt(h){return V(h).length}function Ot(h){return JSON.parse(t.find(w=>w.slug===h).data)}function G(h){if(k)return!0;if(h!=null&&h.targetingLogic&&C){let w=C.find(E=>E.flowId===h.slug);if(w)return w.shouldTrigger===!1}return!!(h!=null&&h.targetingLogic&&i&&i.startsWith("guest_"))}function _e(h){return!G(j(h))}return{getFlow:j,getFlowData:Ot,isLoading:k||O,getStepStatus:L,getFlowSteps:V,getCurrentStepIndex:Fe,markStepStarted:me,markStepCompleted:M,markFlowNotStarted:Ae,markFlowStarted:Pe,markFlowCompleted:ae,markFlowAborted:q,markStepNotStarted:Ce,getFlowStatus:te,getNumberOfStepsCompleted:at,getNumberOfSteps:pt,targetingLogicShouldHideFlow:G,setCustomVariable:U,updateCustomVariables:$,customVariables:r,getStepOptionalProgress:ie,getFlowMetadata:z,isStepBlocked:ue,isStepHidden:Te,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:_e}}var Pt=require("react");var zt="guest_";function Wt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Pt.useContext)(J),{config:r}=Je(),{mutateUserFlowState:s}=We(),p=$t(),{verifySDKInitiated:c}=Mt();(0,Pt.useEffect)(()=>{if(e&&!t){if(e.startsWith(zt))return;let d=`frigade-user-registered-${e}`;localStorage.getItem(d)||(p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(d,"true"))}},[e,n,t]);let a=(0,Pt.useCallback)(async d=>{c();let u={foreignId:e,properties:d};await p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify(u)}),i(b=>({...b,...d})),s()},[e,r,n,s]),S=(0,Pt.useCallback)(async(d,u)=>{c();let B={foreignId:e,events:[{event:d,properties:u}]};await p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify(B)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:S}}var Mi=require("uuid");var Be=g(require("react"));var Le=g(require("react")),ao=g(require("styled-components"));var Dr=g(require("react")),$r=g(require("styled-components"));var Lr="fr-",lo="cfr-";function l(e,t){let o=`${Lr}${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+" "+lo+e}return o}function F(e){if(!e.className||e.className.indexOf(lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Lr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function er(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function ct(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${er(t)}: ${e.styleOverrides[t]};`).join(" "):""}function ve(...e){return e.filter(Boolean).join(" ")}function Or(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Bl=$r.default.div`
2
+ var xl=Object.create;var To=Object.defineProperty;var Cl=Object.getOwnPropertyDescriptor;var Sl=Object.getOwnPropertyNames;var yl=Object.getPrototypeOf,bl=Object.prototype.hasOwnProperty;var wl=(e,t)=>{for(var o in t)To(e,o,{get:t[o],enumerable:!0})},vr=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Sl(t))!bl.call(e,n)&&n!==o&&To(e,n,{get:()=>t[n],enumerable:!(i=Cl(t,n))||i.enumerable});return e};var g=(e,t,o)=>(o=e!=null?xl(yl(e)):{},vr(t||!e||!e.__esModule?To(o,"default",{value:e,enumerable:!0}):o,e)),Tl=e=>vr(To({},"__esModule",{value:!0}),e);var up={};wl(up,{CheckBox:()=>Re,FormLabel:()=>ut,FormTextField:()=>Do,FrigadeBanner:()=>pl,FrigadeChecklist:()=>Zo,FrigadeDefaultAppearance:()=>Qe,FrigadeEmbeddedTip:()=>rl,FrigadeForm:()=>ar,FrigadeGuide:()=>Os,FrigadeHeroChecklist:()=>ys,FrigadeNPSSurvey:()=>hl,FrigadeProgressBadge:()=>Ns,FrigadeProvider:()=>Wi,FrigadeSupportWidget:()=>Zs,FrigadeTour:()=>Ws,ProgressRing:()=>vt,useFlowOpens:()=>Ne,useFlowResponses:()=>_t,useFlows:()=>Q,useOrganization:()=>Vo,useUser:()=>Wt});module.exports=Tl(up);var Y=g(require("react")),_i=require("styled-components");var fe=g(require("react"));var He=require("react");var Dt=g(require("react"));var Er="1.32.63 ";var Ie="https://api.frigade.com/v1/public/",ze="NOT_STARTED_STEP",oe="COMPLETED_FLOW",Fo="ABORTED_FLOW",kt="STARTED_FLOW",Ve="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",ko="STARTED_STEP";function Je(){let{publicApiKey:e,userId:t}=Dt.default.useContext(J);return{config:(0,Dt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Er,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var Fl="frigade-last-call-at-",kl="frigade-last-call-data-";function $t(){let{shouldGracefullyDegrade:e}=Dt.default.useContext(J);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),no();let i=Fl+t,n=kl+t;if(window&&window.localStorage&&o&&o.body&&o.method==="POST"){let s=window.localStorage.getItem(i),p=window.localStorage.getItem(n);if(s&&p&&p==o.body){let c=new Date(s);if(new Date().getTime()-c.getTime()<1e3)return no()}window.localStorage.setItem(i,new Date().toISOString()),window.localStorage.setItem(n,o.body)}let r;try{r=await fetch(t,o)}catch(s){return no(s)}return r?r.ok?r:no(r.statusText):no()}}function no(e){return e&&console.log("Call to Frigade failed",e),{json:()=>({})}}function Mt(){let{publicApiKey:e,shouldGracefullyDegrade:t}=Dt.default.useContext(J);function o(){if(t){console.error("Frigade hooks cannot be used when Frigade SDK has failed to initialize");return}e||console.error("Frigade hooks cannot be used outside the scope of FrigadeProvider")}return{verifySDKInitiated:o}}var so=require("react");var Ut=require("react");var Ar=g(require("swr"));var Br=require("react");function Ne(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,Br.useContext)(J);function r(d,u=!1){return e[d]??u}function s(d,u){t(b=>({...b,[d]:u}))}function p(d){t(u=>{let{[d]:b,...B}=u;return{...B}})}function c(d){n.includes(d)||i(u=>[...u,d])}function a(d){return n.includes(d)}function S(){return Object.values(e).some(d=>d)||o}return{getOpenFlowState:r,setOpenFlowState:s,resetOpenFlowState:p,hasOpenModals:S,setKeepCompletedFlowOpenDuringSession:c,shouldKeepCompletedFlowOpenDuringSession:a}}var Pl="unknown";function We(){let{config:e}=Je(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=(0,Ut.useContext)(J),{resetOpenFlowState:s}=Ne(),[p,c]=(0,Ut.useState)(!1),a={data:n.map(y=>({flowId:y.id,flowState:oe,lastStepId:null,userId:o,foreignUserId:o,stepStates:{},shouldTrigger:!1}))},S=y=>fetch(y,e).then(m=>{if(m.ok)return m.json();throw new Error("Failed to fetch user flow states")}).catch(m=>(console.log(`Error fetching ${y}: ${m}. Will gracefully degrade and hide Frigade`),r(!0),a)),{data:d,isLoading:u,mutate:b,error:B}=(0,Ar.default)(t&&n&&o?`${Ie}userFlowStates?foreignUserId=${encodeURIComponent(o)}${i?`&foreignUserGroupId=${encodeURIComponent(i)}`:""}`:null,S,{revalidateIfStale:!0,keepPreviousData:!0,revalidateOnMount:!0,errorRetryInterval:1e4,errorRetryCount:3,onError:()=>a,onLoadingSlow:()=>a}),f=d==null?void 0:d.data;(0,Ut.useEffect)(()=>{!p&&!u&&f&&c(!0)},[f,p,u]);async function C(y){if(f){let m=f.find(x=>x.flowId===y);m&&m.flowState!==oe&&(m.flowState=oe),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function k(y,m,x){if(f){let T=f.find(O=>O.flowId===y);T&&(T.stepStates[m]=x,T.flowState=kt),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function P(y,m,x){if(f){let T=f.find(O=>O.flowId===y);T&&(T.lastStepId=m,T.stepStates[m]=x,T.flowState=kt),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function I(y){if(f){let m=f.find(x=>x.flowId===y);m&&m.flowState!==Ve&&(m.flowState=Ve,m.lastStepId=Pl,Object.keys(m.stepStates).forEach(x=>{m.stepStates[x].actionType=ze,m.stepStates[x].createdAt=new Date().toISOString()}),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(y))}}async function v(y,m){if(f){let x=f.find(T=>T.flowId===y);x&&x.stepStates[m]!==ze&&(x.stepStates[m]=ze),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}return{userFlowStatesData:f,isLoadingUserFlowStateData:!p,mutateUserFlowState:b,optimisticallyMarkFlowCompleted:C,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:k,optimisticallyMarkStepNotStarted:v,optimisticallyMarkStepStarted:P,error:B}}function _t(){let{config:e}=Je(),{userFlowStatesData:t,mutateUserFlowState:o}=We(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=(0,so.useContext)(J),[p,c]=(0,so.useState)(new Set),[a,S]=(0,so.useState)(new Set),d=$t();function u(f){let C=JSON.stringify(f);if(p.has(C))return null;p.add(C),c(p),a.add(f),S(a);let k=r==null?void 0:r.find(P=>P.flowSlug===f.flowSlug&&P.stepId===f.stepId&&P.actionType===f.actionType&&P.createdAt===f.createdAt);return d(`${Ie}flowResponses`,{...e,method:"POST",body:C}).then(P=>{P.status!==200&&P.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):k||s(I=>[...I??[],f])})}async function b(f){f.foreignUserId&&(f.actionType===kt||f.actionType===Ve?await u(f):f.actionType===oe?await u(f):f.actionType===ko?await u(f):f.actionType===Ge?await u(f):f.actionType===Fo?await u(f):f.actionType===ze&&await u(f))}function B(){let f=[];return t==null||t.forEach(C=>{if(C&&C.stepStates&&Object.keys(C.stepStates).length!==0)for(let k in C.stepStates){let P=C.stepStates[k];f.push({foreignUserId:C.foreignUserId,flowSlug:C.flowId,stepId:P.stepId,actionType:P.actionType,data:{},createdAt:new Date(P.createdAt),blocked:P.blocked,hidden:P.hidden})}}),[...f,...r]}return{addResponse:b,setFlowResponses:s,getFlowResponses:B}}var Nr=g(require("swr"));var vl=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Ir=e=>{let t=vl.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=El(i,"'","");r.startsWith("flow_")&&(o=r)}),o},El=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Q(){let{config:e}=Je(),{flows:t,setFlows:o,userId:i,publicApiKey:n,customVariables:r,setCustomVariables:s,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,setFlowResponses:a,setShouldGracefullyDegrade:S}=(0,He.useContext)(J),d={data:[]},{verifySDKInitiated:u}=Mt(),{addResponse:b,getFlowResponses:B}=_t(),f=h=>fetch(h,e).then(w=>w.ok?w.json():(console.log(`Error fetching ${h} (${w.status}): ${w.statusText}. .Will gracefully degrade and hide Frigade`),S(!0),d)).catch(w=>(console.log(`Error fetching ${h}: ${w}. Will gracefully degrade and hide Frigade`),S(!0),d)),{userFlowStatesData:C,isLoadingUserFlowStateData:k,optimisticallyMarkFlowCompleted:P,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:v,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:m}=We(),{data:x,error:T,isLoading:O}=(0,Nr.default)(n?`${Ie}flows`:null,f,{keepPreviousData:!0});(0,He.useEffect)(()=>{if(T){console.error(T);return}x&&x.data&&(x.data=o(x.data))},[x,T]);function j(h){if(O)return null;let w=t.find(E=>E.slug===h);return!w&&t.length>0&&!k&&!O?(console.log(`Flow with slug ${h} not found`),null):(w==null?void 0:w.active)===!1?null:w}function V(h){var W;if(!j(h))return[];let w=j(h).data;return w?(w=N(w),(((W=JSON.parse(w))==null?void 0:W.data)??[]).map(Se=>{let H=ie(Se);return{handleSecondaryButtonClick:()=>{Se.skippable===!0&&M(h,Se.id,{skipped:!0})},...Se,complete:L(h,Se.id)===Ge||H>=1,blocked:ue(h,Se.id),hidden:Te(h,Se.id),handlePrimaryButtonClick:()=>{(!Se.completionCriteria&&(Se.autoMarkCompleted||Se.autoMarkCompleted===void 0)||Se.completionCriteria&&Se.autoMarkCompleted===!0)&&M(h,Se.id)},progress:H}}).filter(Se=>Se.hidden!==!0)):[]}function N(h){return h.replaceAll(/\${(.*?)}/g,(w,E)=>r[E]===void 0?"":String(r[E]).replace(/[\u00A0-\u9999<>\&]/g,function(W){return"&#"+W.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 z(h){if(!j(h))return[];let w=j(h).data;return w?(w=N(w),JSON.parse(w)??{}):[]}function U(h,w){s(E=>({...E,[h]:w}))}function $(h){!k&&!O&&h&&JSON.stringify(r)!=JSON.stringify({...r,...h})&&Object.keys(h).forEach(w=>{U(w,h[w])})}let me=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:ko,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await m(h,w,W),b(W))},[i,C]),Ce=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:ze,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await y(h,w),b(W))},[i,C]),M=(0,He.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:Ge,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await v(h,w,W),b(W))},[i,C]),Ae=(0,He.useCallback)(async(h,w)=>{if(u(),te(h)===Ve)return;let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:Ve,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await I(h),pe(E)&&b(E)},[i,C]),Pe=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:kt,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&b(E)},[i,C]),ae=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:oe,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await P(h),b(E))},[i,C]),q=(0,He.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:Fo,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await P(h),b(E))},[i,C]);function pe(h){var w;if(!C&&h.actionType===ze)return!1;if(C){let E=C.find(W=>W.flowId===h.flowSlug);if(h.actionType===ze&&(!(E!=null&&E.stepStates[h.stepId])||E.stepStates[h.stepId].actionType===ze)||E&&((w=E.stepStates[h.stepId])==null?void 0:w.actionType)===h.actionType||E&&E.flowState===oe&&h.actionType===oe)return!1}return!0}function L(h,w){let E=De(h,w);return k?null:E?E.actionType:ze}function ue(h,w){let E=De(h,w);return E?E.blocked:!1}function Te(h,w){let E=De(h,w);return E?E.hidden:!1}function De(h,w){if(k)return null;let E=C==null?void 0:C.find(W=>W.flowId===h);return!E||!E.stepStates[w]?null:E.stepStates[w]??null}function K(h){var E;if(k||!C)return null;if(te(h)===Ve)return V(h)[0]??null;let w=(E=C.find(W=>W.flowId===h))==null?void 0:E.lastStepId;return w?V(h).find(W=>W.id===w):null}function Fe(h){let w=K(h);if(!w)return 0;let E=V(h).findIndex(W=>W.id===w.id)??0;return L(h,w.id)===Ge&&E<V(h).length-1?E+1:E}function ie(h){if(!h.completionCriteria)return;let w=Ir(h.completionCriteria);if(w===null)return;let E=at(w),W=pt(w);return W===0?void 0:E/W}function te(h){let w=C==null?void 0:C.find(E=>E.flowId===h);return w?w.flowState:null}function at(h){let w=V(h);return w.length===0?0:w.filter(W=>L(h,W.id)===Ge).length}function pt(h){return V(h).length}function Ot(h){return JSON.parse(t.find(w=>w.slug===h).data)}function G(h){if(k)return!0;if(h!=null&&h.targetingLogic&&C){let w=C.find(E=>E.flowId===h.slug);if(w)return w.shouldTrigger===!1}return!!(h!=null&&h.targetingLogic&&i&&i.startsWith("guest_"))}function _e(h){return!G(j(h))}return{getFlow:j,getFlowData:Ot,isLoading:k||O,getStepStatus:L,getFlowSteps:V,getCurrentStepIndex:Fe,markStepStarted:me,markStepCompleted:M,markFlowNotStarted:Ae,markFlowStarted:Pe,markFlowCompleted:ae,markFlowAborted:q,markStepNotStarted:Ce,getFlowStatus:te,getNumberOfStepsCompleted:at,getNumberOfSteps:pt,targetingLogicShouldHideFlow:G,setCustomVariable:U,updateCustomVariables:$,customVariables:r,getStepOptionalProgress:ie,getFlowMetadata:z,isStepBlocked:ue,isStepHidden:Te,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:_e}}var Pt=require("react");var zt="guest_";function Wt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Pt.useContext)(J),{config:r}=Je(),{mutateUserFlowState:s}=We(),p=$t(),{verifySDKInitiated:c}=Mt();(0,Pt.useEffect)(()=>{if(e&&!t){if(e.startsWith(zt))return;let d=`frigade-user-registered-${e}`;localStorage.getItem(d)||(p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify({foreignId:e})}),localStorage.setItem(d,"true"))}},[e,n,t]);let a=(0,Pt.useCallback)(async d=>{c();let u={foreignId:e,properties:d};await p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify(u)}),i(b=>({...b,...d})),s()},[e,r,n,s]),S=(0,Pt.useCallback)(async(d,u)=>{c();let B={foreignId:e,events:[{event:d,properties:u}]};await p(`${Ie}users`,{...r,method:"POST",body:JSON.stringify(B)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:S}}var Mi=require("uuid");var Be=g(require("react"));var Le=g(require("react")),ao=g(require("styled-components"));var Dr=g(require("react")),$r=g(require("styled-components"));var Lr="fr-",lo="cfr-";function l(e,t){let o=`${Lr}${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+" "+lo+e}return o}function F(e){if(!e.className||e.className.indexOf(lo)!==-1)return"";let o=e.className.replace(/\s+/g," ").split(" ");return o.length==1&&o[0].startsWith(Lr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function er(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function ct(e){return e!=null&&e.styleOverrides?Object.keys(e.styleOverrides).map(t=>`${er(t)}: ${e.styleOverrides[t]};`).join(" "):""}function ve(...e){return e.filter(Boolean).join(" ")}function Or(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Bl=$r.default.div`
3
3
  display: flex;
4
4
  justify-content: center;
5
5
  position: fixed;
@@ -289,7 +289,7 @@ var xl=Object.create;var To=Object.defineProperty;var Cl=Object.getOwnPropertyDe
289
289
  min-height: 70px;
290
290
  box-sizing: border-box;
291
291
  margin-bottom: 10px;
292
- `;function Do({formInput:e,customFormTypeProps:t,onSaveInputData:o,setFormValidationErrors:i,inputData:n}){let r=e,[s,p]=(0,Ze.useState)((n==null?void 0:n.text)||""),[c,a]=(0,Ze.useState)(!1),S=rr;(0,Ze.useEffect)(()=>{s===""&&!c&&(a(!0),d(""))},[]);function d(b){if(p(b),o({text:b}),r.required===!0&&b.trim()===""){i([{id:r.id,message:`${r.title} is required`}]);return}let B=ri(b,r.validation);if(B){i([{id:r.id,message:B}]);return}i([])}r.multiline&&(S=Wl);function u(){var b;switch((b=r==null?void 0:r.validation)==null?void 0:b.type){case"email":return"email";case"number":return"number";case"password":return"password"}return null}return Ze.default.createElement(zl,null,Ze.default.createElement(ut,{title:r.title,required:r.required,appearance:t.appearance}),Ze.default.createElement(S,{className:l("inputComponent",t.appearance),value:s,onChange:b=>{d(b.target.value)},appearance:t.appearance,placeholder:r.placeholder,type:u()}),Ze.default.createElement(Ht,{title:r.subtitle,appearance:t.appearance}))}var ke=g(require("react")),ir=g(require("styled-components"));var Hl=ir.default.div`
292
+ `;function Do({formInput:e,customFormTypeProps:t,onSaveInputData:o,setFormValidationErrors:i,inputData:n}){let r=e,[s,p]=(0,Ze.useState)((n==null?void 0:n.text)||""),[c,a]=(0,Ze.useState)(!1),S=rr;(0,Ze.useEffect)(()=>{s===""&&!c&&(a(!0),d(""))},[]);function d(b){if(p(b),o({text:b}),r.required===!0&&b.trim()===""){i([{id:r.id,message:`${r.title??"Field"} is required`}]);return}let B=ri(b,r.validation);if(B){i([{id:r.id,message:B}]);return}i([])}r.multiline&&(S=Wl);function u(){var b;switch((b=r==null?void 0:r.validation)==null?void 0:b.type){case"email":return"email";case"number":return"number";case"password":return"password"}return null}return Ze.default.createElement(zl,null,Ze.default.createElement(ut,{title:r.title,required:r.required,appearance:t.appearance}),Ze.default.createElement(S,{className:l("inputComponent",t.appearance),value:s,onChange:b=>{d(b.target.value)},appearance:t.appearance,placeholder:r.placeholder,type:u()}),Ze.default.createElement(Ht,{title:r.subtitle,appearance:t.appearance}))}var ke=g(require("react")),ir=g(require("styled-components"));var Hl=ir.default.div`
293
293
  display: flex;
294
294
  flex-direction: column;
295
295
  width: 100%;
@@ -319,7 +319,7 @@ var xl=Object.create;var To=Object.defineProperty;var Cl=Object.getOwnPropertyDe
319
319
  background-repeat: no-repeat;
320
320
  background-size: 1.5em 1.5em;
321
321
  -webkit-print-color-adjust: exact;
322
- `,$o="null";function ii({formInput:e,customFormTypeProps:t,onSaveInputData:o,inputData:i,setFormValidationErrors:n}){var S,d,u,b,B,f;let r=e,[s,p]=(0,ke.useState)(((S=i==null?void 0:i.choice)==null?void 0:S[0])||""),[c,a]=(0,ke.useState)(!1);return(0,ke.useEffect)(()=>{var C,k,P,I;if(s===""&&!c){if(a(!0),r.requireSelection){p($o);return}if(r.defaultValue&&((C=r.props.options)!=null&&C.find(v=>v.id===r.defaultValue))){let v=(k=r.props.options)==null?void 0:k.find(y=>y.id===r.defaultValue);p(v.id),o({choice:[v.id]})}else p(((P=r.props.options)==null?void 0:P[0].id)||""),o({choice:[((I=r.props.options)==null?void 0:I[0].id)||""]})}},[]),(0,ke.useEffect)(()=>{r.requireSelection&&s===$o?n([{message:"Please select an option",id:r.id}]):n([])},[s]),ke.default.createElement(Hl,null,ke.default.createElement(ut,{title:r.title,required:!1,appearance:t.appearance}),ke.default.createElement(jl,{value:s,onChange:C=>{p(C.target.value),o({choice:[C.target.value]})},placeholder:r.placeholder,appearance:t.appearance,className:l("multipleChoiceSelect",t.appearance)},r.requireSelection&&ke.default.createElement("option",{key:$o,value:$o},"Select an option"),(d=r.props.options)==null?void 0:d.map(C=>ke.default.createElement("option",{key:C.id,value:C.id},C.title))),((b=(u=r.props.options)==null?void 0:u.find(C=>C.id===s))==null?void 0:b.isOpenEnded)&&ke.default.createElement(ke.default.Fragment,null,ke.default.createElement(ut,{title:((f=(B=r.props.options)==null?void 0:B.find(C=>C.id===s))==null?void 0:f.openEndedLabel)??"Please specify",required:!1,appearance:t.appearance}),ke.default.createElement(rr,{type:"text",placeholder:"Enter your answer here",onChange:C=>{o({choice:[C.target.value]})},appearance:t.appearance})),ke.default.createElement(Ht,{title:r.subtitle,appearance:t.appearance}))}var Me=g(require("react")),nr=g(require("styled-components"));var Vt=g(require("react"));var jt=g(require("react")),si=require("framer-motion"),ni=({color:e,percentage:t,size:o})=>{let i=o*.5-2,n=2*Math.PI*i,r=(1-t)*n,s={duration:.3,delay:0,ease:"easeIn"},p={hidden:{strokeDashoffset:n,transition:s},show:{strokeDashoffset:r,transition:s}};return jt.default.createElement(si.motion.circle,{r:i,cx:o*.5,cy:o*.5,fill:"transparent",stroke:r!==n?e:"",strokeWidth:"3px",strokeDasharray:n,strokeDashoffset:t?r:0,variants:p,transition:s,initial:"hidden",animate:"show"})},Vl=({fillColor:e,size:t,percentage:o,children:i,bgColor:n="#D9D9D9",className:r,style:s})=>jt.default.createElement("svg",{style:s,className:r,width:t,height:t,overflow:"visible"},jt.default.createElement("g",{transform:`rotate(-90 ${`${t*.5} ${t*.5}`})`},jt.default.createElement(ni,{color:n,size:t}),jt.default.createElement(ni,{color:e,percentage:o,size:t})),i),vt=Vl;var li=g(require("styled-components")),Gl=({color:e="#FFFFFF"})=>Vt.default.createElement("svg",{width:10,height:8,viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Vt.default.createElement("path",{d:"M1 4.34815L3.4618 7L3.4459 6.98287L9 1",stroke:e,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})),ql={width:"22px",height:"22px",borderRadius:"8px",display:"flex",justifyContent:"center",alignItems:"center"},Kl={width:"22px",height:"22px",borderRadius:"40px",display:"flex",justifyContent:"center",alignItems:"center"},Yl={border:"1px solid #000000",color:"#FFFFFF"},Xl={border:"1px solid #E6E6E6"},Jl={color:"#FFFFFF"},Ql={border:"3px solid #D9D9D9"},Zl=e=>e==="square"?ql:Kl,Rl=(e,t)=>e==="square"?t?Yl:Xl:t?Jl:Ql,ea=li.default.div`
322
+ `,$o="null";function ii({formInput:e,customFormTypeProps:t,onSaveInputData:o,inputData:i,setFormValidationErrors:n}){var S,d,u,b,B,f;let r=e,[s,p]=(0,ke.useState)(((S=i==null?void 0:i.choice)==null?void 0:S[0])||""),[c,a]=(0,ke.useState)(!1);return(0,ke.useEffect)(()=>{var C,k,P,I;if(s===""&&!c){if(a(!0),r.requireSelection){p($o);return}if(r.defaultValue&&((C=r.props.options)!=null&&C.find(v=>v.id===r.defaultValue))){let v=(k=r.props.options)==null?void 0:k.find(y=>y.id===r.defaultValue);p(v.id),o({choice:[v.id]})}else p(((P=r.props.options)==null?void 0:P[0].id)||""),o({choice:[((I=r.props.options)==null?void 0:I[0].id)||""]})}},[]),(0,ke.useEffect)(()=>{r.requireSelection&&s===$o?n([{message:r.placeholder?r.placeholder:"Please select an option",id:r.id}]):n([])},[s]),ke.default.createElement(Hl,null,ke.default.createElement(ut,{title:r.title,required:!1,appearance:t.appearance}),ke.default.createElement(jl,{value:s,onChange:C=>{p(C.target.value),o({choice:[C.target.value]})},placeholder:r.placeholder,appearance:t.appearance,className:l("multipleChoiceSelect",t.appearance)},r.requireSelection&&ke.default.createElement("option",{key:$o,value:$o},"Select an option"),(d=r.props.options)==null?void 0:d.map(C=>ke.default.createElement("option",{key:C.id,value:C.id},C.title))),((b=(u=r.props.options)==null?void 0:u.find(C=>C.id===s))==null?void 0:b.isOpenEnded)&&ke.default.createElement(ke.default.Fragment,null,ke.default.createElement(ut,{title:((f=(B=r.props.options)==null?void 0:B.find(C=>C.id===s))==null?void 0:f.openEndedLabel)??"Please specify",required:!1,appearance:t.appearance}),ke.default.createElement(rr,{type:"text",placeholder:"Enter your answer here",onChange:C=>{o({choice:[C.target.value]})},appearance:t.appearance})),ke.default.createElement(Ht,{title:r.subtitle,appearance:t.appearance}))}var Me=g(require("react")),nr=g(require("styled-components"));var Vt=g(require("react"));var jt=g(require("react")),si=require("framer-motion"),ni=({color:e,percentage:t,size:o})=>{let i=o*.5-2,n=2*Math.PI*i,r=(1-t)*n,s={duration:.3,delay:0,ease:"easeIn"},p={hidden:{strokeDashoffset:n,transition:s},show:{strokeDashoffset:r,transition:s}};return jt.default.createElement(si.motion.circle,{r:i,cx:o*.5,cy:o*.5,fill:"transparent",stroke:r!==n?e:"",strokeWidth:"3px",strokeDasharray:n,strokeDashoffset:t?r:0,variants:p,transition:s,initial:"hidden",animate:"show"})},Vl=({fillColor:e,size:t,percentage:o,children:i,bgColor:n="#D9D9D9",className:r,style:s})=>jt.default.createElement("svg",{style:s,className:r,width:t,height:t,overflow:"visible"},jt.default.createElement("g",{transform:`rotate(-90 ${`${t*.5} ${t*.5}`})`},jt.default.createElement(ni,{color:n,size:t}),jt.default.createElement(ni,{color:e,percentage:o,size:t})),i),vt=Vl;var li=g(require("styled-components")),Gl=({color:e="#FFFFFF"})=>Vt.default.createElement("svg",{width:10,height:8,viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Vt.default.createElement("path",{d:"M1 4.34815L3.4618 7L3.4459 6.98287L9 1",stroke:e,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})),ql={width:"22px",height:"22px",borderRadius:"8px",display:"flex",justifyContent:"center",alignItems:"center"},Kl={width:"22px",height:"22px",borderRadius:"40px",display:"flex",justifyContent:"center",alignItems:"center"},Yl={border:"1px solid #000000",color:"#FFFFFF"},Xl={border:"1px solid #E6E6E6"},Jl={color:"#FFFFFF"},Ql={border:"3px solid #D9D9D9"},Zl=e=>e==="square"?ql:Kl,Rl=(e,t)=>e==="square"?t?Yl:Xl:t?Jl:Ql,ea=li.default.div`
323
323
  ${e=>ct(e)}
324
324
  `,Re=({value:e,type:t="square",primaryColor:o="#000000",progress:i,appearance:n=Qe,style:r,className:s})=>{let p=Zl(t),c=Rl(t,e);return e===!0?p={...p,...c,backgroundColor:o,borderColor:t==="square"?o:"none"}:p={...p,...c},e!==!0&&t==="round"&&i!==void 0&&i!==1?Vt.default.createElement(vt,{fillColor:o,percentage:i,size:22}):Vt.default.createElement(ea,{styleOverrides:p,style:r,role:"checkbox",className:ve(l("checkIconContainer",n),l(e?"checkIconContainerChecked":"checkIconContainerUnchecked",n),e?"checkIconContainerChecked":"checkIconContainerUnchecked",s)},e&&Vt.default.createElement(Gl,{color:"#FFFFFF"}))};var ta=nr.default.div`
325
325
  display: flex;