@tldraw/editor 3.16.0-canary.dfdf6b7de8c2 → 3.16.0-canary.e5e61b17cef3

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 (167) hide show
  1. package/dist-cjs/index.d.ts +131 -110
  2. package/dist-cjs/index.js +3 -5
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawEditor.js +6 -6
  5. package/dist-cjs/lib/TldrawEditor.js.map +2 -2
  6. package/dist-cjs/lib/components/Shape.js +7 -10
  7. package/dist-cjs/lib/components/Shape.js.map +2 -2
  8. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +4 -23
  9. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  10. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  11. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js.map +1 -1
  12. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
  13. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js.map +2 -2
  14. package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
  15. package/dist-cjs/lib/components/default-components/DefaultScribble.js.map +2 -2
  16. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +9 -1
  17. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  18. package/dist-cjs/lib/config/TLUserPreferences.js +9 -3
  19. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  20. package/dist-cjs/lib/editor/Editor.js +80 -135
  21. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  22. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +4 -0
  23. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +2 -2
  24. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +9 -4
  25. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  26. package/dist-cjs/lib/editor/shapes/ShapeUtil.js +23 -0
  27. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  28. package/dist-cjs/lib/editor/types/misc-types.js.map +1 -1
  29. package/dist-cjs/lib/exports/getSvgJsx.js +35 -16
  30. package/dist-cjs/lib/exports/getSvgJsx.js.map +2 -2
  31. package/dist-cjs/lib/hooks/useCanvasEvents.js +7 -5
  32. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  33. package/dist-cjs/lib/hooks/usePassThroughMouseOverEvents.js +4 -1
  34. package/dist-cjs/lib/hooks/usePassThroughMouseOverEvents.js.map +2 -2
  35. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js +4 -1
  36. package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js.map +2 -2
  37. package/dist-cjs/lib/license/LicenseManager.js +120 -50
  38. package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
  39. package/dist-cjs/lib/license/LicenseProvider.js +39 -1
  40. package/dist-cjs/lib/license/LicenseProvider.js.map +2 -2
  41. package/dist-cjs/lib/license/Watermark.js +72 -10
  42. package/dist-cjs/lib/license/Watermark.js.map +3 -3
  43. package/dist-cjs/lib/license/useLicenseManagerState.js.map +2 -2
  44. package/dist-cjs/lib/options.js +7 -0
  45. package/dist-cjs/lib/options.js.map +2 -2
  46. package/dist-cjs/lib/primitives/Box.js +3 -0
  47. package/dist-cjs/lib/primitives/Box.js.map +2 -2
  48. package/dist-cjs/lib/primitives/Vec.js +0 -4
  49. package/dist-cjs/lib/primitives/Vec.js.map +2 -2
  50. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +50 -20
  51. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  52. package/dist-cjs/lib/primitives/geometry/Group2d.js +8 -1
  53. package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
  54. package/dist-cjs/lib/utils/reparenting.js +2 -35
  55. package/dist-cjs/lib/utils/reparenting.js.map +3 -3
  56. package/dist-cjs/version.js +3 -3
  57. package/dist-cjs/version.js.map +1 -1
  58. package/dist-esm/index.d.mts +131 -110
  59. package/dist-esm/index.mjs +3 -5
  60. package/dist-esm/index.mjs.map +2 -2
  61. package/dist-esm/lib/TldrawEditor.mjs +6 -6
  62. package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
  63. package/dist-esm/lib/components/Shape.mjs +7 -10
  64. package/dist-esm/lib/components/Shape.mjs.map +2 -2
  65. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +4 -23
  66. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  67. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs +1 -1
  68. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs.map +1 -1
  69. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs +1 -1
  70. package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs.map +2 -2
  71. package/dist-esm/lib/components/default-components/DefaultScribble.mjs +1 -1
  72. package/dist-esm/lib/components/default-components/DefaultScribble.mjs.map +2 -2
  73. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +9 -1
  74. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  75. package/dist-esm/lib/config/TLUserPreferences.mjs +9 -3
  76. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  77. package/dist-esm/lib/editor/Editor.mjs +80 -135
  78. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  79. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +4 -0
  80. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +2 -2
  81. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +9 -4
  82. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  83. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +23 -0
  84. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  85. package/dist-esm/lib/exports/getSvgJsx.mjs +36 -16
  86. package/dist-esm/lib/exports/getSvgJsx.mjs.map +2 -2
  87. package/dist-esm/lib/hooks/useCanvasEvents.mjs +7 -5
  88. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  89. package/dist-esm/lib/hooks/usePassThroughMouseOverEvents.mjs +4 -1
  90. package/dist-esm/lib/hooks/usePassThroughMouseOverEvents.mjs.map +2 -2
  91. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs +4 -1
  92. package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs.map +2 -2
  93. package/dist-esm/lib/license/LicenseManager.mjs +121 -51
  94. package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
  95. package/dist-esm/lib/license/LicenseProvider.mjs +39 -2
  96. package/dist-esm/lib/license/LicenseProvider.mjs.map +2 -2
  97. package/dist-esm/lib/license/Watermark.mjs +72 -10
  98. package/dist-esm/lib/license/Watermark.mjs.map +3 -3
  99. package/dist-esm/lib/license/useLicenseManagerState.mjs.map +2 -2
  100. package/dist-esm/lib/options.mjs +7 -0
  101. package/dist-esm/lib/options.mjs.map +2 -2
  102. package/dist-esm/lib/primitives/Box.mjs +4 -1
  103. package/dist-esm/lib/primitives/Box.mjs.map +2 -2
  104. package/dist-esm/lib/primitives/Vec.mjs +0 -4
  105. package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
  106. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +53 -21
  107. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  108. package/dist-esm/lib/primitives/geometry/Group2d.mjs +8 -1
  109. package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
  110. package/dist-esm/lib/utils/reparenting.mjs +3 -40
  111. package/dist-esm/lib/utils/reparenting.mjs.map +2 -2
  112. package/dist-esm/version.mjs +3 -3
  113. package/dist-esm/version.mjs.map +1 -1
  114. package/editor.css +308 -290
  115. package/package.json +14 -37
  116. package/src/index.ts +3 -9
  117. package/src/lib/TldrawEditor.tsx +7 -14
  118. package/src/lib/components/Shape.tsx +6 -12
  119. package/src/lib/components/default-components/DefaultCanvas.tsx +5 -22
  120. package/src/lib/components/default-components/DefaultCollaboratorHint.tsx +1 -1
  121. package/src/lib/components/default-components/DefaultErrorFallback.tsx +1 -1
  122. package/src/lib/components/default-components/DefaultScribble.tsx +1 -1
  123. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +5 -1
  124. package/src/lib/config/TLUserPreferences.ts +8 -1
  125. package/src/lib/editor/Editor.test.ts +12 -11
  126. package/src/lib/editor/Editor.ts +112 -195
  127. package/src/lib/editor/derivations/notVisibleShapes.ts +6 -0
  128. package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +15 -14
  129. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +16 -15
  130. package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +49 -48
  131. package/src/lib/editor/managers/FontManager/FontManager.test.ts +24 -23
  132. package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +7 -6
  133. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +12 -11
  134. package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +57 -50
  135. package/src/lib/editor/managers/TextManager/TextManager.test.ts +51 -26
  136. package/src/lib/editor/managers/TickManager/TickManager.test.ts +14 -13
  137. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +34 -26
  138. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +6 -1
  139. package/src/lib/editor/shapes/ShapeUtil.ts +46 -0
  140. package/src/lib/editor/types/misc-types.ts +54 -7
  141. package/src/lib/exports/getSvgJsx.test.ts +868 -0
  142. package/src/lib/exports/getSvgJsx.tsx +78 -21
  143. package/src/lib/hooks/useCanvasEvents.ts +6 -6
  144. package/src/lib/hooks/usePassThroughMouseOverEvents.ts +4 -1
  145. package/src/lib/hooks/usePassThroughWheelEvents.ts +6 -1
  146. package/src/lib/license/LicenseManager.test.ts +648 -383
  147. package/src/lib/license/LicenseManager.ts +173 -53
  148. package/src/lib/license/LicenseProvider.tsx +74 -2
  149. package/src/lib/license/Watermark.test.tsx +2 -1
  150. package/src/lib/license/Watermark.tsx +77 -10
  151. package/src/lib/license/useLicenseManagerState.ts +2 -2
  152. package/src/lib/options.ts +8 -0
  153. package/src/lib/primitives/Box.test.ts +126 -0
  154. package/src/lib/primitives/Box.ts +10 -1
  155. package/src/lib/primitives/Vec.ts +0 -5
  156. package/src/lib/primitives/geometry/Geometry2d.test.ts +420 -0
  157. package/src/lib/primitives/geometry/Geometry2d.ts +78 -21
  158. package/src/lib/primitives/geometry/Group2d.ts +10 -1
  159. package/src/lib/utils/reparenting.ts +3 -69
  160. package/src/lib/utils/sync/LocalIndexedDb.test.ts +2 -1
  161. package/src/lib/utils/sync/TLLocalSyncClient.test.ts +15 -15
  162. package/src/version.ts +3 -3
  163. package/dist-cjs/lib/utils/nearestMultiple.js +0 -34
  164. package/dist-cjs/lib/utils/nearestMultiple.js.map +0 -7
  165. package/dist-esm/lib/utils/nearestMultiple.mjs +0 -14
  166. package/dist-esm/lib/utils/nearestMultiple.mjs.map +0 -7
  167. package/src/lib/utils/nearestMultiple.ts +0 -13
