@tldraw/editor 3.15.0-next.f1dfcef63951 → 3.16.0-next.c30b1b5e551a

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 (160) hide show
  1. package/dist-cjs/index.d.ts +159 -44
  2. package/dist-cjs/index.js +20 -16
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/components/SVGContainer.js +1 -1
  5. package/dist-cjs/lib/components/SVGContainer.js.map +2 -2
  6. package/dist-cjs/lib/components/Shape.js +4 -26
  7. package/dist-cjs/lib/components/Shape.js.map +2 -2
  8. package/dist-cjs/lib/components/default-components/DefaultBrush.js +1 -1
  9. package/dist-cjs/lib/components/default-components/DefaultBrush.js.map +2 -2
  10. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +1 -1
  11. package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
  12. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  13. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js.map +2 -2
  14. package/dist-cjs/lib/components/default-components/DefaultCursor.js +1 -1
  15. package/dist-cjs/lib/components/default-components/DefaultCursor.js.map +2 -2
  16. package/dist-cjs/lib/components/default-components/DefaultGrid.js +1 -1
  17. package/dist-cjs/lib/components/default-components/DefaultGrid.js.map +2 -2
  18. package/dist-cjs/lib/components/default-components/DefaultHandles.js +1 -1
  19. package/dist-cjs/lib/components/default-components/DefaultHandles.js.map +2 -2
  20. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +1 -1
  21. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
  22. package/dist-cjs/lib/components/default-components/DefaultShapeWrapper.js +53 -0
  23. package/dist-cjs/lib/components/default-components/DefaultShapeWrapper.js.map +7 -0
  24. package/dist-cjs/lib/components/default-components/DefaultSnapIndictor.js +1 -1
  25. package/dist-cjs/lib/components/default-components/DefaultSnapIndictor.js.map +2 -2
  26. package/dist-cjs/lib/components/default-components/DefaultSpinner.js +27 -15
  27. package/dist-cjs/lib/components/default-components/DefaultSpinner.js.map +3 -3
  28. package/dist-cjs/lib/config/TLUserPreferences.js +7 -1
  29. package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
  30. package/dist-cjs/lib/editor/Editor.js +88 -43
  31. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  32. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js +96 -101
  33. package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +2 -2
  34. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +7 -2
  35. package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
  36. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  37. package/dist-cjs/lib/editor/tools/StateNode.js +20 -1
  38. package/dist-cjs/lib/editor/tools/StateNode.js.map +2 -2
  39. package/dist-cjs/lib/editor/types/misc-types.js.map +1 -1
  40. package/dist-cjs/lib/hooks/useEditorComponents.js +2 -0
  41. package/dist-cjs/lib/hooks/useEditorComponents.js.map +2 -2
  42. package/dist-cjs/lib/license/Watermark.js +2 -2
  43. package/dist-cjs/lib/license/Watermark.js.map +2 -2
  44. package/dist-cjs/lib/primitives/geometry/Arc2d.js +1 -1
  45. package/dist-cjs/lib/primitives/geometry/Arc2d.js.map +2 -2
  46. package/dist-cjs/lib/primitives/geometry/Circle2d.js +1 -1
  47. package/dist-cjs/lib/primitives/geometry/Circle2d.js.map +2 -2
  48. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js +3 -1
  49. package/dist-cjs/lib/primitives/geometry/CubicBezier2d.js.map +2 -2
  50. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js +1 -1
  51. package/dist-cjs/lib/primitives/geometry/Ellipse2d.js.map +2 -2
  52. package/dist-cjs/lib/primitives/geometry/geometry-constants.js +2 -2
  53. package/dist-cjs/lib/primitives/geometry/geometry-constants.js.map +2 -2
  54. package/dist-cjs/lib/primitives/intersect.js +4 -4
  55. package/dist-cjs/lib/primitives/intersect.js.map +2 -2
  56. package/dist-cjs/lib/primitives/utils.js +4 -0
  57. package/dist-cjs/lib/primitives/utils.js.map +2 -2
  58. package/dist-cjs/lib/utils/sync/TLLocalSyncClient.js +0 -1
  59. package/dist-cjs/lib/utils/sync/TLLocalSyncClient.js.map +2 -2
  60. package/dist-cjs/version.js +3 -3
  61. package/dist-cjs/version.js.map +1 -1
  62. package/dist-esm/index.d.mts +159 -44
  63. package/dist-esm/index.mjs +47 -41
  64. package/dist-esm/index.mjs.map +2 -2
  65. package/dist-esm/lib/components/SVGContainer.mjs +1 -1
  66. package/dist-esm/lib/components/SVGContainer.mjs.map +2 -2
  67. package/dist-esm/lib/components/Shape.mjs +4 -26
  68. package/dist-esm/lib/components/Shape.mjs.map +2 -2
  69. package/dist-esm/lib/components/default-components/DefaultBrush.mjs +1 -1
  70. package/dist-esm/lib/components/default-components/DefaultBrush.mjs.map +2 -2
  71. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +1 -1
  72. package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
  73. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs +1 -1
  74. package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs.map +2 -2
  75. package/dist-esm/lib/components/default-components/DefaultCursor.mjs +1 -1
  76. package/dist-esm/lib/components/default-components/DefaultCursor.mjs.map +2 -2
  77. package/dist-esm/lib/components/default-components/DefaultGrid.mjs +1 -1
  78. package/dist-esm/lib/components/default-components/DefaultGrid.mjs.map +2 -2
  79. package/dist-esm/lib/components/default-components/DefaultHandles.mjs +1 -1
  80. package/dist-esm/lib/components/default-components/DefaultHandles.mjs.map +2 -2
  81. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +1 -1
  82. package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
  83. package/dist-esm/lib/components/default-components/DefaultShapeWrapper.mjs +23 -0
  84. package/dist-esm/lib/components/default-components/DefaultShapeWrapper.mjs.map +7 -0
  85. package/dist-esm/lib/components/default-components/DefaultSnapIndictor.mjs +1 -1
  86. package/dist-esm/lib/components/default-components/DefaultSnapIndictor.mjs.map +2 -2
  87. package/dist-esm/lib/components/default-components/DefaultSpinner.mjs +17 -15
  88. package/dist-esm/lib/components/default-components/DefaultSpinner.mjs.map +2 -2
  89. package/dist-esm/lib/config/TLUserPreferences.mjs +7 -1
  90. package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
  91. package/dist-esm/lib/editor/Editor.mjs +88 -43
  92. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  93. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs +96 -101
  94. package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +2 -2
  95. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +7 -2
  96. package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
  97. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  98. package/dist-esm/lib/editor/tools/StateNode.mjs +20 -1
  99. package/dist-esm/lib/editor/tools/StateNode.mjs.map +2 -2
  100. package/dist-esm/lib/hooks/useEditorComponents.mjs +4 -0
  101. package/dist-esm/lib/hooks/useEditorComponents.mjs.map +2 -2
  102. package/dist-esm/lib/license/Watermark.mjs +2 -2
  103. package/dist-esm/lib/license/Watermark.mjs.map +2 -2
  104. package/dist-esm/lib/primitives/geometry/Arc2d.mjs +2 -2
  105. package/dist-esm/lib/primitives/geometry/Arc2d.mjs.map +2 -2
  106. package/dist-esm/lib/primitives/geometry/Circle2d.mjs +2 -2
  107. package/dist-esm/lib/primitives/geometry/Circle2d.mjs.map +2 -2
  108. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs +3 -1
  109. package/dist-esm/lib/primitives/geometry/CubicBezier2d.mjs.map +2 -2
  110. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs +2 -2
  111. package/dist-esm/lib/primitives/geometry/Ellipse2d.mjs.map +2 -2
  112. package/dist-esm/lib/primitives/geometry/geometry-constants.mjs +2 -2
  113. package/dist-esm/lib/primitives/geometry/geometry-constants.mjs.map +2 -2
  114. package/dist-esm/lib/primitives/intersect.mjs +5 -5
  115. package/dist-esm/lib/primitives/intersect.mjs.map +2 -2
  116. package/dist-esm/lib/primitives/utils.mjs +4 -0
  117. package/dist-esm/lib/primitives/utils.mjs.map +2 -2
  118. package/dist-esm/lib/utils/sync/TLLocalSyncClient.mjs +0 -1
  119. package/dist-esm/lib/utils/sync/TLLocalSyncClient.mjs.map +2 -2
  120. package/dist-esm/version.mjs +3 -3
  121. package/dist-esm/version.mjs.map +1 -1
  122. package/editor.css +21 -27
  123. package/package.json +9 -8
  124. package/src/index.ts +68 -62
  125. package/src/lib/components/SVGContainer.tsx +1 -1
  126. package/src/lib/components/Shape.tsx +6 -21
  127. package/src/lib/components/default-components/DefaultBrush.tsx +1 -1
  128. package/src/lib/components/default-components/DefaultCanvas.tsx +1 -1
  129. package/src/lib/components/default-components/DefaultCollaboratorHint.tsx +1 -1
  130. package/src/lib/components/default-components/DefaultCursor.tsx +1 -1
  131. package/src/lib/components/default-components/DefaultGrid.tsx +1 -1
  132. package/src/lib/components/default-components/DefaultHandles.tsx +5 -1
  133. package/src/lib/components/default-components/DefaultShapeIndicator.tsx +1 -1
  134. package/src/lib/components/default-components/DefaultShapeWrapper.tsx +35 -0
  135. package/src/lib/components/default-components/DefaultSnapIndictor.tsx +1 -1
  136. package/src/lib/components/default-components/DefaultSpinner.tsx +12 -12
  137. package/src/lib/config/TLUserPreferences.ts +7 -0
  138. package/src/lib/editor/Editor.test.ts +407 -0
  139. package/src/lib/editor/Editor.ts +106 -44
  140. package/src/lib/editor/managers/TextManager/TextManager.ts +108 -128
  141. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +21 -0
  142. package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +8 -0
  143. package/src/lib/editor/shapes/ShapeUtil.ts +57 -0
  144. package/src/lib/editor/tools/StateNode.test.ts +285 -0
  145. package/src/lib/editor/tools/StateNode.ts +27 -1
  146. package/src/lib/editor/types/misc-types.ts +19 -0
  147. package/src/lib/hooks/useEditorComponents.tsx +8 -2
  148. package/src/lib/license/LicenseManager.test.ts +1 -1
  149. package/src/lib/license/Watermark.tsx +2 -2
  150. package/src/lib/primitives/geometry/Arc2d.ts +2 -2
  151. package/src/lib/primitives/geometry/Circle2d.ts +2 -2
  152. package/src/lib/primitives/geometry/CubicBezier2d.ts +4 -1
  153. package/src/lib/primitives/geometry/Ellipse2d.ts +2 -2
  154. package/src/lib/primitives/geometry/geometry-constants.ts +2 -1
  155. package/src/lib/primitives/intersect.test.ts +946 -0
  156. package/src/lib/primitives/intersect.ts +12 -5
  157. package/src/lib/primitives/utils.ts +11 -0
  158. package/src/lib/utils/sync/TLLocalSyncClient.ts +0 -1
  159. package/src/version.ts +3 -3
  160. package/src/lib/test/currentToolIdMask.test.ts +0 -49
