tldraw 3.16.0-canary.fa3749606e52 → 3.16.0-internal.51e99e128bd4

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 (355) hide show
  1. package/dist-cjs/index.d.ts +171 -5
  2. package/dist-cjs/index.js +17 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  5. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  6. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +3 -3
  7. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  8. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  9. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  10. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  11. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  12. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -3
  13. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  14. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  15. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  16. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +12 -12
  17. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  18. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  19. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  20. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +2 -2
  21. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  22. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js +2 -1
  23. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js.map +2 -2
  24. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +5 -1
  25. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  26. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -3
  27. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  28. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +5 -1
  29. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  30. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +4 -4
  31. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  32. package/dist-cjs/lib/shapes/shared/ShapeFill.js +4 -4
  33. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  34. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  35. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +10 -1
  36. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  37. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +2 -2
  38. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  39. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  40. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  41. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +25 -1
  42. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  43. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +12 -0
  44. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  45. package/dist-cjs/lib/ui/TldrawUi.js +14 -0
  46. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  47. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  48. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  49. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +35 -0
  50. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +7 -0
  51. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +12 -3
  52. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  53. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  54. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  55. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +3 -3
  56. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  57. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  58. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  59. package/dist-cjs/lib/ui/components/MobileStylePanel.js +5 -3
  60. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  61. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  62. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  63. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +2 -1
  64. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  65. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  66. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  67. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  68. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  69. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +2 -0
  70. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  71. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +171 -140
  72. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  73. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  74. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  75. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +26 -25
  76. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  77. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +1 -1
  78. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  79. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +66 -21
  80. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  81. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +189 -80
  82. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  83. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +5 -4
  84. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  85. package/dist-cjs/lib/ui/components/menu-items.js +6 -0
  86. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  87. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +5 -16
  88. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  89. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  90. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  91. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  92. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  93. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +30 -7
  94. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  95. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +268 -0
  96. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +7 -0
  97. package/dist-cjs/lib/ui/components/primitives/layout.js +76 -0
  98. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  99. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  100. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +25 -12
  101. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  102. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +12 -26
  103. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  104. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +3 -2
  105. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  106. package/dist-cjs/lib/ui/context/actions.js +15 -0
  107. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  108. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  109. package/dist-cjs/lib/ui/hooks/useTools.js +21 -3
  110. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  111. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  112. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +3 -0
  113. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  114. package/dist-cjs/lib/ui/version.js +3 -3
  115. package/dist-cjs/lib/ui/version.js.map +1 -1
  116. package/dist-esm/index.d.mts +171 -5
  117. package/dist-esm/index.mjs +27 -1
  118. package/dist-esm/index.mjs.map +2 -2
  119. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  120. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  121. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +4 -3
  122. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  123. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  124. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  125. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  126. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  127. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +4 -3
  128. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  129. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  130. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  131. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +13 -12
  132. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  133. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  134. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  135. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +3 -2
  136. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  137. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +2 -1
  138. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  139. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +6 -1
  140. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  141. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -3
  142. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  143. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +6 -1
  144. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  145. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -4
  146. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  147. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +5 -4
  148. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  149. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  150. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +10 -1
  151. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  152. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +3 -2
  153. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  154. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  155. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  156. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +26 -1
  157. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  158. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +13 -0
  159. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  160. package/dist-esm/lib/ui/TldrawUi.mjs +16 -2
  161. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  162. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  163. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  164. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +19 -0
  165. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +7 -0
  166. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +12 -3
  167. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  168. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  169. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  170. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -5
  171. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  172. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  173. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  174. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +6 -3
  175. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  176. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  177. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  178. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +2 -1
  179. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  180. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  181. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  182. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  183. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  184. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +3 -1
  185. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  186. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +171 -140
  187. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  188. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  189. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  190. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +26 -25
  191. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  192. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +1 -1
  193. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  194. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +56 -21
  195. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  196. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +192 -81
  197. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  198. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +5 -4
  199. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  200. package/dist-esm/lib/ui/components/menu-items.mjs +6 -0
  201. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  202. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +6 -6
  203. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  204. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +1 -1
  205. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  206. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  207. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  208. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +30 -7
  209. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  210. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +245 -0
  211. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +7 -0
  212. package/dist-esm/lib/ui/components/primitives/layout.mjs +46 -0
  213. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  214. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  215. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +25 -12
  216. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  217. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +12 -26
  218. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  219. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +3 -2
  220. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  221. package/dist-esm/lib/ui/context/actions.mjs +15 -0
  222. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  223. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  224. package/dist-esm/lib/ui/hooks/useTools.mjs +22 -3
  225. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  226. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +3 -0
  227. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  228. package/dist-esm/lib/ui/version.mjs +3 -3
  229. package/dist-esm/lib/ui/version.mjs.map +1 -1
  230. package/package.json +11 -34
  231. package/src/index.ts +21 -0
  232. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  233. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +2 -1
  234. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +4 -3
  235. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +7 -6
  236. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +4 -3
  237. package/src/lib/shapes/arrow/arrowTargetState.ts +2 -1
  238. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  239. package/src/lib/shapes/draw/DrawShapeTool.test.ts +0 -5
  240. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -3
  241. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  242. package/src/lib/shapes/frame/FrameShapeUtil.tsx +21 -14
  243. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  244. package/src/lib/shapes/geo/GeoShapeUtil.tsx +3 -2
  245. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  246. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +7 -1
  247. package/src/lib/shapes/image/ImageShapeUtil.tsx +3 -3
  248. package/src/lib/shapes/line/LineShapeUtil.test.tsx +4 -3
  249. package/src/lib/shapes/line/LineShapeUtil.tsx +6 -1
  250. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  251. package/src/lib/shapes/note/NoteShapeUtil.tsx +9 -4
  252. package/src/lib/shapes/shared/ShapeFill.tsx +5 -4
  253. package/src/lib/shapes/shared/freehand/svg.ts +2 -0
  254. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +11 -1
  255. package/src/lib/shapes/text/TextShapeTool.test.ts +6 -5
  256. package/src/lib/shapes/text/TextShapeUtil.tsx +3 -2
  257. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  258. package/src/lib/tools/EraserTool/childStates/Erasing.ts +34 -1
  259. package/src/lib/tools/EraserTool/childStates/Pointing.ts +20 -0
  260. package/src/lib/ui/TldrawUi.tsx +17 -2
  261. package/src/lib/ui/assetUrls.ts +13 -10
  262. package/src/lib/ui/components/AccessibilityMenu.tsx +20 -0
  263. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +15 -3
  264. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  265. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -4
  266. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  267. package/src/lib/ui/components/MobileStylePanel.tsx +9 -6
  268. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  269. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +3 -2
  270. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  271. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  272. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +3 -1
  273. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +146 -107
  274. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  275. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +7 -6
  276. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +1 -1
  277. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +55 -23
  278. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +212 -61
  279. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +14 -11
  280. package/src/lib/ui/components/menu-items.tsx +8 -0
  281. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +40 -37
  282. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +1 -1
  283. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  284. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +51 -12
  285. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +327 -0
  286. package/src/lib/ui/components/primitives/layout.tsx +107 -0
  287. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  288. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +29 -16
  289. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +18 -27
  290. package/src/lib/ui/context/TldrawUiContextProvider.tsx +23 -20
  291. package/src/lib/ui/context/actions.tsx +15 -0
  292. package/src/lib/ui/context/events.tsx +1 -0
  293. package/src/lib/ui/hooks/useTools.tsx +25 -3
  294. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +3 -0
  295. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +3 -0
  296. package/src/lib/ui/version.ts +3 -3
  297. package/src/lib/ui.css +406 -292
  298. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +5 -5
  299. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +4 -4
  300. package/src/test/A11y.test.tsx +3 -2
  301. package/src/test/ClickManager.test.ts +7 -6
  302. package/src/test/Editor.test.tsx +20 -19
  303. package/src/test/EraserTool.test.ts +184 -13
  304. package/src/test/HandTool.test.ts +10 -9
  305. package/src/test/HighlightShape.test.ts +2 -1
  306. package/src/test/SelectTool.test.ts +3 -2
  307. package/src/test/TLUserPreferences.test.ts +4 -3
  308. package/src/test/TestEditor.ts +13 -15
  309. package/src/test/TldrawEditor.test.tsx +11 -10
  310. package/src/test/ZoomTool.test.ts +7 -6
  311. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  312. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  313. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  314. package/src/test/arrows-megabus.test.tsx +17 -10
  315. package/src/test/bindings.test.tsx +24 -37
  316. package/src/test/bookmark-shapes.test.ts +1 -8
  317. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +23 -7
  318. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  319. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  320. package/src/test/commands/alignShapes.test.tsx +25 -24
  321. package/src/test/commands/animationSpeed.test.ts +2 -1
  322. package/src/test/commands/centerOnPoint.test.ts +3 -2
  323. package/src/test/commands/clipboard.test.ts +3 -2
  324. package/src/test/commands/createShapes.test.ts +2 -1
  325. package/src/test/commands/deleteShapes.test.ts +2 -1
  326. package/src/test/commands/distributeShapes.test.tsx +11 -10
  327. package/src/test/commands/getSvgString.test.ts +2 -1
  328. package/src/test/commands/packShapes.test.ts +5 -4
  329. package/src/test/commands/resizeShape.test.ts +2 -1
  330. package/src/test/commands/rotateShapes.test.ts +7 -6
  331. package/src/test/commands/setCamera.test.ts +4 -3
  332. package/src/test/commands/setCurrentPage.test.ts +3 -2
  333. package/src/test/commands/stackShapes.test.ts +11 -10
  334. package/src/test/commands/stretch.test.tsx +13 -12
  335. package/src/test/createDeepLink.test.tsx +2 -1
  336. package/src/test/cropping.test.ts +3 -2
  337. package/src/test/drawing.test.ts +2 -1
  338. package/src/test/flipShapes.test.ts +4 -3
  339. package/src/test/frames.test.ts +25 -24
  340. package/src/test/getCulledShapes.test.tsx +3 -2
  341. package/src/test/groups.test.tsx +1 -1
  342. package/src/test/handleDeepLink.test.tsx +2 -1
  343. package/src/test/inner-outer-margin.test.ts +315 -0
  344. package/src/test/maxShapes.test.ts +3 -2
  345. package/src/test/modifiers.test.ts +5 -4
  346. package/src/test/navigation.test.ts +12 -11
  347. package/src/test/panning.test.ts +2 -1
  348. package/src/test/perf/perf.test.ts +2 -1
  349. package/src/test/registerDeepLinkListener.test.tsx +10 -9
  350. package/src/test/resizing.test.ts +39 -38
  351. package/src/test/select.test.tsx +4 -3
  352. package/src/test/selection-omnibus.test.ts +11 -10
  353. package/src/test/shapeutils.test.ts +4 -3
  354. package/src/test/translating.test.ts +9 -8
  355. package/tldraw.css +699 -580
