@tldraw/editor 3.14.0-canary.c69104f4d831 → 3.14.0-canary.c76a772c4700

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 (206) hide show
  1. package/dist-cjs/index.d.ts +90 -101
  2. package/dist-cjs/index.js +8 -8
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/config/TLSessionStateSnapshot.js +1 -12
  5. package/dist-cjs/lib/config/TLSessionStateSnapshot.js.map +3 -3
  6. package/dist-cjs/lib/editor/Editor.js +51 -75
  7. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  8. package/dist-cjs/lib/editor/bindings/BindingUtil.js.map +2 -2
  9. package/dist-cjs/lib/editor/derivations/bindingsIndex.js +22 -22
  10. package/dist-cjs/lib/editor/derivations/bindingsIndex.js.map +2 -2
  11. package/dist-cjs/lib/editor/derivations/parentsToChildren.js +16 -16
  12. package/dist-cjs/lib/editor/derivations/parentsToChildren.js.map +2 -2
  13. package/dist-cjs/lib/editor/managers/{ClickManager.js → ClickManager/ClickManager.js} +1 -1
  14. package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js.map +7 -0
  15. package/dist-cjs/lib/editor/managers/{EdgeScrollManager.js → EdgeScrollManager/EdgeScrollManager.js} +2 -2
  16. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +7 -0
  17. package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +7 -0
  18. package/dist-cjs/lib/editor/managers/{FontManager.js → FontManager/FontManager.js} +4 -1
  19. package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +7 -0
  20. package/dist-cjs/lib/editor/managers/{HistoryManager.js → HistoryManager/HistoryManager.js} +64 -6
  21. package/dist-cjs/lib/editor/managers/HistoryManager/HistoryManager.js.map +7 -0
  22. package/dist-cjs/lib/editor/managers/{ScribbleManager.js → ScribbleManager/ScribbleManager.js} +1 -1
  23. package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js.map +7 -0
  24. package/dist-cjs/lib/editor/managers/{TextManager.js → TextManager/TextManager.js} +72 -42
  25. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +7 -0
  26. package/dist-cjs/lib/editor/managers/{TickManager.js → TickManager/TickManager.js} +1 -1
  27. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js.map +7 -0
  28. package/dist-cjs/lib/editor/managers/{UserPreferencesManager.js → UserPreferencesManager/UserPreferencesManager.js} +1 -1
  29. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +7 -0
  30. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +1 -1
  31. package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +1 -1
  32. package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +1 -1
  33. package/dist-cjs/lib/exports/getSvgJsx.js.map +1 -1
  34. package/dist-cjs/lib/primitives/Box.js +33 -33
  35. package/dist-cjs/lib/primitives/Box.js.map +2 -2
  36. package/dist-cjs/lib/primitives/Vec.js +13 -8
  37. package/dist-cjs/lib/primitives/Vec.js.map +2 -2
  38. package/dist-cjs/lib/primitives/geometry/Arc2d.js +41 -21
  39. package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
  40. package/dist-cjs/lib/primitives/geometry/Circle2d.js +11 -11
  41. package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
  42. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +13 -16
  43. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
  44. package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js +4 -4
  45. package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js.map +2 -2
  46. package/dist-cjs/lib/primitives/geometry/Edge2d.js +14 -17
  47. package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
  48. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js +10 -10
  49. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
  50. package/dist-cjs/lib/primitives/geometry/Point2d.js +6 -6
  51. package/dist-cjs/lib/primitives/geometry/Point2d.js.map +2 -2
  52. package/dist-cjs/lib/primitives/geometry/Polygon2d.js +3 -0
  53. package/dist-cjs/lib/primitives/geometry/Polygon2d.js.map +2 -2
  54. package/dist-cjs/lib/primitives/geometry/Polyline2d.js +8 -5
  55. package/dist-cjs/lib/primitives/geometry/Polyline2d.js.map +2 -2
  56. package/dist-cjs/lib/primitives/geometry/Rectangle2d.js +22 -11
  57. package/dist-cjs/lib/primitives/geometry/Rectangle2d.js.map +2 -2
  58. package/dist-cjs/lib/primitives/geometry/Stadium2d.js +22 -22
  59. package/dist-cjs/lib/primitives/geometry/Stadium2d.js.map +2 -2
  60. package/dist-cjs/lib/utils/reorderShapes.js +11 -10
  61. package/dist-cjs/lib/utils/reorderShapes.js.map +2 -2
  62. package/dist-cjs/lib/utils/richText.js +7 -2
  63. package/dist-cjs/lib/utils/richText.js.map +2 -2
  64. package/dist-cjs/version.js +3 -3
  65. package/dist-cjs/version.js.map +1 -1
  66. package/dist-esm/index.d.mts +90 -101
  67. package/dist-esm/index.mjs +12 -8
  68. package/dist-esm/index.mjs.map +2 -2
  69. package/dist-esm/lib/config/TLSessionStateSnapshot.mjs +1 -1
  70. package/dist-esm/lib/config/TLSessionStateSnapshot.mjs.map +2 -2
  71. package/dist-esm/lib/editor/Editor.mjs +51 -75
  72. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  73. package/dist-esm/lib/editor/bindings/BindingUtil.mjs.map +2 -2
  74. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs +22 -22
  75. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs.map +2 -2
  76. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs +16 -16
  77. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs.map +2 -2
  78. package/dist-esm/lib/editor/managers/{ClickManager.mjs → ClickManager/ClickManager.mjs} +1 -1
  79. package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +7 -0
  80. package/dist-esm/lib/editor/managers/{EdgeScrollManager.mjs → EdgeScrollManager/EdgeScrollManager.mjs} +2 -2
  81. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +7 -0
  82. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +7 -0
  83. package/dist-esm/lib/editor/managers/{FontManager.mjs → FontManager/FontManager.mjs} +4 -1
  84. package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +7 -0
  85. package/dist-esm/lib/editor/managers/{HistoryManager.mjs → HistoryManager/HistoryManager.mjs} +60 -2
  86. package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs.map +7 -0
  87. package/dist-esm/lib/editor/managers/{ScribbleManager.mjs → ScribbleManager/ScribbleManager.mjs} +1 -1
  88. package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +7 -0
  89. package/dist-esm/lib/editor/managers/{TextManager.mjs → TextManager/TextManager.mjs} +72 -42
  90. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +7 -0
  91. package/dist-esm/lib/editor/managers/{TickManager.mjs → TickManager/TickManager.mjs} +1 -1
  92. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +7 -0
  93. package/dist-esm/lib/editor/managers/{UserPreferencesManager.mjs → UserPreferencesManager/UserPreferencesManager.mjs} +1 -1
  94. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +7 -0
  95. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +1 -1
  96. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +1 -1
  97. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +1 -1
  98. package/dist-esm/lib/exports/getSvgJsx.mjs.map +1 -1
  99. package/dist-esm/lib/primitives/Box.mjs +33 -33
  100. package/dist-esm/lib/primitives/Box.mjs.map +2 -2
  101. package/dist-esm/lib/primitives/Vec.mjs +13 -8
  102. package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
  103. package/dist-esm/lib/primitives/geometry/Arc2d.mjs +41 -21
  104. package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
  105. package/dist-esm/lib/primitives/geometry/Circle2d.mjs +11 -11
  106. package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
  107. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +13 -16
  108. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
  109. package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs +4 -4
  110. package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs.map +2 -2
  111. package/dist-esm/lib/primitives/geometry/Edge2d.mjs +14 -17
  112. package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
  113. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs +11 -11
  114. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
  115. package/dist-esm/lib/primitives/geometry/Point2d.mjs +6 -6
  116. package/dist-esm/lib/primitives/geometry/Point2d.mjs.map +2 -2
  117. package/dist-esm/lib/primitives/geometry/Polygon2d.mjs +3 -0
  118. package/dist-esm/lib/primitives/geometry/Polygon2d.mjs.map +2 -2
  119. package/dist-esm/lib/primitives/geometry/Polyline2d.mjs +8 -5
  120. package/dist-esm/lib/primitives/geometry/Polyline2d.mjs.map +2 -2
  121. package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs +22 -11
  122. package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs.map +2 -2
  123. package/dist-esm/lib/primitives/geometry/Stadium2d.mjs +22 -22
  124. package/dist-esm/lib/primitives/geometry/Stadium2d.mjs.map +2 -2
  125. package/dist-esm/lib/utils/reorderShapes.mjs +11 -10
  126. package/dist-esm/lib/utils/reorderShapes.mjs.map +2 -2
  127. package/dist-esm/lib/utils/richText.mjs +8 -3
  128. package/dist-esm/lib/utils/richText.mjs.map +2 -2
  129. package/dist-esm/version.mjs +3 -3
  130. package/dist-esm/version.mjs.map +1 -1
  131. package/editor.css +458 -523
  132. package/package.json +8 -9
  133. package/src/index.ts +14 -7
  134. package/src/lib/config/TLSessionStateSnapshot.ts +1 -1
  135. package/src/lib/editor/Editor.test.ts +252 -3
  136. package/src/lib/editor/Editor.ts +50 -73
  137. package/src/lib/editor/bindings/BindingUtil.ts +6 -0
  138. package/src/lib/editor/derivations/bindingsIndex.ts +27 -26
  139. package/src/lib/editor/derivations/parentsToChildren.ts +28 -25
  140. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +442 -0
  141. package/src/lib/editor/managers/{ClickManager.ts → ClickManager/ClickManager.ts} +3 -3
  142. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +374 -0
  143. package/src/lib/editor/managers/{EdgeScrollManager.ts → EdgeScrollManager/EdgeScrollManager.ts} +3 -3
  144. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +455 -0
  145. package/src/lib/editor/managers/{FocusManager.ts → FocusManager/FocusManager.ts} +1 -1
  146. package/src/lib/editor/managers/FontManager/FontManager.test.ts +263 -0
  147. package/src/lib/editor/managers/{FontManager.ts → FontManager/FontManager.ts} +5 -2
  148. package/src/lib/editor/managers/{HistoryManager.test.ts → HistoryManager/HistoryManager.test.ts} +388 -1
  149. package/src/lib/editor/managers/{HistoryManager.ts → HistoryManager/HistoryManager.ts} +73 -2
  150. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +624 -0
  151. package/src/lib/editor/managers/{ScribbleManager.ts → ScribbleManager/ScribbleManager.ts} +2 -2
  152. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +485 -0
  153. package/src/lib/editor/managers/TextManager/TextManager.test.ts +407 -0
  154. package/src/lib/editor/managers/{TextManager.ts → TextManager/TextManager.ts} +117 -87
  155. package/src/lib/editor/managers/TickManager/TickManager.test.ts +314 -0
  156. package/src/lib/editor/managers/{TickManager.ts → TickManager/TickManager.ts} +2 -2
  157. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +591 -0
  158. package/src/lib/editor/managers/{UserPreferencesManager.ts → UserPreferencesManager/UserPreferencesManager.ts} +2 -2
  159. package/src/lib/editor/shapes/ShapeUtil.ts +1 -1
  160. package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +1 -1
  161. package/src/lib/exports/getSvgJsx.tsx +1 -1
  162. package/src/lib/primitives/Box.test.ts +588 -7
  163. package/src/lib/primitives/Box.ts +33 -33
  164. package/src/lib/primitives/Vec.test.ts +2 -2
  165. package/src/lib/primitives/Vec.ts +13 -8
  166. package/src/lib/primitives/geometry/Arc2d.ts +42 -23
  167. package/src/lib/primitives/geometry/Circle2d.ts +12 -12
  168. package/src/lib/primitives/geometry/CubicBezier2d.test.ts +5 -0
  169. package/src/lib/primitives/geometry/CubicBezier2d.ts +13 -17
  170. package/src/lib/primitives/geometry/CubicSpline2d.ts +5 -5
  171. package/src/lib/primitives/geometry/Edge2d.ts +14 -18
  172. package/src/lib/primitives/geometry/Ellipse2d.ts +12 -13
  173. package/src/lib/primitives/geometry/Point2d.ts +6 -6
  174. package/src/lib/primitives/geometry/Polygon2d.ts +4 -0
  175. package/src/lib/primitives/geometry/Polyline2d.ts +10 -7
  176. package/src/lib/primitives/geometry/Rectangle2d.ts +24 -11
  177. package/src/lib/primitives/geometry/Stadium2d.ts +22 -23
  178. package/src/lib/utils/reorderShapes.ts +10 -13
  179. package/src/lib/utils/richText.ts +10 -4
  180. package/src/version.ts +3 -3
  181. package/dist-cjs/lib/editor/managers/ClickManager.js.map +0 -7
  182. package/dist-cjs/lib/editor/managers/EdgeScrollManager.js.map +0 -7
  183. package/dist-cjs/lib/editor/managers/FocusManager.js.map +0 -7
  184. package/dist-cjs/lib/editor/managers/FontManager.js.map +0 -7
  185. package/dist-cjs/lib/editor/managers/HistoryManager.js.map +0 -7
  186. package/dist-cjs/lib/editor/managers/ScribbleManager.js.map +0 -7
  187. package/dist-cjs/lib/editor/managers/Stack.js +0 -82
  188. package/dist-cjs/lib/editor/managers/Stack.js.map +0 -7
  189. package/dist-cjs/lib/editor/managers/TextManager.js.map +0 -7
  190. package/dist-cjs/lib/editor/managers/TickManager.js.map +0 -7
  191. package/dist-cjs/lib/editor/managers/UserPreferencesManager.js.map +0 -7
  192. package/dist-esm/lib/editor/managers/ClickManager.mjs.map +0 -7
  193. package/dist-esm/lib/editor/managers/EdgeScrollManager.mjs.map +0 -7
  194. package/dist-esm/lib/editor/managers/FocusManager.mjs.map +0 -7
  195. package/dist-esm/lib/editor/managers/FontManager.mjs.map +0 -7
  196. package/dist-esm/lib/editor/managers/HistoryManager.mjs.map +0 -7
  197. package/dist-esm/lib/editor/managers/ScribbleManager.mjs.map +0 -7
  198. package/dist-esm/lib/editor/managers/Stack.mjs +0 -62
  199. package/dist-esm/lib/editor/managers/Stack.mjs.map +0 -7
  200. package/dist-esm/lib/editor/managers/TextManager.mjs.map +0 -7
  201. package/dist-esm/lib/editor/managers/TickManager.mjs.map +0 -7
  202. package/dist-esm/lib/editor/managers/UserPreferencesManager.mjs.map +0 -7
  203. package/src/lib/editor/managers/ScribbleManager.test.ts +0 -32
  204. package/src/lib/editor/managers/Stack.ts +0 -71
  205. /package/dist-cjs/lib/editor/managers/{FocusManager.js → FocusManager/FocusManager.js} +0 -0
  206. /package/dist-esm/lib/editor/managers/{FocusManager.mjs → FocusManager/FocusManager.mjs} +0 -0
