@comicrelief/component-library 8.76.1 → 8.76.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -4631,7 +4631,7 @@ attempted value: ${l}
4631
4631
  &:hover {
4632
4632
  border: 0;
4633
4633
  }
4634
- `,cU=v.div``,S7=({navItems:e={},footerCopy:t="",campaign:r="Comic Relief",additionalLegalLine:n="",overrideallowList:i=!1,showFundraisingRegulatorLogo:a=!1,...l})=>{const u=r.replace(/\s/g,"").toLowerCase();return f.jsx("div",{children:f.jsx(nU,{navItems:!0,...l,children:f.jsxs(iU,{children:[n&&f.jsx(oU,{tag:"p",color:"grey",children:n}),f.jsxs(sU,{children:[f.jsx(cU,{children:f.jsx(Va,{campaign:u})}),f.jsx(lU,{href:"/",title:`Go to ${r} homepage`,children:f.jsx(Rn,{sizeSm:"48px",sizeMd:"72px",rotate:!1,campaign:r})})]}),f.jsx(C7,{navItems:e,overrideallowList:i,...l}),a&&f.jsx(Q2,{}),f.jsx(aU,{children:f.jsx(me,{tag:"p",color:"grey",size:"s",children:t})})]})})})};S7.propTypes={navItems:c.objectOf(c.shape),footerCopy:c.string,campaign:c.string,overrideallowList:c.bool,additionalLegalLine:c.string,showFundraisingRegulatorLogo:c.bool};var Ml=e=>e.type==="checkbox",Io=e=>e instanceof Date,Dr=e=>e==null;const _7=e=>typeof e=="object";var Gt=e=>!Dr(e)&&!Array.isArray(e)&&_7(e)&&!Io(e),uU=e=>Gt(e)&&e.target?Ml(e.target)?e.target.checked:e.target.value:e,dU=(e,t)=>t.split(".").some((r,n,i)=>!isNaN(Number(r))&&e.has(i.slice(0,n).join("."))),fU=e=>{const t=e.constructor&&e.constructor.prototype;return Gt(t)&&t.hasOwnProperty("isPrototypeOf")},Hh=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function er(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(Hh&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(Gt(e)&&fU(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=er(e[i]));return n}var Vc=e=>/^\w*$/.test(e),jt=e=>e===void 0,Wh=e=>Array.isArray(e)?e.filter(Boolean):[],Uh=e=>Wh(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Re=(e,t,r)=>{if(!t||!Gt(e))return r;const n=(Vc(t)?[t]:Uh(t)).reduce((i,a)=>Dr(i)?i:i[a],e);return jt(n)||n===e?jt(e[t])?r:e[t]:n},ri=e=>typeof e=="boolean",Dn=e=>typeof e=="function",wt=(e,t,r)=>{let n=-1;const i=Vc(t)?[t]:Uh(t),a=i.length,l=a-1;for(;++n<a;){const u=i[n];let p=r;if(n!==l){const g=e[u];p=Gt(g)||Array.isArray(g)?g:isNaN(+i[n+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;e[u]=p,e=e[u]}};const ws={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},In={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Tn={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ad="form",$7="root",qh=A.createContext(null);qh.displayName="HookFormControlContext";const hU=()=>A.useContext(qh);var pU=(e,t,r,n=!0)=>{const i={defaultValues:t._defaultValues};for(const a in e)Object.defineProperty(i,a,{get:()=>{const l=a;return t._proxyFormState[l]!==In.all&&(t._proxyFormState[l]=!n||In.all),e[l]}});return i};const k7=typeof window<"u"?A.useLayoutEffect:A.useEffect;var wr=e=>typeof e=="string",ef=(e,t,r,n,i)=>wr(e)?(n&&t.watch.add(e),Re(r,e,i)):Array.isArray(e)?e.map(a=>(n&&t.watch.add(a),Re(r,a))):(n&&(t.watchAll=!0),r),tf=e=>Dr(e)||!_7(e);function Pn(e,t,r=new WeakSet){if(tf(e)||tf(t))return Object.is(e,t);if(Io(e)&&Io(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const a of n){const l=e[a];if(!i.includes(a))return!1;if(a!=="ref"){const u=t[a];if(Io(l)&&Io(u)||(Gt(l)||Array.isArray(l))&&(Gt(u)||Array.isArray(u))?!Pn(l,u,r):!Object.is(l,u))return!1}}return!0}function F0(e){const t=hU(),{control:r=t,name:n,defaultValue:i,disabled:a,exact:l,compute:u}=e||{},p=A.useRef(i),g=A.useRef(u),h=A.useRef(void 0),m=A.useRef(r),y=A.useRef(n);g.current=u;const[w,x]=A.useState(()=>{const D=r._getWatch(n,p.current);return g.current?g.current(D):D}),S=A.useCallback(D=>{const I=ef(n,r._names,D||r._formValues,!1,p.current);return g.current?g.current(I):I},[r._formValues,r._names,n]),C=A.useCallback(D=>{if(!a){const I=ef(n,r._names,D||r._formValues,!1,p.current);if(g.current){const J=g.current(I);Pn(J,h.current)||(x(J),h.current=J)}else x(I)}},[r._formValues,r._names,a,n]);k7(()=>((m.current!==r||!Pn(y.current,n))&&(m.current=r,y.current=n,C()),r._subscribe({name:n,formState:{values:!0},exact:l,callback:D=>{C(D.values)}})),[r,l,n,C]),A.useEffect(()=>r._removeUnmounted());const O=m.current!==r,M=y.current,R=A.useMemo(()=>{if(a)return null;const D=!O&&!Pn(M,n);return O||D?S():null},[a,O,n,M,S]);return R!==null?R:w}const E7=A.createContext(null);E7.displayName="HookFormContext";const gU=e=>{const{children:t,watch:r,getValues:n,getFieldState:i,setError:a,clearErrors:l,setValue:u,trigger:p,formState:g,resetField:h,reset:m,handleSubmit:y,unregister:w,control:x,register:S,setFocus:C,subscribe:O}=e,M=A.useMemo(()=>({watch:r,getValues:n,getFieldState:i,setError:a,clearErrors:l,setValue:u,trigger:p,formState:g,resetField:h,reset:m,handleSubmit:y,unregister:w,control:x,register:S,setFocus:C,subscribe:O}),[l,x,g,i,n,y,S,m,h,a,C,u,O,p,w,r]);return A.createElement(E7.Provider,{value:M},A.createElement(qh.Provider,{value:M.control},t))};var O7=(e,t,r,n,i)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:i||!0}}:{},ja=e=>Array.isArray(e)?e:[e],b5=()=>{let e=[];return{get observers(){return e},next:i=>{for(const a of e)a.next&&a.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(a=>a!==i)}}),unsubscribe:()=>{e=[]}}};function T7(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],a=t[n];if(i&&Gt(i)&&a){const l=T7(i,a);Gt(l)&&(r[n]=l)}else e[n]&&(r[n]=a)}return r}var yr=e=>Gt(e)&&!Object.keys(e).length,Yh=e=>e.type==="file",ec=e=>{if(!Hh)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},M7=e=>e.type==="select-multiple",Gh=e=>e.type==="radio",mU=e=>Gh(e)||Ml(e),Rd=e=>ec(e)&&e.isConnected;function vU(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;)e=jt(e)?n++:e[t[n++]];return e}function bU(e){for(const t in e)if(e.hasOwnProperty(t)&&!jt(e[t]))return!1;return!0}function Kt(e,t){const r=Array.isArray(t)?t:Vc(t)?[t]:Uh(t),n=r.length===1?e:vU(e,r),i=r.length-1,a=r[i];return n&&delete n[a],i!==0&&(Gt(n)&&yr(n)||Array.isArray(n)&&bU(n))&&Kt(e,r.slice(0,-1)),e}var yU=e=>{for(const t in e)if(Dn(e[t]))return!0;return!1};function L7(e){return Array.isArray(e)||Gt(e)&&!yU(e)}function rf(e,t={}){for(const r in e){const n=e[r];L7(n)?(t[r]=Array.isArray(n)?[]:{},rf(n,t[r])):jt(n)||(t[r]=!0)}return t}function Ta(e,t,r){r||(r=rf(t));for(const n in e){const i=e[n];if(L7(i))jt(t)||tf(r[n])?r[n]=rf(i,Array.isArray(i)?[]:{}):Ta(i,Dr(t)?{}:t[n],r[n]);else{const a=t[n];r[n]=!Pn(i,a)}}return r}const y5={value:!1,isValid:!1},x5={value:!0,isValid:!0};var A7=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!jt(e[0].attributes.value)?jt(e[0].value)||e[0].value===""?x5:{value:e[0].value,isValid:!0}:x5:y5}return y5},R7=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>jt(e)?e:t?e===""?NaN:e&&+e:r&&wr(e)?new Date(e):n?n(e):e;const w5={isValid:!1,value:null};var D7=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,w5):w5;function C5(e){const t=e.ref;return Yh(t)?t.files:Gh(t)?D7(e.refs).value:M7(t)?[...t.selectedOptions].map(({value:r})=>r):Ml(t)?A7(e.refs).value:R7(jt(t.value)?e.ref.value:t.value,e)}var xU=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,wU=(e,t,r,n)=>{const i={};for(const a of e){const l=Re(t,a);l&&wt(i,a,l._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:n}},tc=e=>e instanceof RegExp,_a=e=>jt(e)?e:tc(e)?e.source:Gt(e)?tc(e.value)?e.value.source:e.value:e,S5=e=>({isOnSubmit:!e||e===In.onSubmit,isOnBlur:e===In.onBlur,isOnChange:e===In.onChange,isOnAll:e===In.all,isOnTouch:e===In.onTouched});const _5="AsyncFunction";var CU=e=>!!e&&!!e.validate&&!!(Dn(e.validate)&&e.validate.constructor.name===_5||Gt(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===_5)),SU=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),$5=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const Na=(e,t,r,n)=>{for(const i of r||Object.keys(e)){const a=Re(e,i);if(a){const{_f:l,...u}=a;if(l){if(l.refs&&l.refs[0]&&t(l.refs[0],i)&&!n)return!0;if(l.ref&&t(l.ref,l.name)&&!n)return!0;if(Na(u,t))break}else if(Gt(u)&&Na(u,t))break}}};function k5(e,t,r){const n=Re(e,r);if(n||Vc(r))return{error:n,name:r};const i=r.split(".");for(;i.length;){const a=i.join("."),l=Re(t,a),u=Re(e,a);if(l&&!Array.isArray(l)&&r!==a)return{name:r};if(u&&u.type)return{name:a,error:u};if(u&&u.root&&u.root.type)return{name:`${a}.root`,error:u.root};i.pop()}return{name:r}}var _U=(e,t,r,n)=>{r(e);const{name:i,...a}=e;return yr(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(l=>t[l]===(!n||In.all))},$U=(e,t,r)=>!e||!t||e===t||ja(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),kU=(e,t,r,n,i)=>i.isOnAll?!1:!r&&i.isOnTouch?!(t||e):(r?n.isOnBlur:i.isOnBlur)?!e:(r?n.isOnChange:i.isOnChange)?e:!0,EU=(e,t)=>!Wh(Re(e,t)).length&&Kt(e,t),OU=(e,t,r)=>{const n=ja(Re(e,r));return wt(n,$7,t[r]),wt(e,r,n),e};function E5(e,t,r="validate"){if(wr(e)||Array.isArray(e)&&e.every(wr)||ri(e)&&!e)return{type:r,message:wr(e)?e:"",ref:t}}var Cs=e=>Gt(e)&&!tc(e)?e:{value:e,message:""},O5=async(e,t,r,n,i,a)=>{const{ref:l,refs:u,required:p,maxLength:g,minLength:h,min:m,max:y,pattern:w,validate:x,name:S,valueAsNumber:C,mount:O}=e._f,M=Re(r,S);if(!O||t.has(S))return{};const R=u?u[0]:l,D=U=>{i&&R.reportValidity&&(R.setCustomValidity(ri(U)?"":U||""),R.reportValidity())},I={},J=Gh(l),V=Ml(l),te=J||V,ce=(C||Yh(l))&&jt(l.value)&&jt(M)||ec(l)&&l.value===""||M===""||Array.isArray(M)&&!M.length,he=O7.bind(null,S,n,I),X=(U,Q,W,re=Tn.maxLength,fe=Tn.minLength)=>{const j=U?Q:W;I[S]={type:U?re:fe,message:j,ref:l,...he(U?re:fe,j)}};if(a?!Array.isArray(M)||!M.length:p&&(!te&&(ce||Dr(M))||ri(M)&&!M||V&&!A7(u).isValid||J&&!D7(u).isValid)){const{value:U,message:Q}=wr(p)?{value:!!p,message:p}:Cs(p);if(U&&(I[S]={type:Tn.required,message:Q,ref:R,...he(Tn.required,Q)},!n))return D(Q),I}if(!ce&&(!Dr(m)||!Dr(y))){let U,Q;const W=Cs(y),re=Cs(m);if(!Dr(M)&&!isNaN(M)){const fe=l.valueAsNumber||M&&+M;Dr(W.value)||(U=fe>W.value),Dr(re.value)||(Q=fe<re.value)}else{const fe=l.valueAsDate||new Date(M),j=$=>new Date(new Date().toDateString()+" "+$),H=l.type=="time",ee=l.type=="week";wr(W.value)&&M&&(U=H?j(M)>j(W.value):ee?M>W.value:fe>new Date(W.value)),wr(re.value)&&M&&(Q=H?j(M)<j(re.value):ee?M<re.value:fe<new Date(re.value))}if((U||Q)&&(X(!!U,W.message,re.message,Tn.max,Tn.min),!n))return D(I[S].message),I}if((g||h)&&!ce&&(wr(M)||a&&Array.isArray(M))){const U=Cs(g),Q=Cs(h),W=!Dr(U.value)&&M.length>+U.value,re=!Dr(Q.value)&&M.length<+Q.value;if((W||re)&&(X(W,U.message,Q.message),!n))return D(I[S].message),I}if(w&&!ce&&wr(M)){const{value:U,message:Q}=Cs(w);if(tc(U)&&!M.match(U)&&(I[S]={type:Tn.pattern,message:Q,ref:l,...he(Tn.pattern,Q)},!n))return D(Q),I}if(x){if(Dn(x)){const U=await x(M,r),Q=E5(U,R);if(Q&&(I[S]={...Q,...he(Tn.validate,Q.message)},!n))return D(Q.message),I}else if(Gt(x)){let U={};for(const Q in x){if(!yr(U)&&!n)break;const W=E5(await x[Q](M,r),R,Q);W&&(U={...W,...he(Q,W.message)},D(W.message),n&&(I[S]=U))}if(!yr(U)&&(I[S]={ref:R,...U},!n))return I}}return D(!0),I};const TU={mode:In.onSubmit,reValidateMode:In.onChange,shouldFocusError:!0};function MU(e={}){let t={...TU,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:Dn(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},i=Gt(t.defaultValues)||Gt(t.values)?er(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:er(i),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},p,g=0;const h={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...h};let y={...m};const w={array:b5(),state:b5()},x=t.criteriaMode===In.all,S=F=>K=>{clearTimeout(g),g=setTimeout(F,K)},C=async F=>{if(!l.keepIsValid&&!t.disabled&&(m.isValid||y.isValid||F)){let K;t.resolver?(K=yr((await ce()).errors),O()):K=await U({fields:n,onlyCheckValid:!0,eventType:ws.VALID}),K!==r.isValid&&w.state.next({isValid:K})}},O=(F,K)=>{!t.disabled&&(m.isValidating||m.validatingFields||y.isValidating||y.validatingFields)&&((F||Array.from(u.mount)).forEach(ne=>{ne&&(K?wt(r.validatingFields,ne,K):Kt(r.validatingFields,ne))}),w.state.next({validatingFields:r.validatingFields,isValidating:!yr(r.validatingFields)}))},M=F=>{const K=Ta(i,a),ne=xU(F);wt(r.dirtyFields,ne,Re(K,ne))},R=(F,K=[],ne,$e,_e=!0,ye=!0)=>{if($e&&ne&&!t.disabled){if(l.action=!0,ye&&Array.isArray(Re(n,F))){const Me=ne(Re(n,F),$e.argA,$e.argB);_e&&wt(n,F,Me)}if(ye&&Array.isArray(Re(r.errors,F))){const Me=ne(Re(r.errors,F),$e.argA,$e.argB);_e&&wt(r.errors,F,Me),EU(r.errors,F)}if((m.touchedFields||y.touchedFields)&&ye&&Array.isArray(Re(r.touchedFields,F))){const Me=ne(Re(r.touchedFields,F),$e.argA,$e.argB);_e&&wt(r.touchedFields,F,Me)}(m.dirtyFields||y.dirtyFields)&&M(F),w.state.next({name:F,isDirty:W(F,K),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else wt(a,F,K)},D=(F,K)=>{wt(r.errors,F,K),w.state.next({errors:r.errors})},I=F=>{r.errors=F,w.state.next({errors:r.errors,isValid:!1})},J=(F,K,ne,$e)=>{const _e=Re(n,F);if(_e){const ye=Re(a,F,jt(ne)?Re(i,F):ne);jt(ye)||$e&&$e.defaultChecked||K?wt(a,F,K?ye:C5(_e._f)):j(F,ye),l.mount&&!l.action&&C()}},V=(F,K,ne,$e,_e)=>{let ye=!1,Me=!1;const Ve={name:F};if(!t.disabled){if(!ne||$e){(m.isDirty||y.isDirty)&&(Me=r.isDirty,r.isDirty=Ve.isDirty=W(),ye=Me!==Ve.isDirty);const Ge=Pn(Re(i,F),K);Me=!!Re(r.dirtyFields,F),Ge?Kt(r.dirtyFields,F):wt(r.dirtyFields,F,!0),Ve.dirtyFields=r.dirtyFields,ye=ye||(m.dirtyFields||y.dirtyFields)&&Me!==!Ge}if(ne){const Ge=Re(r.touchedFields,F);Ge||(wt(r.touchedFields,F,ne),Ve.touchedFields=r.touchedFields,ye=ye||(m.touchedFields||y.touchedFields)&&Ge!==ne)}ye&&_e&&w.state.next(Ve)}return ye?Ve:{}},te=(F,K,ne,$e)=>{const _e=Re(r.errors,F),ye=(m.isValid||y.isValid)&&ri(K)&&r.isValid!==K;if(t.delayError&&ne?(p=S(()=>D(F,ne)),p(t.delayError)):(clearTimeout(g),p=null,ne?wt(r.errors,F,ne):Kt(r.errors,F)),(ne?!Pn(_e,ne):_e)||!yr($e)||ye){const Me={...$e,...ye&&ri(K)?{isValid:K}:{},errors:r.errors,name:F};r={...r,...Me},w.state.next(Me)}},ce=async F=>(O(F,!0),await t.resolver(a,t.context,wU(F||u.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),he=async F=>{const{errors:K}=await ce(F);if(O(F),F)for(const ne of F){const $e=Re(K,ne);$e?wt(r.errors,ne,$e):Kt(r.errors,ne)}else r.errors=K;return K},X=async({name:F,eventType:K})=>{if(e.validate){const ne=await e.validate({formValues:a,formState:r,name:F,eventType:K});if(Gt(ne))for(const $e in ne)ne[$e]&&z(`${Ad}.${$e}`,{message:wr(ne.message)?ne.message:"",type:Tn.validate});else wr(ne)||!ne?z(Ad,{message:ne||"",type:Tn.validate}):le(Ad);return ne}return!0},U=async({fields:F,onlyCheckValid:K,name:ne,eventType:$e,context:_e={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(_e.runRootValidation=!0,!await X({name:ne,eventType:$e})&&(_e.valid=!1,K)))return _e.valid;for(const ye in F){const Me=F[ye];if(Me){const{_f:Ve,...Ge}=Me;if(Ve){const we=u.array.has(Ve.name),Ie=Me._f&&CU(Me._f);Ie&&m.validatingFields&&O([Ve.name],!0);const We=await O5(Me,u.disabled,a,x,t.shouldUseNativeValidation&&!K,we);if(Ie&&m.validatingFields&&O([Ve.name]),We[Ve.name]&&(_e.valid=!1,K)||(!K&&(Re(We,Ve.name)?we?OU(r.errors,We,Ve.name):wt(r.errors,Ve.name,We[Ve.name]):Kt(r.errors,Ve.name)),e.shouldUseNativeValidation&&We[Ve.name]))break}!yr(Ge)&&await U({context:_e,onlyCheckValid:K,fields:Ge,name:ye,eventType:$e})}}return _e.valid},Q=()=>{for(const F of u.unMount){const K=Re(n,F);K&&(K._f.refs?K._f.refs.every(ne=>!Rd(ne)):!Rd(K._f.ref))&&Ee(F)}u.unMount=new Set},W=(F,K)=>!t.disabled&&(F&&K&&wt(a,F,K),!Pn(Y(),i)),re=(F,K,ne)=>ef(F,u,{...l.mount?a:jt(K)?i:wr(F)?{[F]:K}:K},ne,K),fe=F=>Wh(Re(l.mount?a:i,F,t.shouldUnregister?Re(i,F,[]):[])),j=(F,K,ne={})=>{const $e=Re(n,F);let _e=K;if($e){const ye=$e._f;ye&&(!ye.disabled&&wt(a,F,R7(K,ye)),_e=ec(ye.ref)&&Dr(K)?"":K,M7(ye.ref)?[...ye.ref.options].forEach(Me=>Me.selected=_e.includes(Me.value)):ye.refs?Ml(ye.ref)?ye.refs.forEach(Me=>{(!Me.defaultChecked||!Me.disabled)&&(Array.isArray(_e)?Me.checked=!!_e.find(Ve=>Ve===Me.value):Me.checked=_e===Me.value||!!_e)}):ye.refs.forEach(Me=>Me.checked=Me.value===_e):Yh(ye.ref)?ye.ref.value="":(ye.ref.value=_e,ye.ref.type||w.state.next({name:F,values:er(a)})))}(ne.shouldDirty||ne.shouldTouch)&&V(F,_e,ne.shouldTouch,ne.shouldDirty,!0),ne.shouldValidate&&B(F)},H=(F,K,ne)=>{for(const $e in K){if(!K.hasOwnProperty($e))return;const _e=K[$e],ye=F+"."+$e,Me=Re(n,ye);(u.array.has(F)||Gt(_e)||Me&&!Me._f)&&!Io(_e)?H(ye,_e,ne):j(ye,_e,ne)}},ee=(F,K,ne={})=>{const $e=Re(n,F),_e=u.array.has(F),ye=er(K);wt(a,F,ye),_e?(w.array.next({name:F,values:er(a)}),(m.isDirty||m.dirtyFields||y.isDirty||y.dirtyFields)&&ne.shouldDirty&&(M(F),w.state.next({name:F,dirtyFields:r.dirtyFields,isDirty:W(F,ye)}))):$e&&!$e._f&&!Dr(ye)?H(F,ye,ne):j(F,ye,ne),$5(F,u)?w.state.next({...r,name:F,values:er(a)}):w.state.next({name:l.mount?F:void 0,values:er(a)})},$=async F=>{l.mount=!0;const K=F.target;let ne=K.name,$e=!0;const _e=Re(n,ne),ye=Ge=>{$e=Number.isNaN(Ge)||Io(Ge)&&isNaN(Ge.getTime())||Pn(Ge,Re(a,ne,Ge))},Me=S5(t.mode),Ve=S5(t.reValidateMode);if(_e){let Ge,we;const Ie=K.type?C5(_e._f):uU(F),We=F.type===ws.BLUR||F.type===ws.FOCUS_OUT,Mt=!SU(_e._f)&&!e.validate&&!t.resolver&&!Re(r.errors,ne)&&!_e._f.deps||kU(We,Re(r.touchedFields,ne),r.isSubmitted,Ve,Me),Lt=$5(ne,u,We);wt(a,ne,Ie),We?(!K||!K.readOnly)&&(_e._f.onBlur&&_e._f.onBlur(F),p&&p(0)):_e._f.onChange&&_e._f.onChange(F);const Pt=V(ne,Ie,We),Hr=!yr(Pt)||Lt;if(!We&&w.state.next({name:ne,type:F.type,values:er(a)}),Mt)return(m.isValid||y.isValid)&&(t.mode==="onBlur"?We&&C():We||C()),Hr&&w.state.next({name:ne,...Lt?{}:Pt});if(!t.resolver&&e.validate&&await X({name:ne,eventType:F.type}),!We&&Lt&&w.state.next({...r}),t.resolver){const{errors:$r}=await ce([ne]);if(O([ne]),ye(Ie),$e){const on=k5(r.errors,n,ne),gr=k5($r,n,on.name||ne);Ge=gr.error,ne=gr.name,we=yr($r)}}else O([ne],!0),Ge=(await O5(_e,u.disabled,a,x,t.shouldUseNativeValidation))[ne],O([ne]),ye(Ie),$e&&(Ge?we=!1:(m.isValid||y.isValid)&&(we=await U({fields:n,onlyCheckValid:!0,name:ne,eventType:F.type})));$e&&(_e._f.deps&&(!Array.isArray(_e._f.deps)||_e._f.deps.length>0)&&B(_e._f.deps),te(ne,we,Ge,Pt))}},k=(F,K)=>{if(Re(r.errors,K)&&F.focus)return F.focus(),1},B=async(F,K={})=>{let ne,$e;const _e=ja(F);if(t.resolver){const ye=await he(jt(F)?F:_e);ne=yr(ye),$e=F?!_e.some(Me=>Re(ye,Me)):ne}else F?($e=(await Promise.all(_e.map(async ye=>{const Me=Re(n,ye);return await U({fields:Me&&Me._f?{[ye]:Me}:Me,eventType:ws.TRIGGER})}))).every(Boolean),!(!$e&&!r.isValid)&&C()):$e=ne=await U({fields:n,name:F,eventType:ws.TRIGGER});return w.state.next({...!wr(F)||(m.isValid||y.isValid)&&ne!==r.isValid?{}:{name:F},...t.resolver||!F?{isValid:ne}:{},errors:r.errors}),K.shouldFocus&&!$e&&Na(n,k,F?_e:u.mount),$e},Y=(F,K)=>{let ne={...l.mount?a:i};return K&&(ne=T7(K.dirtyFields?r.dirtyFields:r.touchedFields,ne)),jt(F)?ne:wr(F)?Re(ne,F):F.map($e=>Re(ne,$e))},ie=(F,K)=>({invalid:!!Re((K||r).errors,F),isDirty:!!Re((K||r).dirtyFields,F),error:Re((K||r).errors,F),isValidating:!!Re(r.validatingFields,F),isTouched:!!Re((K||r).touchedFields,F)}),le=F=>{const K=F?ja(F):void 0;K==null||K.forEach(ne=>Kt(r.errors,ne)),K?K.forEach(ne=>{w.state.next({name:ne,errors:r.errors})}):w.state.next({errors:{}})},z=(F,K,ne)=>{const $e=(Re(n,F,{_f:{}})._f||{}).ref,_e=Re(r.errors,F)||{},{ref:ye,message:Me,type:Ve,...Ge}=_e;wt(r.errors,F,{...Ge,...K,ref:$e}),w.state.next({name:F,errors:r.errors,isValid:!1}),ne&&ne.shouldFocus&&$e&&$e.focus&&$e.focus()},se=(F,K)=>Dn(F)?w.state.subscribe({next:ne=>"values"in ne&&F(re(void 0,K),ne)}):re(F,K,!0),ve=F=>w.state.subscribe({next:K=>{$U(F.name,K.name,F.exact)&&_U(K,F.formState||m,Wt,F.reRenderRoot)&&F.callback({values:{...a},...r,...K,defaultValues:i})}}).unsubscribe,Se=F=>(l.mount=!0,y={...y,...F.formState},ve({...F,formState:{...h,...F.formState}})),Ee=(F,K={})=>{for(const ne of F?ja(F):u.mount)u.mount.delete(ne),u.array.delete(ne),K.keepValue||(Kt(n,ne),Kt(a,ne)),!K.keepError&&Kt(r.errors,ne),!K.keepDirty&&Kt(r.dirtyFields,ne),!K.keepTouched&&Kt(r.touchedFields,ne),!K.keepIsValidating&&Kt(r.validatingFields,ne),!t.shouldUnregister&&!K.keepDefaultValue&&Kt(i,ne);w.state.next({values:er(a)}),w.state.next({...r,...K.keepDirty?{isDirty:W()}:{}}),!K.keepIsValid&&C()},Ne=({disabled:F,name:K})=>{if(ri(F)&&l.mount||F||u.disabled.has(K)){const _e=u.disabled.has(K)!==!!F;F?u.disabled.add(K):u.disabled.delete(K),_e&&l.mount&&!l.action&&C()}},Fe=(F,K={})=>{let ne=Re(n,F);const $e=ri(K.disabled)||ri(t.disabled),_e=!u.registerName.has(F)&&ne&&!ne._f.mount;return wt(n,F,{...ne||{},_f:{...ne&&ne._f?ne._f:{ref:{name:F}},name:F,mount:!0,...K}}),u.mount.add(F),ne&&!_e?Ne({disabled:ri(K.disabled)?K.disabled:t.disabled,name:F}):J(F,!0,K.value),{...$e?{disabled:K.disabled||t.disabled}:{},...t.progressive?{required:!!K.required,min:_a(K.min),max:_a(K.max),minLength:_a(K.minLength),maxLength:_a(K.maxLength),pattern:_a(K.pattern)}:{},name:F,onChange:$,onBlur:$,ref:ye=>{if(ye){u.registerName.add(F),Fe(F,K),u.registerName.delete(F),ne=Re(n,F);const Me=jt(ye.value)&&ye.querySelectorAll&&ye.querySelectorAll("input,select,textarea")[0]||ye,Ve=mU(Me),Ge=ne._f.refs||[];if(Ve?Ge.find(we=>we===Me):Me===ne._f.ref)return;wt(n,F,{_f:{...ne._f,...Ve?{refs:[...Ge.filter(Rd),Me,...Array.isArray(Re(i,F))?[{}]:[]],ref:{type:Me.type,name:F}}:{ref:Me}}}),J(F,!1,void 0,Me)}else ne=Re(n,F,{}),ne._f&&(ne._f.mount=!1),(t.shouldUnregister||K.shouldUnregister)&&!(dU(u.array,F)&&l.action)&&u.unMount.add(F)}}},xe=()=>t.shouldFocusError&&Na(n,k,u.mount),ke=F=>{ri(F)&&(w.state.next({disabled:F}),Na(n,(K,ne)=>{const $e=Re(n,ne);$e&&(K.disabled=$e._f.disabled||F,Array.isArray($e._f.refs)&&$e._f.refs.forEach(_e=>{_e.disabled=$e._f.disabled||F}))},0,!1))},Ye=(F,K)=>async ne=>{let $e;ne&&(ne.preventDefault&&ne.preventDefault(),ne.persist&&ne.persist());let _e=er(a);if(w.state.next({isSubmitting:!0}),t.resolver){const{errors:ye,values:Me}=await ce();O(),r.errors=ye,_e=er(Me)}else await U({fields:n,eventType:ws.SUBMIT});if(u.disabled.size)for(const ye of u.disabled)Kt(_e,ye);if(Kt(r.errors,$7),yr(r.errors)){w.state.next({errors:{}});try{await F(_e,ne)}catch(ye){$e=ye}}else K&&await K({...r.errors},ne),xe(),setTimeout(xe);if(w.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:yr(r.errors)&&!$e,submitCount:r.submitCount+1,errors:r.errors}),$e)throw $e},yt=(F,K={})=>{Re(n,F)&&(jt(K.defaultValue)?ee(F,er(Re(i,F))):(ee(F,K.defaultValue),wt(i,F,er(K.defaultValue))),K.keepTouched||Kt(r.touchedFields,F),K.keepDirty||(Kt(r.dirtyFields,F),r.isDirty=K.defaultValue?W(F,er(Re(i,F))):W()),K.keepError||(Kt(r.errors,F),m.isValid&&C()),w.state.next({...r}))},vt=(F,K={})=>{const ne=F?er(F):i,$e=er(ne),_e=yr(F),ye=_e?i:$e;if(K.keepDefaultValues||(i=ne),!K.keepValues){if(K.keepDirtyValues){const Me=new Set([...u.mount,...Object.keys(Ta(i,a))]);for(const Ve of Array.from(Me)){const Ge=Re(r.dirtyFields,Ve),we=Re(a,Ve),Ie=Re(ye,Ve);Ge&&!jt(we)?wt(ye,Ve,we):!Ge&&!jt(Ie)&&ee(Ve,Ie)}}else{if(Hh&&jt(F))for(const Me of u.mount){const Ve=Re(n,Me);if(Ve&&Ve._f){const Ge=Array.isArray(Ve._f.refs)?Ve._f.refs[0]:Ve._f.ref;if(ec(Ge)){const we=Ge.closest("form");if(we){we.reset();break}}}}if(K.keepFieldsRef)for(const Me of u.mount)ee(Me,Re(ye,Me));else n={}}a=t.shouldUnregister?K.keepDefaultValues?er(i):{}:er(ye),w.array.next({values:{...ye}}),w.state.next({values:{...ye}})}u={mount:K.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!m.isValid||!!K.keepIsValid||!!K.keepDirtyValues||!t.shouldUnregister&&!yr(ye),l.watch=!!t.shouldUnregister,l.keepIsValid=!!K.keepIsValid,l.action=!1,K.keepErrors||(r.errors={}),w.state.next({submitCount:K.keepSubmitCount?r.submitCount:0,isDirty:_e?!1:K.keepDirty?r.isDirty:!!(K.keepDefaultValues&&!Pn(F,i)),isSubmitted:K.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:_e?{}:K.keepDirtyValues?K.keepDefaultValues&&a?Ta(i,a):r.dirtyFields:K.keepDefaultValues&&F?Ta(i,F):K.keepDirty?r.dirtyFields:{},touchedFields:K.keepTouched?r.touchedFields:{},errors:K.keepErrors?r.errors:{},isSubmitSuccessful:K.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},rr=(F,K)=>vt(Dn(F)?F(a):F,{...t.resetOptions,...K}),zr=(F,K={})=>{const ne=Re(n,F),$e=ne&&ne._f;if($e){const _e=$e.refs?$e.refs[0]:$e.ref;_e.focus&&setTimeout(()=>{_e.focus(),K.shouldSelect&&Dn(_e.select)&&_e.select()})}},Wt=F=>{r={...r,...F}},Vr={control:{register:Fe,unregister:Ee,getFieldState:ie,handleSubmit:Ye,setError:z,_subscribe:ve,_runSchema:ce,_updateIsValidating:O,_focusError:xe,_getWatch:re,_getDirty:W,_setValid:C,_setFieldArray:R,_setDisabledField:Ne,_setErrors:I,_getFieldArray:fe,_reset:vt,_resetDefaultValues:()=>Dn(t.defaultValues)&&t.defaultValues().then(F=>{rr(F,t.resetOptions),w.state.next({isLoading:!1})}),_removeUnmounted:Q,_disableForm:ke,_subjects:w,_proxyFormState:m,get _fields(){return n},get _formValues(){return a},get _state(){return l},set _state(F){l=F},get _defaultValues(){return i},get _names(){return u},set _names(F){u=F},get _formState(){return r},get _options(){return t},set _options(F){t={...t,...F}}},subscribe:Se,trigger:B,register:Fe,handleSubmit:Ye,watch:se,setValue:ee,getValues:Y,reset:rr,resetField:yt,clearErrors:le,unregister:Ee,setError:z,setFocus:zr,getFieldState:ie};return{...Vr,formControl:Vr}}function LU(e={}){const t=A.useRef(void 0),r=A.useRef(void 0),[n,i]=A.useState({isDirty:!1,isValidating:!1,isLoading:Dn(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Dn(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!Dn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...u}=MU(e);t.current={...u,formState:n}}const a=t.current.control;return a._options=e,k7(()=>{const l=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(u=>({...u,isReady:!0})),a._formState.isReady=!0,l},[a]),A.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),A.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),A.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),A.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),A.useEffect(()=>{if(a._proxyFormState.isDirty){const l=a._getDirty();l!==n.isDirty&&a._subjects.state.next({isDirty:l})}},[a,n.isDirty]),A.useEffect(()=>{var l;e.values&&!Pn(e.values,r.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((l=a._options.resetOptions)===null||l===void 0)&&l.keepIsValid||a._setValid(),r.current=e.values,i(u=>({...u}))):a._resetDefaultValues()},[a,e.values]),A.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=A.useMemo(()=>pU(n,a),[a,n]),t.current}const T5=(e,t,r)=>{if(e&&"reportValidity"in e){const n=Re(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},I7=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?T5(n.ref,r,e):n.refs&&n.refs.forEach(i=>T5(i,r,e))}},AU=(e,t)=>{t.shouldUseNativeValidation&&I7(e,t);const r={};for(const n in e){const i=Re(t.fields,n),a=Object.assign(e[n]||{},{ref:i&&i.ref});if(RU(t.names||Object.keys(e),n)){const l=Object.assign({},Re(r,n));wt(l,"root",a),wt(r,n,l)}else wt(r,n,a)}return r},RU=(e,t)=>e.some(r=>r.startsWith(t+"."));function DU(e,t,r){return t===void 0&&(t={}),r===void 0&&(r={}),function(n,i,a){try{return Promise.resolve(function(l,u){try{var p=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](n,Object.assign({abortEarly:!1},t,{context:i}))).then(function(g){return a.shouldUseNativeValidation&&I7({},a),{values:r.raw?n:g,errors:{}}}))}catch(g){return u(g)}return p&&p.then?p.then(void 0,u):p}(0,function(l){if(!l.inner)throw l;return{values:{},errors:AU((u=l,p=!a.shouldUseNativeValidation&&a.criteriaMode==="all",(u.inner||[]).reduce(function(g,h){if(g[h.path]||(g[h.path]={message:h.message,type:h.type}),p){var m=g[h.path].types,y=m&&m[h.type];g[h.path]=O7(h.path,p,g,h.type,y?[].concat(y,h.message):h.message)}return g},{})),a)};var u,p}))}catch(l){return Promise.reject(l)}}}const IU=v.div`
4634
+ `,cU=v.div``,S7=({navItems:e={},footerCopy:t="",campaign:r="Comic Relief",additionalLegalLine:n="",overrideallowList:i=!1,showFundraisingRegulatorLogo:a=!1,...l})=>{const u=r.replace(/\s/g,"").toLowerCase();return f.jsx("div",{children:f.jsx(nU,{navItems:!0,...l,children:f.jsxs(iU,{children:[n&&f.jsx(oU,{tag:"p",color:"grey",children:n}),f.jsxs(sU,{children:[f.jsx(cU,{children:f.jsx(Va,{campaign:u,"data-test":"SocialIconsList"})}),f.jsx(lU,{href:"/",title:`Go to ${r} homepage`,"data-test":"footer-logo",children:f.jsx(Rn,{sizeSm:"48px",sizeMd:"72px",rotate:!1,campaign:r})})]}),f.jsx(C7,{navItems:e,overrideallowList:i,...l}),a&&f.jsx(Q2,{}),f.jsx(aU,{"data-test":"footer-copyright",children:f.jsx(me,{tag:"p",color:"grey",size:"s",children:t})})]})})})};S7.propTypes={navItems:c.objectOf(c.shape),footerCopy:c.string,campaign:c.string,overrideallowList:c.bool,additionalLegalLine:c.string,showFundraisingRegulatorLogo:c.bool};var Ml=e=>e.type==="checkbox",Io=e=>e instanceof Date,Dr=e=>e==null;const _7=e=>typeof e=="object";var Gt=e=>!Dr(e)&&!Array.isArray(e)&&_7(e)&&!Io(e),uU=e=>Gt(e)&&e.target?Ml(e.target)?e.target.checked:e.target.value:e,dU=(e,t)=>t.split(".").some((r,n,i)=>!isNaN(Number(r))&&e.has(i.slice(0,n).join("."))),fU=e=>{const t=e.constructor&&e.constructor.prototype;return Gt(t)&&t.hasOwnProperty("isPrototypeOf")},Hh=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function er(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(Hh&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(Gt(e)&&fU(e)))return e;const n=r?[]:Object.create(Object.getPrototypeOf(e));for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=er(e[i]));return n}var Vc=e=>/^\w*$/.test(e),jt=e=>e===void 0,Wh=e=>Array.isArray(e)?e.filter(Boolean):[],Uh=e=>Wh(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Re=(e,t,r)=>{if(!t||!Gt(e))return r;const n=(Vc(t)?[t]:Uh(t)).reduce((i,a)=>Dr(i)?i:i[a],e);return jt(n)||n===e?jt(e[t])?r:e[t]:n},ri=e=>typeof e=="boolean",Dn=e=>typeof e=="function",wt=(e,t,r)=>{let n=-1;const i=Vc(t)?[t]:Uh(t),a=i.length,l=a-1;for(;++n<a;){const u=i[n];let p=r;if(n!==l){const g=e[u];p=Gt(g)||Array.isArray(g)?g:isNaN(+i[n+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;e[u]=p,e=e[u]}};const ws={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},In={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Tn={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ad="form",$7="root",qh=A.createContext(null);qh.displayName="HookFormControlContext";const hU=()=>A.useContext(qh);var pU=(e,t,r,n=!0)=>{const i={defaultValues:t._defaultValues};for(const a in e)Object.defineProperty(i,a,{get:()=>{const l=a;return t._proxyFormState[l]!==In.all&&(t._proxyFormState[l]=!n||In.all),e[l]}});return i};const k7=typeof window<"u"?A.useLayoutEffect:A.useEffect;var wr=e=>typeof e=="string",ef=(e,t,r,n,i)=>wr(e)?(n&&t.watch.add(e),Re(r,e,i)):Array.isArray(e)?e.map(a=>(n&&t.watch.add(a),Re(r,a))):(n&&(t.watchAll=!0),r),tf=e=>Dr(e)||!_7(e);function Pn(e,t,r=new WeakSet){if(tf(e)||tf(t))return Object.is(e,t);if(Io(e)&&Io(t))return Object.is(e.getTime(),t.getTime());const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const a of n){const l=e[a];if(!i.includes(a))return!1;if(a!=="ref"){const u=t[a];if(Io(l)&&Io(u)||(Gt(l)||Array.isArray(l))&&(Gt(u)||Array.isArray(u))?!Pn(l,u,r):!Object.is(l,u))return!1}}return!0}function F0(e){const t=hU(),{control:r=t,name:n,defaultValue:i,disabled:a,exact:l,compute:u}=e||{},p=A.useRef(i),g=A.useRef(u),h=A.useRef(void 0),m=A.useRef(r),y=A.useRef(n);g.current=u;const[w,x]=A.useState(()=>{const D=r._getWatch(n,p.current);return g.current?g.current(D):D}),S=A.useCallback(D=>{const I=ef(n,r._names,D||r._formValues,!1,p.current);return g.current?g.current(I):I},[r._formValues,r._names,n]),C=A.useCallback(D=>{if(!a){const I=ef(n,r._names,D||r._formValues,!1,p.current);if(g.current){const J=g.current(I);Pn(J,h.current)||(x(J),h.current=J)}else x(I)}},[r._formValues,r._names,a,n]);k7(()=>((m.current!==r||!Pn(y.current,n))&&(m.current=r,y.current=n,C()),r._subscribe({name:n,formState:{values:!0},exact:l,callback:D=>{C(D.values)}})),[r,l,n,C]),A.useEffect(()=>r._removeUnmounted());const O=m.current!==r,M=y.current,R=A.useMemo(()=>{if(a)return null;const D=!O&&!Pn(M,n);return O||D?S():null},[a,O,n,M,S]);return R!==null?R:w}const E7=A.createContext(null);E7.displayName="HookFormContext";const gU=e=>{const{children:t,watch:r,getValues:n,getFieldState:i,setError:a,clearErrors:l,setValue:u,trigger:p,formState:g,resetField:h,reset:m,handleSubmit:y,unregister:w,control:x,register:S,setFocus:C,subscribe:O}=e,M=A.useMemo(()=>({watch:r,getValues:n,getFieldState:i,setError:a,clearErrors:l,setValue:u,trigger:p,formState:g,resetField:h,reset:m,handleSubmit:y,unregister:w,control:x,register:S,setFocus:C,subscribe:O}),[l,x,g,i,n,y,S,m,h,a,C,u,O,p,w,r]);return A.createElement(E7.Provider,{value:M},A.createElement(qh.Provider,{value:M.control},t))};var O7=(e,t,r,n,i)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[n]:i||!0}}:{},ja=e=>Array.isArray(e)?e:[e],b5=()=>{let e=[];return{get observers(){return e},next:i=>{for(const a of e)a.next&&a.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(a=>a!==i)}}),unsubscribe:()=>{e=[]}}};function T7(e,t){const r={};for(const n in e)if(e.hasOwnProperty(n)){const i=e[n],a=t[n];if(i&&Gt(i)&&a){const l=T7(i,a);Gt(l)&&(r[n]=l)}else e[n]&&(r[n]=a)}return r}var yr=e=>Gt(e)&&!Object.keys(e).length,Yh=e=>e.type==="file",ec=e=>{if(!Hh)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},M7=e=>e.type==="select-multiple",Gh=e=>e.type==="radio",mU=e=>Gh(e)||Ml(e),Rd=e=>ec(e)&&e.isConnected;function vU(e,t){const r=t.slice(0,-1).length;let n=0;for(;n<r;)e=jt(e)?n++:e[t[n++]];return e}function bU(e){for(const t in e)if(e.hasOwnProperty(t)&&!jt(e[t]))return!1;return!0}function Kt(e,t){const r=Array.isArray(t)?t:Vc(t)?[t]:Uh(t),n=r.length===1?e:vU(e,r),i=r.length-1,a=r[i];return n&&delete n[a],i!==0&&(Gt(n)&&yr(n)||Array.isArray(n)&&bU(n))&&Kt(e,r.slice(0,-1)),e}var yU=e=>{for(const t in e)if(Dn(e[t]))return!0;return!1};function L7(e){return Array.isArray(e)||Gt(e)&&!yU(e)}function rf(e,t={}){for(const r in e){const n=e[r];L7(n)?(t[r]=Array.isArray(n)?[]:{},rf(n,t[r])):jt(n)||(t[r]=!0)}return t}function Ta(e,t,r){r||(r=rf(t));for(const n in e){const i=e[n];if(L7(i))jt(t)||tf(r[n])?r[n]=rf(i,Array.isArray(i)?[]:{}):Ta(i,Dr(t)?{}:t[n],r[n]);else{const a=t[n];r[n]=!Pn(i,a)}}return r}const y5={value:!1,isValid:!1},x5={value:!0,isValid:!0};var A7=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!jt(e[0].attributes.value)?jt(e[0].value)||e[0].value===""?x5:{value:e[0].value,isValid:!0}:x5:y5}return y5},R7=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:n})=>jt(e)?e:t?e===""?NaN:e&&+e:r&&wr(e)?new Date(e):n?n(e):e;const w5={isValid:!1,value:null};var D7=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,w5):w5;function C5(e){const t=e.ref;return Yh(t)?t.files:Gh(t)?D7(e.refs).value:M7(t)?[...t.selectedOptions].map(({value:r})=>r):Ml(t)?A7(e.refs).value:R7(jt(t.value)?e.ref.value:t.value,e)}var xU=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,wU=(e,t,r,n)=>{const i={};for(const a of e){const l=Re(t,a);l&&wt(i,a,l._f)}return{criteriaMode:r,names:[...e],fields:i,shouldUseNativeValidation:n}},tc=e=>e instanceof RegExp,_a=e=>jt(e)?e:tc(e)?e.source:Gt(e)?tc(e.value)?e.value.source:e.value:e,S5=e=>({isOnSubmit:!e||e===In.onSubmit,isOnBlur:e===In.onBlur,isOnChange:e===In.onChange,isOnAll:e===In.all,isOnTouch:e===In.onTouched});const _5="AsyncFunction";var CU=e=>!!e&&!!e.validate&&!!(Dn(e.validate)&&e.validate.constructor.name===_5||Gt(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===_5)),SU=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),$5=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const Na=(e,t,r,n)=>{for(const i of r||Object.keys(e)){const a=Re(e,i);if(a){const{_f:l,...u}=a;if(l){if(l.refs&&l.refs[0]&&t(l.refs[0],i)&&!n)return!0;if(l.ref&&t(l.ref,l.name)&&!n)return!0;if(Na(u,t))break}else if(Gt(u)&&Na(u,t))break}}};function k5(e,t,r){const n=Re(e,r);if(n||Vc(r))return{error:n,name:r};const i=r.split(".");for(;i.length;){const a=i.join("."),l=Re(t,a),u=Re(e,a);if(l&&!Array.isArray(l)&&r!==a)return{name:r};if(u&&u.type)return{name:a,error:u};if(u&&u.root&&u.root.type)return{name:`${a}.root`,error:u.root};i.pop()}return{name:r}}var _U=(e,t,r,n)=>{r(e);const{name:i,...a}=e;return yr(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(l=>t[l]===(!n||In.all))},$U=(e,t,r)=>!e||!t||e===t||ja(e).some(n=>n&&(r?n===t:n.startsWith(t)||t.startsWith(n))),kU=(e,t,r,n,i)=>i.isOnAll?!1:!r&&i.isOnTouch?!(t||e):(r?n.isOnBlur:i.isOnBlur)?!e:(r?n.isOnChange:i.isOnChange)?e:!0,EU=(e,t)=>!Wh(Re(e,t)).length&&Kt(e,t),OU=(e,t,r)=>{const n=ja(Re(e,r));return wt(n,$7,t[r]),wt(e,r,n),e};function E5(e,t,r="validate"){if(wr(e)||Array.isArray(e)&&e.every(wr)||ri(e)&&!e)return{type:r,message:wr(e)?e:"",ref:t}}var Cs=e=>Gt(e)&&!tc(e)?e:{value:e,message:""},O5=async(e,t,r,n,i,a)=>{const{ref:l,refs:u,required:p,maxLength:g,minLength:h,min:m,max:y,pattern:w,validate:x,name:S,valueAsNumber:C,mount:O}=e._f,M=Re(r,S);if(!O||t.has(S))return{};const R=u?u[0]:l,D=U=>{i&&R.reportValidity&&(R.setCustomValidity(ri(U)?"":U||""),R.reportValidity())},I={},J=Gh(l),V=Ml(l),te=J||V,ce=(C||Yh(l))&&jt(l.value)&&jt(M)||ec(l)&&l.value===""||M===""||Array.isArray(M)&&!M.length,he=O7.bind(null,S,n,I),X=(U,Q,W,re=Tn.maxLength,fe=Tn.minLength)=>{const j=U?Q:W;I[S]={type:U?re:fe,message:j,ref:l,...he(U?re:fe,j)}};if(a?!Array.isArray(M)||!M.length:p&&(!te&&(ce||Dr(M))||ri(M)&&!M||V&&!A7(u).isValid||J&&!D7(u).isValid)){const{value:U,message:Q}=wr(p)?{value:!!p,message:p}:Cs(p);if(U&&(I[S]={type:Tn.required,message:Q,ref:R,...he(Tn.required,Q)},!n))return D(Q),I}if(!ce&&(!Dr(m)||!Dr(y))){let U,Q;const W=Cs(y),re=Cs(m);if(!Dr(M)&&!isNaN(M)){const fe=l.valueAsNumber||M&&+M;Dr(W.value)||(U=fe>W.value),Dr(re.value)||(Q=fe<re.value)}else{const fe=l.valueAsDate||new Date(M),j=$=>new Date(new Date().toDateString()+" "+$),H=l.type=="time",ee=l.type=="week";wr(W.value)&&M&&(U=H?j(M)>j(W.value):ee?M>W.value:fe>new Date(W.value)),wr(re.value)&&M&&(Q=H?j(M)<j(re.value):ee?M<re.value:fe<new Date(re.value))}if((U||Q)&&(X(!!U,W.message,re.message,Tn.max,Tn.min),!n))return D(I[S].message),I}if((g||h)&&!ce&&(wr(M)||a&&Array.isArray(M))){const U=Cs(g),Q=Cs(h),W=!Dr(U.value)&&M.length>+U.value,re=!Dr(Q.value)&&M.length<+Q.value;if((W||re)&&(X(W,U.message,Q.message),!n))return D(I[S].message),I}if(w&&!ce&&wr(M)){const{value:U,message:Q}=Cs(w);if(tc(U)&&!M.match(U)&&(I[S]={type:Tn.pattern,message:Q,ref:l,...he(Tn.pattern,Q)},!n))return D(Q),I}if(x){if(Dn(x)){const U=await x(M,r),Q=E5(U,R);if(Q&&(I[S]={...Q,...he(Tn.validate,Q.message)},!n))return D(Q.message),I}else if(Gt(x)){let U={};for(const Q in x){if(!yr(U)&&!n)break;const W=E5(await x[Q](M,r),R,Q);W&&(U={...W,...he(Q,W.message)},D(W.message),n&&(I[S]=U))}if(!yr(U)&&(I[S]={ref:R,...U},!n))return I}}return D(!0),I};const TU={mode:In.onSubmit,reValidateMode:In.onChange,shouldFocusError:!0};function MU(e={}){let t={...TU,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:Dn(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},n={},i=Gt(t.defaultValues)||Gt(t.values)?er(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:er(i),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},p,g=0;const h={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...h};let y={...m};const w={array:b5(),state:b5()},x=t.criteriaMode===In.all,S=F=>K=>{clearTimeout(g),g=setTimeout(F,K)},C=async F=>{if(!l.keepIsValid&&!t.disabled&&(m.isValid||y.isValid||F)){let K;t.resolver?(K=yr((await ce()).errors),O()):K=await U({fields:n,onlyCheckValid:!0,eventType:ws.VALID}),K!==r.isValid&&w.state.next({isValid:K})}},O=(F,K)=>{!t.disabled&&(m.isValidating||m.validatingFields||y.isValidating||y.validatingFields)&&((F||Array.from(u.mount)).forEach(ne=>{ne&&(K?wt(r.validatingFields,ne,K):Kt(r.validatingFields,ne))}),w.state.next({validatingFields:r.validatingFields,isValidating:!yr(r.validatingFields)}))},M=F=>{const K=Ta(i,a),ne=xU(F);wt(r.dirtyFields,ne,Re(K,ne))},R=(F,K=[],ne,$e,_e=!0,ye=!0)=>{if($e&&ne&&!t.disabled){if(l.action=!0,ye&&Array.isArray(Re(n,F))){const Me=ne(Re(n,F),$e.argA,$e.argB);_e&&wt(n,F,Me)}if(ye&&Array.isArray(Re(r.errors,F))){const Me=ne(Re(r.errors,F),$e.argA,$e.argB);_e&&wt(r.errors,F,Me),EU(r.errors,F)}if((m.touchedFields||y.touchedFields)&&ye&&Array.isArray(Re(r.touchedFields,F))){const Me=ne(Re(r.touchedFields,F),$e.argA,$e.argB);_e&&wt(r.touchedFields,F,Me)}(m.dirtyFields||y.dirtyFields)&&M(F),w.state.next({name:F,isDirty:W(F,K),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else wt(a,F,K)},D=(F,K)=>{wt(r.errors,F,K),w.state.next({errors:r.errors})},I=F=>{r.errors=F,w.state.next({errors:r.errors,isValid:!1})},J=(F,K,ne,$e)=>{const _e=Re(n,F);if(_e){const ye=Re(a,F,jt(ne)?Re(i,F):ne);jt(ye)||$e&&$e.defaultChecked||K?wt(a,F,K?ye:C5(_e._f)):j(F,ye),l.mount&&!l.action&&C()}},V=(F,K,ne,$e,_e)=>{let ye=!1,Me=!1;const Ve={name:F};if(!t.disabled){if(!ne||$e){(m.isDirty||y.isDirty)&&(Me=r.isDirty,r.isDirty=Ve.isDirty=W(),ye=Me!==Ve.isDirty);const Ge=Pn(Re(i,F),K);Me=!!Re(r.dirtyFields,F),Ge?Kt(r.dirtyFields,F):wt(r.dirtyFields,F,!0),Ve.dirtyFields=r.dirtyFields,ye=ye||(m.dirtyFields||y.dirtyFields)&&Me!==!Ge}if(ne){const Ge=Re(r.touchedFields,F);Ge||(wt(r.touchedFields,F,ne),Ve.touchedFields=r.touchedFields,ye=ye||(m.touchedFields||y.touchedFields)&&Ge!==ne)}ye&&_e&&w.state.next(Ve)}return ye?Ve:{}},te=(F,K,ne,$e)=>{const _e=Re(r.errors,F),ye=(m.isValid||y.isValid)&&ri(K)&&r.isValid!==K;if(t.delayError&&ne?(p=S(()=>D(F,ne)),p(t.delayError)):(clearTimeout(g),p=null,ne?wt(r.errors,F,ne):Kt(r.errors,F)),(ne?!Pn(_e,ne):_e)||!yr($e)||ye){const Me={...$e,...ye&&ri(K)?{isValid:K}:{},errors:r.errors,name:F};r={...r,...Me},w.state.next(Me)}},ce=async F=>(O(F,!0),await t.resolver(a,t.context,wU(F||u.mount,n,t.criteriaMode,t.shouldUseNativeValidation))),he=async F=>{const{errors:K}=await ce(F);if(O(F),F)for(const ne of F){const $e=Re(K,ne);$e?wt(r.errors,ne,$e):Kt(r.errors,ne)}else r.errors=K;return K},X=async({name:F,eventType:K})=>{if(e.validate){const ne=await e.validate({formValues:a,formState:r,name:F,eventType:K});if(Gt(ne))for(const $e in ne)ne[$e]&&z(`${Ad}.${$e}`,{message:wr(ne.message)?ne.message:"",type:Tn.validate});else wr(ne)||!ne?z(Ad,{message:ne||"",type:Tn.validate}):le(Ad);return ne}return!0},U=async({fields:F,onlyCheckValid:K,name:ne,eventType:$e,context:_e={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(_e.runRootValidation=!0,!await X({name:ne,eventType:$e})&&(_e.valid=!1,K)))return _e.valid;for(const ye in F){const Me=F[ye];if(Me){const{_f:Ve,...Ge}=Me;if(Ve){const we=u.array.has(Ve.name),Ie=Me._f&&CU(Me._f);Ie&&m.validatingFields&&O([Ve.name],!0);const We=await O5(Me,u.disabled,a,x,t.shouldUseNativeValidation&&!K,we);if(Ie&&m.validatingFields&&O([Ve.name]),We[Ve.name]&&(_e.valid=!1,K)||(!K&&(Re(We,Ve.name)?we?OU(r.errors,We,Ve.name):wt(r.errors,Ve.name,We[Ve.name]):Kt(r.errors,Ve.name)),e.shouldUseNativeValidation&&We[Ve.name]))break}!yr(Ge)&&await U({context:_e,onlyCheckValid:K,fields:Ge,name:ye,eventType:$e})}}return _e.valid},Q=()=>{for(const F of u.unMount){const K=Re(n,F);K&&(K._f.refs?K._f.refs.every(ne=>!Rd(ne)):!Rd(K._f.ref))&&Ee(F)}u.unMount=new Set},W=(F,K)=>!t.disabled&&(F&&K&&wt(a,F,K),!Pn(Y(),i)),re=(F,K,ne)=>ef(F,u,{...l.mount?a:jt(K)?i:wr(F)?{[F]:K}:K},ne,K),fe=F=>Wh(Re(l.mount?a:i,F,t.shouldUnregister?Re(i,F,[]):[])),j=(F,K,ne={})=>{const $e=Re(n,F);let _e=K;if($e){const ye=$e._f;ye&&(!ye.disabled&&wt(a,F,R7(K,ye)),_e=ec(ye.ref)&&Dr(K)?"":K,M7(ye.ref)?[...ye.ref.options].forEach(Me=>Me.selected=_e.includes(Me.value)):ye.refs?Ml(ye.ref)?ye.refs.forEach(Me=>{(!Me.defaultChecked||!Me.disabled)&&(Array.isArray(_e)?Me.checked=!!_e.find(Ve=>Ve===Me.value):Me.checked=_e===Me.value||!!_e)}):ye.refs.forEach(Me=>Me.checked=Me.value===_e):Yh(ye.ref)?ye.ref.value="":(ye.ref.value=_e,ye.ref.type||w.state.next({name:F,values:er(a)})))}(ne.shouldDirty||ne.shouldTouch)&&V(F,_e,ne.shouldTouch,ne.shouldDirty,!0),ne.shouldValidate&&B(F)},H=(F,K,ne)=>{for(const $e in K){if(!K.hasOwnProperty($e))return;const _e=K[$e],ye=F+"."+$e,Me=Re(n,ye);(u.array.has(F)||Gt(_e)||Me&&!Me._f)&&!Io(_e)?H(ye,_e,ne):j(ye,_e,ne)}},ee=(F,K,ne={})=>{const $e=Re(n,F),_e=u.array.has(F),ye=er(K);wt(a,F,ye),_e?(w.array.next({name:F,values:er(a)}),(m.isDirty||m.dirtyFields||y.isDirty||y.dirtyFields)&&ne.shouldDirty&&(M(F),w.state.next({name:F,dirtyFields:r.dirtyFields,isDirty:W(F,ye)}))):$e&&!$e._f&&!Dr(ye)?H(F,ye,ne):j(F,ye,ne),$5(F,u)?w.state.next({...r,name:F,values:er(a)}):w.state.next({name:l.mount?F:void 0,values:er(a)})},$=async F=>{l.mount=!0;const K=F.target;let ne=K.name,$e=!0;const _e=Re(n,ne),ye=Ge=>{$e=Number.isNaN(Ge)||Io(Ge)&&isNaN(Ge.getTime())||Pn(Ge,Re(a,ne,Ge))},Me=S5(t.mode),Ve=S5(t.reValidateMode);if(_e){let Ge,we;const Ie=K.type?C5(_e._f):uU(F),We=F.type===ws.BLUR||F.type===ws.FOCUS_OUT,Mt=!SU(_e._f)&&!e.validate&&!t.resolver&&!Re(r.errors,ne)&&!_e._f.deps||kU(We,Re(r.touchedFields,ne),r.isSubmitted,Ve,Me),Lt=$5(ne,u,We);wt(a,ne,Ie),We?(!K||!K.readOnly)&&(_e._f.onBlur&&_e._f.onBlur(F),p&&p(0)):_e._f.onChange&&_e._f.onChange(F);const Pt=V(ne,Ie,We),Hr=!yr(Pt)||Lt;if(!We&&w.state.next({name:ne,type:F.type,values:er(a)}),Mt)return(m.isValid||y.isValid)&&(t.mode==="onBlur"?We&&C():We||C()),Hr&&w.state.next({name:ne,...Lt?{}:Pt});if(!t.resolver&&e.validate&&await X({name:ne,eventType:F.type}),!We&&Lt&&w.state.next({...r}),t.resolver){const{errors:$r}=await ce([ne]);if(O([ne]),ye(Ie),$e){const on=k5(r.errors,n,ne),gr=k5($r,n,on.name||ne);Ge=gr.error,ne=gr.name,we=yr($r)}}else O([ne],!0),Ge=(await O5(_e,u.disabled,a,x,t.shouldUseNativeValidation))[ne],O([ne]),ye(Ie),$e&&(Ge?we=!1:(m.isValid||y.isValid)&&(we=await U({fields:n,onlyCheckValid:!0,name:ne,eventType:F.type})));$e&&(_e._f.deps&&(!Array.isArray(_e._f.deps)||_e._f.deps.length>0)&&B(_e._f.deps),te(ne,we,Ge,Pt))}},k=(F,K)=>{if(Re(r.errors,K)&&F.focus)return F.focus(),1},B=async(F,K={})=>{let ne,$e;const _e=ja(F);if(t.resolver){const ye=await he(jt(F)?F:_e);ne=yr(ye),$e=F?!_e.some(Me=>Re(ye,Me)):ne}else F?($e=(await Promise.all(_e.map(async ye=>{const Me=Re(n,ye);return await U({fields:Me&&Me._f?{[ye]:Me}:Me,eventType:ws.TRIGGER})}))).every(Boolean),!(!$e&&!r.isValid)&&C()):$e=ne=await U({fields:n,name:F,eventType:ws.TRIGGER});return w.state.next({...!wr(F)||(m.isValid||y.isValid)&&ne!==r.isValid?{}:{name:F},...t.resolver||!F?{isValid:ne}:{},errors:r.errors}),K.shouldFocus&&!$e&&Na(n,k,F?_e:u.mount),$e},Y=(F,K)=>{let ne={...l.mount?a:i};return K&&(ne=T7(K.dirtyFields?r.dirtyFields:r.touchedFields,ne)),jt(F)?ne:wr(F)?Re(ne,F):F.map($e=>Re(ne,$e))},ie=(F,K)=>({invalid:!!Re((K||r).errors,F),isDirty:!!Re((K||r).dirtyFields,F),error:Re((K||r).errors,F),isValidating:!!Re(r.validatingFields,F),isTouched:!!Re((K||r).touchedFields,F)}),le=F=>{const K=F?ja(F):void 0;K==null||K.forEach(ne=>Kt(r.errors,ne)),K?K.forEach(ne=>{w.state.next({name:ne,errors:r.errors})}):w.state.next({errors:{}})},z=(F,K,ne)=>{const $e=(Re(n,F,{_f:{}})._f||{}).ref,_e=Re(r.errors,F)||{},{ref:ye,message:Me,type:Ve,...Ge}=_e;wt(r.errors,F,{...Ge,...K,ref:$e}),w.state.next({name:F,errors:r.errors,isValid:!1}),ne&&ne.shouldFocus&&$e&&$e.focus&&$e.focus()},se=(F,K)=>Dn(F)?w.state.subscribe({next:ne=>"values"in ne&&F(re(void 0,K),ne)}):re(F,K,!0),ve=F=>w.state.subscribe({next:K=>{$U(F.name,K.name,F.exact)&&_U(K,F.formState||m,Wt,F.reRenderRoot)&&F.callback({values:{...a},...r,...K,defaultValues:i})}}).unsubscribe,Se=F=>(l.mount=!0,y={...y,...F.formState},ve({...F,formState:{...h,...F.formState}})),Ee=(F,K={})=>{for(const ne of F?ja(F):u.mount)u.mount.delete(ne),u.array.delete(ne),K.keepValue||(Kt(n,ne),Kt(a,ne)),!K.keepError&&Kt(r.errors,ne),!K.keepDirty&&Kt(r.dirtyFields,ne),!K.keepTouched&&Kt(r.touchedFields,ne),!K.keepIsValidating&&Kt(r.validatingFields,ne),!t.shouldUnregister&&!K.keepDefaultValue&&Kt(i,ne);w.state.next({values:er(a)}),w.state.next({...r,...K.keepDirty?{isDirty:W()}:{}}),!K.keepIsValid&&C()},Ne=({disabled:F,name:K})=>{if(ri(F)&&l.mount||F||u.disabled.has(K)){const _e=u.disabled.has(K)!==!!F;F?u.disabled.add(K):u.disabled.delete(K),_e&&l.mount&&!l.action&&C()}},Fe=(F,K={})=>{let ne=Re(n,F);const $e=ri(K.disabled)||ri(t.disabled),_e=!u.registerName.has(F)&&ne&&!ne._f.mount;return wt(n,F,{...ne||{},_f:{...ne&&ne._f?ne._f:{ref:{name:F}},name:F,mount:!0,...K}}),u.mount.add(F),ne&&!_e?Ne({disabled:ri(K.disabled)?K.disabled:t.disabled,name:F}):J(F,!0,K.value),{...$e?{disabled:K.disabled||t.disabled}:{},...t.progressive?{required:!!K.required,min:_a(K.min),max:_a(K.max),minLength:_a(K.minLength),maxLength:_a(K.maxLength),pattern:_a(K.pattern)}:{},name:F,onChange:$,onBlur:$,ref:ye=>{if(ye){u.registerName.add(F),Fe(F,K),u.registerName.delete(F),ne=Re(n,F);const Me=jt(ye.value)&&ye.querySelectorAll&&ye.querySelectorAll("input,select,textarea")[0]||ye,Ve=mU(Me),Ge=ne._f.refs||[];if(Ve?Ge.find(we=>we===Me):Me===ne._f.ref)return;wt(n,F,{_f:{...ne._f,...Ve?{refs:[...Ge.filter(Rd),Me,...Array.isArray(Re(i,F))?[{}]:[]],ref:{type:Me.type,name:F}}:{ref:Me}}}),J(F,!1,void 0,Me)}else ne=Re(n,F,{}),ne._f&&(ne._f.mount=!1),(t.shouldUnregister||K.shouldUnregister)&&!(dU(u.array,F)&&l.action)&&u.unMount.add(F)}}},xe=()=>t.shouldFocusError&&Na(n,k,u.mount),ke=F=>{ri(F)&&(w.state.next({disabled:F}),Na(n,(K,ne)=>{const $e=Re(n,ne);$e&&(K.disabled=$e._f.disabled||F,Array.isArray($e._f.refs)&&$e._f.refs.forEach(_e=>{_e.disabled=$e._f.disabled||F}))},0,!1))},Ye=(F,K)=>async ne=>{let $e;ne&&(ne.preventDefault&&ne.preventDefault(),ne.persist&&ne.persist());let _e=er(a);if(w.state.next({isSubmitting:!0}),t.resolver){const{errors:ye,values:Me}=await ce();O(),r.errors=ye,_e=er(Me)}else await U({fields:n,eventType:ws.SUBMIT});if(u.disabled.size)for(const ye of u.disabled)Kt(_e,ye);if(Kt(r.errors,$7),yr(r.errors)){w.state.next({errors:{}});try{await F(_e,ne)}catch(ye){$e=ye}}else K&&await K({...r.errors},ne),xe(),setTimeout(xe);if(w.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:yr(r.errors)&&!$e,submitCount:r.submitCount+1,errors:r.errors}),$e)throw $e},yt=(F,K={})=>{Re(n,F)&&(jt(K.defaultValue)?ee(F,er(Re(i,F))):(ee(F,K.defaultValue),wt(i,F,er(K.defaultValue))),K.keepTouched||Kt(r.touchedFields,F),K.keepDirty||(Kt(r.dirtyFields,F),r.isDirty=K.defaultValue?W(F,er(Re(i,F))):W()),K.keepError||(Kt(r.errors,F),m.isValid&&C()),w.state.next({...r}))},vt=(F,K={})=>{const ne=F?er(F):i,$e=er(ne),_e=yr(F),ye=_e?i:$e;if(K.keepDefaultValues||(i=ne),!K.keepValues){if(K.keepDirtyValues){const Me=new Set([...u.mount,...Object.keys(Ta(i,a))]);for(const Ve of Array.from(Me)){const Ge=Re(r.dirtyFields,Ve),we=Re(a,Ve),Ie=Re(ye,Ve);Ge&&!jt(we)?wt(ye,Ve,we):!Ge&&!jt(Ie)&&ee(Ve,Ie)}}else{if(Hh&&jt(F))for(const Me of u.mount){const Ve=Re(n,Me);if(Ve&&Ve._f){const Ge=Array.isArray(Ve._f.refs)?Ve._f.refs[0]:Ve._f.ref;if(ec(Ge)){const we=Ge.closest("form");if(we){we.reset();break}}}}if(K.keepFieldsRef)for(const Me of u.mount)ee(Me,Re(ye,Me));else n={}}a=t.shouldUnregister?K.keepDefaultValues?er(i):{}:er(ye),w.array.next({values:{...ye}}),w.state.next({values:{...ye}})}u={mount:K.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!m.isValid||!!K.keepIsValid||!!K.keepDirtyValues||!t.shouldUnregister&&!yr(ye),l.watch=!!t.shouldUnregister,l.keepIsValid=!!K.keepIsValid,l.action=!1,K.keepErrors||(r.errors={}),w.state.next({submitCount:K.keepSubmitCount?r.submitCount:0,isDirty:_e?!1:K.keepDirty?r.isDirty:!!(K.keepDefaultValues&&!Pn(F,i)),isSubmitted:K.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:_e?{}:K.keepDirtyValues?K.keepDefaultValues&&a?Ta(i,a):r.dirtyFields:K.keepDefaultValues&&F?Ta(i,F):K.keepDirty?r.dirtyFields:{},touchedFields:K.keepTouched?r.touchedFields:{},errors:K.keepErrors?r.errors:{},isSubmitSuccessful:K.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},rr=(F,K)=>vt(Dn(F)?F(a):F,{...t.resetOptions,...K}),zr=(F,K={})=>{const ne=Re(n,F),$e=ne&&ne._f;if($e){const _e=$e.refs?$e.refs[0]:$e.ref;_e.focus&&setTimeout(()=>{_e.focus(),K.shouldSelect&&Dn(_e.select)&&_e.select()})}},Wt=F=>{r={...r,...F}},Vr={control:{register:Fe,unregister:Ee,getFieldState:ie,handleSubmit:Ye,setError:z,_subscribe:ve,_runSchema:ce,_updateIsValidating:O,_focusError:xe,_getWatch:re,_getDirty:W,_setValid:C,_setFieldArray:R,_setDisabledField:Ne,_setErrors:I,_getFieldArray:fe,_reset:vt,_resetDefaultValues:()=>Dn(t.defaultValues)&&t.defaultValues().then(F=>{rr(F,t.resetOptions),w.state.next({isLoading:!1})}),_removeUnmounted:Q,_disableForm:ke,_subjects:w,_proxyFormState:m,get _fields(){return n},get _formValues(){return a},get _state(){return l},set _state(F){l=F},get _defaultValues(){return i},get _names(){return u},set _names(F){u=F},get _formState(){return r},get _options(){return t},set _options(F){t={...t,...F}}},subscribe:Se,trigger:B,register:Fe,handleSubmit:Ye,watch:se,setValue:ee,getValues:Y,reset:rr,resetField:yt,clearErrors:le,unregister:Ee,setError:z,setFocus:zr,getFieldState:ie};return{...Vr,formControl:Vr}}function LU(e={}){const t=A.useRef(void 0),r=A.useRef(void 0),[n,i]=A.useState({isDirty:!1,isValidating:!1,isLoading:Dn(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Dn(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!Dn(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...u}=MU(e);t.current={...u,formState:n}}const a=t.current.control;return a._options=e,k7(()=>{const l=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(u=>({...u,isReady:!0})),a._formState.isReady=!0,l},[a]),A.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),A.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),A.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),A.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),A.useEffect(()=>{if(a._proxyFormState.isDirty){const l=a._getDirty();l!==n.isDirty&&a._subjects.state.next({isDirty:l})}},[a,n.isDirty]),A.useEffect(()=>{var l;e.values&&!Pn(e.values,r.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((l=a._options.resetOptions)===null||l===void 0)&&l.keepIsValid||a._setValid(),r.current=e.values,i(u=>({...u}))):a._resetDefaultValues()},[a,e.values]),A.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=A.useMemo(()=>pU(n,a),[a,n]),t.current}const T5=(e,t,r)=>{if(e&&"reportValidity"in e){const n=Re(r,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},I7=(e,t)=>{for(const r in t.fields){const n=t.fields[r];n&&n.ref&&"reportValidity"in n.ref?T5(n.ref,r,e):n.refs&&n.refs.forEach(i=>T5(i,r,e))}},AU=(e,t)=>{t.shouldUseNativeValidation&&I7(e,t);const r={};for(const n in e){const i=Re(t.fields,n),a=Object.assign(e[n]||{},{ref:i&&i.ref});if(RU(t.names||Object.keys(e),n)){const l=Object.assign({},Re(r,n));wt(l,"root",a),wt(r,n,l)}else wt(r,n,a)}return r},RU=(e,t)=>e.some(r=>r.startsWith(t+"."));function DU(e,t,r){return t===void 0&&(t={}),r===void 0&&(r={}),function(n,i,a){try{return Promise.resolve(function(l,u){try{var p=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[r.mode==="sync"?"validateSync":"validate"](n,Object.assign({abortEarly:!1},t,{context:i}))).then(function(g){return a.shouldUseNativeValidation&&I7({},a),{values:r.raw?n:g,errors:{}}}))}catch(g){return u(g)}return p&&p.then?p.then(void 0,u):p}(0,function(l){if(!l.inner)throw l;return{values:{},errors:AU((u=l,p=!a.shouldUseNativeValidation&&a.criteriaMode==="all",(u.inner||[]).reduce(function(g,h){if(g[h.path]||(g[h.path]={message:h.message,type:h.type}),p){var m=g[h.path].types,y=m&&m[h.type];g[h.path]=O7(h.path,p,g,h.type,y?[].concat(y,h.message):h.message)}return g},{})),a)};var u,p}))}catch(l){return Promise.reject(l)}}}const IU=v.div`
4635
4635
  margin-bottom: ${L("m")};
