tldraw 3.16.0-canary.56eb315c11ae → 3.16.0-canary.6074088f67bd

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 (391) hide show
  1. package/dist-cjs/index.d.ts +224 -7
  2. package/dist-cjs/index.js +22 -1
  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/ShapeFill.js +4 -4
  37. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  38. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  39. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +10 -1
  40. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  41. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +2 -2
  42. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  43. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  44. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  45. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +25 -1
  46. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  47. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +12 -0
  48. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  49. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  50. package/dist-cjs/lib/ui/TldrawUi.js +27 -12
  51. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  52. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  53. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  54. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +35 -0
  55. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +7 -0
  56. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +12 -3
  57. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  58. package/dist-cjs/lib/ui/components/{FollowingIndicator.js → DefaultFollowingIndicator.js} +6 -6
  59. package/dist-cjs/lib/ui/components/DefaultFollowingIndicator.js.map +7 -0
  60. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  61. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  62. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +6 -6
  63. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  64. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +3 -3
  65. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  66. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  67. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  68. package/dist-cjs/lib/ui/components/MobileStylePanel.js +5 -3
  69. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  70. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  71. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  72. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +2 -1
  73. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  74. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  75. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  76. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  77. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  78. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +2 -0
  79. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  80. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +171 -140
  81. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  82. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  83. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  84. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +26 -25
  85. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  86. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +1 -1
  87. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  88. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +66 -21
  89. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  90. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +189 -80
  91. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  92. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +5 -4
  93. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  94. package/dist-cjs/lib/ui/components/menu-items.js +6 -0
  95. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  96. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +5 -16
  97. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  98. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  99. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  100. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  101. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  102. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +30 -7
  103. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  104. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +262 -0
  105. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +7 -0
  106. package/dist-cjs/lib/ui/components/primitives/layout.js +76 -0
  107. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  108. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  109. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +25 -12
  110. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  111. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +154 -20
  112. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  113. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +3 -2
  114. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  115. package/dist-cjs/lib/ui/context/actions.js +31 -2
  116. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  117. package/dist-cjs/lib/ui/context/components.js +2 -0
  118. package/dist-cjs/lib/ui/context/components.js.map +2 -2
  119. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  120. package/dist-cjs/lib/ui/hooks/useTools.js +94 -9
  121. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  122. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  123. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +4 -0
  124. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  125. package/dist-cjs/lib/ui/kbd-utils.js +9 -3
  126. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  127. package/dist-cjs/lib/ui/version.js +3 -3
  128. package/dist-cjs/lib/ui/version.js.map +1 -1
  129. package/dist-esm/index.d.mts +224 -7
  130. package/dist-esm/index.mjs +35 -2
  131. package/dist-esm/index.mjs.map +2 -2
  132. package/dist-esm/lib/Tldraw.mjs +14 -4
  133. package/dist-esm/lib/Tldraw.mjs.map +2 -2
  134. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  135. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  136. package/dist-esm/lib/defaultExternalContentHandlers.mjs +5 -4
  137. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  138. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +4 -3
  139. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  140. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  141. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  142. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  143. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  144. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +4 -3
  145. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  146. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  147. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  148. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +19 -12
  149. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  150. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  151. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  152. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +3 -2
  153. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  154. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +2 -1
  155. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  156. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +6 -1
  157. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  158. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +6 -3
  159. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +2 -2
  160. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +6 -1
  161. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  162. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -4
  163. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  164. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +5 -4
  165. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  166. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  167. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +10 -1
  168. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  169. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +3 -2
  170. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  171. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  172. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  173. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +26 -1
  174. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  175. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +13 -0
  176. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  177. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  178. package/dist-esm/lib/ui/TldrawUi.mjs +29 -14
  179. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  180. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  181. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  182. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +19 -0
  183. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +7 -0
  184. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +12 -3
  185. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  186. package/dist-esm/lib/ui/components/{FollowingIndicator.mjs → DefaultFollowingIndicator.mjs} +3 -3
  187. package/dist-esm/lib/ui/components/DefaultFollowingIndicator.mjs.map +7 -0
  188. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  189. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  190. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +6 -6
  191. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  192. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -5
  193. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  194. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  195. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  196. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +6 -3
  197. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  198. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  199. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  200. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +2 -1
  201. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  202. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  203. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  204. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  205. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  206. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +3 -1
  207. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  208. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +171 -140
  209. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  210. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  211. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  212. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +26 -25
  213. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  214. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +1 -1
  215. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  216. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +56 -21
  217. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  218. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +192 -81
  219. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  220. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +5 -4
  221. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  222. package/dist-esm/lib/ui/components/menu-items.mjs +6 -0
  223. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  224. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +6 -6
  225. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  226. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +1 -1
  227. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  228. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  229. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  230. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +30 -7
  231. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  232. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +239 -0
  233. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +7 -0
  234. package/dist-esm/lib/ui/components/primitives/layout.mjs +46 -0
  235. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  236. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  237. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +25 -12
  238. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  239. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +162 -22
  240. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  241. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +3 -2
  242. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  243. package/dist-esm/lib/ui/context/actions.mjs +31 -2
  244. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  245. package/dist-esm/lib/ui/context/components.mjs +2 -0
  246. package/dist-esm/lib/ui/context/components.mjs.map +2 -2
  247. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  248. package/dist-esm/lib/ui/hooks/useTools.mjs +102 -10
  249. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  250. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +4 -0
  251. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  252. package/dist-esm/lib/ui/kbd-utils.mjs +9 -3
  253. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  254. package/dist-esm/lib/ui/version.mjs +3 -3
  255. package/dist-esm/lib/ui/version.mjs.map +1 -1
  256. package/package.json +11 -34
  257. package/src/index.ts +26 -1
  258. package/src/lib/Tldraw.tsx +15 -2
  259. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  260. package/src/lib/defaultExternalContentHandlers.ts +12 -4
  261. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +2 -1
  262. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +4 -3
  263. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +7 -6
  264. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +4 -3
  265. package/src/lib/shapes/arrow/arrowTargetState.ts +2 -1
  266. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  267. package/src/lib/shapes/draw/DrawShapeTool.test.ts +0 -5
  268. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -3
  269. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  270. package/src/lib/shapes/frame/FrameShapeUtil.tsx +29 -14
  271. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  272. package/src/lib/shapes/geo/GeoShapeUtil.tsx +3 -2
  273. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  274. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +7 -1
  275. package/src/lib/shapes/image/ImageShapeUtil.tsx +6 -3
  276. package/src/lib/shapes/line/LineShapeUtil.test.tsx +4 -3
  277. package/src/lib/shapes/line/LineShapeUtil.tsx +6 -1
  278. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  279. package/src/lib/shapes/note/NoteShapeUtil.tsx +9 -4
  280. package/src/lib/shapes/shared/ShapeFill.tsx +5 -4
  281. package/src/lib/shapes/shared/freehand/svg.ts +2 -0
  282. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +11 -1
  283. package/src/lib/shapes/text/TextShapeTool.test.ts +6 -5
  284. package/src/lib/shapes/text/TextShapeUtil.tsx +3 -2
  285. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  286. package/src/lib/tools/EraserTool/childStates/Erasing.ts +34 -1
  287. package/src/lib/tools/EraserTool/childStates/Pointing.ts +20 -0
  288. package/src/lib/tools/SelectTool/childStates/Translating.ts +0 -1
  289. package/src/lib/ui/TldrawUi.tsx +33 -12
  290. package/src/lib/ui/assetUrls.ts +13 -10
  291. package/src/lib/ui/components/AccessibilityMenu.tsx +20 -0
  292. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +15 -3
  293. package/src/lib/ui/components/{FollowingIndicator.tsx → DefaultFollowingIndicator.tsx} +2 -1
  294. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  295. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +6 -6
  296. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -4
  297. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  298. package/src/lib/ui/components/MobileStylePanel.tsx +9 -6
  299. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  300. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +3 -2
  301. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  302. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  303. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +3 -1
  304. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +146 -107
  305. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  306. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +7 -6
  307. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +1 -1
  308. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +55 -23
  309. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +212 -61
  310. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +14 -11
  311. package/src/lib/ui/components/menu-items.tsx +8 -0
  312. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +40 -37
  313. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +1 -1
  314. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  315. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +51 -12
  316. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +325 -0
  317. package/src/lib/ui/components/primitives/layout.tsx +107 -0
  318. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  319. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +29 -16
  320. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +221 -19
  321. package/src/lib/ui/context/TldrawUiContextProvider.tsx +23 -20
  322. package/src/lib/ui/context/actions.tsx +31 -2
  323. package/src/lib/ui/context/components.tsx +3 -0
  324. package/src/lib/ui/context/events.tsx +3 -1
  325. package/src/lib/ui/hooks/useTools.tsx +140 -10
  326. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +4 -0
  327. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +4 -0
  328. package/src/lib/ui/kbd-utils.ts +10 -3
  329. package/src/lib/ui/version.ts +3 -3
  330. package/src/lib/ui.css +409 -292
  331. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +5 -5
  332. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +4 -4
  333. package/src/test/A11y.test.tsx +3 -2
  334. package/src/test/ClickManager.test.ts +7 -6
  335. package/src/test/Editor.test.tsx +20 -19
  336. package/src/test/EraserTool.test.ts +184 -13
  337. package/src/test/HandTool.test.ts +10 -9
  338. package/src/test/HighlightShape.test.ts +2 -1
  339. package/src/test/SelectTool.test.ts +3 -2
  340. package/src/test/TLUserPreferences.test.ts +4 -3
  341. package/src/test/TestEditor.ts +13 -15
  342. package/src/test/TldrawEditor.test.tsx +11 -10
  343. package/src/test/ZoomTool.test.ts +7 -6
  344. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  345. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  346. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  347. package/src/test/arrows-megabus.test.tsx +17 -10
  348. package/src/test/bindings.test.tsx +24 -37
  349. package/src/test/bookmark-shapes.test.ts +1 -8
  350. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +23 -7
  351. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  352. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  353. package/src/test/commands/alignShapes.test.tsx +25 -24
  354. package/src/test/commands/animationSpeed.test.ts +2 -1
  355. package/src/test/commands/centerOnPoint.test.ts +3 -2
  356. package/src/test/commands/clipboard.test.ts +3 -2
  357. package/src/test/commands/createShapes.test.ts +2 -1
  358. package/src/test/commands/deleteShapes.test.ts +2 -1
  359. package/src/test/commands/distributeShapes.test.tsx +11 -10
  360. package/src/test/commands/getSvgString.test.ts +2 -1
  361. package/src/test/commands/packShapes.test.ts +5 -4
  362. package/src/test/commands/resizeShape.test.ts +2 -1
  363. package/src/test/commands/rotateShapes.test.ts +7 -6
  364. package/src/test/commands/setCamera.test.ts +4 -3
  365. package/src/test/commands/setCurrentPage.test.ts +3 -2
  366. package/src/test/commands/stackShapes.test.ts +11 -10
  367. package/src/test/commands/stretch.test.tsx +13 -12
  368. package/src/test/createDeepLink.test.tsx +2 -1
  369. package/src/test/cropping.test.ts +3 -2
  370. package/src/test/custom-clipping.test.ts +436 -0
  371. package/src/test/drawing.test.ts +2 -1
  372. package/src/test/flipShapes.test.ts +4 -3
  373. package/src/test/frames.test.ts +25 -24
  374. package/src/test/getCulledShapes.test.tsx +3 -2
  375. package/src/test/groups.test.tsx +1 -1
  376. package/src/test/handleDeepLink.test.tsx +2 -1
  377. package/src/test/inner-outer-margin.test.ts +315 -0
  378. package/src/test/maxShapes.test.ts +3 -2
  379. package/src/test/modifiers.test.ts +5 -4
  380. package/src/test/navigation.test.ts +12 -11
  381. package/src/test/panning.test.ts +2 -1
  382. package/src/test/perf/perf.test.ts +2 -1
  383. package/src/test/registerDeepLinkListener.test.tsx +10 -9
  384. package/src/test/resizing.test.ts +39 -38
  385. package/src/test/select.test.tsx +4 -3
  386. package/src/test/selection-omnibus.test.ts +11 -10
  387. package/src/test/shapeutils.test.ts +4 -3
  388. package/src/test/translating.test.ts +9 -8
  389. package/tldraw.css +710 -580
  390. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +0 -7
  391. 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;
