{"ast":null,"code":"import { eventScope, shoulePropagateMomentum } from '../utils/';\nvar KEY_CODE;\n(function (KEY_CODE) {\n  KEY_CODE[KEY_CODE[\"SPACE\"] = 32] = \"SPACE\";\n  KEY_CODE[KEY_CODE[\"PAGE_UP\"] = 33] = \"PAGE_UP\";\n  KEY_CODE[KEY_CODE[\"PAGE_DOWN\"] = 34] = \"PAGE_DOWN\";\n  KEY_CODE[KEY_CODE[\"END\"] = 35] = \"END\";\n  KEY_CODE[KEY_CODE[\"HOME\"] = 36] = \"HOME\";\n  KEY_CODE[KEY_CODE[\"LEFT\"] = 37] = \"LEFT\";\n  KEY_CODE[KEY_CODE[\"UP\"] = 38] = \"UP\";\n  KEY_CODE[KEY_CODE[\"RIGHT\"] = 39] = \"RIGHT\";\n  KEY_CODE[KEY_CODE[\"DOWN\"] = 40] = \"DOWN\";\n})(KEY_CODE || (KEY_CODE = {}));\nexport function keyboardHandler(scrollbar) {\n  var addEvent = eventScope(scrollbar);\n  var container = scrollbar.containerEl;\n  addEvent(container, 'keydown', function (evt) {\n    if (document.activeElement !== container) {\n      return;\n    }\n    var delta = getKeyDelta(scrollbar, evt.keyCode || evt.which);\n    if (!delta) {\n      return;\n    }\n    var x = delta[0],\n      y = delta[1];\n    if (shoulePropagateMomentum(scrollbar, x, y)) {\n      container.blur();\n      if (scrollbar.parent) {\n        scrollbar.parent.containerEl.focus();\n      }\n      return;\n    }\n    evt.preventDefault();\n    scrollbar.addTransformableMomentum(x, y, evt);\n  });\n}\nfunction getKeyDelta(scrollbar, keyCode) {\n  var size = scrollbar.size,\n    limit = scrollbar.limit,\n    offset = scrollbar.offset;\n  switch (keyCode) {\n    case KEY_CODE.SPACE:\n      return [0, 200];\n    case KEY_CODE.PAGE_UP:\n      return [0, -size.container.height + 40];\n    case KEY_CODE.PAGE_DOWN:\n      return [0, size.container.height - 40];\n    case KEY_CODE.END:\n      return [0, limit.y - offset.y];\n    case KEY_CODE.HOME:\n      return [0, -offset.y];\n    case KEY_CODE.LEFT:\n      return [-40, 0];\n    case KEY_CODE.UP:\n      return [0, -40];\n    case KEY_CODE.RIGHT:\n      return [40, 0];\n    case KEY_CODE.DOWN:\n      return [0, 40];\n    default:\n      return null;\n  }\n}","map":{"version":3,"names":["eventScope","shoulePropagateMomentum","KEY_CODE","keyboardHandler","scrollbar","addEvent","container","containerEl","evt","document","activeElement","delta","getKeyDelta","keyCode","which","x","y","blur","parent","focus","preventDefault","addTransformableMomentum","size","limit","offset","SPACE","PAGE_UP","height","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN"],"sources":["../src/events/keyboard.ts"],"sourcesContent":[null],"mappings":"AAEA,SACEA,UAAU,EACVC,uBAAuB,QAClB,WAAW;AAElB,IAAKC,QAUJ;AAVD,WAAKA,QAAQ;EACXA,QAAA,CAAAA,QAAA,yBAAU;EACVA,QAAA,CAAAA,QAAA,6BAAO;EACPA,QAAA,CAAAA,QAAA,iCAAS;EACTA,QAAA,CAAAA,QAAA,qBAAG;EACHA,QAAA,CAAAA,QAAA,uBAAI;EACJA,QAAA,CAAAA,QAAA,uBAAI;EACJA,QAAA,CAAAA,QAAA,mBAAE;EACFA,QAAA,CAAAA,QAAA,yBAAK;EACLA,QAAA,CAAAA,QAAA,uBAAI;AACN,CAAC,EAVIA,QAAQ,KAARA,QAAQ;AAYb,OAAM,SAAAC,gBAA0BC,SAAsB;EACpD,IAAMC,QAAQ,GAAGL,UAAU,CAACI,SAAS,CAAC;EACtC,IAAME,SAAS,GAAGF,SAAS,CAACG,WAAW;EAEvCF,QAAQ,CAACC,SAAS,EAAE,SAAS,EAAE,UAACE,GAAkB;IAChD,IAAIC,QAAQ,CAACC,aAAa,KAAKJ,SAAS,EAAE;MACxC;IACF;IAEA,IAAMK,KAAK,GAAGC,WAAW,CAACR,SAAS,EAAEI,GAAG,CAACK,OAAO,IAAIL,GAAG,CAACM,KAAK,CAAC;IAE9D,IAAI,CAACH,KAAK,EAAE;MACV;IACF;IAEO,IAAAI,CAAA,GAAAJ,KAAA,GAAC;MAAEK,CAAA,GAAAL,KAAA,GAAC;IAEX,IAAIV,uBAAuB,CAACG,SAAS,EAAEW,CAAC,EAAEC,CAAC,CAAC,EAAE;MAC5CV,SAAS,CAACW,IAAI,EAAE;MAEhB,IAAIb,SAAS,CAACc,MAAM,EAAE;QACpBd,SAAS,CAACc,MAAM,CAACX,WAAW,CAACY,KAAK,EAAE;MACtC;MAEA;IACF;IAEAX,GAAG,CAACY,cAAc,EAAE;IAEpBhB,SAAS,CAACiB,wBAAwB,CAACN,CAAC,EAAEC,CAAC,EAAER,GAAG,CAAC;EAC/C,CAAC,CAAC;AACJ;AAEA,SAAAI,YAAqBR,SAAsB,EAAES,OAAe;EAExD,IAAAS,IAAA,GAAAlB,SAAA,CAAAkB,IAAI;IACJC,KAAA,GAAAnB,SAAA,CAAAmB,KAAK;IACLC,MAAA,GAAApB,SAAA,CAAAoB,MAAM;EAGR,QAAQX,OAAO;IACb,KAAKX,QAAQ,CAACuB,KAAK;MACjB,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC;IACjB,KAAKvB,QAAQ,CAACwB,OAAO;MACnB,OAAO,CAAC,CAAC,EAAE,CAACJ,IAAI,CAAChB,SAAS,CAACqB,MAAM,GAAG,EAAE,CAAC;IACzC,KAAKzB,QAAQ,CAAC0B,SAAS;MACrB,OAAO,CAAC,CAAC,EAAEN,IAAI,CAAChB,SAAS,CAACqB,MAAM,GAAG,EAAE,CAAC;IACxC,KAAKzB,QAAQ,CAAC2B,GAAG;MACf,OAAO,CAAC,CAAC,EAAEN,KAAK,CAACP,CAAC,GAAGQ,MAAM,CAACR,CAAC,CAAC;IAChC,KAAKd,QAAQ,CAAC4B,IAAI;MAChB,OAAO,CAAC,CAAC,EAAE,CAACN,MAAM,CAACR,CAAC,CAAC;IACvB,KAAKd,QAAQ,CAAC6B,IAAI;MAChB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjB,KAAK7B,QAAQ,CAAC8B,EAAE;MACd,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjB,KAAK9B,QAAQ,CAAC+B,KAAK;MACjB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,KAAK/B,QAAQ,CAACgC,IAAI;MAChB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;IAChB;MACE,OAAO,IAAI;EACf;AACF"},"metadata":{},"sourceType":"module","externalDependencies":[]}