4636
4636
  @media ${({theme:e})=>e.breakpoints2026("M")} {
4637
4637
  margin-bottom: ${L("m")};
package/dist/index.es.js CHANGED
@@ -26235,12 +26235,12 @@ const aq = C.div`
26235
26235
  return /* @__PURE__ */ m("div", { children: /* @__PURE__ */ m(oq, { navItems: !0, ...l, children: /* @__PURE__ */ W(aq, { children: [
26236
26236
  n && /* @__PURE__ */ m(sq, { tag: "p", color: "grey", children: n }),
26237
26237
  /* @__PURE__ */ W(lq, { children: [
26238
- /* @__PURE__ */ m(dq, { children: /* @__PURE__ */ m(P2, { campaign: c }) }),
26239
- /* @__PURE__ */ m(cq, { href: "/", title: `Go to ${r} homepage`, children: /* @__PURE__ */ m(ci, { sizeSm: "48px", sizeMd: "72px", rotate: !1, campaign: r }) })
26238
+ /* @__PURE__ */ m(dq, { children: /* @__PURE__ */ m(P2, { campaign: c, "data-test": "SocialIconsList" }) }),
26239
+ /* @__PURE__ */ m(cq, { href: "/", title: `Go to ${r} homepage`, "data-test": "footer-logo", children: /* @__PURE__ */ m(ci, { sizeSm: "48px", sizeMd: "72px", rotate: !1, campaign: r }) })
26240
26240
  ] }),
26241
26241
  /* @__PURE__ */ m(j6, { navItems: e, overrideallowList: i, ...l }),
26242
26242
  s && /* @__PURE__ */ m(ru, {}),
26243
- /* @__PURE__ */ m(uq, { children: /* @__PURE__ */ m(ve, { tag: "p", color: "grey", size: "s", children: t }) })
26243
+ /* @__PURE__ */ m(uq, { "data-test": "footer-copyright", children: /* @__PURE__ */ m(ve, { tag: "p", color: "grey", size: "s", children: t }) })
26244
26244
  ] }) }) });
26245
26245
  };
26246
26246
  fq.propTypes = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comicrelief/component-library",
3
3
  "author": "Comic Relief Engineering Team",
4
- "version": "8.76.1",
4
+ "version": "8.76.2",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
7
7
  "files": [
@@ -31,10 +31,10 @@ const Footer = ({
31
31
  }
32
32
  <FooterBranding>
33
33
  <SocialIconWrapper>
34
- <SocialIcons campaign={campaignName} />
34
+ <SocialIcons campaign={campaignName} data-test="SocialIconsList" />
35
35
  </SocialIconWrapper>
36
36
 
37
- <Brand href="/" title={`Go to ${campaign} homepage`}>
37
+ <Brand href="/" title={`Go to ${campaign} homepage`} data-test="footer-logo">
38
38
  <Logo sizeSm="48px" sizeMd="72px" rotate={false} campaign={campaign} />
39
39
  </Brand>
40
40
  </FooterBranding>
@@ -42,7 +42,7 @@ const Footer = ({
42
42
 
43
43
  { showFundraisingRegulatorLogo && <FundraisingRegulatorLogo /> }
44
44
 
45
- <FooterCopyright>
45
+ <FooterCopyright data-test="footer-copyright">
46
46
  <Text tag="p" color="grey" size="s">
47
47
  {footerCopy}
48
48
  </Text>
@@ -674,6 +674,7 @@ exports[`renders correctly 1`] = `
674
674
  </div>
675
675
  <a
676
676
  className="c8 c9"
677
+ data-test="footer-logo"
677
678
  href="/"
678
679
  target="_self"
679
680
  title="Go to Comic Relief homepage"
@@ -1220,6 +1221,7 @@ exports[`renders correctly 1`] = `
1220
1221
  </nav>
1221
1222
  <div
1222
1223
  className="c25"
1224
+ data-test="footer-copyright"
1223
1225
  >
1224
1226
  <p
1225
1227
  className="c26"