@tldraw/editor 3.16.0-canary.e4220f725a90 → 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.
Files changed (74) hide show
  1. package/dist-cjs/index.d.ts +27 -28
  2. package/dist-cjs/index.js +2 -4
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawEditor.js +0 -2
  5. package/dist-cjs/lib/TldrawEditor.js.map +2 -2
  6. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +4 -4
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  8. package/dist-cjs/lib/editor/Editor.js +29 -0
  9. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  10. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +4 -2
  11. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
  12. package/dist-cjs/lib/hooks/useCanvasEvents.js +17 -17
  13. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  14. package/dist-cjs/lib/hooks/useDocumentEvents.js +4 -4
  15. package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
  16. package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js +1 -1
  17. package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js.map +2 -2
  18. package/dist-cjs/lib/hooks/useHandleEvents.js +6 -6
  19. package/dist-cjs/lib/hooks/useHandleEvents.js.map +2 -2
  20. package/dist-cjs/lib/hooks/useSelectionEvents.js +8 -8
  21. package/dist-cjs/lib/hooks/useSelectionEvents.js.map +2 -2
  22. package/dist-cjs/lib/license/Watermark.js +97 -90
  23. package/dist-cjs/lib/license/Watermark.js.map +2 -2
  24. package/dist-cjs/lib/utils/dom.js +1 -12
  25. package/dist-cjs/lib/utils/dom.js.map +2 -2
  26. package/dist-cjs/lib/utils/getPointerInfo.js +2 -3
  27. package/dist-cjs/lib/utils/getPointerInfo.js.map +2 -2
  28. package/dist-cjs/version.js +3 -3
  29. package/dist-cjs/version.js.map +1 -1
  30. package/dist-esm/index.d.mts +27 -28
  31. package/dist-esm/index.mjs +3 -7
  32. package/dist-esm/index.mjs.map +2 -2
  33. package/dist-esm/lib/TldrawEditor.mjs +0 -2
  34. package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
  35. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +5 -5
  36. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  37. package/dist-esm/lib/editor/Editor.mjs +29 -0
  38. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  39. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +4 -2
  40. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
  41. package/dist-esm/lib/hooks/useCanvasEvents.mjs +18 -24
  42. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  43. package/dist-esm/lib/hooks/useDocumentEvents.mjs +5 -10
  44. package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
  45. package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs +2 -2
  46. package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs.map +2 -2
  47. package/dist-esm/lib/hooks/useHandleEvents.mjs +7 -12
  48. package/dist-esm/lib/hooks/useHandleEvents.mjs.map +2 -2
  49. package/dist-esm/lib/hooks/useSelectionEvents.mjs +9 -15
  50. package/dist-esm/lib/hooks/useSelectionEvents.mjs.map +2 -2
  51. package/dist-esm/lib/license/Watermark.mjs +98 -91
  52. package/dist-esm/lib/license/Watermark.mjs.map +2 -2
  53. package/dist-esm/lib/utils/dom.mjs +1 -12
  54. package/dist-esm/lib/utils/dom.mjs.map +2 -2
  55. package/dist-esm/lib/utils/getPointerInfo.mjs +2 -3
  56. package/dist-esm/lib/utils/getPointerInfo.mjs.map +2 -2
  57. package/dist-esm/version.mjs +3 -3
  58. package/dist-esm/version.mjs.map +1 -1
  59. package/package.json +7 -7
  60. package/src/index.ts +0 -2
  61. package/src/lib/TldrawEditor.tsx +0 -2
  62. package/src/lib/components/default-components/DefaultCanvas.tsx +5 -5
  63. package/src/lib/editor/Editor.ts +33 -0
  64. package/src/lib/editor/managers/FocusManager/FocusManager.ts +6 -2
  65. package/src/lib/hooks/useCanvasEvents.ts +18 -24
  66. package/src/lib/hooks/useDocumentEvents.ts +5 -10
  67. package/src/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.ts +2 -2
  68. package/src/lib/hooks/useHandleEvents.ts +7 -12
  69. package/src/lib/hooks/useSelectionEvents.ts +9 -15
  70. package/src/lib/license/Watermark.tsx +100 -92
  71. package/src/lib/utils/dom.test.ts +33 -24
  72. package/src/lib/utils/dom.ts +1 -31
  73. package/src/lib/utils/getPointerInfo.ts +3 -3
  74. package/src/version.ts +3 -3
