event.js 1.4 KB

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