@tldraw/editor 3.14.0-canary.dbe17bbcfb3d → 3.14.0-canary.df0f81d497d2

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 (218) hide show
  1. package/dist-cjs/index.d.ts +114 -104
  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 +75 -76
  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/editor/tools/StateNode.js +3 -3
  34. package/dist-cjs/lib/editor/tools/StateNode.js.map +2 -2
  35. package/dist-cjs/lib/editor/types/external-content.js.map +1 -1
  36. package/dist-cjs/lib/exports/getSvgJsx.js.map +1 -1
  37. package/dist-cjs/lib/hooks/useCanvasEvents.js +1 -2
  38. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  39. package/dist-cjs/lib/primitives/Box.js +33 -33
  40. package/dist-cjs/lib/primitives/Box.js.map +2 -2
  41. package/dist-cjs/lib/primitives/Vec.js +13 -8
  42. package/dist-cjs/lib/primitives/Vec.js.map +2 -2
  43. package/dist-cjs/lib/primitives/geometry/Arc2d.js +41 -21
  44. package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
  45. package/dist-cjs/lib/primitives/geometry/Circle2d.js +11 -11
  46. package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
  47. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +13 -16
  48. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
  49. package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js +4 -4
  50. package/dist-cjs/lib/primitives/geometry/CubicSpline2d.js.map +2 -2
  51. package/dist-cjs/lib/primitives/geometry/Edge2d.js +14 -17
  52. package/dist-cjs/lib/primitives/geometry/Edge2d.js.map +2 -2
  53. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js +10 -10
  54. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
  55. package/dist-cjs/lib/primitives/geometry/Point2d.js +6 -6
  56. package/dist-cjs/lib/primitives/geometry/Point2d.js.map +2 -2
  57. package/dist-cjs/lib/primitives/geometry/Polygon2d.js +3 -0
  58. package/dist-cjs/lib/primitives/geometry/Polygon2d.js.map +2 -2
  59. package/dist-cjs/lib/primitives/geometry/Polyline2d.js +8 -5
  60. package/dist-cjs/lib/primitives/geometry/Polyline2d.js.map +2 -2
  61. package/dist-cjs/lib/primitives/geometry/Rectangle2d.js +22 -11
  62. package/dist-cjs/lib/primitives/geometry/Rectangle2d.js.map +2 -2
  63. package/dist-cjs/lib/primitives/geometry/Stadium2d.js +22 -22
  64. package/dist-cjs/lib/primitives/geometry/Stadium2d.js.map +2 -2
  65. package/dist-cjs/lib/utils/reorderShapes.js +11 -10
  66. package/dist-cjs/lib/utils/reorderShapes.js.map +2 -2
  67. package/dist-cjs/lib/utils/richText.js +7 -2
  68. package/dist-cjs/lib/utils/richText.js.map +2 -2
  69. package/dist-cjs/version.js +3 -3
  70. package/dist-cjs/version.js.map +1 -1
  71. package/dist-esm/index.d.mts +114 -104
  72. package/dist-esm/index.mjs +12 -8
  73. package/dist-esm/index.mjs.map +2 -2
  74. package/dist-esm/lib/config/TLSessionStateSnapshot.mjs +1 -1
  75. package/dist-esm/lib/config/TLSessionStateSnapshot.mjs.map +2 -2
  76. package/dist-esm/lib/editor/Editor.mjs +75 -76
  77. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  78. package/dist-esm/lib/editor/bindings/BindingUtil.mjs.map +2 -2
  79. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs +22 -22
  80. package/dist-esm/lib/editor/derivations/bindingsIndex.mjs.map +2 -2
  81. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs +16 -16
  82. package/dist-esm/lib/editor/derivations/parentsToChildren.mjs.map +2 -2
  83. package/dist-esm/lib/editor/managers/{ClickManager.mjs → ClickManager/ClickManager.mjs} +1 -1
  84. package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +7 -0
  85. package/dist-esm/lib/editor/managers/{EdgeScrollManager.mjs → EdgeScrollManager/EdgeScrollManager.mjs} +2 -2
  86. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +7 -0
  87. package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +7 -0
  88. package/dist-esm/lib/editor/managers/{FontManager.mjs → FontManager/FontManager.mjs} +4 -1
  89. package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +7 -0
  90. package/dist-esm/lib/editor/managers/{HistoryManager.mjs → HistoryManager/HistoryManager.mjs} +60 -2
  91. package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs.map +7 -0
  92. package/dist-esm/lib/editor/managers/{ScribbleManager.mjs → ScribbleManager/ScribbleManager.mjs} +1 -1
  93. package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +7 -0
  94. package/dist-esm/lib/editor/managers/{TextManager.mjs → TextManager/TextManager.mjs} +72 -42
  95. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +7 -0
  96. package/dist-esm/lib/editor/managers/{TickManager.mjs → TickManager/TickManager.mjs} +1 -1
  97. package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +7 -0
  98. package/dist-esm/lib/editor/managers/{UserPreferencesManager.mjs → UserPreferencesManager/UserPreferencesManager.mjs} +1 -1
  99. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +7 -0
  100. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +1 -1
  101. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +1 -1
  102. package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +1 -1
  103. package/dist-esm/lib/editor/tools/StateNode.mjs +3 -3
  104. package/dist-esm/lib/editor/tools/StateNode.mjs.map +2 -2
  105. package/dist-esm/lib/exports/getSvgJsx.mjs.map +1 -1
  106. package/dist-esm/lib/hooks/useCanvasEvents.mjs +1 -2
  107. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  108. package/dist-esm/lib/primitives/Box.mjs +33 -33
  109. package/dist-esm/lib/primitives/Box.mjs.map +2 -2
  110. package/dist-esm/lib/primitives/Vec.mjs +13 -8
  111. package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
  112. package/dist-esm/lib/primitives/geometry/Arc2d.mjs +41 -21
  113. package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
  114. package/dist-esm/lib/primitives/geometry/Circle2d.mjs +11 -11
  115. package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
  116. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +13 -16
  117. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
  118. package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs +4 -4
  119. package/dist-esm/lib/primitives/geometry/CubicSpline2d.mjs.map +2 -2
  120. package/dist-esm/lib/primitives/geometry/Edge2d.mjs +14 -17
  121. package/dist-esm/lib/primitives/geometry/Edge2d.mjs.map +2 -2
  122. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs +11 -11
  123. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
  124. package/dist-esm/lib/primitives/geometry/Point2d.mjs +6 -6
  125. package/dist-esm/lib/primitives/geometry/Point2d.mjs.map +2 -2
  126. package/dist-esm/lib/primitives/geometry/Polygon2d.mjs +3 -0
  127. package/dist-esm/lib/primitives/geometry/Polygon2d.mjs.map +2 -2
  128. package/dist-esm/lib/primitives/geometry/Polyline2d.mjs +8 -5
  129. package/dist-esm/lib/primitives/geometry/Polyline2d.mjs.map +2 -2
  130. package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs +22 -11
  131. package/dist-esm/lib/primitives/geometry/Rectangle2d.mjs.map +2 -2
  132. package/dist-esm/lib/primitives/geometry/Stadium2d.mjs +22 -22
  133. package/dist-esm/lib/primitives/geometry/Stadium2d.mjs.map +2 -2
  134. package/dist-esm/lib/utils/reorderShapes.mjs +11 -10
  135. package/dist-esm/lib/utils/reorderShapes.mjs.map +2 -2
  136. package/dist-esm/lib/utils/richText.mjs +8 -3
  137. package/dist-esm/lib/utils/richText.mjs.map +2 -2
  138. package/dist-esm/version.mjs +3 -3
  139. package/dist-esm/version.mjs.map +1 -1
  140. package/editor.css +433 -482
  141. package/package.json +8 -9
  142. package/src/index.ts +15 -7
  143. package/src/lib/config/TLSessionStateSnapshot.ts +1 -1
  144. package/src/lib/editor/Editor.test.ts +252 -3
  145. package/src/lib/editor/Editor.ts +76 -74
  146. package/src/lib/editor/bindings/BindingUtil.ts +6 -0
  147. package/src/lib/editor/derivations/bindingsIndex.ts +27 -26
  148. package/src/lib/editor/derivations/parentsToChildren.ts +28 -25
  149. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +442 -0
  150. package/src/lib/editor/managers/{ClickManager.ts → ClickManager/ClickManager.ts} +3 -3
  151. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +374 -0
  152. package/src/lib/editor/managers/{EdgeScrollManager.ts → EdgeScrollManager/EdgeScrollManager.ts} +3 -3
  153. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +455 -0
  154. package/src/lib/editor/managers/{FocusManager.ts → FocusManager/FocusManager.ts} +1 -1
  155. package/src/lib/editor/managers/FontManager/FontManager.test.ts +263 -0
  156. package/src/lib/editor/managers/{FontManager.ts → FontManager/FontManager.ts} +5 -2
  157. package/src/lib/editor/managers/{HistoryManager.test.ts → HistoryManager/HistoryManager.test.ts} +388 -1
  158. package/src/lib/editor/managers/{HistoryManager.ts → HistoryManager/HistoryManager.ts} +73 -2
  159. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +624 -0
  160. package/src/lib/editor/managers/{ScribbleManager.ts → ScribbleManager/ScribbleManager.ts} +2 -2
  161. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +485 -0
  162. package/src/lib/editor/managers/TextManager/TextManager.test.ts +407 -0
  163. package/src/lib/editor/managers/{TextManager.ts → TextManager/TextManager.ts} +117 -87
  164. package/src/lib/editor/managers/TickManager/TickManager.test.ts +314 -0
  165. package/src/lib/editor/managers/{TickManager.ts → TickManager/TickManager.ts} +2 -2
  166. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +591 -0
  167. package/src/lib/editor/managers/{UserPreferencesManager.ts → UserPreferencesManager/UserPreferencesManager.ts} +2 -2
  168. package/src/lib/editor/shapes/ShapeUtil.ts +1 -1
  169. package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +1 -1
  170. package/src/lib/editor/tools/StateNode.ts +3 -3
  171. package/src/lib/editor/types/external-content.ts +11 -2
  172. package/src/lib/exports/getSvgJsx.tsx +1 -1
  173. package/src/lib/hooks/useCanvasEvents.ts +0 -1
  174. package/src/lib/primitives/Box.test.ts +588 -7
  175. package/src/lib/primitives/Box.ts +33 -33
  176. package/src/lib/primitives/Vec.test.ts +2 -2
  177. package/src/lib/primitives/Vec.ts +13 -8
  178. package/src/lib/primitives/geometry/Arc2d.ts +42 -23
  179. package/src/lib/primitives/geometry/Circle2d.ts +12 -12
  180. package/src/lib/primitives/geometry/CubicBezier2d.test.ts +5 -0
  181. package/src/lib/primitives/geometry/CubicBezier2d.ts +13 -17
  182. package/src/lib/primitives/geometry/CubicSpline2d.ts +5 -5
  183. package/src/lib/primitives/geometry/Edge2d.ts +14 -18
  184. package/src/lib/primitives/geometry/Ellipse2d.ts +12 -13
  185. package/src/lib/primitives/geometry/Point2d.ts +6 -6
  186. package/src/lib/primitives/geometry/Polygon2d.ts +4 -0
  187. package/src/lib/primitives/geometry/Polyline2d.ts +10 -7
  188. package/src/lib/primitives/geometry/Rectangle2d.ts +24 -11
  189. package/src/lib/primitives/geometry/Stadium2d.ts +22 -23
  190. package/src/lib/utils/reorderShapes.ts +10 -13
  191. package/src/lib/utils/richText.ts +10 -4
  192. package/src/version.ts +3 -3
  193. package/dist-cjs/lib/editor/managers/ClickManager.js.map +0 -7
  194. package/dist-cjs/lib/editor/managers/EdgeScrollManager.js.map +0 -7
  195. package/dist-cjs/lib/editor/managers/FocusManager.js.map +0 -7
  196. package/dist-cjs/lib/editor/managers/FontManager.js.map +0 -7
  197. package/dist-cjs/lib/editor/managers/HistoryManager.js.map +0 -7
  198. package/dist-cjs/lib/editor/managers/ScribbleManager.js.map +0 -7
  199. package/dist-cjs/lib/editor/managers/Stack.js +0 -82
  200. package/dist-cjs/lib/editor/managers/Stack.js.map +0 -7
  201. package/dist-cjs/lib/editor/managers/TextManager.js.map +0 -7
  202. package/dist-cjs/lib/editor/managers/TickManager.js.map +0 -7
  203. package/dist-cjs/lib/editor/managers/UserPreferencesManager.js.map +0 -7
  204. package/dist-esm/lib/editor/managers/ClickManager.mjs.map +0 -7
  205. package/dist-esm/lib/editor/managers/EdgeScrollManager.mjs.map +0 -7
  206. package/dist-esm/lib/editor/managers/FocusManager.mjs.map +0 -7
  207. package/dist-esm/lib/editor/managers/FontManager.mjs.map +0 -7
  208. package/dist-esm/lib/editor/managers/HistoryManager.mjs.map +0 -7
  209. package/dist-esm/lib/editor/managers/ScribbleManager.mjs.map +0 -7
  210. package/dist-esm/lib/editor/managers/Stack.mjs +0 -62
  211. package/dist-esm/lib/editor/managers/Stack.mjs.map +0 -7
  212. package/dist-esm/lib/editor/managers/TextManager.mjs.map +0 -7
  213. package/dist-esm/lib/editor/managers/TickManager.mjs.map +0 -7
  214. package/dist-esm/lib/editor/managers/UserPreferencesManager.mjs.map +0 -7
  215. package/src/lib/editor/managers/ScribbleManager.test.ts +0 -32
  216. package/src/lib/editor/managers/Stack.ts +0 -71
  217. /package/dist-cjs/lib/editor/managers/{FocusManager.js → FocusManager/FocusManager.js} +0 -0
  218. /package/dist-esm/lib/editor/managers/{FocusManager.mjs → FocusManager/FocusManager.mjs} +0 -0
