tldraw 4.4.0 → 4.5.0-canary.034ea85352da

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 (180) hide show
  1. package/dist-cjs/index.d.ts +166 -142
  2. package/dist-cjs/index.js +3 -2
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/bindings/arrow/ArrowBindingUtil.js +2 -1
  5. package/dist-cjs/lib/bindings/arrow/ArrowBindingUtil.js.map +2 -2
  6. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +10 -9
  7. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  8. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +5 -5
  9. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
  10. package/dist-cjs/lib/shapes/arrow/getArrowInfo.js +72 -0
  11. package/dist-cjs/lib/shapes/arrow/getArrowInfo.js.map +7 -0
  12. package/dist-cjs/lib/shapes/arrow/shared.js +0 -46
  13. package/dist-cjs/lib/shapes/arrow/shared.js.map +2 -2
  14. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +1 -0
  15. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  16. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +1 -1
  17. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +2 -2
  18. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +2 -9
  19. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  20. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +2 -2
  21. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +2 -2
  22. package/dist-cjs/lib/shapes/frame/frameHelpers.js +8 -2
  23. package/dist-cjs/lib/shapes/frame/frameHelpers.js.map +2 -2
  24. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +4 -2
  25. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  26. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +1 -0
  27. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +2 -2
  28. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +1 -0
  29. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  30. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +1 -0
  31. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  32. package/dist-cjs/lib/shapes/shared/crop.js +4 -2
  33. package/dist-cjs/lib/shapes/shared/crop.js.map +2 -2
  34. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js +5 -15
  35. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js.map +2 -2
  36. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +1 -1
  37. package/dist-cjs/lib/shapes/shared/legacyProps.js +1 -0
  38. package/dist-cjs/lib/shapes/shared/legacyProps.js.map +2 -2
  39. package/dist-cjs/lib/shapes/text/RichTextArea.js +2 -0
  40. package/dist-cjs/lib/shapes/text/RichTextArea.js.map +2 -2
  41. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +1 -1
  42. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js +1 -0
  43. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js.map +2 -2
  44. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +1 -0
  45. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  46. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +4 -1
  47. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  48. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +1 -1
  49. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  50. package/dist-cjs/lib/tools/selection-logic/updateHoveredShapeId.js +4 -3
  51. package/dist-cjs/lib/tools/selection-logic/updateHoveredShapeId.js.map +2 -2
  52. package/dist-cjs/lib/ui/components/A11y.js +1 -0
  53. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  54. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +1 -0
  55. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js.map +2 -2
  56. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +1 -1
  57. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +2 -2
  58. package/dist-cjs/lib/ui/components/menu-items.js +9 -34
  59. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  60. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +2 -1
  61. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js.map +2 -2
  62. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +1 -0
  63. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  64. package/dist-cjs/lib/ui/hooks/menu-hooks.js +5 -0
  65. package/dist-cjs/lib/ui/hooks/menu-hooks.js.map +2 -2
  66. package/dist-cjs/lib/ui/version.js +3 -3
  67. package/dist-cjs/lib/ui/version.js.map +1 -1
  68. package/dist-cjs/lib/utils/embeds/embeds.js +4 -2
  69. package/dist-cjs/lib/utils/embeds/embeds.js.map +2 -2
  70. package/dist-esm/index.d.mts +166 -142
  71. package/dist-esm/index.mjs +2 -2
  72. package/dist-esm/index.mjs.map +2 -2
  73. package/dist-esm/lib/bindings/arrow/ArrowBindingUtil.mjs +2 -1
  74. package/dist-esm/lib/bindings/arrow/ArrowBindingUtil.mjs.map +2 -2
  75. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +1 -1
  76. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  77. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +1 -1
  78. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +1 -1
  79. package/dist-esm/lib/shapes/arrow/getArrowInfo.mjs +54 -0
  80. package/dist-esm/lib/shapes/arrow/getArrowInfo.mjs.map +7 -0
  81. package/dist-esm/lib/shapes/arrow/shared.mjs +0 -47
  82. package/dist-esm/lib/shapes/arrow/shared.mjs.map +2 -2
  83. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +1 -0
  84. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  85. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +1 -1
  86. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +2 -2
  87. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +2 -8
  88. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  89. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +1 -1
  90. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +1 -1
  91. package/dist-esm/lib/shapes/frame/frameHelpers.mjs +7 -1
  92. package/dist-esm/lib/shapes/frame/frameHelpers.mjs.map +2 -2
  93. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +4 -2
  94. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  95. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +1 -0
  96. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  97. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +1 -0
  98. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  99. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +1 -0
  100. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  101. package/dist-esm/lib/shapes/shared/crop.mjs +4 -2
  102. package/dist-esm/lib/shapes/shared/crop.mjs.map +2 -2
  103. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs +5 -15
  104. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs.map +2 -2
  105. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +1 -1
  106. package/dist-esm/lib/shapes/shared/legacyProps.mjs +1 -0
  107. package/dist-esm/lib/shapes/shared/legacyProps.mjs.map +2 -2
  108. package/dist-esm/lib/shapes/text/RichTextArea.mjs +2 -0
  109. package/dist-esm/lib/shapes/text/RichTextArea.mjs.map +2 -2
  110. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +1 -1
  111. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs +1 -0
  112. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs.map +2 -2
  113. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +1 -0
  114. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  115. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +4 -1
  116. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  117. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +1 -1
  118. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  119. package/dist-esm/lib/tools/selection-logic/updateHoveredShapeId.mjs +4 -3
  120. package/dist-esm/lib/tools/selection-logic/updateHoveredShapeId.mjs.map +2 -2
  121. package/dist-esm/lib/ui/components/A11y.mjs +1 -0
  122. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  123. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs +1 -0
  124. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs.map +2 -2
  125. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +1 -1
  126. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +2 -2
  127. package/dist-esm/lib/ui/components/menu-items.mjs +10 -34
  128. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  129. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs +2 -1
  130. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs.map +2 -2
  131. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +1 -0
  132. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  133. package/dist-esm/lib/ui/hooks/menu-hooks.mjs +5 -0
  134. package/dist-esm/lib/ui/hooks/menu-hooks.mjs.map +2 -2
  135. package/dist-esm/lib/ui/version.mjs +3 -3
  136. package/dist-esm/lib/ui/version.mjs.map +1 -1
  137. package/dist-esm/lib/utils/embeds/embeds.mjs +4 -2
  138. package/dist-esm/lib/utils/embeds/embeds.mjs.map +2 -2
  139. package/package.json +3 -3
  140. package/src/index.ts +1 -1
  141. package/src/lib/bindings/arrow/ArrowBindingUtil.ts +2 -1
  142. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +2 -1
  143. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +1 -1
  144. package/src/lib/shapes/arrow/arrowLabel.ts +1 -1
  145. package/src/lib/shapes/arrow/getArrowInfo.ts +60 -0
  146. package/src/lib/shapes/arrow/shared.ts +0 -53
  147. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +2 -0
  148. package/src/lib/shapes/draw/toolStates/Drawing.ts +3 -1
  149. package/src/lib/shapes/frame/FrameShapeUtil.tsx +1 -7
  150. package/src/lib/shapes/frame/components/FrameLabelInput.tsx +1 -1
  151. package/src/lib/shapes/frame/frameHelpers.ts +7 -1
  152. package/src/lib/shapes/geo/GeoShapeUtil.tsx +6 -2
  153. package/src/lib/shapes/image/ImageShapeUtil.tsx +1 -0
  154. package/src/lib/shapes/note/NoteShapeUtil.tsx +2 -0
  155. package/src/lib/shapes/shared/RichTextLabel.tsx +1 -0
  156. package/src/lib/shapes/shared/crop.ts +3 -1
  157. package/src/lib/shapes/shared/freehand/getStrokePoints.ts +8 -18
  158. package/src/lib/shapes/shared/freehand/svg.ts +1 -1
  159. package/src/lib/shapes/shared/legacyProps.ts +1 -0
  160. package/src/lib/shapes/text/RichTextArea.tsx +2 -0
  161. package/src/lib/tools/SelectTool/childStates/Idle.ts +1 -1
  162. package/src/lib/tools/SelectTool/childStates/PointingHandle.ts +1 -0
  163. package/src/lib/tools/SelectTool/childStates/Resizing.ts +2 -0
  164. package/src/lib/tools/SelectTool/childStates/Rotating.ts +4 -1
  165. package/src/lib/tools/SelectTool/childStates/Translating.ts +1 -1
  166. package/src/lib/tools/selection-logic/updateHoveredShapeId.ts +4 -3
  167. package/src/lib/ui/components/A11y.tsx +1 -0
  168. package/src/lib/ui/components/Minimap/DefaultMinimap.tsx +1 -0
  169. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +1 -1
  170. package/src/lib/ui/components/menu-items.tsx +10 -34
  171. package/src/lib/ui/components/primitives/TldrawUiInput.tsx +3 -1
  172. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +1 -0
  173. package/src/lib/ui/hooks/menu-hooks.ts +6 -0
  174. package/src/lib/ui/version.ts +3 -3
  175. package/src/lib/utils/embeds/embeds.ts +4 -2
  176. package/src/test/TLSessionStateSnapshot.test.ts +15 -0
  177. package/src/test/commands/putContent.test.ts +39 -0
  178. package/src/test/crop.test.ts +76 -1
  179. package/src/test/paste.test.ts +121 -1
  180. package/src/test/test-jsx.tsx +1 -1
