@bigbluebutton/tldraw 2.0.0-alpha.33 → 2.0.0-alpha.35

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 (379) hide show
  1. package/dist-cjs/index.js +4 -4
  2. package/dist-cjs/index.js.map +1 -1
  3. package/dist-cjs/lib/Tldraw.js +1 -2
  4. package/dist-cjs/lib/Tldraw.js.map +1 -1
  5. package/dist-cjs/lib/canvas/TldrawHandles.js +1 -2
  6. package/dist-cjs/lib/canvas/TldrawHandles.js.map +1 -1
  7. package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js +1 -2
  8. package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js.map +1 -1
  9. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -2
  10. package/dist-cjs/lib/canvas/TldrawScribble.js.map +1 -1
  11. package/dist-cjs/lib/canvas/TldrawSelectionBackground.js +1 -2
  12. package/dist-cjs/lib/canvas/TldrawSelectionBackground.js.map +1 -1
  13. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +1 -2
  14. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +1 -1
  15. package/dist-cjs/lib/defaultExternalContentHandlers.js +3 -6
  16. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +1 -1
  17. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +7 -14
  18. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +1 -1
  19. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js +1 -2
  20. package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js.map +1 -1
  21. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +6 -12
  22. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +1 -1
  23. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +12 -24
  24. package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +1 -1
  25. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -2
  26. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  27. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js +4 -8
  28. package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +1 -1
  29. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +3 -6
  30. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +1 -1
  31. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -2
  32. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +1 -1
  33. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +4 -8
  34. package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +1 -1
  35. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js +1 -2
  36. package/dist-cjs/lib/shapes/geo/toolStates/Idle.js.map +1 -1
  37. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js +2 -4
  38. package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +1 -1
  39. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +5 -10
  40. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  41. package/dist-cjs/lib/shapes/line/components/svg.js +1 -2
  42. package/dist-cjs/lib/shapes/line/components/svg.js.map +1 -1
  43. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js +5 -10
  44. package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +1 -1
  45. package/dist-cjs/lib/shapes/poll/components/CustomizedAxisTick.js +1 -2
  46. package/dist-cjs/lib/shapes/poll/components/CustomizedAxisTick.js.map +1 -1
  47. package/dist-cjs/lib/shapes/poll/components/poll-content.js +1 -2
  48. package/dist-cjs/lib/shapes/poll/components/poll-content.js.map +1 -1
  49. package/dist-cjs/lib/shapes/shared/TextHelpers.js +2 -4
  50. package/dist-cjs/lib/shapes/shared/TextHelpers.js.map +1 -1
  51. package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js +1 -2
  52. package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js.map +1 -1
  53. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js +8 -16
  54. package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js.map +1 -1
  55. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js +6 -12
  56. package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js.map +1 -1
  57. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js +1 -2
  58. package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js.map +1 -1
  59. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js +2 -4
  60. package/dist-cjs/lib/shapes/shared/freehand/svgInk.js.map +1 -1
  61. package/dist-cjs/lib/shapes/shared/useEditableText.js +5 -10
  62. package/dist-cjs/lib/shapes/shared/useEditableText.js.map +1 -1
  63. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +6 -12
  64. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +1 -1
  65. package/dist-cjs/lib/shapes/text/toolStates/Idle.js +1 -2
  66. package/dist-cjs/lib/shapes/text/toolStates/Idle.js.map +1 -1
  67. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js +1 -2
  68. package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +1 -1
  69. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +2 -4
  70. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  71. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +2 -4
  72. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +1 -1
  73. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js +1 -2
  74. package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js.map +1 -1
  75. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js +25 -30
  76. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +1 -1
  77. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +12 -24
  78. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +1 -1
  79. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js +1 -2
  80. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js.map +1 -1
  81. package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js +8 -16
  82. package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js.map +1 -1
  83. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +3 -6
  84. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +1 -1
  85. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js +2 -4
  86. package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js.map +1 -1
  87. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +21 -42
  88. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +1 -1
  89. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js +1 -2
  90. package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js.map +1 -1
  91. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js +1 -2
  92. package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +1 -1
  93. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +1 -2
  94. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +1 -1
  95. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +5 -10
  96. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +1 -1
  97. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +2 -4
  98. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +1 -1
  99. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js +1 -2
  100. package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js.map +1 -1
  101. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +4 -8
  102. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +1 -1
  103. package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js +3 -6
  104. package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js.map +1 -1
  105. package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js +1 -2
  106. package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js.map +1 -1
  107. package/dist-cjs/lib/ui/assetUrls.js +1 -2
  108. package/dist-cjs/lib/ui/assetUrls.js.map +1 -1
  109. package/dist-cjs/lib/ui/components/ActionsMenu.js +2 -4
  110. package/dist-cjs/lib/ui/components/ActionsMenu.js.map +1 -1
  111. package/dist-cjs/lib/ui/components/BackToContent.js +1 -2
  112. package/dist-cjs/lib/ui/components/BackToContent.js.map +1 -1
  113. package/dist-cjs/lib/ui/components/ContextMenu.js +3 -6
  114. package/dist-cjs/lib/ui/components/ContextMenu.js.map +1 -1
  115. package/dist-cjs/lib/ui/components/DebugPanel.js +2 -4
  116. package/dist-cjs/lib/ui/components/DebugPanel.js.map +1 -1
  117. package/dist-cjs/lib/ui/components/EditLinkDialog.js +2 -4
  118. package/dist-cjs/lib/ui/components/EditLinkDialog.js.map +1 -1
  119. package/dist-cjs/lib/ui/components/EmbedDialog.js +1 -2
  120. package/dist-cjs/lib/ui/components/EmbedDialog.js.map +1 -1
  121. package/dist-cjs/lib/ui/components/FollowingIndicator.js +2 -4
  122. package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +1 -1
  123. package/dist-cjs/lib/ui/components/HelpMenu.js +2 -4
  124. package/dist-cjs/lib/ui/components/HelpMenu.js.map +1 -1
  125. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js +2 -4
  126. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js.map +1 -1
  127. package/dist-cjs/lib/ui/components/Menu.js +5 -10
  128. package/dist-cjs/lib/ui/components/Menu.js.map +1 -1
  129. package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js +3 -6
  130. package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js.map +1 -1
  131. package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js +5 -10
  132. package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js.map +1 -1
  133. package/dist-cjs/lib/ui/components/PenModeToggle.js +1 -2
  134. package/dist-cjs/lib/ui/components/PenModeToggle.js.map +1 -1
  135. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +1 -2
  136. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +1 -1
  137. package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js +1 -2
  138. package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js.map +1 -1
  139. package/dist-cjs/lib/ui/components/Toasts.js +1 -2
  140. package/dist-cjs/lib/ui/components/Toasts.js.map +1 -1
  141. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +1 -2
  142. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +1 -1
  143. package/dist-cjs/lib/ui/components/TrashButton.js +1 -2
  144. package/dist-cjs/lib/ui/components/TrashButton.js.map +1 -1
  145. package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js +2 -4
  146. package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js.map +1 -1
  147. package/dist-cjs/lib/ui/components/primitives/Input.js +1 -2
  148. package/dist-cjs/lib/ui/components/primitives/Input.js.map +1 -1
  149. package/dist-cjs/lib/ui/components/primitives/Slider.js +1 -2
  150. package/dist-cjs/lib/ui/components/primitives/Slider.js.map +1 -1
  151. package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js +2 -4
  152. package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js.map +1 -1
  153. package/dist-cjs/lib/ui/hooks/menuHelpers.js +5 -10
  154. package/dist-cjs/lib/ui/hooks/menuHelpers.js.map +1 -1
  155. package/dist-cjs/lib/ui/hooks/useActions.js +73 -146
  156. package/dist-cjs/lib/ui/hooks/useActions.js.map +1 -1
  157. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +6 -12
  158. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +1 -1
  159. package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js +1 -2
  160. package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js.map +1 -1
  161. package/dist-cjs/lib/ui/hooks/useInsertMedia.js +1 -2
  162. package/dist-cjs/lib/ui/hooks/useInsertMedia.js.map +1 -1
  163. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +8 -16
  164. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +1 -1
  165. package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js +1 -2
  166. package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js.map +1 -1
  167. package/dist-cjs/lib/ui/hooks/useMenuSchema.js +2 -4
  168. package/dist-cjs/lib/ui/hooks/useMenuSchema.js.map +1 -1
  169. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js +2 -4
  170. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js.map +1 -1
  171. package/dist-cjs/lib/ui/hooks/usePreloadIcons.js +1 -2
  172. package/dist-cjs/lib/ui/hooks/usePreloadIcons.js.map +1 -1
  173. package/dist-cjs/lib/ui/hooks/usePrint.js +2 -4
  174. package/dist-cjs/lib/ui/hooks/usePrint.js.map +1 -1
  175. package/dist-cjs/lib/ui/hooks/useRevelantStyles.js +1 -2
  176. package/dist-cjs/lib/ui/hooks/useRevelantStyles.js.map +1 -1
  177. package/dist-cjs/lib/utils/assets/is-gif-animated.js +9 -0
  178. package/dist-cjs/lib/utils/assets/is-gif-animated.js.map +1 -1
  179. package/dist-cjs/lib/utils/export/export.js +2 -4
  180. package/dist-cjs/lib/utils/export/export.js.map +1 -1
  181. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  182. package/dist-cjs/lib/utils/export/exportAs.js.map +1 -1
  183. package/dist-cjs/lib/utils/frames/frames.js +4 -8
  184. package/dist-cjs/lib/utils/frames/frames.js.map +1 -1
  185. package/dist-cjs/lib/utils/static-assets/assetUrls.js +1 -2
  186. package/dist-cjs/lib/utils/static-assets/assetUrls.js.map +1 -1
  187. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +10 -20
  188. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +1 -1
  189. package/dist-cjs/lib/utils/tldr/file.js +1 -2
  190. package/dist-cjs/lib/utils/tldr/file.js.map +1 -1
  191. package/dist-esm/lib/Tldraw.mjs +1 -2
  192. package/dist-esm/lib/Tldraw.mjs.map +1 -1
  193. package/dist-esm/lib/canvas/TldrawHandles.mjs +1 -2
  194. package/dist-esm/lib/canvas/TldrawHandles.mjs.map +1 -1
  195. package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs +1 -2
  196. package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs.map +1 -1
  197. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -2
  198. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +1 -1
  199. package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs +1 -2
  200. package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs.map +1 -1
  201. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +1 -2
  202. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +1 -1
  203. package/dist-esm/lib/defaultExternalContentHandlers.mjs +3 -6
  204. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +1 -1
  205. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +7 -14
  206. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +1 -1
  207. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs +1 -2
  208. package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs.map +1 -1
  209. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +6 -12
  210. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +1 -1
  211. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +12 -24
  212. package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +1 -1
  213. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -2
  214. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  215. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs +4 -8
  216. package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +1 -1
  217. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +3 -6
  218. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +1 -1
  219. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -2
  220. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +1 -1
  221. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +4 -8
  222. package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +1 -1
  223. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs +1 -2
  224. package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs.map +1 -1
  225. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs +2 -4
  226. package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +1 -1
  227. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +5 -10
  228. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  229. package/dist-esm/lib/shapes/line/components/svg.mjs +1 -2
  230. package/dist-esm/lib/shapes/line/components/svg.mjs.map +1 -1
  231. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs +5 -10
  232. package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +1 -1
  233. package/dist-esm/lib/shapes/poll/components/CustomizedAxisTick.mjs +1 -2
  234. package/dist-esm/lib/shapes/poll/components/CustomizedAxisTick.mjs.map +1 -1
  235. package/dist-esm/lib/shapes/poll/components/poll-content.mjs +1 -2
  236. package/dist-esm/lib/shapes/poll/components/poll-content.mjs.map +1 -1
  237. package/dist-esm/lib/shapes/shared/TextHelpers.mjs +2 -4
  238. package/dist-esm/lib/shapes/shared/TextHelpers.mjs.map +1 -1
  239. package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs +1 -2
  240. package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs.map +1 -1
  241. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs +8 -16
  242. package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs.map +1 -1
  243. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs +6 -12
  244. package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs.map +1 -1
  245. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs +1 -2
  246. package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs.map +1 -1
  247. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs +2 -4
  248. package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs.map +1 -1
  249. package/dist-esm/lib/shapes/shared/useEditableText.mjs +5 -10
  250. package/dist-esm/lib/shapes/shared/useEditableText.mjs.map +1 -1
  251. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +6 -12
  252. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +1 -1
  253. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs +1 -2
  254. package/dist-esm/lib/shapes/text/toolStates/Idle.mjs.map +1 -1
  255. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs +1 -2
  256. package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +1 -1
  257. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +2 -4
  258. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  259. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +2 -4
  260. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +1 -1
  261. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs +1 -2
  262. package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs.map +1 -1
  263. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs +25 -30
  264. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +1 -1
  265. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +12 -24
  266. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +1 -1
  267. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs +1 -2
  268. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs.map +1 -1
  269. package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs +8 -16
  270. package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs.map +1 -1
  271. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +3 -6
  272. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +1 -1
  273. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs +2 -4
  274. package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs.map +1 -1
  275. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +21 -42
  276. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +1 -1
  277. package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs +1 -2
  278. package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs.map +1 -1
  279. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs +1 -2
  280. package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +1 -1
  281. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +1 -2
  282. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +1 -1
  283. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +5 -10
  284. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +1 -1
  285. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +2 -4
  286. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +1 -1
  287. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs +1 -2
  288. package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs.map +1 -1
  289. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +4 -8
  290. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +1 -1
  291. package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs +3 -6
  292. package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs.map +1 -1
  293. package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs +1 -2
  294. package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs.map +1 -1
  295. package/dist-esm/lib/ui/assetUrls.mjs +1 -2
  296. package/dist-esm/lib/ui/assetUrls.mjs.map +1 -1
  297. package/dist-esm/lib/ui/components/ActionsMenu.mjs +2 -4
  298. package/dist-esm/lib/ui/components/ActionsMenu.mjs.map +1 -1
  299. package/dist-esm/lib/ui/components/BackToContent.mjs +1 -2
  300. package/dist-esm/lib/ui/components/BackToContent.mjs.map +1 -1
  301. package/dist-esm/lib/ui/components/ContextMenu.mjs +3 -6
  302. package/dist-esm/lib/ui/components/ContextMenu.mjs.map +1 -1
  303. package/dist-esm/lib/ui/components/DebugPanel.mjs +2 -4
  304. package/dist-esm/lib/ui/components/DebugPanel.mjs.map +1 -1
  305. package/dist-esm/lib/ui/components/EditLinkDialog.mjs +2 -4
  306. package/dist-esm/lib/ui/components/EditLinkDialog.mjs.map +1 -1
  307. package/dist-esm/lib/ui/components/EmbedDialog.mjs +1 -2
  308. package/dist-esm/lib/ui/components/EmbedDialog.mjs.map +1 -1
  309. package/dist-esm/lib/ui/components/FollowingIndicator.mjs +2 -4
  310. package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +1 -1
  311. package/dist-esm/lib/ui/components/HelpMenu.mjs +2 -4
  312. package/dist-esm/lib/ui/components/HelpMenu.mjs.map +1 -1
  313. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs +2 -4
  314. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs.map +1 -1
  315. package/dist-esm/lib/ui/components/Menu.mjs +5 -10
  316. package/dist-esm/lib/ui/components/Menu.mjs.map +1 -1
  317. package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs +3 -6
  318. package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs.map +1 -1
  319. package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs +5 -10
  320. package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs.map +1 -1
  321. package/dist-esm/lib/ui/components/PenModeToggle.mjs +1 -2
  322. package/dist-esm/lib/ui/components/PenModeToggle.mjs.map +1 -1
  323. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +1 -2
  324. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +1 -1
  325. package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs +1 -2
  326. package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs.map +1 -1
  327. package/dist-esm/lib/ui/components/Toasts.mjs +1 -2
  328. package/dist-esm/lib/ui/components/Toasts.mjs.map +1 -1
  329. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +1 -2
  330. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +1 -1
  331. package/dist-esm/lib/ui/components/TrashButton.mjs +1 -2
  332. package/dist-esm/lib/ui/components/TrashButton.mjs.map +1 -1
  333. package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs +2 -4
  334. package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs.map +1 -1
  335. package/dist-esm/lib/ui/components/primitives/Input.mjs +1 -2
  336. package/dist-esm/lib/ui/components/primitives/Input.mjs.map +1 -1
  337. package/dist-esm/lib/ui/components/primitives/Slider.mjs +1 -2
  338. package/dist-esm/lib/ui/components/primitives/Slider.mjs.map +1 -1
  339. package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs +2 -4
  340. package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs.map +1 -1
  341. package/dist-esm/lib/ui/hooks/menuHelpers.mjs +5 -10
  342. package/dist-esm/lib/ui/hooks/menuHelpers.mjs.map +1 -1
  343. package/dist-esm/lib/ui/hooks/useActions.mjs +73 -146
  344. package/dist-esm/lib/ui/hooks/useActions.mjs.map +1 -1
  345. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +6 -12
  346. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +1 -1
  347. package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs +1 -2
  348. package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs.map +1 -1
  349. package/dist-esm/lib/ui/hooks/useInsertMedia.mjs +1 -2
  350. package/dist-esm/lib/ui/hooks/useInsertMedia.mjs.map +1 -1
  351. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +8 -16
  352. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +1 -1
  353. package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs +1 -2
  354. package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs.map +1 -1
  355. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs +2 -4
  356. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs.map +1 -1
  357. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs +2 -4
  358. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs.map +1 -1
  359. package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs +1 -2
  360. package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs.map +1 -1
  361. package/dist-esm/lib/ui/hooks/usePrint.mjs +2 -4
  362. package/dist-esm/lib/ui/hooks/usePrint.mjs.map +1 -1
  363. package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs +1 -2
  364. package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs.map +1 -1
  365. package/dist-esm/lib/utils/assets/is-gif-animated.mjs +9 -0
  366. package/dist-esm/lib/utils/assets/is-gif-animated.mjs.map +1 -1
  367. package/dist-esm/lib/utils/export/export.mjs +2 -4
  368. package/dist-esm/lib/utils/export/export.mjs.map +1 -1
  369. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  370. package/dist-esm/lib/utils/export/exportAs.mjs.map +1 -1
  371. package/dist-esm/lib/utils/frames/frames.mjs +4 -8
  372. package/dist-esm/lib/utils/frames/frames.mjs.map +1 -1
  373. package/dist-esm/lib/utils/static-assets/assetUrls.mjs +1 -2
  374. package/dist-esm/lib/utils/static-assets/assetUrls.mjs.map +1 -1
  375. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +10 -20
  376. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +1 -1
  377. package/dist-esm/lib/utils/tldr/file.mjs +1 -2
  378. package/dist-esm/lib/utils/tldr/file.mjs.map +1 -1
  379. package/package.json +2 -2
