@frigade/react 1.32.67 → 1.32.69
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 +6 -6
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +6 -6
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDescriptor;var wl=Object.getOwnPropertyNames;var Tl=Object.getPrototypeOf,Fl=Object.prototype.hasOwnProperty;var kl=(e,t)=>{for(var o in t)Fo(e,o,{get:t[o],enumerable:!0})},Br=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wl(t))!Fl.call(e,n)&&n!==o&&Fo(e,n,{get:()=>t[n],enumerable:!(i=bl(t,n))||i.enumerable});return e};var g=(e,t,o)=>(o=e!=null?yl(Tl(e)):{},Br(t||!e||!e.__esModule?Fo(o,"default",{value:e,enumerable:!0}):o,e)),Pl=e=>Br(Fo({},"__esModule",{value:!0}),e);var xp={};kl(xp,{CheckBox:()=>Re,FormLabel:()=>ut,FormTextField:()=>$o,FrigadeBanner:()=>ml,FrigadeChecklist:()=>Ro,FrigadeDefaultAppearance:()=>Qe,FrigadeEmbeddedTip:()=>sl,FrigadeForm:()=>dr,FrigadeGuide:()=>Ms,FrigadeHeroChecklist:()=>Ts,FrigadeNPSSurvey:()=>Sl,FrigadeProgressBadge:()=>Ds,FrigadeProvider:()=>ji,FrigadeSupportWidget:()=>tl,FrigadeTour:()=>js,ProgressRing:()=>vt,useFlowOpens:()=>Le,useFlowResponses:()=>_t,useFlows:()=>Z,useOrganization:()=>Go,useUser:()=>Wt});module.exports=Pl(xp);var Y=g(require("react")),Hi=require("styled-components");var fe=g(require("react"));var Ve=require("react");var Dt=g(require("react"));var Ar="1.32.67 ";var Ne="https://api.frigade.com/v1/public/",We="NOT_STARTED_STEP",re="COMPLETED_FLOW",ko="ABORTED_FLOW",kt="STARTED_FLOW",je="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",Po="STARTED_STEP";function Je(){let{publicApiKey:e,userId:t}=Dt.default.useContext(Q);return{config:(0,Dt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Ar,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var vl="frigade-last-call-at-",El="frigade-last-call-data-";function $t(){let{shouldGracefullyDegrade:e}=Dt.default.useContext(Q);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),no();let i=vl+t,n=El+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(Q);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 Nr=g(require("swr"));var Ir=require("react");function Le(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,Ir.useContext)(Q);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 Bl="unknown";function He(){let{config:e}=Je(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=(0,Ut.useContext)(Q),{resetOpenFlowState:s}=Le(),[p,c]=(0,Ut.useState)(!1),a={data:n.map(y=>({flowId:y.id,flowState:re,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,Nr.default)(t&&n&&o?`${Ne}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!==re&&(m.flowState=re),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.stepStates[m]=x,T.flowState=kt),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function v(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!==je&&(m.flowState=je,m.lastStepId=Bl,Object.keys(m.stepStates).forEach(x=>{m.stepStates[x].actionType=We,m.stepStates[x].createdAt=new Date().toISOString()}),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(y))}}async function k(y,m){if(f){let x=f.find(T=>T.flowId===y);x&&x.stepStates[m]!==We&&(x.stepStates[m]=We),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:P,optimisticallyMarkStepNotStarted:k,optimisticallyMarkStepStarted:v,error:B}}function _t(){let{config:e}=Je(),{userFlowStatesData:t,mutateUserFlowState:o}=He(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=(0,so.useContext)(Q),[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 P=r==null?void 0:r.find(v=>v.flowSlug===f.flowSlug&&v.stepId===f.stepId&&v.actionType===f.actionType&&v.createdAt===f.createdAt);return d(`${Ne}flowResponses`,{...e,method:"POST",body:C}).then(v=>{v.status!==200&&v.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):P||s(I=>[...I??[],f])})}async function b(f){f.foreignUserId&&(f.actionType===kt||f.actionType===je?await u(f):f.actionType===re?await u(f):f.actionType===Po?await u(f):f.actionType===Ge?await u(f):f.actionType===ko?await u(f):f.actionType===We&&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 P in C.stepStates){let v=C.stepStates[P];f.push({foreignUserId:C.foreignUserId,flowSlug:C.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden})}}),[...f,...r]}return{addResponse:b,setFlowResponses:s,getFlowResponses:B}}var Or=g(require("swr"));var Al=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Lr=e=>{let t=Al.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=Il(i,"'","");r.startsWith("flow_")&&(o=r)}),o},Il=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Z(){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,Ve.useContext)(Q),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:P,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:k,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:m}=He(),{data:x,error:T,isLoading:O}=(0,Or.default)(n?`${Ne}flows`:null,f,{keepPreviousData:!0});(0,Ve.useEffect)(()=>{if(T){console.error(T);return}x&&x.data&&(x.data=o(x.data))},[x,T]);function V(h){if(O)return null;let w=t.find(E=>E.slug===h);return!w&&t.length>0&&!P&&!O?(console.log(`Flow with slug ${h} not found`),null):(w==null?void 0:w.active)===!1?null:w}function j(h){var W;if(!V(h))return[];let w=V(h).data;return w?(w=N(w),(((W=JSON.parse(w))==null?void 0:W.data)??[]).map(Se=>{let H=J(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(!V(h))return[];let w=V(h).data;return w?(w=N(w),JSON.parse(w)??{}):[]}function U(h,w){s(E=>({...E,[h]:w}))}function $(h){!P&&!O&&h&&JSON.stringify(r)!=JSON.stringify({...r,...h})&&Object.keys(h).forEach(w=>{U(w,h[w])})}let me=(0,Ve.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:Po,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await m(h,w,W),b(W))},[i,C]),Ce=(0,Ve.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:We,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await y(h,w),b(W))},[i,C]),M=(0,Ve.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 k(h,w,W),b(W))},[i,C]),Ie=(0,Ve.useCallback)(async(h,w)=>{if(u(),oe(h)===je)return;let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:je,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await I(h),pe(E)&&b(E)},[i,C]),Pe=(0,Ve.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,Ve.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:re,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await v(h),b(E))},[i,C]),q=(0,Ve.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:ko,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await v(h),b(E))},[i,C]);function pe(h){var w;if(!C&&h.actionType===We)return!1;if(C){let E=C.find(W=>W.flowId===h.flowSlug);if(h.actionType===We&&(!(E!=null&&E.stepStates[h.stepId])||E.stepStates[h.stepId].actionType===We)||E&&((w=E.stepStates[h.stepId])==null?void 0:w.actionType)===h.actionType||E&&E.flowState===re&&h.actionType===re)return!1}return!0}function L(h,w){let E=$e(h,w);return P?null:E?E.actionType:We}function ue(h,w){let E=$e(h,w);return E?E.blocked:!1}function Te(h,w){let E=$e(h,w);return E?E.hidden:!1}function $e(h,w){if(P)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(P||!C)return null;if(oe(h)===je)return j(h)[0]??null;let w=(E=C.find(W=>W.flowId===h))==null?void 0:E.lastStepId;return w?j(h).find(W=>W.id===w):null}function ke(h){let w=K(h);if(!w)return 0;let E=j(h).findIndex(W=>W.id===w.id)??0;return L(h,w.id)===Ge&&E<j(h).length-1?E+1:E}function J(h){if(!h.completionCriteria)return;let w=Lr(h.completionCriteria);if(w===null)return;let E=at(w),W=pt(w);return W===0?void 0:E/W}function oe(h){let w=C==null?void 0:C.find(E=>E.flowId===h);return w?w.flowState:null}function at(h){let w=j(h);return w.length===0?0:w.filter(W=>L(h,W.id)===Ge).length}function pt(h){return j(h).length}function Ot(h){return JSON.parse(t.find(w=>w.slug===h).data)}function G(h){if(P)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 ze(h){return!G(V(h))}return{getFlow:V,getFlowData:Ot,isLoading:P||O,getStepStatus:L,getFlowSteps:j,getCurrentStepIndex:ke,markStepStarted:me,markStepCompleted:M,markFlowNotStarted:Ie,markFlowStarted:Pe,markFlowCompleted:ae,markFlowAborted:q,markStepNotStarted:Ce,getFlowStatus:oe,getNumberOfStepsCompleted:at,getNumberOfSteps:pt,targetingLogicShouldHideFlow:G,setCustomVariable:U,updateCustomVariables:$,customVariables:r,getStepOptionalProgress:J,getFlowMetadata:z,isStepBlocked:ue,isStepHidden:Te,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:ze}}var Pt=require("react");var zt="guest_";function Wt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Pt.useContext)(Q),{config:r}=Je(),{mutateUserFlowState:s}=He(),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(`${Ne}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(`${Ne}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(`${Ne}users`,{...r,method:"POST",body:JSON.stringify(B)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:S}}var zi=require("uuid");var Ae=g(require("react"));var Oe=g(require("react")),ao=g(require("styled-components"));var Mr=g(require("react")),Ur=g(require("styled-components"));var Dr="fr-",lo="cfr-";function l(e,t){let o=`${Dr}${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(Dr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function tr(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=>`${tr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function ve(...e){return e.filter(Boolean).join(" ")}function $r(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Nl=Ur.default.div`
|
|
2
|
+
var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDescriptor;var wl=Object.getOwnPropertyNames;var Tl=Object.getPrototypeOf,Fl=Object.prototype.hasOwnProperty;var kl=(e,t)=>{for(var o in t)Fo(e,o,{get:t[o],enumerable:!0})},Br=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wl(t))!Fl.call(e,n)&&n!==o&&Fo(e,n,{get:()=>t[n],enumerable:!(i=bl(t,n))||i.enumerable});return e};var g=(e,t,o)=>(o=e!=null?yl(Tl(e)):{},Br(t||!e||!e.__esModule?Fo(o,"default",{value:e,enumerable:!0}):o,e)),Pl=e=>Br(Fo({},"__esModule",{value:!0}),e);var xp={};kl(xp,{CheckBox:()=>Re,FormLabel:()=>ut,FormTextField:()=>$o,FrigadeBanner:()=>ml,FrigadeChecklist:()=>Ro,FrigadeDefaultAppearance:()=>Qe,FrigadeEmbeddedTip:()=>sl,FrigadeForm:()=>dr,FrigadeGuide:()=>Ms,FrigadeHeroChecklist:()=>Ts,FrigadeNPSSurvey:()=>Sl,FrigadeProgressBadge:()=>Ds,FrigadeProvider:()=>ji,FrigadeSupportWidget:()=>tl,FrigadeTour:()=>js,ProgressRing:()=>vt,useFlowOpens:()=>Le,useFlowResponses:()=>_t,useFlows:()=>Z,useOrganization:()=>Go,useUser:()=>Wt});module.exports=Pl(xp);var Y=g(require("react")),Hi=require("styled-components");var fe=g(require("react"));var Ve=require("react");var Dt=g(require("react"));var Ar="1.32.69 ";var Ne="https://api.frigade.com/v1/public/",We="NOT_STARTED_STEP",re="COMPLETED_FLOW",ko="ABORTED_FLOW",kt="STARTED_FLOW",je="NOT_STARTED_FLOW",Ge="COMPLETED_STEP",Po="STARTED_STEP";function Je(){let{publicApiKey:e,userId:t}=Dt.default.useContext(Q);return{config:(0,Dt.useMemo)(()=>({headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-Frigade-SDK-Version":Ar,"X-Frigade-SDK-Platform":"React"}}),[e,t])}}var vl="frigade-last-call-at-",El="frigade-last-call-data-";function $t(){let{shouldGracefullyDegrade:e}=Dt.default.useContext(Q);return async(t,o)=>{if(e)return console.log(`Skipping ${t} call to Frigade due to error`),no();let i=vl+t,n=El+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(Q);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 Nr=g(require("swr"));var Ir=require("react");function Le(){let{openFlowStates:e,setOpenFlowStates:t,hasActiveFullPageFlow:o,setCompletedFlowsToKeepOpenDuringSession:i,completedFlowsToKeepOpenDuringSession:n}=(0,Ir.useContext)(Q);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 Bl="unknown";function He(){let{config:e}=Je(),{publicApiKey:t,userId:o,organizationId:i,flows:n,setShouldGracefullyDegrade:r}=(0,Ut.useContext)(Q),{resetOpenFlowState:s}=Le(),[p,c]=(0,Ut.useState)(!1),a={data:n.map(y=>({flowId:y.id,flowState:re,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,Nr.default)(t&&n&&o?`${Ne}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!==re&&(m.flowState=re),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.stepStates[m]=x,T.flowState=kt),await b(Promise.resolve({...d,data:f}),{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1})}}async function v(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!==je&&(m.flowState=je,m.lastStepId=Bl,Object.keys(m.stepStates).forEach(x=>{m.stepStates[x].actionType=We,m.stepStates[x].createdAt=new Date().toISOString()}),await b({...d,data:f},{optimisticData:{...d,data:f},revalidate:!1,rollbackOnError:!1}),s(y))}}async function k(y,m){if(f){let x=f.find(T=>T.flowId===y);x&&x.stepStates[m]!==We&&(x.stepStates[m]=We),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:P,optimisticallyMarkStepNotStarted:k,optimisticallyMarkStepStarted:v,error:B}}function _t(){let{config:e}=Je(),{userFlowStatesData:t,mutateUserFlowState:o}=He(),{failedFlowResponses:i,setFailedFlowResponses:n,flowResponses:r,setFlowResponses:s}=(0,so.useContext)(Q),[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 P=r==null?void 0:r.find(v=>v.flowSlug===f.flowSlug&&v.stepId===f.stepId&&v.actionType===f.actionType&&v.createdAt===f.createdAt);return d(`${Ne}flowResponses`,{...e,method:"POST",body:C}).then(v=>{v.status!==200&&v.status!==201?(console.log("Failed to send flow response for step "+f.stepId+". Will retry again later."),n([...i,f])):P||s(I=>[...I??[],f])})}async function b(f){f.foreignUserId&&(f.actionType===kt||f.actionType===je?await u(f):f.actionType===re?await u(f):f.actionType===Po?await u(f):f.actionType===Ge?await u(f):f.actionType===ko?await u(f):f.actionType===We&&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 P in C.stepStates){let v=C.stepStates[P];f.push({foreignUserId:C.foreignUserId,flowSlug:C.flowId,stepId:v.stepId,actionType:v.actionType,data:{},createdAt:new Date(v.createdAt),blocked:v.blocked,hidden:v.hidden})}}),[...f,...r]}return{addResponse:b,setFlowResponses:s,getFlowResponses:B}}var Or=g(require("swr"));var Al=/user.flow\(([^\)]+)\) == '?COMPLETED_FLOW'?/gm,Lr=e=>{let t=Al.exec(e);if(t===null)return null;let o=null;return t.forEach((i,n)=>{let r=Il(i,"'","");r.startsWith("flow_")&&(o=r)}),o},Il=function(e,t,o){return e.replace(new RegExp(t,"g"),o)};function Z(){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,Ve.useContext)(Q),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:P,optimisticallyMarkFlowCompleted:v,optimisticallyMarkFlowNotStarted:I,optimisticallyMarkStepCompleted:k,optimisticallyMarkStepNotStarted:y,optimisticallyMarkStepStarted:m}=He(),{data:x,error:T,isLoading:O}=(0,Or.default)(n?`${Ne}flows`:null,f,{keepPreviousData:!0});(0,Ve.useEffect)(()=>{if(T){console.error(T);return}x&&x.data&&(x.data=o(x.data))},[x,T]);function V(h){if(O)return null;let w=t.find(E=>E.slug===h);return!w&&t.length>0&&!P&&!O?(console.log(`Flow with slug ${h} not found`),null):(w==null?void 0:w.active)===!1?null:w}function j(h){var W;if(!V(h))return[];let w=V(h).data;return w?(w=N(w),(((W=JSON.parse(w))==null?void 0:W.data)??[]).map(Se=>{let H=J(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(!V(h))return[];let w=V(h).data;return w?(w=N(w),JSON.parse(w)??{}):[]}function U(h,w){s(E=>({...E,[h]:w}))}function $(h){!P&&!O&&h&&JSON.stringify(r)!=JSON.stringify({...r,...h})&&Object.keys(h).forEach(w=>{U(w,h[w])})}let me=(0,Ve.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:Po,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await m(h,w,W),b(W))},[i,C]),Ce=(0,Ve.useCallback)(async(h,w,E)=>{u();let W={foreignUserId:i,flowSlug:h,stepId:w,actionType:We,data:E??{},createdAt:new Date,blocked:!1,hidden:!1};pe(W)&&(await y(h,w),b(W))},[i,C]),M=(0,Ve.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 k(h,w,W),b(W))},[i,C]),Ie=(0,Ve.useCallback)(async(h,w)=>{if(u(),oe(h)===je)return;let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:je,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};await I(h),pe(E)&&b(E)},[i,C]),Pe=(0,Ve.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,Ve.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:re,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await v(h),b(E))},[i,C]),q=(0,Ve.useCallback)(async(h,w)=>{u();let E={foreignUserId:i,flowSlug:h,stepId:"unknown",actionType:ko,data:w??{},createdAt:new Date,blocked:!1,hidden:!1};pe(E)&&(await v(h),b(E))},[i,C]);function pe(h){var w;if(!C&&h.actionType===We)return!1;if(C){let E=C.find(W=>W.flowId===h.flowSlug);if(h.actionType===We&&(!(E!=null&&E.stepStates[h.stepId])||E.stepStates[h.stepId].actionType===We)||E&&((w=E.stepStates[h.stepId])==null?void 0:w.actionType)===h.actionType||E&&E.flowState===re&&h.actionType===re)return!1}return!0}function L(h,w){let E=$e(h,w);return P?null:E?E.actionType:We}function ue(h,w){let E=$e(h,w);return E?E.blocked:!1}function Te(h,w){let E=$e(h,w);return E?E.hidden:!1}function $e(h,w){if(P)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(P||!C)return null;if(oe(h)===je)return j(h)[0]??null;let w=(E=C.find(W=>W.flowId===h))==null?void 0:E.lastStepId;return w?j(h).find(W=>W.id===w):null}function ke(h){let w=K(h);if(!w)return 0;let E=j(h).findIndex(W=>W.id===w.id)??0;return L(h,w.id)===Ge&&E<j(h).length-1?E+1:E}function J(h){if(!h.completionCriteria)return;let w=Lr(h.completionCriteria);if(w===null)return;let E=at(w),W=pt(w);return W===0?void 0:E/W}function oe(h){let w=C==null?void 0:C.find(E=>E.flowId===h);return w?w.flowState:null}function at(h){let w=j(h);return w.length===0?0:w.filter(W=>L(h,W.id)===Ge).length}function pt(h){return j(h).length}function Ot(h){return JSON.parse(t.find(w=>w.slug===h).data)}function G(h){if(P)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 ze(h){return!G(V(h))}return{getFlow:V,getFlowData:Ot,isLoading:P||O,getStepStatus:L,getFlowSteps:j,getCurrentStepIndex:ke,markStepStarted:me,markStepCompleted:M,markFlowNotStarted:Ie,markFlowStarted:Pe,markFlowCompleted:ae,markFlowAborted:q,markStepNotStarted:Ce,getFlowStatus:oe,getNumberOfStepsCompleted:at,getNumberOfSteps:pt,targetingLogicShouldHideFlow:G,setCustomVariable:U,updateCustomVariables:$,customVariables:r,getStepOptionalProgress:J,getFlowMetadata:z,isStepBlocked:ue,isStepHidden:Te,hasActiveFullPageFlow:p,setHasActiveFullPageFlow:c,isFlowAvailableToUser:ze}}var Pt=require("react");var zt="guest_";function Wt(){let{userId:e,organizationId:t,setUserId:o,setUserProperties:i,shouldGracefullyDegrade:n}=(0,Pt.useContext)(Q),{config:r}=Je(),{mutateUserFlowState:s}=He(),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(`${Ne}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(`${Ne}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(`${Ne}users`,{...r,method:"POST",body:JSON.stringify(B)}),s()},[e,r,s]);return{userId:e,setUserId:o,addPropertiesToUser:a,trackEventForUser:S}}var zi=require("uuid");var Ae=g(require("react"));var Oe=g(require("react")),ao=g(require("styled-components"));var Mr=g(require("react")),Ur=g(require("styled-components"));var Dr="fr-",lo="cfr-";function l(e,t){let o=`${Dr}${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(Dr)?"":`:not(${o.map(i=>`.${i}`).join(", ")})`}function tr(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=>`${tr(t)}: ${e.styleOverrides[t]};`).join(" "):""}function ve(...e){return e.filter(Boolean).join(" ")}function $r(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Nl=Ur.default.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
position: fixed;
|
|
@@ -253,7 +253,7 @@ var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDe
|
|
|
253
253
|
align-items: flex-start;
|
|
254
254
|
justify-content: left;
|
|
255
255
|
margin-bottom: 10px;
|
|
256
|
-
`;var Lo=g(require("react"));var Qe={theme:{colorPrimary:"#000000",colorText:"#000000",colorBackground:"#ffffff",colorBackgroundSecondary:"#d2d2d2",colorTextOnPrimaryBackground:"#ffffff",colorTextSecondary:"#505050",colorTextDisabled:"#
|
|
256
|
+
`;var Lo=g(require("react"));var Qe={theme:{colorPrimary:"#000000",colorText:"#000000",colorBackground:"#ffffff",colorBackgroundSecondary:"#d2d2d2",colorTextOnPrimaryBackground:"#ffffff",colorTextSecondary:"#505050",colorTextDisabled:"#C7C7C7",colorBorder:"#E5E5E5",colorTextError:"#c00000",borderRadius:20}};function ut({title:e,required:t,appearance:o=Qe}){return e?Lo.default.createElement(No,null,t?Lo.default.createElement(ii,{className:l("formLabelRequired",o),appearance:o},"*"):null,Lo.default.createElement(oi,{className:l("formLabel",o)},e)):null}var rr=g(require("react"));function Ht({title:e,appearance:t}){return e?rr.default.createElement(No,null,rr.default.createElement(ri,{className:l("formSubLabel",t)},e)):null}var Oo=require("zod");function ni(e,t){try{if(t){if(t.type=="number"){let o=Oo.z.number();if(t.props)for(let i of t.props)i.requirement=="min"?o=o.min(Number(i.value),i.message??"Value is too small"):i.requirement=="max"?o=o.max(Number(i.value),i.message??"Value is too large"):i.requirement=="positive"?o=o.positive(i.message??"Value must be positive"):i.requirement=="negative"&&(o=o.nonpositive(i.message??"Value must be negative"));o.parse(Number(e))}if(t.type=="string"){let o=Oo.z.string();if(t.props)for(let i of t.props)i.requirement=="min"?o=o.min(Number(i.value),i.message??"Value is too short"):i.requirement=="max"?o=o.max(Number(i.value),i.message??"Value is too long"):i.requirement=="regex"&&(o=o.regex(new RegExp(String(i.value)),i.message??"Value does not match requirements"));o.parse(e)}return}}catch(o){if(o instanceof Oo.z.ZodError)return o.issues&&o.issues.length>0?o.issues[0].message:null;console.error("Frigade Form validation failed for rule ",t,o)}return null}var Vl=Do.default.div`
|
|
257
257
|
display: flex;
|
|
258
258
|
flex-direction: column;
|
|
259
259
|
width: 100%;
|
|
@@ -263,7 +263,7 @@ var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDe
|
|
|
263
263
|
border: 1px solid ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBorder}};
|
|
264
264
|
font-size: 14px;
|
|
265
265
|
::placeholder {
|
|
266
|
-
color:
|
|
266
|
+
color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorTextDisabled}};
|
|
267
267
|
font-size: 14px;
|
|
268
268
|
}
|
|
269
269
|
border-radius: 6px;
|
|
@@ -289,7 +289,7 @@ var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDe
|
|
|
289
289
|
min-height: 70px;
|
|
290
290
|
box-sizing: border-box;
|
|
291
291
|
margin-bottom: 10px;
|
|
292
|
-
`;function $o({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=ir;(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=ni(b,r.validation);if(B){i([{id:r.id,message:B}]);return}i([])}r.multiline&&(S=jl);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(Vl,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 Fe=g(require("react")),nr=g(require("styled-components"));var Gl=nr.default.div`
|
|
292
|
+
`;function $o({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=ir;(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=ni(b,r.validation);if(B){i([{id:r.id,message:B}]);return}i([])}r.multiline&&(S=jl);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(Vl,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 Fe=g(require("react")),nr=g(require("styled-components"));var Mo="null",Gl=nr.default.div`
|
|
293
293
|
display: flex;
|
|
294
294
|
flex-direction: column;
|
|
295
295
|
width: 100%;
|
|
@@ -301,7 +301,7 @@ var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDe
|
|
|
301
301
|
border: 1px solid ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorBorder}};
|
|
302
302
|
font-size: 14px;
|
|
303
303
|
::placeholder {
|
|
304
|
-
color:
|
|
304
|
+
color: ${e=>{var t,o;return(o=(t=e.appearance)==null?void 0:t.theme)==null?void 0:o.colorTextDisabled}};
|
|
305
305
|
font-size: 14px;
|
|
306
306
|
}
|
|
307
307
|
border-radius: 6px;
|
|
@@ -319,7 +319,7 @@ var yl=Object.create;var Fo=Object.defineProperty;var bl=Object.getOwnPropertyDe
|
|
|
319
319
|
background-repeat: no-repeat;
|
|
320
320
|
background-size: 1.5em 1.5em;
|
|
321
321
|
-webkit-print-color-adjust: exact;
|
|
322
|
-
|
|
322
|
+
`;function si({formInput:e,customFormTypeProps:t,onSaveInputData:o,inputData:i,setFormValidationErrors:n}){var S,d,u,b,B,f;let r=e,[s,p]=(0,Fe.useState)(((S=i==null?void 0:i.choice)==null?void 0:S[0])||""),[c,a]=(0,Fe.useState)(!1);return(0,Fe.useEffect)(()=>{var C,P,v,I;if(s===""&&!c){if(a(!0),r.requireSelection){p(Mo);return}if(r.defaultValue&&((C=r.props.options)!=null&&C.find(k=>k.id===r.defaultValue))){let k=(P=r.props.options)==null?void 0:P.find(y=>y.id===r.defaultValue);p(k.id),o({choice:[k.id]})}else p(((v=r.props.options)==null?void 0:v[0].id)||""),o({choice:[((I=r.props.options)==null?void 0:I[0].id)||""]})}},[]),(0,Fe.useEffect)(()=>{r.requireSelection&&s===Mo?n([{message:"Please select an option",id:r.id}]):n([])},[s]),Fe.default.createElement(Gl,null,Fe.default.createElement(ut,{title:r.title,required:!1,appearance:t.appearance}),Fe.default.createElement(ql,{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&&Fe.default.createElement("option",{key:Mo,value:Mo,disabled:!0,hidden:!0},r.placeholder??"Select an option"),(d=r.props.options)==null?void 0:d.map(C=>Fe.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)&&Fe.default.createElement(Fe.default.Fragment,null,Fe.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}),Fe.default.createElement(ir,{type:"text",placeholder:"Enter your answer here",onChange:C=>{o({choice:[C.target.value]})},appearance:t.appearance})),Fe.default.createElement(Ht,{title:r.subtitle,appearance:t.appearance}))}var Ue=g(require("react")),sr=g(require("styled-components"));var jt=g(require("react"));var Vt=g(require("react")),ai=require("framer-motion"),li=({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 Vt.default.createElement(ai.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"})},Kl=({fillColor:e,size:t,percentage:o,children:i,bgColor:n="#D9D9D9",className:r,style:s})=>Vt.default.createElement("svg",{style:s,className:r,width:t,height:t,overflow:"visible"},Vt.default.createElement("g",{transform:`rotate(-90 ${`${t*.5} ${t*.5}`})`},Vt.default.createElement(li,{color:n,size:t}),Vt.default.createElement(li,{color:e,percentage:o,size:t})),i),vt=Kl;var pi=g(require("styled-components")),Yl=({color:e="#FFFFFF"})=>jt.default.createElement("svg",{width:10,height:8,viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},jt.default.createElement("path",{d:"M1 4.34815L3.4618 7L3.4459 6.98287L9 1",stroke:e,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})),Xl={width:"22px",height:"22px",borderRadius:"8px",display:"flex",justifyContent:"center",alignItems:"center"},Jl={width:"22px",height:"22px",borderRadius:"40px",display:"flex",justifyContent:"center",alignItems:"center"},Ql={border:"1px solid #000000",color:"#FFFFFF"},Zl={border:"1px solid #E6E6E6"},Rl={color:"#FFFFFF"},ea={border:"3px solid #D9D9D9"},ta=e=>e==="square"?Xl:Jl,oa=(e,t)=>e==="square"?t?Ql:Zl:t?Rl:ea,ra=pi.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=ta(t),c=oa(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?jt.default.createElement(vt,{fillColor:o,percentage:i,size:22}):jt.default.createElement(ra,{styleOverrides:p,style:r,role:"checkbox",className:ve(l("checkIconContainer",n),l(e?"checkIconContainerChecked":"checkIconContainerUnchecked",n),e?"checkIconContainerChecked":"checkIconContainerUnchecked",s)},e&&jt.default.createElement(Yl,{color:"#FFFFFF"}))};var ia=sr.default.div`
|
|
325
325
|
display: flex;
|