tldraw 3.16.0-canary.14b93d2b88b1 → 3.16.0-canary.1647ca5bba28

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 (446) hide show
  1. package/dist-cjs/index.d.ts +234 -59
  2. package/dist-cjs/index.js +22 -6
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/Tldraw.js +12 -2
  5. package/dist-cjs/lib/Tldraw.js.map +2 -2
  6. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  7. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  8. package/dist-cjs/lib/defaultExternalContentHandlers.js +5 -4
  9. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  10. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +3 -3
  11. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  12. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  13. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  14. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  15. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  16. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -3
  17. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  18. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  19. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  20. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +18 -12
  21. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  22. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  23. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  24. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +2 -2
  25. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  26. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js +2 -1
  27. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js.map +2 -2
  28. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +5 -1
  29. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  30. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +6 -3
  31. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +2 -2
  32. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +5 -1
  33. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  34. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +4 -4
  35. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  36. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -3
  37. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  38. package/dist-cjs/lib/shapes/shared/ShapeFill.js +4 -4
  39. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  40. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  41. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js +0 -2
  42. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js.map +2 -2
  43. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +0 -2
  44. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
  45. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +10 -1
  46. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  47. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +2 -2
  48. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  49. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  50. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  51. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +25 -1
  52. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  53. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +12 -0
  54. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  55. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  56. package/dist-cjs/lib/ui/TldrawUi.js +27 -12
  57. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  58. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  59. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  60. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +35 -0
  61. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +7 -0
  62. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +12 -3
  63. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  64. package/dist-cjs/lib/ui/components/{FollowingIndicator.js → DefaultFollowingIndicator.js} +6 -6
  65. package/dist-cjs/lib/ui/components/DefaultFollowingIndicator.js.map +7 -0
  66. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  67. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  68. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +6 -6
  69. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  70. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +3 -3
  71. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  72. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  73. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  74. package/dist-cjs/lib/ui/components/MobileStylePanel.js +5 -3
  75. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  76. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  77. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  78. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +2 -1
  79. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  80. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  81. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  82. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  83. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  84. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +2 -0
  85. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  86. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +171 -140
  87. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  88. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  89. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  90. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +26 -25
  91. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  92. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js +3 -2
  93. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js.map +2 -2
  94. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +39 -10
  95. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  96. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +66 -21
  97. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  98. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js +15 -3
  99. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js.map +2 -2
  100. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js +3 -3
  101. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js.map +2 -2
  102. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +189 -80
  103. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  104. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +5 -4
  105. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  106. package/dist-cjs/lib/ui/components/menu-items.js +6 -0
  107. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  108. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +5 -16
  109. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  110. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +10 -1
  111. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  112. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  113. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  114. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +17 -4
  115. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  116. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +30 -7
  117. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  118. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +266 -0
  119. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +7 -0
  120. package/dist-cjs/lib/ui/components/primitives/layout.js +76 -0
  121. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  122. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  123. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +25 -12
  124. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  125. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +154 -20
  126. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  127. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +3 -2
  128. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  129. package/dist-cjs/lib/ui/context/actions.js +38 -10
  130. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  131. package/dist-cjs/lib/ui/context/components.js +2 -0
  132. package/dist-cjs/lib/ui/context/components.js.map +2 -2
  133. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  134. package/dist-cjs/lib/ui/hooks/useExportAs.js +3 -2
  135. package/dist-cjs/lib/ui/hooks/useExportAs.js.map +2 -2
  136. package/dist-cjs/lib/ui/hooks/useTools.js +94 -9
  137. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  138. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  139. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +5 -0
  140. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  141. package/dist-cjs/lib/ui/kbd-utils.js +9 -3
  142. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  143. package/dist-cjs/lib/ui/version.js +3 -3
  144. package/dist-cjs/lib/ui/version.js.map +1 -1
  145. package/dist-cjs/lib/utils/export/copyAs.js +1 -2
  146. package/dist-cjs/lib/utils/export/copyAs.js.map +2 -2
  147. package/dist-cjs/lib/utils/export/export.js +0 -20
  148. package/dist-cjs/lib/utils/export/export.js.map +2 -2
  149. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  150. package/dist-cjs/lib/utils/export/exportAs.js.map +2 -2
  151. package/dist-esm/index.d.mts +234 -59
  152. package/dist-esm/index.mjs +37 -13
  153. package/dist-esm/index.mjs.map +2 -2
  154. package/dist-esm/lib/Tldraw.mjs +14 -4
  155. package/dist-esm/lib/Tldraw.mjs.map +2 -2
  156. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  157. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  158. package/dist-esm/lib/defaultExternalContentHandlers.mjs +5 -4
  159. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  160. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +4 -3
  161. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  162. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  163. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  164. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  165. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  166. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +4 -3
  167. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  168. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  169. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  170. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +19 -12
  171. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  172. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  173. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  174. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +3 -2
  175. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  176. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +2 -1
  177. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  178. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +6 -1
  179. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  180. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +6 -3
  181. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  182. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +6 -1
  183. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  184. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -4
  185. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  186. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +1 -3
  187. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  188. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +5 -4
  189. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  190. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  191. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs +0 -2
  192. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs.map +2 -2
  193. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +0 -2
  194. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
  195. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +10 -1
  196. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  197. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +3 -2
  198. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  199. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  200. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  201. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +26 -1
  202. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  203. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +13 -0
  204. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  205. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  206. package/dist-esm/lib/ui/TldrawUi.mjs +29 -14
  207. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  208. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  209. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  210. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +19 -0
  211. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +7 -0
  212. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +12 -3
  213. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  214. package/dist-esm/lib/ui/components/{FollowingIndicator.mjs → DefaultFollowingIndicator.mjs} +3 -3
  215. package/dist-esm/lib/ui/components/DefaultFollowingIndicator.mjs.map +7 -0
  216. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  217. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  218. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +6 -6
  219. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  220. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -5
  221. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  222. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  223. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  224. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +6 -3
  225. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  226. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  227. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  228. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +2 -1
  229. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  230. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  231. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  232. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  233. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  234. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +3 -1
  235. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  236. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +171 -140
  237. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  238. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  239. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  240. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +26 -25
  241. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  242. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs +3 -2
  243. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs.map +2 -2
  244. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +39 -10
  245. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  246. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +56 -21
  247. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  248. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs +15 -3
  249. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs.map +2 -2
  250. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs +3 -3
  251. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs.map +2 -2
  252. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +192 -81
  253. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  254. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +5 -4
  255. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  256. package/dist-esm/lib/ui/components/menu-items.mjs +6 -0
  257. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  258. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +6 -6
  259. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  260. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +10 -1
  261. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  262. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  263. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  264. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +17 -4
  265. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  266. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +30 -7
  267. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  268. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +243 -0
  269. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +7 -0
  270. package/dist-esm/lib/ui/components/primitives/layout.mjs +46 -0
  271. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  272. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  273. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +25 -12
  274. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  275. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +162 -22
  276. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  277. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +3 -2
  278. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  279. package/dist-esm/lib/ui/context/actions.mjs +38 -10
  280. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  281. package/dist-esm/lib/ui/context/components.mjs +2 -0
  282. package/dist-esm/lib/ui/context/components.mjs.map +2 -2
  283. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  284. package/dist-esm/lib/ui/hooks/useExportAs.mjs +3 -2
  285. package/dist-esm/lib/ui/hooks/useExportAs.mjs.map +2 -2
  286. package/dist-esm/lib/ui/hooks/useTools.mjs +102 -10
  287. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  288. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +5 -0
  289. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  290. package/dist-esm/lib/ui/kbd-utils.mjs +9 -3
  291. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  292. package/dist-esm/lib/ui/version.mjs +3 -3
  293. package/dist-esm/lib/ui/version.mjs.map +1 -1
  294. package/dist-esm/lib/utils/export/copyAs.mjs +1 -2
  295. package/dist-esm/lib/utils/export/copyAs.mjs.map +2 -2
  296. package/dist-esm/lib/utils/export/export.mjs +0 -20
  297. package/dist-esm/lib/utils/export/export.mjs.map +2 -2
  298. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  299. package/dist-esm/lib/utils/export/exportAs.mjs.map +2 -2
  300. package/package.json +11 -34
  301. package/src/index.ts +28 -9
  302. package/src/lib/Tldraw.tsx +15 -2
  303. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  304. package/src/lib/defaultExternalContentHandlers.ts +12 -4
  305. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +2 -1
  306. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +4 -3
  307. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +7 -6
  308. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +4 -3
  309. package/src/lib/shapes/arrow/arrowTargetState.ts +2 -1
  310. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  311. package/src/lib/shapes/draw/DrawShapeTool.test.ts +0 -5
  312. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -3
  313. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  314. package/src/lib/shapes/frame/FrameShapeUtil.tsx +29 -14
  315. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  316. package/src/lib/shapes/geo/GeoShapeUtil.tsx +3 -2
  317. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  318. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +7 -1
  319. package/src/lib/shapes/image/ImageShapeUtil.tsx +6 -3
  320. package/src/lib/shapes/line/LineShapeUtil.test.tsx +4 -3
  321. package/src/lib/shapes/line/LineShapeUtil.tsx +6 -1
  322. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  323. package/src/lib/shapes/note/NoteShapeUtil.tsx +9 -4
  324. package/src/lib/shapes/shared/PlainTextLabel.tsx +0 -6
  325. package/src/lib/shapes/shared/ShapeFill.tsx +5 -4
  326. package/src/lib/shapes/shared/freehand/svg.ts +2 -0
  327. package/src/lib/shapes/shared/useEditablePlainText.ts +0 -6
  328. package/src/lib/shapes/shared/useImageOrVideoAsset.ts +0 -7
  329. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +11 -1
  330. package/src/lib/shapes/text/TextShapeTool.test.ts +6 -5
  331. package/src/lib/shapes/text/TextShapeUtil.tsx +3 -2
  332. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  333. package/src/lib/tools/EraserTool/childStates/Erasing.ts +34 -1
  334. package/src/lib/tools/EraserTool/childStates/Pointing.ts +20 -0
  335. package/src/lib/tools/SelectTool/childStates/Translating.ts +0 -1
  336. package/src/lib/ui/TldrawUi.tsx +33 -12
  337. package/src/lib/ui/assetUrls.ts +13 -10
  338. package/src/lib/ui/components/AccessibilityMenu.tsx +20 -0
  339. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +15 -3
  340. package/src/lib/ui/components/{FollowingIndicator.tsx → DefaultFollowingIndicator.tsx} +2 -1
  341. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  342. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +6 -6
  343. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -4
  344. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  345. package/src/lib/ui/components/MobileStylePanel.tsx +9 -6
  346. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  347. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +3 -2
  348. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  349. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  350. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +3 -1
  351. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +146 -107
  352. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  353. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +7 -6
  354. package/src/lib/ui/components/Toolbar/AltTextEditor.tsx +4 -3
  355. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +33 -16
  356. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +55 -23
  357. package/src/lib/ui/components/Toolbar/DefaultVideoToolbarContent.tsx +12 -4
  358. package/src/lib/ui/components/Toolbar/LinkEditor.tsx +5 -5
  359. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +212 -61
  360. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +14 -11
  361. package/src/lib/ui/components/menu-items.tsx +8 -0
  362. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +40 -37
  363. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +6 -1
  364. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  365. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +50 -30
  366. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +51 -12
  367. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +331 -0
  368. package/src/lib/ui/components/primitives/layout.tsx +107 -0
  369. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  370. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +29 -16
  371. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +221 -19
  372. package/src/lib/ui/context/TldrawUiContextProvider.tsx +23 -20
  373. package/src/lib/ui/context/actions.tsx +38 -10
  374. package/src/lib/ui/context/components.tsx +3 -0
  375. package/src/lib/ui/context/events.tsx +3 -1
  376. package/src/lib/ui/hooks/useExportAs.ts +3 -2
  377. package/src/lib/ui/hooks/useTools.tsx +140 -10
  378. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +5 -0
  379. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +5 -0
  380. package/src/lib/ui/kbd-utils.ts +10 -3
  381. package/src/lib/ui/version.ts +3 -3
  382. package/src/lib/ui.css +409 -292
  383. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +5 -5
  384. package/src/lib/utils/export/copyAs.ts +1 -24
  385. package/src/lib/utils/export/export.ts +0 -36
  386. package/src/lib/utils/export/exportAs.ts +1 -32
  387. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +4 -4
  388. package/src/test/A11y.test.tsx +3 -2
  389. package/src/test/ClickManager.test.ts +7 -6
  390. package/src/test/Editor.test.tsx +20 -19
  391. package/src/test/EraserTool.test.ts +184 -13
  392. package/src/test/HandTool.test.ts +10 -9
  393. package/src/test/HighlightShape.test.ts +2 -1
  394. package/src/test/SelectTool.test.ts +3 -2
  395. package/src/test/TLUserPreferences.test.ts +4 -3
  396. package/src/test/TestEditor.ts +13 -15
  397. package/src/test/TldrawEditor.test.tsx +11 -10
  398. package/src/test/ZoomTool.test.ts +7 -6
  399. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  400. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  401. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  402. package/src/test/arrows-megabus.test.tsx +17 -10
  403. package/src/test/bindings.test.tsx +24 -37
  404. package/src/test/bookmark-shapes.test.ts +1 -8
  405. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +23 -7
  406. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  407. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  408. package/src/test/commands/alignShapes.test.tsx +25 -24
  409. package/src/test/commands/animationSpeed.test.ts +2 -1
  410. package/src/test/commands/centerOnPoint.test.ts +3 -2
  411. package/src/test/commands/clipboard.test.ts +3 -2
  412. package/src/test/commands/createShapes.test.ts +2 -1
  413. package/src/test/commands/deleteShapes.test.ts +2 -1
  414. package/src/test/commands/distributeShapes.test.tsx +11 -10
  415. package/src/test/commands/getSvgString.test.ts +2 -1
  416. package/src/test/commands/packShapes.test.ts +5 -4
  417. package/src/test/commands/resizeShape.test.ts +2 -1
  418. package/src/test/commands/rotateShapes.test.ts +7 -6
  419. package/src/test/commands/setCamera.test.ts +4 -3
  420. package/src/test/commands/setCurrentPage.test.ts +3 -2
  421. package/src/test/commands/stackShapes.test.ts +11 -10
  422. package/src/test/commands/stretch.test.tsx +13 -12
  423. package/src/test/createDeepLink.test.tsx +2 -1
  424. package/src/test/cropping.test.ts +3 -2
  425. package/src/test/custom-clipping.test.ts +436 -0
  426. package/src/test/drawing.test.ts +2 -1
  427. package/src/test/flipShapes.test.ts +4 -3
  428. package/src/test/frames.test.ts +25 -24
  429. package/src/test/getCulledShapes.test.tsx +3 -2
  430. package/src/test/groups.test.tsx +1 -1
  431. package/src/test/handleDeepLink.test.tsx +2 -1
  432. package/src/test/inner-outer-margin.test.ts +315 -0
  433. package/src/test/maxShapes.test.ts +3 -2
  434. package/src/test/modifiers.test.ts +5 -4
  435. package/src/test/navigation.test.ts +12 -11
  436. package/src/test/panning.test.ts +2 -1
  437. package/src/test/perf/perf.test.ts +2 -1
  438. package/src/test/registerDeepLinkListener.test.tsx +10 -9
  439. package/src/test/resizing.test.ts +39 -38
  440. package/src/test/select.test.tsx +4 -3
  441. package/src/test/selection-omnibus.test.ts +11 -10
  442. package/src/test/shapeutils.test.ts +4 -3
  443. package/src/test/translating.test.ts +9 -8
  444. package/tldraw.css +710 -580
  445. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +0 -7
  446. package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +0 -7