@@ -105,15 +105,15 @@ export declare function approximately(a: number, b: number, precision?: number):
105
105
 
106
106
  /** @public */
107
107
  export declare class Arc2d extends Geometry2d {
108
- _center: Vec;
109
- radius: number;
110
- start: Vec;
111
- end: Vec;
112
- largeArcFlag: number;
113
- sweepFlag: number;
114
- measure: number;
115
- angleStart: number;
116
- angleEnd: number;
108
+ private _center;
109
+ private _radius;
110
+ private _start;
111
+ private _end;
112
+ private _largeArcFlag;
113
+ private _sweepFlag;
114
+ private _measure;
115
+ private _angleStart;
116
+ private _angleEnd;
117
117
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
118
118
  center: Vec;
119
119
  end: Vec;
@@ -206,6 +206,12 @@ export declare interface BindingOnShapeChangeOptions<Binding extends TLUnknownBi
206
206
  shapeBefore: TLShape;
207
207
  /** The shape record after the change is made. */
208
208
  shapeAfter: TLShape;
209
+ /**
210
+ * Why did this shape change?
211
+ * - 'self': the shape itself changed
212
+ * - 'ancestry': the ancestry of the shape changed, but the shape itself may not have done
213
+ */
214
+ reason: 'ancestry' | 'self';
209
215
  }
210
216
 
211
217
  /**
@@ -551,10 +557,10 @@ export declare class Circle2d extends Geometry2d {
551
557
  x?: number;
552
558
  y?: number;
553
559
  };
554
- _center: Vec;
555
- radius: number;
556
- x: number;
557
- y: number;
560
+ private _center;
561
+ private _radius;
562
+ private _x;
563
+ private _y;
558
564
  constructor(config: Omit<Geometry2dOptions, 'isClosed'> & {
559
565
  isFilled: boolean;
560
566
  radius: number;
@@ -716,10 +722,10 @@ export declare function createTLUser(opts?: {
716
722
 
717
723
  /** @public */
718
724
  export declare class CubicBezier2d extends Polyline2d {
719
- a: Vec;
720
- b: Vec;
721
- c: Vec;
722
- d: Vec;
725
+ private _a;
726
+ private _b;
727
+ private _c;
728
+ private _d;
723
729
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
724
730
  cp1: Vec;
725
731
  cp2: Vec;
@@ -727,20 +733,19 @@ export declare class CubicBezier2d extends Polyline2d {
727
733
  start: Vec;
728
734
  });
729
735
  getVertices(): Vec[];
730
- midPoint(): Vec;
731
736
  nearestPoint(A: VecLike): Vec;
732
737
  getSvgPathData(first?: boolean): string;
733
738
  static GetAtT(segment: CubicBezier2d, t: number): Vec;
734
- getLength(filters?: Geometry2dFilters, precision?: number): number;
739
+ getLength(_filters?: Geometry2dFilters, precision?: number): number;
735
740
  }
736
741
 
737
742
  /** @public */
738
743
  export declare class CubicSpline2d extends Geometry2d {
739
- points: Vec[];
744
+ private _points;
740
745
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
741
746
  points: Vec[];
742
747
  });
743
- _segments?: CubicBezier2d[];
748
+ private _segments?;
744
749
  get segments(): CubicBezier2d[];
745
750
  getLength(): number;
746
751
  getVertices(): Vec[];