@@ -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;
@@ -1011,6 +1017,11 @@ export declare function DefaultToolbarContent(): JSX_2.Element;
1011
1017
  /** @public */
1012
1018
  export declare interface DefaultToolbarProps {
1013
1019
  children?: ReactNode;
1020
+ orientation?: 'horizontal' | 'vertical';
1021
+ minItems?: number;
1022
+ minSizePx?: number;
1023
+ maxItems?: number;
1024
+ maxSizePx?: number;
1014
1025
  }
1015
1026
 
1016
1027
  /** @public */
@@ -1769,6 +1780,29 @@ export declare function getHitShapeOnCanvasPointerDown(editor: Editor, hitLabels
1769
1780
  /** @public */
1770
1781
  export declare function getMediaAssetInfoPartial(file: File, assetId: TLAssetId, isImageType: boolean, isVideoType: boolean, maxImageDimension?: number): Promise<TLImageAsset | TLVideoAsset>;
1771
1782
 
1783
+ /**
1784
+ * ## getStrokePoints
1785
+ *
1786
+ * Get an array of points as objects with an adjusted point, pressure, vector, distance, and
1787
+ * runningLength.
1788
+ *
1789
+ * @param points - An array of points (as `[x, y, pressure]` or `{x, y, pressure}`). Pressure is
1790
+ * optional in both cases.
1791
+ * @param options - An object with options.
1792
+ * @public
1793
+ */
1794
+ export declare function getStrokePoints(rawInputPoints: VecLike[], options?: StrokeOptions): StrokePoint[];
1795
+
1796
+ /**
1797
+ * Turn an array of stroke points into a path of quadradic curves.
1798
+ *
1799
+ * @param points - The stroke points returned from perfect-freehand
1800
+ * @param closed - Whether the shape is closed
1801
+ *
1802
+ * @public
1803
+ */
1804
+ export declare function getSvgPathFromStrokePoints(points: StrokePoint[], closed?: boolean): string;
1805
+
1772
1806
  /**
1773
1807
  * Original (uncropped) width and height of shape.
1774
1808
  *
@@ -2147,11 +2181,17 @@ export declare function OpacitySlider(): JSX_2.Element | null;
2147
2181
  export declare function OvalToolbarItem(): JSX_2.Element;
2148
2182
 
2149
2183
  /** @public @react */
2150
- export declare function OverflowingToolbar({ children }: OverflowingToolbarProps): JSX_2.Element;
2184
+ export declare function OverflowingToolbar({ children, orientation, sizingParentClassName, minItems, minSizePx, maxItems, maxSizePx, }: OverflowingToolbarProps): JSX_2.Element;
2151
2185
 
2152
2186
  /** @public */
2153
2187
  export declare interface OverflowingToolbarProps {
2154
2188
  children: React.ReactNode;
2189
+ orientation: 'horizontal' | 'vertical';
2190
+ sizingParentClassName: string;
2191
+ minItems: number;
2192
+ minSizePx: number;
2193
+ maxItems: number;
2194
+ maxSizePx: number;
2155
2195
  }
2156
2196
 
2157
2197
  /** @public @react */
@@ -2540,6 +2580,54 @@ export declare function StarToolbarItem(): JSX_2.Element;
2540
2580
  /** @public */
2541
2581
  export declare const STROKE_SIZES: Record<TLDefaultSizeStyle, number>;
2542
2582
 
2583
+ /**
2584
+ * The options object for `getStroke` or `getStrokePoints`.
2585
+ *
2586
+ * @public
2587
+ */
2588
+ export declare interface StrokeOptions {
2589
+ /** The base size (diameter) of the stroke. */
2590
+ size?: number;
2591
+ /** The effect of pressure on the stroke's size. */
2592
+ thinning?: number;
2593
+ /** How much to soften the stroke's edges. */
2594
+ smoothing?: number;
2595
+ streamline?: number;
2596
+ /** An easing function to apply to each point's pressure. */
2597
+ easing?(pressure: number): number;
2598
+ /** Whether to simulate pressure based on velocity. */
2599
+ simulatePressure?: boolean;
2600
+ /** Cap, taper and easing for the start of the line. */
2601
+ start?: {
2602
+ cap?: boolean;
2603
+ easing?(distance: number): number;
2604
+ taper?: boolean | number;
2605
+ };
2606
+ /** Cap, taper and easing for the end of the line. */
2607
+ end?: {
2608
+ cap?: boolean;
2609
+ easing?(distance: number): number;
2610
+ taper?: boolean | number;
2611
+ };
2612
+ /** Whether to handle the points as a completed stroke. */
2613
+ last?: boolean;
2614
+ }
2615
+
2616
+ /**
2617
+ * The points returned by `getStrokePoints`, and the input for `getStrokeOutlinePoints`
2618
+ *
2619
+ * @public
2620
+ */
2621
+ export declare interface StrokePoint {
2622
+ point: Vec;
2623
+ input: Vec;
2624
+ vector: Vec;
2625
+ pressure: number;
2626
+ distance: number;
2627
+ runningLength: number;
2628
+ radius: number;
2629
+ }
2630
+
2543
2631
  /** @public */
2544
2632
  export declare interface StylePickerSetProps {
2545
2633
  styles: ReadonlySharedStyleMap;
@@ -2938,6 +3026,13 @@ export declare function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps):
2938
3026
  /** @public */
2939
3027
  export declare const TldrawUiButtonPicker: <T extends string>(props: TLUiButtonPickerProps<T>) => ReactElement;
2940
3028
 
3029
+ /**
3030
+ * A column, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3031
+ *
3032
+ * @public @react
3033
+ */
3034
+ export declare const TldrawUiColumn: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3035
+
2941
3036
  /** @public @react */
2942
3037
  export declare function TldrawUiComponentsProvider({ overrides, children, }: TLUiComponentsProviderProps): JSX_2.Element;
2943
3038
 
@@ -3000,6 +3095,13 @@ export declare function TldrawUiDropdownMenuTrigger({ children, ...rest }: TLUiD
3000
3095
  /** @public @react */
3001
3096
  export declare function TldrawUiEventsProvider({ onEvent, children }: EventsProviderProps): JSX_2.Element;
3002
3097
 
3098
+ /**
3099
+ * A tight grid 4 elements wide, usually of UI controls like buttons, select dropdown, checkboxes,
3100
+ * etc.
3101
+ *
3102
+ * @public @react */
3103
+ export declare const TldrawUiGrid: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3104
+
3003
3105
  /** @public @react */
3004
3106
  export declare const TldrawUiIcon: NamedExoticComponent<TLUiIconProps>;
3005
3107
 
@@ -3033,8 +3135,24 @@ export declare function TldrawUiMenuSubmenu<Translation extends string = string>
3033
3135
  /** @public @react */
3034
3136
  export declare function TldrawUiMenuToolItem({ toolId, ...rest }: TLUiMenuToolItemProps): JSX_2.Element | null;
3035
3137
 
3138
+ /** @public */
3139
+ export declare interface TldrawUiOrientationContext {
3140
+ orientation: 'horizontal' | 'vertical';
3141
+ tooltipSide: 'bottom' | 'left' | 'right' | 'top';
3142
+ }
3143
+
3144
+ /** @public @react */
3145
+ export declare function TldrawUiOrientationProvider({ children, orientation, tooltipSide, }: TldrawUiOrientationProviderProps): JSX_2.Element;
3146
+
3147
+ /** @public */
3148
+ export declare interface TldrawUiOrientationProviderProps {
3149
+ children: ReactNode;
3150
+ orientation: 'horizontal' | 'vertical';
3151
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3152
+ }
3153
+
3036
3154
  /** @public @react */
3037
- export declare function TldrawUiPopover({ id, children, onOpenChange, open }: TLUiPopoverProps): JSX_2.Element;
3155
+ export declare function TldrawUiPopover({ id, children, onOpenChange, open, className }: TLUiPopoverProps): JSX_2.Element;
3038
3156
 
3039
3157
  /** @public @react */
3040
3158
  export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, disableEscapeKeyDown, autoFocusFirstButton, }: TLUiPopoverContentProps): JSX_2.Element;