@@ -13,11 +13,13 @@ import { CSSProperties } from 'react';
13
13
  import { Editor } from '@tldraw/editor';
14
14
  import { Extension } from '@tiptap/core';
15
15
  import { Extensions } from '@tiptap/core';
16
+ import { ForwardRefExoticComponent } from 'react';
16
17
  import { Geometry2d } from '@tldraw/editor';
17
18
  import { Geometry2dFilters } from '@tldraw/editor';
18
19
  import { Geometry2dOptions } from '@tldraw/editor';
19
20
  import { Group2d } from '@tldraw/editor';
20
21
  import { HandleSnapGeometry } from '@tldraw/editor';
22
+ import { HTMLAttributes } from 'react';
21
23
  import { IndexKey } from '@tldraw/editor';
22
24
  import { JsonObject } from '@tldraw/editor';
23
25
  import { JSX as JSX_2 } from 'react/jsx-runtime';
@@ -37,6 +39,7 @@ import { ReadonlySharedStyleMap } from '@tldraw/editor';
37
39
  import { RecordProps } from '@tldraw/editor';
38
40
  import { Rectangle2d } from '@tldraw/editor';
39
41
  import { RecursivePartial } from '@tldraw/editor';
42
+ import { RefAttributes } from 'react';
40
43
  import { RefObject } from 'react';
