@tldraw/editor 3.16.0-canary.54408756ac9c → 3.16.0-canary.5462c7eac75a

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 (93) hide show
  1. package/dist-cjs/index.d.ts +49 -3
  2. package/dist-cjs/index.js +4 -2
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawEditor.js +1 -1
  5. package/dist-cjs/lib/TldrawEditor.js.map +2 -2
  6. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +11 -1
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  8. package/dist-cjs/lib/editor/Editor.js +9 -4
  9. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  10. package/dist-cjs/lib/hooks/useCanvasEvents.js +15 -12
  11. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  12. package/dist-cjs/lib/hooks/useDocumentEvents.js +5 -5
  13. package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
  14. package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js +1 -2
  15. package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js.map +2 -2
  16. package/dist-cjs/lib/hooks/useGestureEvents.js +1 -1
  17. package/dist-cjs/lib/hooks/useGestureEvents.js.map +2 -2
  18. package/dist-cjs/lib/hooks/useHandleEvents.js +3 -3
  19. package/dist-cjs/lib/hooks/useHandleEvents.js.map +2 -2
  20. package/dist-cjs/lib/hooks/useSelectionEvents.js +4 -4
  21. package/dist-cjs/lib/hooks/useSelectionEvents.js.map +2 -2
  22. package/dist-cjs/lib/license/LicenseManager.js +24 -4
  23. package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
  24. package/dist-cjs/lib/license/Watermark.js +2 -2
  25. package/dist-cjs/lib/license/Watermark.js.map +2 -2
  26. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +24 -2
  27. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  28. package/dist-cjs/lib/primitives/geometry/Group2d.js +5 -1
  29. package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
  30. package/dist-cjs/lib/utils/dom.js +12 -1
  31. package/dist-cjs/lib/utils/dom.js.map +2 -2
  32. package/dist-cjs/lib/utils/getPointerInfo.js +2 -2
  33. package/dist-cjs/lib/utils/getPointerInfo.js.map +2 -2
  34. package/dist-cjs/version.js +3 -3
  35. package/dist-cjs/version.js.map +1 -1
  36. package/dist-esm/index.d.mts +49 -3
  37. package/dist-esm/index.mjs +7 -3
  38. package/dist-esm/index.mjs.map +2 -2
  39. package/dist-esm/lib/TldrawEditor.mjs +2 -2
  40. package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
  41. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +12 -2
  42. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  43. package/dist-esm/lib/editor/Editor.mjs +9 -4
  44. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  45. package/dist-esm/lib/hooks/useCanvasEvents.mjs +17 -13
  46. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  47. package/dist-esm/lib/hooks/useDocumentEvents.mjs +11 -6
  48. package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
  49. package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs +2 -3
  50. package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs.map +2 -2
  51. package/dist-esm/lib/hooks/useGestureEvents.mjs +2 -2
  52. package/dist-esm/lib/hooks/useGestureEvents.mjs.map +2 -2
  53. package/dist-esm/lib/hooks/useHandleEvents.mjs +9 -4
  54. package/dist-esm/lib/hooks/useHandleEvents.mjs.map +2 -2
  55. package/dist-esm/lib/hooks/useSelectionEvents.mjs +6 -5
  56. package/dist-esm/lib/hooks/useSelectionEvents.mjs.map +2 -2
  57. package/dist-esm/lib/license/LicenseManager.mjs +24 -4
  58. package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
  59. package/dist-esm/lib/license/Watermark.mjs +3 -3
  60. package/dist-esm/lib/license/Watermark.mjs.map +2 -2
  61. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +24 -2
  62. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  63. package/dist-esm/lib/primitives/geometry/Group2d.mjs +5 -1
  64. package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
  65. package/dist-esm/lib/utils/dom.mjs +12 -1
  66. package/dist-esm/lib/utils/dom.mjs.map +2 -2
  67. package/dist-esm/lib/utils/getPointerInfo.mjs +2 -2
  68. package/dist-esm/lib/utils/getPointerInfo.mjs.map +2 -2
  69. package/dist-esm/version.mjs +3 -3
  70. package/dist-esm/version.mjs.map +1 -1
  71. package/package.json +7 -7
  72. package/src/index.ts +2 -0
  73. package/src/lib/TldrawEditor.tsx +2 -2
  74. package/src/lib/components/default-components/DefaultCanvas.tsx +8 -2
  75. package/src/lib/editor/Editor.test.ts +90 -0
  76. package/src/lib/editor/Editor.ts +16 -4
  77. package/src/lib/hooks/useCanvasEvents.ts +17 -11
  78. package/src/lib/hooks/useDocumentEvents.ts +11 -6
  79. package/src/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.ts +2 -2
  80. package/src/lib/hooks/useGestureEvents.ts +2 -2
  81. package/src/lib/hooks/useHandleEvents.ts +9 -4
  82. package/src/lib/hooks/useSelectionEvents.ts +6 -5
  83. package/src/lib/license/LicenseManager.test.ts +78 -2
  84. package/src/lib/license/LicenseManager.ts +31 -5
  85. package/src/lib/license/Watermark.tsx +3 -3
  86. package/src/lib/primitives/geometry/Geometry2d.test.ts +420 -0
  87. package/src/lib/primitives/geometry/Geometry2d.ts +29 -2
  88. package/src/lib/primitives/geometry/Group2d.ts +6 -1
  89. package/src/lib/test/InFrontOfTheCanvas.test.tsx +187 -0
  90. package/src/lib/utils/dom.test.ts +94 -0
  91. package/src/lib/utils/dom.ts +38 -1
  92. package/src/lib/utils/getPointerInfo.ts +2 -1
  93. package/src/version.ts +3 -3
@@ -3528,8 +3528,9 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
3528
3528
  return this.store.createComputedCache("pageBoundsCache", (shape) => {
3529
3529
  const pageTransform = this.getShapePageTransform(shape);
3530
3530
  if (!pageTransform) return void 0;
3531
- const geometry = this.getShapeGeometry(shape);
3532
- return import_Box.Box.FromPoints(pageTransform.applyToPoints(geometry.vertices));
3531
+ return import_Box.Box.FromPoints(
3532
+ pageTransform.applyToPoints(this.getShapeGeometry(shape).boundsVertices)
3533
+ );
3533
3534
  });
3534
3535
  }
3535
3536
  /**
@@ -6437,16 +6438,20 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
6437
6438
  * Handle external content, such as files, urls, embeds, or plain text which has been put into the app, for example by pasting external text or dropping external images onto canvas.
6438
6439
  *
6439
6440
  * @param info - Info about the external content.
6441
+ * @param opts - Options for handling external content, including force flag to bypass readonly checks.
6440
6442
  */
6441
- async putExternalContent(info) {
6443
+ async putExternalContent(info, opts = {}) {
6444
+ if (!opts.force && this.getIsReadonly()) return;
6442
6445
  return this.externalContentHandlers[info.type]?.(info);
6443
6446
  }
6444
6447
  /**
6445
6448
  * Handle replacing external content.
6446
6449
  *
6447
6450
  * @param info - Info about the external content.
6451
+ * @param opts - Options for handling external content, including force flag to bypass readonly checks.
6448
6452
  */
6449
- async replaceExternalContent(info) {
6453
+ async replaceExternalContent(info, opts = {}) {
6454
+ if (!opts.force && this.getIsReadonly()) return;
6450
6455
  return this.externalContentHandlers[info.type]?.(info);
6451
6456
  }
6452
6457
  /**