@@ -847,6 +853,9 @@ export declare let defaultEditorAssetUrls: TLEditorAssetUrls;
847
853
  /** @public */
848
854
  export declare type DefaultEmbedDefinitionType = (typeof DEFAULT_EMBED_DEFINITIONS)[number]['type'];
849
855
 
856
+ /** @public @react */
857
+ export declare function DefaultFollowingIndicator(): JSX_2.Element | null;
858
+
850
859
  /** @public */
851
860
  export declare const DefaultFontFaces: TLDefaultFonts;
852
861
 
@@ -1011,6 +1020,11 @@ export declare function DefaultToolbarContent(): JSX_2.Element;
1011
1020
  /** @public */
1012
1021
  export declare interface DefaultToolbarProps {
1013
1022
  children?: ReactNode;
1023
+ orientation?: 'horizontal' | 'vertical';
1024
+ minItems?: number;
1025
+ minSizePx?: number;
1026
+ maxItems?: number;
1027
+ maxSizePx?: number;
1014
1028
  }
1015
1029
 
1016
1030
  /** @public */
@@ -1568,6 +1582,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1568
1582
  canEdit(): boolean;
1569
1583
  canResize(): boolean;
1570
1584
  canResizeChildren(): boolean;
1585
+ isExportBoundsContainer(): boolean;
1571
1586
  getDefaultProps(): TLFrameShape['props'];
