1import"@archetype-themes/scripts/config";import"@archetype-themes/scripts/helpers/utils";import"@archetype-themes/scripts/helpers/a11y";import"@archetype-themes/scripts/helpers/delegate";theme.Drawers=(function(){function Drawers(id,name){this.config={id:id,close:".js-drawer-close",open:".js-drawer-open-"+name,openClass:"js-drawer-open",closingClass:"js-drawer-closing",activeDrawer:"drawer--is-open",namespace:".drawer-"+name},this.nodes={page:document.querySelector("#MainContent")},this.drawer=document.querySelector("#"+id),this.isOpen=!1,this.drawer&&this.init()}return Drawers.prototype=Object.assign({},Drawers.prototype,{init:function(){var _this=this;document.querySelectorAll(this.config.open).forEach(function(openBtn){openBtn.setAttribute("aria-expanded","false"),openBtn.addEventListener("click",_this.open.bind(_this))}),this.drawer.querySelector(this.config.close).addEventListener("click",this.close.bind(this)),document.addEventListener("modalOpen",function(){this.close()}.bind(this))},open:function(evt,returnFocusEl){evt&&evt.preventDefault(),!this.isOpen&&(evt&&evt.stopPropagation?(evt.stopPropagation(),evt.currentTarget.setAttribute("aria-expanded","true"),this.activeSource=evt.currentTarget):returnFocusEl&&(returnFocusEl.setAttribute("aria-expanded","true"),this.activeSource=returnFocusEl),theme.utils.prepareTransition(this.drawer,function(){this.drawer.classList.add(this.config.activeDrawer)}.bind(this)),document.documentElement.classList.add(this.config.openClass),this.isOpen=!0,theme.a11y.trapFocus({container:this.drawer,namespace:"drawer_focus"}),document.dispatchEvent(new CustomEvent("drawerOpen")),document.dispatchEvent(new CustomEvent("drawerOpen."+this.config.id)),this.bindEvents())},close:function(evt){if(this.isOpen){if(evt&&!evt.target.closest(".js-drawer-close")){if(evt.target.closest(".drawer"))return}document.activeElement.blur(),theme.utils.prepareTransition(this.drawer,function(){this.drawer.classList.remove(this.config.activeDrawer)}.bind(this)),document.documentElement.classList.remove(this.config.openClass),document.documentElement.classList.add(this.config.closingClass),window.setTimeout(function(){document.documentElement.classList.remove(this.config.closingClass),this.activeSource&&this.activeSource.getAttribute("aria-expanded")&&(this.activeSource.setAttribute("aria-expanded","false"),this.activeSource.focus())}.bind(this),500),this.isOpen=!1,theme.a11y.removeTrapFocus({container:this.drawer,namespace:"drawer_focus"}),this.unbindEvents()}},bindEvents:function(){window.on("click"+this.config.namespace,function(evt){this.close(evt)}.bind(this)),window.on("keyup"+this.config.namespace,function(evt){evt.keyCode===27&&this.close()}.bind(this)),theme.a11y.lockMobileScrolling(this.config.namespace,this.nodes.page)},unbindEvents:function(){window.off("click"+this.config.namespace),window.off("keyup"+this.config.namespace),theme.a11y.unlockMobileScrolling(this.config.namespace,this.nodes.page)}}),Drawers})(); 2//# sourceMappingURL=/cdn/shop/t/324/assets/drawers.js.map?v=90797109483806998381789759285
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.