tldraw 3.16.0-canary.ffdf566dd0a8 → 3.16.0-internal.a478398270c6

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 (327) hide show
  1. package/dist-cjs/index.d.ts +19 -125
  2. package/dist-cjs/index.js +2 -19
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawImage.js +2 -5
  5. package/dist-cjs/lib/TldrawImage.js.map +3 -3
  6. package/dist-cjs/lib/canvas/TldrawCropHandles.js +1 -1
  7. package/dist-cjs/lib/canvas/TldrawCropHandles.js.map +2 -2
  8. package/dist-cjs/lib/canvas/TldrawHandles.js +1 -1
  9. package/dist-cjs/lib/canvas/TldrawHandles.js.map +2 -2
  10. package/dist-cjs/lib/canvas/TldrawOverlays.js +1 -1
  11. package/dist-cjs/lib/canvas/TldrawOverlays.js.map +2 -2
  12. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +271 -279
  13. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +2 -2
  14. package/dist-cjs/lib/defaultExternalContentHandlers.js +0 -1
  15. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  16. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +41 -24
  17. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  18. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +4 -16
  19. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
  20. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  21. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  22. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +0 -3
  23. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  24. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -0
  25. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  26. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +5 -5
  27. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  28. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +3 -0
  29. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  30. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +4 -15
  31. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  32. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +1 -2
  33. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  34. package/dist-cjs/lib/shapes/shared/PathBuilder.js +3 -21
  35. package/dist-cjs/lib/shapes/shared/PathBuilder.js.map +2 -2
  36. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +0 -1
  37. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  38. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +2 -5
  39. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  40. package/dist-cjs/lib/shapes/shared/SvgTextLabel.js +3 -4
  41. package/dist-cjs/lib/shapes/shared/SvgTextLabel.js.map +2 -2
  42. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +1 -10
  43. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  44. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +11 -5
  45. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  46. package/dist-cjs/lib/styles.js.map +2 -2
  47. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js +1 -7
  48. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js.map +2 -2
  49. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +22 -43
  50. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  51. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +15 -2
  52. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  53. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +0 -5
  54. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +2 -2
  55. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +0 -8
  56. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  57. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +0 -8
  58. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  59. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +0 -8
  60. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  61. package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js.map +2 -2
  62. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  63. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  64. package/dist-cjs/lib/ui/components/A11y.js +12 -14
  65. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  66. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -51
  67. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  68. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +2 -3
  69. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  70. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +4 -3
  71. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  72. package/dist-cjs/lib/ui/components/Spinner.js +25 -2
  73. package/dist-cjs/lib/ui/components/Spinner.js.map +2 -2
  74. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +0 -2
  75. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  76. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +136 -168
  77. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  78. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js +7 -21
  79. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js.map +3 -3
  80. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +3 -3
  81. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +2 -2
  82. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +2 -3
  83. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  84. package/dist-cjs/lib/ui/components/menu-items.js +0 -22
  85. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  86. package/dist-cjs/lib/ui/components/primitives/Button/TldrawUiButtonIcon.js.map +2 -2
  87. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +0 -2
  88. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +2 -2
  89. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js +1 -1
  90. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js.map +2 -2
  91. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +1 -35
  92. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js.map +2 -2
  93. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +2 -6
  94. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  95. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +3 -12
  96. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  97. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js.map +2 -2
  98. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +2 -0
  99. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  100. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +2 -3
  101. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  102. package/dist-cjs/lib/ui/context/actions.js +8 -57
  103. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  104. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  105. package/dist-cjs/lib/ui/hooks/menu-hooks.js.map +2 -2
  106. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
  107. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  108. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  109. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  110. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +0 -11
  111. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  112. package/dist-cjs/lib/ui/kbd-utils.js +1 -2
  113. package/dist-cjs/lib/ui/kbd-utils.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-cjs/lib/utils/excalidraw/putExcalidrawContent.js +1 -1
  117. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +2 -2
  118. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +2 -3
  119. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +2 -2
  120. package/dist-esm/index.d.mts +19 -125
  121. package/dist-esm/index.mjs +4 -33
  122. package/dist-esm/index.mjs.map +2 -2
  123. package/dist-esm/lib/TldrawImage.mjs +2 -5
  124. package/dist-esm/lib/TldrawImage.mjs.map +2 -2
  125. package/dist-esm/lib/canvas/TldrawCropHandles.mjs +1 -1
  126. package/dist-esm/lib/canvas/TldrawCropHandles.mjs.map +2 -2
  127. package/dist-esm/lib/canvas/TldrawHandles.mjs +1 -1
  128. package/dist-esm/lib/canvas/TldrawHandles.mjs.map +2 -2
  129. package/dist-esm/lib/canvas/TldrawOverlays.mjs +1 -1
  130. package/dist-esm/lib/canvas/TldrawOverlays.mjs.map +2 -2
  131. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +271 -279
  132. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +2 -2
  133. package/dist-esm/lib/defaultExternalContentHandlers.mjs +0 -1
  134. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  135. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +41 -26
  136. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  137. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +5 -19
  138. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +2 -2
  139. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  140. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  141. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +0 -3
  142. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  143. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +3 -0
  144. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  145. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +5 -5
  146. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  147. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +3 -0
  148. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  149. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +4 -15
  150. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  151. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +1 -2
  152. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  153. package/dist-esm/lib/shapes/shared/PathBuilder.mjs +3 -22
  154. package/dist-esm/lib/shapes/shared/PathBuilder.mjs.map +2 -2
  155. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +0 -1
  156. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  157. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +2 -5
  158. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  159. package/dist-esm/lib/shapes/shared/SvgTextLabel.mjs +3 -4
  160. package/dist-esm/lib/shapes/shared/SvgTextLabel.mjs.map +2 -2
  161. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +1 -10
  162. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  163. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +11 -5
  164. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  165. package/dist-esm/lib/styles.mjs.map +2 -2
  166. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs +1 -7
  167. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs.map +2 -2
  168. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +22 -43
  169. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  170. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +15 -2
  171. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  172. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +0 -5
  173. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +2 -2
  174. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +0 -8
  175. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  176. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +0 -8
  177. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  178. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +0 -8
  179. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  180. package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs.map +2 -2
  181. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  182. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  183. package/dist-esm/lib/ui/components/A11y.mjs +12 -14
  184. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  185. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -51
  186. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  187. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -3
  188. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  189. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +4 -3
  190. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  191. package/dist-esm/lib/ui/components/Spinner.mjs +26 -3
  192. package/dist-esm/lib/ui/components/Spinner.mjs.map +2 -2
  193. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +1 -3
  194. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  195. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +136 -168
  196. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  197. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs +9 -23
  198. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs.map +3 -3
  199. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +3 -3
  200. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +2 -2
  201. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +2 -3
  202. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  203. package/dist-esm/lib/ui/components/menu-items.mjs +0 -22
  204. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  205. package/dist-esm/lib/ui/components/primitives/Button/TldrawUiButtonIcon.mjs.map +2 -2
  206. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +0 -2
  207. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  208. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs +1 -1
  209. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs.map +2 -2
  210. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs +2 -36
  211. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs.map +2 -2
  212. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +2 -6
  213. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  214. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +3 -12
  215. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  216. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs.map +2 -2
  217. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +2 -0
  218. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  219. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +2 -3
  220. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  221. package/dist-esm/lib/ui/context/actions.mjs +8 -57
  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/menu-hooks.mjs.map +2 -2
  225. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
  226. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  227. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  228. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +0 -11
  229. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  230. package/dist-esm/lib/ui/kbd-utils.mjs +1 -2
  231. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  232. package/dist-esm/lib/ui/version.mjs +3 -3
  233. package/dist-esm/lib/ui/version.mjs.map +1 -1
  234. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs +1 -1
  235. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +2 -2
  236. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +2 -3
  237. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +2 -2
  238. package/package.json +3 -4
  239. package/src/index.ts +2 -24
  240. package/src/lib/TldrawImage.tsx +2 -6
  241. package/src/lib/canvas/TldrawCropHandles.tsx +1 -3
  242. package/src/lib/canvas/TldrawHandles.tsx +1 -5
  243. package/src/lib/canvas/TldrawOverlays.tsx +1 -1
  244. package/src/lib/canvas/TldrawSelectionForeground.tsx +1 -5
  245. package/src/lib/defaultExternalContentHandlers.ts +1 -2
  246. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +5 -5
  247. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +43 -26
  248. package/src/lib/shapes/arrow/arrowLabel.ts +3 -23
  249. package/src/lib/shapes/arrow/arrowTargetState.ts +1 -2
  250. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +0 -3
  251. package/src/lib/shapes/draw/DrawShapeUtil.tsx +4 -0
  252. package/src/lib/shapes/frame/FrameShapeUtil.tsx +7 -5
  253. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +3 -0
  254. package/src/lib/shapes/line/LineShapeUtil.tsx +5 -19
  255. package/src/lib/shapes/note/NoteShapeUtil.tsx +0 -1
  256. package/src/lib/shapes/shared/PathBuilder.test.tsx +1 -1
  257. package/src/lib/shapes/shared/PathBuilder.tsx +1 -35
  258. package/src/lib/shapes/shared/PlainTextLabel.tsx +0 -1
  259. package/src/lib/shapes/shared/RichTextLabel.tsx +0 -4
  260. package/src/lib/shapes/shared/SvgTextLabel.tsx +2 -4
  261. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +1 -11
  262. package/src/lib/shapes/text/TextShapeUtil.tsx +12 -5
  263. package/src/lib/styles.tsx +1 -3
  264. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.ts +1 -8
  265. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +30 -54
  266. package/src/lib/tools/SelectTool/childStates/Idle.ts +24 -2
  267. package/src/lib/tools/SelectTool/childStates/PointingShape.ts +0 -7
  268. package/src/lib/tools/SelectTool/childStates/Resizing.ts +1 -12
  269. package/src/lib/tools/SelectTool/childStates/Rotating.ts +0 -11
  270. package/src/lib/tools/SelectTool/childStates/Translating.ts +0 -11
  271. package/src/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.ts +0 -1
  272. package/src/lib/ui/assetUrls.ts +13 -10
  273. package/src/lib/ui/components/A11y.tsx +13 -15
  274. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +0 -40
  275. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +2 -4
  276. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +4 -3
  277. package/src/lib/ui/components/Spinner.tsx +24 -2
  278. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +1 -3
  279. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +127 -171
  280. package/src/lib/ui/components/Toolbar/DefaultImageToolbar.tsx +9 -25
  281. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +3 -3
  282. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +12 -17
  283. package/src/lib/ui/components/menu-items.tsx +0 -25
  284. package/src/lib/ui/components/primitives/Button/TldrawUiButtonIcon.tsx +2 -2
  285. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +0 -2
  286. package/src/lib/ui/components/primitives/TldrawUiDialog.tsx +1 -1
  287. package/src/lib/ui/components/primitives/TldrawUiIcon.tsx +3 -41
  288. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +1 -6
  289. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +3 -24
  290. package/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx +2 -2
  291. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +4 -3
  292. package/src/lib/ui/context/TldrawUiContextProvider.tsx +20 -23
  293. package/src/lib/ui/context/actions.tsx +9 -59
  294. package/src/lib/ui/context/events.tsx +2 -5
  295. package/src/lib/ui/hooks/menu-hooks.ts +0 -1
  296. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +2 -3
  297. package/src/lib/ui/hooks/useTools.tsx +1 -2
  298. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +0 -11
  299. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +0 -11
  300. package/src/lib/ui/kbd-utils.ts +1 -2
  301. package/src/lib/ui/version.ts +3 -3
  302. package/src/lib/ui.css +23 -65
  303. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +2 -16
  304. package/src/lib/utils/excalidraw/putExcalidrawContent.ts +1 -1
  305. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +3 -24
  306. package/src/lib/utils/tldr/buildFromV1Document.ts +1 -2
  307. package/src/test/Editor.test.tsx +1 -1
  308. package/src/test/SelectTool.test.ts +11 -37
  309. package/src/test/arrows-megabus.test.tsx +6 -12
  310. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +2 -2
  311. package/src/test/commands/deletePage.test.ts +1 -84
  312. package/src/test/groups.test.tsx +1 -1
  313. package/src/test/navigation.test.ts +0 -254
  314. package/src/test/shapeutils.test.ts +45 -394
  315. package/src/test/translating.test.ts +1 -1
  316. package/tldraw.css +50 -88
  317. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +0 -35
  318. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +0 -7
  319. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +0 -267
  320. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +0 -7
  321. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +0 -19
  322. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +0 -7
  323. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +0 -237
  324. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +0 -7
  325. package/src/lib/ui/components/AccessibilityMenu.tsx +0 -20
  326. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +0 -313
  327. package/src/test/inner-outer-margin.test.ts +0 -315
