/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import{a as E}from"./chunk.7XFU2W25.js";import{a as v}from"./chunk.UWYANU5D.js";import{a as o}from"./chunk.KTGSZEAG.js";import{g as m,l as h}from"./chunk.LJLEPTLU.js";import{f as l,g as _}from"./chunk.4LA6HEA7.js";import{b as p,k as c}from"./chunk.J2M2MXP2.js";import{f as s}from"./chunk.MCIQXNKY.js";var f={OPEN:"open",DIRECTION:"direction"},D={DRAWER:"forge-drawer",LEFT:"forge-drawer--left",RIGHT:"forge-drawer--right",CLOSING:"forge-drawer--closing",CLOSED:"forge-drawer--closed",NO_TRANSITION:"forge-drawer--no-transition"},w={DRAWER:`.${D.DRAWER}`},b={AFTER_OPEN:"forge-drawer-after-open",AFTER_CLOSE:"forge-drawer-after-close"},e={attributes:f,classes:D,selectors:w,events:b};var u=class extends v{constructor(t){super(t);this._component=t;this._drawerElement=m(this._component,e.selectors.DRAWER)}proxyScrollEvent(){this.tryUnproxyScrollEvent(),this._unproxyScrollEventCb=E(this._component.shadowRoot,this._component)}tryUnproxyScrollEvent(){this._unproxyScrollEventCb&&this._unproxyScrollEventCb()}setDirection(t){switch(t){case"left":this._drawerElement.classList.remove(e.classes.RIGHT),this._drawerElement.classList.add(e.classes.LEFT);break;case"right":this._drawerElement.classList.remove(e.classes.LEFT),this._drawerElement.classList.add(e.classes.RIGHT);break}}removeDrawerClass(t){_(t,this._drawerElement)}setDrawerClass(t){l(t,this._drawerElement)}listenTransitionComplete(t){this._activeTransitionListener&&this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=a=>{a.propertyName==="transform"&&(this._activeTransitionListener&&(this._drawerElement.removeEventListener("transitionend",this._activeTransitionListener),this._activeTransitionListener=void 0),t())},this._drawerElement.addEventListener("transitionend",this._activeTransitionListener)}};var C=class{constructor(r){this._adapter=r;this._open=!0;this._direction="left";this._hasInitialized=!1;this._openAnimationListener=()=>this._onOpenComplete(),this._closeAnimationListener=()=>this._onCloseComplete()}connect(){this._open?this._setOpened():this._setClosed(),this._applyDirection(),this._adapter.proxyScrollEvent(),this._hasInitialized=!0}disconnect(){this._adapter.tryUnproxyScrollEvent(),this._hasInitialized=!1}_applyDirection(){this._adapter.setDirection(this._direction),this._adapter.setHostAttribute(e.attributes.DIRECTION,p(this._direction)?this._direction.toString():"")}_onOpenComplete(){!this._open||(this._setOpened(),this._adapter.emitHostEvent(e.events.AFTER_OPEN))}_onCloseComplete(){this._open||(this._setClosed(),this._adapter.emitHostEvent(e.events.AFTER_CLOSE))}_setOpened(){this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING]),this._adapter.setHostAttribute(e.attributes.OPEN)}_setClosed(){this._adapter.removeDrawerClass([e.classes.CLOSING,e.classes.NO_TRANSITION]),this._adapter.setDrawerClass(e.classes.CLOSED),this._adapter.removeHostAttribute(e.attributes.OPEN)}_applyOpen(){this._open?(this._triggerDrawerOpen(),this._adapter.setHostAttribute(e.attributes.OPEN)):(this._triggerDrawerClose(),this._adapter.removeHostAttribute(e.attributes.OPEN))}_triggerDrawerOpen(){this._adapter.listenTransitionComplete(this._openAnimationListener),this._adapter.removeDrawerClass([e.classes.CLOSED,e.classes.CLOSING])}_triggerDrawerClose(){this._adapter.listenTransitionComplete(this._closeAnimationListener),this._adapter.setDrawerClass(e.classes.CLOSING)}get open(){return this._open}set open(r){this._open!==r&&(this._open=r,this._hasInitialized&&this._applyOpen())}get direction(){return this._direction}set direction(r){this._direction!==r&&(this._direction=r,this._hasInitialized&&this._applyDirection())}};var i=class extends h{constructor(){super()}static get observedAttributes(){return[e.attributes.OPEN,e.attributes.DIRECTION]}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,d){switch(t){case e.attributes.OPEN:this.open=c(d);break;case e.attributes.DIRECTION:this.direction=d;break}}};s([o()],i.prototype,"open",2),s([o()],i.prototype,"direction",2);export{e as a,u as b,C as c,i as d};
//# sourceMappingURL=chunk.5BJ473N2.js.map
