@tldraw/editor 4.4.0-canary.f929c9caec2f → 4.4.0-next.0105623ff9e3

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 (124) hide show
  1. package/dist-cjs/index.d.ts +231 -24
  2. package/dist-cjs/index.js +1 -6
  3. package/dist-cjs/index.js.map +3 -3
  4. package/dist-cjs/lib/TldrawEditor.js.map +1 -1
  5. package/dist-cjs/lib/components/LiveCollaborators.js +14 -24
  6. package/dist-cjs/lib/components/LiveCollaborators.js.map +2 -2
  7. package/dist-cjs/lib/components/Shape.js +12 -17
  8. package/dist-cjs/lib/components/Shape.js.map +2 -2
  9. package/dist-cjs/lib/components/default-components/CanvasShapeIndicators.js +226 -0
  10. package/dist-cjs/lib/components/default-components/CanvasShapeIndicators.js.map +7 -0
  11. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +45 -15
  12. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  13. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +3 -1
  14. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  15. package/dist-cjs/lib/components/default-components/DefaultShapeIndicators.js +13 -1
  16. package/dist-cjs/lib/components/default-components/DefaultShapeIndicators.js.map +2 -2
  17. package/dist-cjs/lib/config/TLUserPreferences.js +9 -3
  18. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  19. package/dist-cjs/lib/config/createTLStore.js.map +1 -1
  20. package/dist-cjs/lib/editor/Editor.js +26 -14
  21. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  22. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +32 -13
  23. package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +2 -2
  24. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +2 -3
  25. package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
  26. package/dist-cjs/lib/editor/managers/HistoryManager/HistoryManager.js +13 -38
  27. package/dist-cjs/lib/editor/managers/HistoryManager/HistoryManager.js.map +3 -3
  28. package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js +378 -89
  29. package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js.map +2 -2
  30. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +8 -3
  31. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  32. package/dist-cjs/lib/editor/shapes/ShapeUtil.js +29 -0
  33. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  34. package/dist-cjs/lib/editor/tools/RootState.js +0 -13
  35. package/dist-cjs/lib/editor/tools/RootState.js.map +2 -2
  36. package/dist-cjs/lib/hooks/usePeerIds.js +35 -0
  37. package/dist-cjs/lib/hooks/usePeerIds.js.map +2 -2
  38. package/dist-cjs/lib/hooks/useShapeCulling.js +75 -0
  39. package/dist-cjs/lib/hooks/useShapeCulling.js.map +7 -0
  40. package/dist-cjs/lib/license/LicenseManager.js +6 -6
  41. package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
  42. package/dist-cjs/lib/options.js +3 -1
  43. package/dist-cjs/lib/options.js.map +2 -2
  44. package/dist-cjs/lib/utils/collaboratorState.js +42 -0
  45. package/dist-cjs/lib/utils/collaboratorState.js.map +7 -0
  46. package/dist-cjs/version.js +3 -3
  47. package/dist-cjs/version.js.map +1 -1
  48. package/dist-esm/index.d.mts +231 -24
  49. package/dist-esm/index.mjs +1 -6
  50. package/dist-esm/index.mjs.map +2 -2
  51. package/dist-esm/lib/TldrawEditor.mjs.map +1 -1
  52. package/dist-esm/lib/components/LiveCollaborators.mjs +17 -24
  53. package/dist-esm/lib/components/LiveCollaborators.mjs.map +2 -2
  54. package/dist-esm/lib/components/Shape.mjs +12 -17
  55. package/dist-esm/lib/components/Shape.mjs.map +2 -2
  56. package/dist-esm/lib/components/default-components/CanvasShapeIndicators.mjs +206 -0
  57. package/dist-esm/lib/components/default-components/CanvasShapeIndicators.mjs.map +7 -0
  58. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +45 -15
  59. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  60. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +3 -1
  61. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  62. package/dist-esm/lib/components/default-components/DefaultShapeIndicators.mjs +13 -1
  63. package/dist-esm/lib/components/default-components/DefaultShapeIndicators.mjs.map +2 -2
  64. package/dist-esm/lib/config/TLUserPreferences.mjs +9 -3
  65. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  66. package/dist-esm/lib/config/createTLStore.mjs.map +1 -1
  67. package/dist-esm/lib/editor/Editor.mjs +26 -14
  68. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  69. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +32 -13
  70. package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +2 -2
  71. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +2 -3
  72. package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
  73. package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs +14 -39
  74. package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs.map +2 -2
  75. package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs +378 -89
  76. package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +2 -2
  77. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +8 -3
  78. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  79. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +29 -0
  80. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  81. package/dist-esm/lib/editor/tools/RootState.mjs +0 -13
  82. package/dist-esm/lib/editor/tools/RootState.mjs.map +2 -2
  83. package/dist-esm/lib/hooks/usePeerIds.mjs +39 -1
  84. package/dist-esm/lib/hooks/usePeerIds.mjs.map +2 -2
  85. package/dist-esm/lib/hooks/useShapeCulling.mjs +55 -0
  86. package/dist-esm/lib/hooks/useShapeCulling.mjs.map +7 -0
  87. package/dist-esm/lib/license/LicenseManager.mjs +6 -6
  88. package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
  89. package/dist-esm/lib/options.mjs +3 -1
  90. package/dist-esm/lib/options.mjs.map +2 -2
  91. package/dist-esm/lib/utils/collaboratorState.mjs +22 -0
  92. package/dist-esm/lib/utils/collaboratorState.mjs.map +7 -0
  93. package/dist-esm/version.mjs +3 -3
  94. package/dist-esm/version.mjs.map +1 -1
  95. package/editor.css +28 -11
  96. package/package.json +8 -11
  97. package/src/index.ts +2 -5
  98. package/src/lib/TldrawEditor.tsx +1 -1
  99. package/src/lib/components/LiveCollaborators.tsx +26 -37
  100. package/src/lib/components/Shape.tsx +15 -16
  101. package/src/lib/components/default-components/CanvasShapeIndicators.tsx +288 -0
  102. package/src/lib/components/default-components/DefaultCanvas.tsx +39 -3
  103. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +6 -1
  104. package/src/lib/components/default-components/DefaultShapeIndicators.tsx +16 -1
  105. package/src/lib/config/TLUserPreferences.test.ts +1 -0
  106. package/src/lib/config/TLUserPreferences.ts +8 -0
  107. package/src/lib/config/createTLStore.ts +1 -1
  108. package/src/lib/editor/Editor.ts +47 -15
  109. package/src/lib/editor/derivations/notVisibleShapes.ts +39 -17
  110. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +0 -35
  111. package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +4 -8
  112. package/src/lib/editor/managers/HistoryManager/HistoryManager.ts +19 -47
  113. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.ts +491 -106
  114. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +24 -0
  115. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +8 -0
  116. package/src/lib/editor/shapes/ShapeUtil.ts +63 -5
  117. package/src/lib/editor/tools/RootState.ts +0 -16
  118. package/src/lib/hooks/usePeerIds.ts +53 -1
  119. package/src/lib/hooks/useShapeCulling.tsx +98 -0
  120. package/src/lib/license/LicenseManager.ts +6 -6
  121. package/src/lib/options.ts +17 -2
  122. package/src/lib/utils/collaboratorState.ts +54 -0
  123. package/src/version.ts +3 -3
  124. package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +0 -621
