event.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var browser = require('../browser.js');
  4. var aria = require('../../constants/aria.js');
  5. const composeEventHandlers = (theirsHandler, oursHandler, { checkForDefaultPrevented = true } = {}) => {
  6. const handleEvent = (event) => {
  7. const shouldPrevent = theirsHandler == null ? void 0 : theirsHandler(event);
  8. if (checkForDefaultPrevented === false || !shouldPrevent) {
  9. return oursHandler == null ? void 0 : oursHandler(event);
  10. }
  11. };
  12. return handleEvent;
  13. };
  14. const whenMouse = (handler) => {
  15. return (e) => e.pointerType === "mouse" ? handler(e) : void 0;
  16. };
  17. const getEventCode = (event) => {
  18. if (event.code && event.code !== "Unidentified")
  19. return event.code;
  20. const key = getEventKey(event);
  21. if (key) {
  22. if (Object.values(aria.EVENT_CODE).includes(key))
  23. return key;
  24. switch (key) {
  25. case " ":
  26. return aria.EVENT_CODE.space;
  27. default:
  28. return "";
  29. }
  30. }
  31. return "";
  32. };
  33. const getEventKey = (event) => {
  34. let key = event.key && event.key !== "Unidentified" ? event.key : "";
  35. if (!key && event.type === "keyup" && browser.isAndroid()) {
  36. const target = event.target;
  37. key = target.value.charAt(target.selectionStart - 1);
  38. }
  39. return key;
  40. };
  41. exports.composeEventHandlers = composeEventHandlers;
  42. exports.getEventCode = getEventCode;
  43. exports.getEventKey = getEventKey;
  44. exports.whenMouse = whenMouse;
  45. //# sourceMappingURL=event.js.map