@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
3 lines (2 loc) • 797 B
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{c as a}from"./3YEM2IPT.js";import{b as l}from"./QUTTHRH3.js";import{g as s,l as u}from"./ZQBZ5QPB.js";var A=()=>l((e,n)=>{let t;function r(){t?.abort()}return n.onLoad(()=>{e.listen("focus",()=>{t=new AbortController,e.el.addEventListener("focusout",r,{signal:t.signal})})}),n.onDisconnected(()=>{e.el.removeEventListener("focusout",r)}),async(c,d)=>{if(e.disabled)return;let o=E(c());if(!o)return;let{target:f,includeContainer:v,strategy:C}=o,i=s(e.el),g=i.activeElement;if(await a(e),!(g!==i.activeElement||t&&!t?.signal.aborted))return e.el.removeEventListener("focus",r),u(f,v,C,e.el,d)}});function m(e){return"target"in e&&("includeContainer"in e||"strategy"in e)}function E(e){if(e)return m(e)?e:{target:e}}export{A as a};