@tldraw/editor 3.14.0-canary.f8af44c4d1e2 → 3.14.0-canary.ff61ab6deaa2

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 (121) hide show
  1. package/dist-cjs/index.d.ts +0 -17
  2. package/dist-cjs/index.js +8 -8
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/editor/Editor.js +18 -52
  5. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  6. package/dist-cjs/lib/editor/derivations/bindingsIndex.js +22 -22
  7. package/dist-cjs/lib/editor/derivations/bindingsIndex.js.map +2 -2
  8. package/dist-cjs/lib/editor/derivations/parentsToChildren.js +16 -16
  9. package/dist-cjs/lib/editor/derivations/parentsToChildren.js.map +2 -2
  10. package/dist-cjs/lib/editor/managers/{ClickManager.js → ClickManager/ClickManager.js} +1 -1
  11. package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js.map +7 -0
  12. package/dist-cjs/lib/editor/managers/{EdgeScrollManager.js → EdgeScrollManager/EdgeScrollManager.js} +2 -2
  13. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +7 -0
  14. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +7 -0
  15. package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +7 -0
  16. package/dist-cjs/lib/editor/managers/{HistoryManager.js → HistoryManager/HistoryManager.js} +64 -6
  17. package/dist-cjs/lib/editor/managers/HistoryManager/HistoryManager.js.map +7 -0
  18. package/dist-cjs/lib/editor/managers/{ScribbleManager.js → ScribbleManager/ScribbleManager.js} +1 -1
  19. package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js.map +7 -0
  20. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +7 -0
  21. package/dist-cjs/lib/editor/managers/{TickManager.js → TickManager/TickManager.js} +1 -1
  22. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js.map +7 -0
  23. package/dist-cjs/lib/editor/managers/{UserPreferencesManager.js → UserPreferencesManager/UserPreferencesManager.js} +1 -1
  24. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +7 -0
  25. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +1 -1
  26. package/dist-cjs/lib/exports/getSvgJsx.js.map +1 -1
  27. package/dist-cjs/lib/utils/reorderShapes.js +11 -10
  28. package/dist-cjs/lib/utils/reorderShapes.js.map +2 -2
  29. package/dist-cjs/lib/utils/richText.js.map +1 -1
  30. package/dist-cjs/version.js +3 -3
  31. package/dist-cjs/version.js.map +1 -1
  32. package/dist-esm/index.d.mts +0 -17
  33. package/dist-esm/index.mjs +12 -8
  34. package/dist-esm/index.mjs.map +2 -2
  35. package/dist-esm/lib/editor/Editor.mjs +18 -52
  36. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  37. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs +22 -22
  38. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs.map +2 -2
  39. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs +16 -16
  40. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs.map +2 -2
  41. package/dist-esm/lib/editor/managers/{ClickManager.mjs → ClickManager/ClickManager.mjs} +1 -1
  42. package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +7 -0
  43. package/dist-esm/lib/editor/managers/{EdgeScrollManager.mjs → EdgeScrollManager/EdgeScrollManager.mjs} +2 -2
  44. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +7 -0
  45. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +7 -0
  46. package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +7 -0
  47. package/dist-esm/lib/editor/managers/{HistoryManager.mjs → HistoryManager/HistoryManager.mjs} +60 -2
  48. package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs.map +7 -0
  49. package/dist-esm/lib/editor/managers/{ScribbleManager.mjs → ScribbleManager/ScribbleManager.mjs} +1 -1
  50. package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +7 -0
  51. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +7 -0
  52. package/dist-esm/lib/editor/managers/{TickManager.mjs → TickManager/TickManager.mjs} +1 -1
  53. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +7 -0
  54. package/dist-esm/lib/editor/managers/{UserPreferencesManager.mjs → UserPreferencesManager/UserPreferencesManager.mjs} +1 -1
  55. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +7 -0
  56. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +1 -1
  57. package/dist-esm/lib/exports/getSvgJsx.mjs.map +1 -1
  58. package/dist-esm/lib/utils/reorderShapes.mjs +11 -10
  59. package/dist-esm/lib/utils/reorderShapes.mjs.map +2 -2
  60. package/dist-esm/lib/utils/richText.mjs.map +1 -1
  61. package/dist-esm/version.mjs +3 -3
  62. package/dist-esm/version.mjs.map +1 -1
  63. package/package.json +7 -7
  64. package/src/index.ts +13 -7
  65. package/src/lib/editor/Editor.ts +20 -54
  66. package/src/lib/editor/derivations/bindingsIndex.ts +27 -26
  67. package/src/lib/editor/derivations/parentsToChildren.ts +28 -25
  68. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +442 -0
  69. package/src/lib/editor/managers/{ClickManager.ts → ClickManager/ClickManager.ts} +3 -3
  70. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +374 -0
  71. package/src/lib/editor/managers/{EdgeScrollManager.ts → EdgeScrollManager/EdgeScrollManager.ts} +3 -3
  72. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +455 -0
  73. package/src/lib/editor/managers/{FocusManager.ts → FocusManager/FocusManager.ts} +1 -1
  74. package/src/lib/editor/managers/FontManager/FontManager.test.ts +263 -0
  75. package/src/lib/editor/managers/{FontManager.ts → FontManager/FontManager.ts} +1 -1
  76. package/src/lib/editor/managers/{HistoryManager.test.ts → HistoryManager/HistoryManager.test.ts} +388 -1
  77. package/src/lib/editor/managers/{HistoryManager.ts → HistoryManager/HistoryManager.ts} +73 -2
  78. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +624 -0
  79. package/src/lib/editor/managers/{ScribbleManager.ts → ScribbleManager/ScribbleManager.ts} +2 -2
  80. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +485 -0
  81. package/src/lib/editor/managers/TextManager/TextManager.test.ts +411 -0
  82. package/src/lib/editor/managers/{TextManager.ts → TextManager/TextManager.ts} +1 -1
  83. package/src/lib/editor/managers/TickManager/TickManager.test.ts +314 -0
  84. package/src/lib/editor/managers/{TickManager.ts → TickManager/TickManager.ts} +2 -2
  85. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +591 -0
  86. package/src/lib/editor/managers/{UserPreferencesManager.ts → UserPreferencesManager/UserPreferencesManager.ts} +2 -2
  87. package/src/lib/editor/shapes/ShapeUtil.ts +1 -1
  88. package/src/lib/exports/getSvgJsx.tsx +1 -1
  89. package/src/lib/utils/reorderShapes.ts +10 -13
  90. package/src/lib/utils/richText.ts +1 -1
  91. package/src/version.ts +3 -3
  92. package/dist-cjs/lib/editor/managers/ClickManager.js.map +0 -7
  93. package/dist-cjs/lib/editor/managers/EdgeScrollManager.js.map +0 -7
  94. package/dist-cjs/lib/editor/managers/FocusManager.js.map +0 -7
  95. package/dist-cjs/lib/editor/managers/FontManager.js.map +0 -7
  96. package/dist-cjs/lib/editor/managers/HistoryManager.js.map +0 -7
  97. package/dist-cjs/lib/editor/managers/ScribbleManager.js.map +0 -7
  98. package/dist-cjs/lib/editor/managers/Stack.js +0 -82
  99. package/dist-cjs/lib/editor/managers/Stack.js.map +0 -7
  100. package/dist-cjs/lib/editor/managers/TextManager.js.map +0 -7
  101. package/dist-cjs/lib/editor/managers/TickManager.js.map +0 -7
  102. package/dist-cjs/lib/editor/managers/UserPreferencesManager.js.map +0 -7
  103. package/dist-esm/lib/editor/managers/ClickManager.mjs.map +0 -7
  104. package/dist-esm/lib/editor/managers/EdgeScrollManager.mjs.map +0 -7
  105. package/dist-esm/lib/editor/managers/FocusManager.mjs.map +0 -7
  106. package/dist-esm/lib/editor/managers/FontManager.mjs.map +0 -7
  107. package/dist-esm/lib/editor/managers/HistoryManager.mjs.map +0 -7
  108. package/dist-esm/lib/editor/managers/ScribbleManager.mjs.map +0 -7
  109. package/dist-esm/lib/editor/managers/Stack.mjs +0 -62
  110. package/dist-esm/lib/editor/managers/Stack.mjs.map +0 -7
  111. package/dist-esm/lib/editor/managers/TextManager.mjs.map +0 -7
  112. package/dist-esm/lib/editor/managers/TickManager.mjs.map +0 -7
  113. package/dist-esm/lib/editor/managers/UserPreferencesManager.mjs.map +0 -7
  114. package/src/lib/editor/managers/ScribbleManager.test.ts +0 -32
  115. package/src/lib/editor/managers/Stack.ts +0 -71
  116. /package/dist-cjs/lib/editor/managers/{FocusManager.js → FocusManager/FocusManager.js} +0 -0
  117. /package/dist-cjs/lib/editor/managers/{FontManager.js → FontManager/FontManager.js} +0 -0
  118. /package/dist-cjs/lib/editor/managers/{TextManager.js → TextManager/TextManager.js} +0 -0
  119. /package/dist-esm/lib/editor/managers/{FocusManager.mjs → FocusManager/FocusManager.mjs} +0 -0
  120. /package/dist-esm/lib/editor/managers/{FontManager.mjs → FontManager/FontManager.mjs} +0 -0
  121. /package/dist-esm/lib/editor/managers/{TextManager.mjs → TextManager/TextManager.mjs} +0 -0