1572
1587
  getAriaDescriptor(shape: TLFrameShape): string;
1573
1588
  getGeometry(shape: TLFrameShape): Geometry2d;
@@ -1576,6 +1591,7 @@ export declare class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
1576
1591
  toSvg(shape: TLFrameShape, ctx: SvgExportContext): JSX_2.Element;
1577
1592
  indicator(shape: TLFrameShape): JSX_2.Element;
1578
1593
  providesBackgroundForChildren(): boolean;
1594
+ getClipPath(shape: TLFrameShape): Vec[];
1579
1595
  canReceiveNewChildrenOfType(shape: TLShape): boolean;
1580
1596
  onResize(shape: any, info: TLResizeInfo<any>): any;
1581
1597
  getInterpolatedProps(startShape: TLFrameShape, endShape: TLFrameShape, t: number): TLFrameShapeProps;
@@ -1769,6 +1785,29 @@ export declare function getHitShapeOnCanvasPointerDown(editor: Editor, hitLabels
1769
1785
  /** @public */
1770
1786
  export declare function getMediaAssetInfoPartial(file: File, assetId: TLAssetId, isImageType: boolean, isVideoType: boolean, maxImageDimension?: number): Promise<TLImageAsset | TLVideoAsset>;
1771
1787
 
1788
+ /**
1789
+ * ## getStrokePoints
1790
+ *
1791
+ * Get an array of points as objects with an adjusted point, pressure, vector, distance, and
1792
+ * runningLength.
1793
+ *
1794
+ * @param points - An array of points (as `[x, y, pressure]` or `{x, y, pressure}`). Pressure is
1795
+ * optional in both cases.
1796
+ * @param options - An object with options.
1797
+ * @public
1798
+ */
1799
+ export declare function getStrokePoints(rawInputPoints: VecLike[], options?: StrokeOptions): StrokePoint[];
1800
+
1801
+ /**
1802
+ * Turn an array of stroke points into a path of quadradic curves.
1803
+ *
1804
+ * @param points - The stroke points returned from perfect-freehand
1805
+ * @param closed - Whether the shape is closed
1806
+ *
1807
+ * @public
1808
+ */
1809
+ export declare function getSvgPathFromStrokePoints(points: StrokePoint[], closed?: boolean): string;
1810
+
1772
1811
  /**
1773
1812
  * Original (uncropped) width and height of shape.
1774
1813
  *
@@ -1864,6 +1903,7 @@ export declare class ImageShapeUtil extends BaseBoxShapeUtil<TLImageShape> {
1864
1903
  static migrations: TLPropsMigrations;
1865
1904
  isAspectRatioLocked(): boolean;
1866
1905
  canCrop(): boolean;
1906
+ isExportBoundsContainer(): boolean;
1867
1907
  getDefaultProps(): TLImageShape['props'];
1868
1908
  getGeometry(shape: TLImageShape): Geometry2d;
1869
1909
  getAriaDescriptor(shape: TLImageShape): string;
@@ -2114,9 +2154,42 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2114
2154
  /** @public @react */
2115
2155
  export declare function NoteToolbarItem(): JSX_2.Element;
2116
2156
 
2157
+ /**
2158
+ * Checks if a file is allowed to be uploaded. If it is not, it will show a toast explaining why to the user.
2159
+ *
2160
+ * @param file - The file to check
2161
+ * @param options - The options for the external content handler
2162
+ * @returns True if the file is allowed, false otherwise
2163
+ * @public
2164
+ */
2165
+ export declare function notifyIfFileNotAllowed(file: File, options: TLDefaultExternalContentHandlerOpts): boolean;
2166
+
2117
2167
  /** @public @react */
2118
2168
  export declare function OfflineIndicator(): JSX_2.Element;
2119
2169
 
2170
+ /**
2171
+ * A helper method to use in {@link TLUiToolItem#onDragStart} to create a shape by dragging it from
2172
+ * the toolbar.
2173
+ * @public
2174
+ */
2175
+ export declare function onDragFromToolbarToCreateShape(editor: Editor, info: TLPointerEventInfo, opts: OnDragFromToolbarToCreateShapesOpts): void;
2176
+
2177
+ /**
2178
+ * Options for {@link onDragFromToolbarToCreateShape}.
2179
+ * @public
2180
+ */
2181
+ export declare interface OnDragFromToolbarToCreateShapesOpts {
2182
+ /**
2183
+ * Create the shape being dragged. You don't need to worry about positioning it, as it'll be
2184
+ * immediately updated with the correct position.
2185
+ */
2186
+ createShape(id: TLShapeId): void;
2187
+ /**
2188
+ * Called once the drag interaction has finished.
2189
+ */
2190
+ onDragEnd?(id: TLShapeId): void;
2191
+ }
2192
+
2120
2193
  /** @public @react */
2121
2194
  export declare function OpacitySlider(): JSX_2.Element | null;
2122
2195
 
@@ -2124,11 +2197,17 @@ export declare function OpacitySlider(): JSX_2.Element | null;
2124
2197
  export declare function OvalToolbarItem(): JSX_2.Element;
2125
2198
 
2126
2199
  /** @public @react */
2127
- export declare function OverflowingToolbar({ children }: OverflowingToolbarProps): JSX_2.Element;
2200
+ export declare function OverflowingToolbar({ children, orientation, sizingParentClassName, minItems, minSizePx, maxItems, maxSizePx, }: OverflowingToolbarProps): JSX_2.Element;
2128
2201
 
2129
2202
  /** @public */
2130
2203
  export declare interface OverflowingToolbarProps {
2131
2204
  children: React.ReactNode;
2205
+ orientation: 'horizontal' | 'vertical';
2206
+ sizingParentClassName: string;
2207
+ minItems: number;
2208
+ minSizePx: number;
2209
+ maxItems: number;
2210
+ maxSizePx: number;
2132
2211
  }
2133
2212
 
2134
2213
  /** @public @react */
@@ -2517,6 +2596,54 @@ export declare function StarToolbarItem(): JSX_2.Element;
2517
2596
  /** @public */
2518
2597
  export declare const STROKE_SIZES: Record<TLDefaultSizeStyle, number>;
2519
2598
 
2599
+ /**
2600
+ * The options object for `getStroke` or `getStrokePoints`.
2601
+ *
2602
+ * @public
2603
+ */
2604
+ export declare interface StrokeOptions {
2605
+ /** The base size (diameter) of the stroke. */
2606
+ size?: number;
2607
+ /** The effect of pressure on the stroke's size. */
2608
+ thinning?: number;
2609
+ /** How much to soften the stroke's edges. */
2610
+ smoothing?: number;
2611
+ streamline?: number;
2612
+ /** An easing function to apply to each point's pressure. */
2613
+ easing?(pressure: number): number;
2614
+ /** Whether to simulate pressure based on velocity. */
2615
+ simulatePressure?: boolean;
2616
+ /** Cap, taper and easing for the start of the line. */
2617
+ start?: {
2618
+ cap?: boolean;
2619
+ easing?(distance: number): number;
2620
+ taper?: boolean | number;
2621
+ };
2622
+ /** Cap, taper and easing for the end of the line. */
2623
+ end?: {
2624
+ cap?: boolean;
2625
+ easing?(distance: number): number;
2626
+ taper?: boolean | number;
2627
+ };
2628
+ /** Whether to handle the points as a completed stroke. */
2629
+ last?: boolean;
2630
+ }
2631
+
2632
+ /**
2633
+ * The points returned by `getStrokePoints`, and the input for `getStrokeOutlinePoints`
2634
+ *
2635
+ * @public
2636
+ */
2637
+ export declare interface StrokePoint {
2638
+ point: Vec;
2639
+ input: Vec;
2640
+ vector: Vec;
2641
+ pressure: number;
2642
+ distance: number;
2643
+ runningLength: number;
2644
+ radius: number;
2645
+ }
2646
+
2520
2647
  /** @public */
2521
2648
  export declare interface StylePickerSetProps {
2522
2649
  styles: ReadonlySharedStyleMap;
@@ -2915,6 +3042,13 @@ export declare function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps):
2915
3042
  /** @public */
2916
3043
  export declare const TldrawUiButtonPicker: <T extends string>(props: TLUiButtonPickerProps<T>) => ReactElement;
2917
3044
 
3045
+ /**
3046
+ * A column, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3047
+ *
3048
+ * @public @react
3049
+ */
3050
+ export declare const TldrawUiColumn: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3051
+
2918
3052
  /** @public @react */
2919
3053
  export declare function TldrawUiComponentsProvider({ overrides, children, }: TLUiComponentsProviderProps): JSX_2.Element;
2920
3054
 
@@ -2977,9 +3111,19 @@ export declare function TldrawUiDropdownMenuTrigger({ children, ...rest }: TLUiD
2977
3111
  /** @public @react */
2978
3112
  export declare function TldrawUiEventsProvider({ onEvent, children }: EventsProviderProps): JSX_2.Element;
2979
3113
 
3114
+ /**
3115
+ * A tight grid 4 elements wide, usually of UI controls like buttons, select dropdown, checkboxes,
3116
+ * etc.
3117
+ *
3118
+ * @public @react */
3119
+ export declare const TldrawUiGrid: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3120
+
2980
3121
  /** @public @react */
2981
3122
  export declare const TldrawUiIcon: NamedExoticComponent<TLUiIconProps>;
2982
3123
 
3124
+ /** @public @react */
3125
+ export declare function TldrawUiInFrontOfTheCanvas(): JSX_2.Element;
3126
+
2983
3127
  /** @public @react */
2984
3128
  export declare const TldrawUiInput: React_2.ForwardRefExoticComponent<TLUiInputProps & React_2.RefAttributes<HTMLInputElement>>;
2985
3129
 
@@ -3002,7 +3146,7 @@ export declare function TldrawUiMenuContextProvider({ type, sourceId, children,
3002
3146
  export declare function TldrawUiMenuGroup({ id, label, className, children }: TLUiMenuGroupProps): boolean | JSX_2.Element | Iterable<ReactNode> | null | number | string | undefined;
3003
3147
 
3004
3148
  /** @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;
3149
+ 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
3150
 
3007
3151
  /** @public @react */
3008
3152
  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 +3154,24 @@ export declare function TldrawUiMenuSubmenu<Translation extends string = string>
3010
3154
  /** @public @react */
3011
3155
  export declare function TldrawUiMenuToolItem({ toolId, ...rest }: TLUiMenuToolItemProps): JSX_2.Element | null;
3012
3156
 
3157
+ /** @public */
3158
+ export declare interface TldrawUiOrientationContext {
3159
+ orientation: 'horizontal' | 'vertical';
3160
+ tooltipSide: 'bottom' | 'left' | 'right' | 'top';
3161
+ }
3162
+
3163
+ /** @public @react */
3164
+ export declare function TldrawUiOrientationProvider({ children, orientation, tooltipSide, }: TldrawUiOrientationProviderProps): JSX_2.Element;
3165
+
3166
+ /** @public */
3167
+ export declare interface TldrawUiOrientationProviderProps {
3168
+ children: ReactNode;
3169
+ orientation: 'horizontal' | 'vertical';
3170
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3171
+ }
3172
+
3013
3173
  /** @public @react */
3014
- export declare function TldrawUiPopover({ id, children, onOpenChange, open }: TLUiPopoverProps): JSX_2.Element;
3174
+ export declare function TldrawUiPopover({ id, children, onOpenChange, open, className }: TLUiPopoverProps): JSX_2.Element;
3015
3175
 
3016
3176
  /** @public @react */
3017
3177
  export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton, }: TLUiPopoverContentProps): JSX_2.Element;
@@ -3041,6 +3201,13 @@ export declare interface TldrawUiProps extends TLUiContextProviderProps {
3041
3201
  assetUrls?: TLUiAssetUrlOverrides;
3042
3202
  }
3043
3203
 
3204
+ /**
3205
+ * A row, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3206
+ *
3207
+ * @public @react
3208
+ */
3209
+ export declare const TldrawUiRow: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3210
+
3044
3211
  /** @public @react */
3045
3212
  export declare const TldrawUiSlider: React_3.ForwardRefExoticComponent<TLUiSliderProps & React_3.RefAttributes<HTMLDivElement>>;
3046
3213
 
@@ -3057,7 +3224,29 @@ export declare const TldrawUiToolbarButton: React_3.ForwardRefExoticComponent<TL
3057
3224
  export declare const TldrawUiToolbarToggleGroup: ({ children, className, type, ...props }: TLUiToolbarToggleGroupProps) => JSX_2.Element;
3058
3225
 
3059
3226
  /** @public @react */
3060
- export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3227
+ export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, tooltip, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3228
+
3229
+ /** @public @react */
3230
+ export declare const TldrawUiTooltip: React_3.ForwardRefExoticComponent<TldrawUiTooltipProps & React_3.RefAttributes<HTMLButtonElement>>;
3231
+
3232
+ /** @public */
3233
+ export declare interface TldrawUiTooltipProps {
3234
+ children: React_3.ReactNode;
3235
+ content?: React_3.ReactNode | string;
3236
+ side?: 'bottom' | 'left' | 'right' | 'top';
3237
+ sideOffset?: number;
3238
+ disabled?: boolean;
3239
+ showOnMobile?: boolean;
3240
+ delayDuration?: number;
3241
+ }
3242
+
3243
+ /** @public @react */
3244
+ export declare function TldrawUiTooltipProvider({ children }: TldrawUiTooltipProviderProps): JSX_2.Element;
3245
+
3246
+ /** @public */
3247
+ export declare interface TldrawUiTooltipProviderProps {
3248
+ children: React_3.ReactNode;
3249
+ }
3061
3250
 
3062
3251
  /* Excluded from this release type: TldrawUiTranslationProvider */
3063
3252
 
@@ -3265,6 +3454,7 @@ export declare interface TLUiComponents {
3265
3454
  Dialogs?: ComponentType | null;
3266
3455
  Toasts?: ComponentType | null;
3267
3456
  A11y?: ComponentType | null;
3457
+ FollowingIndicator?: ComponentType | null;
3268
3458
  }
3269
3459
 
3270
3460
  /** @public */
@@ -3572,6 +3762,7 @@ export declare interface TLUiEventMap {
3572
3762
  'toggle-lock': null;
3573
3763
  'toggle-reduce-motion': null;
3574
3764
  'toggle-keyboard-shortcuts': null;
3765
+ 'toggle-ui-labels': null;
3575
3766
  'toggle-edge-scrolling': null;
3576
3767
  'color-scheme': {
3577
3768
  value: string;
@@ -3589,11 +3780,14 @@ export declare interface TLUiEventMap {
3589
3780
  'flatten-to-image': null;
3590
3781
  'a11y-repeat-shape-announce': null;
3591
3782
  'open-url': {
3592
- url: string;
3783
+ destinationUrl: string;
3593
3784
  };
3594
3785
  'open-context-menu': null;
3595
3786
  'adjust-shape-styles': null;
3596
3787
  'copy-link': null;
3788
+ 'drag-tool': {
3789
+ id: string;
3790
+ };
3597
3791
  'image-replace': null;
3598
3792
  'video-replace': null;
3599
3793
  'open-kbd-shortcuts': null;
@@ -3680,6 +3874,13 @@ export declare type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & {
3680
3874
  children?: ReactNode;
3681
3875
  };
3682
3876
 
3877
+ /** @public */
3878
+ export declare interface TLUiLayoutProps extends HTMLAttributes<HTMLDivElement> {
3879
+ children: ReactNode;
3880
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3881
+ asChild?: boolean;
3882
+ }
3883
+
3683
3884
  /** @public */
3684
3885
  export declare interface TLUiMainMenuProps {
3685
3886
  children?: ReactNode;
@@ -3719,7 +3920,7 @@ export declare interface TLUiMenuContextProviderProps {
3719
3920
  }
3720
3921
 
3721
3922
  /** @public */
3722
- export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'panel' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3923
+ export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3723
3924
 
3724
3925
  /** @public */
3725
3926
  export declare interface TLUiMenuGroupProps<TranslationKey extends string = string> {
@@ -3779,6 +3980,10 @@ export declare interface TLUiMenuItemProps<TranslationKey extends string = strin
3779
3980
  * Whether the item is selected.
3780
3981
  */
3781
3982
  isSelected?: boolean;
3983
+ /**
3984
+ * The function to call when the item is dragged. If this is provided, the item will be draggable.
3985
+ */
3986
+ onDragStart?(source: TLUiEventSource, info: TLPointerEventInfo): void;
3782
3987
  }
3783
3988
 
3784
3989
  /** @public */
@@ -3824,6 +4029,7 @@ export declare interface TLUiPopoverProps {
3824
4029
  open?: boolean;
3825
4030
  children: React_3.ReactNode;
3826
4031
  onOpenChange?(isOpen: boolean): void;
4032
+ className?: string;
3827
4033
  }
3828
4034
 
3829
4035
  /** @public */
@@ -3909,6 +4115,7 @@ export declare interface TLUiToolbarButtonProps extends React_3.HTMLAttributes<H
3909
4115
  disabled?: boolean;
3910
4116
  isActive?: boolean;
3911
4117
  type: 'icon' | 'menu' | 'tool';
4118
+ tooltip?: string;
3912
4119
  }
3913
4120
 
3914
4121
  /** @public */
@@ -3917,6 +4124,8 @@ export declare interface TLUiToolbarProps extends React_3.HTMLAttributes<HTMLDiv
3917
4124
  className?: string;
3918
4125
  dir?: 'ltr' | 'rtl';
3919
4126
  label: string;
4127
+ orientation?: 'grid' | 'horizontal' | 'vertical';
4128
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3920
4129
  }
3921
4130
 
3922
4131
  /** @public */
@@ -3935,6 +4144,7 @@ export declare interface TLUiToolbarToggleItemProps extends React_3.HTMLAttribut
3935
4144
  className?: string;
3936
4145
  type: 'icon' | 'tool';
3937
4146
  value: string;
4147
+ tooltip?: string;
3938
4148
  }
3939
4149
 
3940
4150
  /** @public */
@@ -3944,6 +4154,7 @@ export declare interface TLUiToolItem<TranslationKey extends string = string, Ic
3944
4154
  shortcutsLabel?: TranslationKey;
3945
4155
  icon: IconType | TLUiIconJsx;
3946
4156
  onSelect(source: TLUiEventSource): void;
4157
+ onDragStart?(source: TLUiEventSource, info: TLPointerEventInfo): void;
3947
4158
  /**
3948
4159
  * The keyboard shortcut for this tool. This is a string that can be a single key,
3949
4160
  * or a combination of keys.
@@ -3979,7 +4190,7 @@ export declare interface TLUiTranslation {
3979
4190
  export declare type TLUiTranslationContextType = TLUiTranslation;
3980
4191
 
3981
4192
  /** @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';
4193
+ 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' | '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
4194
 
3984
4195
  /** @public */
3985
4196
  export declare interface TLUiTranslationProviderProps {
@@ -4120,6 +4331,9 @@ export declare function ToggleToolLockItem(): JSX_2.Element;
4120
4331
  /** @public @react */
4121
4332
  export declare function ToggleTransparentBgMenuItem(): JSX_2.Element;
4122
4333
 
4334
+ /** @public @react */
4335
+ export declare function ToggleUiLabelsItem(): JSX_2.Element;
4336
+
4123
4337
  /** @public @react */
4124
4338
  export declare function ToggleWrapModeItem(): JSX_2.Element;
4125
4339
 
@@ -4353,6 +4567,9 @@ export declare function useShowCollaborationUi(): boolean;
4353
4567
  /** @public */
4354
4568
  export declare function useTldrawUiComponents(): TLUiComponents;
4355
4569
 
4570
+ /** @public */
4571
+ export declare function useTldrawUiOrientation(): TldrawUiOrientationContext;
4572
+
4356
4573
  /** @public */
4357
4574
  export declare function useToasts(): TLUiToastsContextType;
4358
4575
 
package/dist-cjs/index.js CHANGED
@@ -22,6 +22,7 @@ __export(index_exports, {
22
22
  ARROW_LABEL_FONT_SIZES: () => import_default_shape_constants.ARROW_LABEL_FONT_SIZES,
23
23
  ASPECT_RATIO_OPTIONS: () => import_crop.ASPECT_RATIO_OPTIONS,
24
24
  ASPECT_RATIO_TO_VALUE: () => import_crop.ASPECT_RATIO_TO_VALUE,
25
+ AccessibilityMenu: () => import_AccessibilityMenu.AccessibilityMenu,
25
26
  AlignMenuItems: () => import_DefaultActionsMenuContent.AlignMenuItems,
26
27
  ArrangeMenuSubmenu: () => import_menu_items.ArrangeMenuSubmenu,
27
28
  ArrowBindingUtil: () => import_ArrowBindingUtil.ArrowBindingUtil,
@@ -63,6 +64,7 @@ __export(index_exports, {
63
64
  DefaultDebugMenu: () => import_DefaultDebugMenu.DefaultDebugMenu,
64
65
  DefaultDebugMenuContent: () => import_DefaultDebugMenuContent.DefaultDebugMenuContent,
65
66
  DefaultDialogs: () => import_Dialogs.DefaultDialogs,
67
+ DefaultFollowingIndicator: () => import_DefaultFollowingIndicator.DefaultFollowingIndicator,
66
68
  DefaultFontFaces: () => import_defaultFonts.DefaultFontFaces,
67
69
  DefaultHelpMenu: () => import_DefaultHelpMenu.DefaultHelpMenu,
68
70
  DefaultHelpMenuContent: () => import_DefaultHelpMenuContent.DefaultHelpMenuContent,
@@ -210,6 +212,7 @@ __export(index_exports, {
210
212
  TldrawUiButtonIcon: () => import_TldrawUiButtonIcon.TldrawUiButtonIcon,
211
213
  TldrawUiButtonLabel: () => import_TldrawUiButtonLabel.TldrawUiButtonLabel,
212
214
  TldrawUiButtonPicker: () => import_TldrawUiButtonPicker.TldrawUiButtonPicker,
215
+ TldrawUiColumn: () => import_layout.TldrawUiColumn,
213
216
  TldrawUiComponentsProvider: () => import_components.TldrawUiComponentsProvider,
214
217
  TldrawUiContextProvider: () => import_TldrawUiContextProvider.TldrawUiContextProvider,
215
218
  TldrawUiContextualToolbar: () => import_TldrawUiContextualToolbar.TldrawUiContextualToolbar,
@@ -229,7 +232,9 @@ __export(index_exports, {
229
232
  TldrawUiDropdownMenuSubTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuSubTrigger,
230
233
  TldrawUiDropdownMenuTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuTrigger,
231
234
  TldrawUiEventsProvider: () => import_events.TldrawUiEventsProvider,
235
+ TldrawUiGrid: () => import_layout.TldrawUiGrid,
232
236
  TldrawUiIcon: () => import_TldrawUiIcon.TldrawUiIcon,
237
+ TldrawUiInFrontOfTheCanvas: () => import_TldrawUi.TldrawUiInFrontOfTheCanvas,
233
238
  TldrawUiInput: () => import_TldrawUiInput.TldrawUiInput,
234
239
  TldrawUiKbd: () => import_TldrawUiKbd.TldrawUiKbd,
235
240
  TldrawUiMenuActionCheckboxItem: () => import_TldrawUiMenuActionCheckboxItem.TldrawUiMenuActionCheckboxItem,
@@ -240,15 +245,19 @@ __export(index_exports, {
240
245
  TldrawUiMenuItem: () => import_TldrawUiMenuItem.TldrawUiMenuItem,
241
246
  TldrawUiMenuSubmenu: () => import_TldrawUiMenuSubmenu.TldrawUiMenuSubmenu,
242
247
  TldrawUiMenuToolItem: () => import_TldrawUiMenuToolItem.TldrawUiMenuToolItem,
248
+ TldrawUiOrientationProvider: () => import_layout.TldrawUiOrientationProvider,
243
249
  TldrawUiPopover: () => import_TldrawUiPopover.TldrawUiPopover,
244
250
  TldrawUiPopoverContent: () => import_TldrawUiPopover.TldrawUiPopoverContent,
245
251
  TldrawUiPopoverTrigger: () => import_TldrawUiPopover.TldrawUiPopoverTrigger,
252
+ TldrawUiRow: () => import_layout.TldrawUiRow,
246
253
  TldrawUiSlider: () => import_TldrawUiSlider.TldrawUiSlider,
247
254
  TldrawUiToastsProvider: () => import_toasts.TldrawUiToastsProvider,
248
255
  TldrawUiToolbar: () => import_TldrawUiToolbar.TldrawUiToolbar,
249
256
  TldrawUiToolbarButton: () => import_TldrawUiToolbar.TldrawUiToolbarButton,
250
257
  TldrawUiToolbarToggleGroup: () => import_TldrawUiToolbar.TldrawUiToolbarToggleGroup,
251
258
  TldrawUiToolbarToggleItem: () => import_TldrawUiToolbar.TldrawUiToolbarToggleItem,
259
+ TldrawUiTooltip: () => import_TldrawUiTooltip.TldrawUiTooltip,
260
+ TldrawUiTooltipProvider: () => import_TldrawUiTooltip.TldrawUiTooltipProvider,
252
261
  TldrawUiTranslationProvider: () => import_useTranslation.TldrawUiTranslationProvider,
253
262
  ToggleAutoSizeMenuItem: () => import_menu_items.ToggleAutoSizeMenuItem,
254
263
  ToggleDebugModeItem: () => import_menu_items.ToggleDebugModeItem,
@@ -264,6 +273,7 @@ __export(index_exports, {
264
273
  ToggleToolLockItem: () => import_menu_items.ToggleToolLockItem,
265
274
  ToggleToolLockedButton: () => import_ToggleToolLockedButton.ToggleToolLockedButton,
266
275
  ToggleTransparentBgMenuItem: () => import_menu_items.ToggleTransparentBgMenuItem,
276
+ ToggleUiLabelsItem: () => import_menu_items.ToggleUiLabelsItem,
267
277
  ToggleWrapModeItem: () => import_menu_items.ToggleWrapModeItem,
268
278
  ToolbarItem: () => import_DefaultToolbarContent.ToolbarItem,
269
279
  TrapezoidToolbarItem: () => import_DefaultToolbarContent.TrapezoidToolbarItem,
@@ -316,7 +326,11 @@ __export(index_exports, {
316
326
  getEmbedInfo: () => import_embeds.getEmbedInfo,
317
327
  getHitShapeOnCanvasPointerDown: () => import_getHitShapeOnCanvasPointerDown.getHitShapeOnCanvasPointerDown,
318
328
  getMediaAssetInfoPartial: () => import_defaultExternalContentHandlers.getMediaAssetInfoPartial,
329
+ getStrokePoints: () => import_getStrokePoints.getStrokePoints,
330
+ getSvgPathFromStrokePoints: () => import_svg.getSvgPathFromStrokePoints,
319
331
  getUncroppedSize: () => import_crop.getUncroppedSize,
332
+ notifyIfFileNotAllowed: () => import_defaultExternalContentHandlers.notifyIfFileNotAllowed,
333
+ onDragFromToolbarToCreateShape: () => import_useTools.onDragFromToolbarToCreateShape,
320
334
  parseAndLoadDocument: () => import_file.parseAndLoadDocument,
321
335
  parseTldrawJsonFile: () => import_file.parseTldrawJsonFile,
322
336
  preloadFont: () => import_preload_font.preloadFont,
@@ -365,6 +379,7 @@ __export(index_exports, {
365
379
  useSelectedShapesAnnouncer: () => import_A11y.useSelectedShapesAnnouncer,
366
380
  useShowCollaborationUi: () => import_useCollaborationStatus.useShowCollaborationUi,
367
381
  useTldrawUiComponents: () => import_components.useTldrawUiComponents,
382
+ useTldrawUiOrientation: () => import_layout.useTldrawUiOrientation,
368
383
  useToasts: () => import_toasts.useToasts,
369
384
  useTools: () => import_useTools.useTools,
370
385
  useTranslation: () => import_useTranslation2.useTranslation,
@@ -376,8 +391,11 @@ var import_editor = require("@tldraw/editor");
376
391
  var import_PathBuilder = require("./lib/shapes/shared/PathBuilder");
377
392
  var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersReducedMotion");
378
393
  var import_A11y = require("./lib/ui/components/A11y");
394
+ var import_AccessibilityMenu = require("./lib/ui/components/AccessibilityMenu");
379
395
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
396
+ var import_DefaultFollowingIndicator = require("./lib/ui/components/DefaultFollowingIndicator");
380
397
  var import_Dialogs = require("./lib/ui/components/Dialogs");
398
+ var import_layout = require("./lib/ui/components/primitives/layout");
381
399
  var import_TldrawUiMenuActionCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem");
382
400
  var import_TldrawUiMenuActionItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionItem");
383
401
  var import_TldrawUiMenuToolItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuToolItem");
@@ -419,6 +437,8 @@ var import_NoteShapeUtil = require("./lib/shapes/note/NoteShapeUtil");
419
437
  var import_crop = require("./lib/shapes/shared/crop");
420
438
  var import_default_shape_constants = require("./lib/shapes/shared/default-shape-constants");
421
439
  var import_defaultFonts = require("./lib/shapes/shared/defaultFonts");
440
+ var import_getStrokePoints = require("./lib/shapes/shared/freehand/getStrokePoints");
441
+ var import_svg = require("./lib/shapes/shared/freehand/svg");
422
442
  var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
423
443
  var import_RichTextLabel = require("./lib/shapes/shared/RichTextLabel");
424
444
  var import_useDefaultColorTheme = require("./lib/shapes/shared/useDefaultColorTheme");
@@ -482,6 +502,7 @@ var import_TldrawUiKbd = require("./lib/ui/components/primitives/TldrawUiKbd");
482
502
  var import_TldrawUiPopover = require("./lib/ui/components/primitives/TldrawUiPopover");
483
503
  var import_TldrawUiSlider = require("./lib/ui/components/primitives/TldrawUiSlider");
484
504
  var import_TldrawUiToolbar = require("./lib/ui/components/primitives/TldrawUiToolbar");
505
+ var import_TldrawUiTooltip = require("./lib/ui/components/primitives/TldrawUiTooltip");
485
506
  var import_DefaultQuickActions = require("./lib/ui/components/QuickActions/DefaultQuickActions");
486
507
  var import_DefaultQuickActionsContent = require("./lib/ui/components/QuickActions/DefaultQuickActionsContent");
487
508
  var import_DefaultSharePanel = require("./lib/ui/components/SharePanel/DefaultSharePanel");
@@ -543,7 +564,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
543
564
  var import_file = require("./lib/utils/tldr/file");
544
565
  (0, import_editor.registerTldrawLibraryVersion)(
545
566
  "tldraw",
546
- "3.16.0-canary.56eb315c11ae",
567
+ "3.16.0-canary.6074088f67bd",
547
568
  "cjs"
548
569
  );
549
570
  //# sourceMappingURL=index.js.map