@@ -510,6 +510,7 @@ export declare class Box {
510
510
  static ExpandBy(A: Box, n: number): Box;
511
511
  static Collides(A: Box, B: Box): boolean;
512
512
  static Contains(A: Box, B: Box): boolean;
513
+ static ContainsApproximately(A: Box, B: Box, precision?: number): boolean;
513
514
  static Includes(A: Box, B: Box): boolean;
514
515
  static ContainsPoint(A: Box, B: VecLike, margin?: number): boolean;
515
516
  static Common(boxes: Box[]): Box;
@@ -760,11 +761,6 @@ export declare class CubicSpline2d extends Geometry2d {
760
761
  /** @public */
761
762
  export declare function dataUrlToFile(url: string, filename: string, mimeType: string): Promise<File>;
762
763
 
763
- /**
764
- * @deprecated Licensing is now enabled in the tldraw SDK.
765
- * @public */
766
- export declare function debugEnableLicensing(): void;
767
-
768
764
  /* Excluded from this release type: DebugFlag */
769
765
 
770
766
  /* Excluded from this release type: DebugFlagDef */
@@ -889,6 +885,9 @@ export declare const defaultTldrawOptions: {
889
885
  readonly nonce: undefined;
890
886
  readonly temporaryAssetPreviewLifetimeMs: 180000;
891
887
  readonly textShadowLod: 0.35;
888
+ readonly tooltipDelayMs: 700;
889
+ readonly uiCoarseDragDistanceSquared: 625;
890
+ readonly uiDragDistanceSquared: 16;
892
891
  };
893
892
 
894
893
  /** @public */
@@ -904,6 +903,7 @@ export declare const defaultUserPreferences: Readonly<{
904
903
  isWrapMode: false;
905
904
  locale: "ar" | "bn" | "ca" | "cs" | "da" | "de" | "el" | "en" | "es" | "fa" | "fi" | "fr" | "gl" | "gu-in" | "he" | "hi-in" | "hr" | "hu" | "id" | "it" | "ja" | "km-kh" | "kn" | "ko-kr" | "ml" | "mr" | "ms" | "ne" | "nl" | "no" | "pa" | "pl" | "pt-br" | "pt-pt" | "ro" | "ru" | "sl" | "so" | "sv" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "ur" | "vi" | "zh-cn" | "zh-tw";
906
905
  name: "";
906
+ showUiLabels: false;
907
907
  }>;
908
908
 
909
909
  /**
@@ -979,7 +979,7 @@ export declare class EdgeScrollManager {
979
979
  /** @public */
980
980
  export declare class Editor extends EventEmitter<TLEventMap> {
981
981
  readonly id: string;
982
- constructor({ store, user, shapeUtils, bindingUtils, tools, getContainer, cameraOptions, textOptions, initialState, autoFocus, inferDarkMode, options, isShapeHidden, getShapeVisibility, fontAssetUrls, }: TLEditorOptions);
982
+ constructor({ store, user, shapeUtils, bindingUtils, tools, getContainer, cameraOptions, textOptions, initialState, autoFocus, inferDarkMode, options, getShapeVisibility, fontAssetUrls, }: TLEditorOptions);
983
983
  private readonly _getShapeVisibility?;
984
984
  private getIsShapeHiddenCache;
985
985
  isShapeHidden(shapeOrId: TLShape | TLShapeId): boolean;
@@ -1046,22 +1046,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1046
1046
  * @public
1047
1047
  */
1048
1048
  readonly fonts: FontManager;
1049
- /**
1050
- * A manager for the editor's environment.
1051
- *
1052
- * @deprecated This is deprecated and will be removed in a future version. Use the `tlenv` global export instead.
1053
- * @public
1054
- */
1055
- readonly environment: {
1056
- hasCanvasSupport: boolean;
1057
- isAndroid: boolean;
1058
- isChromeForIos: boolean;
1059
- isDarwin: boolean;
1060
- isFirefox: boolean;
1061
- isIos: boolean;
1062
- isSafari: boolean;
1063
- isWebview: boolean;
1064
- };
1065
1049
  /**
1066
1050
  * A manager for the editor's scribbles.
1067
1051
  *
@@ -1204,22 +1188,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1204
1188
  * @public
1205
1189
  */
1206
1190
  getCanRedo(): boolean;
1207
- /**
1208
- * Create a new "mark", or stopping point, in the undo redo history. Creating a mark will clear
1209
- * any redos.
1210
- *
1211
- * @example
1212
- * ```ts
1213
- * editor.mark()
1214
- * editor.mark('flip shapes')
1215
- * ```
1216
- *
1217
- * @param markId - The mark's id, usually the reason for adding the mark.
1218
- *
1219
- * @public
1220
- * @deprecated use {@link Editor.markHistoryStoppingPoint} instead
1221
- */
1222
- mark(markId?: string): this;
1223
1191
  /**
1224
1192
  * Create a new "mark", or stopping point, in the undo redo history. Creating a mark will clear
1225
1193
  * any redos. You typically want to do this just before a user interaction begins or is handled.
@@ -1309,10 +1277,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1309
1277
  * @public
1310
1278
  */
1311
1279
  run(fn: () => void, opts?: TLEditorRunOptions): this;
1312
- /**
1313
- * @deprecated Use `Editor.run` instead.
1314
- */
1315
- batch(fn: () => void, opts?: TLEditorRunOptions): this;
1316
1280
  /* Excluded from this release type: annotateError */
1317
1281
  /* Excluded from this release type: createErrorAnnotations */
1318
1282
  /* Excluded from this release type: _crashingError */
@@ -1434,36 +1398,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1434
1398
  hasOpenMenus: () => boolean;
1435
1399
  isMenuOpen: (id: string) => boolean;
1436
1400
  };
1437
- /**
1438
- * @deprecated Use `editor.menus.getOpenMenus` instead.
1439
- *
1440
- * @public
1441
- */
1442
- getOpenMenus(): string[];
1443
- /**
1444
- * @deprecated Use `editor.menus.addOpenMenu` instead.
1445
- *
1446
- * @public
1447
- */
1448
- addOpenMenu(id: string): this;
1449
- /**
1450
- * @deprecated Use `editor.menus.deleteOpenMenu` instead.
1451
- *
1452
- * @public
1453
- */
1454
- deleteOpenMenu(id: string): this;
1455
- /**
1456
- * @deprecated Use `editor.menus.clearOpenMenus` instead.
1457
- *
1458
- * @public
1459
- */
1460
- clearOpenMenus(): this;
1461
- /**
1462
- * @deprecated Use `editor.menus.hasAnyOpenMenus` instead.
1463
- *
1464
- * @public
1465
- */
1466
- getIsMenuOpen(): boolean;
1467
1401
  /**
1468
1402
  * Set the cursor.
1469
1403
  *
@@ -2690,15 +2624,7 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2690
2624
  *
2691
2625
  * @returns The shape at the given point, or undefined if there is no shape at the point.
2692
2626
  */
2693
- getShapeAtPoint(point: VecLike, opts?: {
2694
- filter?(shape: TLShape): boolean;
2695
- hitFrameInside?: boolean;
2696
- hitInside?: boolean;
2697
- hitLabels?: boolean;
2698
- hitLocked?: boolean;
2699
- margin?: number;
2700
- renderingOnly?: boolean;
2701
- }): TLShape | undefined;
2627
+ getShapeAtPoint(point: VecLike, opts?: TLGetShapeAtPointOptions): TLShape | undefined;
2702
2628
  /**
2703
2629
  * Get the shapes, if any, at a given page point.
2704
2630
  *
@@ -2920,8 +2846,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2920
2846
  * @public
2921
2847
  */
2922
2848
  getShapeAndDescendantIds(ids: TLShapeId[]): Set<TLShapeId>;
2923
- /** @deprecated Use {@link Editor.getDraggingOverShape} instead */
2924
- getDroppingOverShape(point: Vec, droppingShapes: TLShape[]): TLShape | undefined;
2925
2849
  /**
2926
2850
  * Get the shape that some shapes should be dropped on at a given point.
2927
2851
  *
@@ -3696,8 +3620,6 @@ export declare class Editor extends EventEmitter<TLEventMap> {
3696
3620
  svg: string;
3697
3621
  width: number;
3698
3622
  } | undefined>;
3699
- /** @deprecated Use {@link Editor.getSvgString} or {@link Editor.getSvgElement} instead. */
3700
- getSvg(shapes: TLShape[] | TLShapeId[], opts?: TLSvgExportOptions): Promise<SVGSVGElement | undefined>;
3701
3623
  /**
3702
3624
  * Get an exported image of the given shapes.
3703
3625
  *
@@ -3712,6 +3634,20 @@ export declare class Editor extends EventEmitter<TLEventMap> {
3712
3634
  height: number;
3713
3635
  width: number;
3714
3636
  }>;
3637
+ /**
3638
+ * Get an exported image of the given shapes as a data URL.
3639
+ *
3640
+ * @param shapes - The shapes (or shape ids) to export.
3641
+ * @param opts - Options for the export.
3642
+ *
3643
+ * @returns A data URL of the image.
3644
+ * @public
3645
+ */
3646
+ toImageDataUrl(shapes: TLShape[] | TLShapeId[], opts?: TLImageExportOptions): Promise<{
3647
+ height: number;
3648
+ url: string;
3649
+ width: number;
3650
+ }>;
3715
3651
  /**
3716
3652
  * The app's current input state.
3717
3653
  *
@@ -4153,6 +4089,7 @@ export declare abstract class Geometry2d {
4153
4089
  isLabel: boolean;
4154
4090
  isEmptyLabel: boolean;
4155
4091
  isInternal: boolean;
4092
+ excludeFromShapeBounds: boolean;
4156
4093
  debugColor?: string;
4157
4094
  ignore?: boolean;
4158
4095
  constructor(opts: Geometry2dOptions);
@@ -4176,12 +4113,14 @@ export declare abstract class Geometry2d {
4176
4113
  * along the edge it is as a fraction of the total length.
4177
4114
  */
4178
4115
  uninterpolateAlongEdge(point: VecLike, _filters?: Geometry2dFilters): number;
4179
- /** @deprecated Iterate the vertices instead. */
4180
- nearestPointOnLineSegment(A: VecLike, B: VecLike): Vec;
4181
4116
  isPointInBounds(point: VecLike, margin?: number): boolean;
4117
+ overlapsPolygon(_polygon: VecLike[]): boolean;
4182
4118
  transform(transform: MatModel, opts?: TransformedGeometry2dOptions): Geometry2d;
4183
4119
  private _vertices;
4184
4120
  get vertices(): Vec[];
4121
+ getBoundsVertices(): Vec[];
4122
+ private _boundsVertices;
4123
+ get boundsVertices(): Vec[];
4185
4124
  getBounds(): Box;
4186
4125
  private _bounds;
4187
4126
  get bounds(): Box;
@@ -4378,6 +4317,7 @@ export declare class Group2d extends Geometry2d {
4378
4317
  hitTestLineSegment(A: VecLike, B: VecLike, zoom: number, filters?: Geometry2dFilters): boolean;
4379
4318
  intersectLineSegment(A: VecLike, B: VecLike, filters?: Geometry2dFilters): VecLike[];
4380
4319
  intersectCircle(center: VecLike, radius: number, filters?: Geometry2dFilters): VecLike[];
4320
+ getBoundsVertices(): Vec[];
4381
4321
  intersectPolygon(polygon: VecLike[], filters?: Geometry2dFilters): VecLike[];
4382
4322
  intersectPolyline(polyline: VecLike[], filters?: Geometry2dFilters): VecLike[];
4383
4323
  interpolateAlongEdge(t: number, filters?: Geometry2dFilters): Vec;
@@ -4387,6 +4327,7 @@ export declare class Group2d extends Geometry2d {
4387
4327
  toSimpleSvgPath(): string;
4388
4328
  getLength(filters?: Geometry2dFilters): number;
4389
4329
  getSvgPathData(): string;
4330
+ overlapsPolygon(polygon: VecLike[]): boolean;
4390
4331
  }
4391
4332
 
4392
4333
  /** @public */
@@ -4627,12 +4568,16 @@ export declare function kickoutOccludedShapes(editor: Editor, shapeIds: TLShapeI
4627
4568
  filter?(parent: TLShape): boolean;
4628
4569
  }): void;
4629
4570
 
4571
+ /* Excluded from this release type: LICENSE_TIMEOUT */
4572
+
4630
4573
  /* Excluded from this release type: LicenseFromKeyResult */
4631
4574
 
4632
4575
  /* Excluded from this release type: LicenseInfo */
4633
4576
 
4634
4577
  /* Excluded from this release type: LicenseManager */
4635
4578
 
4579
+ /* Excluded from this release type: LicenseState */
4580
+
4636
4581
  /** @public */
4637
4582
  export declare function linesIntersect(A: VecLike, B: VecLike, C: VecLike, D: VecLike): boolean;
4638
4583
 
@@ -5238,7 +5183,34 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5238
5183
  * @public
5239
5184
  */
5240
5185
  canBeLaidOut(_shape: Shape, _info: TLShapeUtilCanBeLaidOutOpts): boolean;
5186
+ /**
5187
+ * Whether this shape can be culled. By default, shapes are culled for
5188
+ * performance reasons when they are outside of the viewport. Culled shapes are still rendered
5189
+ * to the DOM, but have their `display` property set to `none`.
5190
+ *
5191
+ * @param shape - The shape.
5192
+ */
5193
+ canCull(_shape: Shape): boolean;
5241
5194
  /* Excluded from this release type: providesBackgroundForChildren */
5195
+ /**
5196
+ * Get the clip path to apply to this shape's children.
5197
+ *
5198
+ * @param shape - The shape to get the clip path for
5199
+ * @returns Array of points defining the clipping polygon in local coordinates, or undefined if no clipping
5200
+ * @public
5201
+ */
5202
+ getClipPath?(shape: Shape): undefined | Vec[];
5203
+ /**
5204
+ * Whether a specific child shape should be clipped by this shape.
5205
+ * Only called if getClipPath returns a valid polygon.
5206
+ *
5207
+ * If not defined, the default behavior is to clip all children.
5208
+ *
5209
+ * @param child - The child shape to check
5210
+ * @returns boolean indicating if this child should be clipped
5211
+ * @public
5212
+ */
5213
+ shouldClipChild?(child: TLShape): boolean;
5242
5214
  /**
5243
5215
  * Whether the shape should hide its resize handles when selected.
5244
5216
  *
@@ -5269,6 +5241,17 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5269
5241
  * @public
5270
5242
  */
5271
5243
  isAspectRatioLocked(_shape: Shape): boolean;
5244
+ /**
5245
+ * By default, the bounds of an image export are the bounds of all the shapes it contains, plus
5246
+ * some padding. If an export includes a shape where `isExportBoundsContainer` is true, then the
5247
+ * padding is skipped _if the bounds of that shape contains all the other shapes_. This is
5248
+ * useful in cases like annotating on top of an image, where you usually want to avoid extra
5249
+ * padding around the image if you don't need it.
5250
+ *
5251
+ * @param _shape - The shape to check
5252
+ * @returns True if this shape should be treated as an export bounds container
5253
+ */
5254
+ isExportBoundsContainer(_shape: Shape): boolean;
5272
5255
  /* Excluded from this release type: backgroundComponent */
5273
5256
  /**
5274
5257
  * Get the interpolated props for an animating shape. This is an optional method.
@@ -6315,12 +6298,6 @@ export declare interface TldrawEditorBaseProps {
6315
6298
  * Options for syncing the editor's camera state with the URL.
6316
6299
  */
6317
6300
  deepLinks?: TLDeepLinkOptions | true;
6318
- /**
6319
- * Predicate for whether or not a shape should be hidden.
6320
- *
6321
- * @deprecated Use {@link TldrawEditorBaseProps#getShapeVisibility} instead.
6322
- */
6323
- isShapeHidden?(shape: TLShape, editor: Editor): boolean;
6324
6301
  /**
6325
6302
  * Provides a way to hide shapes.
6326
6303
  *
@@ -6428,6 +6405,8 @@ export declare interface TldrawOptions {
6428
6405
  readonly multiClickDurationMs: number;
6429
6406
  readonly coarseDragDistanceSquared: number;
6430
6407
  readonly dragDistanceSquared: number;
6408
+ readonly uiDragDistanceSquared: number;
6409
+ readonly uiCoarseDragDistanceSquared: number;
6431
6410
  readonly defaultSvgPadding: number;
6432
6411
  readonly cameraSlideFriction: number;
6433
6412
  readonly gridSteps: readonly {
@@ -6454,6 +6433,7 @@ export declare interface TldrawOptions {
6454
6433
  readonly flattenImageBoundsPadding: number;
6455
6434
  readonly laserDelayMs: number;
6456
6435
  readonly maxExportDelayMs: number;
6436
+ readonly tooltipDelayMs: number;
6457
6437
  /**
6458
6438
  * How long should previews created by {@link Editor.createTemporaryAssetPreview} last before
6459
6439
  * they expire? Defaults to 3 minutes.
@@ -6579,15 +6559,6 @@ export declare interface TLEditorOptions {
6579
6559
  fontAssetUrls?: {
6580
6560
  [key: string]: string | undefined;
6581
6561
  };
6582
- /**
6583
- * A predicate that should return true if the given shape should be hidden.
6584
- *
6585
- * @deprecated Use {@link Editor#getShapeVisibility} instead.
6586
- *
6587
- * @param shape - The shape to check.
6588
- * @param editor - The editor instance.
6589
- */
6590
- isShapeHidden?(shape: TLShape, editor: Editor): boolean;
6591
6562
  /**
6592
6563
  * Provides a way to hide shapes.
6593
6564
  *
@@ -6855,6 +6826,59 @@ export declare interface TLGeometryOpts {
6855
6826
  context?: string;
6856
6827
  }
6857
6828
 
6829
+ /**
6830
+ * Options to {@link Editor.getShapeAtPoint}.
6831
+ *
6832
+ * @public
6833
+ */
6834
+ export declare interface TLGetShapeAtPointOptions {
6835
+ /**
6836
+ * The margin to apply to the shape.
6837
+ * If a number, it will be applied to both the inside and outside of the shape.
6838
+ * If an array, the first element will be applied to the inside of the shape, and the second element will be applied to the outside.
6839
+ *
6840
+ * @example
6841
+ * ```ts
6842
+ * // Get the shape at the center of the screen
6843
+ * const shape = editor.getShapeAtProps({
6844
+ * margin: 10,
6845
+ * })
6846
+ *
6847
+ * // Get the shape at the center of the screen with a 10px inner margin and a 5px outer margin
6848
+ * const shape = editor.getShapeAtProps({
6849
+ * margin: [10, 5],
6850
+ * })
6851
+ * ```
6852
+ */
6853
+ margin?: [number, number] | number;
6854
+ /**
6855
+ * Whether to register hits inside of shapes (beyond the margin), such as the inside of a solid shape.
6856
+ */
6857
+ hitInside?: boolean;
6858
+ /**
6859
+ * Whether to register hits on locked shapes.
6860
+ */
6861
+ hitLocked?: boolean;
6862
+ /**
6863
+ * Whether to register hits on labels.
6864
+ */
6865
+ hitLabels?: boolean;
6866
+ /**
6867
+ * Whether to only return hits on shapes that are currently being rendered.
6868
+ * todo: rename this to hitCulled or hitNotRendering
6869
+ */
6870
+ renderingOnly?: boolean;
6871
+ /**
6872
+ * Whether to register hits on the inside of frame shapes.
6873
+ * todo: rename this to hitInsideFrames
6874
+ */
6875
+ hitFrameInside?: boolean;
6876
+ /**
6877
+ * A filter function to apply to the shapes.
6878
+ */
6879
+ filter?(shape: TLShape): boolean;
6880
+ }
6881
+
6858
6882
  /** @public */
6859
6883
  export declare interface TLGridProps {
6860
6884
  x: number;
@@ -7525,12 +7549,6 @@ export declare interface TLSvgExportOptions {
7525
7549
  preserveAspectRatio?: React.SVGAttributes<SVGSVGElement>['preserveAspectRatio'];
7526
7550
  }
7527
7551
 
7528
- /**
7529
- * @public
7530
- * @deprecated use {@link TLImageExportOptions} instead
7531
- */
7532
- export declare type TLSvgOptions = TLImageExportOptions;
7533
-
7534
7552
  /** @public */
7535
7553
  export declare interface TLSvgTextExternalContent extends TLBaseExternalContent {
7536
7554
  type: 'svg-text';
@@ -7641,6 +7659,7 @@ export declare interface TLUserPreferences {
7641
7659
  isWrapMode?: boolean | null;
7642
7660
  isDynamicSizeMode?: boolean | null;
7643
7661
  isPasteAtCursorMode?: boolean | null;
7662
+ showUiLabels?: boolean | null;
7644
7663
  }
7645
7664
 
7646
7665
  /** @public */
@@ -7683,6 +7702,7 @@ export declare class TransformedGeometry2d extends Geometry2d {
7683
7702
  private readonly decomposed;
7684
7703
  constructor(geometry: Geometry2d, matrix: MatModel, opts?: TransformedGeometry2dOptions);
7685
7704
  getVertices(filters: Geometry2dFilters): Vec[];
7705
+ getBoundsVertices(): Vec[];
7686
7706
  nearestPoint(point: VecLike, filters?: Geometry2dFilters): Vec;
7687
7707
  hitTestPoint(point: VecLike, margin?: number, hitInside?: boolean, filters?: Geometry2dFilters): boolean;
7688
7708
  distanceToPoint(point: VecLike, hitInside?: boolean, filters?: Geometry2dFilters): number;
@@ -7703,6 +7723,7 @@ export declare interface TransformedGeometry2dOptions {
7703
7723
  isInternal?: boolean;
7704
7724
  debugColor?: string;
7705
7725
  ignore?: boolean;
7726
+ excludeFromShapeBounds?: boolean;
7706
7727
  }
7707
7728
 
7708
7729
  /** @public */
@@ -7813,6 +7834,7 @@ export declare class UserPreferencesManager {
7813
7834
  isWrapMode: boolean;
7814
7835
  locale: string;
7815
7836
  name: string;
7837
+ showUiLabels: boolean;
7816
7838
  };
7817
7839
  getIsDarkMode(): boolean;
7818
7840
  /**
@@ -7829,6 +7851,7 @@ export declare class UserPreferencesManager {
7829
7851
  getIsWrapMode(): boolean;
7830
7852
  getIsDynamicResizeMode(): boolean;
7831
7853
  getIsPasteAtCursorMode(): boolean;
7854
+ getShowUiLabels(): boolean;
7832
7855
  }
7833
7856
 
7834
7857
  /** @public */
@@ -7935,8 +7958,6 @@ export declare class Vec {
7935
7958
  lrp(B: VecLike, t: number): Vec;
7936
7959
  equals(B: VecLike): boolean;
7937
7960
  equalsXY(x: number, y: number): boolean;
7938
- /** @deprecated use `uni` instead */
7939
- norm(): this;
7940
7961
  toFixed(): this;
7941
7962
  toString(): string;
7942
7963
  toJson(): VecModel;
package/dist-cjs/index.js CHANGED
@@ -70,6 +70,7 @@ __export(index_exports, {
70
70
  HTMLContainer: () => import_HTMLContainer.HTMLContainer,
71
71
  HandleSnaps: () => import_HandleSnaps.HandleSnaps,
72
72
  HistoryManager: () => import_HistoryManager.HistoryManager,
73
+ LICENSE_TIMEOUT: () => import_LicenseProvider.LICENSE_TIMEOUT,
73
74
  LicenseManager: () => import_LicenseManager.LicenseManager,
74
75
  LoadingScreen: () => import_TldrawEditor.LoadingScreen,
75
76
  LocalIndexedDb: () => import_LocalIndexedDb.LocalIndexedDb,
@@ -121,7 +122,6 @@ __export(index_exports, {
121
122
  createTLStore: () => import_createTLStore.createTLStore,
122
123
  createTLUser: () => import_createTLUser.createTLUser,
123
124
  dataUrlToFile: () => import_assets.dataUrlToFile,
124
- debugEnableLicensing: () => debugEnableLicensing,
125
125
  debugFlags: () => import_debug_flags.debugFlags,
126
126
  defaultTldrawOptions: () => import_options.defaultTldrawOptions,
127
127
  defaultUserPreferences: () => import_TLUserPreferences.defaultUserPreferences,
@@ -322,6 +322,7 @@ var import_useTLStore = require("./lib/hooks/useTLStore");
322
322
  var import_useTransform = require("./lib/hooks/useTransform");
323
323
  var import_useViewportHeight = require("./lib/hooks/useViewportHeight");
324
324
  var import_LicenseManager = require("./lib/license/LicenseManager");
325
+ var import_LicenseProvider = require("./lib/license/LicenseProvider");
325
326
  var import_options = require("./lib/options");
326
327
  var import_Box = require("./lib/primitives/Box");
327
328
  var import_easings = require("./lib/primitives/easings");
@@ -366,12 +367,9 @@ var import_hardReset = require("./lib/utils/sync/hardReset");
366
367
  var import_LocalIndexedDb = require("./lib/utils/sync/LocalIndexedDb");
367
368
  var import_uniq = require("./lib/utils/uniq");
368
369
  var import_window_open = require("./lib/utils/window-open");
369
- function debugEnableLicensing() {
370
- return;
371
- }
372
370
  (0, import_utils.registerTldrawLibraryVersion)(
373
371
  "@tldraw/editor",
374
- "3.16.0-canary.dfdf6b7de8c2",
372
+ "3.16.0-canary.e5e61b17cef3",
375
373
  "cjs"
376
374
  );
377
375
  //# sourceMappingURL=index.js.map
@@ -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 { 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\tDefaultShapeWrapper,\n\ttype TLShapeWrapperProps,\n} from './lib/components/default-components/DefaultShapeWrapper'\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\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 {\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 {\n\tgetSnapshot,\n\tloadSnapshot,\n\ttype TLEditorSnapshot,\n\ttype TLLoadSnapshotOptions,\n} from './lib/config/TLEditorSnapshot'\nexport {\n\tcreateSessionStateSnapshotSignal,\n\textractSessionStateFromLegacySnapshot,\n\tloadSessionStateSnapshotIntoStore,\n\tTAB_ID,\n\ttype TLLoadSessionStateSnapshotOptions,\n\ttype TLSessionStateSnapshot,\n} from './lib/config/TLSessionStateSnapshot'\nexport {\n\tdefaultUserPreferences,\n\tgetFreshUserPreferences,\n\tgetUserPreferences,\n\tsetUserPreferences,\n\tUSER_COLORS,\n\tuserTypeValidator,\n\ttype TLUserPreferences,\n} from './lib/config/TLUserPreferences'\nexport { DEFAULT_ANIMATION_OPTIONS, DEFAULT_CAMERA_OPTIONS, SIDES } from './lib/constants'\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 {\n\tEditor,\n\ttype TLEditorOptions,\n\ttype TLEditorRunOptions,\n\ttype TLRenderingShape,\n\ttype TLResizeShapeOptions,\n} from './lib/editor/Editor'\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 { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'\nexport {\n\tShapeUtil,\n\ttype TLCropInfo,\n\ttype TLDragShapesInInfo,\n\ttype TLDragShapesOutInfo,\n\ttype TLDragShapesOverInfo,\n\ttype TLDropShapesOverInfo,\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 {\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 { 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 TLCancelEvent,\n\ttype TLCancelEventInfo,\n\ttype TLClickEvent,\n\ttype TLClickEventInfo,\n\ttype TLCLickEventName,\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\ttype TLUpdatePointerOptions,\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 {\n\tuseDelaySvgExport,\n\tuseSvgExportContext,\n\ttype SvgExportContext,\n\ttype SvgExportDef,\n} from './lib/editor/types/SvgExportContext'\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 {\n\tEditorContext,\n\tEditorProvider,\n\tuseEditor,\n\tuseMaybeEditor,\n\ttype EditorProviderProps,\n} 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 { 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 { getVerticesCountForArcLength } from './lib/primitives/geometry/geometry-constants'\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 { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'\nexport {\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\tHALF_PI,\n\tisSafeFloat,\n\tperimeterOfEllipse,\n\tPI,\n\tPI2,\n\tpointInPolygon,\n\tprecise,\n\tradiansToDegrees,\n\trangeIntersection,\n\tshortAngleDist,\n\tSIN,\n\tsnapAngle,\n\ttoDomPrecision,\n\ttoFixed,\n\ttoPrecision,\n} from './lib/primitives/utils'\nexport { Vec, type VecLike } from './lib/primitives/Vec'\nexport {\n\tErrorScreen,\n\tLoadingScreen,\n\tTldrawEditor,\n\tuseOnMount,\n\ttype LoadingScreenProps,\n\ttype TldrawEditorBaseProps,\n\ttype TldrawEditorProps,\n\ttype TldrawEditorStoreProps,\n\ttype TldrawEditorWithoutStoreProps,\n\ttype TldrawEditorWithStoreProps,\n\ttype TLOnMountHandler,\n} from './lib/TldrawEditor'\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 { EditorAtom } from './lib/utils/EditorAtom'\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 { getDroppedShapesToNewParents, kickoutOccludedShapes } from './lib/utils/reparenting'\nexport {\n\tgetFontsFromRichText,\n\ttype RichTextFontVisitor,\n\ttype RichTextFontVisitorState,\n\ttype TiptapEditor,\n\ttype TiptapNode,\n\ttype TLTextOptions,\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 {\n\tReadonlySharedStyleMap,\n\tSharedStyleMap,\n\ttype SharedStyle,\n} from './lib/utils/SharedStylesMap'\nexport { hardReset } from './lib/utils/sync/hardReset'\nexport { LocalIndexedDb, Table, type StoreName } from './lib/utils/sync/LocalIndexedDb'\nexport { type TLStoreWithStatus } from './lib/utils/sync/StoreWithStatus'\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 { 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\tDefaultShapeWrapper,\n\ttype TLShapeWrapperProps,\n} from './lib/components/default-components/DefaultShapeWrapper'\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\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 {\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 {\n\tgetSnapshot,\n\tloadSnapshot,\n\ttype TLEditorSnapshot,\n\ttype TLLoadSnapshotOptions,\n} from './lib/config/TLEditorSnapshot'\nexport {\n\tcreateSessionStateSnapshotSignal,\n\textractSessionStateFromLegacySnapshot,\n\tloadSessionStateSnapshotIntoStore,\n\tTAB_ID,\n\ttype TLLoadSessionStateSnapshotOptions,\n\ttype TLSessionStateSnapshot,\n} from './lib/config/TLSessionStateSnapshot'\nexport {\n\tdefaultUserPreferences,\n\tgetFreshUserPreferences,\n\tgetUserPreferences,\n\tsetUserPreferences,\n\tUSER_COLORS,\n\tuserTypeValidator,\n\ttype TLUserPreferences,\n} from './lib/config/TLUserPreferences'\nexport { DEFAULT_ANIMATION_OPTIONS, DEFAULT_CAMERA_OPTIONS, SIDES } from './lib/constants'\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 {\n\tEditor,\n\ttype TLEditorOptions,\n\ttype TLEditorRunOptions,\n\ttype TLRenderingShape,\n\ttype TLResizeShapeOptions,\n} from './lib/editor/Editor'\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 { GroupShapeUtil } from './lib/editor/shapes/group/GroupShapeUtil'\nexport {\n\tShapeUtil,\n\ttype TLCropInfo,\n\ttype TLDragShapesInInfo,\n\ttype TLDragShapesOutInfo,\n\ttype TLDragShapesOverInfo,\n\ttype TLDropShapesOverInfo,\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 {\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 { 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 TLCancelEvent,\n\ttype TLCancelEventInfo,\n\ttype TLClickEvent,\n\ttype TLClickEventInfo,\n\ttype TLCLickEventName,\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 TLGetShapeAtPointOptions,\n\ttype TLImageExportOptions,\n\ttype TLSvgExportOptions,\n\ttype TLUpdatePointerOptions,\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 {\n\tuseDelaySvgExport,\n\tuseSvgExportContext,\n\ttype SvgExportContext,\n\ttype SvgExportDef,\n} from './lib/editor/types/SvgExportContext'\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 {\n\tEditorContext,\n\tEditorProvider,\n\tuseEditor,\n\tuseMaybeEditor,\n\ttype EditorProviderProps,\n} 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 LicenseState,\n\ttype TestEnvironment,\n\ttype ValidLicenseKeyResult,\n} from './lib/license/LicenseManager'\nexport { LICENSE_TIMEOUT } from './lib/license/LicenseProvider'\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 { 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 { getVerticesCountForArcLength } from './lib/primitives/geometry/geometry-constants'\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 { Mat, type MatLike, type MatModel } from './lib/primitives/Mat'\nexport {\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\tHALF_PI,\n\tisSafeFloat,\n\tperimeterOfEllipse,\n\tPI,\n\tPI2,\n\tpointInPolygon,\n\tprecise,\n\tradiansToDegrees,\n\trangeIntersection,\n\tshortAngleDist,\n\tSIN,\n\tsnapAngle,\n\ttoDomPrecision,\n\ttoFixed,\n\ttoPrecision,\n} from './lib/primitives/utils'\nexport { Vec, type VecLike } from './lib/primitives/Vec'\nexport {\n\tErrorScreen,\n\tLoadingScreen,\n\tTldrawEditor,\n\tuseOnMount,\n\ttype LoadingScreenProps,\n\ttype TldrawEditorBaseProps,\n\ttype TldrawEditorProps,\n\ttype TldrawEditorStoreProps,\n\ttype TldrawEditorWithoutStoreProps,\n\ttype TldrawEditorWithStoreProps,\n\ttype TLOnMountHandler,\n} from './lib/TldrawEditor'\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 { EditorAtom } from './lib/utils/EditorAtom'\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 { getDroppedShapesToNewParents, kickoutOccludedShapes } from './lib/utils/reparenting'\nexport {\n\tgetFontsFromRichText,\n\ttype RichTextFontVisitor,\n\ttype RichTextFontVisitorState,\n\ttype TiptapEditor,\n\ttype TiptapNode,\n\ttype TLTextOptions,\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 {\n\tReadonlySharedStyleMap,\n\tSharedStyleMap,\n\ttype SharedStyle,\n} from './lib/utils/SharedStylesMap'\nexport { hardReset } from './lib/utils/sync/hardReset'\nexport { LocalIndexedDb, Table, type StoreName } from './lib/utils/sync/LocalIndexedDb'\nexport { type TLStoreWithStatus } from './lib/utils/sync/StoreWithStatus'\nexport { uniq } from './lib/utils/uniq'\nexport { openWindow } from './lib/utils/window-open'\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": ["import_at", "import_utils"]
7
7
  }
@@ -41,8 +41,8 @@ var import_jsx_runtime = (
41
41
  );
42
42
  var import_store = require("@tldraw/store");
43
43
  var import_utils = require("@tldraw/utils");
44
- var import_react = __toESM(require("react"));
45
44
  var import_classnames = __toESM(require("classnames"));
45
+ var import_react = __toESM(require("react"));
46
46
  var import_version = require("../version");
47
47
  var import_DefaultErrorFallback = require("./components/default-components/DefaultErrorFallback");
48
48
  var import_ErrorBoundary = require("./components/ErrorBoundary");
@@ -189,8 +189,6 @@ function TldrawEditorWithReadyStore({
189
189
  options,
190
190
  licenseKey,
191
191
  deepLinks: _deepLinks,
192
- // eslint-disable-next-line @typescript-eslint/no-deprecated
193
- isShapeHidden,
194
192
  getShapeVisibility,
195
193
  assetUrls
196
194
  }) {
@@ -235,7 +233,6 @@ function TldrawEditorWithReadyStore({
235
233
  textOptions,
236
234
  options,
237
235
  licenseKey,
238
- isShapeHidden,
239
236
  getShapeVisibility,
240
237
  fontAssetUrls: assetUrls?.fonts
241
238
  });
@@ -263,7 +260,6 @@ function TldrawEditorWithReadyStore({
263
260
  user,
264
261
  setEditor,
265
262
  licenseKey,
266
- isShapeHidden,
267
263
  getShapeVisibility,
268
264
  textOptions,
269
265
  assetUrls
@@ -321,8 +317,12 @@ function TldrawEditorWithReadyStore({
321
317
  if (editor !== fontLoadingState?.editor) {
322
318
  fontLoadingState = null;
323
319
  }
324
- (0, import_react.useEffect)(() => {
320
+ (0, import_react.useLayoutEffect)(() => {
325
321
  if (!editor) return;
322
+ if (editor.options.maxFontsToLoadBeforeRender === 0) {
323
+ setFontLoadingState({ editor, isLoaded: true });
324
+ return;
325
+ }
326
326
  let isCancelled = false;
327
327
  setFontLoadingState({ editor, isLoaded: false });
328
328
  editor.fonts.loadRequiredFontsForCurrentPage(editor.options.maxFontsToLoadBeforeRender).finally(() => {