@@ -8,6 +8,7 @@ import { BindingOnShapeIsolateOptions } from '@tldraw/editor';
8
8
  import { BindingUtil } from '@tldraw/editor';
9
9
  import { Box } from '@tldraw/editor';
10
10
  import { Circle2d } from '@tldraw/editor';
11
+ import { ClipboardEvent as ClipboardEvent_2 } from 'react';
11
12
  import { ComponentType } from 'react';
12
13
  import { CSSProperties } from 'react';
13
14
  import { DebugFlag } from '@tldraw/editor';
@@ -23,16 +24,19 @@ import { Geometry2dOptions } from '@tldraw/editor';
23
24
  import { Group2d } from '@tldraw/editor';
24
25
  import { HandleSnapGeometry } from '@tldraw/editor';
25
26
  import { HTMLAttributes } from 'react';
26
- import { IndexKey } from '@tldraw/editor';
27
- import { JsonObject } from '@tldraw/editor';
27
+ import { IndexKey } from '@tldraw/utils';
28
+ import { IndexKey as IndexKey_2 } from '@tldraw/editor';
29
+ import { JsonObject } from '@tldraw/utils';
28
30
  import { JSX } from 'react/jsx-runtime';
31
+ import { JSX as JSX_2 } from 'react';
29
32
  import { JSXElementConstructor } from 'react';
30
33
  import { LANGUAGES } from '@tldraw/editor';
31
34
  import { MigrationFailureReason } from '@tldraw/editor';
32
- import { MigrationSequence } from '@tldraw/editor';
35
+ import { MigrationSequence } from '@tldraw/store';
33
36
  import { NamedExoticComponent } from 'react';
34
37
  import { Node as Node_2 } from '@tiptap/pm/model';
35
38
  import { PerfectDashTerminal } from '@tldraw/editor';
39
+ import { PointerEvent as PointerEvent_2 } from 'react';
36
40
  import { Polygon2d } from '@tldraw/editor';
37
41
  import { Polyline2d } from '@tldraw/editor';
38
42
  import * as React_2 from 'react';
@@ -41,7 +45,7 @@ import { ReactElement } from 'react';
41
45
  import { ReactNode } from 'react';
42
46
  import { ReactPortal } from 'react';
43
47
  import { ReadonlySharedStyleMap } from '@tldraw/editor';
44
- import { RecordProps } from '@tldraw/editor';
48
+ import { RecordProps } from '@tldraw/tlschema';
45
49
  import { Rectangle2d } from '@tldraw/editor';
46
50
  import { RecursivePartial } from '@tldraw/editor';
47
51
  import { RefAttributes } from 'react';
@@ -73,14 +77,11 @@ import { TLBookmarkShapeProps } from '@tldraw/editor';
73
77
  import { TLClickEventInfo } from '@tldraw/editor';
74
78
  import { TLContent } from '@tldraw/editor';
75
79
  import { TLCropInfo } from '@tldraw/editor';
76
- import { TLDefaultColorStyle } from '@tldraw/editor';
77
- import { TLDefaultColorThemeColor } from '@tldraw/editor';
78
- import { TLDefaultDashStyle } from '@tldraw/editor';
80
+ import { TLDefaultColorThemeColor } from '@tldraw/tlschema';
79
81
  import { TLDefaultFillStyle } from '@tldraw/editor';
80
82
  import { TLDefaultFontStyle } from '@tldraw/editor';
81
83
  import { TLDefaultHorizontalAlignStyle } from '@tldraw/editor';
82
84
  import { TLDefaultSizeStyle } from '@tldraw/editor';
83
- import { TLDefaultTextAlignStyle } from '@tldraw/editor';
84
85
  import { TLDefaultVerticalAlignStyle } from '@tldraw/editor';
85
86
  import { TLDragShapesOutInfo } from '@tldraw/editor';
86
87
  import { TLDragShapesOverInfo } from '@tldraw/editor';
@@ -103,7 +104,6 @@ import { TLFrameShape } from '@tldraw/editor';
103
104
  import { TLFrameShapeProps } from '@tldraw/editor';
104
105
  import { TLGeometryOpts } from '@tldraw/editor';
105
106
  import { TLGeoShape } from '@tldraw/editor';
106
- import { TLGeoShapeGeoStyle } from '@tldraw/editor';
107
107
  import { TLGeoShapeProps } from '@tldraw/editor';
108
108
  import { TLHandle } from '@tldraw/editor';
109
109
  import { TLHandleDragInfo } from '@tldraw/editor';
@@ -117,14 +117,12 @@ import { TLImageShapeProps } from '@tldraw/editor';
117
117
  import { TLKeyboardEventInfo } from '@tldraw/editor';
118
118
  import { TLLineShape } from '@tldraw/editor';
119
119
  import { TLLineShapePoint } from '@tldraw/editor';
120
- import { TLLineShapeSplineStyle } from '@tldraw/editor';
121
120
  import { TLNoteShape } from '@tldraw/editor';
122
121
  import { TLNoteShapeProps } from '@tldraw/editor';
123
- import { TLOpacityType } from '@tldraw/editor';
124
122
  import { TLPageId } from '@tldraw/editor';
125
- import { TLParentId } from '@tldraw/editor';
123
+ import { TLParentId } from '@tldraw/tlschema';
126
124
  import { TLPointerEventInfo } from '@tldraw/editor';