@@ -1,5 +1,3 @@
1
- /// <reference types="react" />
2
-
3
1
  import { Atom } from '@tldraw/state';
4
2
  import { BoxModel } from '@tldraw/tlschema';
5
3
  import { ComponentType } from 'react';
@@ -9,6 +7,7 @@ import { Editor as Editor_2 } from '@tiptap/core';
9
7
  import { EditorProviderProps as EditorProviderProps_2 } from '@tiptap/react';
10
8
  import EventEmitter from 'eventemitter3';
11
9
  import { ExoticComponent } from 'react';
10
+ import { ForwardRefExoticComponent } from 'react';
12
11
  import { HistoryEntry } from '@tldraw/store';
13
12
  import { IndexKey } from '@tldraw/utils';
14
13
  import { JsonObject } from '@tldraw/utils';
@@ -19,12 +18,13 @@ import { NamedExoticComponent } from 'react';
19
18
  import { Node as Node_2 } from '@tiptap/pm/model';
20
19
  import { PerformanceTracker } from '@tldraw/utils';
21
20
  import { PointerEventHandler } from 'react';
22
- import { default as React_2 } from 'react';
23
- import * as React_3 from 'react';
21
+ import * as React_2 from 'react';
22
+ import { default as React_3 } from 'react';
24
23
  import { ReactElement } from 'react';
