"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/index.ts var src_exports = {}; __export(src_exports, { startDrag: () => startDrag }); module.exports = __toCommonJS(src_exports); function startDrag(event, container, onMove, onEnd) { const isTouch = event instanceof TouchEvent; let initX = 0; let initY = 0; const move = (event2, init = false) => { const rect = container.getBoundingClientRect(); const defaultView = container.ownerDocument.defaultView; const offsetX = rect.left + defaultView.scrollX; const offsetY = rect.top + defaultView.scrollY; const isTouch2 = event2 instanceof TouchEvent; const x = (isTouch2 ? event2.changedTouches[0].pageX : event2.pageX) - offsetX; const y = (isTouch2 ? event2.changedTouches[0].pageY : event2.pageY) - offsetY; if (init) { initX = x; initY = y; } onMove(event2, x, y, x - initX, y - initY); }; move(event, true); const destroy = () => { if (isTouch) { document.removeEventListener("touchmove", move); document.removeEventListener("touchend", stop); } else { document.removeEventListener("mousemove", move); document.removeEventListener("mouseup", stop); } }; const stop = (event2) => { destroy(); if (typeof onEnd === "function") { onEnd(event2); } }; if (isTouch) { document.addEventListener("touchmove", move, { passive: true }); document.addEventListener("touchend", stop); } else { document.addEventListener("mousemove", move, { passive: true }); document.addEventListener("mouseup", stop); } return destroy; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { startDrag });