@tldraw/editor 4.3.0-canary.e52fa5385f86 → 4.3.0-canary.ea88b223b83a

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 (155) hide show
  1. package/dist-cjs/index.d.ts +428 -120
  2. package/dist-cjs/index.js +5 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/components/ErrorBoundary.js.map +1 -1
  5. package/dist-cjs/lib/components/GeometryDebuggingView.js +1 -17
  6. package/dist-cjs/lib/components/GeometryDebuggingView.js.map +2 -2
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +3 -3
  8. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  9. package/dist-cjs/lib/constants.js +1 -3
  10. package/dist-cjs/lib/constants.js.map +2 -2
  11. package/dist-cjs/lib/editor/Editor.js +268 -274
  12. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  13. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +18 -17
  14. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +3 -3
  15. package/dist-cjs/lib/editor/derivations/parentsToChildren.js +12 -3
  16. package/dist-cjs/lib/editor/derivations/parentsToChildren.js.map +2 -2
  17. package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js +1 -1
  18. package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js.map +2 -2
  19. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +5 -6
  20. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
  21. package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js +591 -0
  22. package/dist-cjs/lib/editor/managers/InputsManager/InputsManager.js.map +7 -0
  23. package/dist-cjs/lib/editor/managers/SnapManager/SnapManager.js +1 -1
  24. package/dist-cjs/lib/editor/managers/SnapManager/SnapManager.js.map +2 -2
  25. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js +1 -22
  26. package/dist-cjs/lib/editor/managers/TickManager/TickManager.js.map +2 -2
  27. package/dist-cjs/lib/editor/shapes/ShapeUtil.js +31 -23
  28. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  29. package/dist-cjs/lib/editor/shapes/group/DashedOutlineBox.js +1 -1
  30. package/dist-cjs/lib/editor/shapes/group/DashedOutlineBox.js.map +2 -2
  31. package/dist-cjs/lib/editor/tools/BaseBoxShapeTool/children/Pointing.js +3 -3
  32. package/dist-cjs/lib/editor/tools/BaseBoxShapeTool/children/Pointing.js.map +2 -2
  33. package/dist-cjs/lib/exports/parseCss.js +1 -1
  34. package/dist-cjs/lib/exports/parseCss.js.map +2 -2
  35. package/dist-cjs/lib/hooks/useEvent.js +1 -1
  36. package/dist-cjs/lib/hooks/useEvent.js.map +2 -2
  37. package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js.map +2 -2
  38. package/dist-cjs/lib/hooks/useGestureEvents.js +1 -1
  39. package/dist-cjs/lib/hooks/useGestureEvents.js.map +2 -2
  40. package/dist-cjs/lib/hooks/usePassThroughMouseOverEvents.js.map +2 -2
  41. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js.map +2 -2
  42. package/dist-cjs/lib/hooks/useScreenBounds.js.map +2 -2
  43. package/dist-cjs/lib/hooks/useStateAttribute.js +4 -1
  44. package/dist-cjs/lib/hooks/useStateAttribute.js.map +2 -2
  45. package/dist-cjs/lib/hooks/useTransform.js.map +1 -1
  46. package/dist-cjs/lib/hooks/useZoomCss.js +4 -8
  47. package/dist-cjs/lib/hooks/useZoomCss.js.map +2 -2
  48. package/dist-cjs/lib/options.js +6 -1
  49. package/dist-cjs/lib/options.js.map +2 -2
  50. package/dist-cjs/lib/primitives/Box.js +3 -0
  51. package/dist-cjs/lib/primitives/Box.js.map +2 -2
  52. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +1 -0
  53. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  54. package/dist-cjs/lib/utils/rotation.js +1 -1
  55. package/dist-cjs/lib/utils/rotation.js.map +2 -2
  56. package/dist-cjs/version.js +3 -3
  57. package/dist-cjs/version.js.map +1 -1
  58. package/dist-esm/index.d.mts +428 -120
  59. package/dist-esm/index.mjs +5 -1
  60. package/dist-esm/index.mjs.map +2 -2
  61. package/dist-esm/lib/components/ErrorBoundary.mjs.map +1 -1
  62. package/dist-esm/lib/components/GeometryDebuggingView.mjs +1 -17
  63. package/dist-esm/lib/components/GeometryDebuggingView.mjs.map +2 -2
  64. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +3 -3
  65. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  66. package/dist-esm/lib/constants.mjs +1 -3
  67. package/dist-esm/lib/constants.mjs.map +2 -2
  68. package/dist-esm/lib/editor/Editor.mjs +269 -277
  69. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  70. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +18 -17
  71. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +3 -3
  72. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs +13 -4
  73. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs.map +2 -2
  74. package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs +1 -1
  75. package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +2 -2
  76. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +5 -6
  77. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
  78. package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs +573 -0
  79. package/dist-esm/lib/editor/managers/InputsManager/InputsManager.mjs.map +7 -0
  80. package/dist-esm/lib/editor/managers/SnapManager/SnapManager.mjs +1 -1
  81. package/dist-esm/lib/editor/managers/SnapManager/SnapManager.mjs.map +2 -2
  82. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs +1 -22
  83. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +2 -2
  84. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +31 -23
  85. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  86. package/dist-esm/lib/editor/shapes/group/DashedOutlineBox.mjs +1 -1
  87. package/dist-esm/lib/editor/shapes/group/DashedOutlineBox.mjs.map +2 -2
  88. package/dist-esm/lib/editor/tools/BaseBoxShapeTool/children/Pointing.mjs +3 -3
  89. package/dist-esm/lib/editor/tools/BaseBoxShapeTool/children/Pointing.mjs.map +2 -2
  90. package/dist-esm/lib/exports/parseCss.mjs +1 -1
  91. package/dist-esm/lib/exports/parseCss.mjs.map +2 -2
  92. package/dist-esm/lib/hooks/useEvent.mjs +1 -1
  93. package/dist-esm/lib/hooks/useEvent.mjs.map +2 -2
  94. package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs.map +2 -2
  95. package/dist-esm/lib/hooks/useGestureEvents.mjs +1 -1
  96. package/dist-esm/lib/hooks/useGestureEvents.mjs.map +2 -2
  97. package/dist-esm/lib/hooks/usePassThroughMouseOverEvents.mjs.map +2 -2
  98. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs.map +2 -2
  99. package/dist-esm/lib/hooks/useScreenBounds.mjs.map +2 -2
  100. package/dist-esm/lib/hooks/useStateAttribute.mjs +4 -1
  101. package/dist-esm/lib/hooks/useStateAttribute.mjs.map +2 -2
  102. package/dist-esm/lib/hooks/useTransform.mjs.map +1 -1
  103. package/dist-esm/lib/hooks/useZoomCss.mjs +4 -8
  104. package/dist-esm/lib/hooks/useZoomCss.mjs.map +2 -2
  105. package/dist-esm/lib/options.mjs +6 -1
  106. package/dist-esm/lib/options.mjs.map +2 -2
  107. package/dist-esm/lib/primitives/Box.mjs +3 -0
  108. package/dist-esm/lib/primitives/Box.mjs.map +2 -2
  109. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +1 -0
  110. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  111. package/dist-esm/lib/utils/rotation.mjs +1 -1
  112. package/dist-esm/lib/utils/rotation.mjs.map +2 -2
  113. package/dist-esm/version.mjs +3 -3
  114. package/dist-esm/version.mjs.map +1 -1
  115. package/editor.css +14 -12
  116. package/package.json +18 -16
  117. package/src/index.ts +3 -0
  118. package/src/lib/components/ErrorBoundary.tsx +1 -1
  119. package/src/lib/components/GeometryDebuggingView.tsx +1 -19
  120. package/src/lib/components/default-components/DefaultCanvas.tsx +3 -3
  121. package/src/lib/config/TLUserPreferences.test.ts +40 -0
  122. package/src/lib/constants.ts +0 -2
  123. package/src/lib/editor/Editor.test.ts +140 -0
  124. package/src/lib/editor/Editor.ts +349 -320
  125. package/src/lib/editor/derivations/notVisibleShapes.ts +37 -23
  126. package/src/lib/editor/derivations/parentsToChildren.ts +18 -7
  127. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +17 -31
  128. package/src/lib/editor/managers/ClickManager/ClickManager.ts +1 -1
  129. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +129 -79
  130. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +10 -6
  131. package/src/lib/editor/managers/InputsManager/InputsManager.ts +566 -0
  132. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +0 -4
  133. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +12 -0
  134. package/src/lib/editor/managers/SnapManager/SnapManager.ts +1 -1
  135. package/src/lib/editor/managers/TickManager/TickManager.test.ts +40 -107
  136. package/src/lib/editor/managers/TickManager/TickManager.ts +2 -32
  137. package/src/lib/editor/shapes/ShapeUtil.ts +67 -24
  138. package/src/lib/editor/shapes/group/DashedOutlineBox.tsx +1 -1
  139. package/src/lib/editor/tools/BaseBoxShapeTool/children/Pointing.ts +3 -3
  140. package/src/lib/exports/parseCss.test.ts +1 -0
  141. package/src/lib/exports/parseCss.ts +1 -1
  142. package/src/lib/hooks/useEvent.tsx +1 -1
  143. package/src/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.ts +1 -1
  144. package/src/lib/hooks/useGestureEvents.ts +2 -2
  145. package/src/lib/hooks/usePassThroughMouseOverEvents.ts +1 -1
  146. package/src/lib/hooks/usePassThroughWheelEvents.ts +1 -1
  147. package/src/lib/hooks/useScreenBounds.ts +1 -1
  148. package/src/lib/hooks/useStateAttribute.ts +4 -1
  149. package/src/lib/hooks/useTransform.ts +1 -1
  150. package/src/lib/hooks/useZoomCss.ts +3 -8
  151. package/src/lib/options.ts +32 -0
  152. package/src/lib/primitives/Box.ts +9 -0
  153. package/src/lib/primitives/geometry/Geometry2d.ts +1 -0
  154. package/src/lib/utils/rotation.ts +1 -1
  155. package/src/version.ts +3 -3