@@ -81,43 +81,13 @@ export function releasePointerCapture(
81
81
  /**
82
82
  * Calls `event.stopPropagation()`.
83
83
  *
84
- * @deprecated Use {@link markEventAsHandled} instead, or manually call `event.stopPropagation()` if
84
+ * @deprecated Use {@link Editor.markEventAsHandled} instead, or manually call `event.stopPropagation()` if
85
85
  * that's what you really want.
86
86
  *
87
87
  * @public
88
88
  */
89
89
  export const stopEventPropagation = (e: any) => e.stopPropagation()
90
90
 
91
- const handledEvents = new WeakSet<Event>()
92
-
93
- /**
94
- * In tldraw, events are sometimes handled by multiple components. For example, the shapes might
95
- * have events, but the canvas handles events too. The way that the canvas handles events can
96
- * interfere with the with the shapes event handlers - for example, it calls `.preventDefault()` on
97
- * `pointerDown`, which also prevents `click` events from firing on the shapes.
98
- *
99
- * You can use `.stopPropagation()` to prevent the event from propagating to the rest of the DOM,
100
- * but that can impact non-tldraw event handlers set up elsewhere. By using `markEventAsHandled`,
101
- * you'll stop other parts of tldraw from handling the event without impacting other, non-tldraw
102
- * event handlers. See also {@link wasEventAlreadyHandled}.
103
- *
104
- * @public
105
- */
106
- export function markEventAsHandled(e: Event | { nativeEvent: Event }) {
107
- const nativeEvent = 'nativeEvent' in e ? e.nativeEvent : e
108
- handledEvents.add(nativeEvent)
109
- }
110
-
111
- /**
112
- * Checks if an event has already been handled. See {@link markEventAsHandled}.
113
- *
114
- * @public
115
- */
116
- export function wasEventAlreadyHandled(e: Event | { nativeEvent: Event }) {
117
- const nativeEvent = 'nativeEvent' in e ? e.nativeEvent : e
118
- return handledEvents.has(nativeEvent)
119
- }
120
-
121
91
  /** @internal */
122
92
  export const setStyleProperty = (
123
93
  elm: HTMLElement | null,
@@ -1,9 +1,9 @@
1
- import { markEventAsHandled } from './dom'
1
+ import { Editor } from '../editor/Editor'
2
2
  import { isAccelKey } from './keyboard'
3
3
 
4
4
  /** @public */
5
- export function getPointerInfo(e: React.PointerEvent | PointerEvent) {
6
- markEventAsHandled(e)
5
+ export function getPointerInfo(editor: Editor, e: React.PointerEvent | PointerEvent) {
6
+ editor.markEventAsHandled(e)
7
7
 
8
8
  return {
9
9
  point: {
package/src/version.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated by internal/scripts/refresh-assets.ts.
2
2
  // Do not edit manually. Or do, I'm a comment, not a cop.
3
3
 
4
- export const version = '3.16.0-canary.e4220f725a90'
4
+ export const version = '3.16.0-canary.e455ab838b8f'
5
5
  export const publishDates = {
6
6
  major: '2024-09-13T14:36:29.063Z',
7
- minor: '2025-09-16T10:39:01.336Z',
8
- patch: '2025-09-16T10:39:01.336Z',
7
+ minor: '2025-09-17T16:11:14.790Z',
8
+ patch: '2025-09-17T16:11:14.790Z',
9
9
  }