25
24
  import { ReactNode } from 'react';
26
25
  import { RecordProps } from '@tldraw/tlschema';
27
26
  import { RecordsDiff } from '@tldraw/store';
27
+ import { RefAttributes } from 'react';
28
28
  import { RefObject } from 'react';
29
29
  import { SerializedSchema } from '@tldraw/store';
30
30
  import { SerializedStore } from '@tldraw/store';
@@ -59,6 +59,7 @@ import { TLImageAsset } from '@tldraw/tlschema';
59
59
  import { TLInstance } from '@tldraw/tlschema';
60
60
  import { TLInstancePageState } from '@tldraw/tlschema';
61
61
  import { TLInstancePresence } from '@tldraw/tlschema';
62
+ import { TLOpacityType } from '@tldraw/tlschema';
62
63
  import { TLPage } from '@tldraw/tlschema';
63
64
  import { TLPageId } from '@tldraw/tlschema';
64
65
  import { TLParentId } from '@tldraw/tlschema';
@@ -716,8 +717,8 @@ export declare function createTLStore({ initialData, defaultName, id, assets, on
716
717
 
717
718
  /** @public */
718
719
  export declare function createTLUser(opts?: {
719
- setUserPreferences?: ((userPreferences: TLUserPreferences) => void) | undefined;
720
- userPreferences?: Signal<TLUserPreferences, unknown> | undefined;
720
+ setUserPreferences?: (userPreferences: TLUserPreferences) => void;
721
+ userPreferences?: Signal<TLUserPreferences>;
721
722
  }): TLUser;
722
723
 
723
724
  /** @public */
@@ -726,10 +727,12 @@ export declare class CubicBezier2d extends Polyline2d {
726
727
  private _b;
727
728
  private _c;
728
729
  private _d;
730
+ private _resolution;
729
731
  constructor(config: Omit<Geometry2dOptions, 'isClosed' | 'isFilled'> & {
730
732
  cp1: Vec;
731
733
  cp2: Vec;
732
734
  end: Vec;
735
+ resolution?: number;
733
736
  start: Vec;
734
737
  });
735
738
  getVertices(): Vec[];
@@ -816,11 +819,14 @@ export declare const DefaultShapeIndicator: NamedExoticComponent<TLShapeIndicato
816
819
  /** @public @react */
817
820
  export declare const DefaultShapeIndicators: NamedExoticComponent<TLShapeIndicatorsProps>;
818
821
 
822
+ /** @public @react */
823
+ export declare const DefaultShapeWrapper: ForwardRefExoticComponent<TLShapeWrapperProps & RefAttributes<HTMLDivElement>>;
824
+
819
825
  /** @public @react */
820
826
  export declare function DefaultSnapIndicator({ className, line, zoom }: TLSnapIndicatorProps): JSX_2.Element;
821
827
 
822
828
  /** @public @react */
823
- export declare function DefaultSpinner(): JSX_2.Element;
829
+ export declare function DefaultSpinner(props: React.SVGProps<SVGSVGElement>): JSX_2.Element;
824
830
 
825
831
  /** @public @react */
826
832
  export declare const DefaultSvgDefs: () => null;
@@ -848,7 +854,7 @@ export declare const defaultTldrawOptions: {
848
854
  readonly edgeScrollSpeed: 25;
849
855
  readonly enableToolbarKeyboardShortcuts: true;
850
856
  readonly exportProvider: ExoticComponent< {
851
- children?: ReactNode;
857
+ children?: ReactNode | undefined;
852
858
  }>;
853
859
  readonly flattenImageBoundsExpand: 64;
854
860
  readonly flattenImageBoundsPadding: 16;
@@ -888,6 +894,7 @@ export declare const defaultTldrawOptions: {
888
894
  /** @public */
889
895
  export declare const defaultUserPreferences: Readonly<{
890
896
  animationSpeed: 0 | 1;
897
+ areKeyboardShortcutsEnabled: true;
891
898
  color: "#02B1CC" | "#11B3A3" | "#39B178" | "#55B467" | "#7B66DC" | "#9D5BD2" | "#BD54C6" | "#E34BA9" | "#EC5E41" | "#F04F88" | "#F2555A" | "#FF802B";
892
899
  colorScheme: "light";
893
900
  edgeScrollSpeed: 1;
@@ -1018,8 +1025,8 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1018
1025
  readonly timers: {
1019
1026
  dispose: () => void;
1020
1027
  requestAnimationFrame: (callback: FrameRequestCallback) => number;
1021
- setInterval: (handler: TimerHandler, timeout?: number | undefined, ...args: any[]) => number;
1022
- setTimeout: (handler: TimerHandler, timeout?: number | undefined, ...args: any[]) => number;
1028
+ setInterval: (handler: TimerHandler, timeout?: number, ...args: any[]) => number;
1029
+ setTimeout: (handler: TimerHandler, timeout?: number, ...args: any[]) => number;
1023
1030
  };
1024
1031
  /**
1025
1032
  * A manager for the user and their preferences.
@@ -1553,7 +1560,9 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1553
1560
  */
1554
1561
  deselect(...shapes: TLShape[] | TLShapeId[]): this;
1555
1562
  /**
1556
- * Select all direct children of the current page.
1563
+ * Select all shapes. If the user has selected shapes that share a parent,
1564
+ * select all shapes within that parent. If the user has not selected any shapes,
1565
+ * or if the shapes shapes are only on select all shapes on the current page.
1557
1566
  *
1558
1567
  * @example
1559
1568
  * ```ts
@@ -1587,7 +1596,7 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1587
1596
  *
1588
1597
  * @public
1589
1598
  */
1590
- getNearestAdjacentShape(currentShapeId: TLShapeId, direction: 'down' | 'left' | 'right' | 'up'): TLShapeId;
1599
+ getNearestAdjacentShape(shapes: TLShape[], currentShapeId: TLShapeId, direction: 'down' | 'left' | 'right' | 'up'): TLShapeId;
1591
1600
  selectParentShape(): void;
1592
1601
  selectFirstChildShape(): void;
1593
1602
  private _selectShapesAndZoom;
@@ -2068,10 +2077,10 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2068
2077
  */
2069
2078
  slideCamera(opts?: {
2070
2079
  direction: VecLike;
2071
- force?: boolean | undefined;
2072
- friction?: number | undefined;
2080
+ force?: boolean;
2081
+ friction?: number;
2073
2082
  speed: number;
2074
- speedThreshold?: number | undefined;
2083
+ speedThreshold?: number;
2075
2084
  }): this;
2076
2085
  /**
2077
2086
  * Animate the camera to a user's cursor position. This also briefly show the user's cursor if it's not currently visible.
@@ -2683,12 +2692,12 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2683
2692
  */
2684
2693
  getShapeAtPoint(point: VecLike, opts?: {
2685
2694
  filter?(shape: TLShape): boolean;
2686
- hitFrameInside?: boolean | undefined;
2687
- hitInside?: boolean | undefined;
2688
- hitLabels?: boolean | undefined;
2689
- hitLocked?: boolean | undefined;
2690
- margin?: number | undefined;
2691
- renderingOnly?: boolean | undefined;
2695
+ hitFrameInside?: boolean;
2696
+ hitInside?: boolean;
2697
+ hitLabels?: boolean;
2698
+ hitLocked?: boolean;
2699
+ margin?: number;
2700
+ renderingOnly?: boolean;
2692
2701
  }): TLShape | undefined;
2693
2702
  /**
2694
2703
  * Get the shapes, if any, at a given page point.
@@ -2707,8 +2716,8 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2707
2716
  * @public
2708
2717
  */
2709
2718
  getShapesAtPoint(point: VecLike, opts?: {
2710
- hitInside?: boolean | undefined;
2711
- margin?: number | undefined;
2719
+ hitInside?: boolean;
2720
+ margin?: number;
2712
2721
  }): TLShape[];
2713
2722
  /**
2714
2723
  * Test whether a point (in the current page space) will will a shape. This method takes into account masks,
@@ -2726,8 +2735,8 @@ export declare class Editor extends EventEmitter<TLEventMap> {
2726
2735
  * @public
2727
2736
  */
2728
2737
  isPointInShape(shape: TLShape | TLShapeId, point: VecLike, opts?: {
2729
- hitInside?: boolean | undefined;
2730
- margin?: number | undefined;
2738
+ hitInside?: boolean;
2739
+ margin?: number;
2731
2740
  }): boolean;
2732
2741
  /**
2733
2742
  * Convert a point in the current page space to a point in the local space of a shape. For example, if a
@@ -3789,6 +3798,21 @@ export declare class Editor extends EventEmitter<TLEventMap> {
3789
3798
  * @public
3790
3799
  */
3791
3800
  complete(): this;
3801
+ /**
3802
+ * Dispatch a pointer move event in the current position of the pointer. This is useful when
3803
+ * external circumstances have changed (e.g. the camera moved or a shape was moved) and you want
3804
+ * the current interaction to respond to that change.
3805
+ *
3806
+ * @example
3807
+ * ```ts
3808
+ * editor.updatePointer()
3809
+ * ```
3810
+ *
3811
+ * @param options - The options for updating the pointer.
3812
+ * @returns The editor instance.
3813
+ * @public
3814
+ */
3815
+ updatePointer(options?: TLUpdatePointerOptions): this;
3792
3816
  /**
3793
3817
  * Puts the editor into focused mode.
3794
3818
  *
@@ -4013,7 +4037,7 @@ export declare class Editor extends EventEmitter<TLEventMap> {
4013
4037
  }
4014
4038
 
4015
4039
  /** @public */
4016
- export declare const EditorContext: React_2.Context<Editor | null>;
4040
+ export declare const EditorContext: React_3.Context<Editor | null>;
4017
4041
 
4018
4042
  /** @public @react */
4019
4043
  export declare function EditorProvider({ editor, children }: EditorProviderProps): JSX_2.Element;
@@ -4021,7 +4045,7 @@ export declare function EditorProvider({ editor, children }: EditorProviderProps
4021
4045
  /** @public */
4022
4046
  export declare interface EditorProviderProps {
4023
4047
  editor: Editor;
4024
- children: React_2.ReactNode;
4048
+ children: React_3.ReactNode;
4025
4049
  }
4026
4050
 
4027
4051
  /** @public */
@@ -4047,7 +4071,7 @@ export declare class Ellipse2d extends Geometry2d {
4047
4071
  }
4048
4072
 
4049
4073
  /** @public */
4050
- export declare class ErrorBoundary extends React_3.Component<React_3.PropsWithRef<React_3.PropsWithChildren<TLErrorBoundaryProps>>, {
4074
+ export declare class ErrorBoundary extends React_2.Component<React_2.PropsWithRef<React_2.PropsWithChildren<TLErrorBoundaryProps>>, {
4051
4075
  error: Error | null;
4052
4076
  }> {
4053
4077
  static getDerivedStateFromError(error: Error): {
@@ -4057,7 +4081,7 @@ export declare class ErrorBoundary extends React_3.Component<React_3.PropsWithRe
4057
4081
  error: null;
4058
4082
  };
4059
4083
  componentDidCatch(error: unknown): void;
4060
- render(): boolean | JSX_2.Element | Iterable<React_3.ReactNode> | null | number | string | undefined;
4084
+ render(): boolean | JSX_2.Element | Iterable<React_2.ReactNode> | null | number | string | undefined;
4061
4085
  }
4062
4086
 
4063
4087
  /** @public @react */
@@ -4318,6 +4342,8 @@ export declare function getSvgPathFromPoints(points: VecLike[], closed?: boolean
4318
4342
  /** @public */
4319
4343
  export declare function getUserPreferences(): TLUserPreferences;
4320
4344
 
4345
+ /* Excluded from this release type: getVerticesCountForArcLength */
4346
+
4321
4347
  /** @public */
4322
4348
  export declare class Group2d extends Geometry2d {
4323
4349
  children: Geometry2d[];
@@ -4461,7 +4487,7 @@ export declare class HistoryManager<R extends UnknownRecord> {
4461
4487
  export declare function HTMLContainer({ children, className, ...rest }: HTMLContainerProps): JSX_2.Element;
4462
4488
 
4463
4489
  /** @public */
4464
- export declare type HTMLContainerProps = React_3.HTMLAttributes<HTMLDivElement>;
4490
+ export declare type HTMLContainerProps = React_2.HTMLAttributes<HTMLDivElement>;
4465
4491
 
4466
4492
  /** @public */
4467
4493
  export declare const inlineBase64AssetStore: TLAssetStore;
@@ -4517,7 +4543,7 @@ export declare function intersectLineSegmentCircle(a1: VecLike, a2: VecLike, c:
4517
4543
  * @param b2 - The second segment's second point.
4518
4544
  * @public
4519
4545
  */
4520
- export declare function intersectLineSegmentLineSegment(a1: VecLike, a2: VecLike, b1: VecLike, b2: VecLike): null | Vec;
4546
+ export declare function intersectLineSegmentLineSegment(a1: VecLike, a2: VecLike, b1: VecLike, b2: VecLike, precision?: number): null | Vec;
4521
4547
 
4522
4548
  /**
4523
4549
  * Find the intersections between a line segment and a closed polygon.
@@ -4823,7 +4849,7 @@ export declare function precise(A: VecLike): string;
4823
4849
  * @param event - To prevent default on
4824
4850
  * @public
4825
4851
  */
4826
- export declare function preventDefault(event: Event | React_2.BaseSyntheticEvent): void;
4852
+ export declare function preventDefault(event: Event | React_3.BaseSyntheticEvent): void;
4827
4853
 
4828
4854
  /**
4829
4855
  * Convert radians to degrees.
@@ -4858,10 +4884,10 @@ export declare class ReadonlySharedStyleMap {
4858
4884
  getAsKnownValue<T>(prop: StyleProp<T>): T | undefined;
4859
4885
  get size(): number;
4860
4886
  equals(other: ReadonlySharedStyleMap): boolean;
4861
- keys(): IterableIterator<StyleProp<any>>;
4862
- values(): IterableIterator<SharedStyle<unknown>>;
4863
- entries(): IterableIterator<[StyleProp<any>, SharedStyle<unknown>]>;
4864
- [Symbol.iterator](): IterableIterator<[StyleProp<any>, SharedStyle<unknown>]>;
4887
+ keys(): MapIterator<StyleProp<any>>;
4888
+ values(): MapIterator<SharedStyle<unknown>>;
4889
+ entries(): MapIterator<[StyleProp<any>, SharedStyle<unknown>]>;
4890
+ [Symbol.iterator](): MapIterator<[StyleProp<any>, SharedStyle<unknown>]>;
4865
4891
  }
4866
4892
 
4867
4893
  /** @public */
@@ -4885,7 +4911,7 @@ export declare class Rectangle2d extends Polygon2d {
4885
4911
  export declare function refreshPage(): void;
4886
4912
 
4887
4913
  /** @public */
4888
- export declare function releasePointerCapture(element: Element, event: PointerEvent | React_2.PointerEvent<Element>): void;
4914
+ export declare function releasePointerCapture(element: Element, event: PointerEvent | React_3.PointerEvent<Element>): void;
4889
4915
 
4890
4916
  /** @public */
4891
4917
  export declare type RequiredKeys<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
@@ -5028,7 +5054,7 @@ export declare type SelectionEdge = 'bottom' | 'left' | 'right' | 'top';
5028
5054
  export declare type SelectionHandle = SelectionCorner | SelectionEdge;
5029
5055
 
5030
5056
  /** @public */
5031
- export declare function setPointerCapture(element: Element, event: PointerEvent | React_2.PointerEvent<Element>): void;
5057
+ export declare function setPointerCapture(element: Element, event: PointerEvent | React_3.PointerEvent<Element>): void;
5032
5058
 
5033
5059
  /** @public */
5034
5060
  export declare function setRuntimeOverrides(input: Partial<typeof runtime>): void;
@@ -5412,6 +5438,14 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5412
5438
  * @public
5413
5439
  */
5414
5440
  onResizeEnd?(initial: Shape, current: Shape): TLShapePartial<Shape> | void;
5441
+ /**
5442
+ * A callback called when a shape resize is cancelled.
5443
+ *
5444
+ * @param initial - The shape at the start of the resize.
5445
+ * @param current - The current shape.
5446
+ * @public
5447
+ */
5448
+ onResizeCancel?(initial: Shape, current: Shape): void;
5415
5449
  /**
5416
5450
  * A callback called when a shape starts being translated.
5417
5451
  *
@@ -5438,6 +5472,23 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5438
5472
  * @public
5439
5473
  */
5440
5474
  onTranslateEnd?(initial: Shape, current: Shape): TLShapePartial<Shape> | void;
5475
+ /**
5476
+ * A callback called when a shape translation is cancelled.
5477
+ *
5478
+ * @param initial - The shape at the start of the translation.
5479
+ * @param current - The current shape.
5480
+ * @public
5481
+ */
5482
+ onTranslateCancel?(initial: Shape, current: Shape): void;
5483
+ /**
5484
+ * A callback called when a shape's handle starts being dragged.
5485
+ *
5486
+ * @param shape - The shape.
5487
+ * @param info - An object containing the handle and whether the handle is 'precise' or not.
5488
+ * @returns A change to apply to the shape, or void.
5489
+ * @public
5490
+ */
5491
+ onHandleDragStart?(shape: Shape, info: TLHandleDragInfo<Shape>): TLShapePartial<Shape> | void;
5441
5492
  /**
5442
5493
  * A callback called when a shape's handle changes.
5443
5494
  *
@@ -5447,6 +5498,23 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5447
5498
  * @public
5448
5499
  */
5449
5500
  onHandleDrag?(shape: Shape, info: TLHandleDragInfo<Shape>): TLShapePartial<Shape> | void;
5501
+ /**
5502
+ * A callback called when a shape's handle finishes being dragged.
5503
+ *
5504
+ * @param current - The current shape.
5505
+ * @param info - An object containing the handle and whether the handle is 'precise' or not.
5506
+ * @returns A change to apply to the shape, or void.
5507
+ * @public
5508
+ */
5509
+ onHandleDragEnd?(current: Shape, info: TLHandleDragInfo<Shape>): TLShapePartial<Shape> | void;
5510
+ /**
5511
+ * A callback called when a shape's handle drag is cancelled.
5512
+ *
5513
+ * @param current - The current shape.
5514
+ * @param info - An object containing the handle and whether the handle is 'precise' or not.
5515
+ * @public
5516
+ */
5517
+ onHandleDragCancel?(current: Shape, info: TLHandleDragInfo<Shape>): void;
5450
5518
  /**
5451
5519
  * A callback called when a shape starts being rotated.
5452
5520
  *
@@ -5473,6 +5541,14 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5473
5541
  * @public
5474
5542
  */
5475
5543
  onRotateEnd?(initial: Shape, current: Shape): TLShapePartial<Shape> | void;
5544
+ /**
5545
+ * A callback called when a shape rotation is cancelled.
5546
+ *
5547
+ * @param initial - The shape at the start of the rotation.
5548
+ * @param current - The current shape.
5549
+ * @public
5550
+ */
5551
+ onRotateCancel?(initial: Shape, current: Shape): void;
5476
5552
  /* Excluded from this release type: onBindingChange */
5477
5553
  /**
5478
5554
  * A callback called when a shape's children change.
@@ -5701,6 +5777,12 @@ export declare abstract class StateNode implements Partial<TLEventHandlers> {
5701
5777
  _currentToolIdMask: Atom<string | undefined, unknown>;
5702
5778
  getCurrentToolIdMask(): string | undefined;
5703
5779
  setCurrentToolIdMask(id: string | undefined): void;
5780
+ /**
5781
+ * Add a child node to this state node.
5782
+ *
5783
+ * @public
5784
+ */
5785
+ addChild(childConstructor: TLStateNodeConstructor): this;
5704
5786
  onWheel?(info: TLWheelEventInfo): void;
5705
5787
  onPointerDown?(info: TLPointerEventInfo): void;
5706
5788
  onPointerMove?(info: TLPointerEventInfo): void;
@@ -5734,7 +5816,7 @@ export declare function suffixSafeId(id: SafeId, suffix: string): SafeId;
5734
5816
  export declare function SVGContainer({ children, className, ...rest }: SVGContainerProps): JSX_2.Element;
5735
5817
 
5736
5818
  /** @public */
5737
- export declare type SVGContainerProps = React_3.ComponentProps<'svg'>;
5819
+ export declare type SVGContainerProps = React_2.ComponentProps<'svg'>;
5738
5820
 
5739
5821
  /** @public */
5740
5822
  export declare interface SvgExportContext {
@@ -5795,10 +5877,9 @@ export declare const TAB_ID: string;
5795
5877
  export declare class TextManager {
5796
5878
  editor: Editor;
5797
5879
  private elm;
5798
- private defaultStyles;
5799
5880
  constructor(editor: Editor);
5881
+ private setElementStyles;
5800
5882
  dispose(): void;
5801
- private resetElmStyles;
5802
5883
  measureText(textToMeasure: string, opts: TLMeasureTextOpts): BoxModel & {
5803
5884
  scrollWidth: number;
5804
5885
  };
@@ -6142,7 +6223,7 @@ export declare interface TLDragShapesOverInfo {
6142
6223
  }
6143
6224
 
6144
6225
  /** @public @react */
6145
- export declare const TldrawEditor: React_2.NamedExoticComponent<TldrawEditorProps>;
6226
+ export declare const TldrawEditor: React_3.NamedExoticComponent<TldrawEditorProps>;
6146
6227
 
6147
6228
  /**
6148
6229
  * Base props for the {@link tldraw#Tldraw} and {@link TldrawEditor} components.
@@ -6418,8 +6499,9 @@ export declare interface TLEditorComponents {
6418
6499
  SelectionForeground?: ComponentType<TLSelectionForegroundProps> | null;
6419
6500
  ShapeIndicator?: ComponentType<TLShapeIndicatorProps> | null;
6420
6501
  ShapeIndicators?: ComponentType | null;
6502
+ ShapeWrapper?: ComponentType<TLShapeWrapperProps & RefAttributes<HTMLDivElement>> | null;
6421
6503
  SnapIndicator?: ComponentType<TLSnapIndicatorProps> | null;
6422
- Spinner?: ComponentType | null;
6504
+ Spinner?: ComponentType<React.SVGProps<SVGSVGElement>> | null;
6423
6505
  SvgDefs?: ComponentType | null;
6424
6506
  ZoomBrush?: ComponentType<TLBrushProps> | null;
6425
6507
  ErrorFallback?: TLErrorFallbackComponent;
@@ -6546,7 +6628,7 @@ export declare const tlenv: {
6546
6628
 
6547
6629
  /** @public */
6548
6630
  export declare interface TLErrorBoundaryProps {
6549
- children: React_3.ReactNode;
6631
+ children: React_2.ReactNode;
6550
6632
  onError?: ((error: unknown) => void) | null;
6551
6633
  fallback: TLErrorFallbackComponent;
6552
6634
  }
@@ -6765,6 +6847,7 @@ export declare interface TLGridProps {
6765
6847
  export declare interface TLHandleDragInfo<T extends TLShape> {
6766
6848
  handle: TLHandle;
6767
6849
  isPrecise: boolean;
6850
+ isCreatingShape: boolean;
6768
6851
  initial?: T | undefined;
6769
6852
  }
6770
6853
 
@@ -7291,6 +7374,16 @@ export declare interface TLShapeUtilConstructor<T extends TLUnknownShape, U exte
7291
7374
  migrations?: LegacyMigrations | MigrationSequence | TLPropsMigrations;
7292
7375
  }
7293
7376
 
7377
+ /** @public */
7378
+ export declare interface TLShapeWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
7379
+ /** The shape being rendered. */
7380
+ shape: TLShape;
7381
+ /** Whether this is the shapes regular, or background component. */
7382
+ isBackground: boolean;
7383
+ /** The shape's rendered component. */
7384
+ children: ReactNode;
7385
+ }
7386
+
7294
7387
  /** @public */
7295
7388
  export declare interface TLSnapIndicatorProps {
7296
7389
  className?: string;
@@ -7473,6 +7566,25 @@ export declare interface TLTldrawExternalContentSource {
7473
7566
  data: TLContent;
7474
7567
  }
7475
7568
 
7569
+ /** @public */
7570
+ export declare interface TLUpdatePointerOptions {
7571
+ /** Whether to update the pointer immediately, rather than on the next tick. */
7572
+ immediate?: boolean;
7573
+ /**
7574
+ * The point, in screen-space, to update the pointer to. Defaults to the position of the last
7575
+ * pointer event.
7576
+ */
7577
+ point?: VecLike;
7578
+ pointerId?: number;
7579
+ ctrlKey?: boolean;
7580
+ altKey?: boolean;
7581
+ shiftKey?: boolean;
7582
+ metaKey?: boolean;
7583
+ accelKey?: boolean;
7584
+ isPen?: boolean;
7585
+ button?: number;
7586
+ }
7587
+
7476
7588
  /** @public */
7477
7589
  export declare interface TLUrlExternalAsset {
7478
7590
  type: 'url';
@@ -7502,6 +7614,7 @@ export declare interface TLUserPreferences {
7502
7614
  color?: null | string;
7503
7615
  locale?: null | string;
7504
7616
  animationSpeed?: null | number;
7617
+ areKeyboardShortcutsEnabled?: boolean | null;
7505
7618
  edgeScrollSpeed?: null | number;
7506
7619
  colorScheme?: 'dark' | 'light' | 'system';
7507
7620
  isSnapMode?: boolean | null;
@@ -7670,6 +7783,7 @@ export declare class UserPreferencesManager {
7670
7783
  updateUserPreferences(userPreferences: Partial<TLUserPreferences>): void;
7671
7784
  getUserPreferences(): {
7672
7785
  animationSpeed: number;
7786
+ areKeyboardShortcutsEnabled: boolean;
7673
7787
  color: string;
7674
7788
  colorScheme: "dark" | "light" | "system" | undefined;
7675
7789
  id: string;
@@ -7686,6 +7800,7 @@ export declare class UserPreferencesManager {
7686
7800
  */
7687
7801
  getEdgeScrollSpeed(): number;
7688
7802
  getAnimationSpeed(): number;
7803
+ getAreKeyboardShortcutsEnabled(): boolean;
7689
7804
  getId(): string;
7690
7805
  getName(): string;
7691
7806
  getLocale(): string;
package/dist-cjs/index.js CHANGED
@@ -46,6 +46,7 @@ __export(index_exports, {
46
46
  DefaultSelectionForeground: () => import_DefaultSelectionForeground.DefaultSelectionForeground,
47
47
  DefaultShapeIndicator: () => import_DefaultShapeIndicator.DefaultShapeIndicator,
48
48
  DefaultShapeIndicators: () => import_DefaultShapeIndicators.DefaultShapeIndicators,
49
+ DefaultShapeWrapper: () => import_DefaultShapeWrapper.DefaultShapeWrapper,
49
50
  DefaultSnapIndicator: () => import_DefaultSnapIndictor.DefaultSnapIndicator,
50
51
  DefaultSpinner: () => import_DefaultSpinner.DefaultSpinner,
51
52
  DefaultSvgDefs: () => import_DefaultSvgDefs.DefaultSvgDefs,
@@ -144,6 +145,7 @@ __export(index_exports, {
144
145
  getSvgAsImage: () => import_getSvgAsImage.getSvgAsImage,
145
146
  getSvgPathFromPoints: () => import_getSvgPathFromPoints.getSvgPathFromPoints,
146
147
  getUserPreferences: () => import_TLUserPreferences.getUserPreferences,
148
+ getVerticesCountForArcLength: () => import_geometry_constants.getVerticesCountForArcLength,
147
149
  hardReset: () => import_hardReset.hardReset,
148
150
  hardResetEditor: () => import_hardResetEditor.hardResetEditor,
149
151
  inlineBase64AssetStore: () => import_createTLStore.inlineBase64AssetStore,
@@ -241,11 +243,6 @@ __reExport(index_exports, require("@tldraw/store"), module.exports);
241
243
  __reExport(index_exports, require("@tldraw/tlschema"), module.exports);
242
244
  __reExport(index_exports, require("@tldraw/utils"), module.exports);
243
245
  __reExport(index_exports, require("@tldraw/validate"), module.exports);
244
- var import_TldrawEditor = require("./lib/TldrawEditor");
245
- var import_ErrorBoundary = require("./lib/components/ErrorBoundary");
246
- var import_HTMLContainer = require("./lib/components/HTMLContainer");
247
- var import_MenuClickCapture = require("./lib/components/MenuClickCapture");
248
- var import_SVGContainer = require("./lib/components/SVGContainer");
249
246
  var import_DefaultBackground = require("./lib/components/default-components/DefaultBackground");
250
247
  var import_DefaultBrush = require("./lib/components/default-components/DefaultBrush");
251
248
  var import_DefaultCanvas = require("./lib/components/default-components/DefaultCanvas");
@@ -260,18 +257,23 @@ var import_DefaultSelectionBackground = require("./lib/components/default-compon
260
257
  var import_DefaultSelectionForeground = require("./lib/components/default-components/DefaultSelectionForeground");
261
258
  var import_DefaultShapeIndicator = require("./lib/components/default-components/DefaultShapeIndicator");
262
259
  var import_DefaultShapeIndicators = require("./lib/components/default-components/DefaultShapeIndicators");
260
+ var import_DefaultShapeWrapper = require("./lib/components/default-components/DefaultShapeWrapper");
263
261
  var import_DefaultSnapIndictor = require("./lib/components/default-components/DefaultSnapIndictor");
264
262
  var import_DefaultSpinner = require("./lib/components/default-components/DefaultSpinner");
265
263
  var import_DefaultSvgDefs = require("./lib/components/default-components/DefaultSvgDefs");
266
- var import_TLEditorSnapshot = require("./lib/config/TLEditorSnapshot");
267
- var import_TLSessionStateSnapshot = require("./lib/config/TLSessionStateSnapshot");
268
- var import_TLUserPreferences = require("./lib/config/TLUserPreferences");
264
+ var import_ErrorBoundary = require("./lib/components/ErrorBoundary");
265
+ var import_HTMLContainer = require("./lib/components/HTMLContainer");
266
+ var import_MenuClickCapture = require("./lib/components/MenuClickCapture");
267
+ var import_SVGContainer = require("./lib/components/SVGContainer");
269
268
  var import_createTLStore = require("./lib/config/createTLStore");
270
269
  var import_createTLUser = require("./lib/config/createTLUser");
271
270
  var import_defaultShapes = require("./lib/config/defaultShapes");
271
+ var import_TLEditorSnapshot = require("./lib/config/TLEditorSnapshot");
272
+ var import_TLSessionStateSnapshot = require("./lib/config/TLSessionStateSnapshot");
273
+ var import_TLUserPreferences = require("./lib/config/TLUserPreferences");
272
274
  var import_constants = require("./lib/constants");
273
- var import_Editor = require("./lib/editor/Editor");
274
275
  var import_BindingUtil = require("./lib/editor/bindings/BindingUtil");
276
+ var import_Editor = require("./lib/editor/Editor");
275
277
  var import_ClickManager = require("./lib/editor/managers/ClickManager/ClickManager");
276
278
  var import_EdgeScrollManager = require("./lib/editor/managers/EdgeScrollManager/EdgeScrollManager");
277
279
  var import_FontManager = require("./lib/editor/managers/FontManager/FontManager");
@@ -283,16 +285,16 @@ var import_SnapManager = require("./lib/editor/managers/SnapManager/SnapManager"
283
285
  var import_TextManager = require("./lib/editor/managers/TextManager/TextManager");
284
286
  var import_UserPreferencesManager = require("./lib/editor/managers/UserPreferencesManager/UserPreferencesManager");
285
287
  var import_BaseBoxShapeUtil = require("./lib/editor/shapes/BaseBoxShapeUtil");
286
- var import_ShapeUtil = require("./lib/editor/shapes/ShapeUtil");
287
288
  var import_GroupShapeUtil = require("./lib/editor/shapes/group/GroupShapeUtil");
289
+ var import_ShapeUtil = require("./lib/editor/shapes/ShapeUtil");
288
290
  var import_getPerfectDashProps = require("./lib/editor/shapes/shared/getPerfectDashProps");
289
291
  var import_resizeBox = require("./lib/editor/shapes/shared/resizeBox");
290
292
  var import_resizeScaled = require("./lib/editor/shapes/shared/resizeScaled");
291
293
  var import_BaseBoxShapeTool = require("./lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool");
292
294
  var import_Pointing = require("./lib/editor/tools/BaseBoxShapeTool/children/Pointing");
293
295
  var import_StateNode = require("./lib/editor/tools/StateNode");
294
- var import_SvgExportContext = require("./lib/editor/types/SvgExportContext");
295
296
  var import_event_types = require("./lib/editor/types/event-types");
297
+ var import_SvgExportContext = require("./lib/editor/types/SvgExportContext");
296
298
  var import_getSvgAsImage = require("./lib/exports/getSvgAsImage");
297
299
  var import_environment = require("./lib/globals/environment");
298
300
  var import_menus = require("./lib/globals/menus");
@@ -321,8 +323,6 @@ var import_useViewportHeight = require("./lib/hooks/useViewportHeight");
321
323
  var import_LicenseManager = require("./lib/license/LicenseManager");
322
324
  var import_options = require("./lib/options");
323
325
  var import_Box = require("./lib/primitives/Box");
324
- var import_Mat = require("./lib/primitives/Mat");
325
- var import_Vec = require("./lib/primitives/Vec");
326
326
  var import_easings = require("./lib/primitives/easings");
327
327
  var import_Arc2d = require("./lib/primitives/geometry/Arc2d");
328
328
  var import_Circle2d = require("./lib/primitives/geometry/Circle2d");
@@ -330,6 +330,7 @@ var import_CubicBezier2d = require("./lib/primitives/geometry/CubicBezier2d");
330
330
  var import_CubicSpline2d = require("./lib/primitives/geometry/CubicSpline2d");
331
331
  var import_Edge2d = require("./lib/primitives/geometry/Edge2d");
332
332
  var import_Ellipse2d = require("./lib/primitives/geometry/Ellipse2d");
333
+ var import_geometry_constants = require("./lib/primitives/geometry/geometry-constants");
333
334
  var import_Geometry2d = require("./lib/primitives/geometry/Geometry2d");
334
335
  var import_Group2d = require("./lib/primitives/geometry/Group2d");
335
336
  var import_Point2d = require("./lib/primitives/geometry/Point2d");
@@ -338,8 +339,10 @@ var import_Polyline2d = require("./lib/primitives/geometry/Polyline2d");
338
339
  var import_Rectangle2d = require("./lib/primitives/geometry/Rectangle2d");
339
340
  var import_Stadium2d = require("./lib/primitives/geometry/Stadium2d");
340
341
  var import_intersect = require("./lib/primitives/intersect");
342
+ var import_Mat = require("./lib/primitives/Mat");
341
343
  var import_utils2 = require("./lib/primitives/utils");
342
- var import_SharedStylesMap = require("./lib/utils/SharedStylesMap");
344
+ var import_Vec = require("./lib/primitives/Vec");
345
+ var import_TldrawEditor = require("./lib/TldrawEditor");
343
346
  var import_assets = require("./lib/utils/assets");
344
347
  var import_browserCanvasMaxSize = require("./lib/utils/browserCanvasMaxSize");
345
348
  var import_debug_flags = require("./lib/utils/debug-flags");
@@ -356,8 +359,9 @@ var import_reparenting = require("./lib/utils/reparenting");
356
359
  var import_richText = require("./lib/utils/richText");
357
360
  var import_rotation = require("./lib/utils/rotation");
358
361
  var import_runtime = require("./lib/utils/runtime");
359
- var import_LocalIndexedDb = require("./lib/utils/sync/LocalIndexedDb");
362
+ var import_SharedStylesMap = require("./lib/utils/SharedStylesMap");
360
363
  var import_hardReset = require("./lib/utils/sync/hardReset");
364
+ var import_LocalIndexedDb = require("./lib/utils/sync/LocalIndexedDb");
361
365
  var import_uniq = require("./lib/utils/uniq");
362
366
  var import_window_open = require("./lib/utils/window-open");
363
367
  function debugEnableLicensing() {
@@ -365,7 +369,7 @@ function debugEnableLicensing() {
365
369
  }
366
370
  (0, import_utils.registerTldrawLibraryVersion)(
367
371
  "@tldraw/editor",
368
- "3.15.0-next.f1dfcef63951",
372
+ "3.16.0-next.c30b1b5e551a",
369
373
  "cjs"
370
374
  );
371
375
  //# sourceMappingURL=index.js.map