Module 959722

2,195 characters · in 25868.bd058c114912c1de.js
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,r){"use strict";r.d(t,{LE:()=>p,eg:()=>u,lR:()=>f,o1:()=>c,yB:()=>d});var n=r(576024),i=r(654978),o=r(194498),a=r(745391),s=r(20853),l=r(582128);function u(e){return e.nativeEvent=e,e.isDefaultPrevented=()=>e.defaultPrevented,e.isPropagationStopped=()=>e.cancelBubble,e.persist=()=>{},e}function c(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function d(e){let t=(0,l.useRef)({isFocused:!1,observer:null});(0,n.N)(()=>{let e=t.current;return()=>{e.observer&&(e.observer.disconnect(),e.observer=null)}},[]);let r=(0,i.J)(t=>{null==e||e(t)});return(0,l.useCallback)(e=>{if(e.target instanceof HTMLButtonElement||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement){t.current.isFocused=!0;let n=e.target;n.addEventListener("focusout",e=>{t.current.isFocused=!1,n.disabled&&r(u(e)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)},{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&n.disabled){var e;null==(e=t.current.observer)||e.disconnect();let r=n===document.activeElement?null:document.activeElement;n.dispatchEvent(new FocusEvent("blur",{relatedTarget:r})),n.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:r}))}}),t.current.observer.observe(n,{attributes:!0,attributeFilter:["disabled"]})}},[r])}let f=!1;function p(e){for(;e&&!(0,o.t)(e);)e=e.parentElement;let t=(0,a.mD)(e),r=t.document.activeElement;if(!r||r===e)return;f=!0;let n=!1,i=e=>{(e.target===r||n)&&e.stopImmediatePropagation()},l=t=>{(t.target===r||n)&&(t.stopImmediatePropagation(),e||n||(n=!0,(0,s.e)(r),d()))},u=t=>{(t.target===e||n)&&t.stopImmediatePropagation()},c=t=>{(t.target===e||n)&&(t.stopImmediatePropagation(),n||(n=!0,(0,s.e)(r),d()))};t.addEventListener("blur",i,!0),t.addEventListener("focusout",l,!0),t.addEventListener("focusin",c,!0),t.addEventListener("focus",u,!0);let d=()=>{cancelAnimationFrame(p),t.removeEventListener("blur",i,!0),t.removeEventListener("focusout",l,!0),t.removeEventListener("focusin",c,!0),t.removeEventListener("focus",u,!0),f=!1,n=!1},p=requestAnimationFrame(d);return d}}