Alexis Bruneteau bf95f9ab46 feat(complete): deliver Portfolio Host v1.0.0 with comprehensive testing
Complete delivery of Portfolio Host application with:

## Features Implemented
- 8 Launch UI components (Navbar, Hero, FAQ, Footer, Stats, Items)
- Advanced Portfolio Management Dashboard with grid/list views
- User authentication (registration, login, logout)
- Portfolio management (create, upload, deploy, delete)
- Responsive design (mobile-first)
- WCAG 2.1 AA accessibility compliance
- SEO optimization with JSON-LD structured data

## Testing & Quality
- 297 passing tests across 25 test files
- 86%+ code coverage
- Unit tests (API, hooks, validation)
- Component tests (pages, Launch UI)
- Integration tests (complete user flows)
- Accessibility tests (keyboard, screen reader)
- Performance tests (metrics, optimization)
- Deployment tests (infrastructure)

## Infrastructure
- Enhanced CI/CD pipeline with automated testing
- Docker multi-stage build optimization
- Kubernetes deployment ready
- Production environment configuration
- Health checks and monitoring
- Comprehensive deployment documentation

## Documentation
- 2,000+ line deployment guide
- 100+ UAT test scenarios
- Setup instructions
- Troubleshooting guide
- Performance optimization tips

## Timeline
- Target: 17 days
- Actual: 14 days
- Status: 3 days AHEAD OF SCHEDULE

🎉 Project ready for production deployment!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 21:20:52 +02:00

1 line
23 KiB
JavaScript