@@ -147,16 +147,16 @@ import { bindingsIndex } from "./derivations/bindingsIndex.mjs";
147
147
  import { notVisibleShapes } from "./derivations/notVisibleShapes.mjs";
148
148
  import { parentsToChildren } from "./derivations/parentsToChildren.mjs";
149
149
  import { deriveShapeIdsInCurrentPage } from "./derivations/shapeIdsInCurrentPage.mjs";
150
- import { ClickManager } from "./managers/ClickManager.mjs";
151
- import { EdgeScrollManager } from "./managers/EdgeScrollManager.mjs";
152
- import { FocusManager } from "./managers/FocusManager.mjs";
153
- import { FontManager } from "./managers/FontManager.mjs";
154
- import { HistoryManager } from "./managers/HistoryManager.mjs";
155
- import { ScribbleManager } from "./managers/ScribbleManager.mjs";
150
+ import { ClickManager } from "./managers/ClickManager/ClickManager.mjs";
151
+ import { EdgeScrollManager } from "./managers/EdgeScrollManager/EdgeScrollManager.mjs";
152
+ import { FocusManager } from "./managers/FocusManager/FocusManager.mjs";
153
+ import { FontManager } from "./managers/FontManager/FontManager.mjs";
154
+ import { HistoryManager } from "./managers/HistoryManager/HistoryManager.mjs";
155
+ import { ScribbleManager } from "./managers/ScribbleManager/ScribbleManager.mjs";
156
156
  import { SnapManager } from "./managers/SnapManager/SnapManager.mjs";
