tldraw 3.15.1 → 3.16.0-canary.03ed24d72068

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 (360) hide show
  1. package/dist-cjs/index.d.ts +198 -9
  2. package/dist-cjs/index.js +24 -2
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/canvas/TldrawCropHandles.js.map +2 -2
  5. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  6. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  7. package/dist-cjs/lib/defaultExternalContentHandlers.js +1 -0
  8. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  9. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +25 -39
  10. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  11. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +16 -4
  12. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
  13. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  14. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  15. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  16. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  17. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +3 -0
  18. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  19. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -3
  20. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  21. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  22. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  23. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +12 -12
  24. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  25. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  26. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  27. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +2 -2
  28. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  29. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js +2 -1
  30. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js.map +2 -2
  31. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +5 -1
  32. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  33. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -3
  34. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  35. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +20 -2
  36. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  37. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +4 -4
  38. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  39. package/dist-cjs/lib/shapes/shared/ShapeFill.js +5 -5
  40. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  41. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +10 -1
  42. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  43. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +2 -2
  44. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  45. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  46. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  47. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +43 -22
  48. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  49. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +2 -15
  50. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  51. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +5 -0
  52. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +2 -2
  53. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +8 -0
  54. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  55. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +8 -0
  56. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  57. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +8 -0
  58. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  59. package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js.map +2 -2
  60. package/dist-cjs/lib/ui/TldrawUi.js +14 -0
  61. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  62. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +35 -0
  63. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +7 -0
  64. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +12 -3
  65. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  66. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +3 -2
  67. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  68. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +40 -0
  69. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  70. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +3 -3
  71. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  72. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  73. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  74. package/dist-cjs/lib/ui/components/MobileStylePanel.js +5 -3
  75. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  76. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +1 -1
  77. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  78. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +2 -1
  79. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  80. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +3 -2
  81. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  82. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  83. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  84. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +2 -0
  85. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  86. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +171 -140
  87. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  88. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  89. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  90. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +26 -25
  91. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  92. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +1 -1
  93. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  94. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +66 -21
  95. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  96. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +189 -80
  97. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  98. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +5 -4
  99. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  100. package/dist-cjs/lib/ui/components/menu-items.js +6 -0
  101. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  102. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +5 -16
  103. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  104. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  105. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  106. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +3 -2
  107. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  108. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +1 -0
  109. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  110. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +30 -7
  111. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  112. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +253 -0
  113. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +7 -0
  114. package/dist-cjs/lib/ui/components/primitives/layout.js +76 -0
  115. package/dist-cjs/lib/ui/components/primitives/layout.js.map +7 -0
  116. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  117. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +25 -12
  118. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  119. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +153 -20
  120. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  121. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +3 -2
  122. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  123. package/dist-cjs/lib/ui/context/actions.js +29 -7
  124. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  125. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  126. package/dist-cjs/lib/ui/hooks/menu-hooks.js.map +2 -2
  127. package/dist-cjs/lib/ui/hooks/useTools.js +94 -9
  128. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  129. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  130. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +7 -0
  131. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  132. package/dist-cjs/lib/ui/kbd-utils.js +2 -1
  133. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  134. package/dist-cjs/lib/ui/version.js +3 -3
  135. package/dist-cjs/lib/ui/version.js.map +1 -1
  136. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js +1 -1
  137. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +2 -2
  138. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +3 -2
  139. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +2 -2
  140. package/dist-esm/index.d.mts +198 -9
  141. package/dist-esm/index.mjs +40 -3
  142. package/dist-esm/index.mjs.map +2 -2
  143. package/dist-esm/lib/canvas/TldrawCropHandles.mjs.map +2 -2
  144. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  145. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  146. package/dist-esm/lib/defaultExternalContentHandlers.mjs +1 -0
  147. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  148. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +28 -39
  149. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  150. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +19 -5
  151. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +2 -2
  152. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  153. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  154. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  155. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  156. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +3 -0
  157. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  158. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +4 -3
  159. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  160. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  161. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  162. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +13 -12
  163. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  164. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  165. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  166. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +3 -2
  167. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  168. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +2 -1
  169. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  170. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +6 -1
  171. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  172. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -3
  173. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  174. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +21 -2
  175. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  176. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -4
  177. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  178. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +6 -5
  179. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  180. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +10 -1
  181. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  182. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +3 -2
  183. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  184. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  185. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  186. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +43 -22
  187. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  188. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +2 -15
  189. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  190. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +5 -0
  191. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +2 -2
  192. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +8 -0
  193. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  194. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +8 -0
  195. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  196. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +8 -0
  197. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  198. package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs.map +2 -2
  199. package/dist-esm/lib/ui/TldrawUi.mjs +16 -2
  200. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  201. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +19 -0
  202. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +7 -0
  203. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +12 -3
  204. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  205. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +3 -2
  206. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  207. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +40 -0
  208. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  209. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -5
  210. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  211. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  212. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  213. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +6 -3
  214. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  215. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +1 -1
  216. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  217. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +2 -1
  218. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  219. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +3 -2
  220. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  221. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  222. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  223. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +3 -1
  224. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  225. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +171 -140
  226. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  227. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  228. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  229. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +26 -25
  230. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  231. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +1 -1
  232. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  233. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +56 -21
  234. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  235. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +192 -81
  236. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  237. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +5 -4
  238. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  239. package/dist-esm/lib/ui/components/menu-items.mjs +6 -0
  240. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  241. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +6 -6
  242. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  243. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +1 -1
  244. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  245. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +3 -2
  246. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  247. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +1 -0
  248. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  249. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +30 -7
  250. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  251. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +230 -0
  252. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +7 -0
  253. package/dist-esm/lib/ui/components/primitives/layout.mjs +46 -0
  254. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +7 -0
  255. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  256. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +25 -12
  257. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  258. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +161 -22
  259. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  260. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +3 -2
  261. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  262. package/dist-esm/lib/ui/context/actions.mjs +29 -7
  263. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  264. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  265. package/dist-esm/lib/ui/hooks/menu-hooks.mjs.map +2 -2
  266. package/dist-esm/lib/ui/hooks/useTools.mjs +102 -10
  267. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  268. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +7 -0
  269. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  270. package/dist-esm/lib/ui/kbd-utils.mjs +2 -1
  271. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  272. package/dist-esm/lib/ui/version.mjs +3 -3
  273. package/dist-esm/lib/ui/version.mjs.map +1 -1
  274. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs +1 -1
  275. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +2 -2
  276. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +3 -2
  277. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +2 -2
  278. package/package.json +3 -3
  279. package/src/index.ts +29 -1
  280. package/src/lib/canvas/TldrawCropHandles.tsx +2 -0
  281. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  282. package/src/lib/defaultExternalContentHandlers.ts +2 -1
  283. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +5 -5
  284. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +29 -42
  285. package/src/lib/shapes/arrow/arrowLabel.ts +23 -3
  286. package/src/lib/shapes/arrow/arrowTargetState.ts +2 -1
  287. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  288. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +3 -0
  289. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -3
  290. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  291. package/src/lib/shapes/frame/FrameShapeUtil.tsx +21 -14
  292. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  293. package/src/lib/shapes/geo/GeoShapeUtil.tsx +3 -2
  294. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  295. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +7 -1
  296. package/src/lib/shapes/image/ImageShapeUtil.tsx +3 -3
  297. package/src/lib/shapes/line/LineShapeUtil.tsx +25 -3
  298. package/src/lib/shapes/note/NoteShapeUtil.tsx +9 -4
  299. package/src/lib/shapes/shared/ShapeFill.tsx +6 -5
  300. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +11 -1
  301. package/src/lib/shapes/text/TextShapeUtil.tsx +3 -2
  302. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  303. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +54 -30
  304. package/src/lib/tools/SelectTool/childStates/Idle.ts +2 -24
  305. package/src/lib/tools/SelectTool/childStates/PointingShape.ts +7 -0
  306. package/src/lib/tools/SelectTool/childStates/Resizing.ts +12 -1
  307. package/src/lib/tools/SelectTool/childStates/Rotating.ts +11 -0
  308. package/src/lib/tools/SelectTool/childStates/Translating.ts +11 -1
  309. package/src/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.ts +1 -0
  310. package/src/lib/ui/TldrawUi.tsx +17 -2
  311. package/src/lib/ui/components/AccessibilityMenu.tsx +20 -0
  312. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +15 -3
  313. package/src/lib/ui/components/DefaultMenuPanel.tsx +4 -3
  314. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +32 -0
  315. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +4 -4
  316. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  317. package/src/lib/ui/components/MobileStylePanel.tsx +9 -6
  318. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +1 -1
  319. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +3 -2
  320. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +4 -3
  321. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  322. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +3 -1
  323. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +146 -107
  324. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  325. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +7 -6
  326. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +1 -1
  327. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +55 -23
  328. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +212 -61
  329. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +17 -12
  330. package/src/lib/ui/components/menu-items.tsx +8 -0
  331. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +40 -37
  332. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +1 -1
  333. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +4 -2
  334. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +1 -0
  335. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +51 -12
  336. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +301 -0
  337. package/src/lib/ui/components/primitives/layout.tsx +107 -0
  338. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  339. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +29 -16
  340. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +220 -19
  341. package/src/lib/ui/context/TldrawUiContextProvider.tsx +23 -20
  342. package/src/lib/ui/context/actions.tsx +29 -7
  343. package/src/lib/ui/context/events.tsx +4 -2
  344. package/src/lib/ui/hooks/menu-hooks.ts +1 -0
  345. package/src/lib/ui/hooks/useTools.tsx +138 -10
  346. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +7 -0
  347. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +7 -0
  348. package/src/lib/ui/kbd-utils.ts +2 -1
  349. package/src/lib/ui/version.ts +3 -3
  350. package/src/lib/ui.css +406 -292
  351. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +16 -2
  352. package/src/lib/utils/excalidraw/putExcalidrawContent.ts +1 -1
  353. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +24 -3
  354. package/src/lib/utils/tldr/buildFromV1Document.ts +2 -1
  355. package/src/test/SelectTool.test.ts +37 -11
  356. package/src/test/arrows-megabus.test.tsx +12 -6
  357. package/src/test/commands/deletePage.test.ts +84 -1
  358. package/src/test/inner-outer-margin.test.ts +315 -0
  359. package/src/test/shapeutils.test.ts +394 -45
  360. package/tldraw.css +703 -603
