react-spatial-navigation
Version:
React extensions for spatial-navigation
1 lines • 23.2 kB
JavaScript
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.Decorators=void 0;var o=n(14),i=r(o);t.default={Decorators:i},t.Decorators=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.EventAggregator=t.EVENT_PREFIX=void 0;var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(18),u=r(a),l=n(2),s=function(){function e(){o(this,e),this.events=[]}return i(e,[{key:"getEvent",value:function(e){return this.events.filter(function(t){return t.name===e})[0]}},{key:"dispatchEvent",value:function(e){var t,n=this.getEvent(e);n||(n=new u.default(e),this.events.push(n));for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;r>i;i++)o[i-1]=arguments[i];(t=n).call.apply(t,o)}},{key:"subscribe",value:function(e,t,n){var r=this.getEvent(e);return r||(r=new u.default(e),this.events.push(r)),r.addHandler(t,n),{event:r,handler:t}}},{key:"once",value:function(e,t,n){var r=this.getEvent(e);r||(r=new u.default(e),this.events.push(r));var o=function e(){var o=t.apply(void 0,arguments);o&&r.removeHandler(e,n)};return r.addHandler(o,n),{event:r,handlerWrapper:o}}}]),e}();t.default=new s,t.EVENT_PREFIX=l.EVENT_PREFIX,t.EventAggregator=s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LOG_LEVEL="DEBUG",t.EVENT_PREFIX="sn:",t.EVENT_DELAY=180},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),u=r(a),l=n(5),s=r(l),c=n(4),f=r(c),d=n(8),p=r(d),h=n(2),v=function(){function e(t,n){var r=this,i=n.map,a=void 0===i?{}:i,l=n.keyBindings,s=n.startContainer;o(this,e),this.name=t,this.disabled=!1,this.focused=!1,this.collection=new f.default(this),this.leaveFor=a,this.enterTo="default",s&&u.default.once(h.EVENT_PREFIX+"addElement",function(e){return e==r&&(r.focus(),!0)}),!l||this.bindKeyAction(l)}return i(e,[{key:"bindKeyAction",value:function(e){var t=s.default.addToMap(e);p.default.addRelation(t,this)}},{key:"disable",value:function(){this.disabled=!0}},{key:"enable",value:function(){this.disabled=!1}},{key:"focus",value:function(){this.focused=!0,this.collection.focus(),u.default.dispatchEvent(h.EVENT_PREFIX+"focusContainer",this)}},{key:"blur",value:function(){this.focused=!1,u.default.dispatchEvent(h.EVENT_PREFIX+"blurContainer",this)}},{key:"getCollection",value:function(){return this.collection}}]),e}();v.create=function(e,t){return new v(e,t)},t.default=v,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,n,r)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(r):void 0},s=n(6),c=r(s),f=n(1),d=r(f),p=n(2),h=n(3),v=r(h),y=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.parent=e,n.focusedIndex=null,n.eventAggregator=new f.EventAggregator,n}return a(t,e),u(t,[{key:"add",value:function(e,n){e.parent=this.parent,e.parentCollection=this,l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"add",this).call(this,e,n),d.default.dispatchEvent(p.EVENT_PREFIX+"addElement",this.parent)}},{key:"focus",value:function(){if(this.parent instanceof v.default&&!this.length)throw Error("You must add at least one element to each container. Check "+this.parent.name+" container");var e=void 0;if(null==this.focusedIndex)this.focusedIndex=e=0;else switch(this.enterTo){case"first":e=0;break;case"last":e=this.length-1;break;default:e=this.focusedIndex}var t=this.getByIndex(e);t.focus()}},{key:"getIndex",value:function(e){return this.indexOf(e)}},{key:"setFocusedIndex",value:function(e){this.focusedIndex=this.getIndex(e)}}]),t}(c.default);t.default=y,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),u=r(a),l=n(2),s=function(){function e(){o(this,e),this.normalizedMap={},this.bindListeners()}return i(e,[{key:"addToMap",value:function(t){var n=this,r={};return t instanceof Array||(t=[t]),t.forEach(function(t){var o=e.getEventKey(t.keyCode,t.modifier);!(o in n.normalizedMap)||console.warn("Keymap "+o+" already exists"),n.normalizedMap[o]=t,r[o]=t}),r}},{key:"bindListeners",value:function(){var t=e.throttle(this.keyPress.bind(this),l.EVENT_DELAY);window.addEventListener("keydown",t),window.addEventListener("keyup",t.finish)}},{key:"keyPress",value:function(t){var n=e.getEventKey(t.keyCode,t);if(!(n in this.normalizedMap&&e.getModifier(t,this.normalizedMap[n].modifier)))return!0;t.preventDefault(),u.default.dispatchEvent(l.EVENT_PREFIX+"keypress",n);var r=this.normalizedMap[n].name;return!r||(u.default.dispatchEvent(l.EVENT_PREFIX+"navigate",r),u.default.dispatchEvent(""+l.EVENT_PREFIX+r)),!0}}],[{key:"getEventKey",value:function(e,t){var n=[e];return t instanceof KeyboardEvent?t.metaKey?n.push("meta"):t.ctrlKey?n.push("ctrl"):t.shiftKey?n.push("shift"):t.altKey&&n.push("alt"):!t||n.push(t),n.join("|")}},{key:"getModifier",value:function(e,t){switch(t){case"meta":return e.metaKey;case"ctrl":return e.ctrlKey;case"shift":return e.shiftKey;case"alt":return e.altKey;default:return!0}}}]),e}();s.throttle=function(e,t){var n=null,r=!1,o=void 0,i=function(){n=null,r=!1},a=function(i){var a=this,u=s.getEventKey(i.keyCode,i);(n!=u||u.match(/\|/))&&(e.call(this,i),n=u),r||(r=!0,o=setTimeout(function(){r=!e.call(a,i)},t))};return a.__proto__.finish=function(){i(),clearTimeout(o)},a},t.default=new s,e.exports=t.default},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){n(this,e),this.items=[],this.itemIds={}}return r(e,[{key:"add",value:function(e,t){return this.items.push(e),t&&(this.itemIds||(this.itemIds={}),!(t in this.itemIds)||console.warn('Item with name "'+t+'" already exists in Collection'),this.itemIds[t]=this.items.length-1),e}},{key:"indexOf",value:function(e){return this.items.indexOf(e)}},{key:"getByIndex",value:function(e){return this.items[e]}},{key:"getByName",value:function(e){return this.items[this.itemIds[e]]}},{key:"isExists",value:function(e){return!!this.getByName(e)}},{key:"length",get:function(){return this.items.length}}]),e}();t.default=o,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=n(6),l=r(u),s=n(1),c=function(e){function t(){o(this,t);var e=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.eventAggregator=new s.EventAggregator,e}return a(t,e),t}(l.default);t.default=new c,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),u=r(a),l=n(9),s=r(l),c=function(){function e(){o(this,e),this.map={},this.bindListeners()}return i(e,[{key:"bindListeners",value:function(){u.default.subscribe(a.EVENT_PREFIX+"keypress",this.navigate.bind(this))}},{key:"navigate",value:function(e){var t=this.getInstance(e);t&&!function(){var e=s.default.focusedElement,n=u.default.subscribe(a.EVENT_PREFIX+"esc",function(){e.focus()}),r=n.event,o=n.handler;u.default.once(a.EVENT_PREFIX+"blurElement",function(e){if(t==e)return r.removeHandler(o),!0}),t.focus()}()}},{key:"addRelation",value:function(e,t){for(var n in e)this.map[n]=t}},{key:"getInstance",value:function(e){return this.map[e]}}]),e}();t.default=new c,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),u=r(a),l=n(2),s=n(3),c=r(s),f=n(15),d=r(f),p=n(17),h=r(p),v=function(){function e(){o(this,e),this.focusedElement=null,this.bindListeners()}return i(e,[{key:"bindListeners",value:function(){var e=this;u.default.subscribe(l.EVENT_PREFIX+"navigate",function(t){~["up","down","left","right"].indexOf(t)&&e.navigate(t)}),u.default.subscribe(l.EVENT_PREFIX+"focusElement",this.setFocusedElement.bind(this))}},{key:"navigate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.focusedElement,n=h.default.getToNavigate(t,e);if(!n){if(!(t.parent instanceof c.default))return this.navigate(e,t.parent);n=d.default.getToNavigate(t.parent,e)}n&&this.focusInstance(n)}},{key:"focusInstance",value:function(e){var t=this.focusedElement;e.focus(),e.parent&&e.parent.collection&&e.parent.collection.eventAggregator.dispatchEvent("onNavigate"),t&&e.parent&&t.parent&&e.parent!=t.parent&&e.parent.parent&&e.parent.parent.collection&&e.parent.parent.collection.eventAggregator.dispatchEvent("onNavigate")}},{key:"setFocusedElement",value:function(e){this.focusedElement=e}}]),e}();t.default=new v,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Element=t.Container=t.ElementCollection=t.ContainerCollection=t.EventAggregator=t.Keyboard=void 0;var o=n(5),i=r(o),a=n(1),u=r(a),l=n(7),s=r(l),c=n(4),f=r(c),d=n(3),p=r(d),h=n(16),v=r(h);t.Keyboard=i.default,t.EventAggregator=u.default,t.ContainerCollection=s.default,t.ElementCollection=f.default,t.Container=p.default,t.Element=v.default},function(e,t){e.exports=void 0},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(11),c=r(s),f=n(10),d=function(e,t){return function(n){var r=function(r){function s(){o(this,s);var n=i(this,(s.__proto__||Object.getPrototypeOf(s)).call(this));return n.container=f.Container.create(e,t),f.ContainerCollection.add(n.container,e),n.state={SNContainer:n.container},n}return a(s,r),l(s,[{key:"getChildContext",value:function(){return{container:this.container}}},{key:"render",value:function(){return c.default.createElement(n,u({},this.props,this.state))}}]),s}(c.default.Component);return r.displayName="SN:Container",r.childContextTypes={container:c.default.PropTypes.instanceOf(f.Container).isRequired},r}};t.default=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;arguments.length>t;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(11),c=r(s),f=n(19),d=r(f),p=n(10),h=function(e){return function(t){var n=function(n){function r(){o(this,r);var t=i(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return t.handleChildRef=function(e){if(e){var n=e.state,r=e.props,o=t.context.element||t.context.container,i=d.default.findDOMNode(e);t.element.connectDomEl(i);var a=n&&n.disabled||r&&r.disabled;a&&t.element.disable(),!o.collection||o.collection.add(t.element)}},t.element=p.Element.create(null,e),t.state={SNElement:t.element},t}return a(r,n),l(r,[{key:"getChildContext",value:function(){return{element:this.element}}},{key:"render",value:function(){return c.default.createElement(t,u({ref:this.handleChildRef},this.props,this.state))}}]),r}(c.default.Component);return n.displayName="SN:Element",n.contextTypes={container:c.default.PropTypes.instanceOf(p.Container),element:c.default.PropTypes.instanceOf(p.Element)},n.childContextTypes={element:c.default.PropTypes.instanceOf(p.Element)},n}};t.default=h},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Element=t.Container=void 0;var o=n(13),i=r(o),a=n(12),u=r(a);t.Container=u.default,t.Element=i.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(7),u=r(a),l=function(){function e(){o(this,e)}return i(e,[{key:"getToNavigate",value:function(e,t){var n=e.leaveFor[t],r=u.default.getByName(n);return!r||!r.disabled&&r.collection.length?r:this.getToNavigate(r,t)}}]),e}();t.default=new l,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),u=r(a),l=n(4),s=r(l),c=n(8),f=r(c),d=n(3),p=r(d),h=n(5),v=r(h),y=n(9),b=r(y),E=n(2),g=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.keyBindings;o(this,e),this.domEl=t||null,this.disabled=!1,this.parent=null,this.collection=null,t&&this.connectDomEl(t),!r||this.bindKeyAction(r)}return i(e,[{key:"connectDomEl",value:function(e){this.domEl=e,this.designDomEl(),this.bindListeners()}},{key:"designDomEl",value:function(){this.domEl.setAttribute("tabindex","-1"),this.domEl.style.outline="none"}},{key:"bindListeners",value:function(){this.domEl.addEventListener("click",this.onUserClick.bind(this))}},{key:"unbindListeners",value:function(){this.domEl.removeEventListener("click",this.onUserClick.bind(this))}},{key:"bindKeyAction",value:function(e){var t=v.default.addToMap(e);f.default.addRelation(t,this)}},{key:"disable",value:function(){this.disabled=!0}},{key:"enable",value:function(){this.disabled=!1}},{key:"focus",value:function(){if(this.collection)this.collection.focus();else{if(this.domEl.focus(),this.parentCollection.setFocusedIndex(this),this.parent instanceof e&&this.parent.parentCollection.setFocusedIndex(this.parent),b.default.focusedElement){var t=b.default.focusedElement.getContainer();t!=this.getContainer()&&t.blur()}u.default.dispatchEvent(E.EVENT_PREFIX+"focusElement",this)}}},{key:"onUserClick",value:function(e){e.stopPropagation(),this.disabled||b.default.focusInstance(this)}},{key:"blur",value:function(){this.domEl.blur(),u.default.dispatchEvent(E.EVENT_PREFIX+"blurElement",this)}},{key:"getCollection",value:function(){return this.collection||(this.collection=new s.default(this)),this.collection}},{key:"getContainer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.parent;return e&&e instanceof p.default?e:this.getContainer(e.parent)}},{key:"destroy",value:function(){this.unbindListeners()}}]),e}();g.create=function(e,t){return new g(e,t)},t.default=g,e.exports=t.default},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){n(this,e)}return r(e,[{key:"getToNavigate",value:function(e,t){var n=void 0,r=this.getCountInRow(e.parentCollection),o=e.parentCollection.getIndex(e);switch(t){case"up":case"down":if("up"==t)n=e.parentCollection.getByIndex(o-r);else{var i=o+r,a=Math.ceil(e.parentCollection.length/r)*r,u=e.parentCollection.length-1;i>u&&a>i&&(i=u),n=e.parentCollection.getByIndex(i)}break;case"left":o%r!=0&&(n=e.parentCollection.getByIndex(--o));break;case"right":(o+1)%r!=0&&(n=e.parentCollection.getByIndex(++o))}return n&&n.disabled?this.getToNavigate(n,t):n}},{key:"getCountInRow",value:function(e){for(var t=1,n=e.items[0].domEl.offsetLeft,r=1;;r++){var o=e.items[r];if(!o||n>=o.domEl.offsetLeft)return t;n=o.domEl.offsetLeft,t++}}}]),e}();t.default=new o,e.exports=t.default},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;t.length>n;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){n(this,e),this.propagationStopped=!1}return r(e,[{key:"isPropagationStopped",value:function(){return this.propagationStopped}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}]),e}(),i=function(){function e(t){n(this,e),this.name=t,this.handlers={}}return r(e,[{key:"addHandler",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;t in this.handlers||(this.handlers[t+""]=[]),this.handlers[t+""].push(e)}},{key:"removeHandler",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;t in this.handlers||(this.handlers[t+""]=[]);var n=this.handlers[t].indexOf(e);if(~n)return this.handlers[t].splice(n,1)}},{key:"call",value:function(e){var t=this,n=new o,r=Object.keys(this.handlers).map(function(e){return+e}).sort().reverse().map(function(e){return t.handlers[e]});if(r.length)for(var i=0;r.length>i;i++){var a=r[i];if(n.isPropagationStopped())break;for(var u=0;a.length>u;u++){var l=a[u];if(n.isPropagationStopped())break;l(e,n)}}}}]),e}();t.default=i,e.exports=t.default},function(e,t){e.exports=void 0}]);