"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/add-pointer-event.ts var add_pointer_event_exports = {}; __export(add_pointer_event_exports, { addPointerEvent: () => addPointerEvent }); module.exports = __toCommonJS(add_pointer_event_exports); // src/add-dom-event.ts function addDomEvent(target, eventName, handler, options) { target.addEventListener(eventName, handler, options); return () => { target.removeEventListener(eventName, handler, options); }; } // src/assertion.ts function isMouseEvent(event) { const win = getEventWindow(event); if (typeof win.PointerEvent !== "undefined" && event instanceof win.PointerEvent) { return !!(event.pointerType === "mouse"); } return event instanceof win.MouseEvent; } function isTouchEvent(event) { const hasTouches = !!event.touches; return hasTouches; } function getEventWindow(event) { var _a; return (_a = event.view) != null ? _a : window; } // src/get-event-point.ts function pointFromTouch(e, type = "page") { const point = e.touches[0] || e.changedTouches[0]; return { x: point[`${type}X`], y: point[`${type}Y`] }; } function pointFromMouse(point, type = "page") { return { x: point[`${type}X`], y: point[`${type}Y`] }; } function getEventPoint(event, type = "page") { return isTouchEvent(event) ? pointFromTouch(event, type) : pointFromMouse(event, type); } // src/add-pointer-event.ts function filter(cb) { return (event) => { const isMouse = isMouseEvent(event); if (!isMouse || isMouse && event.button === 0) { cb(event); } }; } function wrap(cb, filterPrimary = false) { function listener(event) { cb(event, { point: getEventPoint(event) }); } const fn = filterPrimary ? filter(listener) : listener; return fn; } function addPointerEvent(target, type, cb, options) { return addDomEvent(target, type, wrap(cb, type === "pointerdown"), options); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { addPointerEvent });