Module 96441

1,919 characters · in no known chunk
Dependencies
Required by (3)
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{X:()=>o});var r=n(885714),i=n(64700),s=n(3388),a=n(959462);function o(e,t,n){let{validationBehavior:o,focus:l}=e;(0,s.N)(()=>{if("native"===o&&(null==n?void 0:n.current)&&!n.current.disabled){let e=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(" ")||"Invalid value.":"";n.current.setCustomValidity(e),n.current.hasAttribute("title")||(n.current.title=""),t.realtimeValidation.isInvalid||t.updateValidation(u(n.current))}});let d=(0,i.useRef)(!1),_=(0,a.J)(()=>{d.current||t.resetValidation()}),f=(0,a.J)(e=>{var i,s;t.displayValidation.isInvalid||t.commitValidation();let a=null==n||null==(i=n.current)?void 0:i.form;!e.defaultPrevented&&n&&a&&c(a)===n.current&&(l?l():null==(s=n.current)||s.focus(),(0,r.Cl)("keyboard")),e.preventDefault()}),p=(0,a.J)(()=>{t.commitValidation()});(0,i.useEffect)(()=>{let e=null==n?void 0:n.current;if(!e)return;let t=e.form,r=null==t?void 0:t.reset;return t&&(t.reset=()=>{d.current=!window.event||"message"===window.event.type&&window.event.target instanceof MessagePort,null==r||r.call(t),d.current=!1}),e.addEventListener("invalid",f),e.addEventListener("change",p),null==t||t.addEventListener("reset",_),()=>{e.removeEventListener("invalid",f),e.removeEventListener("change",p),null==t||t.removeEventListener("reset",_),t&&(t.reset=r)}},[n,f,p,_,o])}function l(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function u(e){return{isInvalid:!e.validity.valid,validationDetails:l(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function c(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(!n.validity.valid)return n}return null}}