@@ -927,17 +932,16 @@ export declare const EASINGS: {
927
932
 
928
933
  /** @public */
929
934
  export declare class Edge2d extends Geometry2d {
930
- start: Vec;
931
- end: Vec;
932
- d: Vec;
933
- u: Vec;
934
- ul: number;
935
+ private _start;
936
+ private _end;
937
+ private _d;
938
+ private _u;
939
+ private _ul;
935
940
  constructor(config: {
936
941
  end: Vec;
937
942
  start: Vec;
938
943
  });
939
944
  getLength(): number;
940
- midPoint(): Vec;
941
945
  getVertices(): Vec[];
942
946
  nearestPoint(point: VecLike): Vec;
943
947
  getSvgPathData(first?: boolean): string;
@@ -1627,6 +1631,13 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1627
1631
  * @public
1628
1632
  */
1629
1633
  getSelectionPageBounds(): Box | null;
1634
+ /**
1635
+ * The bounds of the selection bounding box in the current page space.
1636
+ *
1637
+ * @readonly
1638
+ * @public
1639
+ */
1640
+ getSelectionScreenBounds(): Box | undefined;
1630
1641
  /* Excluded from this release type: getShapesSharedRotation */
1631
1642
  /**
1632
1643
  * The rotation of the selection bounding box in the current page space.
@@ -2457,23 +2468,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2457
2468
  * @public
2458
2469
  */
2459
2470
  getShapeGeometry<T extends Geometry2d>(shape: TLShape | TLShapeId, opts?: TLGeometryOpts): T;
2460
- private _shapePageGeometryCaches;
2461
- /**
2462
- * Get the geometry of a shape in page-space.
2463
- *
2464
- * @example
2465
- * ```ts
2466
- * editor.getShapePageGeometry(myShape)
2467
- * editor.getShapePageGeometry(myShapeId)
2468
- * editor.getShapePageGeometry(myShapeId, { context: "arrow" })
2469
- * ```
2470
- *
2471
- * @param shape - The shape (or shape id) to get the geometry for.
2472
- * @param opts - Additional options about the request for geometry. Passed to {@link ShapeUtil.getGeometry}.
2473
- *
2474
- * @public
2475
- */
2476
- getShapePageGeometry<T extends Geometry2d>(shape: TLShape | TLShapeId, opts?: TLGeometryOpts): T;
2477
2471
  /* Excluded from this release type: _getShapeHandlesCache */
2478
2472
  /**
2479
2473
  * Get the handles (if any) for a shape.
@@ -2651,11 +2645,16 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2651
2645
  *
2652
2646
  * @public
2653
2647
  */
2654
- isShapeOrAncestorLocked(shape?: TLShape): boolean;
2655
- isShapeOrAncestorLocked(id?: TLShapeId): boolean;
2648
+ isShapeOrAncestorLocked(shape?: TLShape | TLShapeId): boolean;
2649
+ /**
2650
+ * Get shapes that are outside of the viewport.
2651
+ *
2652
+ * @public
2653
+ */
2654
+ getNotVisibleShapes(): Set<TLShapeId>;
2656
2655
  private _notVisibleShapes;
2657
2656
  /**
2658
- * Get culled shapes.
2657
+ * Get culled shapes (those that should not render), taking into account which shapes are selected or editing.
2659
2658
  *
2660
2659
  * @public
2661
2660
  */
@@ -2697,12 +2696,14 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2697
2696
  * @example
2698
2697
  * ```ts
2699
2698
  * editor.getShapesAtPoint({ x: 100, y: 100 })
2700
- * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, exact: true })
2699
+ * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, margin: 8 })
2701
2700
  * ```
2702
2701
  *
2703
2702
  * @param point - The page point to test.
2704
2703
  * @param opts - The options for the hit point testing.
2705
2704
  *
2705
+ * @returns An array of shapes at the given point, sorted in reverse order of their absolute z-index (top-most shape first).
2706
+ *
2706
2707
  * @public
2707
2708
  */
2708
2709
  getShapesAtPoint(point: VecLike, opts?: {
@@ -3607,6 +3608,12 @@ export declare class Editor extends EventEmitter<TLEventMap> {
3607
3608
  * @param info - Info about the external content.
3608
3609
  */
3609
3610
  putExternalContent<E>(info: TLExternalContent<E>): Promise<void>;
3611
+ /**
3612
+ * Handle replacing external content.
3613
+ *
3614
+ * @param info - Info about the external content.
3615
+ */
3616
+ replaceExternalContent<E>(info: TLExternalContent<E>): Promise<void>;
3610
3617
  /**
3611
3618
  * Get content that can be exported for the given shape ids.
3612
3619
  *
@@ -3996,13 +4003,13 @@ export declare class Ellipse2d extends Geometry2d {
3996
4003
  height: number;
3997
4004
  width: number;
3998
4005
  };
3999
- w: number;
4000
- h: number;
4006
+ private _w;
4007
+ private _h;
4008
+ private _edges?;
4001
4009
  constructor(config: Omit<Geometry2dOptions, 'isClosed'> & {
4002
4010
  height: number;
4003
4011
  width: number;
4004
4012
  });
4005
- _edges?: Edge2d[];
4006
4013
  get edges(): Edge2d[];
4007
4014
  getVertices(): any[];
4008
4015
  nearestPoint(A: VecLike): Vec;
@@ -4687,7 +4694,7 @@ export declare const PI2: number;
4687
4694
 
4688
4695
  /** @public */
4689
4696
  export declare class Point2d extends Geometry2d {
4690
- point: Vec;
4697
+ private _point;
4691
4698
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
4692
4699
  margin: number;
4693
4700
  point: Vec;
@@ -4731,12 +4738,12 @@ export declare function polygonsIntersect(a: VecLike[], b: VecLike[]): boolean;
4731
4738
 
4732
4739
  /** @public */
4733
4740
  export declare class Polyline2d extends Geometry2d {
4734
- points: Vec[];
4741
+ private _points;
4742
+ private _segments?;
4735
4743
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
4736
4744
  points: Vec[];
4737
4745
  });
4738
- _segments?: Edge2d[];
4739
- get segments(): Edge2d[];
4746
+ protected get segments(): Edge2d[];
4740
4747
  getLength(): number;
4741
4748
  getVertices(): Vec[];
4742
4749
  nearestPoint(A: VecLike): Vec;
@@ -4802,10 +4809,10 @@ export declare class ReadonlySharedStyleMap {
4802
4809
 
4803
4810
  /** @public */
4804
4811
  export declare class Rectangle2d extends Polygon2d {
4805
- x: number;
4806
- y: number;
4807
- w: number;
4808
- h: number;
4812
+ private _x;
4813
+ private _y;
4814
+ private _w;
4815
+ private _h;
4809
4816
  constructor(config: Omit<Geometry2dOptions, 'isClosed'> & {
4810
4817
  height: number;
4811
4818
  width: number;
@@ -4814,6 +4821,7 @@ export declare class Rectangle2d extends Polygon2d {
4814
4821
  });
4815
4822
  getBounds(): Box;
4816
4823
  getSvgPathData(): string;
4824
+ private negativeZeroFix;
4817
4825
  }
4818
4826
 
4819
4827
  /** @public */
@@ -5548,12 +5556,12 @@ export declare class Stadium2d extends Geometry2d {
5548
5556
  height: number;
5549
5557
  width: number;
5550
5558
  };
5551
- w: number;
5552
- h: number;
5553
- a: Arc2d;
5554
- b: Edge2d;
5555
- c: Arc2d;
5556
- d: Edge2d;
5559
+ private _w;
5560
+ private _h;
5561
+ private _a;
5562
+ private _b;
5563
+ private _c;
5564
+ private _d;
5557
5565
  constructor(config: Omit<Geometry2dOptions, 'isClosed'> & {
5558
5566
  height: number;
5559
5567
  width: number;
@@ -5622,7 +5630,7 @@ export declare abstract class StateNode implements Partial<TLEventHandlers> {
5622
5630
  transition(id: string, info?: any): this;
5623
5631
  handleEvent(info: Exclude<TLEventInfo, TLPinchEventInfo>): void;
5624
5632
  enter(info: any, from: string): void;
5625
- exit(info: any, from: string): void;
5633
+ exit(info: any, to: string): void;
5626
5634
  /**
5627
5635
  * This is a hack / escape hatch that will tell the editor to
5628
5636
  * report a different state as active (in `getCurrentToolId()`) when
@@ -5729,43 +5737,15 @@ export declare const TAB_ID: string;
5729
5737
  /** @public */
5730
5738
  export declare class TextManager {
5731
5739
  editor: Editor;
5732
- private baseElem;
5740
+ private elm;
5741
+ private defaultStyles;
5733
5742
  constructor(editor: Editor);
5734
- measureText(textToMeasure: string, opts: {
5735
- /**
5736
- * When maxWidth is a number, the text will be wrapped to that maxWidth. When maxWidth
5737
- * is null, the text will be measured without wrapping, but explicit line breaks and
5738
- * space are preserved.
5739
- */
5740
- maxWidth: null | number;
5741
- disableOverflowWrapBreaking?: boolean;
5742
- fontFamily: string;
5743
- fontSize: number;
5744
- fontStyle: string;
5745
- fontWeight: string;
5746
- lineHeight: number;
5747
- minWidth?: null | number;
5748
- padding: string;
5749
- }): BoxModel & {
5743
+ dispose(): void;
5744
+ private resetElmStyles;
5745
+ measureText(textToMeasure: string, opts: TLMeasureTextOpts): BoxModel & {
5750
5746
  scrollWidth: number;
5751
5747
  };
5752
- measureHtml(html: string, opts: {
5753
- /**
5754
- * When maxWidth is a number, the text will be wrapped to that maxWidth. When maxWidth
5755
- * is null, the text will be measured without wrapping, but explicit line breaks and
5756
- * space are preserved.
5757
- */
5758
- maxWidth: null | number;
5759
- disableOverflowWrapBreaking?: boolean;
5760
- fontFamily: string;
5761
- fontSize: number;
5762
- fontStyle: string;
5763
- fontWeight: string;
5764
- lineHeight: number;
5765
- minWidth?: null | number;
5766
- otherStyles?: Record<string, string>;
5767
- padding: string;
5768
- }): BoxModel & {
5748
+ measureHtml(html: string, opts: TLMeasureTextOpts): BoxModel & {
5769
5749
  scrollWidth: number;
5770
5750
  };
5771
5751
  /**
@@ -6579,7 +6559,7 @@ export declare type TLExportType = 'jpeg' | 'png' | 'svg' | 'webp';
6579
6559
  export declare type TLExternalAsset = TLFileExternalAsset | TLUrlExternalAsset;
6580
6560
 
6581
6561
  /** @public */
6582
- export declare type TLExternalContent<EmbedDefinition> = TLEmbedExternalContent<EmbedDefinition> | TLExcalidrawExternalContent | TLFilesExternalContent | TLSvgTextExternalContent | TLTextExternalContent | TLTldrawExternalContent | TLUrlExternalContent;
6562
+ export declare type TLExternalContent<EmbedDefinition> = TLEmbedExternalContent<EmbedDefinition> | TLExcalidrawExternalContent | TLFileReplaceExternalContent | TLFilesExternalContent | TLSvgTextExternalContent | TLTextExternalContent | TLTldrawExternalContent | TLUrlExternalContent;
6583
6563
 
6584
6564
  /** @public */
6585
6565
  export declare type TLExternalContentSource = TLErrorExternalContentSource | TLExcalidrawExternalContentSource | TLTextExternalContentSource | TLTldrawExternalContentSource;
@@ -6591,11 +6571,19 @@ export declare interface TLFileExternalAsset {
6591
6571
  assetId?: TLAssetId;
6592
6572
  }
6593
6573
 
6574
+ /** @public */
6575
+ export declare interface TLFileReplaceExternalContent extends TLBaseExternalContent {
6576
+ type: 'file-replace';
6577
+ file: File;
6578
+ shapeId: TLShapeId;
6579
+ isImage: boolean;
6580
+ }
6581
+
6594
6582
  /** @public */
6595
6583
  export declare interface TLFilesExternalContent extends TLBaseExternalContent {
6596
6584
  type: 'files';
6597
6585
  files: File[];
6598
- ignoreParent: boolean;
6586
+ ignoreParent?: boolean;
6599
6587
  }
6600
6588
 
6601
6589
  /**
@@ -6790,6 +6778,26 @@ export declare interface TLLoadSnapshotOptions {
6790
6778
  forceOverwriteSessionState?: boolean;
6791
6779
  }
6792
6780
 
6781
+ /** @public */
6782
+ export declare interface TLMeasureTextOpts {
6783
+ fontStyle: string;
6784
+ fontWeight: string;
6785
+ fontFamily: string;
6786
+ fontSize: number;
6787
+ lineHeight: number;
6788
+ /**
6789
+ * When maxWidth is a number, the text will be wrapped to that maxWidth. When maxWidth
6790
+ * is null, the text will be measured without wrapping, but explicit line breaks and
6791
+ * space are preserved.
6792
+ */
6793
+ maxWidth: null | number;
6794
+ minWidth?: null | number;
6795
+ padding: string;
6796
+ otherStyles?: Record<string, string>;
6797
+ disableOverflowWrapBreaking?: boolean;
6798
+ measureScrollWidth?: boolean;
6799
+ }
6800
+
6793
6801
  /** @public */
6794
6802
  export declare interface TLMeasureTextSpanOpts {
6795
6803
  overflow: 'truncate-clip' | 'truncate-ellipsis' | 'wrap';
@@ -6803,6 +6811,7 @@ export declare interface TLMeasureTextSpanOpts {
6803
6811
  lineHeight: number;
6804
6812
  textAlign: TLDefaultHorizontalAlignStyle;
6805
6813
  otherStyles?: Record<string, string>;
6814
+ measureScrollWidth?: boolean;
6806
6815
  }
6807
6816
 
6808
6817
  /** @public */
@@ -7686,7 +7695,7 @@ export declare class Vec {
7686
7695
  len(): number;
7687
7696
  pry(V: VecLike): number;
7688
7697
  per(): this;
7689
- uni(): Vec;
7698
+ uni(): this;
7690
7699
  tan(V: VecLike): Vec;
7691
7700
  dist(V: VecLike): number;
7692
7701
  distanceToLineSegment(A: VecLike, B: VecLike): number;
@@ -7697,8 +7706,9 @@ export declare class Vec {
7697
7706
  lrp(B: VecLike, t: number): Vec;
7698
7707
  equals(B: VecLike): boolean;
7699
7708
  equalsXY(x: number, y: number): boolean;
7709
+ /** @deprecated use `uni` instead */
7700
7710
  norm(): this;
7701
- toFixed(): Vec;
7711
+ toFixed(): this;
7702
7712
  toString(): string;
7703
7713
  toJson(): VecModel;
7704
7714
  toArray(): number[];
@@ -96,13 +96,15 @@ import {
96
96
  import {
97
97
  BindingUtil
98
98
  } from "./lib/editor/bindings/BindingUtil.mjs";
99
- import { ClickManager } from "./lib/editor/managers/ClickManager.mjs";
100
- import { EdgeScrollManager } from "./lib/editor/managers/EdgeScrollManager.mjs";
99
+ import { ClickManager } from "./lib/editor/managers/ClickManager/ClickManager.mjs";
100
+ import { EdgeScrollManager } from "./lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs";
101
101
  import {
102
102
  FontManager
103
- } from "./lib/editor/managers/FontManager.mjs";
104
- import { HistoryManager } from "./lib/editor/managers/HistoryManager.mjs";
105
- import { ScribbleManager } from "./lib/editor/managers/ScribbleManager.mjs";
103
+ } from "./lib/editor/managers/FontManager/FontManager.mjs";
104
+ import { HistoryManager } from "./lib/editor/managers/HistoryManager/HistoryManager.mjs";
105
+ import {
106
+ ScribbleManager
107
+ } from "./lib/editor/managers/ScribbleManager/ScribbleManager.mjs";
106
108
  import {
107
109
  BoundsSnaps
108
110
  } from "./lib/editor/managers/SnapManager/BoundsSnaps.mjs";
@@ -110,8 +112,10 @@ import { HandleSnaps } from "./lib/editor/managers/SnapManager/HandleSnaps.mjs";
110
112
  import {
111
113
  SnapManager
112
114
  } from "./lib/editor/managers/SnapManager/SnapManager.mjs";
113
- import { TextManager } from "./lib/editor/managers/TextManager.mjs";
114
- import { UserPreferencesManager } from "./lib/editor/managers/UserPreferencesManager.mjs";
115
+ import {
116
+ TextManager
117
+ } from "./lib/editor/managers/TextManager/TextManager.mjs";
118
+ import { UserPreferencesManager } from "./lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs";
115
119
  import { BaseBoxShapeUtil } from "./lib/editor/shapes/BaseBoxShapeUtil.mjs";
116
120
  import {
117
121
  ShapeUtil
@@ -288,7 +292,7 @@ function debugEnableLicensing() {
288
292
  }
289
293
  registerTldrawLibraryVersion(
290
294
  "@tldraw/editor",
291
- "3.14.0-canary.dbe17bbcfb3d",
295
+ "3.14.0-canary.df0f81d497d2",
292
296
  "esm"
293
297
  );
294
298
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import { registerTldrawLibraryVersion } from '@tldraw/utils'\nimport 'core-js/stable/array/at.js'\nimport 'core-js/stable/array/flat-map.js'\nimport 'core-js/stable/array/flat.js'\nimport 'core-js/stable/string/at.js'\nimport 'core-js/stable/string/replace-all.js'\n\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/state'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/state-react'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/store'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/tlschema'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/utils'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/validate'\n\nexport {\n\tErrorScreen,\n\tLoadingScreen,\n\tTldrawEditor,\n\tuseOnMount,\n\ttype LoadingScreenProps,\n\ttype TLOnMountHandler,\n\ttype TldrawEditorBaseProps,\n\ttype TldrawEditorProps,\n\ttype TldrawEditorStoreProps,\n\ttype TldrawEditorWithStoreProps,\n\ttype TldrawEditorWithoutStoreProps,\n} from './lib/TldrawEditor'\nexport {\n\tErrorBoundary,\n\tOptionalErrorBoundary,\n\ttype TLErrorBoundaryProps,\n} from './lib/components/ErrorBoundary'\nexport { HTMLContainer, type HTMLContainerProps } from './lib/components/HTMLContainer'\nexport { MenuClickCapture } from './lib/components/MenuClickCapture'\nexport { SVGContainer, type SVGContainerProps } from './lib/components/SVGContainer'\nexport { DefaultBackground } from './lib/components/default-components/DefaultBackground'\nexport { DefaultBrush, type TLBrushProps } from './lib/components/default-components/DefaultBrush'\nexport {\n\tDefaultCanvas,\n\ttype TLCanvasComponentProps,\n} from './lib/components/default-components/DefaultCanvas'\nexport {\n\tDefaultCollaboratorHint,\n\ttype TLCollaboratorHintProps,\n} from './lib/components/default-components/DefaultCollaboratorHint'\nexport {\n\tDefaultCursor,\n\ttype TLCursorProps,\n} from './lib/components/default-components/DefaultCursor'\nexport {\n\tDefaultErrorFallback,\n\ttype TLErrorFallbackComponent,\n} from './lib/components/default-components/DefaultErrorFallback'\nexport { DefaultGrid, type TLGridProps } from './lib/components/default-components/DefaultGrid'\nexport {\n\tDefaultHandle,\n\ttype TLHandleProps,\n} from './lib/components/default-components/DefaultHandle'\nexport {\n\tDefaultHandles,\n\ttype TLHandlesProps,\n} from './lib/components/default-components/DefaultHandles'\nexport {\n\tDefaultScribble,\n\ttype TLScribbleProps,\n} from './lib/components/default-components/DefaultScribble'\nexport {\n\tDefaultSelectionBackground,\n\ttype TLSelectionBackgroundProps,\n} from './lib/components/default-components/DefaultSelectionBackground'\nexport {\n\tDefaultSelectionForeground,\n\ttype TLSelectionForegroundProps,\n} from './lib/components/default-components/DefaultSelectionForeground'\nexport { type TLShapeErrorFallbackComponent } from './lib/components/default-components/DefaultShapeErrorFallback'\nexport {\n\tDefaultShapeIndicator,\n\ttype TLShapeIndicatorProps,\n} from './lib/components/default-components/DefaultShapeIndicator'\nexport { type TLShapeIndicatorErrorFallbackComponent } from './lib/components/default-components/DefaultShapeIndicatorErrorFallback'\nexport {\n\tDefaultShapeIndicators,\n\ttype TLShapeIndicatorsProps,\n} from './lib/components/default-components/DefaultShapeIndicators'\nexport {\n\tDefaultSnapIndicator,\n\ttype TLSnapIndicatorProps,\n} from './lib/components/default-components/DefaultSnapIndictor'\nexport { DefaultSpinner } from './lib/components/default-components/DefaultSpinner'\nexport { DefaultSvgDefs } from './lib/components/default-components/DefaultSvgDefs'\nexport {\n\tgetSnapshot,\n\tloadSnapshot,\n\ttype TLEditorSnapshot,\n\ttype TLLoadSnapshotOptions,\n} from './lib/config/TLEditorSnapshot'\nexport {\n\tTAB_ID,\n\tcreateSessionStateSnapshotSignal,\n\textractSessionStateFromLegacySnapshot,\n\tloadSessionStateSnapshotIntoStore,\n\ttype TLLoadSessionStateSnapshotOptions,\n\ttype TLSessionStateSnapshot,\n} from './lib/config/TLSessionStateSnapshot'\nexport {\n\tUSER_COLORS,\n\tdefaultUserPreferences,\n\tgetFreshUserPreferences,\n\tgetUserPreferences,\n\tsetUserPreferences,\n\tuserTypeValidator,\n\ttype TLUserPreferences,\n} from './lib/config/TLUserPreferences'\nexport {\n\tcreateTLSchemaFromUtils,\n\tcreateTLStore,\n\tinlineBase64AssetStore,\n\ttype TLStoreBaseOptions,\n\ttype TLStoreEventInfo,\n\ttype TLStoreOptions,\n\ttype TLStoreSchemaOptions,\n} from './lib/config/createTLStore'\nexport { createTLUser, useTldrawUser, type TLUser } from './lib/config/createTLUser'\nexport { type TLAnyBindingUtilConstructor } from './lib/config/defaultBindings'\nexport { coreShapes, type TLAnyShapeUtilConstructor } from './lib/config/defaultShapes'\nexport { DEFAULT_ANIMATION_OPTIONS, DEFAULT_CAMERA_OPTIONS, SIDES } from './lib/constants'\nexport {\n\tEditor,\n\ttype TLEditorOptions,\n\ttype TLEditorRunOptions,\n\ttype TLRenderingShape,\n\ttype TLResizeShapeOptions,\n} from './lib/editor/Editor'\nexport {\n\tBindingUtil,\n\ttype BindingOnChangeOptions,\n\ttype BindingOnCreateOptions,\n\ttype BindingOnDeleteOptions,\n\ttype BindingOnShapeChangeOptions,\n\ttype BindingOnShapeDeleteOptions,\n\ttype BindingOnShapeIsolateOptions,\n\ttype TLBindingUtilConstructor,\n} from './lib/editor/bindings/BindingUtil'\nexport { ClickManager, type TLClickState } from './lib/editor/managers/ClickManager'\nexport { EdgeScrollManager } from './lib/editor/managers/EdgeScrollManager'\nexport {\n\tFontManager,\n\ttype TLFontFace,\n\ttype TLFontFaceSource,\n} from './lib/editor/managers/FontManager'\nexport { HistoryManager } from './lib/editor/managers/HistoryManager'\nexport { ScribbleManager, type ScribbleItem } from './lib/editor/managers/ScribbleManager'\nexport {\n\tBoundsSnaps,\n\ttype BoundsSnapGeometry,\n\ttype BoundsSnapPoint,\n} from './lib/editor/managers/SnapManager/BoundsSnaps'\nexport { HandleSnaps, type HandleSnapGeometry } from './lib/editor/managers/SnapManager/HandleSnaps'\nexport {\n\tSnapManager,\n\ttype GapsSnapIndicator,\n\ttype PointsSnapIndicator,\n\ttype SnapData,\n\ttype SnapIndicator,\n} from './lib/editor/managers/SnapManager/SnapManager'\nexport { TextManager, type TLMeasureTextSpanOpts } from './lib/editor/managers/TextManager'\nexport { UserPreferencesManager } from './lib/editor/managers/UserPreferencesManager'\nexport { BaseBoxShapeUtil, type TLBaseBoxShape } from './lib/editor/shapes/BaseBoxShapeUtil'\nexport {\n\tShapeUtil,\n\ttype TLCropInfo,\n\ttype TLGeometryOpts,\n\ttype TLHandleDragInfo,\n\ttype TLResizeInfo,\n\ttype TLResizeMode,\n\ttype TLShapeUtilCanBeLaidOutOpts,\n\ttype TLShapeUtilCanBindOpts,\n\ttype TLShapeUtilCanvasSvgDef,\n\ttype TLShapeUtilConstructor,\n} from './lib/editor/shapes/ShapeUtil'\nexport { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'\nexport {\n\tgetPerfectDashProps,\n\ttype PerfectDashTerminal,\n} from './lib/editor/shapes/shared/getPerfectDashProps'\nexport { resizeBox, type ResizeBoxOptions } from './lib/editor/shapes/shared/resizeBox'\nexport { resizeScaled } from './lib/editor/shapes/shared/resizeScaled'\nexport { BaseBoxShapeTool } from './lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool'\nexport { maybeSnapToGrid } from './lib/editor/tools/BaseBoxShapeTool/children/Pointing'\nexport { StateNode, type TLStateNodeConstructor } from './lib/editor/tools/StateNode'\nexport {\n\tuseDelaySvgExport,\n\tuseSvgExportContext,\n\ttype SvgExportContext,\n\ttype SvgExportDef,\n} from './lib/editor/types/SvgExportContext'\nexport { type TLContent } from './lib/editor/types/clipboard-types'\nexport { type TLEventMap, type TLEventMapHandler } from './lib/editor/types/emit-types'\nexport {\n\tEVENT_NAME_MAP,\n\ttype TLBaseEventInfo,\n\ttype TLCLickEventName,\n\ttype TLCancelEvent,\n\ttype TLCancelEventInfo,\n\ttype TLClickEvent,\n\ttype TLClickEventInfo,\n\ttype TLCompleteEvent,\n\ttype TLCompleteEventInfo,\n\ttype TLEnterEventHandler,\n\ttype TLEventHandlers,\n\ttype TLEventInfo,\n\ttype TLEventName,\n\ttype TLExitEventHandler,\n\ttype TLInterruptEvent,\n\ttype TLInterruptEventInfo,\n\ttype TLKeyboardEvent,\n\ttype TLKeyboardEventInfo,\n\ttype TLKeyboardEventName,\n\ttype TLPinchEvent,\n\ttype TLPinchEventInfo,\n\ttype TLPinchEventName,\n\ttype TLPointerEvent,\n\ttype TLPointerEventInfo,\n\ttype TLPointerEventName,\n\ttype TLPointerEventTarget,\n\ttype TLTickEvent,\n\ttype TLTickEventInfo,\n\ttype TLWheelEvent,\n\ttype TLWheelEventInfo,\n\ttype UiEvent,\n\ttype UiEventType,\n} from './lib/editor/types/event-types'\nexport {\n\ttype TLBaseExternalContent,\n\ttype TLEmbedExternalContent,\n\ttype TLErrorExternalContentSource,\n\ttype TLExcalidrawExternalContent,\n\ttype TLExcalidrawExternalContentSource,\n\ttype TLExternalAsset,\n\ttype TLExternalContent,\n\ttype TLExternalContentSource,\n\ttype TLFileExternalAsset,\n\ttype TLFilesExternalContent,\n\ttype TLSvgTextExternalContent,\n\ttype TLTextExternalContent,\n\ttype TLTextExternalContentSource,\n\ttype TLTldrawExternalContent,\n\ttype TLTldrawExternalContentSource,\n\ttype TLUrlExternalAsset,\n\ttype TLUrlExternalContent,\n} from './lib/editor/types/external-content'\nexport {\n\ttype TLHistoryBatchOptions,\n\ttype TLHistoryDiff,\n\ttype TLHistoryEntry,\n\ttype TLHistoryMark,\n} from './lib/editor/types/history-types'\nexport {\n\ttype OptionalKeys,\n\ttype RequiredKeys,\n\ttype TLCameraConstraints,\n\ttype TLCameraMoveOptions,\n\ttype TLCameraOptions,\n\ttype TLExportType,\n\ttype TLImageExportOptions,\n\ttype TLSvgExportOptions,\n\ttype TLSvgOptions,\n} from './lib/editor/types/misc-types'\nexport {\n\ttype TLAdjacentDirection,\n\ttype TLResizeHandle,\n\ttype TLSelectionHandle,\n} from './lib/editor/types/selection-types'\nexport { getSvgAsImage } from './lib/exports/getSvgAsImage'\nexport { tlenv } from './lib/globals/environment'\nexport { tlmenus } from './lib/globals/menus'\nexport { tltime } from './lib/globals/time'\nexport {\n\tContainerProvider,\n\tuseContainer,\n\tuseContainerIfExists,\n\ttype ContainerProviderProps,\n} from './lib/hooks/useContainer'\nexport { getCursor } from './lib/hooks/useCursor'\nexport { EditorContext, useEditor, useMaybeEditor } from './lib/hooks/useEditor'\nexport { useEditorComponents } from './lib/hooks/useEditorComponents'\nexport type { TLEditorComponents } from './lib/hooks/useEditorComponents'\nexport { useEvent, useReactiveEvent } from './lib/hooks/useEvent'\nexport { useGlobalMenuIsOpen } from './lib/hooks/useGlobalMenuIsOpen'\nexport { useShallowArrayIdentity, useShallowObjectIdentity } from './lib/hooks/useIdentity'\nexport { useIsCropping } from './lib/hooks/useIsCropping'\nexport { useIsDarkMode } from './lib/hooks/useIsDarkMode'\nexport { useIsEditing } from './lib/hooks/useIsEditing'\nexport { useLocalStore } from './lib/hooks/useLocalStore'\nexport { usePassThroughMouseOverEvents } from './lib/hooks/usePassThroughMouseOverEvents'\nexport { usePassThroughWheelEvents } from './lib/hooks/usePassThroughWheelEvents'\nexport { usePeerIds } from './lib/hooks/usePeerIds'\nexport { usePresence } from './lib/hooks/usePresence'\nexport { useRefState } from './lib/hooks/useRefState'\nexport {\n\tsanitizeId,\n\tsuffixSafeId,\n\tuseSharedSafeId,\n\tuseUniqueSafeId,\n\ttype SafeId,\n} from './lib/hooks/useSafeId'\nexport { useSelectionEvents } from './lib/hooks/useSelectionEvents'\nexport { useTLSchemaFromUtils, useTLStore } from './lib/hooks/useTLStore'\nexport { useTransform } from './lib/hooks/useTransform'\nexport { useViewportHeight } from './lib/hooks/useViewportHeight'\nexport {\n\tLicenseManager,\n\ttype InvalidLicenseKeyResult,\n\ttype InvalidLicenseReason,\n\ttype LicenseFromKeyResult,\n\ttype LicenseInfo,\n\ttype TestEnvironment,\n\ttype ValidLicenseKeyResult,\n} from './lib/license/LicenseManager'\nexport { defaultTldrawOptions, type TldrawOptions } from './lib/options'\nexport {\n\tBox,\n\tROTATE_CORNER_TO_SELECTION_CORNER,\n\trotateSelectionHandle,\n\ttype BoxLike,\n\ttype RotateCorner,\n\ttype SelectionCorner,\n\ttype SelectionEdge,\n\ttype SelectionHandle,\n} from './lib/primitives/Box'\nexport { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'\nexport { Vec, type VecLike } from './lib/primitives/Vec'\nexport { EASINGS } from './lib/primitives/easings'\nexport { Arc2d } from './lib/primitives/geometry/Arc2d'\nexport { Circle2d } from './lib/primitives/geometry/Circle2d'\nexport { CubicBezier2d } from './lib/primitives/geometry/CubicBezier2d'\nexport { CubicSpline2d } from './lib/primitives/geometry/CubicSpline2d'\nexport { Edge2d } from './lib/primitives/geometry/Edge2d'\nexport { Ellipse2d } from './lib/primitives/geometry/Ellipse2d'\nexport {\n\tGeometry2d,\n\tGeometry2dFilters,\n\tTransformedGeometry2d,\n\ttype Geometry2dOptions,\n\ttype TransformedGeometry2dOptions,\n} from './lib/primitives/geometry/Geometry2d'\nexport { Group2d } from './lib/primitives/geometry/Group2d'\nexport { Point2d } from './lib/primitives/geometry/Point2d'\nexport { Polygon2d } from './lib/primitives/geometry/Polygon2d'\nexport { Polyline2d } from './lib/primitives/geometry/Polyline2d'\nexport { Rectangle2d } from './lib/primitives/geometry/Rectangle2d'\nexport { Stadium2d } from './lib/primitives/geometry/Stadium2d'\nexport {\n\tintersectCircleCircle,\n\tintersectCirclePolygon,\n\tintersectCirclePolyline,\n\tintersectLineSegmentCircle,\n\tintersectLineSegmentLineSegment,\n\tintersectLineSegmentPolygon,\n\tintersectLineSegmentPolyline,\n\tintersectPolygonBounds,\n\tintersectPolygonPolygon,\n\tlinesIntersect,\n\tpolygonIntersectsPolyline,\n\tpolygonsIntersect,\n} from './lib/primitives/intersect'\nexport {\n\tHALF_PI,\n\tPI,\n\tPI2,\n\tSIN,\n\tangleDistance,\n\tapproximately,\n\tareAnglesCompatible,\n\taverage,\n\tcanonicalizeRotation,\n\tcenterOfCircleFromThreePoints,\n\tclamp,\n\tclampRadians,\n\tclockwiseAngleDist,\n\tcounterClockwiseAngleDist,\n\tdegreesToRadians,\n\tgetArcMeasure,\n\tgetPointInArcT,\n\tgetPointOnCircle,\n\tgetPointsOnArc,\n\tgetPolygonVertices,\n\tisSafeFloat,\n\tperimeterOfEllipse,\n\tpointInPolygon,\n\tprecise,\n\tradiansToDegrees,\n\trangeIntersection,\n\tshortAngleDist,\n\tsnapAngle,\n\ttoDomPrecision,\n\ttoFixed,\n\ttoPrecision,\n} from './lib/primitives/utils'\nexport {\n\tReadonlySharedStyleMap,\n\tSharedStyleMap,\n\ttype SharedStyle,\n} from './lib/utils/SharedStylesMap'\nexport { dataUrlToFile, getDefaultCdnBaseUrl } from './lib/utils/assets'\nexport { clampToBrowserMaxCanvasSize, type CanvasMaxSize } from './lib/utils/browserCanvasMaxSize'\nexport {\n\tdebugFlags,\n\tfeatureFlags,\n\ttype DebugFlag,\n\ttype DebugFlagDef,\n\ttype DebugFlagDefaults,\n} from './lib/utils/debug-flags'\nexport {\n\tcreateDeepLinkString,\n\tparseDeepLinkString,\n\ttype TLDeepLink,\n\ttype TLDeepLinkOptions,\n} from './lib/utils/deepLinks'\nexport {\n\tactiveElementShouldCaptureKeys,\n\tloopToHtmlElement,\n\tpreventDefault,\n\treleasePointerCapture,\n\tsetPointerCapture,\n\tstopEventPropagation,\n} from './lib/utils/dom'\nexport { getIncrementedName } from './lib/utils/getIncrementedName'\nexport { getPointerInfo } from './lib/utils/getPointerInfo'\nexport { getSvgPathFromPoints } from './lib/utils/getSvgPathFromPoints'\nexport { hardResetEditor } from './lib/utils/hardResetEditor'\nexport { isAccelKey } from './lib/utils/keyboard'\nexport { normalizeWheel } from './lib/utils/normalizeWheel'\nexport { refreshPage } from './lib/utils/refreshPage'\nexport {\n\tgetFontsFromRichText,\n\ttype RichTextFontVisitor,\n\ttype RichTextFontVisitorState,\n\ttype TLTextOptions,\n\ttype TiptapEditor,\n\ttype TiptapNode,\n} from './lib/utils/richText'\nexport {\n\tapplyRotationToSnapshotShapes,\n\tgetRotationSnapshot,\n\ttype TLRotationSnapshot,\n} from './lib/utils/rotation'\nexport { runtime, setRuntimeOverrides } from './lib/utils/runtime'\nexport { LocalIndexedDb, Table, type StoreName } from './lib/utils/sync/LocalIndexedDb'\nexport { type TLStoreWithStatus } from './lib/utils/sync/StoreWithStatus'\nexport { hardReset } from './lib/utils/sync/hardReset'\nexport { uniq } from './lib/utils/uniq'\nexport { openWindow } from './lib/utils/window-open'\n\n/**\n * @deprecated Licensing is now enabled in the tldraw SDK.\n * @public */\nexport function debugEnableLicensing() {\n\t// noop\n\treturn\n}\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { registerTldrawLibraryVersion } from '@tldraw/utils'\nimport 'core-js/stable/array/at.js'\nimport 'core-js/stable/array/flat-map.js'\nimport 'core-js/stable/array/flat.js'\nimport 'core-js/stable/string/at.js'\nimport 'core-js/stable/string/replace-all.js'\n\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/state'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/state-react'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/store'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/tlschema'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/utils'\n// eslint-disable-next-line local/no-export-star\nexport * from '@tldraw/validate'\n\nexport {\n\tErrorScreen,\n\tLoadingScreen,\n\tTldrawEditor,\n\tuseOnMount,\n\ttype LoadingScreenProps,\n\ttype TLOnMountHandler,\n\ttype TldrawEditorBaseProps,\n\ttype TldrawEditorProps,\n\ttype TldrawEditorStoreProps,\n\ttype TldrawEditorWithStoreProps,\n\ttype TldrawEditorWithoutStoreProps,\n} from './lib/TldrawEditor'\nexport {\n\tErrorBoundary,\n\tOptionalErrorBoundary,\n\ttype TLErrorBoundaryProps,\n} from './lib/components/ErrorBoundary'\nexport { HTMLContainer, type HTMLContainerProps } from './lib/components/HTMLContainer'\nexport { MenuClickCapture } from './lib/components/MenuClickCapture'\nexport { SVGContainer, type SVGContainerProps } from './lib/components/SVGContainer'\nexport { DefaultBackground } from './lib/components/default-components/DefaultBackground'\nexport { DefaultBrush, type TLBrushProps } from './lib/components/default-components/DefaultBrush'\nexport {\n\tDefaultCanvas,\n\ttype TLCanvasComponentProps,\n} from './lib/components/default-components/DefaultCanvas'\nexport {\n\tDefaultCollaboratorHint,\n\ttype TLCollaboratorHintProps,\n} from './lib/components/default-components/DefaultCollaboratorHint'\nexport {\n\tDefaultCursor,\n\ttype TLCursorProps,\n} from './lib/components/default-components/DefaultCursor'\nexport {\n\tDefaultErrorFallback,\n\ttype TLErrorFallbackComponent,\n} from './lib/components/default-components/DefaultErrorFallback'\nexport { DefaultGrid, type TLGridProps } from './lib/components/default-components/DefaultGrid'\nexport {\n\tDefaultHandle,\n\ttype TLHandleProps,\n} from './lib/components/default-components/DefaultHandle'\nexport {\n\tDefaultHandles,\n\ttype TLHandlesProps,\n} from './lib/components/default-components/DefaultHandles'\nexport {\n\tDefaultScribble,\n\ttype TLScribbleProps,\n} from './lib/components/default-components/DefaultScribble'\nexport {\n\tDefaultSelectionBackground,\n\ttype TLSelectionBackgroundProps,\n} from './lib/components/default-components/DefaultSelectionBackground'\nexport {\n\tDefaultSelectionForeground,\n\ttype TLSelectionForegroundProps,\n} from './lib/components/default-components/DefaultSelectionForeground'\nexport { type TLShapeErrorFallbackComponent } from './lib/components/default-components/DefaultShapeErrorFallback'\nexport {\n\tDefaultShapeIndicator,\n\ttype TLShapeIndicatorProps,\n} from './lib/components/default-components/DefaultShapeIndicator'\nexport { type TLShapeIndicatorErrorFallbackComponent } from './lib/components/default-components/DefaultShapeIndicatorErrorFallback'\nexport {\n\tDefaultShapeIndicators,\n\ttype TLShapeIndicatorsProps,\n} from './lib/components/default-components/DefaultShapeIndicators'\nexport {\n\tDefaultSnapIndicator,\n\ttype TLSnapIndicatorProps,\n} from './lib/components/default-components/DefaultSnapIndictor'\nexport { DefaultSpinner } from './lib/components/default-components/DefaultSpinner'\nexport { DefaultSvgDefs } from './lib/components/default-components/DefaultSvgDefs'\nexport {\n\tgetSnapshot,\n\tloadSnapshot,\n\ttype TLEditorSnapshot,\n\ttype TLLoadSnapshotOptions,\n} from './lib/config/TLEditorSnapshot'\nexport {\n\tTAB_ID,\n\tcreateSessionStateSnapshotSignal,\n\textractSessionStateFromLegacySnapshot,\n\tloadSessionStateSnapshotIntoStore,\n\ttype TLLoadSessionStateSnapshotOptions,\n\ttype TLSessionStateSnapshot,\n} from './lib/config/TLSessionStateSnapshot'\nexport {\n\tUSER_COLORS,\n\tdefaultUserPreferences,\n\tgetFreshUserPreferences,\n\tgetUserPreferences,\n\tsetUserPreferences,\n\tuserTypeValidator,\n\ttype TLUserPreferences,\n} from './lib/config/TLUserPreferences'\nexport {\n\tcreateTLSchemaFromUtils,\n\tcreateTLStore,\n\tinlineBase64AssetStore,\n\ttype TLStoreBaseOptions,\n\ttype TLStoreEventInfo,\n\ttype TLStoreOptions,\n\ttype TLStoreSchemaOptions,\n} from './lib/config/createTLStore'\nexport { createTLUser, useTldrawUser, type TLUser } from './lib/config/createTLUser'\nexport { type TLAnyBindingUtilConstructor } from './lib/config/defaultBindings'\nexport { coreShapes, type TLAnyShapeUtilConstructor } from './lib/config/defaultShapes'\nexport { DEFAULT_ANIMATION_OPTIONS, DEFAULT_CAMERA_OPTIONS, SIDES } from './lib/constants'\nexport {\n\tEditor,\n\ttype TLEditorOptions,\n\ttype TLEditorRunOptions,\n\ttype TLRenderingShape,\n\ttype TLResizeShapeOptions,\n} from './lib/editor/Editor'\nexport {\n\tBindingUtil,\n\ttype BindingOnChangeOptions,\n\ttype BindingOnCreateOptions,\n\ttype BindingOnDeleteOptions,\n\ttype BindingOnShapeChangeOptions,\n\ttype BindingOnShapeDeleteOptions,\n\ttype BindingOnShapeIsolateOptions,\n\ttype TLBindingUtilConstructor,\n} from './lib/editor/bindings/BindingUtil'\nexport { ClickManager, type TLClickState } from './lib/editor/managers/ClickManager/ClickManager'\nexport { EdgeScrollManager } from './lib/editor/managers/EdgeScrollManager/EdgeScrollManager'\nexport {\n\tFontManager,\n\ttype TLFontFace,\n\ttype TLFontFaceSource,\n} from './lib/editor/managers/FontManager/FontManager'\nexport { HistoryManager } from './lib/editor/managers/HistoryManager/HistoryManager'\nexport {\n\tScribbleManager,\n\ttype ScribbleItem,\n} from './lib/editor/managers/ScribbleManager/ScribbleManager'\nexport {\n\tBoundsSnaps,\n\ttype BoundsSnapGeometry,\n\ttype BoundsSnapPoint,\n} from './lib/editor/managers/SnapManager/BoundsSnaps'\nexport { HandleSnaps, type HandleSnapGeometry } from './lib/editor/managers/SnapManager/HandleSnaps'\nexport {\n\tSnapManager,\n\ttype GapsSnapIndicator,\n\ttype PointsSnapIndicator,\n\ttype SnapData,\n\ttype SnapIndicator,\n} from './lib/editor/managers/SnapManager/SnapManager'\nexport {\n\tTextManager,\n\ttype TLMeasureTextOpts,\n\ttype TLMeasureTextSpanOpts,\n} from './lib/editor/managers/TextManager/TextManager'\nexport { UserPreferencesManager } from './lib/editor/managers/UserPreferencesManager/UserPreferencesManager'\nexport { BaseBoxShapeUtil, type TLBaseBoxShape } from './lib/editor/shapes/BaseBoxShapeUtil'\nexport {\n\tShapeUtil,\n\ttype TLCropInfo,\n\ttype TLGeometryOpts,\n\ttype TLHandleDragInfo,\n\ttype TLResizeInfo,\n\ttype TLResizeMode,\n\ttype TLShapeUtilCanBeLaidOutOpts,\n\ttype TLShapeUtilCanBindOpts,\n\ttype TLShapeUtilCanvasSvgDef,\n\ttype TLShapeUtilConstructor,\n} from './lib/editor/shapes/ShapeUtil'\nexport { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'\nexport {\n\tgetPerfectDashProps,\n\ttype PerfectDashTerminal,\n} from './lib/editor/shapes/shared/getPerfectDashProps'\nexport { resizeBox, type ResizeBoxOptions } from './lib/editor/shapes/shared/resizeBox'\nexport { resizeScaled } from './lib/editor/shapes/shared/resizeScaled'\nexport { BaseBoxShapeTool } from './lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool'\nexport { maybeSnapToGrid } from './lib/editor/tools/BaseBoxShapeTool/children/Pointing'\nexport { StateNode, type TLStateNodeConstructor } from './lib/editor/tools/StateNode'\nexport {\n\tuseDelaySvgExport,\n\tuseSvgExportContext,\n\ttype SvgExportContext,\n\ttype SvgExportDef,\n} from './lib/editor/types/SvgExportContext'\nexport { type TLContent } from './lib/editor/types/clipboard-types'\nexport { type TLEventMap, type TLEventMapHandler } from './lib/editor/types/emit-types'\nexport {\n\tEVENT_NAME_MAP,\n\ttype TLBaseEventInfo,\n\ttype TLCLickEventName,\n\ttype TLCancelEvent,\n\ttype TLCancelEventInfo,\n\ttype TLClickEvent,\n\ttype TLClickEventInfo,\n\ttype TLCompleteEvent,\n\ttype TLCompleteEventInfo,\n\ttype TLEnterEventHandler,\n\ttype TLEventHandlers,\n\ttype TLEventInfo,\n\ttype TLEventName,\n\ttype TLExitEventHandler,\n\ttype TLInterruptEvent,\n\ttype TLInterruptEventInfo,\n\ttype TLKeyboardEvent,\n\ttype TLKeyboardEventInfo,\n\ttype TLKeyboardEventName,\n\ttype TLPinchEvent,\n\ttype TLPinchEventInfo,\n\ttype TLPinchEventName,\n\ttype TLPointerEvent,\n\ttype TLPointerEventInfo,\n\ttype TLPointerEventName,\n\ttype TLPointerEventTarget,\n\ttype TLTickEvent,\n\ttype TLTickEventInfo,\n\ttype TLWheelEvent,\n\ttype TLWheelEventInfo,\n\ttype UiEvent,\n\ttype UiEventType,\n} from './lib/editor/types/event-types'\nexport {\n\ttype TLBaseExternalContent,\n\ttype TLEmbedExternalContent,\n\ttype TLErrorExternalContentSource,\n\ttype TLExcalidrawExternalContent,\n\ttype TLExcalidrawExternalContentSource,\n\ttype TLExternalAsset,\n\ttype TLExternalContent,\n\ttype TLExternalContentSource,\n\ttype TLFileExternalAsset,\n\ttype TLFileReplaceExternalContent,\n\ttype TLFilesExternalContent,\n\ttype TLSvgTextExternalContent,\n\ttype TLTextExternalContent,\n\ttype TLTextExternalContentSource,\n\ttype TLTldrawExternalContent,\n\ttype TLTldrawExternalContentSource,\n\ttype TLUrlExternalAsset,\n\ttype TLUrlExternalContent,\n} from './lib/editor/types/external-content'\nexport {\n\ttype TLHistoryBatchOptions,\n\ttype TLHistoryDiff,\n\ttype TLHistoryEntry,\n\ttype TLHistoryMark,\n} from './lib/editor/types/history-types'\nexport {\n\ttype OptionalKeys,\n\ttype RequiredKeys,\n\ttype TLCameraConstraints,\n\ttype TLCameraMoveOptions,\n\ttype TLCameraOptions,\n\ttype TLExportType,\n\ttype TLImageExportOptions,\n\ttype TLSvgExportOptions,\n\ttype TLSvgOptions,\n} from './lib/editor/types/misc-types'\nexport {\n\ttype TLAdjacentDirection,\n\ttype TLResizeHandle,\n\ttype TLSelectionHandle,\n} from './lib/editor/types/selection-types'\nexport { getSvgAsImage } from './lib/exports/getSvgAsImage'\nexport { tlenv } from './lib/globals/environment'\nexport { tlmenus } from './lib/globals/menus'\nexport { tltime } from './lib/globals/time'\nexport {\n\tContainerProvider,\n\tuseContainer,\n\tuseContainerIfExists,\n\ttype ContainerProviderProps,\n} from './lib/hooks/useContainer'\nexport { getCursor } from './lib/hooks/useCursor'\nexport { EditorContext, useEditor, useMaybeEditor } from './lib/hooks/useEditor'\nexport { useEditorComponents } from './lib/hooks/useEditorComponents'\nexport type { TLEditorComponents } from './lib/hooks/useEditorComponents'\nexport { useEvent, useReactiveEvent } from './lib/hooks/useEvent'\nexport { useGlobalMenuIsOpen } from './lib/hooks/useGlobalMenuIsOpen'\nexport { useShallowArrayIdentity, useShallowObjectIdentity } from './lib/hooks/useIdentity'\nexport { useIsCropping } from './lib/hooks/useIsCropping'\nexport { useIsDarkMode } from './lib/hooks/useIsDarkMode'\nexport { useIsEditing } from './lib/hooks/useIsEditing'\nexport { useLocalStore } from './lib/hooks/useLocalStore'\nexport { usePassThroughMouseOverEvents } from './lib/hooks/usePassThroughMouseOverEvents'\nexport { usePassThroughWheelEvents } from './lib/hooks/usePassThroughWheelEvents'\nexport { usePeerIds } from './lib/hooks/usePeerIds'\nexport { usePresence } from './lib/hooks/usePresence'\nexport { useRefState } from './lib/hooks/useRefState'\nexport {\n\tsanitizeId,\n\tsuffixSafeId,\n\tuseSharedSafeId,\n\tuseUniqueSafeId,\n\ttype SafeId,\n} from './lib/hooks/useSafeId'\nexport { useSelectionEvents } from './lib/hooks/useSelectionEvents'\nexport { useTLSchemaFromUtils, useTLStore } from './lib/hooks/useTLStore'\nexport { useTransform } from './lib/hooks/useTransform'\nexport { useViewportHeight } from './lib/hooks/useViewportHeight'\nexport {\n\tLicenseManager,\n\ttype InvalidLicenseKeyResult,\n\ttype InvalidLicenseReason,\n\ttype LicenseFromKeyResult,\n\ttype LicenseInfo,\n\ttype TestEnvironment,\n\ttype ValidLicenseKeyResult,\n} from './lib/license/LicenseManager'\nexport { defaultTldrawOptions, type TldrawOptions } from './lib/options'\nexport {\n\tBox,\n\tROTATE_CORNER_TO_SELECTION_CORNER,\n\trotateSelectionHandle,\n\ttype BoxLike,\n\ttype RotateCorner,\n\ttype SelectionCorner,\n\ttype SelectionEdge,\n\ttype SelectionHandle,\n} from './lib/primitives/Box'\nexport { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'\nexport { Vec, type VecLike } from './lib/primitives/Vec'\nexport { EASINGS } from './lib/primitives/easings'\nexport { Arc2d } from './lib/primitives/geometry/Arc2d'\nexport { Circle2d } from './lib/primitives/geometry/Circle2d'\nexport { CubicBezier2d } from './lib/primitives/geometry/CubicBezier2d'\nexport { CubicSpline2d } from './lib/primitives/geometry/CubicSpline2d'\nexport { Edge2d } from './lib/primitives/geometry/Edge2d'\nexport { Ellipse2d } from './lib/primitives/geometry/Ellipse2d'\nexport {\n\tGeometry2d,\n\tGeometry2dFilters,\n\tTransformedGeometry2d,\n\ttype Geometry2dOptions,\n\ttype TransformedGeometry2dOptions,\n} from './lib/primitives/geometry/Geometry2d'\nexport { Group2d } from './lib/primitives/geometry/Group2d'\nexport { Point2d } from './lib/primitives/geometry/Point2d'\nexport { Polygon2d } from './lib/primitives/geometry/Polygon2d'\nexport { Polyline2d } from './lib/primitives/geometry/Polyline2d'\nexport { Rectangle2d } from './lib/primitives/geometry/Rectangle2d'\nexport { Stadium2d } from './lib/primitives/geometry/Stadium2d'\nexport {\n\tintersectCircleCircle,\n\tintersectCirclePolygon,\n\tintersectCirclePolyline,\n\tintersectLineSegmentCircle,\n\tintersectLineSegmentLineSegment,\n\tintersectLineSegmentPolygon,\n\tintersectLineSegmentPolyline,\n\tintersectPolygonBounds,\n\tintersectPolygonPolygon,\n\tlinesIntersect,\n\tpolygonIntersectsPolyline,\n\tpolygonsIntersect,\n} from './lib/primitives/intersect'\nexport {\n\tHALF_PI,\n\tPI,\n\tPI2,\n\tSIN,\n\tangleDistance,\n\tapproximately,\n\tareAnglesCompatible,\n\taverage,\n\tcanonicalizeRotation,\n\tcenterOfCircleFromThreePoints,\n\tclamp,\n\tclampRadians,\n\tclockwiseAngleDist,\n\tcounterClockwiseAngleDist,\n\tdegreesToRadians,\n\tgetArcMeasure,\n\tgetPointInArcT,\n\tgetPointOnCircle,\n\tgetPointsOnArc,\n\tgetPolygonVertices,\n\tisSafeFloat,\n\tperimeterOfEllipse,\n\tpointInPolygon,\n\tprecise,\n\tradiansToDegrees,\n\trangeIntersection,\n\tshortAngleDist,\n\tsnapAngle,\n\ttoDomPrecision,\n\ttoFixed,\n\ttoPrecision,\n} from './lib/primitives/utils'\nexport {\n\tReadonlySharedStyleMap,\n\tSharedStyleMap,\n\ttype SharedStyle,\n} from './lib/utils/SharedStylesMap'\nexport { dataUrlToFile, getDefaultCdnBaseUrl } from './lib/utils/assets'\nexport { clampToBrowserMaxCanvasSize, type CanvasMaxSize } from './lib/utils/browserCanvasMaxSize'\nexport {\n\tdebugFlags,\n\tfeatureFlags,\n\ttype DebugFlag,\n\ttype DebugFlagDef,\n\ttype DebugFlagDefaults,\n} from './lib/utils/debug-flags'\nexport {\n\tcreateDeepLinkString,\n\tparseDeepLinkString,\n\ttype TLDeepLink,\n\ttype TLDeepLinkOptions,\n} from './lib/utils/deepLinks'\nexport {\n\tactiveElementShouldCaptureKeys,\n\tloopToHtmlElement,\n\tpreventDefault,\n\treleasePointerCapture,\n\tsetPointerCapture,\n\tstopEventPropagation,\n} from './lib/utils/dom'\nexport { getIncrementedName } from './lib/utils/getIncrementedName'\nexport { getPointerInfo } from './lib/utils/getPointerInfo'\nexport { getSvgPathFromPoints } from './lib/utils/getSvgPathFromPoints'\nexport { hardResetEditor } from './lib/utils/hardResetEditor'\nexport { isAccelKey } from './lib/utils/keyboard'\nexport { normalizeWheel } from './lib/utils/normalizeWheel'\nexport { refreshPage } from './lib/utils/refreshPage'\nexport {\n\tgetFontsFromRichText,\n\ttype RichTextFontVisitor,\n\ttype RichTextFontVisitorState,\n\ttype TLTextOptions,\n\ttype TiptapEditor,\n\ttype TiptapNode,\n} from './lib/utils/richText'\nexport {\n\tapplyRotationToSnapshotShapes,\n\tgetRotationSnapshot,\n\ttype TLRotationSnapshot,\n} from './lib/utils/rotation'\nexport { runtime, setRuntimeOverrides } from './lib/utils/runtime'\nexport { LocalIndexedDb, Table, type StoreName } from './lib/utils/sync/LocalIndexedDb'\nexport { type TLStoreWithStatus } from './lib/utils/sync/StoreWithStatus'\nexport { hardReset } from './lib/utils/sync/hardReset'\nexport { uniq } from './lib/utils/uniq'\nexport { openWindow } from './lib/utils/window-open'\n\n/**\n * @deprecated Licensing is now enabled in the tldraw SDK.\n * @public */\nexport function debugEnableLicensing() {\n\t// noop\n\treturn\n}\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -10,12 +10,12 @@ import {
10
10
  import {
11
11
  deleteFromSessionStorage,
12
12
  getFromSessionStorage,
13
+ isEqual,
13
14
  setInSessionStorage,
14
15
  structuredClone,
15
16
  uniqueId
16
17
  } from "@tldraw/utils";
17
18
  import { T } from "@tldraw/validate";
18
- import isEqual from "lodash.isequal";
19
19
  import { tlenv } from "../globals/environment.mjs";
20
20
  const tabIdKey = "TLDRAW_TAB_ID_v2";
21
21
  const window = globalThis.window;