/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as n}from"./GVPG6GL6.js";import{a as o}from"./TLYY3J5P.js";import"./WGGFNK4Z.js";import"./EH5Y2TRK.js";import"./UANLRLKZ.js";import"./DVG3NA3H.js";import"./OAOQ5BXS.js";import{G as r,S as c,g as s,h as a,p as i}from"./PGOMURMZ.js";var u=s`:host{display:contents}:host([hidden]){display:none}[hidden]{display:none}`,e=class extends r{constructor(){super(...arguments),this._active=!1,this.focusSetter=o()(this),this.focusTrapController=n({focusTrapOptions:{onActivate:()=>{this.setActive(!0)},onDeactivate:()=>{this.setActive(!1)}}})(this),this.focusTrapDisabled=!1,this.calciteFocusTrapActiveChange=i({cancelable:!1})}static{this.properties={focusTrapDisabled:[7,{},{reflect:!0,type:Boolean}],active:[32,{},{attribute:!1,readOnly:!0}],focusTrapDisabledOverride:[0,{},{attribute:!1}],focusTrapOptions:[0,{},{attribute:!1}]}}static{this.styles=u}get active(){return this._active}async activate(){this.focusTrapController.activate()}async deactivate(){this.focusTrapController.deactivate()}async setFocus(t){return this.focusSetter(()=>this.el,t)}async updateFocusTrapElements(t){this.focusTrapController.setExtraContainers(t),this.focusTrapController.updateContainerElements()}setActive(t){let l=this._active;this._active=t,this.requestUpdate("active",l),this.calciteFocusTrapActiveChange.emit()}render(){return a`<slot></slot>`}};c("calcite-focus-trap",e);export{e as FocusTrap};