@@ -180,6 +180,15 @@ export class Box {
180
180
  return new Vec(this.w, this.h)
181
181
  }
182
182
 
183
+ isValid() {
184
+ return (
185
+ Number.isFinite(this.x) &&
186
+ Number.isFinite(this.y) &&
187
+ Number.isFinite(this.w) &&
188
+ Number.isFinite(this.h)
189
+ )
190
+ }
191
+
183
192
  toFixed() {
184
193
  this.x = toPrecision(this.x)
185
194
  this.y = toPrecision(this.y)
@@ -140,6 +140,7 @@ export abstract class Geometry2d {
140
140
  }
141
141
  }
142
142
  if (!nearest) throw Error('nearest point not found')
143
+ dist = Math.sqrt(dist) // return the actual distance, not the squared distance
143
144
  return this.isClosed && this.isFilled && pointInPolygon(nearest, this.vertices) ? -dist : dist
144
145
  }
145
146
 
@@ -32,7 +32,7 @@ export function getRotationSnapshot({
32
32
 
33
33
  return {
34
34
  initialPageCenter,
35
- initialCursorAngle: initialPageCenter.angle(editor.inputs.originPagePoint),
35
+ initialCursorAngle: initialPageCenter.angle(editor.inputs.getOriginPagePoint()),
36
36
  initialShapesRotation: rotation,
37
37
  shapeSnapshots: shapes.map((shape) => ({
38
38
  shape,
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 = '4.3.0-canary.e52fa5385f86'
4
+ export const version = '4.3.0-canary.ea88b223b83a'
5
5
  export const publishDates = {
6
6
  major: '2025-09-18T14:39:22.803Z',
7
- minor: '2025-12-05T21:53:17.454Z',
8
- patch: '2025-12-05T21:53:17.454Z',
7
+ minor: '2026-01-07T11:49:21.408Z',
8
+ patch: '2026-01-07T11:49:21.408Z',
9
9
  }