UNPKG

@tldraw/editor

Version:

tldraw infinite canvas SDK (editor).

49 lines (48 loc) 2.02 kB
"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); var usePassThroughMouseOverEvents_exports = {}; __export(usePassThroughMouseOverEvents_exports, { usePassThroughMouseOverEvents: () => usePassThroughMouseOverEvents }); module.exports = __toCommonJS(usePassThroughMouseOverEvents_exports); var import_react = require("react"); var import_dom = require("../utils/dom"); var import_useContainer = require("./useContainer"); function usePassThroughMouseOverEvents(ref) { if (!ref) throw Error("usePassThroughWheelEvents must be passed a ref"); const container = (0, import_useContainer.useContainer)(); (0, import_react.useEffect)(() => { function onMouseOver(e) { if (e.isSpecialRedispatchedEvent) return; (0, import_dom.preventDefault)(e); const cvs = container.querySelector(".tl-canvas"); if (!cvs) return; const newEvent = new PointerEvent(e.type, e); newEvent.isSpecialRedispatchedEvent = true; cvs.dispatchEvent(newEvent); } const elm = ref.current; if (!elm) return; elm.addEventListener("mouseover", onMouseOver, { passive: false }); return () => { elm.removeEventListener("mouseover", onMouseOver); }; }, [container, ref]); } //# sourceMappingURL=usePassThroughMouseOverEvents.js.map