@@ -3064,6 +3182,13 @@ export declare interface TldrawUiProps extends TLUiContextProviderProps {
3064
3182
  assetUrls?: TLUiAssetUrlOverrides;
3065
3183
  }
3066
3184
 
3185
+ /**
3186
+ * A row, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3187
+ *
3188
+ * @public @react
3189
+ */
3190
+ export declare const TldrawUiRow: ForwardRefExoticComponent<TLUiLayoutProps & RefAttributes<HTMLDivElement>>;
3191
+
3067
3192
  /** @public @react */
3068
3193
  export declare const TldrawUiSlider: React_3.ForwardRefExoticComponent<TLUiSliderProps & React_3.RefAttributes<HTMLDivElement>>;
3069
3194
 
@@ -3080,7 +3205,29 @@ export declare const TldrawUiToolbarButton: React_3.ForwardRefExoticComponent<TL
3080
3205
  export declare const TldrawUiToolbarToggleGroup: ({ children, className, type, ...props }: TLUiToolbarToggleGroupProps) => JSX_2.Element;
3081
3206
 
3082
3207
  /** @public @react */
3083
- export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3208
+ export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, tooltip, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
3209
+
3210
+ /** @public @react */
3211
+ export declare const TldrawUiTooltip: React_3.ForwardRefExoticComponent<TldrawUiTooltipProps & React_3.RefAttributes<HTMLButtonElement>>;
3212
+
3213
+ /** @public */
3214
+ export declare interface TldrawUiTooltipProps {
3215
+ children: React_3.ReactNode;
3216
+ content?: React_3.ReactNode | string;
3217
+ side?: 'bottom' | 'left' | 'right' | 'top';
3218
+ sideOffset?: number;
3219
+ disabled?: boolean;
3220
+ showOnMobile?: boolean;
3221
+ delayDuration?: number;
3222
+ }
3223
+
3224
+ /** @public @react */
3225
+ export declare function TldrawUiTooltipProvider({ children }: TldrawUiTooltipProviderProps): JSX_2.Element;
3226
+
3227
+ /** @public */
3228
+ export declare interface TldrawUiTooltipProviderProps {
3229
+ children: React_3.ReactNode;
3230
+ }
3084
3231
 