157
- import { TextManager } from "./managers/TextManager.mjs";
158
- import { TickManager } from "./managers/TickManager.mjs";
159
- import { UserPreferencesManager } from "./managers/UserPreferencesManager.mjs";
157
+ import { TextManager } from "./managers/TextManager/TextManager.mjs";
158
+ import { TickManager } from "./managers/TickManager/TickManager.mjs";
159
+ import { UserPreferencesManager } from "./managers/UserPreferencesManager/UserPreferencesManager.mjs";
160
160
  import { RootState } from "./tools/RootState.mjs";
161
161
  class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed], _getCanUndo_dec = [computed], _getCanRedo_dec = [computed], _getPath_dec = [computed], _getCurrentTool_dec = [computed], _getCurrentToolId_dec = [computed], _getDocumentSettings_dec = [computed], _getInstanceState_dec = [computed], _getOpenMenus_dec = [computed], _getIsMenuOpen_dec = [computed], _getPageStates_dec = [computed], __getPageStatesQuery_dec = [computed], _getCurrentPageState_dec = [computed], __getCurrentPageStateId_dec = [computed], _getSelectedShapeIds_dec = [computed], _getSelectedShapes_dec = [computed], _getCurrentPageShapesInReadingOrder_dec = [computed], _getOnlySelectedShapeId_dec = [computed], _getOnlySelectedShape_dec = [computed], _getSelectionPageBounds_dec = [computed], _getSelectionRotation_dec = [computed], _getSelectionRotatedPageBounds_dec = [computed], _getSelectionRotatedScreenBounds_dec = [computed], _getFocusedGroupId_dec = [computed], _getFocusedGroup_dec = [computed], _getEditingShapeId_dec = [computed], _getEditingShape_dec = [computed], _getRichTextEditor_dec = [computed], _getHoveredShapeId_dec = [computed], _getHoveredShape_dec = [computed], _getHintingShapeIds_dec = [computed], _getHintingShape_dec = [computed], _getErasingShapeIds_dec = [computed], _getErasingShapes_dec = [computed], __unsafe_getCameraId_dec = [computed], _getCamera_dec = [computed], _getViewportPageBoundsForFollowing_dec = [computed], _getCameraForFollowing_dec = [computed], _getZoomLevel_dec = [computed], _getViewportScreenBounds_dec = [computed], _getViewportScreenCenter_dec = [computed], _getViewportPageBounds_dec = [computed], __getCollaboratorsQuery_dec = [computed], _getCollaborators_dec = [computed], _getCollaboratorsOnCurrentPage_dec = [computed], _getRenderingShapes_dec = [computed], __getAllPagesQuery_dec = [computed], _getPages_dec = [computed], _getCurrentPageId_dec = [computed], _getCurrentPageShapeIdsSorted_dec = [computed], __getAllAssetsQuery_dec = [computed], __getShapeHandlesCache_dec = [computed], __getShapePageTransformCache_dec = [computed], __getShapePageBoundsCache_dec = [computed], __getShapeClipPathCache_dec = [computed], __getShapeMaskCache_dec = [computed], __getShapeMaskedPageBoundsCache_dec = [computed], __notVisibleShapes_dec = [computed], _getCulledShapes_dec = [computed], _getCurrentPageBounds_dec = [computed], _getCurrentPageShapes_dec = [computed], _getCurrentPageShapesSorted_dec = [computed], _getCurrentPageRenderingShapesSorted_dec = [computed], __getBindingsIndexCache_dec = [computed], __getSelectionSharedStyles_dec = [computed], _getSharedStyles_dec = [computed({ isEqual: (a, b) => a.equals(b) })], _getSharedOpacity_dec = [computed], _getIsFocused_dec = [computed], _getIsReadonly_dec = [computed], __setShiftKeyTimeout_dec = [bind], __setAltKeyTimeout_dec = [bind], __setCtrlKeyTimeout_dec = [bind], __setMetaKeyTimeout_dec = [bind], _a) {
162
162
  constructor({
@@ -336,7 +336,6 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
336
336
  __publicField(this, "_currentPageShapeIds");
337
337
  /* --------------------- Shapes --------------------- */
338
338
  __publicField(this, "_shapeGeometryCaches", {});
339
- __publicField(this, "_shapePageGeometryCaches", {});
340
339
  // Parents and children
341
340
  /**
342
341
  * A cache of parents to children.
@@ -3529,41 +3528,6 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3529
3528
  typeof shape === "string" ? shape : shape.id
3530
3529
  );
3531
3530
  }
3532
- /**
3533
- * Get the geometry of a shape in page-space.
3534
- *
3535
- * @example
3536
- * ```ts
3537
- * editor.getShapePageGeometry(myShape)
3538
- * editor.getShapePageGeometry(myShapeId)
3539
- * editor.getShapePageGeometry(myShapeId, { context: "arrow" })
3540
- * ```
3541
- *
3542
- * @param shape - The shape (or shape id) to get the geometry for.
3543
- * @param opts - Additional options about the request for geometry. Passed to {@link ShapeUtil.getGeometry}.
3544
- *
3545
- * @public
3546
- */
3547
- getShapePageGeometry(shape, opts) {
3548
- const context = opts?.context ?? "none";
3549
- if (!this._shapePageGeometryCaches[context]) {
3550
- this._shapePageGeometryCaches[context] = this.store.createComputedCache(
3551
- "bounds",
3552
- (shape2) => {
3553
- const geometry = this.getShapeGeometry(shape2.id, opts);
3554
- const pageTransform = this.getShapePageTransform(shape2.id);
3555
- return geometry.transform(pageTransform);
3556
- },
3557
- {
3558
- // we only depend directly on the shape id, and changing geometry/transform will update us anyway
3559
- areRecordsEqual: () => true
3560
- }
3561
- );
3562
- }
3563
- return this._shapePageGeometryCaches[context].get(
3564
- typeof shape === "string" ? shape : shape.id
3565
- );
3566
- }
3567
3531
  _getShapeHandlesCache() {
3568
3532
  return this.store.createComputedCache(
3569
3533
  "handles",
@@ -3657,7 +3621,10 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3657
3621
  }
3658
3622
  _getShapePageBoundsCache() {
3659
3623
  return this.store.createComputedCache("pageBoundsCache", (shape) => {
3660
- return this.getShapePageGeometry(shape).bounds;
3624
+ const pageTransform = this.getShapePageTransform(shape);
3625
+ if (!pageTransform) return void 0;
3626
+ const geometry = this.getShapeGeometry(shape);
3627
+ return Box.FromPoints(pageTransform.applyToPoints(geometry.vertices));
3661
3628
  });
3662
3629
  }
3663
3630
  /**
@@ -3714,12 +3681,11 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3714
3681
  (shape2) => this.isShapeOfType(shape2, "frame")
3715
3682
  );
3716
3683
  if (frameAncestors.length === 0) return void 0;
3717
- const pageMask = frameAncestors.map(
3718
- (s) => (
3719
- // Apply the frame transform to the frame outline to get the frame outline in the current page space
3720
- (this.getShapePageGeometry(s.id).vertices)
3721
- )
3722
- ).reduce((acc, b) => {
3684
+ const pageMask = frameAncestors.map((s) => {
3685
+ const geometry = this.getShapeGeometry(s.id);
3686
+ const pageTransform = this.getShapePageTransform(s.id);
3687
+ return pageTransform.applyToPoints(geometry.vertices);
3688
+ }).reduce((acc, b) => {
3723
3689
  if (!(b && acc)) return void 0;
3724
3690
  const intersection = intersectPolygonPolygon(acc, b);
3725
3691
  if (intersection) {