tldraw 5.2.0-next.ee0fa4d6244f → 5.2.0

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 (474) hide show
  1. package/DOCS.md +20294 -0
  2. package/README.md +13 -1
  3. package/RELEASE_NOTES.md +2908 -0
  4. package/dist-cjs/index.d.ts +110 -25
  5. package/dist-cjs/index.js +3 -3
  6. package/dist-cjs/index.js.map +2 -2
  7. package/dist-cjs/lib/TldrawImage.js +0 -1
  8. package/dist-cjs/lib/TldrawImage.js.map +2 -2
  9. package/dist-cjs/lib/bindings/arrow/ArrowBindingUtil.js +2 -1
  10. package/dist-cjs/lib/bindings/arrow/ArrowBindingUtil.js.map +2 -2
  11. package/dist-cjs/lib/defaultEmbedDefinitions.js +3 -2
  12. package/dist-cjs/lib/defaultEmbedDefinitions.js.map +2 -2
  13. package/dist-cjs/lib/defaultOverlayUtils.js +11 -11
  14. package/dist-cjs/lib/defaultOverlayUtils.js.map +2 -2
  15. package/dist-cjs/lib/overlays/SelectionForegroundOverlayUtil.js +76 -64
  16. package/dist-cjs/lib/overlays/SelectionForegroundOverlayUtil.js.map +2 -2
  17. package/dist-cjs/lib/overlays/ShapeHandleOverlayUtil.js +1 -1
  18. package/dist-cjs/lib/overlays/ShapeHandleOverlayUtil.js.map +2 -2
  19. package/dist-cjs/lib/overlays/ShapeIndicatorOverlayUtil.js +107 -0
  20. package/dist-cjs/lib/overlays/ShapeIndicatorOverlayUtil.js.map +7 -0
  21. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +3 -0
  22. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  23. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +12 -3
  24. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  25. package/dist-cjs/lib/shapes/bookmark/bookmarks.js +54 -6
  26. package/dist-cjs/lib/shapes/bookmark/bookmarks.js.map +2 -2
  27. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +2 -1
  28. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  29. package/dist-cjs/lib/shapes/draw/getPath.js +1 -1
  30. package/dist-cjs/lib/shapes/draw/getPath.js.map +2 -2
  31. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +45 -47
  32. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +2 -2
  33. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +2 -1
  34. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +2 -2
  35. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js +23 -18
  36. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +2 -2
  37. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +1 -1
  38. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  39. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js +3 -0
  40. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +2 -2
  41. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +11 -7
  42. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  43. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -11
  44. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +2 -2
  45. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js +5 -1
  46. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +2 -2
  47. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +31 -41
  48. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  49. package/dist-cjs/lib/shapes/note/noteHelpers.js +1 -1
  50. package/dist-cjs/lib/shapes/note/noteHelpers.js.map +2 -2
  51. package/dist-cjs/lib/shapes/note/toolStates/Pointing.js +28 -6
  52. package/dist-cjs/lib/shapes/note/toolStates/Pointing.js.map +2 -2
  53. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +3 -2
  54. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  55. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +3 -3
  56. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  57. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js +17 -3
  58. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js.map +2 -2
  59. package/dist-cjs/lib/shapes/shared/freehand/core.js +424 -0
  60. package/dist-cjs/lib/shapes/shared/freehand/core.js.map +7 -0
  61. package/dist-cjs/lib/shapes/shared/freehand/fmt.js +106 -0
  62. package/dist-cjs/lib/shapes/shared/freehand/fmt.js.map +7 -0
  63. package/dist-cjs/lib/shapes/shared/freehand/getStroke.js +6 -6
  64. package/dist-cjs/lib/shapes/shared/freehand/getStroke.js.map +2 -2
  65. package/dist-cjs/lib/shapes/shared/freehand/getStrokeOutlinePoints.js +320 -86
  66. package/dist-cjs/lib/shapes/shared/freehand/getStrokeOutlinePoints.js.map +3 -3
  67. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js +20 -96
  68. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js.map +3 -3
  69. package/dist-cjs/lib/shapes/shared/freehand/svg.js +55 -19
  70. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  71. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js +189 -97
  72. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js.map +3 -3
  73. package/dist-cjs/lib/shapes/shared/freehand/types.js.map +1 -1
  74. package/dist-cjs/lib/shapes/shared/interpolate-props.js +6 -2
  75. package/dist-cjs/lib/shapes/shared/interpolate-props.js.map +2 -2
  76. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js +3 -0
  77. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +2 -2
  78. package/dist-cjs/lib/tools/HandTool/HandTool.js +14 -25
  79. package/dist-cjs/lib/tools/HandTool/HandTool.js.map +2 -2
  80. package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js +10 -1
  81. package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js.map +2 -2
  82. package/dist-cjs/lib/tools/HandTool/childStates/OneFingerZooming.js +84 -0
  83. package/dist-cjs/lib/tools/HandTool/childStates/OneFingerZooming.js.map +7 -0
  84. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/Crop.js +3 -1
  85. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/Crop.js.map +2 -2
  86. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +1 -1
  87. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +2 -2
  88. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js +7 -0
  89. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js.map +2 -2
  90. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js +7 -0
  91. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js.map +2 -2
  92. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +13 -1
  93. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  94. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js +7 -0
  95. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js.map +2 -2
  96. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js +7 -0
  97. package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js.map +2 -2
  98. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js +7 -0
  99. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js.map +2 -2
  100. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js +7 -0
  101. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js.map +2 -2
  102. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js +4 -1
  103. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +2 -2
  104. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +14 -1
  105. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +2 -2
  106. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +107 -46
  107. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  108. package/dist-cjs/lib/ui/TldrawUi.js +4 -3
  109. package/dist-cjs/lib/ui/TldrawUi.js.map +2 -2
  110. package/dist-cjs/lib/ui/components/A11y.js +2 -0
  111. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  112. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenu.js +14 -1
  113. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenu.js.map +2 -2
  114. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenuContent.js +0 -6
  115. package/dist-cjs/lib/ui/components/ContextMenu/DefaultContextMenuContent.js.map +2 -2
  116. package/dist-cjs/lib/ui/components/DefaultFollowingIndicator.js.map +2 -2
  117. package/dist-cjs/lib/ui/components/Dialogs.js +17 -37
  118. package/dist-cjs/lib/ui/components/Dialogs.js.map +2 -2
  119. package/dist-cjs/lib/ui/components/HelperButtons/BackToContent.js +19 -4
  120. package/dist-cjs/lib/ui/components/HelperButtons/BackToContent.js.map +2 -2
  121. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +12 -2
  122. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  123. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +47 -70
  124. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js.map +2 -2
  125. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +25 -46
  126. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  127. package/dist-cjs/lib/ui/components/SharePanel/DefaultPeopleMenuAvatar.js.map +2 -2
  128. package/dist-cjs/lib/ui/components/SharePanel/DefaultPeopleMenuContent.js.map +2 -2
  129. package/dist-cjs/lib/ui/components/SharePanel/DefaultPeopleMenuFacePile.js.map +2 -2
  130. package/dist-cjs/lib/ui/components/SharePanel/DefaultPeopleMenuItem.js +1 -1
  131. package/dist-cjs/lib/ui/components/SharePanel/DefaultPeopleMenuItem.js.map +2 -2
  132. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js +1 -0
  133. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js.map +2 -2
  134. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js +2 -1
  135. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js.map +2 -2
  136. package/dist-cjs/lib/ui/components/menu-items.js +7 -0
  137. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  138. package/dist-cjs/lib/ui/components/primitives/TldrawUiDropdownMenu.js +2 -1
  139. package/dist-cjs/lib/ui/components/primitives/TldrawUiDropdownMenu.js.map +2 -2
  140. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +14 -3
  141. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js.map +2 -2
  142. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +2 -0
  143. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js.map +2 -2
  144. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +2 -0
  145. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +2 -2
  146. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js +0 -2
  147. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js.map +2 -2
  148. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.js +1 -2
  149. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.js.map +2 -2
  150. package/dist-cjs/lib/ui/context/actions.js +70 -1
  151. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  152. package/dist-cjs/lib/ui/context/asset-urls.js +5 -8
  153. package/dist-cjs/lib/ui/context/asset-urls.js.map +2 -2
  154. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  155. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +13 -0
  156. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  157. package/dist-cjs/lib/ui/hooks/useTools.js +1 -1
  158. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  159. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  160. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +2 -0
  161. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  162. package/dist-cjs/lib/ui/version.js +3 -3
  163. package/dist-cjs/lib/ui/version.js.map +1 -1
  164. package/dist-cjs/lib/utils/embeds/embeds.js +4 -4
  165. package/dist-cjs/lib/utils/embeds/embeds.js.map +2 -2
  166. package/dist-cjs/lib/utils/test-helpers.js +2 -2
  167. package/dist-cjs/lib/utils/test-helpers.js.map +2 -2
  168. package/dist-cjs/lib/utils/text/richText.js +3 -1
  169. package/dist-cjs/lib/utils/text/richText.js.map +2 -2
  170. package/dist-esm/index.d.mts +110 -25
  171. package/dist-esm/index.mjs +5 -3
  172. package/dist-esm/index.mjs.map +2 -2
  173. package/dist-esm/lib/TldrawImage.mjs +0 -1
  174. package/dist-esm/lib/TldrawImage.mjs.map +2 -2
  175. package/dist-esm/lib/bindings/arrow/ArrowBindingUtil.mjs +2 -1
  176. package/dist-esm/lib/bindings/arrow/ArrowBindingUtil.mjs.map +2 -2
  177. package/dist-esm/lib/defaultEmbedDefinitions.mjs +3 -2
  178. package/dist-esm/lib/defaultEmbedDefinitions.mjs.map +2 -2
  179. package/dist-esm/lib/defaultOverlayUtils.mjs +11 -11
  180. package/dist-esm/lib/defaultOverlayUtils.mjs.map +2 -2
  181. package/dist-esm/lib/overlays/SelectionForegroundOverlayUtil.mjs +77 -65
  182. package/dist-esm/lib/overlays/SelectionForegroundOverlayUtil.mjs.map +2 -2
  183. package/dist-esm/lib/overlays/ShapeHandleOverlayUtil.mjs +1 -1
  184. package/dist-esm/lib/overlays/ShapeHandleOverlayUtil.mjs.map +2 -2
  185. package/dist-esm/lib/overlays/ShapeIndicatorOverlayUtil.mjs +87 -0
  186. package/dist-esm/lib/overlays/ShapeIndicatorOverlayUtil.mjs.map +7 -0
  187. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +9 -1
  188. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  189. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +15 -3
  190. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  191. package/dist-esm/lib/shapes/bookmark/bookmarks.mjs +54 -6
  192. package/dist-esm/lib/shapes/bookmark/bookmarks.mjs.map +2 -2
  193. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +3 -1
  194. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  195. package/dist-esm/lib/shapes/draw/getPath.mjs +1 -1
  196. package/dist-esm/lib/shapes/draw/getPath.mjs.map +2 -2
  197. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +46 -47
  198. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +2 -2
  199. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +2 -1
  200. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +2 -2
  201. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs +23 -18
  202. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +2 -2
  203. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +2 -1
  204. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  205. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs +4 -0
  206. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +2 -2
  207. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +12 -7
  208. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  209. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -11
  210. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  211. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs +6 -1
  212. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +2 -2
  213. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +32 -42
  214. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  215. package/dist-esm/lib/shapes/note/noteHelpers.mjs +1 -1
  216. package/dist-esm/lib/shapes/note/noteHelpers.mjs.map +2 -2
  217. package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs +29 -6
  218. package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs.map +2 -2
  219. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +3 -2
  220. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  221. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +4 -3
  222. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  223. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs +17 -3
  224. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs.map +2 -2
  225. package/dist-esm/lib/shapes/shared/freehand/core.mjs +404 -0
  226. package/dist-esm/lib/shapes/shared/freehand/core.mjs.map +7 -0
  227. package/dist-esm/lib/shapes/shared/freehand/fmt.mjs +86 -0
  228. package/dist-esm/lib/shapes/shared/freehand/fmt.mjs.map +7 -0
  229. package/dist-esm/lib/shapes/shared/freehand/getStroke.mjs +7 -7
  230. package/dist-esm/lib/shapes/shared/freehand/getStroke.mjs.map +2 -2
  231. package/dist-esm/lib/shapes/shared/freehand/getStrokeOutlinePoints.mjs +332 -86
  232. package/dist-esm/lib/shapes/shared/freehand/getStrokeOutlinePoints.mjs.map +3 -3
  233. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs +31 -96
  234. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs.map +3 -3
  235. package/dist-esm/lib/shapes/shared/freehand/svg.mjs +55 -19
  236. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  237. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs +214 -99
  238. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs.map +3 -3
  239. package/dist-esm/lib/shapes/shared/interpolate-props.mjs +6 -2
  240. package/dist-esm/lib/shapes/shared/interpolate-props.mjs.map +2 -2
  241. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs +4 -0
  242. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +2 -2
  243. package/dist-esm/lib/tools/HandTool/HandTool.mjs +14 -25
  244. package/dist-esm/lib/tools/HandTool/HandTool.mjs.map +2 -2
  245. package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs +10 -1
  246. package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs.map +2 -2
  247. package/dist-esm/lib/tools/HandTool/childStates/OneFingerZooming.mjs +64 -0
  248. package/dist-esm/lib/tools/HandTool/childStates/OneFingerZooming.mjs.map +7 -0
  249. package/dist-esm/lib/tools/SelectTool/childStates/Crop/Crop.mjs +3 -1
  250. package/dist-esm/lib/tools/SelectTool/childStates/Crop/Crop.mjs.map +2 -2
  251. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +1 -1
  252. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +2 -2
  253. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs +7 -0
  254. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs.map +2 -2
  255. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs +7 -0
  256. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs.map +2 -2
  257. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +13 -1
  258. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  259. package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs +7 -0
  260. package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs.map +2 -2
  261. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs +11 -1
  262. package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs.map +2 -2
  263. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs +10 -1
  264. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs.map +2 -2
  265. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs +7 -0
  266. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs.map +2 -2
  267. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs +4 -1
  268. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +2 -2
  269. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +14 -1
  270. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +2 -2
  271. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +108 -46
  272. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  273. package/dist-esm/lib/ui/TldrawUi.mjs +4 -3
  274. package/dist-esm/lib/ui/TldrawUi.mjs.map +2 -2
  275. package/dist-esm/lib/ui/components/A11y.mjs +2 -0
  276. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  277. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenu.mjs +21 -2
  278. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenu.mjs.map +2 -2
  279. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenuContent.mjs +0 -6
  280. package/dist-esm/lib/ui/components/ContextMenu/DefaultContextMenuContent.mjs.map +2 -2
  281. package/dist-esm/lib/ui/components/DefaultFollowingIndicator.mjs.map +2 -2
  282. package/dist-esm/lib/ui/components/Dialogs.mjs +19 -39
  283. package/dist-esm/lib/ui/components/Dialogs.mjs.map +2 -2
  284. package/dist-esm/lib/ui/components/HelperButtons/BackToContent.mjs +20 -5
  285. package/dist-esm/lib/ui/components/HelperButtons/BackToContent.mjs.map +2 -2
  286. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +12 -2
  287. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  288. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs +47 -70
  289. package/dist-esm/lib/ui/components/Minimap/DefaultMinimap.mjs.map +2 -2
  290. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +25 -46
  291. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  292. package/dist-esm/lib/ui/components/SharePanel/DefaultPeopleMenuAvatar.mjs.map +2 -2
  293. package/dist-esm/lib/ui/components/SharePanel/DefaultPeopleMenuContent.mjs.map +2 -2
  294. package/dist-esm/lib/ui/components/SharePanel/DefaultPeopleMenuFacePile.mjs.map +2 -2
  295. package/dist-esm/lib/ui/components/SharePanel/DefaultPeopleMenuItem.mjs +1 -1
  296. package/dist-esm/lib/ui/components/SharePanel/DefaultPeopleMenuItem.mjs.map +2 -2
  297. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs +1 -0
  298. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs.map +2 -2
  299. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs +2 -1
  300. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs.map +2 -2
  301. package/dist-esm/lib/ui/components/menu-items.mjs +7 -0
  302. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  303. package/dist-esm/lib/ui/components/primitives/TldrawUiDropdownMenu.mjs +2 -1
  304. package/dist-esm/lib/ui/components/primitives/TldrawUiDropdownMenu.mjs.map +2 -2
  305. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs +14 -3
  306. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs.map +2 -2
  307. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs +2 -0
  308. package/dist-esm/lib/ui/components/primitives/TldrawUiInput.mjs.map +2 -2
  309. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +2 -0
  310. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  311. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs +0 -2
  312. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs.map +2 -2
  313. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.mjs +1 -2
  314. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.mjs.map +2 -2
  315. package/dist-esm/lib/ui/context/actions.mjs +71 -1
  316. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  317. package/dist-esm/lib/ui/context/asset-urls.mjs +5 -8
  318. package/dist-esm/lib/ui/context/asset-urls.mjs.map +2 -2
  319. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  320. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +13 -0
  321. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  322. package/dist-esm/lib/ui/hooks/useTools.mjs +1 -1
  323. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  324. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +2 -0
  325. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  326. package/dist-esm/lib/ui/version.mjs +3 -3
  327. package/dist-esm/lib/ui/version.mjs.map +1 -1
  328. package/dist-esm/lib/utils/embeds/embeds.mjs +4 -4
  329. package/dist-esm/lib/utils/embeds/embeds.mjs.map +2 -2
  330. package/dist-esm/lib/utils/test-helpers.mjs +2 -2
  331. package/dist-esm/lib/utils/test-helpers.mjs.map +2 -2
  332. package/dist-esm/lib/utils/text/richText.mjs +3 -1
  333. package/dist-esm/lib/utils/text/richText.mjs.map +2 -2
  334. package/package.json +11 -6
  335. package/src/index.ts +6 -1
  336. package/src/lib/TldrawImage.tsx +2 -2
  337. package/src/lib/bindings/arrow/ArrowBindingUtil.ts +5 -1
  338. package/src/lib/defaultEmbedDefinitions.ts +28 -6
  339. package/src/lib/defaultOverlayUtils.ts +11 -11
  340. package/src/lib/overlays/SelectionForegroundOverlayUtil.ts +91 -72
  341. package/src/lib/overlays/ShapeHandleOverlayUtil.ts +3 -1
  342. package/src/lib/overlays/ShapeIndicatorOverlayUtil.ts +133 -0
  343. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +11 -1
  344. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +16 -3
  345. package/src/lib/shapes/bookmark/bookmarks.ts +105 -15
  346. package/src/lib/shapes/draw/DrawShapeUtil.tsx +7 -5
  347. package/src/lib/shapes/draw/getPath.ts +1 -1
  348. package/src/lib/shapes/draw/toolStates/Drawing.ts +55 -48
  349. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +14 -4
  350. package/src/lib/shapes/frame/FrameShapeTool.ts +35 -24
  351. package/src/lib/shapes/geo/GeoShapeUtil.test.tsx +46 -0
  352. package/src/lib/shapes/geo/GeoShapeUtil.tsx +2 -1
  353. package/src/lib/shapes/geo/toolStates/Pointing.ts +5 -0
  354. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +14 -11
  355. package/src/lib/shapes/image/ImageShapeUtil.tsx +7 -11
  356. package/src/lib/shapes/line/LineShapeTool.test.ts +41 -0
  357. package/src/lib/shapes/line/toolStates/Pointing.ts +12 -2
  358. package/src/lib/shapes/note/NoteShapeUtil.tsx +36 -51
  359. package/src/lib/shapes/note/noteCloning.test.ts +5 -5
  360. package/src/lib/shapes/note/noteHelpers.ts +1 -1
  361. package/src/lib/shapes/note/toolStates/Pointing.ts +40 -7
  362. package/src/lib/shapes/shared/PlainTextLabel.tsx +3 -3
  363. package/src/lib/shapes/shared/RichTextLabel.tsx +4 -3
  364. package/src/lib/shapes/shared/defaultStyleDefs.tsx +25 -3
  365. package/src/lib/shapes/shared/freehand/core.ts +547 -0
  366. package/src/lib/shapes/shared/freehand/fmt.ts +106 -0
  367. package/src/lib/shapes/shared/freehand/getStroke.ts +7 -7
  368. package/src/lib/shapes/shared/freehand/getStrokeOutlinePoints.ts +451 -139
  369. package/src/lib/shapes/shared/freehand/getStrokePoints.ts +33 -153
  370. package/src/lib/shapes/shared/freehand/svg.ts +72 -23
  371. package/src/lib/shapes/shared/freehand/svgInk.ts +281 -136
  372. package/src/lib/shapes/shared/freehand/types.ts +0 -1
  373. package/src/lib/shapes/shared/interpolate-props.ts +6 -2
  374. package/src/lib/shapes/text/toolStates/Pointing.ts +5 -0
  375. package/src/lib/tools/HandTool/HandTool.ts +17 -28
  376. package/src/lib/tools/HandTool/childStates/Dragging.ts +17 -1
  377. package/src/lib/tools/HandTool/childStates/OneFingerZooming.ts +79 -0
  378. package/src/lib/tools/SelectTool/childStates/Crop/Crop.ts +3 -1
  379. package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +2 -2
  380. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.ts +15 -1
  381. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.ts +15 -1
  382. package/src/lib/tools/SelectTool/childStates/Idle.ts +17 -3
  383. package/src/lib/tools/SelectTool/childStates/PointingCanvas.ts +15 -1
  384. package/src/lib/tools/SelectTool/childStates/PointingHandle.ts +23 -1
  385. package/src/lib/tools/SelectTool/childStates/PointingResizeHandle.ts +21 -1
  386. package/src/lib/tools/SelectTool/childStates/PointingRotateHandle.ts +15 -1
  387. package/src/lib/tools/SelectTool/childStates/PointingSelection.ts +11 -2
  388. package/src/lib/tools/SelectTool/childStates/PointingShape.ts +26 -2
  389. package/src/lib/tools/SelectTool/childStates/Resizing.ts +137 -49
  390. package/src/lib/ui/TldrawUi.tsx +3 -3
  391. package/src/lib/ui/components/A11y.tsx +2 -0
  392. package/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx +32 -2
  393. package/src/lib/ui/components/ContextMenu/DefaultContextMenuContent.tsx +5 -6
  394. package/src/lib/ui/components/DefaultFollowingIndicator.tsx +2 -2
  395. package/src/lib/ui/components/Dialogs.tsx +20 -23
  396. package/src/lib/ui/components/HelperButtons/BackToContent.tsx +32 -4
  397. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +10 -0
  398. package/src/lib/ui/components/Minimap/DefaultMinimap.tsx +60 -74
  399. package/src/lib/ui/components/Minimap/MinimapManager.ts +35 -57
  400. package/src/lib/ui/components/SharePanel/DefaultPeopleMenuAvatar.tsx +2 -2
  401. package/src/lib/ui/components/SharePanel/DefaultPeopleMenuContent.tsx +2 -1
  402. package/src/lib/ui/components/SharePanel/DefaultPeopleMenuFacePile.tsx +2 -1
  403. package/src/lib/ui/components/SharePanel/DefaultPeopleMenuItem.tsx +3 -3
  404. package/src/lib/ui/components/StylePanel/StylePanelButtonPicker.tsx +5 -0
  405. package/src/lib/ui/components/StylePanel/StylePanelDropdownPicker.tsx +8 -1
  406. package/src/lib/ui/components/menu-items.tsx +9 -0
  407. package/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx +3 -1
  408. package/src/lib/ui/components/primitives/TldrawUiIcon.tsx +15 -3
  409. package/src/lib/ui/components/primitives/TldrawUiInput.tsx +4 -0
  410. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +7 -0
  411. package/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx +0 -2
  412. package/src/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.tsx +0 -1
  413. package/src/lib/ui/context/actions.tsx +88 -1
  414. package/src/lib/ui/context/asset-urls.tsx +9 -8
  415. package/src/lib/ui/context/events.tsx +2 -0
  416. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +45 -7
  417. package/src/lib/ui/hooks/useTools.tsx +7 -1
  418. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +2 -0
  419. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +2 -0
  420. package/src/lib/ui/version.ts +3 -3
  421. package/src/lib/ui.css +20 -9
  422. package/src/lib/utils/embeds/embeds.test.ts +14 -12
  423. package/src/lib/utils/embeds/embeds.ts +10 -4
  424. package/src/lib/utils/test-helpers.ts +3 -3
  425. package/src/lib/utils/text/richText.test.ts +36 -0
  426. package/src/lib/utils/text/richText.ts +9 -1
  427. package/src/test/ClickManager.test.ts +33 -28
  428. package/src/test/HandTool.test.ts +98 -34
  429. package/src/test/ImageShapeUtil.test.ts +88 -0
  430. package/src/test/SelectTool.test.ts +102 -1
  431. package/src/test/__snapshots__/drawing.test.ts.snap +2 -1
  432. package/src/test/attribution.test.ts +40 -29
  433. package/src/test/bookmark-shapes.test.ts +256 -28
  434. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +4 -6
  435. package/src/test/commands/clipboardCallbacks.test.ts +3 -1
  436. package/src/test/commands/getSvgString.test.ts +30 -0
  437. package/src/test/commands/penmode.test.ts +97 -1
  438. package/src/test/commands/setCamera.test.ts +109 -1
  439. package/src/test/cropping.test.ts +7 -0
  440. package/src/test/dragFromToolbar.test.ts +67 -0
  441. package/src/test/drawing.test.ts +48 -7
  442. package/src/test/frames.test.ts +72 -0
  443. package/src/test/freehand/corpus/presets.ts +71 -0
  444. package/src/test/freehand/corpus/real.ts +370 -0
  445. package/src/test/freehand/corpus/strokes.ts +50 -0
  446. package/src/test/freehand/svg.test.ts +20 -0
  447. package/src/test/freehand/wellformed.test.ts +30 -0
  448. package/src/test/long-press-create.test.ts +102 -0
  449. package/src/test/overlays/CollaboratorBrushOverlayUtil.test.ts +4 -4
  450. package/src/test/overlays/CollaboratorCursorOverlayUtil.test.ts +18 -18
  451. package/src/test/overlays/CollaboratorHintOverlayUtil.test.ts +7 -7
  452. package/src/test/overlays/CollaboratorScribbleOverlayUtil.test.ts +3 -3
  453. package/src/test/overlays/OverlayManager.test.ts +1 -1
  454. package/src/test/overlays/SelectionForegroundOverlayUtil.test.ts +58 -0
  455. package/src/test/overlays/ShapeHandleOverlayUtil.test.ts +2 -2
  456. package/src/test/overlays/ShapeIndicatorOverlayUtil.test.ts +36 -0
  457. package/src/test/pinch-dom.test.tsx +170 -0
  458. package/src/test/pinch.test.ts +139 -0
  459. package/src/test/resizing.test.ts +250 -0
  460. package/src/test/right-click-context-menu.test.ts +90 -0
  461. package/src/test/rightClickPanning.test.ts +11 -0
  462. package/src/test/selection-omnibus.test.ts +19 -6
  463. package/src/test/spatialIndex.test.ts +132 -0
  464. package/src/test/translating.test.ts +0 -6
  465. package/src/test/ui/ContextMenu.test.tsx +146 -3
  466. package/src/test/ui/Dialogs.test.tsx +256 -0
  467. package/src/test/ui/copyHoveredStyles.test.tsx +154 -0
  468. package/src/test/ui/keyboardShortcuts.test.tsx +266 -0
  469. package/tldraw.css +35 -12
  470. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js +0 -100
  471. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js.map +0 -7
  472. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs +0 -80
  473. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs.map +0 -7
  474. package/src/lib/shapes/shared/freehand/setStrokePointRadii.ts +0 -127