127
- import { TLPropsMigrations } from '@tldraw/editor';
125
+ import { TLPropsMigrations } from '@tldraw/tlschema';
128
126
  import { TLResizeInfo } from '@tldraw/editor';
129
127
  import { TLRichText } from '@tldraw/editor';
130
128
  import { TLSchema } from '@tldraw/editor';
@@ -133,6 +131,7 @@ import { TLSelectionForegroundProps } from '@tldraw/editor';
133
131
  import { TLShape } from '@tldraw/editor';
134
132
  import { TLShapeCrop } from '@tldraw/editor';
135
133
  import { TLShapeId } from '@tldraw/editor';
134
+ import { TLShapeId as TLShapeId_2 } from '@tldraw/tlschema';
136
135
  import { TLShapePartial } from '@tldraw/editor';
137
136
  import { TLShapeUtilCanBeLaidOutOpts } from '@tldraw/editor';
138
137
  import { TLShapeUtilCanBindOpts } from '@tldraw/editor';
@@ -150,6 +149,7 @@ import { UnknownRecord } from '@tldraw/editor';
150
149
  import { Vec } from '@tldraw/editor';
151
150
  import { VecLike } from '@tldraw/editor';
152
151
  import { VecModel } from '@tldraw/editor';
152
+ import { VecModel as VecModel_2 } from '@tldraw/tlschema';
153
153
 
154
154
  /** @public */
155
155
  export declare type A11yPriority = 'assertive' | 'polite';
@@ -193,9 +193,9 @@ export declare class ArrowBindingUtil extends BindingUtil<TLArrowBinding> {
193
193
  getDefaultProps(): Partial<TLArrowBindingProps>;
194
194
  onAfterCreate({ binding }: BindingOnCreateOptions<TLArrowBinding>): void;
195
195
  onAfterChange({ bindingAfter }: BindingOnChangeOptions<TLArrowBinding>): void;
196
- onAfterChangeFromShape({ shapeBefore, shapeAfter, reason, }: BindingOnShapeChangeOptions<TLArrowBinding>): void;
197
- onAfterChangeToShape({ binding, shapeBefore, shapeAfter, reason, }: BindingOnShapeChangeOptions<TLArrowBinding>): void;
198
- onBeforeIsolateFromShape({ binding, }: BindingOnShapeIsolateOptions<TLArrowBinding>): void;
196
+ onAfterChangeFromShape({ shapeBefore, shapeAfter, reason }: BindingOnShapeChangeOptions<TLArrowBinding>): void;
197
+ onAfterChangeToShape({ binding, shapeBefore, shapeAfter, reason }: BindingOnShapeChangeOptions<TLArrowBinding>): void;
198
+ onBeforeIsolateFromShape({ binding }: BindingOnShapeIsolateOptions<TLArrowBinding>): void;
199
199
  }
200
200
 
201
201
  /** @public @react */
