@tldraw/editor 4.1.0-next.1b89b40eff1c → 4.1.0-next.2c81540f049b

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 (64) hide show
  1. package/dist-cjs/index.d.ts +16 -3
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawEditor.js +2 -2
  5. package/dist-cjs/lib/components/ErrorBoundary.js +1 -1
  6. package/dist-cjs/lib/components/HTMLContainer.js +1 -1
  7. package/dist-cjs/lib/components/SVGContainer.js +1 -1
  8. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +1 -1
  9. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  10. package/dist-cjs/lib/components/default-components/DefaultCursor.js +1 -1
  11. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
  12. package/dist-cjs/lib/components/default-components/DefaultHandle.js +1 -1
  13. package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
  14. package/dist-cjs/lib/components/default-components/DefaultSelectionBackground.js +1 -1
  15. package/dist-cjs/lib/components/default-components/DefaultSelectionForeground.js +1 -1
  16. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +1 -1
  17. package/dist-cjs/lib/components/default-components/DefaultShapeWrapper.js +1 -1
  18. package/dist-cjs/lib/components/default-components/DefaultSnapIndictor.js +2 -2
  19. package/dist-cjs/lib/components/default-components/DefaultSpinner.js +1 -1
  20. package/dist-cjs/lib/editor/Editor.js +5 -3
  21. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  22. package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js +67 -2
  23. package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js.map +2 -2
  24. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  25. package/dist-cjs/lib/hooks/useDarkMode.js +1 -1
  26. package/dist-cjs/lib/hooks/useEditor.js +1 -1
  27. package/dist-cjs/lib/hooks/useGestureEvents.js +1 -1
  28. package/dist-cjs/lib/hooks/useHandleEvents.js +1 -1
  29. package/dist-cjs/lib/hooks/useZoomCss.js +1 -1
  30. package/dist-cjs/lib/license/LicenseManager.js +18 -12
  31. package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
  32. package/dist-cjs/lib/license/Watermark.js +4 -4
  33. package/dist-cjs/lib/license/Watermark.js.map +1 -1
  34. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +5 -0
  35. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  36. package/dist-cjs/version.js +4 -4
  37. package/dist-cjs/version.js.map +1 -1
  38. package/dist-esm/index.d.mts +16 -3
  39. package/dist-esm/index.mjs +1 -1
  40. package/dist-esm/index.mjs.map +2 -2
  41. package/dist-esm/lib/editor/Editor.mjs +5 -2
  42. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  43. package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs +67 -2
  44. package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs.map +2 -2
  45. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  46. package/dist-esm/lib/license/LicenseManager.mjs +18 -12
  47. package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
  48. package/dist-esm/lib/license/Watermark.mjs +4 -4
  49. package/dist-esm/lib/license/Watermark.mjs.map +1 -1
  50. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +5 -0
  51. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  52. package/dist-esm/version.mjs +4 -4
  53. package/dist-esm/version.mjs.map +1 -1
  54. package/editor.css +7 -2
  55. package/package.json +7 -7
  56. package/src/index.ts +0 -1
  57. package/src/lib/editor/Editor.ts +5 -2
  58. package/src/lib/editor/managers/SnapManager/HandleSnaps.ts +91 -4
  59. package/src/lib/editor/shapes/ShapeUtil.ts +10 -0
  60. package/src/lib/license/LicenseManager.test.ts +68 -4
  61. package/src/lib/license/LicenseManager.ts +19 -20
  62. package/src/lib/license/Watermark.tsx +4 -4
  63. package/src/lib/primitives/geometry/Geometry2d.ts +6 -0
  64. package/src/version.ts +4 -4
@@ -120,6 +120,8 @@ export abstract class Geometry2d {
120
120
  distanceToLineSegment(A: VecLike, B: VecLike, filters?: Geometry2dFilters) {
121
121
  if (Vec.Equals(A, B)) return this.distanceToPoint(A, false, filters)
122
122
  const { vertices } = this
123
+ if (vertices.length === 0) throw Error('nearest point not found')
124
+ if (vertices.length === 1) return Vec.Dist(A, vertices[0])
123
125
  let nearest: Vec | undefined
124
126
  let dist = Infinity
125
127
  let d: number, p: Vec, q: Vec
@@ -175,6 +177,8 @@ export abstract class Geometry2d {
175
177
  interpolateAlongEdge(t: number, _filters?: Geometry2dFilters): Vec {
176
178
  const { vertices } = this
177
179
 
180
+ if (vertices.length === 0) return new Vec(0, 0)
181
+ if (vertices.length === 1) return vertices[0]
178
182
  if (t <= 0) return vertices[0]
179
183
 
180
184
  const distanceToTravel = t * this.length
@@ -209,6 +213,8 @@ export abstract class Geometry2d {
209
213
  let closestDistance = Infinity
210
214
  let distanceTraveled = 0
211
215
 
216
+ if (vertices.length === 0 || vertices.length === 1) return 0
217
+
212
218
  for (let i = 0; i < (this.isClosed ? vertices.length : vertices.length - 1); i++) {
213
219
  const curr = vertices[i]
214
220
  const next = vertices[(i + 1) % vertices.length]
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.1.0-next.1b89b40eff1c'
4
+ export const version = '4.1.0-next.2c81540f049b'
5
5
  export const publishDates = {
6
- major: '2025-09-19T17:03:17.287Z',
7
- minor: '2025-09-19T17:03:17.287Z',
8
- patch: '2025-09-19T17:03:17.287Z',
6
+ major: '2025-09-18T14:39:22.803Z',
7
+ minor: '2025-10-15T10:06:47.170Z',
8
+ patch: '2025-10-15T10:06:47.170Z',
9
9
  }