@@ -414,260 +414,6 @@ describe('Shape navigation', () => {
414
414
  expect(editor.getSelectedShapeIds()).toEqual([])
415
415
  })
416
416
 
417
- it('respects container boundaries when navigating with left/right', () => {
418
- // Create a frame with shapes inside and shapes outside
419
- editor.createShapes([
420
- {
421
- id: ids.frame1,
422
- type: 'frame',
423
- x: 0,
424
- y: 0,
425
- props: {
426
- w: 200,
427
- h: 200,
428
- },
429
- },
430
- // Shapes inside frame
431
- {
432
- id: ids.box1,
433
- type: 'geo',
434
- x: 10,
435
- y: 100,
436
- parentId: ids.frame1,
437
- props: {
438
- w: 30,
439
- h: 30,
440
- },
441
- },
442
- {
443
- id: ids.box2,
444
- type: 'geo',
445
- x: 50,
446
- y: 100,
447
- parentId: ids.frame1,
448
- props: {
449
- w: 30,
450
- h: 30,
451
- },
452
- },
453
- {
454
- id: ids.box3,
455
- type: 'geo',
456
- x: 90,
457
- y: 100,
458
- parentId: ids.frame1,
459
- props: {
460
- w: 30,
461
- h: 30,
462
- },
463
- },
464
- // Shapes outside frame
465
- {
466
- id: ids.box4,
467
- type: 'geo',
468
- x: 300,
469
- y: 100,
470
- props: {
471
- w: 30,
472
- h: 30,
473
- },
474
- },
475
- {
476
- id: ids.box5,
477
- type: 'geo',
478
- x: 350,
479
- y: 100,
480
- props: {
481
- w: 30,
482
- h: 30,
483
- },
484
- },
485
- ])
486
-
487
- // Setup shape centers for consistent testing
488
- jest.spyOn(editor, 'getShapePageBounds').mockImplementation((shape: any) => {
489
- const positions = {
490
- [ids.box1]: { x: 25, y: 115 },
491
- [ids.box2]: { x: 65, y: 115 },
492
- [ids.box3]: { x: 105, y: 115 },
493
- [ids.box4]: { x: 315, y: 115 },
494
- [ids.box5]: { x: 365, y: 115 },
495
- }
496
- const pos = positions[shape?.id as keyof typeof positions]
497
- return pos ? ({ center: pos } as any) : ({ center: { x: 0, y: 0 } } as any)
498
- })
499
-
500
- // Select a shape inside the frame
501
- editor.select(ids.box1)
502
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1])
503
-
504
- // Navigate right - should stay within the frame
505
- editor.selectAdjacentShape('right')
506
- expect(editor.getSelectedShapeIds()).toEqual([ids.box2])
507
-
508
- // Continue navigating right - should still stay within the frame
509
- editor.selectAdjacentShape('right')
510
- expect(editor.getSelectedShapeIds()).toEqual([ids.box3])
511
-
512
- // Navigate right again - should not leave the frame to go to box4
513
- editor.selectAdjacentShape('right')
514
- expect(editor.getSelectedShapeIds()).toEqual([ids.box3]) // Should stay at box3
515
-
516
- // Now navigate left to test the other direction
517
- editor.selectAdjacentShape('left')
518
- expect(editor.getSelectedShapeIds()).toEqual([ids.box2])
519
-
520
- editor.selectAdjacentShape('left')
521
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1])
522
-
523
- // Navigate left again - should not leave the frame
524
- editor.selectAdjacentShape('left')
525
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1]) // Should stay at box1
526
-
527
- // Now test navigation outside the frame
528
- editor.select(ids.box4)
529
- expect(editor.getSelectedShapeIds()).toEqual([ids.box4])
530
-
531
- // Navigate right - should move to box5
532
- editor.selectAdjacentShape('right')
533
- expect(editor.getSelectedShapeIds()).toEqual([ids.box5])
534
-
535
- // Navigate left - should move back to box4
536
- editor.selectAdjacentShape('left')
537
- expect(editor.getSelectedShapeIds()).toEqual([ids.box4])
538
-
539
- // Navigate left again - should select the frame (nearest shape to the left)
540
- editor.selectAdjacentShape('left')
541
- expect(editor.getSelectedShapeIds()).toEqual([ids.frame1]) // Should select frame1
542
- })
543
-
544
- it('respects container boundaries when navigating with up/down', () => {
545
- // Create a frame with shapes inside and shapes outside
546
- editor.createShapes([
547
- {
548
- id: ids.frame1,
549
- type: 'frame',
550
- x: 0,
551
- y: 0,
552
- props: {
553
- w: 200,
554
- h: 200,
555
- },
556
- },
557
- // Shapes inside frame - vertically arranged
558
- {
559
- id: ids.box1,
560
- type: 'geo',
561
- x: 100,
562
- y: 10,
563
- parentId: ids.frame1,
564
- props: {
565
- w: 30,
566
- h: 30,
567
- },
568
- },
569
- {
570
- id: ids.box2,
571
- type: 'geo',
572
- x: 100,
573
- y: 50,
574
- parentId: ids.frame1,
575
- props: {
576
- w: 30,
577
- h: 30,
578
- },
579
- },
580
- {
581
- id: ids.box3,
582
- type: 'geo',
583
- x: 100,
584
- y: 90,
585
- parentId: ids.frame1,
586
- props: {
587
- w: 30,
588
- h: 30,
589
- },
590
- },
591
- // Shapes outside frame - vertically arranged
592
- {
593
- id: ids.box4,
594
- type: 'geo',
595
- x: 300,
596
- y: 10,
597
- props: {
598
- w: 30,
599
- h: 30,
600
- },
601
- },
602
- {
603
- id: ids.box5,
604
- type: 'geo',
605
- x: 300,
606
- y: 50,
607
- props: {
608
- w: 30,
609
- h: 30,
610
- },
611
- },
612
- ])
613
-
614
- // Setup shape centers for consistent testing
615
- jest.spyOn(editor, 'getShapePageBounds').mockImplementation((shape: any) => {
616
- const positions = {
617
- [ids.box1]: { x: 115, y: 25 },
618
- [ids.box2]: { x: 115, y: 65 },
619
- [ids.box3]: { x: 115, y: 105 },
620
- [ids.box4]: { x: 315, y: 25 },
621
- [ids.box5]: { x: 315, y: 65 },
622
- }
623
- const pos = positions[shape?.id as keyof typeof positions]
624
- return pos ? ({ center: pos } as any) : ({ center: { x: 0, y: 0 } } as any)
625
- })
626
-
627
- // Select a shape inside the frame
628
- editor.select(ids.box1)
629
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1])
630
-
631
- // Navigate down - should stay within the frame
632
- editor.selectAdjacentShape('down')
633
- expect(editor.getSelectedShapeIds()).toEqual([ids.box2])
634
-
635
- // Continue navigating down - should still stay within the frame
636
- editor.selectAdjacentShape('down')
637
- expect(editor.getSelectedShapeIds()).toEqual([ids.box3])
638
-
639
- // Navigate down again - should not leave the frame
640
- editor.selectAdjacentShape('down')
641
- expect(editor.getSelectedShapeIds()).toEqual([ids.box3]) // Should stay at box3
642
-
643
- // Now navigate up to test the other direction
644
- editor.selectAdjacentShape('up')
645
- expect(editor.getSelectedShapeIds()).toEqual([ids.box2])
646
-
647
- editor.selectAdjacentShape('up')
648
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1])
649
-
650
- // Navigate up again - should not leave the frame
651
- editor.selectAdjacentShape('up')
652
- expect(editor.getSelectedShapeIds()).toEqual([ids.box1]) // Should stay at box1
653
-
654
- // Now test navigation outside the frame
655
- editor.select(ids.box4)
656
- expect(editor.getSelectedShapeIds()).toEqual([ids.box4])
657
-
658
- // Navigate down - should move to box5
659
- editor.selectAdjacentShape('down')
660
- expect(editor.getSelectedShapeIds()).toEqual([ids.box5])
661
-
662
- // Navigate up - should move back to box4
663
- editor.selectAdjacentShape('up')
664
- expect(editor.getSelectedShapeIds()).toEqual([ids.box4])
665
-
666
- // Navigate up again - should not enter the frame
667
- editor.selectAdjacentShape('up')
668
- expect(editor.getSelectedShapeIds()).toEqual([ids.box4]) // Should stay at box4
669
- })
670
-
671
417
  it('respects container boundaries when navigating with Tab', () => {
672
418
  // Create a frame with shapes inside and shapes outside
673
419
  editor.createShapes([