@@ -56,10 +56,8 @@ function ActionsProvider({ overrides, children }) {
56
56
  icon: "link",
57
57
  readonlyOk: false,
58
58
  onSelect(source) {
59
- if (!hasSelectedShapes())
60
- return;
61
- if (mustGoBackToSelectToolFirst())
62
- return;
59
+ if (!hasSelectedShapes()) return;
60
+ if (mustGoBackToSelectToolFirst()) return;
63
61
  trackEvent("edit-link", { source });
64
62
  editor.mark("edit-link");
65
63
  addDialog({ component: EditLinkDialog });
@@ -179,10 +177,8 @@ function ActionsProvider({ overrides, children }) {
179
177
  label: "action.toggle-auto-size",
180
178
  readonlyOk: false,
181
179
  onSelect(source) {
182
- if (!hasSelectedShapes())
183
- return;
184
- if (mustGoBackToSelectToolFirst())
185
- return;
180
+ if (!hasSelectedShapes()) return;
181
+ if (mustGoBackToSelectToolFirst()) return;
186
182
  trackEvent("toggle-auto-size", { source });
187
183
  editor.mark("toggling auto size");
188
184
  editor.updateShapes(
@@ -227,8 +223,7 @@ function ActionsProvider({ overrides, children }) {
227
223
  readonlyOk: true,
228
224
  kbd: "z",
229
225
  onSelect(source) {
230
- if (editor.root.getCurrent()?.id === "zoom")
231
- return;
226
+ if (editor.root.getCurrent()?.id === "zoom") return;
232
227
  trackEvent("zoom-tool", { source });
233
228
  if (!(editor.inputs.shiftKey || editor.inputs.ctrlKey)) {
234
229
  const currentTool = editor.root.getCurrent();
@@ -243,10 +238,8 @@ function ActionsProvider({ overrides, children }) {
243
238
  label: "action.convert-to-bookmark",
244
239
  readonlyOk: false,
245
240
  onSelect(source) {
246
- if (!hasSelectedShapes())
247
- return;
248
- if (mustGoBackToSelectToolFirst())
249
- return;
241
+ if (!hasSelectedShapes()) return;
242
+ if (mustGoBackToSelectToolFirst()) return;
250
243
  editor.batch(() => {
251
244
  trackEvent("convert-to-bookmark", { source });
252
245
  const shapes = editor.getSelectedShapes();
@@ -284,10 +277,8 @@ function ActionsProvider({ overrides, children }) {
284
277
  label: "action.convert-to-embed",
285
278
  readonlyOk: false,
286
279
  onSelect(source) {
287
- if (!hasSelectedShapes())
288
- return;
289
- if (mustGoBackToSelectToolFirst())
290
- return;
280
+ if (!hasSelectedShapes()) return;
281
+ if (mustGoBackToSelectToolFirst()) return;
291
282
  trackEvent("convert-to-embed", { source });
292
283
  editor.batch(() => {
293
284
  const ids = editor.getSelectedShapeIds();
@@ -295,14 +286,11 @@ function ActionsProvider({ overrides, children }) {
295
286
  const createList = [];
296
287
  const deleteList = [];
297
288
  for (const shape of shapes) {
298
- if (!editor.isShapeOfType(shape, "bookmark"))
299
- continue;
289
+ if (!editor.isShapeOfType(shape, "bookmark")) continue;
300
290
  const { url } = shape.props;
301
291
  const embedInfo = getEmbedInfo(shape.props.url);
302
- if (!embedInfo)
303
- continue;
304
- if (!embedInfo.definition)
305
- continue;
292
+ if (!embedInfo) continue;
293
+ if (!embedInfo.definition) continue;
306
294
  const { width, height } = embedInfo.definition;
307
295
  const newPos = new Vec2d(shape.x, shape.y);
308
296
  newPos.rot(-shape.rotation);
@@ -336,10 +324,8 @@ function ActionsProvider({ overrides, children }) {
336
324
  icon: "duplicate",
337
325
  readonlyOk: false,
338
326
  onSelect(source) {
339
- if (!hasSelectedShapes())
340
- return;
341
- if (mustGoBackToSelectToolFirst())
342
- return;
327
+ if (!hasSelectedShapes()) return;
328
+ if (mustGoBackToSelectToolFirst()) return;
343
329
  trackEvent("duplicate-shapes", { source });
344
330
  const ids = editor.getSelectedShapeIds();
345
331
  const commonBounds = Box2d.Common(compact(ids.map((id) => editor.getShapePageBounds(id))));
@@ -361,10 +347,8 @@ function ActionsProvider({ overrides, children }) {
361
347
  icon: "ungroup",
362
348
  readonlyOk: false,
363
349
  onSelect(source) {
364
- if (!hasSelectedShapes())
365
- return;
366
- if (mustGoBackToSelectToolFirst())
367
- return;
350
+ if (!hasSelectedShapes()) return;
351
+ if (mustGoBackToSelectToolFirst()) return;
368
352
  trackEvent("ungroup-shapes", { source });
369
353
  editor.mark("ungroup");
370
354
  editor.ungroupShapes(editor.getSelectedShapeIds());
@@ -377,10 +361,8 @@ function ActionsProvider({ overrides, children }) {
377
361
  icon: "group",
378
362
  readonlyOk: false,
379
363
  onSelect(source) {
380
- if (!hasSelectedShapes())
381
- return;
382
- if (mustGoBackToSelectToolFirst())
383
- return;
364
+ if (!hasSelectedShapes()) return;
365
+ if (mustGoBackToSelectToolFirst()) return;
384
366
  trackEvent("group-shapes", { source });
385
367
  const onlySelectedShape = editor.getOnlySelectedShape();
386
368
  if (onlySelectedShape && editor.isShapeOfType(onlySelectedShape, "group")) {
@@ -398,8 +380,7 @@ function ActionsProvider({ overrides, children }) {
398
380
  kbd: "$!f",
399
381
  readonlyOk: false,
400
382
  onSelect(source) {
401
- if (!hasSelectedShapes())
402
- return;
383
+ if (!hasSelectedShapes()) return;
403
384
  trackEvent("remove-frame", { source });
404
385
  const selectedShapes = editor.getSelectedShapes();
405
386
  if (selectedShapes.length > 0 && selectedShapes.every((shape) => editor.isShapeOfType(shape, "frame"))) {
@@ -416,8 +397,7 @@ function ActionsProvider({ overrides, children }) {
416
397
  label: "action.fit-frame-to-content",
417
398
  readonlyOk: false,
418
399
  onSelect(source) {
419
- if (!hasSelectedShapes())
420
- return;
400
+ if (!hasSelectedShapes()) return;
421
401
  trackEvent("fit-frame-to-content", { source });
422
402
  const onlySelectedShape = editor.getOnlySelectedShape();
423
403
  if (onlySelectedShape && editor.isShapeOfType(onlySelectedShape, "frame")) {
@@ -433,10 +413,8 @@ function ActionsProvider({ overrides, children }) {
433
413
  icon: "align-left",
434
414
  readonlyOk: false,
435
415
  onSelect(source) {
436
- if (!hasSelectedShapes())
437
- return;
438
- if (mustGoBackToSelectToolFirst())
439
- return;
416
+ if (!hasSelectedShapes()) return;
417
+ if (mustGoBackToSelectToolFirst()) return;
440
418
  trackEvent("align-shapes", { operation: "left", source });
441
419
  editor.mark("align left");
442
420
  editor.alignShapes(editor.getSelectedShapeIds(), "left");
@@ -450,10 +428,8 @@ function ActionsProvider({ overrides, children }) {
450
428
  icon: "align-center-horizontal",
451
429
  readonlyOk: false,
452
430
  onSelect(source) {
453
- if (!hasSelectedShapes())
454
- return;
455
- if (mustGoBackToSelectToolFirst())
456
- return;
431
+ if (!hasSelectedShapes()) return;
432
+ if (mustGoBackToSelectToolFirst()) return;
457
433
  trackEvent("align-shapes", { operation: "center-horizontal", source });
458
434
  editor.mark("align center horizontal");
459
435
  editor.alignShapes(editor.getSelectedShapeIds(), "center-horizontal");
@@ -466,10 +442,8 @@ function ActionsProvider({ overrides, children }) {
466
442
  icon: "align-right",
467
443
  readonlyOk: false,
468
444
  onSelect(source) {
469
- if (!hasSelectedShapes())
470
- return;
471
- if (mustGoBackToSelectToolFirst())
472
- return;
445
+ if (!hasSelectedShapes()) return;
446
+ if (mustGoBackToSelectToolFirst()) return;
473
447
  trackEvent("align-shapes", { operation: "right", source });
474
448
  editor.mark("align right");
475
449
  editor.alignShapes(editor.getSelectedShapeIds(), "right");
@@ -483,10 +457,8 @@ function ActionsProvider({ overrides, children }) {
483
457
  icon: "align-center-vertical",
484
458
  readonlyOk: false,
485
459
  onSelect(source) {
486
- if (!hasSelectedShapes())
487
- return;
488
- if (mustGoBackToSelectToolFirst())
489
- return;
460
+ if (!hasSelectedShapes()) return;
461
+ if (mustGoBackToSelectToolFirst()) return;
490
462
  trackEvent("align-shapes", { operation: "center-vertical", source });
491
463
  editor.mark("align center vertical");
492
464
  editor.alignShapes(editor.getSelectedShapeIds(), "center-vertical");
@@ -499,10 +471,8 @@ function ActionsProvider({ overrides, children }) {
499
471
  kbd: "?W",
500
472
  readonlyOk: false,
501
473
  onSelect(source) {
502
- if (!hasSelectedShapes())
503
- return;
504
- if (mustGoBackToSelectToolFirst())
505
- return;
474
+ if (!hasSelectedShapes()) return;
475
+ if (mustGoBackToSelectToolFirst()) return;
506
476
  trackEvent("align-shapes", { operation: "top", source });
507
477
  editor.mark("align top");
508
478
  editor.alignShapes(editor.getSelectedShapeIds(), "top");
@@ -515,10 +485,8 @@ function ActionsProvider({ overrides, children }) {
515
485
  kbd: "?S",
516
486
  readonlyOk: false,
517
487
  onSelect(source) {
518
- if (!hasSelectedShapes())
519
- return;
520
- if (mustGoBackToSelectToolFirst())
521
- return;
488
+ if (!hasSelectedShapes()) return;
489
+ if (mustGoBackToSelectToolFirst()) return;
522
490
  trackEvent("align-shapes", { operation: "bottom", source });
523
491
  editor.mark("align bottom");
524
492
  editor.alignShapes(editor.getSelectedShapeIds(), "bottom");
@@ -532,10 +500,8 @@ function ActionsProvider({ overrides, children }) {
532
500
  kbd: "?!h",
533
501
  readonlyOk: false,
534
502
  onSelect(source) {
535
- if (!hasSelectedShapes())
536
- return;
537
- if (mustGoBackToSelectToolFirst())
538
- return;
503
+ if (!hasSelectedShapes()) return;
504
+ if (mustGoBackToSelectToolFirst()) return;
539
505
  trackEvent("distribute-shapes", { operation: "horizontal", source });
540
506
  editor.mark("distribute horizontal");
541
507
  editor.distributeShapes(editor.getSelectedShapeIds(), "horizontal");
@@ -549,10 +515,8 @@ function ActionsProvider({ overrides, children }) {
549
515
  kbd: "?!V",
550
516
  readonlyOk: false,
551
517
  onSelect(source) {
552
- if (!hasSelectedShapes())
553
- return;
554
- if (mustGoBackToSelectToolFirst())
555
- return;
518
+ if (!hasSelectedShapes()) return;
519
+ if (mustGoBackToSelectToolFirst()) return;
556
520
  trackEvent("distribute-shapes", { operation: "vertical", source });
557
521
  editor.mark("distribute vertical");
558
522
  editor.distributeShapes(editor.getSelectedShapeIds(), "vertical");
@@ -565,10 +529,8 @@ function ActionsProvider({ overrides, children }) {
565
529
  icon: "stretch-horizontal",
566
530
  readonlyOk: false,
567
531
  onSelect(source) {
568
- if (!hasSelectedShapes())
569
- return;
570
- if (mustGoBackToSelectToolFirst())
571
- return;
532
+ if (!hasSelectedShapes()) return;
533
+ if (mustGoBackToSelectToolFirst()) return;
572
534
  trackEvent("stretch-shapes", { operation: "horizontal", source });
573
535
  editor.mark("stretch horizontal");
574
536
  editor.stretchShapes(editor.getSelectedShapeIds(), "horizontal");
@@ -581,10 +543,8 @@ function ActionsProvider({ overrides, children }) {
581
543
  icon: "stretch-vertical",
582
544
  readonlyOk: false,
583
545
  onSelect(source) {
584
- if (!hasSelectedShapes())
585
- return;
586
- if (mustGoBackToSelectToolFirst())
587
- return;
546
+ if (!hasSelectedShapes()) return;
547
+ if (mustGoBackToSelectToolFirst()) return;
588
548
  trackEvent("stretch-shapes", { operation: "vertical", source });
589
549
  editor.mark("stretch vertical");
590
550
  editor.stretchShapes(editor.getSelectedShapeIds(), "vertical");
@@ -597,10 +557,8 @@ function ActionsProvider({ overrides, children }) {
597
557
  kbd: "!h",
598
558
  readonlyOk: false,
599
559
  onSelect(source) {
600
- if (!hasSelectedShapes())
601
- return;
602
- if (mustGoBackToSelectToolFirst())
603
- return;
560
+ if (!hasSelectedShapes()) return;
561
+ if (mustGoBackToSelectToolFirst()) return;
604
562
  trackEvent("flip-shapes", { operation: "horizontal", source });
605
563
  editor.mark("flip horizontal");
606
564
  editor.flipShapes(editor.getSelectedShapeIds(), "horizontal");
@@ -613,10 +571,8 @@ function ActionsProvider({ overrides, children }) {
613
571
  kbd: "!v",
614
572
  readonlyOk: false,
615
573
  onSelect(source) {
616
- if (!hasSelectedShapes())
617
- return;
618
- if (mustGoBackToSelectToolFirst())
619
- return;
574
+ if (!hasSelectedShapes()) return;
575
+ if (mustGoBackToSelectToolFirst()) return;
620
576
  trackEvent("flip-shapes", { operation: "vertical", source });
621
577
  editor.mark("flip vertical");
622
578
  editor.flipShapes(editor.getSelectedShapeIds(), "vertical");
@@ -628,10 +584,8 @@ function ActionsProvider({ overrides, children }) {
628
584
  icon: "pack",
629
585
  readonlyOk: false,
630
586
  onSelect(source) {
631
- if (!hasSelectedShapes())
632
- return;
633
- if (mustGoBackToSelectToolFirst())
634
- return;
587
+ if (!hasSelectedShapes()) return;
588
+ if (mustGoBackToSelectToolFirst()) return;
635
589
  trackEvent("pack-shapes", { source });
636
590
  editor.mark("pack");
637
591
  editor.packShapes(editor.getSelectedShapeIds(), 16);
@@ -644,10 +598,8 @@ function ActionsProvider({ overrides, children }) {
644
598
  icon: "stack-vertical",
645
599
  readonlyOk: false,
646
600
  onSelect(source) {
647
- if (!hasSelectedShapes())
648
- return;
649
- if (mustGoBackToSelectToolFirst())
650
- return;
601
+ if (!hasSelectedShapes()) return;
602
+ if (mustGoBackToSelectToolFirst()) return;
651
603
  trackEvent("stack-shapes", { operation: "vertical", source });
652
604
  editor.mark("stack-vertical");
653
605
  editor.stackShapes(editor.getSelectedShapeIds(), "vertical", 16);
@@ -660,10 +612,8 @@ function ActionsProvider({ overrides, children }) {
660
612
  icon: "stack-horizontal",
661
613
  readonlyOk: false,
662
614
  onSelect(source) {
663
- if (!hasSelectedShapes())
664
- return;
665
- if (mustGoBackToSelectToolFirst())
666
- return;
615
+ if (!hasSelectedShapes()) return;
616
+ if (mustGoBackToSelectToolFirst()) return;
667
617
  trackEvent("stack-shapes", { operation: "horizontal", source });
668
618
  editor.mark("stack-horizontal");
669
619
  editor.stackShapes(editor.getSelectedShapeIds(), "horizontal", 16);
@@ -676,10 +626,8 @@ function ActionsProvider({ overrides, children }) {
676
626
  icon: "bring-to-front",
677
627
  readonlyOk: false,
678
628
  onSelect(source) {
679
- if (!hasSelectedShapes())
680
- return;
681
- if (mustGoBackToSelectToolFirst())
682
- return;
629
+ if (!hasSelectedShapes()) return;
630
+ if (mustGoBackToSelectToolFirst()) return;
683
631
  trackEvent("reorder-shapes", { operation: "toFront", source });
684
632
  editor.mark("bring to front");
685
633
  editor.bringToFront(editor.getSelectedShapeIds());
@@ -692,10 +640,8 @@ function ActionsProvider({ overrides, children }) {
692
640
  kbd: "?]",
693
641
  readonlyOk: false,
694
642
  onSelect(source) {
695
- if (!hasSelectedShapes())
696
- return;
697
- if (mustGoBackToSelectToolFirst())
698
- return;
643
+ if (!hasSelectedShapes()) return;
644
+ if (mustGoBackToSelectToolFirst()) return;
699
645
  trackEvent("reorder-shapes", { operation: "forward", source });
700
646
  editor.mark("bring forward");
701
647
  editor.bringForward(editor.getSelectedShapeIds());
@@ -708,10 +654,8 @@ function ActionsProvider({ overrides, children }) {
708
654
  kbd: "?[",
709
655
  readonlyOk: false,
710
656
  onSelect(source) {
711
- if (!hasSelectedShapes())
712
- return;
713
- if (mustGoBackToSelectToolFirst())
714
- return;
657
+ if (!hasSelectedShapes()) return;
658
+ if (mustGoBackToSelectToolFirst()) return;
715
659
  trackEvent("reorder-shapes", { operation: "backward", source });
716
660
  editor.mark("send backward");
717
661
  editor.sendBackward(editor.getSelectedShapeIds());
@@ -724,10 +668,8 @@ function ActionsProvider({ overrides, children }) {
724
668
  kbd: "[",
725
669
  readonlyOk: false,
726
670
  onSelect(source) {
727
- if (!hasSelectedShapes())
728
- return;
729
- if (mustGoBackToSelectToolFirst())
730
- return;
671
+ if (!hasSelectedShapes()) return;
672
+ if (mustGoBackToSelectToolFirst()) return;
731
673
  trackEvent("reorder-shapes", { operation: "toBack", source });
732
674
  editor.mark("send to back");
733
675
  editor.sendToBack(editor.getSelectedShapeIds());
@@ -739,10 +681,8 @@ function ActionsProvider({ overrides, children }) {
739
681
  kbd: "$x",
740
682
  readonlyOk: false,
741
683
  onSelect(source) {
742
- if (!hasSelectedShapes())
743
- return;
744
- if (mustGoBackToSelectToolFirst())
745
- return;
684
+ if (!hasSelectedShapes()) return;
685
+ if (mustGoBackToSelectToolFirst()) return;
746
686
  editor.mark("cut");
747
687
  cut(source);
748
688
  }
@@ -753,10 +693,8 @@ function ActionsProvider({ overrides, children }) {
753
693
  kbd: "$c",
754
694
  readonlyOk: true,
755
695
  onSelect(source) {
756
- if (!hasSelectedShapes())
757
- return;
758
- if (mustGoBackToSelectToolFirst())
759
- return;
696
+ if (!hasSelectedShapes()) return;
697
+ if (mustGoBackToSelectToolFirst()) return;
760
698
  copy(source);
761
699
  }
762
700
  },
@@ -782,8 +720,7 @@ function ActionsProvider({ overrides, children }) {
782
720
  readonlyOk: true,
783
721
  onSelect(source) {
784
722
  editor.batch(() => {
785
- if (mustGoBackToSelectToolFirst())
786
- return;
723
+ if (mustGoBackToSelectToolFirst()) return;
787
724
  trackEvent("select-all-shapes", { source });
788
725
  editor.mark("select all kbd");
789
726
  editor.selectAll();
@@ -795,10 +732,8 @@ function ActionsProvider({ overrides, children }) {
795
732
  label: "action.select-none",
796
733
  readonlyOk: true,
797
734
  onSelect(source) {
798
- if (!hasSelectedShapes())
799
- return;
800
- if (mustGoBackToSelectToolFirst())
801
- return;
735
+ if (!hasSelectedShapes()) return;
736
+ if (mustGoBackToSelectToolFirst()) return;
802
737
  trackEvent("select-none-shapes", { source });
803
738
  editor.mark("select none");
804
739
  editor.selectNone();
@@ -811,10 +746,8 @@ function ActionsProvider({ overrides, children }) {
811
746
  icon: "trash",
812
747
  readonlyOk: false,
813
748
  onSelect(source) {
814
- if (!hasSelectedShapes())
815
- return;
816
- if (mustGoBackToSelectToolFirst())
817
- return;
749
+ if (!hasSelectedShapes()) return;
750
+ if (mustGoBackToSelectToolFirst()) return;
818
751
  trackEvent("delete-shapes", { source });
819
752
  editor.mark("delete");
820
753
  editor.deleteShapes(editor.getSelectedShapeIds());
@@ -826,10 +759,8 @@ function ActionsProvider({ overrides, children }) {
826
759
  icon: "rotate-cw",
827
760
  readonlyOk: false,
828
761
  onSelect(source) {
829
- if (!hasSelectedShapes())
830
- return;
831
- if (mustGoBackToSelectToolFirst())
832
- return;
762
+ if (!hasSelectedShapes()) return;
763
+ if (mustGoBackToSelectToolFirst()) return;
833
764
  trackEvent("rotate-cw", { source });
834
765
  editor.mark("rotate-cw");
835
766
  const offset = editor.getSelectionRotation() % (TAU / 2);
@@ -846,10 +777,8 @@ function ActionsProvider({ overrides, children }) {
846
777
  icon: "rotate-ccw",
847
778
  readonlyOk: false,
848
779
  onSelect(source) {
849
- if (!hasSelectedShapes())
850
- return;
851
- if (mustGoBackToSelectToolFirst())
852
- return;
780
+ if (!hasSelectedShapes()) return;
781
+ if (mustGoBackToSelectToolFirst()) return;
853
782
  trackEvent("rotate-ccw", { source });
854
783
  editor.mark("rotate-ccw");
855
784
  const offset = editor.getSelectionRotation() % (TAU / 2);
@@ -907,10 +836,8 @@ function ActionsProvider({ overrides, children }) {
907
836
  kbd: "!2",
908
837
  readonlyOk: true,
909
838
  onSelect(source) {
910
- if (!hasSelectedShapes())
911
- return;
912
- if (mustGoBackToSelectToolFirst())
913
- return;
839
+ if (!hasSelectedShapes()) return;
840
+ if (mustGoBackToSelectToolFirst()) return;
914
841
  trackEvent("zoom-to-selection", { source });
915
842
  editor.zoomToSelection({ duration: ANIMATION_MEDIUM_MS });
916
843
  }