@tldraw/editor 3.16.0-canary.e372fad80b6d → 3.16.0-canary.e455ab838b8f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cjs/index.d.ts +27 -28
- package/dist-cjs/index.js +2 -4
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/TldrawEditor.js +0 -2
- package/dist-cjs/lib/TldrawEditor.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js +4 -4
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +29 -0
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +4 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
- package/dist-cjs/lib/hooks/useCanvasEvents.js +17 -17
- package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useDocumentEvents.js +4 -4
- package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js +1 -1
- package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useHandleEvents.js +6 -6
- package/dist-cjs/lib/hooks/useHandleEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useSelectionEvents.js +8 -8
- package/dist-cjs/lib/hooks/useSelectionEvents.js.map +2 -2
- package/dist-cjs/lib/license/LicenseManager.js +3 -0
- package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
- package/dist-cjs/lib/license/Watermark.js +97 -90
- package/dist-cjs/lib/license/Watermark.js.map +2 -2
- package/dist-cjs/lib/utils/dom.js +1 -12
- package/dist-cjs/lib/utils/dom.js.map +2 -2
- package/dist-cjs/lib/utils/getPointerInfo.js +2 -3
- package/dist-cjs/lib/utils/getPointerInfo.js.map +2 -2
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +27 -28
- package/dist-esm/index.mjs +3 -7
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/TldrawEditor.mjs +0 -2
- package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +5 -5
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +29 -0
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +4 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
- package/dist-esm/lib/hooks/useCanvasEvents.mjs +18 -24
- package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useDocumentEvents.mjs +5 -10
- package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs +2 -2
- package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useHandleEvents.mjs +7 -12
- package/dist-esm/lib/hooks/useHandleEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useSelectionEvents.mjs +9 -15
- package/dist-esm/lib/hooks/useSelectionEvents.mjs.map +2 -2
- package/dist-esm/lib/license/LicenseManager.mjs +3 -0
- package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
- package/dist-esm/lib/license/Watermark.mjs +98 -91
- package/dist-esm/lib/license/Watermark.mjs.map +2 -2
- package/dist-esm/lib/utils/dom.mjs +1 -12
- package/dist-esm/lib/utils/dom.mjs.map +2 -2
- package/dist-esm/lib/utils/getPointerInfo.mjs +2 -3
- package/dist-esm/lib/utils/getPointerInfo.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +0 -2
- package/src/lib/TldrawEditor.tsx +0 -2
- package/src/lib/components/default-components/DefaultCanvas.tsx +5 -5
- package/src/lib/editor/Editor.ts +33 -0
- package/src/lib/editor/managers/FocusManager/FocusManager.ts +6 -2
- package/src/lib/hooks/useCanvasEvents.ts +18 -24
- package/src/lib/hooks/useDocumentEvents.ts +5 -10
- package/src/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.ts +2 -2
- package/src/lib/hooks/useHandleEvents.ts +7 -12
- package/src/lib/hooks/useSelectionEvents.ts +9 -15
- package/src/lib/license/LicenseManager.ts +3 -0
- package/src/lib/license/Watermark.tsx +100 -92
- package/src/lib/utils/dom.test.ts +33 -24
- package/src/lib/utils/dom.ts +1 -31
- package/src/lib/utils/getPointerInfo.ts +3 -3
- package/src/version.ts +3 -3
|
@@ -438,6 +438,8 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
|
|
|
438
438
|
__publicField(this, "performanceTracker");
|
|
439
439
|
/** @internal */
|
|
440
440
|
__publicField(this, "performanceTrackerTimeout", -1);
|
|
441
|
+
/** @internal */
|
|
442
|
+
__publicField(this, "handledEvents", /* @__PURE__ */ new WeakSet());
|
|
441
443
|
__publicField(this, "_pendingEventsForNextTick", []);
|
|
442
444
|
this._getShapeVisibility = getShapeVisibility;
|
|
443
445
|
this.options = { ...defaultTldrawOptions, ...options };
|
|
@@ -465,6 +467,7 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
|
|
|
465
467
|
}
|
|
466
468
|
this.root = new NewRoot(this);
|
|
467
469
|
this.root.children = {};
|
|
470
|
+
this.markEventAsHandled = this.markEventAsHandled.bind(this);
|
|
468
471
|
const allShapeUtils = checkShapesAndAddCore(shapeUtils);
|
|
469
472
|
const _shapeUtils = {};
|
|
470
473
|
const _styleProps = {};
|
|
@@ -7405,6 +7408,32 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
|
|
|
7405
7408
|
code: "MetaLeft"
|
|
7406
7409
|
});
|
|
7407
7410
|
}
|
|
7411
|
+
/**
|
|
7412
|
+
* In tldraw, events are sometimes handled by multiple components. For example, the shapes might
|
|
7413
|
+
* have events, but the canvas handles events too. The way that the canvas handles events can
|
|
7414
|
+
* interfere with the with the shapes event handlers - for example, it calls `.preventDefault()`
|
|
7415
|
+
* on `pointerDown`, which also prevents `click` events from firing on the shapes.
|
|
7416
|
+
*
|
|
7417
|
+
* You can use `.stopPropagation()` to prevent the event from propagating to the rest of the
|
|
7418
|
+
* DOM, but that can impact non-tldraw event handlers set up elsewhere. By using
|
|
7419
|
+
* `markEventAsHandled`, you'll stop other parts of tldraw from handling the event without
|
|
7420
|
+
* impacting other, non-tldraw event handlers. See also {@link Editor.wasEventAlreadyHandled}.
|
|
7421
|
+
*
|
|
7422
|
+
* @public
|
|
7423
|
+
*/
|
|
7424
|
+
markEventAsHandled(e) {
|
|
7425
|
+
const nativeEvent = "nativeEvent" in e ? e.nativeEvent : e;
|
|
7426
|
+
this.handledEvents.add(nativeEvent);
|
|
7427
|
+
}
|
|
7428
|
+
/**
|
|
7429
|
+
* Checks if an event has already been handled. See {@link Editor.markEventAsHandled}.
|
|
7430
|
+
*
|
|
7431
|
+
* @public
|
|
7432
|
+
*/
|
|
7433
|
+
wasEventAlreadyHandled(e) {
|
|
7434
|
+
const nativeEvent = "nativeEvent" in e ? e.nativeEvent : e;
|
|
7435
|
+
return this.handledEvents.has(nativeEvent);
|
|
7436
|
+
}
|
|
7408
7437
|
/**
|
|
7409
7438
|
* Dispatch an event to the editor.
|
|
7410
7439
|
*
|