define(["exports","./../dom.js","./../approuter.js","./playback/playbackmanager.js","./../focusmanager.js","./servicelocator.js","./../emby-apiclient/events.js","./../layoutmanager.js"],function(_exports,_dom,_approuter,_playbackmanager,_focusmanager,_servicelocator,_events,_layoutmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var lastInputTime=Date.now();function onFunctionalEvent(){lastInputTime=Date.now()}_events.default.on(_servicelocator.appHost,"pause",onFunctionalEvent),_events.default.on(_servicelocator.appHost,"resume",onFunctionalEvent),_events.default.on(_approuter.default,"navigate",onFunctionalEvent);var commandTimes={};function normalizeSourceElement(sourceElement){var focusScope=_focusmanager.default.getCurrentScope();return sourceElement=sourceElement&&focusScope.contains(sourceElement)?sourceElement:focusScope}function allowNavAtStart(elem){return 0===elem.selectionStart}function allowNavAtEnd(elem){var text=elem.value||"";return elem.selectionEnd>=text.length}function allowNavInSelectionRange(elem,command){return("left"===command?"rtl"===document.dir?allowNavAtEnd:allowNavAtStart:"rtl"===document.dir?allowNavAtStart:allowNavAtEnd)(elem)}function allowLeftOrRightNav(elem,command){if(!function(elem){var readOnly=elem.readOnly;if(!readOnly&&!1===readOnly){if("TEXTAREA"===elem.tagName)return 1;switch(elem.type){case"checkbox":case"radio":case"file":case"hidden":case"range":return;default:return 1}}}(elem))return!0;switch(elem.tagName){case"TEXTAREA":return allowNavInSelectionRange(elem,command);case"INPUT":switch(elem.type){case"text":case"tel":case"url":case"password":case"search":return allowNavInSelectionRange(elem,command);case"number":return!1;default:return!!_layoutmanager.default.tv}default:return!0}}function handleChannelChangeCommand(offset){if(_playbackmanager.default.isPlayingVideo()){var item=_playbackmanager.default.currentItem();if(item&&"TvChannel"===item.Type)return void function(currentItem,offset){Emby.importModule("./modules/channelchanger/channelchanger.js").then(function(ChannelChanger){return ChannelChanger.onChannelChangeRequest({currentItem:currentItem,offset:offset})})}(item,offset)}0