@@ -93,6 +93,8 @@ export type TLUiTranslationKey =
93
93
  | 'action.toggle-reduce-motion'
94
94
  | 'action.toggle-keyboard-shortcuts.menu'
95
95
  | 'action.toggle-keyboard-shortcuts'
96
+ | 'action.toggle-ui-labels.menu'
97
+ | 'action.toggle-ui-labels'
96
98
  | 'action.toggle-edge-scrolling.menu'
97
99
  | 'action.toggle-edge-scrolling'
98
100
  | 'action.toggle-debug-mode.menu'
@@ -286,6 +288,10 @@ export type TLUiTranslationKey =
286
288
  | 'a11y.repeat-shape'
287
289
  | 'a11y.move-shape'
288
290
  | 'a11y.move-shape-faster'
291
+ | 'a11y.rotate-shape-cw'
292
+ | 'a11y.rotate-shape-ccw'
293
+ | 'a11y.rotate-shape-cw-fine'
294
+ | 'a11y.rotate-shape-ccw-fine'
289
295
  | 'a11y.enlarge-shape'
290
296
  | 'a11y.shrink-shape'
291
297
  | 'a11y.pan-camera'
@@ -294,6 +300,7 @@ export type TLUiTranslationKey =
294
300
  | 'a11y.open-keyboard-shortcuts'