@@ -58,7 +58,6 @@ import { Result } from '@tldraw/editor';
58
58
  import { RichTextFontVisitorState } from '@tldraw/editor';
59
59
  import { RotateCorner } from '@tldraw/editor';
60
60
  import { SerializedSchema } from '@tldraw/editor';
61
- import { ShapeIndicatorOverlayUtil } from '@tldraw/editor';
62
61
  import { ShapeUtil } from '@tldraw/editor';
63
62
  import { ShapeWithCrop } from '@tldraw/editor';
64
63
  import { SharedStyle } from '@tldraw/editor';
@@ -151,6 +150,7 @@ import { TLTextShape } from '@tldraw/editor';
151
150
  import { TLTheme } from '@tldraw/editor';
152
151
  import { TLThemeColors } from '@tldraw/editor';
153
152
  import { TLUrlExternalAsset } from '@tldraw/editor';
153
+ import { TLUserId } from '@tldraw/editor';
154
154
  import { TLVideoAsset } from '@tldraw/editor';
155
155
  import { TLVideoShape } from '@tldraw/editor';
156
156
  import { UnknownRecord } from '@tldraw/editor';
@@ -549,6 +549,7 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
549
549
  getText(shape: TLBookmarkShape): string;
550
550
  getAriaDescriptor(shape: TLBookmarkShape): string | undefined;
