(()=>{"use strict";class e{constructor(e,s){this._modal=document.querySelector(e),this._buttonClose=this._modal.querySelector(".popup-button-close"),this._closeButtonSelector=".popup-button-close",this._openedClass="popup_opened",this._handleEscButton=e=>{"Escape"===e.key&&this.close()},this._handleOverlayClick=e=>{e.target.classList.contains("popup_opened")&&this.close()},this._isOpened=!1}open(){this._modal.classList.add(this._openedClass),this._isOpened=!0,this._isEscHandleEnabled&&document.addEventListener("keydown",this._handleEscButton),this._isOverlayEnabled&&this._modal.addEventListener("mousedown",this._handleOverlayClick),this._isBodyFixWhenOpen&&document.querySelector("body").classList.add("body-fixed")}close(){this._modal.classList.remove(this._openedClass),this._isOpened=!1,this._isEscHandleEnabled&&document.removeEventListener("keydown",this._handleEscButton),this._isOverlayEnabled&&this._modal.removeEventListener("mousedown",this._handleOverlayClick),this._isBodyFixWhenOpen&&document.querySelector("body").classList.remove("body-fixed")}setEventListeners({overlay:e=!0,esc:s=!0,bodyfix:t=!0}={}){this._isOverlayEnabled=e,this._isEscHandleEnabled=s,this._isBodyFixWhenOpen=t,this._buttonClose.addEventListener("mousedown",()=>{this.close()})}}class s extends e{constructor(e,s){super(e);const{containerSelector:t,animateClasses:n,buttonCloseSelector:o}=s;this._animateClasses=n||[],this._container=this._modal.querySelector(t||".popup-menu-container"),this._container.classList.add(...n,"transition-all","duration-200"),o&&(this._buttonClose=this._modal.querySelector(o))}open(){super.open(),this._container.classList.remove(...this._animateClasses)}close(){super.close(),this._container.classList.add(...this._animateClasses)}}const t=new e(".popup-preloader");!function(e={}){const t={containerSelector:".popup-menu-container",animateClasses:["translate-x-20"],buttonCloseSelector:".popup-button-close"},{popupSelector:n=".popup-menu",buttonOpenSelector:o=".nav__mobile-icon",menuConfig:i={}}=e,a={...t,...i,animateClasses:[...t.animateClasses,...i.animateClasses||[]]},l=new s(n,a),c=document.querySelector(o);c?(c.addEventListener("click",e=>{e.preventDefault(),l.open()}),l.setEventListeners()):(console.warn(`Кнопка ${o} не найдена`),l.setEventListeners())}({menuConfig:{containerSelector:".popup__container_menu",animateClasses:["translate-x-10"],buttonCloseSelector:".popup__button-close_menu"}}),t.open(),document.addEventListener("DOMContentLoaded",function(){t.close()})})();