295
301
  | 'menu.title'
296
302
  | 'menu.theme'
303
+ | 'menu.accessibility'
297
304
  | 'menu.copy-as'
298
305
  | 'menu.edit'
299
306
  | 'menu.export-as'
@@ -94,6 +94,8 @@ export const DEFAULT_TRANSLATION = {
94
94
  'action.toggle-reduce-motion': 'Toggle reduce motion',
95
95
  'action.toggle-keyboard-shortcuts.menu': 'Keyboard shortcuts',
96
96
  'action.toggle-keyboard-shortcuts': 'Toggle keyboard shortcuts',
97
+ 'action.toggle-ui-labels.menu': 'UI labels',
98
+ 'action.toggle-ui-labels': 'Toggle UI labels',
97
99
  'action.toggle-edge-scrolling.menu': 'Edge scrolling',
98
100
  'action.toggle-edge-scrolling': 'Toggle edge scrolling',
99
101
  'action.toggle-debug-mode.menu': 'Debug mode',
@@ -287,6 +289,10 @@ export const DEFAULT_TRANSLATION = {
287
289
  'a11y.repeat-shape': 'Repeat shape',
288
290
  'a11y.move-shape': 'Move shape',
289
291
  'a11y.move-shape-faster': 'Move shape faster',
292
+ 'a11y.rotate-shape-cw': 'Rotate shape clockwise',
293
+ 'a11y.rotate-shape-ccw': 'Rotate shape counterclockwise',
294
+ 'a11y.rotate-shape-cw-fine': 'Rotate shape clockwise (fine)',
295
+ 'a11y.rotate-shape-ccw-fine': 'Rotate shape counterclockwise (fine)',
290
296
  'a11y.enlarge-shape': 'Enlarge shape',
291
297
  'a11y.shrink-shape': 'Shrink shape',
292
298
  'a11y.pan-camera': 'Pan camera',
@@ -295,6 +301,7 @@ export const DEFAULT_TRANSLATION = {
295
301
  'a11y.open-keyboard-shortcuts': 'Open keyboard shortcuts',
296
302
  'menu.title': 'Menu',
297
303
  'menu.theme': 'Theme',
304
+ 'menu.accessibility': 'Accessibility',
298
305
  'menu.copy-as': 'Copy as',
299
306
  'menu.edit': 'Edit',
300
307
  'menu.export-as': 'Export as',
@@ -2,6 +2,7 @@ import { tlenv } from '@tldraw/editor'
2
2
 
3
3
  // N.B. We rework these Windows placeholders down below.
4
4
  const cmdKey = tlenv.isDarwin ? '⌘' : '__CTRL__'
5
+ const ctrlKey = tlenv.isDarwin ? '⌃' : '__CTRL__'
5
6
  const altKey = tlenv.isDarwin ? '⌥' : '__ALT__'
6
7
 
7
8
  /** @public */
@@ -19,7 +20,7 @@ export function kbd(str: string) {
19
20
  ? s.replace(/[[\]]/g, '')
20
21
  : s
21
22
  .replace(/cmd\+/g, cmdKey)
22
- .replace(/ctrl\+/g, cmdKey)
23
+ .replace(/ctrl\+/g, ctrlKey)
23
24
  .replace(/alt\+/g, altKey)
24
25
  .replace(/shift\+/g, '⇧')
25
26
  // Backwards compatibility with the old system.
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated by internal/scripts/refresh-assets.ts.
2
2
  // Do not edit manually. Or do, I'm a comment, not a cop.
3
3
 
4
- export const version = '3.15.1'
4
+ export const version = '3.16.0-canary.03ed24d72068'
5
5
  export const publishDates = {
6
6
  major: '2024-09-13T14:36:29.063Z',
7
- minor: '2025-07-30T09:07:27.887Z',
8
- patch: '2025-08-06T09:33:59.683Z',
7
+ minor: '2025-08-13T15:17:41.559Z',
8
+ patch: '2025-08-13T15:17:41.559Z',
9
9
  }