define(["exports","./../dom.js","./../common/globalize.js","./../emby-apiclient/events.js","./navdrawercontent.js","./../common/usersettings/usersettings.js","./../emby-elements/emby-scroller/emby-scroller.js","./../focusmanager.js","./../common/inputmanager.js","./../viewmanager/viewmanager.js","./../common/servicelocator.js","./../common/appsettings.js"],function(_exports,_dom,_globalize,_events,_navdrawercontent,_usersettings,_embyScroller,_focusmanager,_inputmanager,_viewmanager,_servicelocator,_appsettings){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/navdrawer/navdrawer.css","css!!tv|modules/navdrawer/navdrawer_nontv.css","css!tv|modules/navdrawer/navdrawer_tv.css"]);var instance,mask,previousFocusedElement,_scrollingElement,navDrawerElement=document.querySelector(".mainDrawer"),allowBackdropFilter=_dom.default.allowBackdropFilter(),DrawerStates={Closed:0,Open:1,Docked:2,DockedMini:3};function closeOnNavCommand(instance){switch(instance.drawerState){case DrawerStates.Open:instance.close(),previousFocusedElement?(_focusmanager.default.focus(previousFocusedElement),previousFocusedElement=null):_viewmanager.default.autoFocusCurrentView({skipIfNotEnabled:!1});break;case DrawerStates.Docked:case DrawerStates.DockedMini:previousFocusedElement?(_focusmanager.default.focus(previousFocusedElement),previousFocusedElement=null):_viewmanager.default.autoFocusCurrentView({skipIfNotEnabled:!1})}}function onMainDrawerClick(e){e.target.closest(".btnPinNavDrawer")&&(instance.drawerState===DrawerStates.Open?(_usersettings.default.drawerStyle("docked"),instance.open(!0)):(instance.closeState=null,_usersettings.default.drawerStyle("closed"),instance.close())),e.target.closest(".btnToggleNavDrawer")&&(instance.drawerState===DrawerStates.Docked?(_usersettings.default.drawerStyle("docked-mini"),instance.open(!0,!0)):instance.drawerState!==DrawerStates.DockedMini&&instance.closeState!==DrawerStates.DockedMini||(instance.closeState=null,_usersettings.default.drawerStyle("closed"),instance.close()))}function setPinIcon(icon,hidden){var btnPinNavDrawerIcon=navDrawerElement.querySelector(".btnPinNavDrawerIcon"),btnPinNavDrawerIcon=(btnPinNavDrawerIcon&&(btnPinNavDrawerIcon.innerHTML=icon),navDrawerElement.querySelector(".btnPinNavDrawer")),title=(btnPinNavDrawerIcon&&("close"===icon?(title=_globalize.default.translate("Close"),btnPinNavDrawerIcon.classList.remove("btnPinNavDrawer-iconpin"),btnPinNavDrawerIcon.classList.add("btnPinNavDrawer-hovershow")):(title=_globalize.default.translate("HeaderPinSidebar"),btnPinNavDrawerIcon.classList.add("btnPinNavDrawer-iconpin"),btnPinNavDrawerIcon.classList.remove("btnPinNavDrawer-hovershow")),btnPinNavDrawerIcon.title=title,btnPinNavDrawerIcon.setAttribute("aria-label",title),hidden?btnPinNavDrawerIcon.classList.add("hide"):btnPinNavDrawerIcon.classList.remove("hide")),navDrawerElement.querySelector(".btnToggleNavDrawer"));title&&("close"===icon?title.classList.remove("hide"):title.classList.add("hide"))}function onOpenRequested(){this.closeState=this.drawerState===DrawerStates.DockedMini?DrawerStates.DockedMini:null,this.open()}function setRtlClasses(){"rtl"===document.dir?navDrawerElement.classList.add("mainDrawer-rtl"):navDrawerElement.classList.remove("mainDrawer-rtl")}function NavDrawer(){instance=this,_dom.default.addEventListener(navDrawerElement,"click",onMainDrawerClick,{passive:!0}),_dom.default.addEventListener(navDrawerElement,_dom.default.whichTransitionEvent(),onNavDrawerTransitionEnd,{passive:!0,capture:!0}),_events.default.on(_navdrawercontent.default,"open-requested",onOpenRequested.bind(this)),_events.default.on(_navdrawercontent.default,"navigated",function(){this.drawerState===DrawerStates.Open&&closeOnNavCommand(this)}.bind(this)),this.onInputCommandFn=function(e){var _viewManager$currentV,command=e.detail.command;switch(command){case"back":null!=(_viewManager$currentV=_viewmanager.default.currentViewController())&&_viewManager$currentV.enableBackMenu&&_servicelocator.appHost.supports("exit")&&null!=(_viewManager$currentV=this._openOptions)&&_viewManager$currentV.exitAppOnBack?_servicelocator.appHost.exitWithOptionalMenu(!0):closeOnNavCommand(this),e.preventDefault();break;case"left":"rtl"!==document.dir||e.target.closest("input")&&!_inputmanager.default.allowLeftOrRightNav(e.target,command)||(closeOnNavCommand(this),e.preventDefault());break;case"right":"rtl"===document.dir||e.target.closest("input")&&!_inputmanager.default.allowLeftOrRightNav(e.target,command)||(closeOnNavCommand(this),e.preventDefault())}}.bind(this);var onInputCommandFn=this.onInputCommandFn;onInputCommandFn&&_inputmanager.default.on(navDrawerElement,onInputCommandFn),setRtlClasses()}function getScrollingElement(){var elem=_scrollingElement;return elem||(elem=document.scrollingElement||document.documentElement,_scrollingElement=elem),elem}function onNavDrawerTransitionEnd(e){e.target!==e.currentTarget||this.classList.contains("drawer-open")||this.classList.add("hide")}function onMaskTransitionEnd(e){e.target===e.currentTarget&&(e=mask)&&e.classList.contains("drawer-backdrop-fadeout")&&(e.remove(),mask=null)}_events.default.on(_appsettings.default,"change",function(e,name){"language"===name&&setRtlClasses()}),NavDrawer.prototype.openIfClosed=function(options){switch(this.drawerState){case 1:case 2:this.autoFocus({skipIfNotEnabled:!1});break;case 3:this._openOptions=options,onOpenRequested.call(this),this.autoFocus({skipIfNotEnabled:!1});break;default:this._openOptions=options,this.open(!1,!1,!0)}},NavDrawer.prototype.open=function(isDocked,miniDock,autoFocus){_navdrawercontent.default.onBeforeOpen(autoFocus);autoFocus=isDocked?miniDock?DrawerStates.DockedMini:DrawerStates.Docked:DrawerStates.Open,miniDock=this.drawerState;if(autoFocus!==miniDock){var focused=document.activeElement;if(focused&&!navDrawerElement.contains(focused)&&(previousFocusedElement=focused),this.drawerState=autoFocus,isDocked){if(_focusmanager.default.popScope(navDrawerElement),autoFocus===DrawerStates.DockedMini){navDrawerElement.classList.add("drawer-docked","mainDrawer-mini");for(var elems=navDrawerElement.querySelectorAll(".navDrawerCollapseSection"),i=0,length=elems.length;i