"use strict";exports.id=334,exports.ids=[334],exports.modules={1980:(a,b,c)=>{c.d(b,{mN:()=>$});var d=c(8301),e=a=>a instanceof Date,f=a=>null==a,g=a=>!f(a)&&!Array.isArray(a)&&"object"==typeof a&&!e(a),h="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function i(a){let b,c=Array.isArray(a),d="undefined"!=typeof FileList&&a instanceof FileList;if(a instanceof Date)b=new Date(a);else if(!(!(h&&(a instanceof Blob||d))&&(c||g(a))))return a;else if(b=c?[]:Object.create(Object.getPrototypeOf(a)),c||(a=>{let b=a.constructor&&a.constructor.prototype;return g(b)&&b.hasOwnProperty("isPrototypeOf")})(a))for(let c in a)a.hasOwnProperty(c)&&(b[c]=i(a[c]));else b=a;return b}var j=a=>/^\w*$/.test(a),k=a=>void 0===a,l=a=>Array.isArray(a)?a.filter(Boolean):[],m=a=>l(a.replace(/["|']|\]/g,"").split(/\.|\[/)),n=(a,b,c)=>{if(!b||!g(a))return c;let d=(j(b)?[b]:m(b)).reduce((a,b)=>f(a)?a:a[b],a);return k(d)||d===a?k(a[b])?c:a[b]:d},o=(a,b,c)=>{let d=-1,e=j(b)?[b]:m(b),f=e.length,h=f-1;for(;++d<f;){let b=e[d],f=c;if(d!==h){let c=a[b];f=g(c)||Array.isArray(c)?c:isNaN(+e[d+1])?{}:[]}if("__proto__"===b||"constructor"===b||"prototype"===b)return;a[b]=f,a=a[b]}};let p={BLUR:"blur",FOCUS_OUT:"focusout"},q={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},r={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"};d.createContext(null).displayName="HookFormContext";let s="undefined"!=typeof window?d.useLayoutEffect:d.useEffect;var t=a=>"string"==typeof a,u=a=>f(a)||"object"!=typeof a;function v(a,b,c=new WeakSet){if(u(a)||u(b))return a===b;if(e(a)&&e(b))return a.getTime()===b.getTime();let d=Object.keys(a),f=Object.keys(b);if(d.length!==f.length)return!1;if(c.has(a)||c.has(b))return!0;for(let h of(c.add(a),c.add(b),d)){let d=a[h];if(!f.includes(h))return!1;if("ref"!==h){let a=b[h];if(e(d)&&e(a)||g(d)&&g(a)||Array.isArray(d)&&Array.isArray(a)?!v(d,a,c):d!==a)return!1}}return!0}var w=(a,b,c,d,e)=>b?{...c[a],types:{...c[a]&&c[a].types?c[a].types:{},[d]:e||!0}}:{},x=a=>Array.isArray(a)?a:[a],y=()=>{let a=[];return{get observers(){return a},next:b=>{for(let c of a)c.next&&c.next(b)},subscribe:b=>(a.push(b),{unsubscribe:()=>{a=a.filter(a=>a!==b)}}),unsubscribe:()=>{a=[]}}},z=a=>g(a)&&!Object.keys(a).length,A=a=>"function"==typeof a,B=a=>{if(!h)return!1;let b=a?a.ownerDocument:0;return a instanceof(b&&b.defaultView?b.defaultView.HTMLElement:HTMLElement)},C=a=>B(a)&&a.isConnected;function D(a,b){let c=Array.isArray(b)?b:j(b)?[b]:m(b),d=1===c.length?a:function(a,b){let c=b.slice(0,-1).length,d=0;for(;d<c;)a=k(a)?d++:a[b[d++]];return a}(a,c),e=c.length-1,f=c[e];return d&&delete d[f],0!==e&&(g(d)&&z(d)||Array.isArray(d)&&function(a){for(let b in a)if(a.hasOwnProperty(b)&&!k(a[b]))return!1;return!0}(d))&&D(a,c.slice(0,-1)),a}function E(a){return Array.isArray(a)||g(a)&&!(a=>{for(let b in a)if(A(a[b]))return!0;return!1})(a)}function F(a,b={}){for(let c in a)E(a[c])?(b[c]=Array.isArray(a[c])?[]:{},F(a[c],b[c])):k(a[c])||(b[c]=!0);return b}function G(a,b,c){for(let d in c||(c=F(b)),a)E(a[d])?k(b)||u(c[d])?c[d]=F(a[d],Array.isArray(a[d])?[]:{}):G(a[d],f(b)?{}:b[d],c[d]):c[d]=!v(a[d],b[d]);return c}let H={value:!1,isValid:!1},I={value:!0,isValid:!0};var J=a=>{if(Array.isArray(a)){if(a.length>1){let b=a.filter(a=>a&&a.checked&&!a.disabled).map(a=>a.value);return{value:b,isValid:!!b.length}}return a[0].checked&&!a[0].disabled?a[0].attributes&&!k(a[0].attributes.value)?k(a[0].value)||""===a[0].value?I:{value:a[0].value,isValid:!0}:I:H}return H},K=(a,{valueAsNumber:b,valueAsDate:c,setValueAs:d})=>k(a)?a:b?""===a?NaN:a?+a:a:c&&t(a)?new Date(a):d?d(a):a;let L={isValid:!1,value:null};var M=a=>Array.isArray(a)?a.reduce((a,b)=>b&&b.checked&&!b.disabled?{isValid:!0,value:b.value}:a,L):L;function N(a){let b=a.ref;return"file"===b.type?b.files:"radio"===b.type?M(a.refs).value:"select-multiple"===b.type?[...b.selectedOptions].map(({value:a})=>a):"checkbox"===b.type?J(a.refs).value:K(k(b.value)?a.ref.value:b.value,a)}var O=a=>k(a)?a:a instanceof RegExp?a.source:g(a)?a.value instanceof RegExp?a.value.source:a.value:a,P=a=>({isOnSubmit:!a||a===q.onSubmit,isOnBlur:a===q.onBlur,isOnChange:a===q.onChange,isOnAll:a===q.all,isOnTouch:a===q.onTouched});let Q="AsyncFunction";var R=a=>!!a&&!!a.validate&&!!(A(a.validate)&&a.validate.constructor.name===Q||g(a.validate)&&Object.values(a.validate).find(a=>a.constructor.name===Q)),S=(a,b,c)=>!c&&(b.watchAll||b.watch.has(a)||[...b.watch].some(b=>a.startsWith(b)&&/^\.\w+/.test(a.slice(b.length))));let T=(a,b,c,d)=>{for(let e of c||Object.keys(a)){let c=n(a,e);if(c){let{_f:a,...f}=c;if(a){if(a.refs&&a.refs[0]&&b(a.refs[0],e)&&!d)return!0;else if(a.ref&&b(a.ref,a.name)&&!d)return!0;else if(T(f,b))break}else if(g(f)&&T(f,b))break}}};function U(a,b,c){let d=n(a,c);if(d||j(c))return{error:d,name:c};let e=c.split(".");for(;e.length;){let d=e.join("."),f=n(b,d),g=n(a,d);if(f&&!Array.isArray(f)&&c!==d)break;if(g&&g.type)return{name:d,error:g};if(g&&g.root&&g.root.type)return{name:`${d}.root`,error:g.root};e.pop()}return{name:c}}var V=(a,b,c)=>{let d=x(n(a,c));return o(d,"root",b[c]),o(a,c,d),a};function W(a,b,c="validate"){if(t(a)||Array.isArray(a)&&a.every(t)||"boolean"==typeof a&&!a)return{type:c,message:t(a)?a:"",ref:b}}var X=a=>!g(a)||a instanceof RegExp?{value:a,message:""}:a,Y=async(a,b,c,d,e,h)=>{let{ref:i,refs:j,required:l,maxLength:m,minLength:o,min:p,max:q,pattern:s,validate:u,name:v,valueAsNumber:x,mount:y}=a._f,C=n(c,v);if(!y||b.has(v))return{};let D=j?j[0]:i,E=a=>{e&&D.reportValidity&&(D.setCustomValidity("boolean"==typeof a?"":a||""),D.reportValidity())},F={},G="radio"===i.type,H="checkbox"===i.type,I=(x||"file"===i.type)&&k(i.value)&&k(C)||B(i)&&""===i.value||""===C||Array.isArray(C)&&!C.length,K=w.bind(null,v,d,F),L=(a,b,c,d=r.maxLength,e=r.minLength)=>{let f=a?b:c;F[v]={type:a?d:e,message:f,ref:i,...K(a?d:e,f)}};if(h?!Array.isArray(C)||!C.length:l&&(!(G||H)&&(I||f(C))||"boolean"==typeof C&&!C||H&&!J(j).isValid||G&&!M(j).isValid)){let{value:a,message:b}=t(l)?{value:!!l,message:l}:X(l);if(a&&(F[v]={type:r.required,message:b,ref:D,...K(r.required,b)},!d))return E(b),F}if(!I&&(!f(p)||!f(q))){let a,b,c=X(q),e=X(p);if(f(C)||isNaN(C)){let d=i.valueAsDate||new Date(C),f=a=>new Date(new Date().toDateString()+" "+a),g="time"==i.type,h="week"==i.type;t(c.value)&&C&&(a=g?f(C)>f(c.value):h?C>c.value:d>new Date(c.value)),t(e.value)&&C&&(b=g?f(C)<f(e.value):h?C<e.value:d<new Date(e.value))}else{let d=i.valueAsNumber||(C?+C:C);f(c.value)||(a=d>c.value),f(e.value)||(b=d<e.value)}if((a||b)&&(L(!!a,c.message,e.message,r.max,r.min),!d))return E(F[v].message),F}if((m||o)&&!I&&(t(C)||h&&Array.isArray(C))){let a=X(m),b=X(o),c=!f(a.value)&&C.length>+a.value,e=!f(b.value)&&C.length<+b.value;if((c||e)&&(L(c,a.message,b.message),!d))return E(F[v].message),F}if(s&&!I&&t(C)){let{value:a,message:b}=X(s);if(a instanceof RegExp&&!C.match(a)&&(F[v]={type:r.pattern,message:b,ref:i,...K(r.pattern,b)},!d))return E(b),F}if(u){if(A(u)){let a=W(await u(C,c),D);if(a&&(F[v]={...a,...K(r.validate,a.message)},!d))return E(a.message),F}else if(g(u)){let a={};for(let b in u){if(!z(a)&&!d)break;let e=W(await u[b](C,c),D,b);e&&(a={...e,...K(b,e.message)},E(e.message),d&&(F[v]=a))}if(!z(a)&&(F[v]={ref:D,...a},!d))return F}}return E(!0),F};let Z={mode:q.onSubmit,reValidateMode:q.onChange,shouldFocusError:!0};function $(a={}){let b=d.useRef(void 0),c=d.useRef(void 0),[j,m]=d.useState({isDirty:!1,isValidating:!1,isLoading:A(a.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:a.errors||{},disabled:a.disabled||!1,isReady:!1,defaultValues:A(a.defaultValues)?void 0:a.defaultValues});if(!b.current)if(a.formControl)b.current={...a.formControl,formState:j},a.defaultValues&&!A(a.defaultValues)&&a.formControl.reset(a.defaultValues,a.resetOptions);else{let{formControl:c,...d}=function(a={}){let b,c={...Z,...a},d={submitCount:0,isDirty:!1,isReady:!1,isLoading:A(c.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:c.errors||{},disabled:c.disabled||!1},j={},m=(g(c.defaultValues)||g(c.values))&&i(c.defaultValues||c.values)||{},r=c.shouldUnregister?{}:i(m),s={action:!1,mount:!1,watch:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},w=0,E={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={...E},H={array:y(),state:y()},I=c.criteriaMode===q.all,J=async a=>{if(!c.disabled&&(E.isValid||F.isValid||a)){let a=c.resolver?z((await W()).errors):await $(j,!0);a!==d.isValid&&H.state.next({isValid:a})}},L=(a,b)=>{!c.disabled&&(E.isValidating||E.validatingFields||F.isValidating||F.validatingFields)&&((a||Array.from(u.mount)).forEach(a=>{a&&(b?o(d.validatingFields,a,b):D(d.validatingFields,a))}),H.state.next({validatingFields:d.validatingFields,isValidating:!z(d.validatingFields)}))},M=(a,b,c,d)=>{let e=n(j,a);if(e){let f=n(r,a,k(c)?n(m,a):c);k(f)||d&&d.defaultChecked||b?o(r,a,b?f:N(e._f)):ab(a,f),s.mount&&J()}},Q=(a,b,e,f,g)=>{let h=!1,i=!1,j={name:a};if(!c.disabled){if(!e||f){(E.isDirty||F.isDirty)&&(i=d.isDirty,d.isDirty=j.isDirty=_(),h=i!==j.isDirty);let c=v(n(m,a),b);i=!!n(d.dirtyFields,a),c?D(d.dirtyFields,a):o(d.dirtyFields,a,!0),j.dirtyFields=d.dirtyFields,h=h||(E.dirtyFields||F.dirtyFields)&&!c!==i}if(e){let b=n(d.touchedFields,a);b||(o(d.touchedFields,a,e),j.touchedFields=d.touchedFields,h=h||(E.touchedFields||F.touchedFields)&&b!==e)}h&&g&&H.state.next(j)}return h?j:{}},W=async a=>{L(a,!0);let b=await c.resolver(r,c.context,((a,b,c,d)=>{let e={};for(let c of a){let a=n(b,c);a&&o(e,c,a._f)}return{criteriaMode:c,names:[...a],fields:e,shouldUseNativeValidation:d}})(a||u.mount,j,c.criteriaMode,c.shouldUseNativeValidation));return L(a),b},X=async a=>{let{errors:b}=await W(a);if(a)for(let c of a){let a=n(b,c);a?o(d.errors,c,a):D(d.errors,c)}else d.errors=b;return b},$=async(a,b,e={valid:!0})=>{for(let f in a){let g=a[f];if(g){let{_f:a,...f}=g;if(a){let f=u.array.has(a.name),h=g._f&&R(g._f);h&&E.validatingFields&&L([a.name],!0);let i=await Y(g,u.disabled,r,I,c.shouldUseNativeValidation&&!b,f);if(h&&E.validatingFields&&L([a.name]),i[a.name]&&(e.valid=!1,b))break;b||(n(i,a.name)?f?V(d.errors,i,a.name):o(d.errors,a.name,i[a.name]):D(d.errors,a.name))}z(f)||await $(f,b,e)}}return e.valid},_=(a,b)=>!c.disabled&&(a&&b&&o(r,a,b),!v(ah(),m)),aa=(a,b,c)=>{var d,e;return d=u,e={...s.mount?r:k(b)?m:t(a)?{[a]:b}:b},t(a)?(c&&d.watch.add(a),n(e,a,b)):Array.isArray(a)?a.map(a=>(c&&d.watch.add(a),n(e,a))):(c&&(d.watchAll=!0),e)},ab=(a,b,c={})=>{let d=n(j,a),e=b;if(d){let c=d._f;c&&(c.disabled||o(r,a,K(b,c)),e=B(c.ref)&&f(b)?"":b,"select-multiple"===c.ref.type?[...c.ref.options].forEach(a=>a.selected=e.includes(a.value)):c.refs?"checkbox"===c.ref.type?c.refs.forEach(a=>{a.defaultChecked&&a.disabled||(Array.isArray(e)?a.checked=!!e.find(b=>b===a.value):a.checked=e===a.value||!!e)}):c.refs.forEach(a=>a.checked=a.value===e):"file"===c.ref.type?c.ref.value="":(c.ref.value=e,c.ref.type||H.state.next({name:a,values:i(r)})))}(c.shouldDirty||c.shouldTouch)&&Q(a,e,c.shouldTouch,c.shouldDirty,!0),c.shouldValidate&&ag(a)},ac=(a,b,c)=>{for(let d in b){if(!b.hasOwnProperty(d))return;let f=b[d],h=a+"."+d,i=n(j,h);(u.array.has(a)||g(f)||i&&!i._f)&&!e(f)?ac(h,f,c):ab(h,f,c)}},ad=(a,b,c={})=>{let e=n(j,a),g=u.array.has(a),h=i(b);o(r,a,h),g?(H.array.next({name:a,values:i(r)}),(E.isDirty||E.dirtyFields||F.isDirty||F.dirtyFields)&&c.shouldDirty&&H.state.next({name:a,dirtyFields:G(m,r),isDirty:_(a,h)})):!e||e._f||f(h)?ab(a,h,c):ac(a,h,c),S(a,u)&&H.state.next({...d,name:a}),H.state.next({name:s.mount?a:void 0,values:i(r)})},ae=async a=>{s.mount=!0;let f=a.target,h=f.name,k=!0,l=n(j,h),m=a=>{k=Number.isNaN(a)||e(a)&&isNaN(a.getTime())||v(a,n(r,h,a))},q=P(c.mode),t=P(c.reValidateMode);if(l){let e,s,O,P,R=f.type?N(l._f):g(P=a)&&P.target?"checkbox"===P.target.type?P.target.checked:P.target.value:P,T=a.type===p.BLUR||a.type===p.FOCUS_OUT,V=!((O=l._f).mount&&(O.required||O.min||O.max||O.maxLength||O.minLength||O.pattern||O.validate))&&!c.resolver&&!n(d.errors,h)&&!l._f.deps||(x=T,y=n(d.touchedFields,h),A=d.isSubmitted,B=t,!(C=q).isOnAll&&(!A&&C.isOnTouch?!(y||x):(A?B.isOnBlur:C.isOnBlur)?!x:(A?!B.isOnChange:!C.isOnChange)||x)),X=S(h,u,T);o(r,h,R),T?f&&f.readOnly||(l._f.onBlur&&l._f.onBlur(a),b&&b(0)):l._f.onChange&&l._f.onChange(a);let Z=Q(h,R,T),_=!z(Z)||X;if(T||H.state.next({name:h,type:a.type,values:i(r)}),V)return(E.isValid||F.isValid)&&("onBlur"===c.mode?T&&J():T||J()),_&&H.state.next({name:h,...X?{}:Z});if(!T&&X&&H.state.next({...d}),c.resolver){let{errors:a}=await W([h]);if(m(R),k){let b=U(d.errors,j,h),c=U(a,j,b.name||h);e=c.error,h=c.name,s=z(a)}}else L([h],!0),e=(await Y(l,u.disabled,r,I,c.shouldUseNativeValidation))[h],L([h]),m(R),k&&(e?s=!1:(E.isValid||F.isValid)&&(s=await $(j,!0)));if(k){l._f.deps&&(!Array.isArray(l._f.deps)||l._f.deps.length>0)&&ag(l._f.deps);var x,y,A,B,C,G=h,K=s,M=e;let a=n(d.errors,G),f=(E.isValid||F.isValid)&&"boolean"==typeof K&&d.isValid!==K;if(c.delayError&&M){let a;a=()=>{o(d.errors,G,M),H.state.next({errors:d.errors})},(b=b=>{clearTimeout(w),w=setTimeout(a,b)})(c.delayError)}else clearTimeout(w),b=null,M?o(d.errors,G,M):D(d.errors,G);if((M?!v(a,M):a)||!z(Z)||f){let a={...Z,...f&&"boolean"==typeof K?{isValid:K}:{},errors:d.errors,name:G};d={...d,...a},H.state.next(a)}}}},af=(a,b)=>{if(n(d.errors,b)&&a.focus)return a.focus(),1},ag=async(a,b={})=>{let e,f,g=x(a);if(c.resolver){let b=await X(k(a)?a:g);e=z(b),f=a?!g.some(a=>n(b,a)):e}else a?((f=(await Promise.all(g.map(async a=>{let b=n(j,a);return await $(b&&b._f?{[a]:b}:b)}))).every(Boolean))||d.isValid)&&J():f=e=await $(j);return H.state.next({...!t(a)||(E.isValid||F.isValid)&&e!==d.isValid?{}:{name:a},...c.resolver||!a?{isValid:e}:{},errors:d.errors}),b.shouldFocus&&!f&&T(j,af,a?g:u.mount),f},ah=(a,b)=>{let c={...s.mount?r:m};return b&&(c=function a(b,c){let d={};for(let e in b)if(b.hasOwnProperty(e)){let f=b[e],h=c[e];if(f&&g(f)&&h){let b=a(f,h);g(b)&&(d[e]=b)}else b[e]&&(d[e]=h)}return d}(b.dirtyFields?d.dirtyFields:d.touchedFields,c)),k(a)?c:t(a)?n(c,a):a.map(a=>n(c,a))},ai=(a,b)=>({invalid:!!n((b||d).errors,a),isDirty:!!n((b||d).dirtyFields,a),error:n((b||d).errors,a),isValidating:!!n(d.validatingFields,a),isTouched:!!n((b||d).touchedFields,a)}),aj=(a,b,c)=>{let e=(n(j,a,{_f:{}})._f||{}).ref,{ref:f,message:g,type:h,...i}=n(d.errors,a)||{};o(d.errors,a,{...i,...b,ref:e}),H.state.next({name:a,errors:d.errors,isValid:!1}),c&&c.shouldFocus&&e&&e.focus&&e.focus()},ak=a=>H.state.subscribe({next:b=>{let c,e,f;c=a.name,e=b.name,f=a.exact,(!c||!e||c===e||x(c).some(a=>a&&(f?a===e:a.startsWith(e)||e.startsWith(a))))&&((a,b,c,d)=>{c(a);let{name:e,...f}=a;return z(f)||Object.keys(f).length>=Object.keys(b).length||Object.keys(f).find(a=>b[a]===(!d||q.all))})(b,a.formState||E,as,a.reRenderRoot)&&a.callback({values:{...r},...d,...b,defaultValues:m})}}).unsubscribe,al=(a,b={})=>{for(let e of a?x(a):u.mount)u.mount.delete(e),u.array.delete(e),b.keepValue||(D(j,e),D(r,e)),b.keepError||D(d.errors,e),b.keepDirty||D(d.dirtyFields,e),b.keepTouched||D(d.touchedFields,e),b.keepIsValidating||D(d.validatingFields,e),c.shouldUnregister||b.keepDefaultValue||D(m,e);H.state.next({values:i(r)}),H.state.next({...d,...!b.keepDirty?{}:{isDirty:_()}}),b.keepIsValid||J()},am=({disabled:a,name:b})=>{("boolean"==typeof a&&s.mount||a||u.disabled.has(b))&&(a?u.disabled.add(b):u.disabled.delete(b))},an=(a,b={})=>{let d=n(j,a),e="boolean"==typeof b.disabled||"boolean"==typeof c.disabled;return(o(j,a,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:a}},name:a,mount:!0,...b}}),u.mount.add(a),d)?am({disabled:"boolean"==typeof b.disabled?b.disabled:c.disabled,name:a}):M(a,!0,b.value),{...e?{disabled:b.disabled||c.disabled}:{},...c.progressive?{required:!!b.required,min:O(b.min),max:O(b.max),minLength:O(b.minLength),maxLength:O(b.maxLength),pattern:O(b.pattern)}:{},name:a,onChange:ae,onBlur:ae,ref:e=>{if(e){let c;an(a,b),d=n(j,a);let f=k(e.value)&&e.querySelectorAll&&e.querySelectorAll("input,select,textarea")[0]||e,g="radio"===(c=f).type||"checkbox"===c.type,h=d._f.refs||[];(g?h.find(a=>a===f):f===d._f.ref)||(o(j,a,{_f:{...d._f,...g?{refs:[...h.filter(C),f,...Array.isArray(n(m,a))?[{}]:[]],ref:{type:f.type,name:a}}:{ref:f}}}),M(a,!1,void 0,f))}else{let e;(d=n(j,a,{}))._f&&(d._f.mount=!1),(c.shouldUnregister||b.shouldUnregister)&&(e=u.array,!e.has(a.substring(0,a.search(/\.\d+(\.|$)/))||a)||!s.action)&&u.unMount.add(a)}}}},ao=()=>c.shouldFocusError&&T(j,af,u.mount),ap=(a,b)=>async e=>{let f;e&&(e.preventDefault&&e.preventDefault(),e.persist&&e.persist());let g=i(r);if(H.state.next({isSubmitting:!0}),c.resolver){let{errors:a,values:b}=await W();d.errors=a,g=i(b)}else await $(j);if(u.disabled.size)for(let a of u.disabled)D(g,a);if(D(d.errors,"root"),z(d.errors)){H.state.next({errors:{}});try{await a(g,e)}catch(a){f=a}}else b&&await b({...d.errors},e),ao(),setTimeout(ao);if(H.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:z(d.errors)&&!f,submitCount:d.submitCount+1,errors:d.errors}),f)throw f},aq=(a,b={})=>{let e=a?i(a):m,f=i(e),g=z(a),l=g?m:f;if(b.keepDefaultValues||(m=e),!b.keepValues){if(b.keepDirtyValues)for(let a of Array.from(new Set([...u.mount,...Object.keys(G(m,r))])))n(d.dirtyFields,a)?o(l,a,n(r,a)):ad(a,n(l,a));else{if(h&&k(a))for(let a of u.mount){let b=n(j,a);if(b&&b._f){let a=Array.isArray(b._f.refs)?b._f.refs[0]:b._f.ref;if(B(a)){let b=a.closest("form");if(b){b.reset();break}}}}if(b.keepFieldsRef)for(let a of u.mount)ad(a,n(l,a));else j={}}r=c.shouldUnregister?b.keepDefaultValues?i(m):{}:i(l),H.array.next({values:{...l}}),H.state.next({values:{...l}})}u={mount:b.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!E.isValid||!!b.keepIsValid||!!b.keepDirtyValues,s.watch=!!c.shouldUnregister,H.state.next({submitCount:b.keepSubmitCount?d.submitCount:0,isDirty:!g&&(b.keepDirty?d.isDirty:!!(b.keepDefaultValues&&!v(a,m))),isSubmitted:!!b.keepIsSubmitted&&d.isSubmitted,dirtyFields:g?{}:b.keepDirtyValues?b.keepDefaultValues&&r?G(m,r):d.dirtyFields:b.keepDefaultValues&&a?G(m,a):b.keepDirty?d.dirtyFields:{},touchedFields:b.keepTouched?d.touchedFields:{},errors:b.keepErrors?d.errors:{},isSubmitSuccessful:!!b.keepIsSubmitSuccessful&&d.isSubmitSuccessful,isSubmitting:!1,defaultValues:m})},ar=(a,b)=>aq(A(a)?a(r):a,b),as=a=>{d={...d,...a}},at={control:{register:an,unregister:al,getFieldState:ai,handleSubmit:ap,setError:aj,_subscribe:ak,_runSchema:W,_focusError:ao,_getWatch:aa,_getDirty:_,_setValid:J,_setFieldArray:(a,b=[],e,f,g=!0,h=!0)=>{if(f&&e&&!c.disabled){if(s.action=!0,h&&Array.isArray(n(j,a))){let b=e(n(j,a),f.argA,f.argB);g&&o(j,a,b)}if(h&&Array.isArray(n(d.errors,a))){let b,c=e(n(d.errors,a),f.argA,f.argB);g&&o(d.errors,a,c),l(n(b=d.errors,a)).length||D(b,a)}if((E.touchedFields||F.touchedFields)&&h&&Array.isArray(n(d.touchedFields,a))){let b=e(n(d.touchedFields,a),f.argA,f.argB);g&&o(d.touchedFields,a,b)}(E.dirtyFields||F.dirtyFields)&&(d.dirtyFields=G(m,r)),H.state.next({name:a,isDirty:_(a,b),dirtyFields:d.dirtyFields,errors:d.errors,isValid:d.isValid})}else o(r,a,b)},_setDisabledField:am,_setErrors:a=>{d.errors=a,H.state.next({errors:d.errors,isValid:!1})},_getFieldArray:a=>l(n(s.mount?r:m,a,c.shouldUnregister?n(m,a,[]):[])),_reset:aq,_resetDefaultValues:()=>A(c.defaultValues)&&c.defaultValues().then(a=>{ar(a,c.resetOptions),H.state.next({isLoading:!1})}),_removeUnmounted:()=>{for(let a of u.unMount){let b=n(j,a);b&&(b._f.refs?b._f.refs.every(a=>!C(a)):!C(b._f.ref))&&al(a)}u.unMount=new Set},_disableForm:a=>{"boolean"==typeof a&&(H.state.next({disabled:a}),T(j,(b,c)=>{let d=n(j,c);d&&(b.disabled=d._f.disabled||a,Array.isArray(d._f.refs)&&d._f.refs.forEach(b=>{b.disabled=d._f.disabled||a}))},0,!1))},_subjects:H,_proxyFormState:E,get _fields(){return j},get _formValues(){return r},get _state(){return s},set _state(value){s=value},get _defaultValues(){return m},get _names(){return u},set _names(value){u=value},get _formState(){return d},get _options(){return c},set _options(value){c={...c,...value}}},subscribe:a=>(s.mount=!0,F={...F,...a.formState},ak({...a,formState:F})),trigger:ag,register:an,handleSubmit:ap,watch:(a,b)=>A(a)?H.state.subscribe({next:c=>"values"in c&&a(aa(void 0,b),c)}):aa(a,b,!0),setValue:ad,getValues:ah,reset:ar,resetField:(a,b={})=>{n(j,a)&&(k(b.defaultValue)?ad(a,i(n(m,a))):(ad(a,b.defaultValue),o(m,a,i(b.defaultValue))),b.keepTouched||D(d.touchedFields,a),b.keepDirty||(D(d.dirtyFields,a),d.isDirty=b.defaultValue?_(a,i(n(m,a))):_()),!b.keepError&&(D(d.errors,a),E.isValid&&J()),H.state.next({...d}))},clearErrors:a=>{a&&x(a).forEach(a=>D(d.errors,a)),H.state.next({errors:a?d.errors:{}})},unregister:al,setError:aj,setFocus:(a,b={})=>{let c=n(j,a),d=c&&c._f;if(d){let a=d.refs?d.refs[0]:d.ref;a.focus&&(a.focus(),b.shouldSelect&&A(a.select)&&a.select())}},getFieldState:ai};return{...at,formControl:at}}(a);b.current={...d,formState:j}}let r=b.current.control;return r._options=a,s(()=>{let a=r._subscribe({formState:r._proxyFormState,callback:()=>m({...r._formState}),reRenderRoot:!0});return m(a=>({...a,isReady:!0})),r._formState.isReady=!0,a},[r]),d.useEffect(()=>r._disableForm(a.disabled),[r,a.disabled]),d.useEffect(()=>{a.mode&&(r._options.mode=a.mode),a.reValidateMode&&(r._options.reValidateMode=a.reValidateMode)},[r,a.mode,a.reValidateMode]),d.useEffect(()=>{a.errors&&(r._setErrors(a.errors),r._focusError())},[r,a.errors]),d.useEffect(()=>{a.shouldUnregister&&r._subjects.state.next({values:r._getWatch()})},[r,a.shouldUnregister]),d.useEffect(()=>{if(r._proxyFormState.isDirty){let a=r._getDirty();a!==j.isDirty&&r._subjects.state.next({isDirty:a})}},[r,j.isDirty]),d.useEffect(()=>{a.values&&!v(a.values,c.current)?(r._reset(a.values,{keepFieldsRef:!0,...r._options.resetOptions}),c.current=a.values,m(a=>({...a}))):r._resetDefaultValues()},[r,a.values]),d.useEffect(()=>{r._state.mount||(r._setValid(),r._state.mount=!0),r._state.watch&&(r._state.watch=!1,r._subjects.state.next({...r._formState})),r._removeUnmounted()}),b.current.formState=((a,b,c,d=!0)=>{let e={defaultValues:b._defaultValues};for(let c in a)Object.defineProperty(e,c,{get:()=>(b._proxyFormState[c]!==q.all&&(b._proxyFormState[c]=!d||q.all),a[c])});return e})(j,r),b.current}},2380:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(3339).A)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},3368:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(3339).A)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])}};