551
551
  getDefaultProps(): TLBookmarkShape['props'];
552
+ getGeometry(shape: TLBookmarkShape): Rectangle2d;
552
553
  component(shape: TLBookmarkShape): JSX.Element;
553
554
  getIndicatorPath(shape: TLBookmarkShape): Path2D;
554
555
  onBeforeCreate(next: TLBookmarkShape): {
@@ -832,7 +833,13 @@ export declare interface CopyAsOptions extends Omit<TLImageExportOptions, 'forma
832
833
  export declare function CopyMenuItem(): JSX.Element;
833
834
 
834
835
  /**
835
- * Creates a bookmark shape from a URL with unfurled metadata.
836
+ * Creates a bookmark shape from a URL.
837
+ *
838
+ * The shape is created immediately as a placeholder so the user gets visible
839
+ * feedback at the paste location, and the bookmark metadata (title, description,
840
+ * image, favicon) is fetched in the background. Once metadata resolves, the
841
+ * shape is patched with the resulting asset. If the fetch fails, the shape is
842
+ * left as a URL-only bookmark.
836
843
  *
837
844
  * @returns A Result containing the created bookmark shape or an error
838
845
  * @public
@@ -880,7 +887,7 @@ export declare interface CustomDebugFlags {
880
887
  }
881
888
 
882
889
  /** @public */
883
- export declare interface CustomEmbedDefinition extends EmbedDefinition {
890
+ export declare interface CustomEmbedDefinition<Config = never> extends EmbedDefinition<Config> {
884
891
  readonly icon: string;
885
892
  }
886
893
 
@@ -950,7 +957,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
950
957
  readonly 'allow-presentation': true;
951
958
  };
952
959
  readonly title: "Google Maps";
953
- readonly toEmbedUrl: (url: string) => string | undefined;
960
+ readonly toEmbedUrl: (url: string, config?: GoogleMapsEmbedConfig | undefined) => string | undefined;
954
961
  readonly type: "google_maps";
955
962
  readonly width: 720;
956
963
  }, {
@@ -1158,7 +1165,7 @@ export { DefaultContextMenu as ContextMenu }
1158
1165
  export { DefaultContextMenu }
1159
1166
 
1160
1167
  /** @public @react */
1161
- export declare function DefaultContextMenuContent(): JSX.Element | null;
1168
+ export declare function DefaultContextMenuContent(): JSX.Element;
1162
1169
 
1163
1170
  /** @public @react */
1164
1171
  export declare function DefaultDebugMenu({ children }: TLUiDebugMenuProps): JSX.Element;
@@ -1172,6 +1179,16 @@ export declare const DefaultDialogs: NamedExoticComponent<object>;
1172
1179
  /** @public */
1173
1180
  export declare let defaultEditorAssetUrls: TLEditorAssetUrls;
1174
1181
 
1182
+ /**
1183
+ * Per-embed configuration for the default embed definitions, keyed by embed type.
1184
+ * Passed to an embed definition's `toEmbedUrl` when building its embed URL.
1185
+ *
1186
+ * @public
1187
+ */
1188
+ export declare interface DefaultEmbedConfig {
1189
+ readonly google_maps?: GoogleMapsEmbedConfig;
1190
+ }
1191
+
1175
1192
  /** @public */
1176
1193
  export declare type DefaultEmbedDefinitionType = (typeof DEFAULT_EMBED_DEFINITIONS)[number]['type'];
1177
1194
 
@@ -1407,7 +1424,7 @@ export declare function DefaultMinimap(): JSX.Element;
1407
1424
  export declare const DefaultNavigationPanel: NamedExoticComponent<object>;
1408
1425
 
1409
1426
  /** @public */
1410
- export declare const defaultOverlayUtils: readonly [typeof CollaboratorShapeIndicatorOverlayUtil, typeof ShapeIndicatorOverlayUtil, typeof SelectionForegroundOverlayUtil, typeof ShapeHandleOverlayUtil, typeof BrushOverlayUtil, typeof ZoomBrushOverlayUtil, typeof SnapIndicatorOverlayUtil, typeof ScribbleOverlayUtil, typeof CollaboratorBrushOverlayUtil, typeof CollaboratorScribbleOverlayUtil, typeof CollaboratorHintOverlayUtil, typeof ArrowHintOverlayUtil, typeof ArrowBindingHintOverlayUtil, typeof CollaboratorCursorOverlayUtil];
1427
+ export declare const defaultOverlayUtils: readonly [typeof ArrowBindingHintOverlayUtil, typeof ArrowHintOverlayUtil, typeof BrushOverlayUtil, typeof CollaboratorBrushOverlayUtil, typeof CollaboratorCursorOverlayUtil, typeof CollaboratorHintOverlayUtil, typeof CollaboratorScribbleOverlayUtil, typeof CollaboratorShapeIndicatorOverlayUtil, typeof ScribbleOverlayUtil, typeof SelectionForegroundOverlayUtil, typeof ShapeHandleOverlayUtil, typeof ShapeIndicatorOverlayUtil, typeof SnapIndicatorOverlayUtil, typeof ZoomBrushOverlayUtil];
1411
1428
 
1412
1429
  /** @public @react */
1413
1430
  export declare const DefaultPageMenu: NamedExoticComponent<object>;
@@ -1425,7 +1442,7 @@ export declare function DefaultPeopleMenuContent({ userIds }: DefaultPeopleMenuC
1425
1442
 
1426
1443
  /** @public */
1427
1444
  export declare interface DefaultPeopleMenuContentProps {
1428
- userIds: string[];
1445
+ userIds: TLUserId[];
1429
1446
  }
1430
1447
 
1431
1448
  /** @public @react */
@@ -1874,7 +1891,7 @@ export declare interface ElbowArrowTargetBox extends ElbowArrowBox {
1874
1891
  export declare function EllipseToolbarItem(): JSX.Element;
1875
1892
 
1876
1893
  /** @public */
1877
- export declare interface EmbedDefinition {
1894
+ export declare interface EmbedDefinition<Config = never> {
1878
1895
  readonly type: string;
1879
1896
  readonly title: string;
1880
1897
  readonly hostnames: readonly string[];
@@ -1890,7 +1907,7 @@ export declare interface EmbedDefinition {
1890
1907
  readonly embedOnPaste?: boolean;
1891
1908
  readonly canEditWhileLocked?: boolean;
1892
1909
  readonly overrideOutlineRadius?: number;
1893
- readonly toEmbedUrl: (url: string) => string | undefined;
1910
+ readonly toEmbedUrl: (url: string, config?: Config) => string | undefined;
1894
1911
  readonly fromEmbedUrl: (url: string) => string | undefined;
1895
1912
  }
1896
1913
 
@@ -1898,6 +1915,15 @@ export declare interface EmbedDefinition {
1898
1915
  export declare interface EmbedShapeOptions extends ShapeOptionsWithDisplayValues<TLEmbedShape, EmbedShapeUtilDisplayValues> {
1899
1916
  /** The embed definitions to use for this shape util. */
1900
1917
  readonly embedDefinitions: readonly TLEmbedDefinition[];
1918
+ /**
1919
+ * Per-embed configuration, keyed by embed type. Passed to each definition's `toEmbedUrl` when
1920
+ * building its embed URL — for example, an API key for the default Google Maps embed:
1921
+ *
1922
+ * ```ts
1923
+ * EmbedShapeUtil.configure({ embedConfig: { google_maps: { apiKey: '...' } } })
1924
+ * ```
1925
+ */
1926
+ readonly embedConfig?: DefaultEmbedConfig & Record<string, unknown>;
1901
1927
  }
1902
1928
 
1903
1929
  /**
@@ -1932,7 +1958,7 @@ export declare class EmbedShapeUtil extends BaseBoxShapeUtil<TLEmbedShape> {
1932
1958
  canEditWhileLocked(shape: TLEmbedShape): boolean;
1933
1959
  private static legacyEmbedDefinitions;
1934
1960
  /** @deprecated - Use `EmbedShapeUtil.configure({ embedDefinitions: [...] })` instead. */
1935
- static setEmbedDefinitions(embedDefinitions: readonly EmbedDefinition[]): void;
1961
+ static setEmbedDefinitions(embedDefinitions: readonly TLEmbedDefinition[]): void;
1936
1962
  private getEmbedDefs;
1937
1963
  getEmbedDefinitions(): readonly TLEmbedDefinition[];
1938
1964
  getEmbedDefinition(url: string): TLEmbedResult;
@@ -2457,9 +2483,10 @@ export declare function getDisplayValues<Shape extends TLShape, DisplayValues ex
2457
2483
  * return undefined.
2458
2484
  *
2459
2485
  * @param inputUrl - The URL to match
2486
+ * @param embedConfig - Optional per-embed config, keyed by embed type, passed to `toEmbedUrl`
2460
2487
  * @public
2461
2488
  */
2462
- export declare function getEmbedInfo(definitions: readonly TLEmbedDefinition[], inputUrl: string): TLEmbedResult;
2489
+ export declare function getEmbedInfo(definitions: readonly TLEmbedDefinition[], inputUrl: string, embedConfig?: Record<string, unknown>): TLEmbedResult;
2463
2490
 
2464
2491
  /** @public */
2465
2492
  export declare function getFontFamily(theme: TLTheme, font: string): string;
@@ -2531,6 +2558,9 @@ export declare function getStrokePoints(rawInputPoints: VecLike[], options?: Str
2531
2558
  /**
2532
2559
  * Turn an array of stroke points into a path of quadratic curves.
2533
2560
  *
2561
+ * The path uses relative commands with coordinates rounded to hundredths of a pixel, which
2562
+ * renders identically to the absolute 4-decimal form but is much smaller and faster to build.
2563
+ *
2534
2564
  * @param points - The stroke points returned from perfect-freehand
2535
2565
  * @param closed - Whether the shape is closed
2536
2566
  *
@@ -2551,6 +2581,16 @@ export declare function getUncroppedSize(shapeSize: {
2551
2581
  w: number;
2552
2582
  };
2553
2583
 
2584
+ /**
2585
+ * Configuration for the default Google Maps embed. Provide an `apiKey` through
2586
+ * {@link EmbedShapeUtil}'s `embedConfig` option to render Google Maps embeds.
2587
+ *
2588
+ * @public
2589
+ */
2590
+ export declare interface GoogleMapsEmbedConfig {
2591
+ readonly apiKey?: string;
2592
+ }
2593
+
2554
2594
  /** @public @react */
2555
2595
  export declare function GroupMenuItem(): JSX.Element | null;
2556
2596
 
@@ -2571,8 +2611,6 @@ export declare class HandTool extends StateNode {
2571
2611
  static isLockable: boolean;
2572
2612
  static children(): TLStateNodeConstructor[];
2573
2613
  onDoubleClick(info: TLClickEventInfo): void;
2574
- onTripleClick(info: TLClickEventInfo): void;
2575
- onQuadrupleClick(info: TLClickEventInfo): void;
2576
2614
  }
2577
2615
 
2578
2616
  /** @public @react */
@@ -2926,7 +2964,7 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2926
2964
  };
2927
2965
  scale: number;
2928
2966
  size: "l" | "m" | "s" | "xl";
2929
- textFirstEditedBy: null | string;
2967
+ textLastEditedBy: null | string;
2930
2968
  url: string;
2931
2969
  verticalAlign: "end" | "middle" | "start";
2932
2970
  };
@@ -3010,6 +3048,12 @@ export declare interface OnDragFromToolbarToCreateShapesOpts {
3010
3048
  * Called once the drag interaction has finished.
3011
3049
  */
3012
3050
  onDragEnd?(id: TLShapeId): void;
3051
+ /**
3052
+ * The id of the toolbar tool to keep highlighted while dragging. Defaults to the created shape's
3053
+ * type. Set this when the dragged shape's type differs from the tool it's dragged from — for
3054
+ * example, dragging a `draw` shape out from the select tool.
3055
+ */
3056
+ maskedToolId?: string;
3013
3057
  }
3014
3058
 
3015
3059
  /** @public @react */
@@ -3484,9 +3528,6 @@ export declare function serializeTldrawJsonBlob(editor: Editor): Promise<Blob>;
3484
3528
 
3485
3529
  /* Excluded from this release type: setDefaultUiAssetUrls */
3486
3530
 
3487
- /** @public */
3488
- export declare function setStrokePointRadii(strokePoints: StrokePoint[], options: StrokeOptions): StrokePoint[];
3489
-
3490
3531
  /**
3491
3532
  * Overlay util for shape handles (arrow endpoints, line vertices, etc.).
3492
3533
  *
@@ -3505,6 +3546,32 @@ export declare class ShapeHandleOverlayUtil extends OverlayUtil<TLShapeHandleOve
3505
3546
  render(ctx: CanvasRenderingContext2D, overlays: TLShapeHandleOverlay[]): void;
3506
3547
  }
3507
3548
 
3549
+ /**
3550
+ * Overlay util for shape indicators — the selection / hover / hint outlines drawn
3551
+ * under the selection foreground. Paints local indicators in the theme's
3552
+ * selection color.
3553
+ *
3554
+ * Remote collaborator selection indicators are drawn by a separate overlay util
3555
+ * (e.g. `CollaboratorShapeIndicatorOverlayUtil` from `tldraw`) that runs at a
3556
+ * lower z-index so peer selections appear under the local indicators.
3557
+ *
3558
+ * Non-interactive: contributes no hit-test geometry.
3559
+ *
3560
+ * @public
3561
+ */
3562
+ export declare class ShapeIndicatorOverlayUtil extends OverlayUtil<TLShapeIndicatorOverlay> {
3563
+ static type: string;
3564
+ options: {
3565
+ hintedLineWidth: number;
3566
+ lineWidth: number;
3567
+ zIndex: number;
3568
+ };
3569
+ private _instanceFlags$;
3570
+ isActive(): boolean;
3571
+ getOverlays(): TLShapeIndicatorOverlay[];
3572
+ render(ctx: CanvasRenderingContext2D, overlays: TLShapeIndicatorOverlay[]): void;
3573
+ }
3574
+
3508
3575
  /** @public */
3509
3576
  export declare interface ShapeOptionsWithDisplayValues<Shape extends TLShape, DisplayValues extends object> {
3510
3577
  getDefaultDisplayValues(editor: Editor, shape: Shape, theme: TLTheme, colorMode: 'dark' | 'light'): DisplayValues;
@@ -3598,7 +3665,6 @@ export declare interface StrokeOptions {
3598
3665
  export declare interface StrokePoint {
3599
3666
  point: Vec;
3600
3667
  input: Vec;
3601
- vector: Vec;
3602
3668
  pressure: number;
3603
3669
  distance: number;
3604
3670
  runningLength: number;
@@ -4261,7 +4327,7 @@ export declare function TldrawUiDialogTitle({ className, children, style }: TLUi
4261
4327
  export declare function TldrawUiDropdownMenuCheckboxItem({ children, onSelect, ...rest }: TLUiDropdownMenuCheckboxItemProps): JSX.Element;
4262
4328
 
4263
4329
  /** @public @react */
4264
- export declare function TldrawUiDropdownMenuContent({ className, side, align, sideOffset, alignOffset, children }: TLUiDropdownMenuContentProps): JSX.Element;
4330
+ export declare function TldrawUiDropdownMenuContent({ className, side, align, sideOffset, alignOffset, collisionPadding, children }: TLUiDropdownMenuContentProps): JSX.Element;
4265
4331
 
4266
4332
  /** @public @react */
4267
4333
  export declare function TldrawUiDropdownMenuGroup({ className, children }: TLUiDropdownMenuGroupProps): JSX.Element;
@@ -4353,7 +4419,7 @@ export declare interface TldrawUiOrientationProviderProps {
4353
4419
  export declare function TldrawUiPopover({ id, children, onOpenChange, open, className }: TLUiPopoverProps): JSX.Element;
4354
4420
 
4355
4421
  /** @public @react */
4356
- export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton }: TLUiPopoverContentProps): JSX.Element;
4422
+ export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, collisionPadding, disableEscapeKeyDown, autoFocusFirstButton }: TLUiPopoverContentProps): JSX.Element;
4357
4423
 
4358
4424
  /** @public @react */
4359
4425
  export declare function TldrawUiPopoverTrigger({ children }: TLUiPopoverTriggerProps): JSX.Element;
@@ -4524,7 +4590,7 @@ export declare interface TLElbowArrowInfo {
4524
4590
  }
4525
4591
 
4526
4592
  /** @public */
4527
- export declare type TLEmbedDefinition = CustomEmbedDefinition | EmbedDefinition;
4593
+ export declare type TLEmbedDefinition = CustomEmbedDefinition<any> | EmbedDefinition<any>;
4528
4594
 
4529
4595
  /** @public */
4530
4596
  export declare type TLEmbedResult = {
@@ -4593,6 +4659,14 @@ export declare interface TLShapeHandleOverlay extends TLOverlay {
4593
4659
  };
4594
4660
  }
4595
4661
 
4662
+ /** @public */
4663
+ export declare interface TLShapeIndicatorOverlay extends TLOverlay {
4664
+ props: {
4665
+ hintingShapeIds: TLShapeId_2[];
4666
+ idsToDisplay: TLShapeId_2[];
4667
+ };
4668
+ }
4669
+
4596
4670
  /** @public */
4597
4671
  export declare interface TLSnapIndicatorOverlay extends TLOverlay {
4598
4672
  props: {
@@ -4861,6 +4935,7 @@ export declare interface TLUiDropdownMenuContentProps {
4861
4935
  align?: 'center' | 'end' | 'start';
4862
4936
  sideOffset?: number;
4863
4937
  alignOffset?: number;
4938
+ collisionPadding?: number;
4864
4939
  children: ReactNode;
4865
4940
  }
4866
4941
 
@@ -4948,6 +5023,7 @@ export declare interface TLUiEventMap {
4948
5023
  'rename-document': null;
4949
5024
  'group-shapes': null;
4950
5025
  'ungroup-shapes': null;
5026
+ 'frame-selection': null;
4951
5027
  'remove-frame': null;
4952
5028
  'fit-frame-to-content': null;
4953
5029
  'convert-to-embed': null;
@@ -5080,6 +5156,7 @@ export declare interface TLUiEventMap {
5080
5156
  operation: 'bold' | 'bulletList' | 'heading' | 'link-edit' | 'link-remove' | 'link-visit' | 'link' | 'strike';
5081
5157
  };
5082
5158
  edit: null;
5159
+ 'copy-hovered-styles': null;
5083
5160
  }
5084
5161
 
5085
5162
  /** @public */
@@ -5103,6 +5180,7 @@ export declare interface TLUiIconProps extends React.HTMLAttributes<HTMLDivEleme
5103
5180
  icon: Exclude<string, TLUiIconType> | TLUiIconJsx | TLUiIconType;
5104
5181
  label: string;
5105
5182
  small?: boolean;
5183
+ tiny?: boolean;
5106
5184
  color?: string;
5107
5185
  children?: undefined;
5108
5186
  invertIcon?: boolean;
@@ -5128,6 +5206,8 @@ export declare interface TLUiInputProps {
5128
5206
  autoSelect?: boolean;
5129
5207
  children?: React_2.ReactNode;
5130
5208
  defaultValue?: string;
5209
+ /** Maximum number of characters the input will accept. */
5210
+ maxLength?: number;
5131
5211
  placeholder?: string;
5132
5212
  onComplete?(value: string): void;
5133
5213
  onValueChange?(value: string): void;
@@ -5301,19 +5381,19 @@ export declare interface TLUiOverrides {
5301
5381
 
5302
5382
  /** @public */
5303
5383
  export declare interface TLUiPeopleMenuAvatarProps {
5304
- userId: string;
5384
+ userId: TLUserId;
5305
5385
  }
5306
5386
 
5307
5387
  /** @public */
5308
5388
  export declare interface TLUiPeopleMenuFacePileProps {
5309
- userIds: string[];
5389
+ userIds: TLUserId[];
5310
5390
  userName: string;
5311
5391
  userColor: string;
5312
5392
  }
5313
5393
 
5314
5394
  /** @public */
5315
5395
  export declare interface TLUiPeopleMenuItemProps {
5316
- userId: string;
5396
+ userId: TLUserId;
5317
5397
  }
5318
5398
 
5319
5399
  /** @public */
@@ -5323,6 +5403,11 @@ export declare interface TLUiPopoverContentProps {
5323
5403
  align?: 'center' | 'end' | 'start';
5324
5404
  alignOffset?: number;
5325
5405
  sideOffset?: number;
5406
+ /**
5407
+ * Minimum distance to keep between the popover and the viewport edge before it
5408
+ * shifts to stay in view. Defaults to Radix's `0`.
5409
+ */
5410
+ collisionPadding?: number;
5326
5411
  disableEscapeKeyDown?: boolean;
5327
5412
  autoFocusFirstButton?: boolean;
5328
5413
  }
@@ -5534,7 +5619,7 @@ export declare interface TLUiTranslation {
5534
5619
  export declare type TLUiTranslationContextType = TLUiTranslation;
5535
5620
 
5536
5621
  /** @public */
5537
- export declare type TLUiTranslationKey = 'a11y.adjust-shape-styles' | 'a11y.enlarge-shape' | 'a11y.enter-leave-container' | 'a11y.move-shape-faster' | 'a11y.move-shape' | 'a11y.multiple-shapes' | 'a11y.open-context-menu' | 'a11y.open-keyboard-shortcuts' | 'a11y.pan-camera' | 'a11y.repeat-shape' | 'a11y.rotate-shape-ccw-fine' | 'a11y.rotate-shape-ccw' | 'a11y.rotate-shape-cw-fine' | 'a11y.rotate-shape-cw' | 'a11y.select-shape-direction' | 'a11y.select-shape' | 'a11y.shape-image' | 'a11y.shape-index' | 'a11y.shape-video' | 'a11y.shrink-shape' | 'a11y.skip-to-main-content' | 'a11y.status' | 'action.align-bottom' | 'action.align-center-horizontal.short' | 'action.align-center-horizontal' | 'action.align-center-vertical.short' | 'action.align-center-vertical' | 'action.align-left' | 'action.align-right' | 'action.align-top' | 'action.back-to-content' | 'action.bring-forward' | 'action.bring-to-front' | 'action.convert-to-bookmark' | 'action.convert-to-embed' | 'action.copy-as-json.short' | 'action.copy-as-json' | 'action.copy-as-png.short' | 'action.copy-as-png' | 'action.copy-as-svg.short' | 'action.copy-as-svg' | 'action.copy' | 'action.cut' | 'action.delete' | 'action.distribute-horizontal.short' | 'action.distribute-horizontal' | 'action.distribute-vertical.short' | 'action.distribute-vertical' | 'action.download-original' | 'action.duplicate' | 'action.edit-link' | 'action.enhanced-a11y-mode.menu' | 'action.enhanced-a11y-mode' | 'action.exit-pen-mode' | 'action.export-all-as-png.short' | 'action.export-all-as-png' | 'action.export-all-as-svg.short' | 'action.export-all-as-svg' | 'action.export-as-png.short' | 'action.export-as-png' | 'action.export-as-svg.short' | 'action.export-as-svg' | 'action.fit-frame-to-content' | 'action.flatten-to-image' | 'action.flip-horizontal.short' | 'action.flip-horizontal' | 'action.flip-vertical.short' | 'action.flip-vertical' | 'action.fork-project-on-tldraw' | 'action.fork-project' | 'action.group' | 'action.insert-embed' | 'action.insert-media' | 'action.leave-shared-project' | 'action.new-project' | 'action.new-shared-project' | 'action.open-cursor-chat' | 'action.open-embed-link' | 'action.open-file' | 'action.open-kbd-shortcuts' | 'action.pack' | 'action.paste-error-description' | 'action.paste-error-title' | 'action.paste' | 'action.print' | 'action.redo' | 'action.remove-frame' | 'action.rename' | 'action.rotate-ccw' | 'action.rotate-cw' | 'action.save-copy' | 'action.select-all' | 'action.select-none' | 'action.select-zoom-tool' | 'action.send-backward' | 'action.send-to-back' | 'action.share-project' | 'action.stack-horizontal.short' | 'action.stack-horizontal' | 'action.stack-vertical.short' | 'action.stack-vertical' | 'action.stop-following' | 'action.stretch-horizontal.short' | 'action.stretch-horizontal' | 'action.stretch-vertical.short' | 'action.stretch-vertical' | 'action.toggle-auto-none' | 'action.toggle-auto-pan' | 'action.toggle-auto-size' | 'action.toggle-auto-zoom' | 'action.toggle-dark-mode.menu' | 'action.toggle-dark-mode' | 'action.toggle-debug-mode.menu' | 'action.toggle-debug-mode' | 'action.toggle-dynamic-size-mode.menu' | 'action.toggle-dynamic-size-mode' | 'action.toggle-edge-scrolling.menu' | 'action.toggle-edge-scrolling' | 'action.toggle-focus-mode.menu' | 'action.toggle-focus-mode' | 'action.toggle-grid.menu' | 'action.toggle-grid' | 'action.toggle-invert-zoom.menu' | 'action.toggle-invert-zoom' | 'action.toggle-keyboard-shortcuts.menu' | 'action.toggle-keyboard-shortcuts' | 'action.toggle-lock' | 'action.toggle-mouse' | 'action.toggle-paste-at-cursor.menu' | 'action.toggle-paste-at-cursor' | 'action.toggle-reduce-motion.menu' | 'action.toggle-reduce-motion' | 'action.toggle-snap-mode.menu' | 'action.toggle-snap-mode' | 'action.toggle-tool-lock.menu' | 'action.toggle-tool-lock' | 'action.toggle-trackpad' | 'action.toggle-transparent.context-menu' | 'action.toggle-transparent.menu' | 'action.toggle-transparent' | 'action.toggle-wrap-mode.menu' | 'action.toggle-wrap-mode' | 'action.undo' | 'action.ungroup' | 'action.unlock-all' | 'action.zoom-in' | 'action.zoom-out' | 'action.zoom-quick' | 'action.zoom-to-100' | 'action.zoom-to-fit' | 'action.zoom-to-selection' | 'actions-menu.title' | 'align-style.end' | 'align-style.justify' | 'align-style.middle' | 'align-style.start' | 'app.loading' | 'arrow-kind-style.arc' | 'arrow-kind-style.elbow' | 'arrowheadEnd-style.arrow' | 'arrowheadEnd-style.bar' | 'arrowheadEnd-style.diamond' | 'arrowheadEnd-style.dot' | 'arrowheadEnd-style.inverted' | 'arrowheadEnd-style.none' | 'arrowheadEnd-style.pipe' | 'arrowheadEnd-style.square' | 'arrowheadEnd-style.triangle' | 'arrowheadStart-style.arrow' | 'arrowheadStart-style.bar' | 'arrowheadStart-style.diamond' | 'arrowheadStart-style.dot' | 'arrowheadStart-style.inverted' | 'arrowheadStart-style.none' | 'arrowheadStart-style.pipe' | 'arrowheadStart-style.square' | 'arrowheadStart-style.triangle' | 'assets.files.amount-too-many' | 'assets.files.maximum-size' | 'assets.files.size-too-big' | 'assets.files.type-not-allowed' | 'assets.files.upload-failed' | 'assets.url.failed' | 'color-style.black' | 'color-style.blue' | 'color-style.green' | 'color-style.grey' | 'color-style.light-blue' | 'color-style.light-green' | 'color-style.light-red' | 'color-style.light-violet' | 'color-style.orange' | 'color-style.red' | 'color-style.violet' | 'color-style.white' | 'color-style.yellow' | 'context-menu.arrange' | 'context-menu.copy-as' | 'context-menu.edit' | 'context-menu.export-all-as' | 'context-menu.export-as' | 'context-menu.move-to-page' | 'context-menu.reorder' | 'context-menu.title' | 'context.pages.new-page' | 'cursor-chat.type-to-chat' | 'dash-style.dashed' | 'dash-style.dotted' | 'dash-style.draw' | 'dash-style.solid' | 'document-name-menu.copy-link' | 'document.default-name' | 'edit-link-dialog.cancel' | 'edit-link-dialog.clear' | 'edit-link-dialog.detail' | 'edit-link-dialog.external-link' | 'edit-link-dialog.invalid-url' | 'edit-link-dialog.save' | 'edit-link-dialog.title' | 'edit-link-dialog.url' | 'embed-dialog.back' | 'embed-dialog.cancel' | 'embed-dialog.create' | 'embed-dialog.instruction' | 'embed-dialog.invalid-url' | 'embed-dialog.title' | 'embed-dialog.url' | 'file-system.confirm-clear.cancel' | 'file-system.confirm-clear.continue' | 'file-system.confirm-clear.description' | 'file-system.confirm-clear.dont-show-again' | 'file-system.confirm-clear.title' | 'file-system.confirm-open.cancel' | 'file-system.confirm-open.description' | 'file-system.confirm-open.dont-show-again' | 'file-system.confirm-open.open' | 'file-system.confirm-open.title' | 'file-system.file-open-error.file-format-version-too-new' | 'file-system.file-open-error.generic-corrupted-file' | 'file-system.file-open-error.not-a-tldraw-file' | 'file-system.file-open-error.title' | 'file-system.shared-document-file-open-error.description' | 'file-system.shared-document-file-open-error.title' | 'fill-style.fill' | 'fill-style.lined-fill' | 'fill-style.none' | 'fill-style.pattern' | 'fill-style.semi' | 'fill-style.solid' | 'focus-mode.toggle-focus-mode' | 'font-style.draw' | 'font-style.mono' | 'font-style.sans' | 'font-style.serif' | 'geo-style.arrow-down' | 'geo-style.arrow-left' | 'geo-style.arrow-right' | 'geo-style.arrow-up' | 'geo-style.check-box' | 'geo-style.cloud' | 'geo-style.diamond' | 'geo-style.ellipse' | 'geo-style.heart' | 'geo-style.hexagon' | 'geo-style.octagon' | 'geo-style.oval' | 'geo-style.pentagon' | 'geo-style.rectangle' | 'geo-style.rhombus-2' | 'geo-style.rhombus' | 'geo-style.star' | 'geo-style.trapezoid' | 'geo-style.triangle' | 'geo-style.x-box' | 'handle.crop.bottom-left' | 'handle.crop.bottom-right' | 'handle.crop.bottom' | 'handle.crop.left' | 'handle.crop.right' | 'handle.crop.top-left' | 'handle.crop.top-right' | 'handle.crop.top' | 'handle.resize-bottom-left' | 'handle.resize-bottom-right' | 'handle.resize-bottom' | 'handle.resize-left' | 'handle.resize-right' | 'handle.resize-top-left' | 'handle.resize-top-right' | 'handle.resize-top' | 'handle.rotate.bottom_left_rotate' | 'handle.rotate.bottom_right_rotate' | 'handle.rotate.mobile_rotate' | 'handle.rotate.top_left_rotate' | 'handle.rotate.top_right_rotate' | 'help-menu.about' | 'help-menu.discord' | 'help-menu.github' | 'help-menu.import-tldr-file' | 'help-menu.keyboard-shortcuts' | 'help-menu.privacy' | 'help-menu.terms' | 'help-menu.title' | 'help-menu.twitter' | 'menu.accessibility' | 'menu.color-theme' | 'menu.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | 'menu.input-device' | 'menu.language' | 'menu.preferences' | 'menu.theme' | 'menu.title' | 'menu.view' | 'navigation-zone.minimap' | 'navigation-zone.title' | 'navigation-zone.toggle-minimap' | 'navigation-zone.zoom' | 'opacity-style.0.1' | 'opacity-style.0.25' | 'opacity-style.0.5' | 'opacity-style.0.75' | 'opacity-style.1' | 'page-menu.create-new-page' | 'page-menu.edit-done' | 'page-menu.edit-start' | 'page-menu.go-to-page' | 'page-menu.max-pages-reached' | 'page-menu.new-page-initial-name' | 'page-menu.resize' | 'page-menu.submenu.delete' | 'page-menu.submenu.duplicate-page' | 'page-menu.submenu.move-down' | 'page-menu.submenu.move-up' | 'page-menu.submenu.rename' | 'page-menu.submenu.title' | 'page-menu.title' | 'people-menu.anonymous-user' | 'people-menu.avatar-color' | 'people-menu.change-color' | 'people-menu.change-name' | 'people-menu.follow' | 'people-menu.following' | 'people-menu.invite' | 'people-menu.leading' | 'people-menu.title' | 'people-menu.user' | 'share-menu.copied' | 'share-menu.copy-link-note' | 'share-menu.copy-link' | 'share-menu.copy-readonly-link-note' | 'share-menu.copy-readonly-link' | 'share-menu.create-snapshot-link' | 'share-menu.creating-project' | 'share-menu.fork-note' | 'share-menu.offline-note' | 'share-menu.project-too-large' | 'share-menu.save-note' | 'share-menu.share-project' | 'share-menu.snapshot-link-note' | 'share-menu.title' | 'share-menu.upload-failed' | 'sharing.confirm-leave.cancel' | 'sharing.confirm-leave.description' | 'sharing.confirm-leave.dont-show-again' | 'sharing.confirm-leave.leave' | 'sharing.confirm-leave.title' | 'shortcuts-dialog.a11y' | 'shortcuts-dialog.collaboration' | 'shortcuts-dialog.edit' | 'shortcuts-dialog.file' | 'shortcuts-dialog.preferences' | 'shortcuts-dialog.text-formatting' | 'shortcuts-dialog.title' | 'shortcuts-dialog.tools' | 'shortcuts-dialog.transform' | 'shortcuts-dialog.view' | 'size-style.l' | 'size-style.m' | 'size-style.s' | 'size-style.xl' | 'spline-style.cubic' | 'spline-style.line' | 'status.offline' | 'style-panel.align' | 'style-panel.arrow-kind' | 'style-panel.arrowhead-end' | 'style-panel.arrowhead-start' | 'style-panel.arrowheads' | 'style-panel.color' | 'style-panel.dash' | 'style-panel.fill' | 'style-panel.font' | 'style-panel.geo' | 'style-panel.label-align' | 'style-panel.mixed' | 'style-panel.opacity' | 'style-panel.position' | 'style-panel.selected' | 'style-panel.size' | 'style-panel.spline' | 'style-panel.title' | 'style-panel.vertical-align' | 'theme.dark' | 'theme.light' | 'theme.system' | 'toast.close' | 'toast.error.copy-fail.desc' | 'toast.error.copy-fail.title' | 'toast.error.export-fail.desc' | 'toast.error.export-fail.title' | 'toast.error' | 'toast.info' | 'toast.success' | 'toast.warning' | 'tool-panel.more' | 'tool-panel.title' | 'tool.arrow-down' | 'tool.arrow-left' | 'tool.arrow-right' | 'tool.arrow-up' | 'tool.arrow' | 'tool.aspect-ratio.circle' | 'tool.aspect-ratio.landscape' | 'tool.aspect-ratio.original' | 'tool.aspect-ratio.portrait' | 'tool.aspect-ratio.square' | 'tool.aspect-ratio.wide' | 'tool.aspect-ratio' | 'tool.bookmark' | 'tool.check-box' | 'tool.cloud' | 'tool.diamond' | 'tool.draw' | 'tool.ellipse' | 'tool.embed' | 'tool.eraser' | 'tool.flip-horz' | 'tool.flip-vert' | 'tool.frame' | 'tool.hand' | 'tool.heart' | 'tool.hexagon' | 'tool.highlight' | 'tool.image-crop-confirm' | 'tool.image-crop' | 'tool.image-toolbar-title' | 'tool.image-zoom' | 'tool.laser' | 'tool.line' | 'tool.media-alt-text-confirm' | 'tool.media-alt-text-desc' | 'tool.media-alt-text' | 'tool.media' | 'tool.note' | 'tool.octagon' | 'tool.oval' | 'tool.pentagon' | 'tool.pointer-down' | 'tool.rectangle' | 'tool.replace-media' | 'tool.rhombus' | 'tool.rich-text-bold' | 'tool.rich-text-bulletList' | 'tool.rich-text-code' | 'tool.rich-text-header' | 'tool.rich-text-highlight' | 'tool.rich-text-italic' | 'tool.rich-text-link-remove' | 'tool.rich-text-link-visit' | 'tool.rich-text-link' | 'tool.rich-text-orderedList' | 'tool.rich-text-strikethrough' | 'tool.rich-text-toolbar-title' | 'tool.rotate-cw' | 'tool.select' | 'tool.star' | 'tool.text' | 'tool.trapezoid' | 'tool.triangle' | 'tool.x-box' | 'ui.checked' | 'ui.close' | 'ui.unchecked' | 'verticalAlign-style.end' | 'verticalAlign-style.middle' | 'verticalAlign-style.start' | 'vscode.file-open.backup-failed' | 'vscode.file-open.backup-saved' | 'vscode.file-open.backup' | 'vscode.file-open.desc' | 'vscode.file-open.dont-show-again' | 'vscode.file-open.open';
5622
+ export declare type TLUiTranslationKey = 'a11y.adjust-shape-styles' | 'a11y.enlarge-shape' | 'a11y.enter-leave-container' | 'a11y.move-shape-faster' | 'a11y.move-shape' | 'a11y.multiple-shapes' | 'a11y.open-context-menu' | 'a11y.open-keyboard-shortcuts' | 'a11y.pan-camera' | 'a11y.repeat-shape' | 'a11y.rotate-shape-ccw-fine' | 'a11y.rotate-shape-ccw' | 'a11y.rotate-shape-cw-fine' | 'a11y.rotate-shape-cw' | 'a11y.select-shape-direction' | 'a11y.select-shape' | 'a11y.shape-image' | 'a11y.shape-index' | 'a11y.shape-video' | 'a11y.shrink-shape' | 'a11y.skip-to-main-content' | 'a11y.status' | 'action.align-bottom' | 'action.align-center-horizontal.short' | 'action.align-center-horizontal' | 'action.align-center-vertical.short' | 'action.align-center-vertical' | 'action.align-left' | 'action.align-right' | 'action.align-top' | 'action.back-to-content' | 'action.bring-forward' | 'action.bring-to-front' | 'action.convert-to-bookmark' | 'action.convert-to-embed' | 'action.copy-as-json.short' | 'action.copy-as-json' | 'action.copy-as-png.short' | 'action.copy-as-png' | 'action.copy-as-svg.short' | 'action.copy-as-svg' | 'action.copy-hovered-styles' | 'action.copy' | 'action.cut' | 'action.delete' | 'action.distribute-horizontal.short' | 'action.distribute-horizontal' | 'action.distribute-vertical.short' | 'action.distribute-vertical' | 'action.download-original' | 'action.duplicate' | 'action.edit-link' | 'action.enhanced-a11y-mode.menu' | 'action.enhanced-a11y-mode' | 'action.exit-pen-mode' | 'action.export-all-as-png.short' | 'action.export-all-as-png' | 'action.export-all-as-svg.short' | 'action.export-all-as-svg' | 'action.export-as-png.short' | 'action.export-as-png' | 'action.export-as-svg.short' | 'action.export-as-svg' | 'action.fit-frame-to-content' | 'action.flatten-to-image' | 'action.flip-horizontal.short' | 'action.flip-horizontal' | 'action.flip-vertical.short' | 'action.flip-vertical' | 'action.fork-project-on-tldraw' | 'action.fork-project' | 'action.frame-selection' | 'action.group' | 'action.insert-embed' | 'action.insert-media' | 'action.leave-shared-project' | 'action.new-project' | 'action.new-shared-project' | 'action.open-cursor-chat' | 'action.open-embed-link' | 'action.open-file' | 'action.open-kbd-shortcuts' | 'action.pack' | 'action.paste-error-description' | 'action.paste-error-title' | 'action.paste' | 'action.print' | 'action.redo' | 'action.remove-frame' | 'action.rename' | 'action.rotate-ccw' | 'action.rotate-cw' | 'action.save-copy' | 'action.select-all' | 'action.select-none' | 'action.select-zoom-tool' | 'action.send-backward' | 'action.send-to-back' | 'action.share-project' | 'action.stack-horizontal.short' | 'action.stack-horizontal' | 'action.stack-vertical.short' | 'action.stack-vertical' | 'action.stop-following' | 'action.stretch-horizontal.short' | 'action.stretch-horizontal' | 'action.stretch-vertical.short' | 'action.stretch-vertical' | 'action.toggle-auto-none' | 'action.toggle-auto-pan' | 'action.toggle-auto-size' | 'action.toggle-auto-zoom' | 'action.toggle-dark-mode.menu' | 'action.toggle-dark-mode' | 'action.toggle-debug-mode.menu' | 'action.toggle-debug-mode' | 'action.toggle-dynamic-size-mode.menu' | 'action.toggle-dynamic-size-mode' | 'action.toggle-edge-scrolling.menu' | 'action.toggle-edge-scrolling' | 'action.toggle-focus-mode.menu' | 'action.toggle-focus-mode' | 'action.toggle-grid.menu' | 'action.toggle-grid' | 'action.toggle-invert-zoom.menu' | 'action.toggle-invert-zoom' | 'action.toggle-keyboard-shortcuts.menu' | 'action.toggle-keyboard-shortcuts' | 'action.toggle-lock' | 'action.toggle-mouse' | 'action.toggle-paste-at-cursor.menu' | 'action.toggle-paste-at-cursor' | 'action.toggle-reduce-motion.menu' | 'action.toggle-reduce-motion' | 'action.toggle-snap-mode.menu' | 'action.toggle-snap-mode' | 'action.toggle-tool-lock.menu' | 'action.toggle-tool-lock' | 'action.toggle-trackpad' | 'action.toggle-transparent.context-menu' | 'action.toggle-transparent.menu' | 'action.toggle-transparent' | 'action.toggle-wrap-mode.menu' | 'action.toggle-wrap-mode' | 'action.undo' | 'action.ungroup' | 'action.unlock-all' | 'action.zoom-in' | 'action.zoom-out' | 'action.zoom-quick' | 'action.zoom-to-100' | 'action.zoom-to-fit' | 'action.zoom-to-selection' | 'actions-menu.title' | 'align-style.end' | 'align-style.justify' | 'align-style.middle' | 'align-style.start' | 'app.loading' | 'arrow-kind-style.arc' | 'arrow-kind-style.elbow' | 'arrowheadEnd-style.arrow' | 'arrowheadEnd-style.bar' | 'arrowheadEnd-style.diamond' | 'arrowheadEnd-style.dot' | 'arrowheadEnd-style.inverted' | 'arrowheadEnd-style.none' | 'arrowheadEnd-style.pipe' | 'arrowheadEnd-style.square' | 'arrowheadEnd-style.triangle' | 'arrowheadStart-style.arrow' | 'arrowheadStart-style.bar' | 'arrowheadStart-style.diamond' | 'arrowheadStart-style.dot' | 'arrowheadStart-style.inverted' | 'arrowheadStart-style.none' | 'arrowheadStart-style.pipe' | 'arrowheadStart-style.square' | 'arrowheadStart-style.triangle' | 'assets.files.amount-too-many' | 'assets.files.maximum-size' | 'assets.files.size-too-big' | 'assets.files.type-not-allowed' | 'assets.files.upload-failed' | 'assets.url.failed' | 'color-style.black' | 'color-style.blue' | 'color-style.green' | 'color-style.grey' | 'color-style.light-blue' | 'color-style.light-green' | 'color-style.light-red' | 'color-style.light-violet' | 'color-style.orange' | 'color-style.red' | 'color-style.violet' | 'color-style.white' | 'color-style.yellow' | 'context-menu.arrange' | 'context-menu.copy-as' | 'context-menu.edit' | 'context-menu.export-all-as' | 'context-menu.export-as' | 'context-menu.move-to-page' | 'context-menu.reorder' | 'context-menu.title' | 'context.pages.new-page' | 'cursor-chat.type-to-chat' | 'dash-style.dashed' | 'dash-style.dotted' | 'dash-style.draw' | 'dash-style.solid' | 'document-name-menu.copy-link' | 'document.default-name' | 'edit-link-dialog.cancel' | 'edit-link-dialog.clear' | 'edit-link-dialog.detail' | 'edit-link-dialog.external-link' | 'edit-link-dialog.invalid-url' | 'edit-link-dialog.save' | 'edit-link-dialog.title' | 'edit-link-dialog.url' | 'embed-dialog.back' | 'embed-dialog.cancel' | 'embed-dialog.create' | 'embed-dialog.instruction' | 'embed-dialog.invalid-url' | 'embed-dialog.title' | 'embed-dialog.url' | 'file-system.confirm-clear.cancel' | 'file-system.confirm-clear.continue' | 'file-system.confirm-clear.description' | 'file-system.confirm-clear.dont-show-again' | 'file-system.confirm-clear.title' | 'file-system.confirm-open.cancel' | 'file-system.confirm-open.description' | 'file-system.confirm-open.dont-show-again' | 'file-system.confirm-open.open' | 'file-system.confirm-open.title' | 'file-system.file-open-error.file-format-version-too-new' | 'file-system.file-open-error.generic-corrupted-file' | 'file-system.file-open-error.not-a-tldraw-file' | 'file-system.file-open-error.title' | 'file-system.shared-document-file-open-error.description' | 'file-system.shared-document-file-open-error.title' | 'fill-style.fill' | 'fill-style.lined-fill' | 'fill-style.none' | 'fill-style.pattern' | 'fill-style.semi' | 'fill-style.solid' | 'focus-mode.toggle-focus-mode' | 'font-style.draw' | 'font-style.mono' | 'font-style.sans' | 'font-style.serif' | 'geo-style.arrow-down' | 'geo-style.arrow-left' | 'geo-style.arrow-right' | 'geo-style.arrow-up' | 'geo-style.check-box' | 'geo-style.cloud' | 'geo-style.diamond' | 'geo-style.ellipse' | 'geo-style.heart' | 'geo-style.hexagon' | 'geo-style.octagon' | 'geo-style.oval' | 'geo-style.pentagon' | 'geo-style.rectangle' | 'geo-style.rhombus-2' | 'geo-style.rhombus' | 'geo-style.star' | 'geo-style.trapezoid' | 'geo-style.triangle' | 'geo-style.x-box' | 'handle.crop.bottom-left' | 'handle.crop.bottom-right' | 'handle.crop.bottom' | 'handle.crop.left' | 'handle.crop.right' | 'handle.crop.top-left' | 'handle.crop.top-right' | 'handle.crop.top' | 'handle.resize-bottom-left' | 'handle.resize-bottom-right' | 'handle.resize-bottom' | 'handle.resize-left' | 'handle.resize-right' | 'handle.resize-top-left' | 'handle.resize-top-right' | 'handle.resize-top' | 'handle.rotate.bottom_left_rotate' | 'handle.rotate.bottom_right_rotate' | 'handle.rotate.mobile_rotate' | 'handle.rotate.top_left_rotate' | 'handle.rotate.top_right_rotate' | 'help-menu.about' | 'help-menu.discord' | 'help-menu.github' | 'help-menu.import-tldr-file' | 'help-menu.keyboard-shortcuts' | 'help-menu.privacy' | 'help-menu.terms' | 'help-menu.title' | 'help-menu.twitter' | 'menu.accessibility' | 'menu.color-theme' | 'menu.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | 'menu.input-device' | 'menu.language' | 'menu.preferences' | 'menu.theme' | 'menu.title' | 'menu.view' | 'navigation-zone.minimap' | 'navigation-zone.title' | 'navigation-zone.toggle-minimap' | 'navigation-zone.zoom' | 'opacity-style.0.1' | 'opacity-style.0.25' | 'opacity-style.0.5' | 'opacity-style.0.75' | 'opacity-style.1' | 'page-menu.create-new-page' | 'page-menu.edit-done' | 'page-menu.edit-start' | 'page-menu.go-to-page' | 'page-menu.max-pages-reached' | 'page-menu.new-page-initial-name' | 'page-menu.resize' | 'page-menu.submenu.delete' | 'page-menu.submenu.duplicate-page' | 'page-menu.submenu.move-down' | 'page-menu.submenu.move-up' | 'page-menu.submenu.rename' | 'page-menu.submenu.title' | 'page-menu.title' | 'people-menu.anonymous-user' | 'people-menu.avatar-color' | 'people-menu.change-color' | 'people-menu.change-name' | 'people-menu.follow' | 'people-menu.following' | 'people-menu.invite' | 'people-menu.leading' | 'people-menu.title' | 'people-menu.user' | 'share-menu.copied' | 'share-menu.copy-link-note' | 'share-menu.copy-link' | 'share-menu.copy-readonly-link-note' | 'share-menu.copy-readonly-link' | 'share-menu.create-snapshot-link' | 'share-menu.creating-project' | 'share-menu.fork-note' | 'share-menu.offline-note' | 'share-menu.project-too-large' | 'share-menu.save-note' | 'share-menu.share-project' | 'share-menu.snapshot-link-note' | 'share-menu.title' | 'share-menu.upload-failed' | 'sharing.confirm-leave.cancel' | 'sharing.confirm-leave.description' | 'sharing.confirm-leave.dont-show-again' | 'sharing.confirm-leave.leave' | 'sharing.confirm-leave.title' | 'shortcuts-dialog.a11y' | 'shortcuts-dialog.collaboration' | 'shortcuts-dialog.edit' | 'shortcuts-dialog.file' | 'shortcuts-dialog.preferences' | 'shortcuts-dialog.text-formatting' | 'shortcuts-dialog.title' | 'shortcuts-dialog.tools' | 'shortcuts-dialog.transform' | 'shortcuts-dialog.view' | 'size-style.l' | 'size-style.m' | 'size-style.s' | 'size-style.xl' | 'spline-style.cubic' | 'spline-style.line' | 'status.offline' | 'style-panel.align' | 'style-panel.arrow-kind' | 'style-panel.arrowhead-end' | 'style-panel.arrowhead-start' | 'style-panel.arrowheads' | 'style-panel.color' | 'style-panel.dash' | 'style-panel.fill' | 'style-panel.font' | 'style-panel.geo' | 'style-panel.label-align' | 'style-panel.mixed' | 'style-panel.opacity' | 'style-panel.position' | 'style-panel.selected' | 'style-panel.size' | 'style-panel.spline' | 'style-panel.title' | 'style-panel.vertical-align' | 'theme.dark' | 'theme.light' | 'theme.system' | 'toast.close' | 'toast.error.copy-fail.desc' | 'toast.error.copy-fail.title' | 'toast.error.export-fail.desc' | 'toast.error.export-fail.title' | 'toast.error' | 'toast.info' | 'toast.success' | 'toast.warning' | 'tool-panel.more' | 'tool-panel.title' | 'tool.arrow-down' | 'tool.arrow-left' | 'tool.arrow-right' | 'tool.arrow-up' | 'tool.arrow' | 'tool.aspect-ratio.circle' | 'tool.aspect-ratio.landscape' | 'tool.aspect-ratio.original' | 'tool.aspect-ratio.portrait' | 'tool.aspect-ratio.square' | 'tool.aspect-ratio.wide' | 'tool.aspect-ratio' | 'tool.bookmark' | 'tool.check-box' | 'tool.cloud' | 'tool.diamond' | 'tool.draw' | 'tool.ellipse' | 'tool.embed' | 'tool.eraser' | 'tool.flip-horz' | 'tool.flip-vert' | 'tool.frame' | 'tool.hand' | 'tool.heart' | 'tool.hexagon' | 'tool.highlight' | 'tool.image-crop-confirm' | 'tool.image-crop' | 'tool.image-toolbar-title' | 'tool.image-zoom' | 'tool.laser' | 'tool.line' | 'tool.media-alt-text-confirm' | 'tool.media-alt-text-desc' | 'tool.media-alt-text' | 'tool.media' | 'tool.note' | 'tool.octagon' | 'tool.oval' | 'tool.pentagon' | 'tool.pointer-down' | 'tool.rectangle' | 'tool.replace-media' | 'tool.rhombus' | 'tool.rich-text-bold' | 'tool.rich-text-bulletList' | 'tool.rich-text-code' | 'tool.rich-text-header' | 'tool.rich-text-highlight' | 'tool.rich-text-italic' | 'tool.rich-text-link-remove' | 'tool.rich-text-link-visit' | 'tool.rich-text-link' | 'tool.rich-text-orderedList' | 'tool.rich-text-strikethrough' | 'tool.rich-text-toolbar-title' | 'tool.rotate-cw' | 'tool.select' | 'tool.star' | 'tool.text' | 'tool.trapezoid' | 'tool.triangle' | 'tool.x-box' | 'ui.checked' | 'ui.close' | 'ui.unchecked' | 'verticalAlign-style.end' | 'verticalAlign-style.middle' | 'verticalAlign-style.start' | 'vscode.file-open.backup-failed' | 'vscode.file-open.backup-saved' | 'vscode.file-open.backup' | 'vscode.file-open.desc' | 'vscode.file-open.dont-show-again' | 'vscode.file-open.open';
5538
5623
 
5539
5624
  /** @public */
5540
5625
  export declare interface TLUiTranslationProviderProps {
package/dist-cjs/index.js CHANGED
@@ -187,6 +187,7 @@ __export(index_exports, {
187
187
  SelectToolbarItem: () => import_DefaultToolbarContent.SelectToolbarItem,
188
188
  SelectionForegroundOverlayUtil: () => import_SelectionForegroundOverlayUtil.SelectionForegroundOverlayUtil,
189
189
  ShapeHandleOverlayUtil: () => import_ShapeHandleOverlayUtil.ShapeHandleOverlayUtil,
190
+ ShapeIndicatorOverlayUtil: () => import_ShapeIndicatorOverlayUtil.ShapeIndicatorOverlayUtil,
190
191
  SnapIndicatorOverlayUtil: () => import_SnapIndicatorOverlayUtil.SnapIndicatorOverlayUtil,
191
192
  Spinner: () => import_Spinner.Spinner,
192
193
  StackMenuItems: () => import_DefaultActionsMenuContent.StackMenuItems,
@@ -393,7 +394,6 @@ __export(index_exports, {
393
394
  serializeTldrawJsonBlob: () => import_file.serializeTldrawJsonBlob,
394
395
  setDefaultEditorAssetUrls: () => import_assetUrls2.setDefaultEditorAssetUrls,
395
396
  setDefaultUiAssetUrls: () => import_assetUrls.setDefaultUiAssetUrls,
396
- setStrokePointRadii: () => import_setStrokePointRadii.setStrokePointRadii,
397
397
  startEditingShapeWithRichText: () => import_selectHelpers.startEditingShapeWithRichText,
398
398
  tipTapDefaultExtensions: () => import_richText.tipTapDefaultExtensions,
399
399
  truncateStringWithEllipsis: () => import_text.truncateStringWithEllipsis,
@@ -470,6 +470,7 @@ var import_CollaboratorHintOverlayUtil = require("./lib/overlays/CollaboratorHin
470
470
  var import_CollaboratorCursorOverlayUtil = require("./lib/overlays/CollaboratorCursorOverlayUtil");
471
471
  var import_CollaboratorShapeIndicatorOverlayUtil = require("./lib/overlays/CollaboratorShapeIndicatorOverlayUtil");
472
472
  var import_ShapeHandleOverlayUtil = require("./lib/overlays/ShapeHandleOverlayUtil");
473
+ var import_ShapeIndicatorOverlayUtil = require("./lib/overlays/ShapeIndicatorOverlayUtil");
473
474
  var import_SelectionForegroundOverlayUtil = require("./lib/overlays/SelectionForegroundOverlayUtil");
474
475
  var import_SnapIndicatorOverlayUtil = require("./lib/overlays/SnapIndicatorOverlayUtil");
475
476
  var import_defaultAssetUtils = require("./lib/defaultAssetUtils");
@@ -509,7 +510,6 @@ var import_defaultFonts = require("./lib/shapes/shared/defaultFonts");
509
510
  var import_getStroke = require("./lib/shapes/shared/freehand/getStroke");
510
511
  var import_getStrokeOutlinePoints = require("./lib/shapes/shared/freehand/getStrokeOutlinePoints");
511
512
  var import_getStrokePoints = require("./lib/shapes/shared/freehand/getStrokePoints");
512
- var import_setStrokePointRadii = require("./lib/shapes/shared/freehand/setStrokePointRadii");
513
513
  var import_svg = require("./lib/shapes/shared/freehand/svg");
514
514
  var import_getDisplayValues = require("./lib/shapes/shared/getDisplayValues");
515
515
  var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
@@ -648,7 +648,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
648
648
  var import_file = require("./lib/utils/tldr/file");
649
649
  (0, import_editor.registerTldrawLibraryVersion)(
650
650
  "tldraw",
651
- "5.2.0-next.ee0fa4d6244f",
651
+ "5.2.0",
652
652
  "cjs"
653
653
  );
654
654
  //# sourceMappingURL=index.js.map