@@ -329,18 +329,18 @@ export declare class ArrowShapeUtil extends ShapeUtil<TLArrowShape> {
329
329
  getHandles(shape: TLArrowShape): TLHandle[];
330
330
  getText(shape: TLArrowShape): string;
331
331
  onHandleDrag(shape: TLArrowShape, info: TLHandleDragInfo<TLArrowShape>): ({
332
- id: TLShapeId;
332
+ id: TLShapeId_2;
333
333
  meta?: Partial<JsonObject> | undefined;
334
334
  props?: Partial<TLArrowShapeProps> | undefined;
335
335
  type: "arrow";
336
336
  } & Partial<Omit<TLArrowShape, "id" | "meta" | "props" | "type">>) | {
337
- id: TLShapeId;
337
+ id: TLShapeId_2;
338
338
  props: {
339
339
  bend: number;
340
340
  };
341
341
  type: "arrow";
342
342
  } | {
343
- id: TLShapeId;
343
+ id: TLShapeId_2;
344
344
  props: {
345
345
  elbowMidPoint: number;
346
346
  };
@@ -350,7 +350,7 @@ export declare class ArrowShapeUtil extends ShapeUtil<TLArrowShape> {
350
350
  private onElbowMidpointHandleDrag;
351
351
  private onTerminalHandleDrag;
352
352
  onTranslateStart(shape: TLArrowShape): ({
353
- id: TLShapeId;
353
+ id: TLShapeId_2;
354
354
  meta?: Partial<JsonObject> | undefined;
355
355
  props?: Partial<TLArrowShapeProps> | undefined;
356
356
  type: "arrow";
@@ -360,8 +360,8 @@ export declare class ArrowShapeUtil extends ShapeUtil<TLArrowShape> {
360
360
  onResize(shape: TLArrowShape, info: TLResizeInfo<TLArrowShape>): {
361
361
  props: {
362
362
  bend: number;
363
- end: VecModel;
364
- start: VecModel;
363
+ end: VecModel_2;
364
+ start: VecModel_2;
365
365
  };
366
366
  };
367
367
  onDoubleClickHandle(shape: TLArrowShape, handle: TLHandle): TLShapePartial<TLArrowShape> | void;
@@ -458,11 +458,11 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
458
458
  useLegacyIndicator(): boolean;
459
459
  getIndicatorPath(shape: TLBookmarkShape): Path2D;
460
460
  onBeforeCreate(next: TLBookmarkShape): {
461
- id: TLShapeId;
461
+ id: TLShapeId_2;
462
462
  index: IndexKey;
463
463
  isLocked: boolean;
464
464
  meta: JsonObject;
465
- opacity: TLOpacityType;
465
+ opacity: number;
466
466
  parentId: TLParentId;
467
467
  props: {
468
468
  assetId: null | TLAssetId;
@@ -477,11 +477,11 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
477
477
  y: number;
478
478
  };
479
479
  onBeforeUpdate(prev: TLBookmarkShape, shape: TLBookmarkShape): {
480
- id: TLShapeId;
480
+ id: TLShapeId_2;
481
481
  index: IndexKey;
482
482
  isLocked: boolean;
483
483
  meta: JsonObject;
484
- opacity: TLOpacityType;
484
+ opacity: number;
485
485
  parentId: TLParentId;
486
486
  props: {
487
487
  assetId: null | TLAssetId;
@@ -516,7 +516,7 @@ export declare interface BreakPointProviderProps {
516
516
  /* Excluded from this release type: buildFromV1Document */
517
517
 
518
518
  /** @public @react */
519
- export declare function CenteredTopPanelContainer({ maxWidth, ignoreRightWidth, stylePanelWidth, marginBetweenZones, squeezeAmount, children, }: CenteredTopPanelContainerProps): JSX.Element;
519
+ export declare function CenteredTopPanelContainer({ maxWidth, ignoreRightWidth, stylePanelWidth, marginBetweenZones, squeezeAmount, children }: CenteredTopPanelContainerProps): JSX.Element;
520
520
 
521
521
  /** @public */
522
522
  export declare interface CenteredTopPanelContainerProps {
@@ -609,7 +609,7 @@ export declare function CopyMenuItem(): JSX.Element;
609
609
  * @returns A Result containing the created bookmark shape or an error
610
610
  * @public
611
611
  */
612
- export declare function createBookmarkFromUrl(editor: Editor, { url, center, }: {
612
+ export declare function createBookmarkFromUrl(editor: Editor, { url, center }: {
613
613
  center?: {
614
614
  x: number;
615
615
  y: number;
@@ -923,7 +923,7 @@ export declare function DefaultContextMenuContent(): JSX.Element | null;
923
923
  export declare function DefaultDebugMenu({ children }: TLUiDebugMenuProps): JSX.Element;
924
924
 
925
925
  /** @public @react */
926
- export declare function DefaultDebugMenuContent({ customDebugFlags, customFeatureFlags, }: CustomDebugFlags): JSX.Element;
926
+ export declare function DefaultDebugMenuContent({ customDebugFlags, customFeatureFlags }: CustomDebugFlags): JSX.Element;
927
927
 
928
928
  /** @public @react */
929
929
  export declare const DefaultDialogs: NamedExoticComponent<object>;
@@ -1059,7 +1059,7 @@ export declare const DefaultRichTextToolbar: React_3.NamedExoticComponent<TLUiRi
1059
1059
  *
1060
1060
  * @public @react
1061
1061
  */
1062
- export declare function DefaultRichTextToolbarContent({ textEditor, onEditLinkStart, }: DefaultRichTextToolbarContentProps): JSX.Element[];
1062
+ export declare function DefaultRichTextToolbarContent({ textEditor, onEditLinkStart }: DefaultRichTextToolbarContentProps): JSX.Element[];
1063
1063
 
1064
1064
  /** @public */
1065
1065
  export declare interface DefaultRichTextToolbarContentProps {
@@ -1157,8 +1157,8 @@ export declare function DistributeMenuItems(): JSX.Element;
1157
1157
  * @public
1158
1158
  */
1159
1159
  export declare function downsizeImage(blob: Blob, width: number, height: number, opts?: {
1160
- quality?: number;
1161
- type?: string;
1160
+ quality?: number | undefined;
1161
+ type?: string | undefined;
1162
1162
  }): Promise<Blob>;
1163
1163
 
1164
1164
  /** @public */
@@ -1554,7 +1554,7 @@ export declare interface EventsProviderProps {
1554
1554
  }
1555
1555
 
1556
1556
  /** @public @react */
1557
- export declare function ExampleDialog({ title, body, cancel, confirm, displayDontShowAgain, maxWidth, onCancel, onContinue, }: ExampleDialogProps): JSX.Element;
1557
+ export declare function ExampleDialog({ title, body, cancel, confirm, displayDontShowAgain, maxWidth, onCancel, onContinue }: ExampleDialogProps): JSX.Element;
1558
1558
 
1559
1559
  /** @public */
1560
1560
  export declare interface ExampleDialogProps {
@@ -1671,7 +1671,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1671
1671
  onResize(shape: any, info: TLResizeInfo<any>): any;
1672
1672
  getInterpolatedProps(startShape: TLFrameShape, endShape: TLFrameShape, t: number): TLFrameShapeProps;
1673
1673
  onDoubleClickEdge(shape: TLFrameShape, info: TLClickEventInfo): {
1674
- id: TLShapeId;
1674
+ id: TLShapeId_2;
1675
1675
  props: {
1676
1676
  h: number;
1677
1677
  w: number;
@@ -1679,7 +1679,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1679
1679
  type: "frame";
1680
1680
  } | undefined;
1681
1681
  onDoubleClickCorner(shape: TLFrameShape): {
1682
- id: TLShapeId;
1682
+ id: TLShapeId_2;
1683
1683
  type: "frame";
1684
1684
  };
1685
1685
  onDragShapesIn(shape: TLFrameShape, draggingShapes: TLShape[], { initialParentIds, initialIndices }: TLDragShapesOverInfo): void;
@@ -1727,27 +1727,31 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1727
1727
  y: number;
1728
1728
  };
1729
1729
  onBeforeCreate(shape: TLGeoShape): {
1730
- id: TLShapeId;
1730
+ id: TLShapeId_2;
1731
1731
  index: IndexKey;
1732
1732
  isLocked: boolean;
1733
1733
  meta: JsonObject;
1734
- opacity: TLOpacityType;
1734
+ opacity: number;
1735
1735
  parentId: TLParentId;
1736
1736
  props: {
1737
- align: TLDefaultHorizontalAlignStyle;
1738
- color: TLDefaultColorStyle;
1739
- dash: TLDefaultDashStyle;
1740
- fill: TLDefaultFillStyle;
1741
- font: TLDefaultFontStyle;
1742
- geo: TLGeoShapeGeoStyle;
1737
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
1738
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1739
+ dash: "dashed" | "dotted" | "draw" | "solid";
1740
+ fill: "fill" | "lined-fill" | "none" | "pattern" | "semi" | "solid";
1741
+ font: "draw" | "mono" | "sans" | "serif";
1742
+ geo: "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "check-box" | "cloud" | "diamond" | "ellipse" | "heart" | "hexagon" | "octagon" | "oval" | "pentagon" | "rectangle" | "rhombus-2" | "rhombus" | "star" | "trapezoid" | "triangle" | "x-box";
1743
1743
  growY: number;
1744
1744
  h: number;
1745
- labelColor: TLDefaultColorStyle;
1746
- richText: TLRichText;
1745
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1746
+ richText: {
1747
+ attrs?: any;
1748
+ content: unknown[];
1749
+ type: string;
1750
+ };
1747
1751
  scale: number;
1748
- size: TLDefaultSizeStyle;
1752
+ size: "l" | "m" | "s" | "xl";
1749
1753
  url: string;
1750
- verticalAlign: TLDefaultVerticalAlignStyle;
1754
+ verticalAlign: "end" | "middle" | "start";
1751
1755
  w: number;
1752
1756
  };
1753
1757
  rotation: number;
@@ -1757,27 +1761,31 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1757
1761
  y: number;
1758
1762
  } | undefined;
1759
1763
  onBeforeUpdate(prev: TLGeoShape, next: TLGeoShape): {
1760
- id: TLShapeId;
1764
+ id: TLShapeId_2;
1761
1765
  index: IndexKey;
1762
1766
  isLocked: boolean;
1763
1767
  meta: JsonObject;
1764
- opacity: TLOpacityType;
1768
+ opacity: number;
1765
1769
  parentId: TLParentId;
1766
1770
  props: {
1767
- align: TLDefaultHorizontalAlignStyle;
1768
- color: TLDefaultColorStyle;
1769
- dash: TLDefaultDashStyle;
1770
- fill: TLDefaultFillStyle;
1771
- font: TLDefaultFontStyle;
1772
- geo: TLGeoShapeGeoStyle;
1771
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
1772
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1773
+ dash: "dashed" | "dotted" | "draw" | "solid";
1774
+ fill: "fill" | "lined-fill" | "none" | "pattern" | "semi" | "solid";
1775
+ font: "draw" | "mono" | "sans" | "serif";
1776
+ geo: "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "check-box" | "cloud" | "diamond" | "ellipse" | "heart" | "hexagon" | "octagon" | "oval" | "pentagon" | "rectangle" | "rhombus-2" | "rhombus" | "star" | "trapezoid" | "triangle" | "x-box";
1773
1777
  growY: number;
1774
1778
  h: number;
1775
- labelColor: TLDefaultColorStyle;
1776
- richText: TLRichText;
1779
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1780
+ richText: {
1781
+ attrs?: any;
1782
+ content: unknown[];
1783
+ type: string;
1784
+ };
1777
1785
  scale: number;
1778
- size: TLDefaultSizeStyle;
1786
+ size: "l" | "m" | "s" | "xl";
1779
1787
  url: string;
1780
- verticalAlign: TLDefaultVerticalAlignStyle;
1788
+ verticalAlign: "end" | "middle" | "start";
1781
1789
  w: number;
1782
1790
  };
1783
1791
  rotation: number;
@@ -1787,11 +1795,11 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1787
1795
  y: number;
1788
1796
  } | undefined;
1789
1797
  onDoubleClick(shape: TLGeoShape): {
1790
- id: TLShapeId;
1798
+ id: TLShapeId_2;
1791
1799
  index: IndexKey;
1792
1800
  isLocked: boolean;
1793
1801
  meta: JsonObject;
1794
- opacity: TLOpacityType;
1802
+ opacity: number;
1795
1803
  parentId: TLParentId;
1796
1804
  props: {
1797
1805
  geo: "check-box";
@@ -1802,11 +1810,11 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1802
1810
  x: number;
1803
1811
  y: number;
1804
1812
  } | {
1805
- id: TLShapeId;
1813
+ id: TLShapeId_2;
1806
1814
  index: IndexKey;
1807
1815
  isLocked: boolean;
1808
1816
  meta: JsonObject;
1809
- opacity: TLOpacityType;
1817
+ opacity: number;
1810
1818
  parentId: TLParentId;
1811
1819
  props: {
1812
1820
  geo: "rectangle";
@@ -1913,7 +1921,7 @@ export declare function getStrokeOutlinePoints(strokePoints: StrokePoint[], opti
1913
1921
  export declare function getStrokePoints(rawInputPoints: VecLike[], options?: StrokeOptions): StrokePoint[];
1914
1922
 
1915
1923
  /**
1916
- * Turn an array of stroke points into a path of quadradic curves.
1924
+ * Turn an array of stroke points into a path of quadratic curves.
1917
1925
  *
1918
1926
  * @param points - The stroke points returned from perfect-freehand
1919
1927
  * @param closed - Whether the shape is closed
@@ -2106,15 +2114,15 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
2106
2114
  };
2107
2115
  onBeforeCreate(next: TLLineShape): TLLineShape | void;
2108
2116
  onHandleDrag(shape: TLLineShape, { handle }: TLHandleDragInfo<TLLineShape>): {
2109
- id: TLShapeId;
2117
+ id: TLShapeId_2;
2110
2118
  index: IndexKey;
2111
2119
  isLocked: boolean;
2112
2120
  meta: JsonObject;
2113
- opacity: TLOpacityType;
2121
+ opacity: number;
2114
2122
  parentId: TLParentId;
2115
2123
  props: {
2116
- color: TLDefaultColorStyle;
2117
- dash: TLDefaultDashStyle;
2124
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2125
+ dash: "dashed" | "dotted" | "draw" | "solid";
2118
2126
  points: {
2119
2127
  [x: string]: {
2120
2128
  id: string;
@@ -2124,8 +2132,8 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
2124
2132
  } | TLLineShapePoint;
2125
2133
  };
2126
2134
  scale: number;
2127
- size: TLDefaultSizeStyle;
2128
- spline: TLLineShapeSplineStyle;
2135
+ size: "l" | "m" | "s" | "xl";
2136
+ spline: "cubic" | "line";
2129
2137
  };
2130
2138
  rotation: number;
2131
2139
  type: "line";
@@ -2134,15 +2142,15 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
2134
2142
  y: number;
2135
2143
  };
2136
2144
  onHandleDragStart(shape: TLLineShape, { handle }: TLHandleDragInfo<TLLineShape>): {
2137
- id: TLShapeId;
2145
+ id: TLShapeId_2;
2138
2146
  index: IndexKey;
2139
2147
  isLocked: boolean;
2140
2148
  meta: JsonObject;
2141
- opacity: TLOpacityType;
2149
+ opacity: number;
2142
2150
  parentId: TLParentId;
2143
2151
  props: {
2144
- color: TLDefaultColorStyle;
2145
- dash: TLDefaultDashStyle;
2152
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2153
+ dash: "dashed" | "dotted" | "draw" | "solid";
2146
2154
  points: {
2147
2155
  [x: string]: {
2148
2156
  id: IndexKey;
@@ -2152,8 +2160,8 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
2152
2160
  } | TLLineShapePoint;
2153
2161
  };
2154
2162
  scale: number;
2155
- size: TLDefaultSizeStyle;
2156
- spline: TLLineShapeSplineStyle;
2163
+ size: "l" | "m" | "s" | "xl";
2164
+ spline: "cubic" | "line";
2157
2165
  };
2158
2166
  rotation: number;
2159
2167
  type: "line";
@@ -2235,23 +2243,27 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2235
2243
  toSvg(shape: TLNoteShape, ctx: SvgExportContext): JSX.Element;
2236
2244
  onBeforeCreate(next: TLNoteShape): {
2237
2245
  id: TLShapeId;
2238
- index: IndexKey;
2246
+ index: IndexKey_2;
2239
2247
  isLocked: boolean;
2240
2248
  meta: JsonObject;
2241
- opacity: TLOpacityType;
2249
+ opacity: number;
2242
2250
  parentId: TLParentId;
2243
2251
  props: {
2244
- align: TLDefaultHorizontalAlignStyle;
2245
- color: TLDefaultColorStyle;
2246
- font: TLDefaultFontStyle;
2252
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
2253
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2254
+ font: "draw" | "mono" | "sans" | "serif";
2247
2255
  fontSizeAdjustment: number;
2248
2256
  growY: number;
2249
- labelColor: TLDefaultColorStyle;
2250
- richText: TLRichText;
2257
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2258
+ richText: {
2259
+ attrs?: any;
2260
+ content: unknown[];
2261
+ type: string;
2262
+ };
2251
2263
  scale: number;
2252
- size: TLDefaultSizeStyle;
2264
+ size: "l" | "m" | "s" | "xl";
2253
2265
  url: string;
2254
- verticalAlign: TLDefaultVerticalAlignStyle;
2266
+ verticalAlign: "end" | "middle" | "start";
2255
2267
  };
2256
2268
  rotation: number;
2257
2269
  type: "note";
@@ -2261,23 +2273,27 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2261
2273
  } | undefined;
2262
2274
  onBeforeUpdate(prev: TLNoteShape, next: TLNoteShape): {
2263
2275
  id: TLShapeId;
2264
- index: IndexKey;
2276
+ index: IndexKey_2;
2265
2277
  isLocked: boolean;
2266
2278
  meta: JsonObject;
2267
- opacity: TLOpacityType;
2279
+ opacity: number;
2268
2280
  parentId: TLParentId;
2269
2281
  props: {
2270
- align: TLDefaultHorizontalAlignStyle;
2271
- color: TLDefaultColorStyle;
2272
- font: TLDefaultFontStyle;
2282
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
2283
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2284
+ font: "draw" | "mono" | "sans" | "serif";
2273
2285
  fontSizeAdjustment: number;
2274
2286
  growY: number;
2275
- labelColor: TLDefaultColorStyle;
2276
- richText: TLRichText;
2287
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2288
+ richText: {
2289
+ attrs?: any;
2290
+ content: unknown[];
2291
+ type: string;
2292
+ };
2277
2293
  scale: number;
2278
- size: TLDefaultSizeStyle;
2294
+ size: "l" | "m" | "s" | "xl";
2279
2295
  url: string;
2280
- verticalAlign: TLDefaultVerticalAlignStyle;
2296
+ verticalAlign: "end" | "middle" | "start";
2281
2297
  };
2282
2298
  rotation: number;
2283
2299
  type: "note";
@@ -2331,7 +2347,7 @@ export declare interface OnDragFromToolbarToCreateShapesOpts {
2331
2347
  export declare function OvalToolbarItem(): JSX.Element;
2332
2348
 
2333
2349
  /** @public @react */
2334
- export declare function OverflowingToolbar({ children, orientation, sizingParentClassName, minItems, minSizePx, maxItems, maxSizePx, }: OverflowingToolbarProps): JSX.Element;
2350
+ export declare function OverflowingToolbar({ children, orientation, sizingParentClassName, minItems, minSizePx, maxItems, maxSizePx }: OverflowingToolbarProps): JSX.Element;
2335
2351
 
2336
2352
  /** @public */
2337
2353
  export declare interface OverflowingToolbarProps {
@@ -2373,7 +2389,7 @@ export declare interface PageItemSubmenuProps {
2373
2389
  /* Excluded from this release type: parseAndLoadDocument */
2374
2390
 
2375
2391
  /** @public */
2376
- export declare function parseTldrawJsonFile({ json, schema, }: {
2392
+ export declare function parseTldrawJsonFile({ json, schema }: {
2377
2393
  json: string;
2378
2394
  schema: TLSchema;
2379
2395
  }): Result<TLStore, TldrawFileParseError>;
@@ -2668,7 +2684,7 @@ export declare interface RichTextLabelProps {
2668
2684
  *
2669
2685
  * @public @react
2670
2686
  */
2671
- export declare function RichTextSVG({ bounds, richText, fontSize, font, align, verticalAlign, wrap, labelColor, padding, showTextOutline, }: RichTextSVGProps): JSX.Element;
2687
+ export declare function RichTextSVG({ bounds, richText, fontSize, font, align, verticalAlign, wrap, labelColor, padding, showTextOutline }: RichTextSVGProps): JSX.Element;
2672
2688
 
2673
2689
  /** @public */
2674
2690
  export declare interface RichTextSVGProps {
@@ -2804,10 +2820,10 @@ export declare function StylePanelArrowheadPicker(): JSX.Element | null;
2804
2820
  export declare function StylePanelArrowKindPicker(): JSX.Element | null;
2805
2821
 
2806
2822
  /** @public @react */
2807
- export declare const StylePanelButtonPicker: <T extends string>(props: StylePanelButtonPickerProps<T>) => React.JSX.Element;
2823
+ export declare const StylePanelButtonPicker: <T extends string>(props: StylePanelButtonPickerProps<T>) => JSX_2.Element;
2808
2824
 
2809
2825
  /** @public @react*/
2810
- export declare const StylePanelButtonPickerInline: <T extends string>(props: StylePanelButtonPickerProps<T>) => React.JSX.Element;
2826
+ export declare const StylePanelButtonPickerInline: <T extends string>(props: StylePanelButtonPickerProps<T>) => JSX_2.Element;
2811
2827
 
2812
2828
  /** @public */
2813
2829
  export declare interface StylePanelButtonPickerProps<T extends string> {
@@ -3021,16 +3037,20 @@ export declare class TextShapeUtil extends ShapeUtil<TLTextShape> {
3021
3037
  index: IndexKey;
3022
3038
  isLocked: boolean;
3023
3039
  meta: JsonObject;
3024
- opacity: TLOpacityType;
3040
+ opacity: number;
3025
3041
  parentId: TLParentId;
3026
3042
  props: {
3027
3043
  autoSize: boolean;
3028
- color: TLDefaultColorStyle;
3029
- font: TLDefaultFontStyle;
3030
- richText: TLRichText;
3044
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
3045
+ font: "draw" | "mono" | "sans" | "serif";
3046
+ richText: {
3047
+ attrs?: any;
3048
+ content: unknown[];
3049
+ type: string;
3050
+ };
3031
3051
  scale: number;
3032
- size: TLDefaultSizeStyle;
3033
- textAlign: TLDefaultTextAlignStyle;
3052
+ size: "l" | "m" | "s" | "xl";
3053
+ textAlign: "end" | "middle" | "start";
3034
3054
  w: number;
3035
3055
  };
3036
3056
  rotation: number;
@@ -3176,7 +3196,7 @@ export declare interface TldrawBaseProps extends TldrawUiProps, TldrawEditorBase
3176
3196
  }
3177
3197
 
3178
3198
  /** @public @react */
3179
- export declare function TldrawCropHandles({ size, width, height, hideAlternateHandles, }: TldrawCropHandlesProps): JSX.Element;
3199
+ export declare function TldrawCropHandles({ size, width, height, hideAlternateHandles }: TldrawCropHandlesProps): JSX.Element;
3180
3200
 
3181
3201
  /** @public */
3182
3202
  export declare interface TldrawCropHandlesProps {
@@ -3320,7 +3340,7 @@ export declare function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps):
3320
3340
  export declare const TldrawUiColumn: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3321
3341
 
3322
3342
  /** @public @react */
3323
- export declare function TldrawUiComponentsProvider({ overrides, children, }: TLUiComponentsProviderProps): JSX.Element;
3343
+ export declare function TldrawUiComponentsProvider({ overrides, children }: TLUiComponentsProviderProps): JSX.Element;
3324
3344
 
3325
3345
  /** @public @react */
3326
3346
  export declare const TldrawUiContextProvider: NamedExoticComponent<TLUiContextProviderProps>;
@@ -3355,7 +3375,7 @@ export declare function TldrawUiDialogTitle({ className, children, style }: TLUi
3355
3375
  export declare function TldrawUiDropdownMenuCheckboxItem({ children, onSelect, ...rest }: TLUiDropdownMenuCheckboxItemProps): JSX.Element;
3356
3376
 
3357
3377
  /** @public @react */
3358
- export declare function TldrawUiDropdownMenuContent({ className, side, align, sideOffset, alignOffset, children, }: TLUiDropdownMenuContentProps): JSX.Element;
3378
+ export declare function TldrawUiDropdownMenuContent({ className, side, align, sideOffset, alignOffset, children }: TLUiDropdownMenuContentProps): JSX.Element;
3359
3379
 
3360
3380
  /** @public @react */
3361
3381
  export declare function TldrawUiDropdownMenuGroup({ className, children }: TLUiDropdownMenuGroupProps): JSX.Element;
@@ -3367,16 +3387,16 @@ export declare function TldrawUiDropdownMenuIndicator(): JSX.Element;
3367
3387
  export declare function TldrawUiDropdownMenuItem({ noClose, children }: TLUiDropdownMenuItemProps): JSX.Element;
3368
3388
 
3369
3389
  /** @public @react */
3370
- export declare function TldrawUiDropdownMenuRoot({ id, children, modal, debugOpen, }: TLUiDropdownMenuRootProps): JSX.Element;
3390
+ export declare function TldrawUiDropdownMenuRoot({ id, children, modal, debugOpen }: TLUiDropdownMenuRootProps): JSX.Element;
3371
3391
 
3372
3392
  /** @public @react */
3373
3393
  export declare function TldrawUiDropdownMenuSub({ id, children }: TLUiDropdownMenuSubProps): JSX.Element;
3374
3394
 
3375
3395
  /** @public @react */
3376
- export declare function TldrawUiDropdownMenuSubContent({ id, alignOffset, sideOffset, size, children, }: TLUiDropdownMenuSubContentProps): JSX.Element;
3396
+ export declare function TldrawUiDropdownMenuSubContent({ id, alignOffset, sideOffset, size, children }: TLUiDropdownMenuSubContentProps): JSX.Element;
3377
3397
 
3378
3398
  /** @public @react */
3379
- export declare function TldrawUiDropdownMenuSubTrigger({ id, label, title, disabled, }: TLUiDropdownMenuSubTriggerProps): JSX.Element;
3399
+ export declare function TldrawUiDropdownMenuSubTrigger({ id, label, title, disabled }: TLUiDropdownMenuSubTriggerProps): JSX.Element;
3380
3400
 
3381
3401
  /** @public @react */
3382
3402
  export declare function TldrawUiDropdownMenuTrigger({ children, ...rest }: TLUiDropdownMenuTriggerProps): JSX.Element;
@@ -3410,19 +3430,19 @@ export declare function TldrawUiMenuActionCheckboxItem({ actionId, ...rest }: TL
3410
3430
  export declare function TldrawUiMenuActionItem({ actionId, ...rest }: TLUiMenuActionItemProps): JSX.Element | null;
3411
3431
 
3412
3432
  /** @public @react */
3413
- export declare function TldrawUiMenuCheckboxItem<TranslationKey extends string = string, IconType extends string = string>({ id, kbd, label, lang, readonlyOk, onSelect, toggle, disabled, checked, }: TLUiMenuCheckboxItemProps<TranslationKey, IconType>): JSX.Element | null;
3433
+ export declare function TldrawUiMenuCheckboxItem<TranslationKey extends string = string, IconType extends string = string>({ id, kbd, label, lang, readonlyOk, onSelect, toggle, disabled, checked }: TLUiMenuCheckboxItemProps<TranslationKey, IconType>): JSX.Element | null;
3414
3434
 
3415
3435
  /** @public @react */
3416
- export declare function TldrawUiMenuContextProvider({ type, sourceId, children, }: TLUiMenuContextProviderProps): JSX.Element;
3436
+ export declare function TldrawUiMenuContextProvider({ type, sourceId, children }: TLUiMenuContextProviderProps): JSX.Element;
3417
3437
 
3418
3438
  /** @public @react */
3419
3439
  export declare function TldrawUiMenuGroup({ id, label, className, children }: TLUiMenuGroupProps): bigint | boolean | JSX.Element | Iterable<ReactNode> | null | number | Promise<bigint | boolean | ReactElement<unknown, JSXElementConstructor<any> | string> | ReactPortal | Iterable<ReactNode> | null | number | string | undefined> | string | undefined;
3420
3440
 
3421
3441
  /** @public @react */
3422
- export declare function TldrawUiMenuItem<TranslationKey extends string = string, IconType extends string = string>({ disabled, spinner, readonlyOk, id, kbd, label, icon, iconLeft, onSelect, noClose, isSelected, onDragStart, }: TLUiMenuItemProps<TranslationKey, IconType>): JSX.Element | null;
3442
+ export declare function TldrawUiMenuItem<TranslationKey extends string = string, IconType extends string = string>({ disabled, spinner, readonlyOk, id, kbd, label, icon, iconLeft, onSelect, noClose, isSelected, onDragStart }: TLUiMenuItemProps<TranslationKey, IconType>): JSX.Element | null;
3423
3443
 
3424
3444
  /** @public @react */
3425
- export declare function TldrawUiMenuSubmenu<Translation extends string = string>({ id, disabled, label, size, children, }: TLUiMenuSubmenuProps<Translation>): bigint | boolean | JSX.Element | Iterable<ReactNode> | null | number | Promise<bigint | boolean | ReactElement<unknown, JSXElementConstructor<any> | string> | ReactPortal | Iterable<ReactNode> | null | number | string | undefined> | string | undefined;
3445
+ export declare function TldrawUiMenuSubmenu<Translation extends string = string>({ id, disabled, label, size, children }: TLUiMenuSubmenuProps<Translation>): bigint | boolean | JSX.Element | Iterable<ReactNode> | null | number | Promise<bigint | boolean | ReactElement<unknown, JSXElementConstructor<any> | string> | ReactPortal | Iterable<ReactNode> | null | number | string | undefined> | string | undefined;
3426
3446
 
3427
3447
  /** @public @react */
3428
3448
  export declare function TldrawUiMenuToolItem({ toolId, ...rest }: TLUiMenuToolItemProps): JSX.Element | null;
@@ -3434,7 +3454,7 @@ export declare interface TldrawUiOrientationContext {
3434
3454
  }
3435
3455
 
3436
3456
  /** @public @react */
3437
- export declare function TldrawUiOrientationProvider({ children, orientation, tooltipSide, }: TldrawUiOrientationProviderProps): JSX.Element;
3457
+ export declare function TldrawUiOrientationProvider({ children, orientation, tooltipSide }: TldrawUiOrientationProviderProps): JSX.Element;
3438
3458
 
3439
3459
  /** @public */
3440
3460
  export declare interface TldrawUiOrientationProviderProps {
@@ -3447,7 +3467,7 @@ export declare interface TldrawUiOrientationProviderProps {
3447
3467
  export declare function TldrawUiPopover({ id, children, onOpenChange, open, className }: TLUiPopoverProps): JSX.Element;
3448
3468
 
3449
3469
  /** @public @react */
3450
- export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton, }: TLUiPopoverContentProps): JSX.Element;
3470
+ export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton }: TLUiPopoverContentProps): JSX.Element;
3451
3471
 
3452
3472
  /** @public @react */
3453
3473
  export declare function TldrawUiPopoverTrigger({ children }: TLUiPopoverTriggerProps): JSX.Element;
@@ -3500,7 +3520,7 @@ export declare const TldrawUiRow: ForwardRefExoticComponent<TLUiLayoutProps & Re
3500
3520
  * @public
3501
3521
  * @react
3502
3522
  */
3503
- export declare function TldrawUiSelect({ id, value, onValueChange, onOpenChange, disabled, className, children, 'data-testid': dataTestId, 'aria-label': ariaLabel, }: TLUiSelectProps): JSX.Element;
3523
+ export declare function TldrawUiSelect({ id, value, onValueChange, onOpenChange, disabled, className, children, 'data-testid': dataTestId, 'aria-label': ariaLabel }: TLUiSelectProps): JSX.Element;
3504
3524
 
3505
3525
  /**
3506
3526
  * The dropdown content container for select items.
@@ -3508,7 +3528,7 @@ export declare function TldrawUiSelect({ id, value, onValueChange, onOpenChange,
3508
3528
  * @public
3509
3529
  * @react
3510
3530
  */
3511
- export declare function TldrawUiSelectContent({ children, side, align, className, }: TLUiSelectContentProps): JSX.Element;
3531
+ export declare function TldrawUiSelectContent({ children, side, align, className }: TLUiSelectContentProps): JSX.Element;
3512
3532
 
3513
3533
  /**
3514
3534
  * An item in the select dropdown. Styled to match TldrawUiMenuCheckboxItem.
@@ -3516,7 +3536,7 @@ export declare function TldrawUiSelectContent({ children, side, align, className
3516
3536
  * @public
3517
3537
  * @react
3518
3538
  */
3519
- export declare function TldrawUiSelectItem({ value, label, icon, disabled, className, }: TLUiSelectItemProps): JSX.Element;
3539
+ export declare function TldrawUiSelectItem({ value, label, icon, disabled, className }: TLUiSelectItemProps): JSX.Element;
3520
3540
 
3521
3541
  /**
3522
3542
  * The trigger button for the select dropdown.
@@ -4745,7 +4765,7 @@ export declare function unwrapLabel(label?: TLUiActionItem['label'], menuType?:
4745
4765
  *
4746
4766
  * @public
4747
4767
  */
4748
- export declare function updateArrowTargetState({ editor, pointInPageSpace, arrow, isPrecise, currentBinding, oppositeBinding, }: UpdateArrowTargetStateOpts): ArrowTargetState | null;
4768
+ export declare function updateArrowTargetState({ editor, pointInPageSpace, arrow, isPrecise, currentBinding, oppositeBinding }: UpdateArrowTargetStateOpts): ArrowTargetState | null;
4749
4769
 
4750
4770
  /**
4751
4771
  * Options passed to {@link updateArrowTargetState}.
@@ -4819,29 +4839,29 @@ export declare function useDefaultColorTheme(): {
4819
4839
  /** @public */
4820
4840
  export declare function useDefaultHelpers(): {
4821
4841
  addDialog: (dialog: Omit<TLUiDialog, "id"> & {
4822
- id?: string;
4842
+ id?: string | undefined;
4823
4843
  }) => string;
4824
4844
  addToast: (toast: Omit<TLUiToast, "id"> & {
4825
- id?: string;
4845
+ id?: string | undefined;
4826
4846
  }) => string;
4827
4847
  clearDialogs: () => void;
4828
4848
  clearToasts: () => void;
4829
4849
  copy: (source: TLUiEventSource) => Promise<void>;
4830
- copyAs: (ids: TLShapeId[], format?: TLCopyType) => void;
4850
+ copyAs: (ids: TLShapeId_2[], format?: TLCopyType) => void;
4831
4851
  cut: (source: TLUiEventSource) => Promise<void>;
4832
- exportAs: (ids: TLShapeId[], opts?: {
4833
- format?: TLExportType;
4834
- name?: string;
4835
- scale?: number;
4852
+ exportAs: (ids: TLShapeId_2[], opts?: {
4853
+ format?: TLExportType | undefined;
4854
+ name?: string | undefined;
4855
+ scale?: number | undefined;
4836
4856
  }) => void;
4837
4857
  getEmbedDefinition: (url: string) => TLEmbedResult;
4838
4858
  insertMedia: () => Promise<void>;
4839
4859
  isMobile: boolean;
4840
- msg: (id?: Exclude<string, TLUiTranslationKey> | string) => string;
4841
- paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike) => Promise<void>;
4860
+ msg: (id?: string | undefined) => string;
4861
+ paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike | undefined) => Promise<void>;
4842
4862
  printSelectionOrPages: () => Promise<void>;
4843
4863
  removeDialog: (id: string) => string;
4844
- removeToast: (id: TLUiToast["id"]) => string;
4864
+ removeToast: (id: string) => string;
4845
4865
  replaceImage: () => Promise<void>;
4846
4866
  replaceVideo: () => Promise<void>;
4847
4867
  };
@@ -4861,7 +4881,7 @@ export declare function useEditablePlainText(shapeId: TLShapeId, type: ExtractSh
4861
4881
  nativeEvent: Event;
4862
4882
  } | Event) => void;
4863
4883
  handleFocus: () => void;
4864
- handleInputPointerDown: (e: React_3.PointerEvent) => void;
4884
+ handleInputPointerDown: (e: React_3.PointerEvent<Element>) => void;
4865
4885
  handleKeyDown: (e: KeyboardEvent) => void;
4866
4886
  handlePaste: (e: ClipboardEvent | React_3.ClipboardEvent<HTMLTextAreaElement>) => void;
4867
4887
  isEditing: boolean;
@@ -4876,15 +4896,19 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: ExtractSha
4876
4896
  }>['type'], richText?: TLRichText): {
4877
4897
  handleBlur: () => void;
4878
4898
  handleChange: ({ richText }: {
4879
- richText: TLRichText;
4899
+ richText: {
4900
+ attrs?: any;
4901
+ content: unknown[];
4902
+ type: string;
4903
+ };
4880
4904
  }) => void;
4881
4905
  handleDoubleClick: (e: {
4882
4906
  nativeEvent: Event;
4883
4907
  } | Event) => void;
4884
4908
  handleFocus: () => void;
4885
- handleInputPointerDown: (e: React.PointerEvent) => void;
4909
+ handleInputPointerDown: (e: PointerEvent_2<Element>) => void;
4886
4910
  handleKeyDown: (e: KeyboardEvent) => void;
4887
- handlePaste: (e: ClipboardEvent | React.ClipboardEvent<HTMLTextAreaElement>) => void;
4911
+ handlePaste: (e: ClipboardEvent | ClipboardEvent_2<HTMLTextAreaElement>) => void;
4888
4912
  isEditing: boolean;
4889
4913
  isEmpty: boolean | undefined;
4890
4914
  isReadyForEditing: boolean;
@@ -4893,9 +4917,9 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: ExtractSha
4893
4917
 
4894
4918
  /** @public */
4895
4919
  export declare function useExportAs(): (ids: TLShapeId[], opts?: {
4896
- format?: TLExportType;
4897
- name?: string;
4898
- scale?: number;
4920
+ format?: TLExportType | undefined;
4921
+ name?: string | undefined;
4922
+ scale?: number | undefined;
4899
4923
  }) => void;
4900
4924
 
4901
4925
  /**
@@ -4910,7 +4934,7 @@ export declare function useExportAs(): (ids: TLShapeId[], opts?: {
4910
4934
  * @public
4911
4935
  */
4912
4936
  export declare function useImageOrVideoAsset({ shapeId, assetId, width }: UseImageOrVideoAssetOptions): {
4913
- asset: (TLImageAsset | TLVideoAsset) | null;
4937
+ asset: null | TLImageAsset | TLVideoAsset;
4914
4938
  url: null | string;
4915
4939
  };
4916
4940
 
@@ -4946,7 +4970,7 @@ export declare function useLocalStorageState<T = any>(key: string, defaultValue:
4946
4970
  export declare function useMenuClipboardEvents(): {
4947
4971
  copy: (source: TLUiEventSource) => Promise<void>;
4948
4972
  cut: (source: TLUiEventSource) => Promise<void>;
4949
- paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike) => Promise<void>;
4973
+ paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: undefined | VecLike) => Promise<void>;
4950
4974
  };
4951
4975
 
4952
4976
  /** @public */
@@ -4997,7 +5021,7 @@ export declare function useTools(): TLUiToolsContextType;
4997
5021
  *
4998
5022
  * @public
4999
5023
  */
5000
- export declare function useTranslation(): (id?: Exclude<string, TLUiTranslationKey> | string) => string;
5024
+ export declare function useTranslation(): (id?: string | undefined) => string;
5001
5025
 
5002
5026
  /** @public */
5003
5027
  export declare function useUiEvents(): TLUiEventContextType;
@@ -5055,7 +5079,7 @@ export declare class ZoomTool extends StateNode {
5055
5079
  static children(): TLStateNodeConstructor[];
5056
5080
  static isLockable: boolean;
5057
5081
  info: TLPointerEventInfo & {
5058
- onInteractionEnd?: string;
5082
+ onInteractionEnd?: string | undefined;
5059
5083
  };
5060
5084
  onEnter(info: TLPointerEventInfo & {
5061
5085
  onInteractionEnd: string;