@@ -46,7 +46,7 @@ var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use
46
46
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
47
47
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
48
48
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
49
- var __setMetaKeyTimeout_dec, __setCtrlKeyTimeout_dec, __setAltKeyTimeout_dec, __setShiftKeyTimeout_dec, _getIsReadonly_dec, _getIsFocused_dec, _getSharedOpacity_dec, _getSharedStyles_dec, __getSelectionSharedStyles_dec, __getBindingsIndexCache_dec, _getCurrentPageRenderingShapesSorted_dec, _getCurrentPageShapesSorted_dec, _getCurrentPageShapes_dec, _getCurrentPageBounds_dec, _getCulledShapes_dec, __notVisibleShapes_dec, __getShapeMaskedPageBoundsCache_dec, __getShapeMaskCache_dec, __getShapeClipPathCache_dec, __getShapePageBoundsCache_dec, __getShapePageTransformCache_dec, __getShapeHandlesCache_dec, __getAllAssetsQuery_dec, _getCurrentPageShapeIdsSorted_dec, _getCurrentPageId_dec, _getPages_dec, __getAllPagesQuery_dec, _getRenderingShapes_dec, _getCollaboratorsOnCurrentPage_dec, _getCollaborators_dec, __getCollaboratorsQuery_dec, _getViewportPageBounds_dec, _getViewportScreenCenter_dec, _getViewportScreenBounds_dec, _getZoomLevel_dec, _getCameraForFollowing_dec, _getViewportPageBoundsForFollowing_dec, _getCamera_dec, __unsafe_getCameraId_dec, _getErasingShapes_dec, _getErasingShapeIds_dec, _getHintingShape_dec, _getHintingShapeIds_dec, _getHoveredShape_dec, _getHoveredShapeId_dec, _getRichTextEditor_dec, _getEditingShape_dec, _getEditingShapeId_dec, _getFocusedGroup_dec, _getFocusedGroupId_dec, _getSelectionRotatedScreenBounds_dec, _getSelectionRotatedPageBounds_dec, _getSelectionRotation_dec, _getSelectionPageBounds_dec, _getOnlySelectedShape_dec, _getOnlySelectedShapeId_dec, _getCurrentPageShapesInReadingOrder_dec, _getSelectedShapes_dec, _getSelectedShapeIds_dec, __getCurrentPageStateId_dec, _getCurrentPageState_dec, __getPageStatesQuery_dec, _getPageStates_dec, _getIsMenuOpen_dec, _getOpenMenus_dec, _getInstanceState_dec, _getDocumentSettings_dec, _getCurrentToolId_dec, _getCurrentTool_dec, _getPath_dec, _getCanRedo_dec, _getCanUndo_dec, _getIsShapeHiddenCache_dec, _a, _init;
49
+ var __setMetaKeyTimeout_dec, __setCtrlKeyTimeout_dec, __setAltKeyTimeout_dec, __setShiftKeyTimeout_dec, _getIsReadonly_dec, _getIsFocused_dec, _getSharedOpacity_dec, _getSharedStyles_dec, __getSelectionSharedStyles_dec, __getBindingsIndexCache_dec, _getCurrentPageRenderingShapesSorted_dec, _getCurrentPageShapesSorted_dec, _getCurrentPageShapes_dec, _getCurrentPageBounds_dec, _getCulledShapes_dec, _getNotVisibleShapes_dec, __getShapeMaskedPageBoundsCache_dec, __getShapeMaskCache_dec, __getShapeClipPathCache_dec, __getShapePageBoundsCache_dec, __getShapePageTransformCache_dec, __getShapeHandlesCache_dec, __getAllAssetsQuery_dec, _getCurrentPageShapeIdsSorted_dec, _getCurrentPageId_dec, _getPages_dec, __getAllPagesQuery_dec, _getRenderingShapes_dec, _getCollaboratorsOnCurrentPage_dec, _getCollaborators_dec, __getCollaboratorsQuery_dec, _getViewportPageBounds_dec, _getViewportScreenCenter_dec, _getViewportScreenBounds_dec, _getZoomLevel_dec, _getCameraForFollowing_dec, _getViewportPageBoundsForFollowing_dec, _getCamera_dec, __unsafe_getCameraId_dec, _getErasingShapes_dec, _getErasingShapeIds_dec, _getHintingShape_dec, _getHintingShapeIds_dec, _getHoveredShape_dec, _getHoveredShapeId_dec, _getRichTextEditor_dec, _getEditingShape_dec, _getEditingShapeId_dec, _getFocusedGroup_dec, _getFocusedGroupId_dec, _getSelectionRotatedScreenBounds_dec, _getSelectionRotatedPageBounds_dec, _getSelectionRotation_dec, _getSelectionPageBounds_dec, _getOnlySelectedShape_dec, _getOnlySelectedShapeId_dec, _getCurrentPageShapesInReadingOrder_dec, _getSelectedShapes_dec, _getSelectedShapeIds_dec, __getCurrentPageStateId_dec, _getCurrentPageState_dec, __getPageStatesQuery_dec, _getPageStates_dec, _getIsMenuOpen_dec, _getOpenMenus_dec, _getInstanceState_dec, _getDocumentSettings_dec, _getCurrentToolId_dec, _getCurrentTool_dec, _getPath_dec, _getCanRedo_dec, _getCanUndo_dec, _getIsShapeHiddenCache_dec, _a, _init;
50
50
  import {
51
51
  EMPTY_ARRAY,
52
52
  atom,
@@ -147,18 +147,18 @@ 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
- 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) {
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], _getNotVisibleShapes_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({
163
163
  store,
164
164
  user,
@@ -336,7 +336,7 @@ 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", {});
339
+ __publicField(this, "_notVisibleShapes", notVisibleShapes(this));
340
340
  // Parents and children
341
341
  /**
342
342
  * A cache of parents to children.
@@ -473,6 +473,7 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
473
473
  this.disposables.add(() => this.user.dispose());
474
474
  this.getContainer = getContainer;
475
475
  this.textMeasure = new TextManager(this);
476
+ this.disposables.add(() => this.textMeasure.dispose());
476
477
  this.fonts = new FontManager(this, fontAssetUrls);
477
478
  this._tickManager = new TickManager(this);
478
479
  class NewRoot extends RootState {
@@ -598,14 +599,16 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
598
599
  this.getBindingUtil(binding).onAfterChangeFromShape?.({
599
600
  binding,
600
601
  shapeBefore,
601
- shapeAfter
602
+ shapeAfter,
603
+ reason: "self"
602
604
  });
603
605
  }
604
606
  if (binding.toId === shapeAfter.id) {
605
607
  this.getBindingUtil(binding).onAfterChangeToShape?.({
606
608
  binding,
607
609
  shapeBefore,
608
- shapeAfter
610
+ shapeAfter,
611
+ reason: "self"
609
612
  });
610
613
  }
611
614
  }
@@ -619,14 +622,16 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
619
622
  this.getBindingUtil(binding).onAfterChangeFromShape?.({
620
623
  binding,
621
624
  shapeBefore: descendantShape,
622
- shapeAfter: descendantShape
625
+ shapeAfter: descendantShape,
626
+ reason: "ancestry"
623
627
  });
624
628
  }
625
629
  if (binding.toId === descendantShape.id) {
626
630
  this.getBindingUtil(binding).onAfterChangeToShape?.({
627
631
  binding,
628
632
  shapeBefore: descendantShape,
629
- shapeAfter: descendantShape
633
+ shapeAfter: descendantShape,
634
+ reason: "ancestry"
630
635
  });
631
636
  }
632
637
  }
@@ -2853,10 +2858,7 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
2853
2858
  }
2854
2859
  getViewportScreenCenter() {
2855
2860
  const viewportScreenBounds = this.getViewportScreenBounds();
2856
- return new Vec(
2857
- viewportScreenBounds.midX - viewportScreenBounds.minX,
2858
- viewportScreenBounds.midY - viewportScreenBounds.minY
2859
- );
2861
+ return new Vec(viewportScreenBounds.w / 2, viewportScreenBounds.h / 2);
2860
2862
  }
2861
2863
  getViewportPageBounds() {
2862
2864
  const { w, h } = this.getViewportScreenBounds();
@@ -3531,41 +3533,6 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3531
3533
  typeof shape === "string" ? shape : shape.id
3532
3534
  );
3533
3535
  }
3534
- /**
3535
- * Get the geometry of a shape in page-space.
3536
- *
3537
- * @example
3538
- * ```ts
3539
- * editor.getShapePageGeometry(myShape)
3540
- * editor.getShapePageGeometry(myShapeId)
3541
- * editor.getShapePageGeometry(myShapeId, { context: "arrow" })
3542
- * ```
3543
- *
3544
- * @param shape - The shape (or shape id) to get the geometry for.
3545
- * @param opts - Additional options about the request for geometry. Passed to {@link ShapeUtil.getGeometry}.
3546
- *
3547
- * @public
3548
- */
3549
- getShapePageGeometry(shape, opts) {
3550
- const context = opts?.context ?? "none";
3551
- if (!this._shapePageGeometryCaches[context]) {
3552
- this._shapePageGeometryCaches[context] = this.store.createComputedCache(
3553
- "bounds",
3554
- (shape2) => {
3555
- const geometry = this.getShapeGeometry(shape2.id, opts);
3556
- const pageTransform = this.getShapePageTransform(shape2.id);
3557
- return geometry.transform(pageTransform);
3558
- },
3559
- {
3560
- // we only depend directly on the shape id, and changing geometry/transform will update us anyway
3561
- areRecordsEqual: () => true
3562
- }
3563
- );
3564
- }
3565
- return this._shapePageGeometryCaches[context].get(
3566
- typeof shape === "string" ? shape : shape.id
3567
- );
3568
- }
3569
3536
  _getShapeHandlesCache() {
3570
3537
  return this.store.createComputedCache(
3571
3538
  "handles",
@@ -3659,7 +3626,10 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3659
3626
  }
3660
3627
  _getShapePageBoundsCache() {
3661
3628
  return this.store.createComputedCache("pageBoundsCache", (shape) => {
3662
- return this.getShapePageGeometry(shape).bounds;
3629
+ const pageTransform = this.getShapePageTransform(shape);
3630
+ if (!pageTransform) return void 0;
3631
+ const geometry = this.getShapeGeometry(shape);
3632
+ return Box.FromPoints(pageTransform.applyToPoints(geometry.vertices));
3663
3633
  });
3664
3634
  }
3665
3635
  /**
@@ -3716,12 +3686,11 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3716
3686
  (shape2) => this.isShapeOfType(shape2, "frame")
3717
3687
  );
3718
3688
  if (frameAncestors.length === 0) return void 0;
3719
- const pageMask = frameAncestors.map(
3720
- (s) => (
3721
- // Apply the frame transform to the frame outline to get the frame outline in the current page space
3722
- (this.getShapePageGeometry(s.id).vertices)
3723
- )
3724
- ).reduce((acc, b) => {
3689
+ const pageMask = frameAncestors.map((s) => {
3690
+ const geometry = this.getShapeGeometry(s.id);
3691
+ const pageTransform = this.getShapePageTransform(s.id);
3692
+ return pageTransform.applyToPoints(geometry.vertices);
3693
+ }).reduce((acc, b) => {
3725
3694
  if (!(b && acc)) return void 0;
3726
3695
  const intersection = intersectPolygonPolygon(acc, b);
3727
3696
  if (intersection) {
@@ -3885,17 +3854,24 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
3885
3854
  }
3886
3855
  return void 0;
3887
3856
  }
3888
- isShapeOrAncestorLocked(arg) {
3889
- const shape = typeof arg === "string" ? this.getShape(arg) : arg;
3890
- if (shape === void 0) return false;
3891
- if (shape.isLocked) return true;
3892
- return this.isShapeOrAncestorLocked(this.getShapeParent(shape));
3857
+ /**
3858
+ * Check whether a shape or its parent is locked.
3859
+ *
3860
+ * @param shape - The shape (or shape id) to check.
3861
+ *
3862
+ * @public
3863
+ */
3864
+ isShapeOrAncestorLocked(shape) {
3865
+ const _shape = shape && this.getShape(shape);
3866
+ if (_shape === void 0) return false;
3867
+ if (_shape.isLocked) return true;
3868
+ return this.isShapeOrAncestorLocked(this.getShapeParent(_shape));
3893
3869
  }
3894
- _notVisibleShapes() {
3895
- return notVisibleShapes(this);
3870
+ getNotVisibleShapes() {
3871
+ return this._notVisibleShapes.get();
3896
3872
  }
3897
3873
  getCulledShapes() {
3898
- const notVisibleShapes2 = this._notVisibleShapes().get();
3874
+ const notVisibleShapes2 = this.getNotVisibleShapes();
3899
3875
  const selectedShapeIds = this.getSelectedShapeIds();
3900
3876
  const editingId = this.getEditingShapeId();
3901
3877
  const culledShapes = new Set(notVisibleShapes2);
@@ -4040,18 +4016,18 @@ class Editor extends (_a = EventEmitter, _getIsShapeHiddenCache_dec = [computed]
4040
4016
  * @example
4041
4017
  * ```ts
4042
4018
  * editor.getShapesAtPoint({ x: 100, y: 100 })
4043
- * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, exact: true })
4019
+ * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, margin: 8 })
4044
4020
  * ```
4045
4021
  *
4046
4022
  * @param point - The page point to test.
4047
4023
  * @param opts - The options for the hit point testing.
4048
4024
  *
4025
+ * @returns An array of shapes at the given point, sorted in reverse order of their absolute z-index (top-most shape first).
4026
+ *
4049
4027
  * @public
4050
4028
  */
4051
4029
  getShapesAtPoint(point, opts = {}) {
4052
- return this.getCurrentPageShapes().filter(
4053
- (shape) => !this.isShapeHidden(shape) && this.isPointInShape(shape, point, opts)
4054
- );
4030
+ return this.getCurrentPageShapesSorted().filter((shape) => !this.isShapeHidden(shape) && this.isPointInShape(shape, point, opts)).reverse();
4055
4031
  }
4056
4032
  /**
4057
4033
  * Test whether a point (in the current page space) will will a shape. This method takes into account masks,
@@ -7840,7 +7816,7 @@ __decorateElement(_init, 1, "_getShapePageBoundsCache", __getShapePageBoundsCach
7840
7816
  __decorateElement(_init, 1, "_getShapeClipPathCache", __getShapeClipPathCache_dec, Editor);
7841
7817
  __decorateElement(_init, 1, "_getShapeMaskCache", __getShapeMaskCache_dec, Editor);
7842
7818
  __decorateElement(_init, 1, "_getShapeMaskedPageBoundsCache", __getShapeMaskedPageBoundsCache_dec, Editor);
7843
- __decorateElement(_init, 1, "_notVisibleShapes", __notVisibleShapes_dec, Editor);
7819
+ __decorateElement(_init, 1, "getNotVisibleShapes", _getNotVisibleShapes_dec, Editor);
7844
7820
  __decorateElement(_init, 1, "getCulledShapes", _getCulledShapes_dec, Editor);
7845
7821
  __decorateElement(_init, 1, "getCurrentPageBounds", _getCurrentPageBounds_dec, Editor);
7846
7822
  __decorateElement(_init, 1, "getCurrentPageShapes", _getCurrentPageShapes_dec, Editor);