3085
3232
  /* Excluded from this release type: TldrawUiTranslationProvider */
3086
3233
 
@@ -3595,6 +3742,7 @@ export declare interface TLUiEventMap {
3595
3742
  'toggle-lock': null;
3596
3743
  'toggle-reduce-motion': null;
3597
3744
  'toggle-keyboard-shortcuts': null;
3745
+ 'toggle-ui-labels': null;
3598
3746
  'toggle-edge-scrolling': null;
3599
3747
  'color-scheme': {
3600
3748
  value: string;
@@ -3706,6 +3854,13 @@ export declare type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & {
3706
3854
  children?: ReactNode;
3707
3855
  };
3708
3856
 
3857
+ /** @public */
3858
+ export declare interface TLUiLayoutProps extends HTMLAttributes<HTMLDivElement> {
3859
+ children: ReactNode;
3860
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3861
+ asChild?: boolean;
3862
+ }
3863
+
3709
3864
  /** @public */
3710
3865
  export declare interface TLUiMainMenuProps {
3711
3866
  children?: ReactNode;
@@ -3745,7 +3900,7 @@ export declare interface TLUiMenuContextProviderProps {
3745
3900
  }
3746
3901
 
3747
3902
  /** @public */
3748
- export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'panel' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3903
+ export declare type TLUiMenuContextType = 'context-menu' | 'helper-buttons' | 'icons' | 'keyboard-shortcuts' | 'menu' | 'small-icons' | 'toolbar-overflow' | 'toolbar';
3749
3904
 
3750
3905
  /** @public */
3751
3906
  export declare interface TLUiMenuGroupProps<TranslationKey extends string = string> {
@@ -3854,6 +4009,7 @@ export declare interface TLUiPopoverProps {
3854
4009
  open?: boolean;
3855
4010
  children: React_3.ReactNode;
3856
4011
  onOpenChange?(isOpen: boolean): void;
4012
+ className?: string;
3857
4013
  }
3858
4014
 
3859
4015
  /** @public */
@@ -3939,6 +4095,7 @@ export declare interface TLUiToolbarButtonProps extends React_3.HTMLAttributes<H
3939
4095
  disabled?: boolean;
3940
4096
  isActive?: boolean;
3941
4097
  type: 'icon' | 'menu' | 'tool';
4098
+ tooltip?: string;
3942
4099
  }
3943
4100
 
3944
4101
  /** @public */
@@ -3947,6 +4104,8 @@ export declare interface TLUiToolbarProps extends React_3.HTMLAttributes<HTMLDiv
3947
4104
  className?: string;
3948
4105
  dir?: 'ltr' | 'rtl';
3949
4106
  label: string;
4107
+ orientation?: 'grid' | 'horizontal' | 'vertical';
4108
+ tooltipSide?: 'bottom' | 'left' | 'right' | 'top';
3950
4109
  }
3951
4110
 
3952
4111
  /** @public */
@@ -3965,6 +4124,7 @@ export declare interface TLUiToolbarToggleItemProps extends React_3.HTMLAttribut
3965
4124
  className?: string;
3966
4125
  type: 'icon' | 'tool';
3967
4126
  value: string;
4127
+ tooltip?: string;
3968
4128
  }
3969
4129
 
3970
4130
  /** @public */
@@ -4010,7 +4170,7 @@ export declare interface TLUiTranslation {
4010
4170
  export declare type TLUiTranslationContextType = TLUiTranslation;
4011
4171
 
4012
4172
  /** @public */
4013
- 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';
4173
+ 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' | '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';
4014
4174
 
4015
4175
  /** @public */
4016
4176
  export declare interface TLUiTranslationProviderProps {
@@ -4151,6 +4311,9 @@ export declare function ToggleToolLockItem(): JSX_2.Element;
4151
4311
  /** @public @react */
4152
4312
  export declare function ToggleTransparentBgMenuItem(): JSX_2.Element;
4153
4313
 
4314
+ /** @public @react */
4315
+ export declare function ToggleUiLabelsItem(): JSX_2.Element;
4316
+
4154
4317
  /** @public @react */
4155
4318
  export declare function ToggleWrapModeItem(): JSX_2.Element;
4156
4319
 
@@ -4384,6 +4547,9 @@ export declare function useShowCollaborationUi(): boolean;
4384
4547
  /** @public */
4385
4548
  export declare function useTldrawUiComponents(): TLUiComponents;
4386
4549
 
4550
+ /** @public */
4551
+ export declare function useTldrawUiOrientation(): TldrawUiOrientationContext;
4552
+
4387
4553
  /** @public */
4388
4554
  export declare function useToasts(): TLUiToastsContextType;
4389
4555
 
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,
@@ -210,6 +211,7 @@ __export(index_exports, {
210
211
  TldrawUiButtonIcon: () => import_TldrawUiButtonIcon.TldrawUiButtonIcon,
211
212
  TldrawUiButtonLabel: () => import_TldrawUiButtonLabel.TldrawUiButtonLabel,
212
213
  TldrawUiButtonPicker: () => import_TldrawUiButtonPicker.TldrawUiButtonPicker,
214
+ TldrawUiColumn: () => import_layout.TldrawUiColumn,
213
215
  TldrawUiComponentsProvider: () => import_components.TldrawUiComponentsProvider,
214
216
  TldrawUiContextProvider: () => import_TldrawUiContextProvider.TldrawUiContextProvider,
215
217
  TldrawUiContextualToolbar: () => import_TldrawUiContextualToolbar.TldrawUiContextualToolbar,
@@ -229,6 +231,7 @@ __export(index_exports, {
229
231
  TldrawUiDropdownMenuSubTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuSubTrigger,
230
232
  TldrawUiDropdownMenuTrigger: () => import_TldrawUiDropdownMenu.TldrawUiDropdownMenuTrigger,
231
233
  TldrawUiEventsProvider: () => import_events.TldrawUiEventsProvider,
234
+ TldrawUiGrid: () => import_layout.TldrawUiGrid,
232
235
  TldrawUiIcon: () => import_TldrawUiIcon.TldrawUiIcon,
233
236
  TldrawUiInput: () => import_TldrawUiInput.TldrawUiInput,
234
237
  TldrawUiKbd: () => import_TldrawUiKbd.TldrawUiKbd,
@@ -240,15 +243,19 @@ __export(index_exports, {
240
243
  TldrawUiMenuItem: () => import_TldrawUiMenuItem.TldrawUiMenuItem,
241
244
  TldrawUiMenuSubmenu: () => import_TldrawUiMenuSubmenu.TldrawUiMenuSubmenu,
242
245
  TldrawUiMenuToolItem: () => import_TldrawUiMenuToolItem.TldrawUiMenuToolItem,
246
+ TldrawUiOrientationProvider: () => import_layout.TldrawUiOrientationProvider,
243
247
  TldrawUiPopover: () => import_TldrawUiPopover.TldrawUiPopover,
244
248
  TldrawUiPopoverContent: () => import_TldrawUiPopover.TldrawUiPopoverContent,
245
249
  TldrawUiPopoverTrigger: () => import_TldrawUiPopover.TldrawUiPopoverTrigger,
250
+ TldrawUiRow: () => import_layout.TldrawUiRow,
246
251
  TldrawUiSlider: () => import_TldrawUiSlider.TldrawUiSlider,
247
252
  TldrawUiToastsProvider: () => import_toasts.TldrawUiToastsProvider,
248
253
  TldrawUiToolbar: () => import_TldrawUiToolbar.TldrawUiToolbar,
249
254
  TldrawUiToolbarButton: () => import_TldrawUiToolbar.TldrawUiToolbarButton,
250
255
  TldrawUiToolbarToggleGroup: () => import_TldrawUiToolbar.TldrawUiToolbarToggleGroup,
251
256
  TldrawUiToolbarToggleItem: () => import_TldrawUiToolbar.TldrawUiToolbarToggleItem,
257
+ TldrawUiTooltip: () => import_TldrawUiTooltip.TldrawUiTooltip,
258
+ TldrawUiTooltipProvider: () => import_TldrawUiTooltip.TldrawUiTooltipProvider,
252
259
  TldrawUiTranslationProvider: () => import_useTranslation.TldrawUiTranslationProvider,
253
260
  ToggleAutoSizeMenuItem: () => import_menu_items.ToggleAutoSizeMenuItem,
254
261
  ToggleDebugModeItem: () => import_menu_items.ToggleDebugModeItem,
@@ -264,6 +271,7 @@ __export(index_exports, {
264
271
  ToggleToolLockItem: () => import_menu_items.ToggleToolLockItem,
265
272
  ToggleToolLockedButton: () => import_ToggleToolLockedButton.ToggleToolLockedButton,
266
273
  ToggleTransparentBgMenuItem: () => import_menu_items.ToggleTransparentBgMenuItem,
274
+ ToggleUiLabelsItem: () => import_menu_items.ToggleUiLabelsItem,
267
275
  ToggleWrapModeItem: () => import_menu_items.ToggleWrapModeItem,
268
276
  ToolbarItem: () => import_DefaultToolbarContent.ToolbarItem,
269
277
  TrapezoidToolbarItem: () => import_DefaultToolbarContent.TrapezoidToolbarItem,
@@ -316,6 +324,8 @@ __export(index_exports, {
316
324
  getEmbedInfo: () => import_embeds.getEmbedInfo,
317
325
  getHitShapeOnCanvasPointerDown: () => import_getHitShapeOnCanvasPointerDown.getHitShapeOnCanvasPointerDown,
318
326
  getMediaAssetInfoPartial: () => import_defaultExternalContentHandlers.getMediaAssetInfoPartial,
327
+ getStrokePoints: () => import_getStrokePoints.getStrokePoints,
328
+ getSvgPathFromStrokePoints: () => import_svg.getSvgPathFromStrokePoints,
319
329
  getUncroppedSize: () => import_crop.getUncroppedSize,
320
330
  onDragFromToolbarToCreateShape: () => import_useTools.onDragFromToolbarToCreateShape,
321
331
  parseAndLoadDocument: () => import_file.parseAndLoadDocument,
@@ -366,6 +376,7 @@ __export(index_exports, {
366
376
  useSelectedShapesAnnouncer: () => import_A11y.useSelectedShapesAnnouncer,
367
377
  useShowCollaborationUi: () => import_useCollaborationStatus.useShowCollaborationUi,
368
378
  useTldrawUiComponents: () => import_components.useTldrawUiComponents,
379
+ useTldrawUiOrientation: () => import_layout.useTldrawUiOrientation,
369
380
  useToasts: () => import_toasts.useToasts,
370
381
  useTools: () => import_useTools.useTools,
371
382
  useTranslation: () => import_useTranslation2.useTranslation,
@@ -377,8 +388,10 @@ var import_editor = require("@tldraw/editor");
377
388
  var import_PathBuilder = require("./lib/shapes/shared/PathBuilder");
378
389
  var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersReducedMotion");
379
390
  var import_A11y = require("./lib/ui/components/A11y");
391
+ var import_AccessibilityMenu = require("./lib/ui/components/AccessibilityMenu");
380
392
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
381
393
  var import_Dialogs = require("./lib/ui/components/Dialogs");
394
+ var import_layout = require("./lib/ui/components/primitives/layout");
382
395
  var import_TldrawUiMenuActionCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem");
383
396
  var import_TldrawUiMenuActionItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionItem");
384
397
  var import_TldrawUiMenuToolItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuToolItem");
@@ -420,6 +433,8 @@ var import_NoteShapeUtil = require("./lib/shapes/note/NoteShapeUtil");
420
433
  var import_crop = require("./lib/shapes/shared/crop");
421
434
  var import_default_shape_constants = require("./lib/shapes/shared/default-shape-constants");
422
435
  var import_defaultFonts = require("./lib/shapes/shared/defaultFonts");
436
+ var import_getStrokePoints = require("./lib/shapes/shared/freehand/getStrokePoints");
437
+ var import_svg = require("./lib/shapes/shared/freehand/svg");
423
438
  var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
424
439
  var import_RichTextLabel = require("./lib/shapes/shared/RichTextLabel");
425
440
  var import_useDefaultColorTheme = require("./lib/shapes/shared/useDefaultColorTheme");
@@ -483,6 +498,7 @@ var import_TldrawUiKbd = require("./lib/ui/components/primitives/TldrawUiKbd");
483
498
  var import_TldrawUiPopover = require("./lib/ui/components/primitives/TldrawUiPopover");
484
499
  var import_TldrawUiSlider = require("./lib/ui/components/primitives/TldrawUiSlider");
485
500
  var import_TldrawUiToolbar = require("./lib/ui/components/primitives/TldrawUiToolbar");
501
+ var import_TldrawUiTooltip = require("./lib/ui/components/primitives/TldrawUiTooltip");
486
502
  var import_DefaultQuickActions = require("./lib/ui/components/QuickActions/DefaultQuickActions");
487
503
  var import_DefaultQuickActionsContent = require("./lib/ui/components/QuickActions/DefaultQuickActionsContent");
488
504
  var import_DefaultSharePanel = require("./lib/ui/components/SharePanel/DefaultSharePanel");
@@ -544,7 +560,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
544
560
  var import_file = require("./lib/utils/tldr/file");
545
561
  (0, import_editor.registerTldrawLibraryVersion)(
546
562
  "tldraw",
547
- "3.16.0-canary.fa3749606e52",
563
+ "3.16.0-internal.51e99e128bd4",
548
564
  "cjs"
549
565
  );
550
566
  //# sourceMappingURL=index.js.map