41
44
  import { Result } from '@tldraw/editor';
42
45
  import { RichTextFontVisitorState } from '@tldraw/editor';
@@ -148,6 +151,9 @@ export declare interface A11yProviderProps {
148
151
  children: React.ReactNode;
149
152
  }
150
153
 
154
+ /** @public @react */
155
+ export declare function AccessibilityMenu(): JSX_2.Element;
156
+
151
157
  /** @public */
152
158
  export declare interface ActionsProviderProps {
153
159
  overrides?(editor: Editor, actions: TLUiActionsContextType, helpers: TLUiOverrideHelpers): TLUiActionsContextType;
@@ -528,14 +534,6 @@ export declare function ConvertToEmbedMenuItem(): JSX_2.Element | null;
528
534
  */
529
535
  export declare function copyAs(editor: Editor, ids: TLShapeId[], opts: CopyAsOptions): Promise<void>;
530
536
 
531
- /**
532
- * @deprecated The format parameter is now part of the opts object.
533
- * @public
534
- */
535
- export declare function copyAs(editor: Editor, ids: TLShapeId[], format: TLCopyType, opts?: TLImageExportOptions & {
536
- format?: undefined;
537
- }): Promise<void>;
538
-
539
537
  /** @public @react */
540
538
  export declare function CopyAsMenuGroup(): JSX_2.Element;
541
539
 
@@ -847,6 +845,9 @@ export declare let defaultEditorAssetUrls: TLEditorAssetUrls;
847
845
  /** @public */
848
846
  export declare type DefaultEmbedDefinitionType = (typeof DEFAULT_EMBED_DEFINITIONS)[number]['type'];
849
847
 
848
+ /** @public @react */
849
+ export declare function DefaultFollowingIndicator(): JSX_2.Element | null;
850
+
850
851
  /** @public */
851
852
  export declare const DefaultFontFaces: TLDefaultFonts;
852
853
 
@@ -1011,6 +1012,11 @@ export declare function DefaultToolbarContent(): JSX_2.Element;
1011
1012
  /** @public */
1012
1013
  export declare interface DefaultToolbarProps {
1013
1014
  children?: ReactNode;
1015
+ orientation?: 'horizontal' | 'vertical';
1016
+ minItems?: number;
1017
+ minSizePx?: number;
1018
+ maxItems?: number;
1019
+ maxSizePx?: number;
1014
1020
  }
1015
1021
 
1016
1022
  /** @public */
@@ -1478,12 +1484,6 @@ export declare interface ExampleDialogProps {
1478
1484
  */
1479
1485
  export declare function exportAs(editor: Editor, ids: TLShapeId[], opts: ExportAsOptions): Promise<void>;
1480
1486
 
1481
- /**
1482
- * @deprecated The format & name parameters are now part of the opts object.
1483
- * @public
1484
- */
1485
- export declare function exportAs(editor: Editor, ids: TLShapeId[], format?: TLExportType, name?: string, opts?: TLImageExportOptions): Promise<void>;
1486
-
1487
1487
  /** @public */
1488
1488
  export declare interface ExportAsOptions extends TLImageExportOptions {
1489
1489
  /** {@inheritdoc @tldraw/editor#TLImageExportOptions.format} */
@@ -1495,23 +1495,6 @@ export declare interface ExportAsOptions extends TLImageExportOptions {
1495
1495
  /** @public @react */
1496
1496
  export declare function ExportFileContentSubMenu(): JSX_2.Element;
1497
1497
 
1498
- /**
1499
- * Export the given shapes as a blob.
1500
- * @param editor - The editor instance.
1501
- * @param ids - The ids of the shapes to export.
1502
- * @param format - The format to export as.
1503
- * @param opts - Rendering options.
1504
- * @returns A promise that resolves to a blob.
1505
- * @deprecated Use {@link @tldraw/editor#Editor.toImage} instead.
1506
- * @public
1507
- */
1508
- export declare function exportToBlob({ editor, ids, format, opts, }: {
1509
- editor: Editor;
1510
- format: TLExportType;
1511
- ids: TLShapeId[];
1512
- opts?: TLImageExportOptions;
1513
- }): Promise<Blob>;
1514
-
1515
1498
  /** @public @react */
1516
1499
  export declare function ExtrasGroup(): JSX_2.Element;
1517
1500
 
@@ -1568,6 +1551,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1568
1551
  canEdit(): boolean;
1569
1552
  canResize(): boolean;
1570
1553
  canResizeChildren(): boolean;
1554
+ isExportBoundsContainer(): boolean;
1571
1555
  getDefaultProps(): TLFrameShape['props'];
1572
1556
  getAriaDescriptor(shape: TLFrameShape): string;
1573
1557
  getGeometry(shape: TLFrameShape): Geometry2d;
@@ -1576,6 +1560,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1576
1560
  toSvg(shape: TLFrameShape, ctx: SvgExportContext): JSX_2.Element;
1577
1561
  indicator(shape: TLFrameShape): JSX_2.Element;
1578
1562
  providesBackgroundForChildren(): boolean;
1563
+ getClipPath(shape: TLFrameShape): Vec[];
1579
1564
  canReceiveNewChildrenOfType(shape: TLShape): boolean;
1580
1565
  onResize(shape: any, info: TLResizeInfo<any>): any;
1581
1566
  getInterpolatedProps(startShape: TLFrameShape, endShape: TLFrameShape, t: number): TLFrameShapeProps;
@@ -1769,6 +1754,29 @@ export declare function getHitShapeOnCanvasPointerDown(editor: Editor, hitLabels
1769
1754
  /** @public */
1770
1755
  export declare function getMediaAssetInfoPartial(file: File, assetId: TLAssetId, isImageType: boolean, isVideoType: boolean, maxImageDimension?: number): Promise<TLImageAsset | TLVideoAsset>;
1771
1756
 
1757
+ /**
1758
+ * ## getStrokePoints
1759
+ *
1760
+ * Get an array of points as objects with an adjusted point, pressure, vector, distance, and
1761
+ * runningLength.
1762
+ *
1763
+ * @param points - An array of points (as `[x, y, pressure]` or `{x, y, pressure}`). Pressure is
1764
+ * optional in both cases.
1765
+ * @param options - An object with options.
1766
+ * @public
1767
+ */
1768
+ export declare function getStrokePoints(rawInputPoints: VecLike[], options?: StrokeOptions): StrokePoint[];
1769
+
1770
+ /**
1771
+ * Turn an array of stroke points into a path of quadradic curves.
1772
+ *
1773
+ * @param points - The stroke points returned from perfect-freehand
1774
+ * @param closed - Whether the shape is closed
1775
+ *
1776
+ * @public
1777
+ */
1778
+ export declare function getSvgPathFromStrokePoints(points: StrokePoint[], closed?: boolean): string;
1779
+
1772
1780
  /**
1773
1781
  * Original (uncropped) width and height of shape.
1774
1782
  *
@@ -1864,6 +1872,7 @@ export declare class ImageShapeUtil extends BaseBoxShapeUtil<TLImageShape> {
1864
1872
  static migrations: TLPropsMigrations;
1865
1873
  isAspectRatioLocked(): boolean;
1866
1874
  canCrop(): boolean;
1875
+ isExportBoundsContainer(): boolean;
1867
1876
  getDefaultProps(): TLImageShape['props'];
1868
1877
  getGeometry(shape: TLImageShape): Geometry2d;
1869
1878
  getAriaDescriptor(shape: TLImageShape): string;
@@ -2114,9 +2123,42 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2114
2123
  /** @public @react */
2115
2124
  export declare function NoteToolbarItem(): JSX_2.Element;
2116
2125
 
2126
+ /**
2127
+ * Checks if a file is allowed to be uploaded. If it is not, it will show a toast explaining why to the user.
2128
+ *
2129
+ * @param file - The file to check
2130
+ * @param options - The options for the external content handler
2131
+ * @returns True if the file is allowed, false otherwise
2132
+ * @public
2133
+ */
2134
+ export declare function notifyIfFileNotAllowed(file: File, options: TLDefaultExternalContentHandlerOpts): boolean;
2135
+
2117
2136
  /** @public @react */
2118
2137
  export declare function OfflineIndicator(): JSX_2.Element;
2119
2138
 
2139
+ /**
2140
+ * A helper method to use in {@link TLUiToolItem#onDragStart} to create a shape by dragging it from
2141
+ * the toolbar.
2142
+ * @public
2143
+ */
2144
+ export declare function onDragFromToolbarToCreateShape(editor: Editor, info: TLPointerEventInfo, opts: OnDragFromToolbarToCreateShapesOpts): void;
2145
+
2146
+ /**
2147
+ * Options for {@link onDragFromToolbarToCreateShape}.
2148
+ * @public
2149
+ */
2150
+ export declare interface OnDragFromToolbarToCreateShapesOpts {
2151
+ /**
2152
+ * Create the shape being dragged. You don't need to worry about positioning it, as it'll be
2153
+ * immediately updated with the correct position.
2154
+ */
2155
+ createShape(id: TLShapeId): void;
2156
+ /**
2157
+ * Called once the drag interaction has finished.
2158
+ */
2159
+ onDragEnd?(id: TLShapeId): void;
2160
+ }
2161
+
2120
2162
  /** @public @react */
2121
2163
  export declare function OpacitySlider(): JSX_2.Element | null;
2122
2164
 
@@ -2124,11 +2166,17 @@ export declare function OpacitySlider(): JSX_2.Element | null;
2124
2166
  export declare function OvalToolbarItem(): JSX_2.Element;
2125
2167
 
2126
2168
  /** @public @react */
2127
- export declare function OverflowingToolbar({ children }: OverflowingToolbarProps): JSX_2.Element;
2169
+ export declare function OverflowingToolbar({ children, orientation, sizingParentClassName, minItems, minSizePx, maxItems, maxSizePx, }: OverflowingToolbarProps): JSX_2.Element;
2128
2170
 
2129
2171
  /** @public */
2130
2172
  export declare interface OverflowingToolbarProps {
2131
2173
  children: React.ReactNode;
2174
+ orientation: 'horizontal' | 'vertical';
2175
+ sizingParentClassName: string;
2176
+ minItems: number;
2177
+ minSizePx: number;
2178
+ maxItems: number;
2179
+ maxSizePx: number;
2132
2180
  }
2133
2181
 
2134
2182
  /** @public @react */
@@ -2517,6 +2565,54 @@ export declare function StarToolbarItem(): JSX_2.Element;
2517
2565
  /** @public */
2518
2566
  export declare const STROKE_SIZES: Record<TLDefaultSizeStyle, number>;
2519
2567
 
2568
+ /**
2569
+ * The options object for `getStroke` or `getStrokePoints`.
2570
+ *
2571
+ * @public
2572
+ */
2573
+ export declare interface StrokeOptions {
2574
+ /** The base size (diameter) of the stroke. */
2575
+ size?: number;
2576
+ /** The effect of pressure on the stroke's size. */
2577
+ thinning?: number;
2578
+ /** How much to soften the stroke's edges. */
2579
+ smoothing?: number;
2580
+ streamline?: number;
2581
+ /** An easing function to apply to each point's pressure. */
2582
+ easing?(pressure: number): number;
2583
+ /** Whether to simulate pressure based on velocity. */
2584
+ simulatePressure?: boolean;
2585
+ /** Cap, taper and easing for the start of the line. */
2586
+ start?: {
2587
+ cap?: boolean;
2588
+ easing?(distance: number): number;
2589
+ taper?: boolean | number;
2590
+ };
2591
+ /** Cap, taper and easing for the end of the line. */
2592
+ end?: {
2593
+ cap?: boolean;
2594
+ easing?(distance: number): number;
2595
+ taper?: boolean | number;
2596
+ };
2597
+ /** Whether to handle the points as a completed stroke. */
2598
+ last?: boolean;
2599
+ }
2600
+
2601
+ /**
2602
+ * The points returned by `getStrokePoints`, and the input for `getStrokeOutlinePoints`
2603
+ *
2604
+ * @public
2605
+ */
2606
+ export declare interface StrokePoint {
2607
+ point: Vec;
2608
+ input: Vec;
2609
+ vector: Vec;
2610
+ pressure: number;
2611
+ distance: number;
2612
+ runningLength: number;
2613
+ radius: number;
2614
+ }
2615
+
2520
2616
  /** @public */
2521
2617
  export declare interface StylePickerSetProps {
2522
2618
  styles: ReadonlySharedStyleMap;
@@ -2561,12 +2657,6 @@ export declare interface TextAreaProps {
2561
2657
  */
2562
2658
  export declare const TextDirection: Extension<any, any>;
2563
2659
 
2564
- /**
2565
- * @deprecated Use `PlainTextLabel` instead.
2566
- * @public
2567
- */
2568
- export declare const TextLabel: React_3.NamedExoticComponent<PlainTextLabelProps>;
2569
-
2570
2660
  /** @public */
2571
2661
  export declare interface TextShapeOptions {
2572
2662
  /** How much addition padding should be added to the horizontal geometry of the shape when binding to an arrow? */
@@ -2915,6 +3005,13 @@ export declare function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps):
2915
3005
  /** @public */
2916
3006
  export declare const TldrawUiButtonPicker: <T extends string>(props: TLUiButtonPickerProps<T>) => ReactElement;
2917
3007
 
3008
+ /**
3009
+ * A column, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3010
+ *
3011
+ * @public @react
3012
+ */
3013
+ export declare const TldrawUiColumn: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3014
+
2918
3015
  /** @public @react */
2919
3016
  export declare function TldrawUiComponentsProvider({ overrides, children, }: TLUiComponentsProviderProps): JSX_2.Element;
2920
3017
 
@@ -2977,9 +3074,19 @@ export declare function TldrawUiDropdownMenuTrigger({ children, ...rest }: TLUiD
2977
3074
  /** @public @react */
2978
3075
  export declare function TldrawUiEventsProvider({ onEvent, children }: EventsProviderProps): JSX_2.Element;
2979
3076
 
3077
+ /**
3078
+ * A tight grid 4 elements wide, usually of UI controls like buttons, select dropdown, checkboxes,
3079
+ * etc.
3080
+ *
3081
+ * @public @react */
3082
+ export declare const TldrawUiGrid: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3083
+
2980
3084
  /** @public @react */
2981
3085
  export declare const TldrawUiIcon: NamedExoticComponent<TLUiIconProps>;
2982
3086
 
3087
+ /** @public @react */
3088
+ export declare function TldrawUiInFrontOfTheCanvas(): JSX_2.Element;
3089
+
2983
3090
  /** @public @react */
2984
3091
  export declare const TldrawUiInput: React_2.ForwardRefExoticComponent<TLUiInputProps & React_2.RefAttributes<HTMLInputElement>>;
2985
3092
 
@@ -3002,7 +3109,7 @@ export declare function TldrawUiMenuContextProvider({ type, sourceId, children,
3002
3109
  export declare function TldrawUiMenuGroup({ id, label, className, children }: TLUiMenuGroupProps): boolean | JSX_2.Element | Iterable<ReactNode> | null | number | string | undefined;
3003
3110
 
3004
3111
  /** @public @react */
3005
- export declare function TldrawUiMenuItem<TranslationKey extends string = string, IconType extends string = string>({ disabled, spinner, readonlyOk, id, kbd, label, icon, iconLeft, onSelect, noClose, isSelected, }: TLUiMenuItemProps<TranslationKey, IconType>): JSX_2.Element | null;
3112
+ 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_2.Element | null;
3006
3113
 
3007
3114
  /** @public @react */
3008
3115
  export declare function TldrawUiMenuSubmenu<Translation extends string = string>({ id, disabled, label, size, children, }: TLUiMenuSubmenuProps<Translation>): boolean | JSX_2.Element | Iterable<ReactNode> | null | number | string | undefined;
@@ -3010,8 +3117,24 @@ export declare function TldrawUiMenuSubmenu<Translation extends string = string>
3010
3117
  /** @public @react */
3011
3118
  export declare function TldrawUiMenuToolItem({ toolId, ...rest }: TLUiMenuToolItemProps): JSX_2.Element | null;
3012
3119
 
3120
+ /** @public */
3121
+ export declare interface TldrawUiOrientationContext {
3122
+ orientation: 'horizontal' | 'vertical';
3123
+ tooltipSide: 'bottom' | 'left' | 'right' | 'top';
3124
+ }
3125
+
3126
+ /** @public @react */
3127
+ export declare function TldrawUiOrientationProvider({ children, orientation, tooltipSide, }: TldrawUiOrientationProviderProps): JSX_2.Element;
3128
+
3129
+ /** @public */
3130
+ export declare interface TldrawUiOrientationProviderProps {
3131
+ children: ReactNode;
3132
+ orientation: 'horizontal' | 'vertical';
3133
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3134
+ }
3135
+
3013
3136
  /** @public @react */
3014
- export declare function TldrawUiPopover({ id, children, onOpenChange, open }: TLUiPopoverProps): JSX_2.Element;
3137
+ export declare function TldrawUiPopover({ id, children, onOpenChange, open, className }: TLUiPopoverProps): JSX_2.Element;
3015
3138
 
3016
3139
  /** @public @react */
3017
3140
  export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton, }: TLUiPopoverContentProps): JSX_2.Element;
@@ -3041,6 +3164,13 @@ export declare interface TldrawUiProps extends TLUiContextProviderProps {
3041
3164
  assetUrls?: TLUiAssetUrlOverrides;
3042
3165
  }
3043
3166
 
3167
+ /**
3168
+ * A row, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3169
+ *
3170
+ * @public @react
3171
+ */
3172
+ export declare const TldrawUiRow: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3173
+
3044
3174
  /** @public @react */
3045
3175
  export declare const TldrawUiSlider: React_3.ForwardRefExoticComponent<TLUiSliderProps & React_3.RefAttributes<HTMLDivElement>>;
3046
3176
 
@@ -3057,7 +3187,29 @@ export declare const TldrawUiToolbarButton: React_3.ForwardRefExoticComponent<TL
3057
3187
  export declare const TldrawUiToolbarToggleGroup: ({ children, className, type, ...props }: TLUiToolbarToggleGroupProps) => JSX_2.Element;
3058
3188
 
3059
3189
  /** @public @react */
3060
- export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3190
+ export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, tooltip, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3191
+
3192
+ /** @public @react */
3193
+ export declare const TldrawUiTooltip: React_3.ForwardRefExoticComponent<TldrawUiTooltipProps & React_3.RefAttributes<HTMLButtonElement>>;
3194
+
3195
+ /** @public */
3196
+ export declare interface TldrawUiTooltipProps {
3197
+ children: React_3.ReactNode;
3198
+ content?: React_3.ReactNode | string;
3199
+ side?: 'bottom' | 'left' | 'right' | 'top';
3200
+ sideOffset?: number;
3201
+ disabled?: boolean;
3202
+ showOnMobile?: boolean;
3203
+ delayDuration?: number;
3204
+ }
3205
+
3206
+ /** @public @react */
3207
+ export declare function TldrawUiTooltipProvider({ children }: TldrawUiTooltipProviderProps): JSX_2.Element;
3208
+
3209
+ /** @public */
3210
+ export declare interface TldrawUiTooltipProviderProps {
3211
+ children: React_3.ReactNode;
3212
+ }
3061
3213
 
3062
3214
  /* Excluded from this release type: TldrawUiTranslationProvider */
3063
3215
 
@@ -3265,6 +3417,7 @@ export declare interface TLUiComponents {
3265
3417
  Dialogs?: ComponentType | null;
3266
3418
  Toasts?: ComponentType | null;
3267
3419
  A11y?: ComponentType | null;
3420
+ FollowingIndicator?: ComponentType | null;
3268
3421
  }
3269
3422
 
3270
3423
  /** @public */
@@ -3572,6 +3725,7 @@ export declare interface TLUiEventMap {
3572
3725
  'toggle-lock': null;
3573
3726
  'toggle-reduce-motion': null;
3574
3727
  'toggle-keyboard-shortcuts': null;
3728
+ 'toggle-ui-labels': null;
3575
3729
  'toggle-edge-scrolling': null;
3576
3730
  'color-scheme': {
3577
3731
  value: string;
@@ -3589,11 +3743,14 @@ export declare interface TLUiEventMap {
3589
3743
  'flatten-to-image': null;
3590
3744
  'a11y-repeat-shape-announce': null;
3591
3745
  'open-url': {
3592
- url: string;
3746
+ destinationUrl: string;
3593
3747
  };
3594
3748
  'open-context-menu': null;
3595
3749
  'adjust-shape-styles': null;
3596
3750
  'copy-link': null;
3751
+ 'drag-tool': {
3752
+ id: string;
3753
+ };
3597
3754
  'image-replace': null;
3598
3755
  'video-replace': null;
3599
3756
  'open-kbd-shortcuts': null;
@@ -3680,6 +3837,13 @@ export declare type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & {
3680
3837
  children?: ReactNode;
3681
3838
  };
3682
3839
 
3840
+ /** @public */
3841
+ export declare interface TLUiLayoutProps extends HTMLAttributes<HTMLDivElement> {
3842
+ children: ReactNode;
3843
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3844
+ asChild?: boolean;
3845
+ }
3846
+
3683
3847
  /** @public */
3684
3848
  export declare interface TLUiMainMenuProps {
3685
3849
  children?: ReactNode;
@@ -3719,7 +3883,7 @@ export declare interface TLUiMenuContextProviderProps {
3719
3883
  }
3720
3884
 
3721
3885
  /** @public */
3722
- export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'panel' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3886
+ export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3723
3887
 
3724
3888
  /** @public */
3725
3889
  export declare interface TLUiMenuGroupProps<TranslationKey extends string = string> {
@@ -3779,6 +3943,10 @@ export declare interface TLUiMenuItemProps<TranslationKey extends string = strin
3779
3943
  * Whether the item is selected.
3780
3944
  */
3781
3945
  isSelected?: boolean;
3946
+ /**
3947
+ * The function to call when the item is dragged. If this is provided, the item will be draggable.
3948
+ */
3949
+ onDragStart?(source: TLUiEventSource, info: TLPointerEventInfo): void;
3782
3950
  }
3783
3951
 
3784
3952
  /** @public */
@@ -3824,6 +3992,7 @@ export declare interface TLUiPopoverProps {
3824
3992
  open?: boolean;
3825
3993
  children: React_3.ReactNode;
3826
3994
  onOpenChange?(isOpen: boolean): void;
3995
+ className?: string;
3827
3996
  }
3828
3997
 
3829
3998
  /** @public */
@@ -3909,6 +4078,7 @@ export declare interface TLUiToolbarButtonProps extends React_3.HTMLAttributes<H
3909
4078
  disabled?: boolean;
3910
4079
  isActive?: boolean;
3911
4080
  type: 'icon' | 'menu' | 'tool';
4081
+ tooltip?: string;
3912
4082
  }
3913
4083
 
3914
4084
  /** @public */
@@ -3917,6 +4087,8 @@ export declare interface TLUiToolbarProps extends React_3.HTMLAttributes<HTMLDiv
3917
4087
  className?: string;
3918
4088
  dir?: 'ltr' | 'rtl';
3919
4089
  label: string;
4090
+ orientation?: 'grid' | 'horizontal' | 'vertical';
4091
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3920
4092
  }
3921
4093
 
3922
4094
  /** @public */
@@ -3935,6 +4107,7 @@ export declare interface TLUiToolbarToggleItemProps extends React_3.HTMLAttribut
3935
4107
  className?: string;
3936
4108
  type: 'icon' | 'tool';
3937
4109
  value: string;
4110
+ tooltip?: string;
3938
4111
  }
3939
4112
 
3940
4113
  /** @public */
@@ -3944,6 +4117,7 @@ export declare interface TLUiToolItem<TranslationKey extends string = string, Ic
3944
4117
  shortcutsLabel?: TranslationKey;
3945
4118
  icon: IconType | TLUiIconJsx;
3946
4119
  onSelect(source: TLUiEventSource): void;
4120
+ onDragStart?(source: TLUiEventSource, info: TLPointerEventInfo): void;
3947
4121
  /**
3948
4122
  * The keyboard shortcut for this tool. This is a string that can be a single key,
3949
4123
  * or a combination of keys.
@@ -3979,7 +4153,7 @@ export declare interface TLUiTranslation {
3979
4153
  export declare type TLUiTranslationContextType = TLUiTranslation;
3980
4154
 
3981
4155
  /** @public */
3982
- 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-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.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.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-size' | '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-keyboard-shortcuts.menu' | 'action.toggle-keyboard-shortcuts' | 'action.toggle-lock' | '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-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-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.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.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' | '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.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | '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-page-count-reached' | 'page-menu.new-page-initial-name' | '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.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' | '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';
4156
+ 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-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.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.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-size' | '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-keyboard-shortcuts.menu' | 'action.toggle-keyboard-shortcuts' | 'action.toggle-lock' | '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-transparent.context-menu' | 'action.toggle-transparent.menu' | 'action.toggle-transparent' | 'action.toggle-ui-labels.menu' | 'action.toggle-ui-labels' | 'action.toggle-wrap-mode.menu' | 'action.toggle-wrap-mode' | 'action.undo' | 'action.ungroup' | 'action.unlock-all' | 'action.zoom-in' | 'action.zoom-out' | '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.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.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.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | '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-page-count-reached' | 'page-menu.new-page-initial-name' | '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.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';
3983
4157
 
3984
4158
  /** @public */
3985
4159
  export declare interface TLUiTranslationProviderProps {
@@ -4120,6 +4294,9 @@ export declare function ToggleToolLockItem(): JSX_2.Element;
4120
4294
  /** @public @react */
4121
4295
  export declare function ToggleTransparentBgMenuItem(): JSX_2.Element;
4122
4296
 
4297
+ /** @public @react */
4298
+ export declare function ToggleUiLabelsItem(): JSX_2.Element;
4299
+
4123
4300
  /** @public @react */
4124
4301
  export declare function ToggleWrapModeItem(): JSX_2.Element;
4125
4302
 
@@ -4158,13 +4335,6 @@ export declare function useA11y(): TLUiA11yContextType;
4158
4335
  /** @public */
4159
4336
  export declare function useActions(): TLUiActionsContextType;
4160
4337
 
4161
- /**
4162
- * @deprecated Use {@link useImageOrVideoAsset} instead.
4163
- *
4164
- * @public
4165
- */
4166
- export declare const useAsset: typeof useImageOrVideoAsset;
4167
-
4168
4338
  /* Excluded from this release type: useAssetUrls */
4169
4339
 
4170
4340
  /** @public */
@@ -4219,7 +4389,11 @@ export declare function useDefaultHelpers(): {
4219
4389
  copy: (source: TLUiEventSource) => Promise<void>;
4220
4390
  copyAs: (ids: TLShapeId[], format?: TLCopyType) => void;
4221
4391
  cut: (source: TLUiEventSource) => Promise<void>;
4222
- exportAs: (ids: TLShapeId[], format: TLExportType | undefined, name: string | undefined) => void;
4392
+ exportAs: (ids: TLShapeId[], opts?: {
4393
+ format?: TLExportType;
4394
+ name?: string;
4395
+ scale?: number;
4396
+ }) => void;
4223
4397
  getEmbedDefinition: (url: string) => TLEmbedResult;
4224
4398
  insertMedia: () => Promise<void>;
4225
4399
  isMobile: boolean;
@@ -4269,14 +4443,12 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: string, ri
4269
4443
  rInput: RefObject<HTMLDivElement>;
4270
4444
  };
4271
4445
 
4272
- /**
4273
- * @deprecated Use `useEditablePlainText` instead.
4274
- * @public
4275
- */
4276
- export declare const useEditableText: typeof useEditablePlainText;
4277
-
4278
4446
  /** @public */
4279
- export declare function useExportAs(): (ids: TLShapeId[], format: TLExportType | undefined, name: string | undefined) => void;
4447
+ export declare function useExportAs(): (ids: TLShapeId[], opts?: {
4448
+ format?: TLExportType;
4449
+ name?: string;
4450
+ scale?: number;
4451
+ }) => void;
4280
4452
 
4281
4453
  /**
4282
4454
  * This is a handy helper hook that resolves an asset to an optimized URL for a given shape, or its
@@ -4353,6 +4525,9 @@ export declare function useShowCollaborationUi(): boolean;
4353
4525
  /** @public */
4354
4526
  export declare function useTldrawUiComponents(): TLUiComponents;
4355
4527
 
4528
+ /** @public */
4529
+ export declare function useTldrawUiOrientation(): TldrawUiOrientationContext;
4530
+
4356
4531
  /** @public */
4357
4532
  export declare function useToasts(): TLUiToastsContextType;
4358
4533