@@ -900,6 +900,7 @@ export declare const defaultTldrawOptions: {
900
900
  readonly handleRadius: 12;
901
901
  readonly hitTestMargin: 8;
902
902
  readonly laserDelayMs: 1200;
903
+ readonly laserFadeoutMs: 500;
903
904
  readonly longPressDurationMs: 500;
904
905
  readonly maxExportDelayMs: 5000;
905
906
  readonly maxFilesAtOnce: 100;
@@ -908,6 +909,7 @@ export declare const defaultTldrawOptions: {
908
909
  readonly maxShapesPerPage: 4000;
909
910
  readonly multiClickDurationMs: 200;
910
911
  readonly nonce: undefined;
912
+ readonly quickZoomPreservesScreenBounds: true;
911
913
  readonly snapThreshold: 8;
912
914
  readonly spacebarPanning: true;
913
915
  readonly temporaryAssetPreviewLifetimeMs: 180000;
@@ -931,6 +933,7 @@ export declare const defaultUserPreferences: Readonly<{
931
933
  isPasteAtCursorMode: false;
932
934
  isSnapMode: false;
933
935
  isWrapMode: false;
936
+ isZoomDirectionInverted: false;
934
937
  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";
935
938
  name: "";
936
939
  }>;
@@ -1904,7 +1907,7 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1904
1907
  getDebouncedZoomLevel(): number;
1905
1908
  private _getAboveDebouncedZoomThreshold;
1906
1909
  /**
1907
- * Get the efficient zoom level. This returns the current zoom level if there are less than 300 shapes on the page,
1910
+ * Get the efficient zoom level. This returns the current zoom level if there are less than a certain number of shapes on the page,
1908
1911
  * otherwise it returns the debounced zoom level. This can be used to avoid expensive re-renders during camera movements.
1909
1912
  *
1910
1913
  * @public
@@ -2257,10 +2260,10 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2257
2260
  */
2258
2261
  stopFollowingUser(): this;
2259
2262
  /* Excluded from this release type: getUnorderedRenderingShapes */
2260
- private _cameraState;
2261
2263
  private _cameraStateTimeoutRemaining;
2262
2264
  private _decayCameraStateTimeout;
2263
2265
  private _tickCameraState;
2266
+ private _setCameraState;
2264
2267
  /**
2265
2268
  * Whether the camera is moving or idle.
2266
2269
  *
@@ -2759,7 +2762,24 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2759
2762
  hitInside?: boolean;
2760
2763
  margin?: number;
2761
2764
  }): TLShape[];
2762
- /* Excluded from this release type: getShapeIdsInsideBounds */
2765
+ /**
2766
+ * Get shape IDs within the given bounds.
2767
+ *
2768
+ * Note: Uses shape page bounds only. Frames with labels outside their bounds
2769
+ * may not be included even if the label is within the search bounds.
2770
+ *
2771
+ * Note: Results are unordered. If you need z-order, combine with sorted shapes:
2772
+ * ```ts
2773
+ * const candidates = editor.getShapeIdsInsideBounds(bounds)
2774
+ * const sorted = editor.getCurrentPageShapesSorted().filter(s => candidates.has(s.id))
2775
+ * ```
2776
+ *
2777
+ * @param bounds - The bounds to search within.
2778
+ * @returns Unordered set of shape IDs within the given bounds.
2779
+ *
2780
+ * @public
2781
+ */
2782
+ getShapeIdsInsideBounds(bounds: Box): Set<TLShapeId>;
2763
2783
  /**
2764
2784
  * Test whether a point (in the current page space) will will a shape. This method takes into account masks,
2765
2785
  * such as when a shape is the child of a frame and is partially clipped by the frame.
@@ -3901,7 +3921,7 @@ export declare class Editor extends EventEmitter<TLEventMap> {
3901
3921
  /**
3902
3922
  * Handles navigating to the content specified by the query param in the given URL.
3903
3923
  *
3904
- * Use {@link Editor#createDeepLink} to create a URL with a deep link query param.
3924
+ * Use {@link Editor.createDeepLink} to create a URL with a deep link query param.
3905
3925
  *
3906
3926
  * If no URL is provided, it will look for the param in the current `window.location.href`.
3907
3927
  *
@@ -5338,27 +5358,106 @@ export declare interface ScribbleItem {
5338
5358
  /** @public */
5339
5359
  export declare class ScribbleManager {
5340
5360
  private editor;
5341
- scribbleItems: Map<string, ScribbleItem>;
5342
- state: "paused" | "running";
5361
+ private sessions;
5343
5362
  constructor(editor: Editor);
5363
+ /**
5364
+ * Start a new session for grouping scribbles.
5365
+ * Returns a session ID that can be used with other session methods.
5366
+ *
5367
+ * @param options - Session configuration
5368
+ * @returns Session ID
5369
+ * @public
5370
+ */
5371
+ startSession(options?: ScribbleSessionOptions): string;
5372
+ /**
5373
+ * Add a scribble to a session.
5374
+ *
5375
+ * @param sessionId - The session ID
5376
+ * @param scribble - Partial scribble properties
5377
+ * @param scribbleId - Optional scribble ID
5378
+ * @public
5379
+ */
5380
+ addScribbleToSession(sessionId: string, scribble: Partial<TLScribble>, scribbleId?: string): ScribbleItem;
5381
+ /**
5382
+ * Add a point to a scribble in a session.
5383
+ *
5384
+ * @param sessionId - The session ID
5385
+ * @param scribbleId - The scribble ID
5386
+ * @param x - X coordinate
5387
+ * @param y - Y coordinate
5388
+ * @param z - Z coordinate (pressure)
5389
+ * @public
5390
+ */
5391
+ addPointToSession(sessionId: string, scribbleId: string, x: number, y: number, z?: number): ScribbleItem;
5392
+ /**
5393
+ * Extend a session, resetting its idle timeout.
5394
+ *
5395
+ * @param sessionId - The session ID
5396
+ * @public
5397
+ */
5398
+ extendSession(sessionId: string): void;
5399
+ /**
5400
+ * Stop a session, triggering fade-out.
5401
+ *
5402
+ * @param sessionId - The session ID
5403
+ * @public
5404
+ */
5405
+ stopSession(sessionId: string): void;
5406
+ /**
5407
+ * Clear all scribbles in a session immediately.
5408
+ *
5409
+ * @param sessionId - The session ID
5410
+ * @public
5411
+ */
5412
+ clearSession(sessionId: string): void;
5413
+ /**
5414
+ * Check if a session is active.
5415
+ *
5416
+ * @param sessionId - The session ID
5417
+ * @public
5418
+ */
5419
+ isSessionActive(sessionId: string): boolean;
5420
+ /**
5421
+ * Add a scribble using the default self-consuming behavior.
5422
+ * Creates an implicit session for the scribble.
5423
+ *
5424
+ * @param scribble - Partial scribble properties
5425
+ * @param id - Optional scribble id
5426
+ * @returns The created scribble item
5427
+ * @public
5428
+ */
5344
5429
  addScribble(scribble: Partial<TLScribble>, id?: string): ScribbleItem;
5345
- reset(): void;
5346
5430
  /**
5347
- * Start stopping the scribble. The scribble won't be removed until its last point is cleared.
5431
+ * Add a point to a scribble. Searches all sessions.
5432
+ *
5433
+ * @param id - The scribble id
5434
+ * @param x - X coordinate
5435
+ * @param y - Y coordinate
5436
+ * @param z - Z coordinate (pressure)
5437
+ * @public
5438
+ */
5439
+ addPoint(id: string, x: number, y: number, z?: number): ScribbleItem;
5440
+ /**
5441
+ * Mark a scribble as complete (done being drawn but not yet fading).
5442
+ * Searches all sessions.
5443
+ *
5444
+ * @param id - The scribble id
5445
+ * @public
5446
+ */
5447
+ complete(id: string): ScribbleItem;
5448
+ /**
5449
+ * Stop a scribble. Searches all sessions.
5348
5450
  *
5451
+ * @param id - The scribble id
5349
5452
  * @public
5350
5453
  */
5351
- stop(id: ScribbleItem['id']): ScribbleItem;
5454
+ stop(id: string): ScribbleItem;
5352
5455
  /**
5353
- * Set the scribble's next point.
5456
+ * Stop and remove all sessions.
5354
5457
  *
5355
- * @param id - The id of the scribble to add a point to.
5356
- * @param x - The x coordinate of the point.
5357
- * @param y - The y coordinate of the point.
5358
- * @param z - The z coordinate of the point.
5359
5458
  * @public
5360
5459
  */
5361
- addPoint(id: ScribbleItem['id'], x: number, y: number, z?: number): ScribbleItem;
5460
+ reset(): void;
5362
5461
  /**
5363
5462
  * Update on each animation frame.
5364
5463
  *
@@ -5366,6 +5465,44 @@ export declare class ScribbleManager {
5366
5465
  * @public
5367
5466
  */
5368
5467
  tick(elapsed: number): void;
5468
+ private resetIdleTimeout;
5469
+ private clearIdleTimeout;
5470
+ private tickSession;
5471
+ private tickSessionItems;
5472
+ private tickPersistentItem;
5473
+ private tickSelfConsumingItem;
5474
+ private tickGroupedFade;
5475
+ }
5476
+
5477
+ /** @public */
5478
+ export declare interface ScribbleSessionOptions {
5479
+ /** Session id. Auto-generated if not provided. */
5480
+ id?: string;
5481
+ /**
5482
+ * Whether scribbles self-consume (shrink from start) while drawing.
5483
+ * - true: scribbles eat their own tail as you draw (default, used for eraser/select)
5484
+ * - false: scribbles persist until session stops (used for laser)
5485
+ */
5486
+ selfConsume?: boolean;
5487
+ /**
5488
+ * How long to wait after last activity before auto-stopping the session.
5489
+ * Only applies when selfConsume is false.
5490
+ */
5491
+ idleTimeoutMs?: number;
5492
+ /**
5493
+ * How scribbles fade when stopping.
5494
+ * - 'individual': each scribble fades on its own (default)
5495
+ * - 'grouped': all scribbles fade together as one sequence
5496
+ */
5497
+ fadeMode?: 'grouped' | 'individual';
5498
+ /**
5499
+ * Easing for grouped fade.
5500
+ */
5501
+ fadeEasing?: 'ease-in' | 'linear';
5502
+ /**
5503
+ * Duration of the fade in milliseconds.
5504
+ */
5505
+ fadeDurationMs?: number;
5369
5506
  }
5370
5507
 
5371
5508
  /** @public */
@@ -5468,6 +5605,31 @@ export declare abstract class ShapeUtil<Shape extends TLShape = TLShape> {
5468
5605
  * @public
5469
5606
  */
5470
5607
  abstract indicator(shape: Shape): any;
5608
+ /**
5609
+ * Whether to use the legacy React-based indicator rendering.
5610
+ *
5611
+ * Override this to return `false` if your shape implements {@link ShapeUtil.getIndicatorPath}
5612
+ * for canvas-based indicator rendering.
5613
+ *
5614
+ * @returns `true` to use SVG indicators (default), `false` to use canvas indicators.
5615
+ * @public
5616
+ */
5617
+ useLegacyIndicator(): boolean;
5618
+ /**
5619
+ * Get a Path2D for rendering the shape's indicator on the canvas.
5620
+ *
5621
+ * When implemented, this is used instead of {@link ShapeUtil.indicator} for more
5622
+ * efficient canvas-based indicator rendering. Shapes that return `undefined` will
5623
+ * fall back to SVG-based rendering via {@link ShapeUtil.indicator}.
5624
+ *
5625
+ * For complex indicators that need clipping (e.g., arrows with labels), return an
5626
+ * object with `path`, `clipPath`, and `additionalPaths` properties.
5627
+ *
5628
+ * @param shape - The shape.
5629
+ * @returns A Path2D to stroke, or an object with clipping info, or undefined to use SVG fallback.
5630
+ * @public
5631
+ */
5632
+ getIndicatorPath(shape: Shape): TLIndicatorPath | undefined;
5471
5633
  /**
5472
5634
  * Get the font faces that should be rendered in the document in order for this shape to render
5473
5635
  * correctly.
@@ -6705,7 +6867,7 @@ export declare interface TldrawEditorBaseProps {
6705
6867
  * Provides a way to hide shapes.
6706
6868
  *
6707
6869
  * Hidden shapes will not render in the editor, and they will not be eligible for hit test via
6708
- * {@link Editor#getShapeAtPoint} and {@link Editor#getShapesAtPoint}. But otherwise they will
6870
+ * {@link @tldraw/editor#Editor.getShapeAtPoint} and {@link @tldraw/editor#Editor.getShapesAtPoint}. But otherwise they will
6709
6871
  * remain in the store and participate in all other operations.
6710
6872
  *
6711
6873
  * @example
@@ -6835,6 +6997,12 @@ export declare interface TldrawOptions {
6835
6997
  readonly flattenImageBoundsExpand: number;
6836
6998
  readonly flattenImageBoundsPadding: number;
6837
6999
  readonly laserDelayMs: number;
7000
+ /**
7001
+ * How long (in milliseconds) to fade all laser scribbles after the session ends.
7002
+ * The total points across all scribbles will be removed proportionally over this duration.
7003
+ * Defaults to 500ms (0.5 seconds).
7004
+ */
7005
+ readonly laserFadeoutMs: number;
6838
7006
  readonly maxExportDelayMs: number;
6839
7007
  readonly tooltipDelayMs: number;
6840
7008
  /**
@@ -6872,13 +7040,13 @@ export declare interface TldrawOptions {
6872
7040
  readonly branding?: string;
6873
7041
  /**
6874
7042
  * Whether to use debounced zoom level for certain rendering optimizations. When true,
6875
- * `editor.getDebouncedZoomLevel()` returns a cached zoom value while the camera is moving,
7043
+ * `editor.getEfficientZoomLevel()` returns a cached zoom value while the camera is moving,
6876
7044
  * reducing re-renders. When false, it always returns the current zoom level.
6877
7045
  */
6878
7046
  readonly debouncedZoom: boolean;
6879
7047
  /**
6880
7048
  * The number of shapes that must be on the page for the debounced zoom level to be used.
6881
- * Defaults to 300 shapes.
7049
+ * Defaults to 500 shapes.
6882
7050
  */
6883
7051
  readonly debouncedZoomThreshold: number;
6884
7052
  /**
@@ -6897,6 +7065,13 @@ export declare interface TldrawOptions {
6897
7065
  * The distance (in screen pixels) at which shapes snap to guides and other shapes.
6898
7066
  */
6899
7067
  readonly snapThreshold: number;
7068
+ /**
7069
+ * Whether the quick-zoom brush preserves its screen-pixel size when the user
7070
+ * zooms the overview. When true, zooming in shrinks the target viewport (higher
7071
+ * return zoom); zooming out expands it. When false, the brush keeps the original
7072
+ * viewport's page dimensions regardless of overview zoom changes.
7073
+ */
7074
+ readonly quickZoomPreservesScreenBounds: boolean;
6900
7075
  }
6901
7076
 
6902
7077
  /** @public */
@@ -7398,6 +7573,17 @@ export declare interface TLImageExportOptions extends TLSvgExportOptions {
7398
7573
  format?: TLExportType;
7399
7574
  }
7400
7575
 
7576
+ /**
7577
+ * Return type for {@link ShapeUtil.getIndicatorPath}. Can be either a simple Path2D
7578
+ * or an object with additional rendering info like clip paths for complex indicators.
7579
+ * @public
7580
+ */
7581
+ export declare type TLIndicatorPath = {
7582
+ additionalPaths?: Path2D[];
7583
+ clipPath?: Path2D;
7584
+ path: Path2D;
7585
+ } | Path2D;
7586
+
7401
7587
  /** @public */
7402
7588
  export declare type TLInterruptEvent = (info: TLInterruptEventInfo) => void;
7403
7589
 
@@ -7841,17 +8027,35 @@ export declare interface TLShapeUtilCanBeLaidOutOpts {
7841
8027
 
7842
8028
  /**
7843
8029
  * Options passed to {@link ShapeUtil.canBind}. A binding that could be made. At least one of
7844
- * `fromShapeType` or `toShapeType` will belong to this shape util.
8030
+ * `fromShape` or `toShape` will belong to this shape util.
8031
+ *
8032
+ * The shapes may be full {@link @tldraw/tlschema#TLShape} objects when available, or just
8033
+ * `{ type }` stubs when the shape hasn't been created yet (e.g. during arrow creation). Use
8034
+ * `'id' in shape` to check whether the full shape is available.
7845
8035
  *
7846
8036
  * @public
7847
8037
  */
7848
8038
  export declare interface TLShapeUtilCanBindOpts<Shape extends TLShape = TLShape> {
7849
- /** The type of shape referenced by the `fromId` of the binding. */
7850
- fromShapeType: TLShape['type'];
7851
- /** The type of shape referenced by the `toId` of the binding. */
7852
- toShapeType: TLShape['type'];
8039
+ /** The shape referenced by the `fromId` of the binding, or a `{ type }` stub if unavailable. */
8040
+ fromShape: {
8041
+ type: TLShape['type'];
8042
+ } | TLShape;
8043
+ /** The shape referenced by the `toId` of the binding, or a `{ type }` stub if unavailable. */
8044
+ toShape: {
8045
+ type: TLShape['type'];
8046
+ } | TLShape;
7853
8047
  /** The type of binding. */
7854
8048
  bindingType: string;
8049
+ /**
8050
+ * The type of shape referenced by the `fromId` of the binding.
8051
+ * @deprecated Use `fromShape.type` instead.
8052
+ */
8053
+ fromShapeType: TLShape['type'];
8054
+ /**
8055
+ * The type of shape referenced by the `toId` of the binding.
8056
+ * @deprecated Use `toShape.type` instead.
8057
+ */
8058
+ toShapeType: TLShape['type'];
7855
8059
  }
7856
8060
 
7857
8061
  /** @public */
@@ -7905,7 +8109,7 @@ export declare interface TLStoreBaseOptions {
7905
8109
  defaultName?: string;
7906
8110
  /** How should this store upload & resolve assets? */
7907
8111
  assets?: TLAssetStore;
7908
- /** Called when the store is connected to an {@link Editor}. */
8112
+ /** Called when the store is connected to an {@link @tldraw/editor#Editor}. */
7909
8113
  onMount?(editor: Editor): (() => void) | void;
7910
8114
  }
7911
8115
 
@@ -8111,6 +8315,7 @@ export declare interface TLUserPreferences {
8111
8315
  isPasteAtCursorMode?: boolean | null;
8112
8316
  enhancedA11yMode?: boolean | null;
8113
8317
  inputMode?: 'mouse' | 'trackpad' | null;
8318
+ isZoomDirectionInverted?: boolean | null;
8114
8319
  }
8115
8320
 
8116
8321
  /** @public */
@@ -8285,6 +8490,7 @@ export declare class UserPreferencesManager {
8285
8490
  isDynamicResizeMode: boolean;
8286
8491
  isSnapMode: boolean;
8287
8492
  isWrapMode: boolean;
8493
+ isZoomDirectionInverted: boolean;
8288
8494
  locale: string;
8289
8495
  name: string;
8290
8496
  };
@@ -8305,6 +8511,7 @@ export declare class UserPreferencesManager {
8305
8511
  getIsPasteAtCursorMode(): boolean;
8306
8512
  getEnhancedA11yMode(): boolean;
8307
8513
  getInputMode(): "mouse" | "trackpad" | null;
8514
+ getIsZoomDirectionInverted(): boolean;
8308
8515
  }
8309
8516
 
8310
8517
  /** @public */
package/dist-cjs/index.js CHANGED
@@ -238,11 +238,6 @@ __export(index_exports, {
238
238
  });
239
239
  module.exports = __toCommonJS(index_exports);
240
240
  var import_utils = require("@tldraw/utils");
241
- var import_at = require("core-js/stable/array/at.js");
242
- var import_flat_map = require("core-js/stable/array/flat-map.js");
243
- var import_flat = require("core-js/stable/array/flat.js");
244
- var import_at2 = require("core-js/stable/string/at.js");
245
- var import_replace_all = require("core-js/stable/string/replace-all.js");
246
241
  __reExport(index_exports, require("@tldraw/state"), module.exports);
247
242
  __reExport(index_exports, require("@tldraw/state-react"), module.exports);
248
243
  __reExport(index_exports, require("@tldraw/store"), module.exports);
@@ -377,7 +372,7 @@ var import_uniq = require("./lib/utils/uniq");
377
372
  var import_window_open = require("./lib/utils/window-open");
378
373
  (0, import_utils.registerTldrawLibraryVersion)(
379
374
  "@tldraw/editor",
380
- "4.4.0-canary.f929c9caec2f",
375
+ "4.4.0-next.0105623ff9e3",
381
376
  "cjs"
382
377
  );
383
378
  //# 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 { InputsManager } from './lib/editor/managers/InputsManager/InputsManager'\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 { SpatialIndexManager } from './lib/editor/managers/SpatialIndexManager/SpatialIndexManager'\nexport {\n\tTextManager,\n\ttype TLMeasureTextOpts,\n\ttype TLMeasureTextSpanOpts,\n} from './lib/editor/managers/TextManager/TextManager'\nexport { TickManager } from './lib/editor/managers/TickManager/TickManager'\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 TLEditStartInfo,\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, tlenvReactive } 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 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\tcreateDebugValue,\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
- "names": ["import_at", "import_utils"]
4
+ "sourcesContent": ["import { registerTldrawLibraryVersion } from '@tldraw/utils'\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 { InputsManager } from './lib/editor/managers/InputsManager/InputsManager'\nexport {\n\tScribbleManager,\n\ttype ScribbleItem,\n\ttype ScribbleSessionOptions,\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 { SpatialIndexManager } from './lib/editor/managers/SpatialIndexManager/SpatialIndexManager'\nexport {\n\tTextManager,\n\ttype TLMeasureTextOpts,\n\ttype TLMeasureTextSpanOpts,\n} from './lib/editor/managers/TextManager/TextManager'\nexport { TickManager } from './lib/editor/managers/TickManager/TickManager'\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 TLEditStartInfo,\n\ttype TLGeometryOpts,\n\ttype TLHandleDragInfo,\n\ttype TLIndicatorPath,\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, tlenvReactive } 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 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\tcreateDebugValue,\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
+ "names": ["import_utils"]
7
7
  }